agent-relay-server 0.126.0 → 0.127.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 +3 -3
- package/public/assets/{MessageBubble-B6YgulnX.js → MessageBubble-D2cnxyTy.js} +2 -2
- package/public/assets/{MessageBubble-B6YgulnX.js.map → MessageBubble-D2cnxyTy.js.map} +1 -1
- package/public/assets/{PlanGraphPanel--DNxHn1T.js → PlanGraphPanel-Cnxt-x7R.js} +2 -2
- package/public/assets/{PlanGraphPanel--DNxHn1T.js.map → PlanGraphPanel-Cnxt-x7R.js.map} +1 -1
- package/public/assets/{activity-Fo5aLYD6.js → activity-BEm1BQB1.js} +2 -2
- package/public/assets/{activity-Fo5aLYD6.js.map → activity-BEm1BQB1.js.map} +1 -1
- package/public/assets/{agent-profiles-C3p0xclG.js → agent-profiles-C8V_oCiM.js} +2 -2
- package/public/assets/{agent-profiles-C3p0xclG.js.map → agent-profiles-C8V_oCiM.js.map} +1 -1
- package/public/assets/{agents-_GBQyF5b.js → agents-D8mc9X1j.js} +2 -2
- package/public/assets/{agents-_GBQyF5b.js.map → agents-D8mc9X1j.js.map} +1 -1
- package/public/assets/{automation-Cf_Ewi9f.js → automation-BEhJZkNQ.js} +2 -2
- package/public/assets/{automation-Cf_Ewi9f.js.map → automation-BEhJZkNQ.js.map} +1 -1
- package/public/assets/{chat-BdbIWZpQ.js → chat-BAH9bEPx.js} +2 -2
- package/public/assets/chat-BAH9bEPx.js.map +1 -0
- package/public/assets/{formatted-body-jjhFXTap.js → formatted-body-Rv9RDPsQ.js} +3 -3
- package/public/assets/{formatted-body-jjhFXTap.js.map → formatted-body-Rv9RDPsQ.js.map} +1 -1
- package/public/assets/{formatted-body-impl-gOLBKeyW.js → formatted-body-impl-XFU4tPeT.js} +2 -2
- package/public/assets/{formatted-body-impl-gOLBKeyW.js.map → formatted-body-impl-XFU4tPeT.js.map} +1 -1
- package/public/assets/{index-CgH1BZwq.js → index-Bhy_jnX4.js} +6 -6
- package/public/assets/{index-CgH1BZwq.js.map → index-Bhy_jnX4.js.map} +1 -1
- package/public/assets/{insights-CTW85An9.js → insights-DpXPAEwH.js} +2 -2
- package/public/assets/{insights-CTW85An9.js.map → insights-DpXPAEwH.js.map} +1 -1
- package/public/assets/{maintenance-D5PEygZz.js → maintenance-BrkqfGwx.js} +2 -2
- package/public/assets/{maintenance-D5PEygZz.js.map → maintenance-BrkqfGwx.js.map} +1 -1
- package/public/assets/{managed-agents-pkpAzZy8.js → managed-agents-CLANxOAN.js} +2 -2
- package/public/assets/{managed-agents-pkpAzZy8.js.map → managed-agents-CLANxOAN.js.map} +1 -1
- package/public/assets/{markdown-preview-impl-DMzFE-Lo.js → markdown-preview-impl-CcZFkjn-.js} +2 -2
- package/public/assets/{markdown-preview-impl-DMzFE-Lo.js.map → markdown-preview-impl-CcZFkjn-.js.map} +1 -1
- package/public/assets/{memory-BnquVYQz.js → memory-BoQw8q-i.js} +2 -2
- package/public/assets/{memory-BnquVYQz.js.map → memory-BoQw8q-i.js.map} +1 -1
- package/public/assets/{messages-DgxLlndC.js → messages-DfKNuph2.js} +2 -2
- package/public/assets/{messages-DgxLlndC.js.map → messages-DfKNuph2.js.map} +1 -1
- package/public/assets/{orchestrators-BaWxeAlK.js → orchestrators-sQh8e7-V.js} +2 -2
- package/public/assets/{orchestrators-BaWxeAlK.js.map → orchestrators-sQh8e7-V.js.map} +1 -1
- package/public/assets/{overview-Kvs-j2gg.js → overview-B0z8ZNtp.js} +2 -2
- package/public/assets/{overview-Kvs-j2gg.js.map → overview-B0z8ZNtp.js.map} +1 -1
- package/public/assets/{pairs-eDzbqcER.js → pairs-B3FhGmn-.js} +2 -2
- package/public/assets/{pairs-eDzbqcER.js.map → pairs-B3FhGmn-.js.map} +1 -1
- package/public/assets/{prompt-settings-CjcqBG_r.js → prompt-settings-CCj_s008.js} +2 -2
- package/public/assets/{prompt-settings-CjcqBG_r.js.map → prompt-settings-CCj_s008.js.map} +1 -1
- package/public/assets/{registry-C1DSnjjg.js → registry-mD_y06Ru.js} +2 -2
- package/public/assets/{registry-C1DSnjjg.js.map → registry-mD_y06Ru.js.map} +1 -1
- package/public/assets/{security-VbEe_jwm.js → security-CTSA9niL.js} +2 -2
- package/public/assets/{security-VbEe_jwm.js.map → security-CTSA9niL.js.map} +1 -1
- package/public/assets/{select-CVfwgfKl.js → select-gEQEHCIf.js} +2 -2
- package/public/assets/{select-CVfwgfKl.js.map → select-gEQEHCIf.js.map} +1 -1
- package/public/assets/{settings-ujA9hZW1.js → settings-ByAR-TYj.js} +2 -2
- package/public/assets/{settings-ujA9hZW1.js.map → settings-ByAR-TYj.js.map} +1 -1
- package/public/assets/{tasks-BtbKaa-b.js → tasks-CZyJX881.js} +2 -2
- package/public/assets/{tasks-BtbKaa-b.js.map → tasks-CZyJX881.js.map} +1 -1
- package/public/assets/{teams-CrVDQ99v.js → teams-BrL4sEL7.js} +2 -2
- package/public/assets/{teams-CrVDQ99v.js.map → teams-BrL4sEL7.js.map} +1 -1
- package/public/assets/{terminal-viewer-impl-Aays_e7-.js → terminal-viewer-impl-LjIph8ql.js} +2 -2
- package/public/assets/{terminal-viewer-impl-Aays_e7-.js.map → terminal-viewer-impl-LjIph8ql.js.map} +1 -1
- package/public/assets/types-BqeSkWrv.js.map +1 -1
- package/public/assets/{work-queue-DDSGZO4Z.js → work-queue-CSu5kRsw.js} +2 -2
- package/public/assets/{work-queue-DDSGZO4Z.js.map → work-queue-CSu5kRsw.js.map} +1 -1
- package/public/index.html +2 -2
- package/runner/plugins/claude/.claude-plugin/plugin.json +1 -1
- package/runner/plugins/claude/monitors/relay-monitor.provisioned.mjs +2 -2
- package/runner/src/relay-mcp-proxy.ts +1 -3
- package/src/db/index.ts +1 -0
- package/src/db/task-deliverables.ts +206 -0
- package/src/db/task-entity.ts +4 -8
- package/src/mcp/index.ts +4 -4
- package/src/mcp/tools-workspace.ts +3 -36
- package/src/mcp-task-deliver-tools.ts +143 -0
- package/src/notification-rules.ts +1 -0
- package/src/notification-types.ts +2 -0
- package/src/prompt-resolver.ts +6 -6
- package/src/services/task-delivery.ts +275 -0
- package/src/workspace-phase.ts +5 -5
- package/public/assets/chat-BdbIWZpQ.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./bundle-web-DhRGKIGF.js","./chunk-CilyBKbf.js","./preload-helper-C_JMBXql.js","./lib-Cc7Il-6i.js","./markdown-preview-impl-
|
|
2
|
-
import{r as e,t}from"./chunk-CilyBKbf.js";import{$t as n,A as r,At as i,B as a,Bn as o,Cn as s,D as c,Dn as l,Dt as u,E as d,En as f,Fn as p,G as m,H as h,I as g,It as _,J as v,Jn as y,K as b,Ln as x,Lt as S,Mn as C,Mt as ee,Nn as w,Nt as te,O as T,Ot as ne,P as re,Pn as ie,Qt as ae,R as oe,Rn as E,Rt as D,Sn as se,St as ce,T as le,Tn as ue,Tt as de,U as O,Ut as fe,V as pe,Vn as me,Vt as he,W as ge,Wt as _e,X as ve,Yt as ye,Z as be,Zt as xe,_ as Se,_n as Ce,_t as we,a as k,at as Te,bt as Ee,cn as De,ct as Oe,dn as ke,dt as Ae,er as je,et as Me,fn as Ne,ft as Pe,g as Fe,gn as Ie,gr as Le,gt as Re,h as ze,i as Be,in as Ve,ir as A,j as He,jt as Ue,kn as We,ln as Ge,lr as Ke,mn as qe,mt as Je,n as Ye,nn as Xe,nt as Ze,o as Qe,p as $e,pn as et,pt as tt,q as nt,qn as rt,r as it,rr as at,rt as ot,s as st,sn as ct,st as lt,t as ut,tn as dt,tr as j,u as ft,vt as pt,w as mt,x as ht,xn as gt,xt as _t,y as vt,yn as yt,z as bt,zn as xt,zt as St}from"./lucide-react-NXHPIMsX.js";import{t as Ct}from"./react-dom-8yaD9iJG.js";import{c as wt,f as Tt,l as Et,m as Dt,p as Ot,r as kt,t as M}from"./store-D-Frk_EC.js";import{_ as At,a as jt,f as Mt,h as Nt,i as Pt,m as Ft,n as It,o as Lt,p as Rt,r as zt}from"./types-BqeSkWrv.js";import{B as Bt,C as Vt,D as Ht,E as Ut,G as Wt,H as Gt,J as Kt,K as N,N as qt,O as Jt,P as Yt,Q as Xt,R as Zt,S as Qt,T as $t,W as en,X as tn,Y as nn,a as rn,c as an,ct as on,d as P,f as sn,h as cn,i as ln,j as un,k as dn,lt as fn,m as pn,n as mn,o as hn,ot as gn,p as _n,q as vn,r as yn,rt as bn,t as xn,u as Sn,w as Cn,x as wn,y as Tn}from"./display-aTnwsqQh.js";import{n as En,t as Dn}from"./themes-DjSwmAZN.js";import{a as On,i as kn,o as An,r as jn,t as Mn}from"./dist-BNB3fTO-.js";import{n as Nn,t as Pn}from"./dist-BD4Xc13v.js";import{i as Fn,n as F,r as In,t as Ln}from"./dist-BFDfbfNC.js";import{t as Rn}from"./dist-f6MW74eX.js";import{t as zn}from"./dist-DG75bvPp.js";import{t as Bn}from"./dist-CQMQ5iku.js";import{a as Vn,i as Hn,n as Un,o as Wn,r as Gn,s as Kn,t as qn}from"./es2015-a6fysEVz.js";import{t as Jn}from"./dist-BJKxqIQd.js";import{t as Yn}from"./dist-CHKra2JV.js";import{t as Xn}from"./dist-G8YBD-wp.js";import{t as Zn}from"./dist-D5w04z0l.js";import{a as Qn,i as $n,n as er,r as tr,t as nr}from"./dist-C_VOBSaK.js";import{t as rr}from"./dist-BiLuYU6G.js";import{t as I}from"./badge-BCvp7LK3.js";import{t as L}from"./button-DyHjsHY3.js";import{t as R}from"./input-Rc4oWv4q.js";import{t as ir}from"./copy-button-C67FUG3E.js";import{t as z}from"./preload-helper-C_JMBXql.js";import{n as ar,t as or}from"./agent-type-icon-BmBR-9CH.js";import{t as sr}from"./task-chip-CeujtXYT.js";import{t as cr}from"./formatted-body-jjhFXTap.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 lr=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,ne());else{var t=n(l);t!==null&&ae(x,t.startTime-e)}}var S=!1,C=-1,ee=5,w=-1;function te(){return g?!0:!(e.unstable_now()-w<ee)}function T(){if(g=!1,S){var t=e.unstable_now();w=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&&te());){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?ne():S=!1}}}var ne;if(typeof y==`function`)ne=function(){y(T)};else if(typeof MessageChannel<`u`){var re=new MessageChannel,ie=re.port2;re.port1.onmessage=T,ne=function(){ie.postMessage(null)}}else ne=function(){_(T,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,ne()))),r},e.unstable_shouldYield=te,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),ur=t(((e,t)=>{t.exports=lr()})),dr=t((e=>{var t=ur(),n=Le(),r=Ct();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`),g=Symbol.for(`react.fragment`),_=Symbol.for(`react.strict_mode`),v=Symbol.for(`react.profiler`),y=Symbol.for(`react.consumer`),b=Symbol.for(`react.context`),x=Symbol.for(`react.forward_ref`),S=Symbol.for(`react.suspense`),C=Symbol.for(`react.suspense_list`),ee=Symbol.for(`react.memo`),w=Symbol.for(`react.lazy`),te=Symbol.for(`react.activity`),T=Symbol.for(`react.memo_cache_sentinel`),ne=Symbol.iterator;function re(e){return typeof e!=`object`||!e?null:(e=ne&&e[ne]||e[`@@iterator`],typeof e==`function`?e:null)}var ie=Symbol.for(`react.client.reference`);function ae(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===ie?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case g:return`Fragment`;case v:return`Profiler`;case _:return`StrictMode`;case S:return`Suspense`;case C:return`SuspenseList`;case te:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case h:return`Portal`;case b:return e.displayName||`Context`;case y:return(e._context.displayName||`Context`)+`.Consumer`;case x:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case ee:return t=e.displayName||null,t===null?ae(e.type)||`Memo`:t;case w:t=e._payload,e=e._init;try{return ae(e(t))}catch{}}return null}var oe=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,se={pending:!1,data:null,method:null,action:null},ce=[],le=-1;function ue(e){return{current:e}}function de(e){0>le||(e.current=ce[le],ce[le]=null,le--)}function O(e,t){le++,ce[le]=e.current,e.current=t}var fe=ue(null),pe=ue(null),me=ue(null),he=ue(null);function ge(e,t){switch(O(me,t),O(pe,e),O(fe,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Hd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Hd(t),e=Ud(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}de(fe),O(fe,e)}function _e(){de(fe),de(pe),de(me)}function ve(e){e.memoizedState!==null&&O(he,e);var t=fe.current,n=Ud(t,e.type);t!==n&&(O(pe,e),O(fe,n))}function ye(e){pe.current===e&&(de(fe),de(pe)),he.current===e&&(de(he),Qf._currentValue=se)}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(`
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./bundle-web-DhRGKIGF.js","./chunk-CilyBKbf.js","./preload-helper-C_JMBXql.js","./lib-Cc7Il-6i.js","./markdown-preview-impl-CcZFkjn-.js","./lib-BZ6WPg2t.js","./lucide-react-NXHPIMsX.js","./terminal-viewer-impl-LjIph8ql.js","./store-D-Frk_EC.js","./display-aTnwsqQh.js","./types-BqeSkWrv.js","./button-DyHjsHY3.js","./dist-BNB3fTO-.js","./use-keyboard-viewport-cGEmrGE7.js","./terminal-viewer-impl-BrP-ENHg.css","./overview-B0z8ZNtp.js","./agent-type-icon-BmBR-9CH.js","./badge-BCvp7LK3.js","./card-BoqYxpVW.js","./chat-BAH9bEPx.js","./react-dom-8yaD9iJG.js","./MessageBubble-D2cnxyTy.js","./formatted-body-Rv9RDPsQ.js","./user-avatar-qbo-B3dQ.js","./PlanGraphPanel-Cnxt-x7R.js","./task-chip-CeujtXYT.js","./branch-state-badge-Cscjqf-E.js","./copy-button-C67FUG3E.js","./input-Rc4oWv4q.js","./agents-D8mc9X1j.js","./dist-C_VOBSaK.js","./dist-BFDfbfNC.js","./dist-BD4Xc13v.js","./dist-CHKra2JV.js","./dist-D5w04z0l.js","./es2015-a6fysEVz.js","./dist-CQMQ5iku.js","./dist-DG75bvPp.js","./managed-agents-CLANxOAN.js","./teams-BrL4sEL7.js","./select-gEQEHCIf.js","./dist-BiLuYU6G.js","./dist-f6MW74eX.js","./dist-BJKxqIQd.js","./dist-G8YBD-wp.js","./agent-profiles-C8V_oCiM.js","./orchestrators-sQh8e7-V.js","./workspaces-CoDz-iZd.js","./channels-DAtOnA6o.js","./connectors-B2grC-hl.js","./integrations-9c6IdRU4.js","./security-CTSA9niL.js","./memory-BoQw8q-i.js","./activity-BEm1BQB1.js","./pairs-B3FhGmn-.js","./messages-DfKNuph2.js","./work-queue-CSu5kRsw.js","./tasks-CZyJX881.js","./automation-BEhJZkNQ.js","./analytics-BZtRycyL.js","./themes-DjSwmAZN.js","./insights-DpXPAEwH.js","./projects-iDkxAGBW.js","./prompt-settings-CCj_s008.js","./registry-mD_y06Ru.js","./maintenance-BrkqfGwx.js","./settings-ByAR-TYj.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as e,t}from"./chunk-CilyBKbf.js";import{$t as n,A as r,At as i,B as a,Bn as o,Cn as s,D as c,Dn as l,Dt as u,E as d,En as f,Fn as p,G as m,H as h,I as g,It as _,J as v,Jn as y,K as b,Ln as x,Lt as S,Mn as C,Mt as ee,Nn as w,Nt as te,O as T,Ot as ne,P as re,Pn as ie,Qt as ae,R as oe,Rn as E,Rt as D,Sn as se,St as ce,T as le,Tn as ue,Tt as de,U as O,Ut as fe,V as pe,Vn as me,Vt as he,W as ge,Wt as _e,X as ve,Yt as ye,Z as be,Zt as xe,_ as Se,_n as Ce,_t as we,a as k,at as Te,bt as Ee,cn as De,ct as Oe,dn as ke,dt as Ae,er as je,et as Me,fn as Ne,ft as Pe,g as Fe,gn as Ie,gr as Le,gt as Re,h as ze,i as Be,in as Ve,ir as A,j as He,jt as Ue,kn as We,ln as Ge,lr as Ke,mn as qe,mt as Je,n as Ye,nn as Xe,nt as Ze,o as Qe,p as $e,pn as et,pt as tt,q as nt,qn as rt,r as it,rr as at,rt as ot,s as st,sn as ct,st as lt,t as ut,tn as dt,tr as j,u as ft,vt as pt,w as mt,x as ht,xn as gt,xt as _t,y as vt,yn as yt,z as bt,zn as xt,zt as St}from"./lucide-react-NXHPIMsX.js";import{t as Ct}from"./react-dom-8yaD9iJG.js";import{c as wt,f as Tt,l as Et,m as Dt,p as Ot,r as kt,t as M}from"./store-D-Frk_EC.js";import{_ as At,a as jt,f as Mt,h as Nt,i as Pt,m as Ft,n as It,o as Lt,p as Rt,r as zt}from"./types-BqeSkWrv.js";import{B as Bt,C as Vt,D as Ht,E as Ut,G as Wt,H as Gt,J as Kt,K as N,N as qt,O as Jt,P as Yt,Q as Xt,R as Zt,S as Qt,T as $t,W as en,X as tn,Y as nn,a as rn,c as an,ct as on,d as P,f as sn,h as cn,i as ln,j as un,k as dn,lt as fn,m as pn,n as mn,o as hn,ot as gn,p as _n,q as vn,r as yn,rt as bn,t as xn,u as Sn,w as Cn,x as wn,y as Tn}from"./display-aTnwsqQh.js";import{n as En,t as Dn}from"./themes-DjSwmAZN.js";import{a as On,i as kn,o as An,r as jn,t as Mn}from"./dist-BNB3fTO-.js";import{n as Nn,t as Pn}from"./dist-BD4Xc13v.js";import{i as Fn,n as F,r as In,t as Ln}from"./dist-BFDfbfNC.js";import{t as Rn}from"./dist-f6MW74eX.js";import{t as zn}from"./dist-DG75bvPp.js";import{t as Bn}from"./dist-CQMQ5iku.js";import{a as Vn,i as Hn,n as Un,o as Wn,r as Gn,s as Kn,t as qn}from"./es2015-a6fysEVz.js";import{t as Jn}from"./dist-BJKxqIQd.js";import{t as Yn}from"./dist-CHKra2JV.js";import{t as Xn}from"./dist-G8YBD-wp.js";import{t as Zn}from"./dist-D5w04z0l.js";import{a as Qn,i as $n,n as er,r as tr,t as nr}from"./dist-C_VOBSaK.js";import{t as rr}from"./dist-BiLuYU6G.js";import{t as I}from"./badge-BCvp7LK3.js";import{t as L}from"./button-DyHjsHY3.js";import{t as R}from"./input-Rc4oWv4q.js";import{t as ir}from"./copy-button-C67FUG3E.js";import{t as z}from"./preload-helper-C_JMBXql.js";import{n as ar,t as or}from"./agent-type-icon-BmBR-9CH.js";import{t as sr}from"./task-chip-CeujtXYT.js";import{t as cr}from"./formatted-body-Rv9RDPsQ.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 lr=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,ne());else{var t=n(l);t!==null&&ae(x,t.startTime-e)}}var S=!1,C=-1,ee=5,w=-1;function te(){return g?!0:!(e.unstable_now()-w<ee)}function T(){if(g=!1,S){var t=e.unstable_now();w=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&&te());){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?ne():S=!1}}}var ne;if(typeof y==`function`)ne=function(){y(T)};else if(typeof MessageChannel<`u`){var re=new MessageChannel,ie=re.port2;re.port1.onmessage=T,ne=function(){ie.postMessage(null)}}else ne=function(){_(T,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,ne()))),r},e.unstable_shouldYield=te,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),ur=t(((e,t)=>{t.exports=lr()})),dr=t((e=>{var t=ur(),n=Le(),r=Ct();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`),g=Symbol.for(`react.fragment`),_=Symbol.for(`react.strict_mode`),v=Symbol.for(`react.profiler`),y=Symbol.for(`react.consumer`),b=Symbol.for(`react.context`),x=Symbol.for(`react.forward_ref`),S=Symbol.for(`react.suspense`),C=Symbol.for(`react.suspense_list`),ee=Symbol.for(`react.memo`),w=Symbol.for(`react.lazy`),te=Symbol.for(`react.activity`),T=Symbol.for(`react.memo_cache_sentinel`),ne=Symbol.iterator;function re(e){return typeof e!=`object`||!e?null:(e=ne&&e[ne]||e[`@@iterator`],typeof e==`function`?e:null)}var ie=Symbol.for(`react.client.reference`);function ae(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===ie?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case g:return`Fragment`;case v:return`Profiler`;case _:return`StrictMode`;case S:return`Suspense`;case C:return`SuspenseList`;case te:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case h:return`Portal`;case b:return e.displayName||`Context`;case y:return(e._context.displayName||`Context`)+`.Consumer`;case x:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case ee:return t=e.displayName||null,t===null?ae(e.type)||`Memo`:t;case w:t=e._payload,e=e._init;try{return ae(e(t))}catch{}}return null}var oe=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,se={pending:!1,data:null,method:null,action:null},ce=[],le=-1;function ue(e){return{current:e}}function de(e){0>le||(e.current=ce[le],ce[le]=null,le--)}function O(e,t){le++,ce[le]=e.current,e.current=t}var fe=ue(null),pe=ue(null),me=ue(null),he=ue(null);function ge(e,t){switch(O(me,t),O(pe,e),O(fe,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Hd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Hd(t),e=Ud(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}de(fe),O(fe,e)}function _e(){de(fe),de(pe),de(me)}function ve(e){e.memoizedState!==null&&O(he,e);var t=fe.current,n=Ud(t,e.type);t!==n&&(O(pe,e),O(fe,n))}function ye(e){pe.current===e&&(de(fe),de(pe)),he.current===e&&(de(he),Qf._currentValue=se)}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(`
|
|
5
5
|
`),l=s.split(`
|
|
@@ -11,8 +11,8 @@ 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 B.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},ni=`DialogDescriptionWarning`,ri=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${ei(ni).contentName}}.`;return B.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},ii=kr,ai=Fr,oi=Lr,si=Vr,ci=Kr,li=Jr,ui=Xr,di=`rovingFocusGroup.onEntryFocus`,fi={bubbles:!1,cancelable:!0},pi=`RovingFocusGroup`,[mi,hi,gi]=Rn(pi),[_i,vi]=Fn(pi,[gi]),[yi,bi]=_i(pi),xi=B.forwardRef((e,t)=>(0,V.jsx)(mi.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,V.jsx)(mi.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,V.jsx)(Si,{...e,ref:t})})}));xi.displayName=pi;var Si=B.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=B.useRef(null),p=An(t,f),m=Jn(a),[h,g]=zn({prop:o,defaultProp:s??null,onChange:c,caller:pi}),[_,v]=B.useState(!1),y=Yn(l),b=hi(n),x=B.useRef(!1),[S,C]=B.useState(0);return B.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(di,y),()=>e.removeEventListener(di,y)},[y]),(0,V.jsx)(yi,{scope:n,orientation:r,dir:m,loop:i,currentTabStopId:h,onItemFocus:B.useCallback(e=>g(e),[g]),onItemShiftTab:B.useCallback(()=>v(!0),[]),onFocusableItemAdd:B.useCallback(()=>C(e=>e+1),[]),onFocusableItemRemove:B.useCallback(()=>C(e=>e-1),[]),children:(0,V.jsx)(Pn.div,{tabIndex:_||S===0?-1:0,"data-orientation":r,...d,ref:p,style:{outline:`none`,...e.style},onMouseDown:F(e.onMouseDown,()=>{x.current=!0}),onFocus:F(e.onFocus,e=>{let t=!x.current;if(e.target===e.currentTarget&&t&&!_){let t=new CustomEvent(di,fi);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=b().filter(e=>e.focusable);Oi([e.find(e=>e.active),e.find(e=>e.id===h),...e].filter(Boolean).map(e=>e.ref.current),u)}}x.current=!1}),onBlur:F(e.onBlur,()=>v(!1))})})}),Ci=`RovingFocusGroupItem`,wi=B.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=Kn(),l=a||c,u=bi(Ci,n),d=u.currentTabStopId===l,f=hi(n),{onFocusableItemAdd:p,onFocusableItemRemove:m,currentTabStopId:h}=u;return B.useEffect(()=>{if(r)return p(),()=>m()},[r,p,m]),(0,V.jsx)(mi.ItemSlot,{scope:n,id:l,focusable:r,active:i,children:(0,V.jsx)(Pn.span,{tabIndex:d?0:-1,"data-orientation":u.orientation,...s,ref:t,onMouseDown:F(e.onMouseDown,e=>{r?u.onItemFocus(l):e.preventDefault()}),onFocus:F(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:F(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){u.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=Di(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?ki(n,r+1):n.slice(r+1)}setTimeout(()=>Oi(n))}}),children:typeof o==`function`?o({isCurrentTabStop:d,hasTabStop:h!=null}):o})})});wi.displayName=Ci;var Ti={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function Ei(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function Di(e,t,n){let r=Ei(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return Ti[r]}function Oi(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function ki(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var Ai=xi,ji=wi,H=[`Enter`,` `],Mi=[`ArrowDown`,`PageUp`,`Home`],Ni=[`ArrowUp`,`PageDown`,`End`],Pi=[...Mi,...Ni],Fi={ltr:[...H,`ArrowRight`],rtl:[...H,`ArrowLeft`]},Ii={ltr:[`ArrowLeft`],rtl:[`ArrowRight`]},Li=`Menu`,[Ri,zi,Bi]=Rn(Li),[Vi,Hi]=Fn(Li,[Bi,Qn,vi]),Ui=Qn(),Wi=vi(),[Gi,Ki]=Vi(Li),[qi,Ji]=Vi(Li),Yi=e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=Ui(t),[c,l]=B.useState(null),u=B.useRef(!1),d=Yn(a),f=Jn(i);return B.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,V.jsx)($n,{...s,children:(0,V.jsx)(Gi,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:l,children:(0,V.jsx)(qi,{scope:t,onClose:B.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})};Yi.displayName=Li;var Xi=`MenuAnchor`,Zi=B.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=Ui(n);return(0,V.jsx)(nr,{...i,...r,ref:t})});Zi.displayName=Xi;var Qi=`MenuPortal`,[$i,ea]=Vi(Qi,{forceMount:void 0}),ta=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=Ki(Qi,t);return(0,V.jsx)($i,{scope:t,forceMount:n,children:(0,V.jsx)(Bn,{present:n||a.open,children:(0,V.jsx)(Hn,{asChild:!0,container:i,children:r})})})};ta.displayName=Qi;var na=`MenuContent`,[ra,ia]=Vi(na),aa=B.forwardRef((e,t)=>{let n=ea(na,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=Ki(na,e.__scopeMenu),o=Ji(na,e.__scopeMenu);return(0,V.jsx)(Ri.Provider,{scope:e.__scopeMenu,children:(0,V.jsx)(Bn,{present:r||a.open,children:(0,V.jsx)(Ri.Slot,{scope:e.__scopeMenu,children:o.modal?(0,V.jsx)(oa,{...i,ref:t}):(0,V.jsx)(sa,{...i,ref:t})})})})}),oa=B.forwardRef((e,t)=>{let n=Ki(na,e.__scopeMenu),r=B.useRef(null),i=An(t,r);return B.useEffect(()=>{let e=r.current;if(e)return qn(e)},[]),(0,V.jsx)(la,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:F(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),sa=B.forwardRef((e,t)=>{let n=Ki(na,e.__scopeMenu);return(0,V.jsx)(la,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),ca=jn(`MenuContent.ScrollLock`),la=B.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=Ki(na,n),_=Ji(na,n),v=Ui(n),y=Wi(n),b=zi(n),[x,S]=B.useState(null),C=B.useRef(null),ee=An(t,C,g.onContentChange),w=B.useRef(0),te=B.useRef(``),T=B.useRef(0),ne=B.useRef(null),re=B.useRef(`right`),ie=B.useRef(0),ae=m?Un:B.Fragment,oe=m?{as:ca,allowPinchZoom:!0}:void 0,E=e=>{let t=te.current+e,n=b().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=qa(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;(function e(t){te.current=t,window.clearTimeout(w.current),t!==``&&(w.current=window.setTimeout(()=>e(``),1e3))})(t),o&&setTimeout(()=>o.focus())};B.useEffect(()=>()=>window.clearTimeout(w.current),[]),Gn();let D=B.useCallback(e=>re.current===ne.current?.side&&Ya(e,ne.current?.area),[]);return(0,V.jsx)(ra,{scope:n,searchRef:te,onItemEnter:B.useCallback(e=>{D(e)&&e.preventDefault()},[D]),onItemLeave:B.useCallback(e=>{D(e)||(C.current?.focus(),S(null))},[D]),onTriggerLeave:B.useCallback(e=>{D(e)&&e.preventDefault()},[D]),pointerGraceTimerRef:T,onPointerGraceIntentChange:B.useCallback(e=>{ne.current=e},[]),children:(0,V.jsx)(ae,{...oe,children:(0,V.jsx)(Vn,{asChild:!0,trapped:i,onMountAutoFocus:F(a,e=>{e.preventDefault(),C.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:(0,V.jsx)(Wn,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,children:(0,V.jsx)(Ai,{asChild:!0,...y,dir:_.dir,orientation:`vertical`,loop:r,currentTabStopId:x,onCurrentTabStopIdChange:S,onEntryFocus:F(c,e=>{_.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,V.jsx)(tr,{role:`menu`,"aria-orientation":`vertical`,"data-state":Ha(g.open),"data-radix-menu-content":``,dir:_.dir,...v,...h,ref:ee,style:{outline:`none`,...h.style},onKeyDown:F(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&&E(e.key));let i=C.current;if(e.target!==i||!Pi.includes(e.key))return;e.preventDefault();let a=b().filter(e=>!e.disabled).map(e=>e.ref.current);Ni.includes(e.key)&&a.reverse(),Ga(a)}),onBlur:F(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(w.current),te.current=``)}),onPointerMove:F(e.onPointerMove,Xa(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)}))})})})})})})});aa.displayName=na;var ua=`MenuGroup`,da=B.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,V.jsx)(Pn.div,{role:`group`,...r,ref:t})});da.displayName=ua;var fa=`MenuLabel`,pa=B.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,V.jsx)(Pn.div,{...r,ref:t})});pa.displayName=fa;var ma=`MenuItem`,ha=`menu.itemSelect`,ga=B.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:r,...i}=e,a=B.useRef(null),o=Ji(ma,e.__scopeMenu),s=ia(ma,e.__scopeMenu),c=An(t,a),l=B.useRef(!1),u=()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(ha,{bubbles:!0,cancelable:!0});e.addEventListener(ha,e=>r?.(e),{once:!0}),Nn(e,t),t.defaultPrevented?l.current=!1:o.onClose()}};return(0,V.jsx)(_a,{...i,ref:c,disabled:n,onClick:F(e.onClick,u),onPointerDown:t=>{e.onPointerDown?.(t),l.current=!0},onPointerUp:F(e.onPointerUp,e=>{l.current||e.currentTarget?.click()}),onKeyDown:F(e.onKeyDown,e=>{let t=s.searchRef.current!==``;n||t&&e.key===` `||H.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});ga.displayName=ma;var _a=B.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:r=!1,textValue:i,...a}=e,o=ia(ma,n),s=Wi(n),c=B.useRef(null),l=An(t,c),[u,d]=B.useState(!1),[f,p]=B.useState(``);return B.useEffect(()=>{let e=c.current;e&&p((e.textContent??``).trim())},[a.children]),(0,V.jsx)(Ri.ItemSlot,{scope:n,disabled:r,textValue:i??f,children:(0,V.jsx)(ji,{asChild:!0,...s,focusable:!r,children:(0,V.jsx)(Pn.div,{role:`menuitem`,"data-highlighted":u?``:void 0,"aria-disabled":r||void 0,"data-disabled":r?``:void 0,...a,ref:l,onPointerMove:F(e.onPointerMove,Xa(e=>{r?o.onItemLeave(e):(o.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:F(e.onPointerLeave,Xa(e=>o.onItemLeave(e))),onFocus:F(e.onFocus,()=>d(!0)),onBlur:F(e.onBlur,()=>d(!1))})})})}),va=`MenuCheckboxItem`,ya=B.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...i}=e;return(0,V.jsx)(Da,{scope:e.__scopeMenu,checked:n,children:(0,V.jsx)(ga,{role:`menuitemcheckbox`,"aria-checked":Ua(n)?`mixed`:n,...i,ref:t,"data-state":Wa(n),onSelect:F(i.onSelect,()=>r?.(Ua(n)?!0:!n),{checkForDefaultPrevented:!1})})})});ya.displayName=va;var ba=`MenuRadioGroup`,[xa,Sa]=Vi(ba,{value:void 0,onValueChange:()=>{}}),Ca=B.forwardRef((e,t)=>{let{value:n,onValueChange:r,...i}=e,a=Yn(r);return(0,V.jsx)(xa,{scope:e.__scopeMenu,value:n,onValueChange:a,children:(0,V.jsx)(da,{...i,ref:t})})});Ca.displayName=ba;var wa=`MenuRadioItem`,Ta=B.forwardRef((e,t)=>{let{value:n,...r}=e,i=Sa(wa,e.__scopeMenu),a=n===i.value;return(0,V.jsx)(Da,{scope:e.__scopeMenu,checked:a,children:(0,V.jsx)(ga,{role:`menuitemradio`,"aria-checked":a,...r,ref:t,"data-state":Wa(a),onSelect:F(r.onSelect,()=>i.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});Ta.displayName=wa;var Ea=`MenuItemIndicator`,[Da,Oa]=Vi(Ea,{checked:!1}),ka=B.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:r,...i}=e,a=Oa(Ea,n);return(0,V.jsx)(Bn,{present:r||Ua(a.checked)||a.checked===!0,children:(0,V.jsx)(Pn.span,{...i,ref:t,"data-state":Wa(a.checked)})})});ka.displayName=Ea;var Aa=`MenuSeparator`,ja=B.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,V.jsx)(Pn.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})});ja.displayName=Aa;var Ma=`MenuArrow`,Na=B.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=Ui(n);return(0,V.jsx)(er,{...i,...r,ref:t})});Na.displayName=Ma;var Pa=`MenuSub`,[Fa,Ia]=Vi(Pa),La=e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:i}=e,a=Ki(Pa,t),o=Ui(t),[s,c]=B.useState(null),[l,u]=B.useState(null),d=Yn(i);return B.useEffect(()=>(a.open===!1&&d(!1),()=>d(!1)),[a.open,d]),(0,V.jsx)($n,{...o,children:(0,V.jsx)(Gi,{scope:t,open:r,onOpenChange:d,content:l,onContentChange:u,children:(0,V.jsx)(Fa,{scope:t,contentId:Kn(),triggerId:Kn(),trigger:s,onTriggerChange:c,children:n})})})};La.displayName=Pa;var Ra=`MenuSubTrigger`,za=B.forwardRef((e,t)=>{let n=Ki(Ra,e.__scopeMenu),r=Ji(Ra,e.__scopeMenu),i=Ia(Ra,e.__scopeMenu),a=ia(Ra,e.__scopeMenu),o=B.useRef(null),{pointerGraceTimerRef:s,onPointerGraceIntentChange:c}=a,l={__scopeMenu:e.__scopeMenu},u=B.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=null},[]);return B.useEffect(()=>u,[u]),B.useEffect(()=>{let e=s.current;return()=>{window.clearTimeout(e),c(null)}},[s,c]),(0,V.jsx)(Zi,{asChild:!0,...l,children:(0,V.jsx)(_a,{id:i.triggerId,"aria-haspopup":`menu`,"aria-expanded":n.open,"aria-controls":i.contentId,"data-state":Ha(n.open),...e,ref:On(t,i.onTriggerChange),onClick:t=>{e.onClick?.(t),!(e.disabled||t.defaultPrevented)&&(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:F(e.onPointerMove,Xa(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:F(e.onPointerLeave,Xa(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:F(e.onKeyDown,t=>{let i=a.searchRef.current!==``;e.disabled||i&&t.key===` `||Fi[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});za.displayName=Ra;var Ba=`MenuSubContent`,Va=B.forwardRef((e,t)=>{let n=ea(na,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=Ki(na,e.__scopeMenu),o=Ji(na,e.__scopeMenu),s=Ia(Ba,e.__scopeMenu),c=B.useRef(null),l=An(t,c);return(0,V.jsx)(Ri.Provider,{scope:e.__scopeMenu,children:(0,V.jsx)(Bn,{present:r||a.open,children:(0,V.jsx)(Ri.Slot,{scope:e.__scopeMenu,children:(0,V.jsx)(la,{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:F(e.onFocusOutside,e=>{e.target!==s.trigger&&a.onOpenChange(!1)}),onEscapeKeyDown:F(e.onEscapeKeyDown,e=>{o.onClose(),e.preventDefault()}),onKeyDown:F(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=Ii[o.dir].includes(e.key);t&&n&&(a.onOpenChange(!1),s.trigger?.focus(),e.preventDefault())})})})})})});Va.displayName=Ba;function Ha(e){return e?`open`:`closed`}function Ua(e){return e===`indeterminate`}function Wa(e){return Ua(e)?`indeterminate`:e?`checked`:`unchecked`}function Ga(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function Ka(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function qa(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=Ka(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 Ja(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 Ya(e,t){return t?Ja({x:e.clientX,y:e.clientY},t):!1}function Xa(e){return t=>t.pointerType===`mouse`?e(t):void 0}var Za=Yi,Qa=Zi,$a=ta,eo=aa,to=da,no=pa,ro=ga,io=ya,ao=Ca,oo=Ta,so=ka,co=ja,lo=Na,U=za,uo=Va,fo=`DropdownMenu`,[po,mo]=Fn(fo,[Hi]),ho=Hi(),[go,_o]=po(fo),vo=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=ho(t),l=B.useRef(null),[u,d]=zn({prop:i,defaultProp:a??!1,onChange:o,caller:fo});return(0,V.jsx)(go,{scope:t,triggerId:Kn(),triggerRef:l,contentId:Kn(),open:u,onOpenChange:d,onOpenToggle:B.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,V.jsx)(Za,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})};vo.displayName=fo;var yo=`DropdownMenuTrigger`,bo=B.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,a=_o(yo,n),o=ho(n);return(0,V.jsx)(Qa,{asChild:!0,...o,children:(0,V.jsx)(Pn.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:On(t,a.triggerRef),onPointerDown:F(e.onPointerDown,e=>{!r&&e.button===0&&e.ctrlKey===!1&&(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:F(e.onKeyDown,e=>{r||([`Enter`,` `].includes(e.key)&&a.onOpenToggle(),e.key===`ArrowDown`&&a.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})});bo.displayName=yo;var xo=`DropdownMenuPortal`,So=e=>{let{__scopeDropdownMenu:t,...n}=e,r=ho(t);return(0,V.jsx)($a,{...r,...n})};So.displayName=xo;var Co=`DropdownMenuContent`,wo=B.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=_o(Co,n),a=ho(n),o=B.useRef(!1);return(0,V.jsx)(eo,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:F(e.onCloseAutoFocus,e=>{o.current||i.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:F(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)`}})});wo.displayName=Co;var To=`DropdownMenuGroup`,Eo=B.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ho(n);return(0,V.jsx)(to,{...i,...r,ref:t})});Eo.displayName=To;var Do=`DropdownMenuLabel`,Oo=B.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ho(n);return(0,V.jsx)(no,{...i,...r,ref:t})});Oo.displayName=Do;var ko=`DropdownMenuItem`,Ao=B.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ho(n);return(0,V.jsx)(ro,{...i,...r,ref:t})});Ao.displayName=ko;var jo=`DropdownMenuCheckboxItem`,Mo=B.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ho(n);return(0,V.jsx)(io,{...i,...r,ref:t})});Mo.displayName=jo;var No=`DropdownMenuRadioGroup`,Po=B.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ho(n);return(0,V.jsx)(ao,{...i,...r,ref:t})});Po.displayName=No;var Fo=`DropdownMenuRadioItem`,Io=B.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ho(n);return(0,V.jsx)(oo,{...i,...r,ref:t})});Io.displayName=Fo;var Lo=`DropdownMenuItemIndicator`,Ro=B.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ho(n);return(0,V.jsx)(so,{...i,...r,ref:t})});Ro.displayName=Lo;var zo=`DropdownMenuSeparator`,Bo=B.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ho(n);return(0,V.jsx)(co,{...i,...r,ref:t})});Bo.displayName=zo;var Vo=`DropdownMenuArrow`,Ho=B.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ho(n);return(0,V.jsx)(lo,{...i,...r,ref:t})});Ho.displayName=Vo;var Uo=`DropdownMenuSubTrigger`,Wo=B.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ho(n);return(0,V.jsx)(U,{...i,...r,ref:t})});Wo.displayName=Uo;var Go=`DropdownMenuSubContent`,Ko=B.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ho(n);return(0,V.jsx)(uo,{...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)`}})});Ko.displayName=Go;var qo=vo,Jo=bo,Yo=So,Xo=wo,Zo=Oo,Qo=Ao,$o=Bo,es=`Label`,ts=B.forwardRef((e,t)=>(0,V.jsx)(Pn.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));ts.displayName=es;var ns=ts;function rs(e,t){return B.useReducer((e,n)=>t[e][n]??e,e)}var is=`ScrollArea`,[as,os]=Fn(is),[ss,cs]=as(is),ls=B.forwardRef((e,t)=>{let{__scopeScrollArea:n,type:r=`hover`,dir:i,scrollHideDelay:a=600,...o}=e,[s,c]=B.useState(null),[l,u]=B.useState(null),[d,f]=B.useState(null),[p,m]=B.useState(null),[h,g]=B.useState(null),[_,v]=B.useState(0),[y,b]=B.useState(0),[x,S]=B.useState(!1),[C,ee]=B.useState(!1),w=An(t,e=>c(e)),te=Jn(i);return(0,V.jsx)(ss,{scope:n,type:r,dir:te,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,V.jsx)(Pn.div,{dir:te,...o,ref:w,style:{position:`relative`,"--radix-scroll-area-corner-width":_+`px`,"--radix-scroll-area-corner-height":y+`px`,...e.style}})})});ls.displayName=is;var us=`ScrollAreaViewport`,ds=B.forwardRef((e,t)=>{let{__scopeScrollArea:n,children:r,nonce:i,...a}=e,o=cs(us,n),s=An(t,B.useRef(null),o.onViewportChange);return(0,V.jsxs)(V.Fragment,{children:[(0,V.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,V.jsx)(Pn.div,{"data-radix-scroll-area-viewport":``,...a,ref:s,style:{overflowX:o.scrollbarXEnabled?`scroll`:`hidden`,overflowY:o.scrollbarYEnabled?`scroll`:`hidden`,...e.style},children:(0,V.jsx)(`div`,{ref:o.onContentChange,style:{minWidth:`100%`,display:`table`},children:r})})]})});ds.displayName=us;var fs=`ScrollAreaScrollbar`,ps=B.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=cs(fs,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:o}=i,s=e.orientation===`horizontal`;return B.useEffect(()=>(s?a(!0):o(!0),()=>{s?a(!1):o(!1)}),[s,a,o]),i.type===`hover`?(0,V.jsx)(ms,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,V.jsx)(hs,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,V.jsx)(gs,{...r,ref:t,forceMount:n}):i.type===`always`?(0,V.jsx)(_s,{...r,ref:t}):null});ps.displayName=fs;var ms=B.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=cs(fs,e.__scopeScrollArea),[a,o]=B.useState(!1);return B.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,V.jsx)(Bn,{present:n||a,children:(0,V.jsx)(gs,{"data-state":a?`visible`:`hidden`,...r,ref:t})})}),hs=B.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=cs(fs,e.__scopeScrollArea),a=e.orientation===`horizontal`,o=Ls(()=>c(`SCROLL_END`),100),[s,c]=rs(`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 B.useEffect(()=>{if(s===`idle`){let e=window.setTimeout(()=>c(`HIDE`),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[s,i.scrollHideDelay,c]),B.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,V.jsx)(Bn,{present:n||s!==`hidden`,children:(0,V.jsx)(_s,{"data-state":s===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:F(e.onPointerEnter,()=>c(`POINTER_ENTER`)),onPointerLeave:F(e.onPointerLeave,()=>c(`POINTER_LEAVE`))})})}),gs=B.forwardRef((e,t)=>{let n=cs(fs,e.__scopeScrollArea),{forceMount:r,...i}=e,[a,o]=B.useState(!1),s=e.orientation===`horizontal`,c=Ls(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;o(s?e:t)}},10);return Rs(n.viewport,c),Rs(n.content,c),(0,V.jsx)(Bn,{present:r||a,children:(0,V.jsx)(_s,{"data-state":a?`visible`:`hidden`,...i,ref:t})})}),_s=B.forwardRef((e,t)=>{let{orientation:n=`vertical`,...r}=e,i=cs(fs,e.__scopeScrollArea),a=B.useRef(null),o=B.useRef(0),[s,c]=B.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=As(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 Ms(e,o.current,s,t)}return n===`horizontal`?(0,V.jsx)(vs,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=Ns(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,V.jsx)(ys,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=Ns(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}),vs=B.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=cs(fs,e.__scopeScrollArea),[o,s]=B.useState(),c=B.useRef(null),l=An(t,c,a.onScrollbarXChange);return B.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,V.jsx)(Ss,{"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":js(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),Fs(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:ks(o.paddingLeft),paddingEnd:ks(o.paddingRight)}})}})}),ys=B.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=cs(fs,e.__scopeScrollArea),[o,s]=B.useState(),c=B.useRef(null),l=An(t,c,a.onScrollbarYChange);return B.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,V.jsx)(Ss,{"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":js(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),Fs(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:ks(o.paddingTop),paddingEnd:ks(o.paddingBottom)}})}})}),[bs,xs]=as(fs),Ss=B.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=cs(fs,n),[m,h]=B.useState(null),g=An(t,e=>h(e)),_=B.useRef(null),v=B.useRef(``),y=p.viewport,b=r.content-r.viewport,x=Yn(u),S=Yn(c),C=Ls(d,10);function ee(e){_.current&&l({x:e.clientX-_.current.left,y:e.clientY-_.current.top})}return B.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]),B.useEffect(S,[r,S]),Rs(m,C),Rs(p.content,C),(0,V.jsx)(bs,{scope:n,scrollbar:m,hasThumb:i,onThumbChange:Yn(a),onThumbPointerUp:Yn(o),onThumbPositionChange:S,onThumbPointerDown:Yn(s),children:(0,V.jsx)(Pn.div,{...f,ref:g,style:{position:`absolute`,...f.style},onPointerDown:F(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:F(e.onPointerMove,ee),onPointerUp:F(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})})})}),Cs=`ScrollAreaThumb`,ws=B.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=xs(Cs,e.__scopeScrollArea);return(0,V.jsx)(Bn,{present:n||i.hasThumb,children:(0,V.jsx)(Ts,{ref:t,...r})})}),Ts=B.forwardRef((e,t)=>{let{__scopeScrollArea:n,style:r,...i}=e,a=cs(Cs,n),o=xs(Cs,n),{onThumbPositionChange:s}=o,c=An(t,e=>o.onThumbChange(e)),l=B.useRef(void 0),u=Ls(()=>{l.current&&=(l.current(),void 0)},100);return B.useEffect(()=>{let e=a.viewport;if(e){let t=()=>{u(),l.current||(l.current=Is(e,s),s())};return s(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[a.viewport,u,s]),(0,V.jsx)(Pn.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:F(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:F(e.onPointerUp,o.onThumbPointerUp)})});ws.displayName=Cs;var Es=`ScrollAreaCorner`,Ds=B.forwardRef((e,t)=>{let n=cs(Es,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,V.jsx)(Os,{...e,ref:t}):null});Ds.displayName=Es;var Os=B.forwardRef((e,t)=>{let{__scopeScrollArea:n,...r}=e,i=cs(Es,n),[a,o]=B.useState(0),[s,c]=B.useState(0),l=!!(a&&s);return Rs(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),c(e)}),Rs(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),o(e)}),l?(0,V.jsx)(Pn.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 ks(e){return e?parseInt(e,10):0}function As(e,t){let n=e/t;return isNaN(n)?0:n}function js(e){let t=As(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function Ms(e,t,n,r=`ltr`){let i=js(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 Ps([c,l],d)(e)}function Ns(e,t,n=`ltr`){let r=js(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=rr(e,n===`ltr`?[0,o]:[o*-1,0]);return Ps([0,o],[0,s])(c)}function Ps(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 Fs(e,t){return e>0&&e<t}var Is=(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 Ls(e,t){let n=Yn(e),r=B.useRef(0);return B.useEffect(()=>()=>window.clearTimeout(r.current),[]),B.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function Rs(e,t){let n=Yn(t);Ln(()=>{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 zs=ls,Bs=ds,Vs=Ds,Hs=`Separator`,Us=`horizontal`,Ws=[`horizontal`,`vertical`],Gs=B.forwardRef((e,t)=>{let{decorative:n,orientation:r=Us,...i}=e,a=Ks(r)?r:Us,o=n?{role:`none`}:{"aria-orientation":a===`vertical`?a:void 0,role:`separator`};return(0,V.jsx)(Pn.div,{"data-orientation":a,...o,...i,ref:t})});Gs.displayName=Hs;function Ks(e){return Ws.includes(e)}var qs=Gs,Js=`Switch`,[Ys,Xs]=Fn(Js),[Zs,Qs]=Ys(Js),$s=B.forwardRef((e,t)=>{let{__scopeSwitch:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c=`on`,onCheckedChange:l,form:u,...d}=e,[f,p]=B.useState(null),m=An(t,e=>p(e)),h=B.useRef(!1),g=f?u||!!f.closest(`form`):!0,[_,v]=zn({prop:i,defaultProp:a??!1,onChange:l,caller:Js});return(0,V.jsxs)(Zs,{scope:n,checked:_,disabled:s,children:[(0,V.jsx)(Pn.button,{type:`button`,role:`switch`,"aria-checked":_,"aria-required":o,"data-state":ic(_),"data-disabled":s?``:void 0,disabled:s,value:c,...d,ref:m,onClick:F(e.onClick,e=>{v(e=>!e),g&&(h.current=e.isPropagationStopped(),h.current||e.stopPropagation())})}),g&&(0,V.jsx)(rc,{control:f,bubbles:!h.current,name:r,value:c,checked:_,required:o,disabled:s,form:u,style:{transform:`translateX(-100%)`}})]})});$s.displayName=Js;var ec=`SwitchThumb`,tc=B.forwardRef((e,t)=>{let{__scopeSwitch:n,...r}=e,i=Qs(ec,n);return(0,V.jsx)(Pn.span,{"data-state":ic(i.checked),"data-disabled":i.disabled?``:void 0,...r,ref:t})});tc.displayName=ec;var nc=`SwitchBubbleInput`,rc=B.forwardRef(({__scopeSwitch:e,control:t,checked:n,bubbles:r=!0,...i},a)=>{let o=B.useRef(null),s=An(o,a),c=Xn(n),l=Zn(t);return B.useEffect(()=>{let e=o.current;if(!e)return;let t=window.HTMLInputElement.prototype,i=Object.getOwnPropertyDescriptor(t,`checked`).set;if(c!==n&&i){let t=new Event(`click`,{bubbles:r});i.call(e,n),e.dispatchEvent(t)}},[c,n,r]),(0,V.jsx)(`input`,{type:`checkbox`,"aria-hidden":!0,defaultChecked:n,...i,tabIndex:-1,ref:s,style:{...i.style,...l,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0}})});rc.displayName=nc;function ic(e){return e?`checked`:`unchecked`}var ac=$s,oc=tc,sc=`Tabs`,[cc,lc]=Fn(sc,[vi]),uc=vi(),[dc,fc]=cc(sc),pc=B.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:i,defaultValue:a,orientation:o=`horizontal`,dir:s,activationMode:c=`automatic`,...l}=e,u=Jn(s),[d,f]=zn({prop:r,onChange:i,defaultProp:a??``,caller:sc});return(0,V.jsx)(dc,{scope:n,baseId:Kn(),value:d,onValueChange:f,orientation:o,dir:u,activationMode:c,children:(0,V.jsx)(Pn.div,{dir:u,"data-orientation":o,...l,ref:t})})});pc.displayName=sc;var mc=`TabsList`,hc=B.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...i}=e,a=fc(mc,n),o=uc(n);return(0,V.jsx)(Ai,{asChild:!0,...o,orientation:a.orientation,dir:a.dir,loop:r,children:(0,V.jsx)(Pn.div,{role:`tablist`,"aria-orientation":a.orientation,...i,ref:t})})});hc.displayName=mc;var gc=`TabsTrigger`,_c=B.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:i=!1,...a}=e,o=fc(gc,n),s=uc(n),c=bc(o.baseId,r),l=xc(o.baseId,r),u=r===o.value;return(0,V.jsx)(ji,{asChild:!0,...s,focusable:!i,active:u,children:(0,V.jsx)(Pn.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:F(e.onMouseDown,e=>{!i&&e.button===0&&e.ctrlKey===!1?o.onValueChange(r):e.preventDefault()}),onKeyDown:F(e.onKeyDown,e=>{[` `,`Enter`].includes(e.key)&&o.onValueChange(r)}),onFocus:F(e.onFocus,()=>{let e=o.activationMode!==`manual`;!u&&!i&&e&&o.onValueChange(r)})})})});_c.displayName=gc;var vc=`TabsContent`,yc=B.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:i,children:a,...o}=e,s=fc(vc,n),c=bc(s.baseId,r),l=xc(s.baseId,r),u=r===s.value,d=B.useRef(u);return B.useEffect(()=>{let e=requestAnimationFrame(()=>d.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,V.jsx)(Bn,{present:i||u,children:({present:n})=>(0,V.jsx)(Pn.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})})});yc.displayName=vc;function bc(e,t){return`${e}-trigger-${t}`}function xc(e,t){return`${e}-content-${t}`}var Sc=pc,Cc=hc,wc=_c,Tc=yc,[Ec,Dc]=Fn(`Tooltip`,[Qn]),Oc=Qn(),kc=`TooltipProvider`,Ac=700,jc=`tooltip.open`,[Mc,Nc]=Ec(kc),Pc=e=>{let{__scopeTooltip:t,delayDuration:n=Ac,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=B.useRef(!0),s=B.useRef(!1),c=B.useRef(0);return B.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,V.jsx)(Mc,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:B.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:B.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r)},[r]),isPointerInTransitRef:s,onPointerInTransitChange:B.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};Pc.displayName=kc;var Fc=`Tooltip`,[Ic,Lc]=Ec(Fc),Rc=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=Nc(Fc,e.__scopeTooltip),l=Oc(t),[u,d]=B.useState(null),f=Kn(),p=B.useRef(0),m=o??c.disableHoverableContent,h=s??c.delayDuration,g=B.useRef(!1),[_,v]=zn({prop:r,defaultProp:i??!1,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(jc))):c.onClose(),a?.(e)},caller:Fc}),y=B.useMemo(()=>_?g.current?`delayed-open`:`instant-open`:`closed`,[_]),b=B.useCallback(()=>{window.clearTimeout(p.current),p.current=0,g.current=!1,v(!0)},[v]),x=B.useCallback(()=>{window.clearTimeout(p.current),p.current=0,v(!1)},[v]),S=B.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{g.current=!0,v(!0),p.current=0},h)},[h,v]);return B.useEffect(()=>()=>{p.current&&=(window.clearTimeout(p.current),0)},[]),(0,V.jsx)($n,{...l,children:(0,V.jsx)(Ic,{scope:t,contentId:f,open:_,stateAttribute:y,trigger:u,onTriggerChange:d,onTriggerEnter:B.useCallback(()=>{c.isOpenDelayedRef.current?S():b()},[c.isOpenDelayedRef,S,b]),onTriggerLeave:B.useCallback(()=>{m?x():(window.clearTimeout(p.current),p.current=0)},[x,m]),onOpen:b,onClose:x,disableHoverableContent:m,children:n})})};Rc.displayName=Fc;var zc=`TooltipTrigger`,Bc=B.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=Lc(zc,n),a=Nc(zc,n),o=Oc(n),s=An(t,B.useRef(null),i.onTriggerChange),c=B.useRef(!1),l=B.useRef(!1),u=B.useCallback(()=>c.current=!1,[]);return B.useEffect(()=>()=>document.removeEventListener(`pointerup`,u),[u]),(0,V.jsx)(nr,{asChild:!0,...o,children:(0,V.jsx)(Pn.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:s,onPointerMove:F(e.onPointerMove,e=>{e.pointerType!==`touch`&&!l.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),l.current=!0)}),onPointerLeave:F(e.onPointerLeave,()=>{i.onTriggerLeave(),l.current=!1}),onPointerDown:F(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener(`pointerup`,u,{once:!0})}),onFocus:F(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:F(e.onBlur,i.onClose),onClick:F(e.onClick,i.onClose)})})});Bc.displayName=zc;var Vc=`TooltipPortal`,[Hc,Uc]=Ec(Vc,{forceMount:void 0}),Wc=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=Lc(Vc,t);return(0,V.jsx)(Hc,{scope:t,forceMount:n,children:(0,V.jsx)(Bn,{present:n||a.open,children:(0,V.jsx)(Hn,{asChild:!0,container:i,children:r})})})};Wc.displayName=Vc;var Gc=`TooltipContent`,Kc=B.forwardRef((e,t)=>{let n=Uc(Gc,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=Lc(Gc,e.__scopeTooltip);return(0,V.jsx)(Bn,{present:r||o.open,children:o.disableHoverableContent?(0,V.jsx)(Zc,{side:i,...a,ref:t}):(0,V.jsx)(qc,{side:i,...a,ref:t})})}),qc=B.forwardRef((e,t)=>{let n=Lc(Gc,e.__scopeTooltip),r=Nc(Gc,e.__scopeTooltip),i=B.useRef(null),a=An(t,i),[o,s]=B.useState(null),{trigger:c,onClose:l}=n,u=i.current,{onPointerInTransitChange:d}=r,f=B.useCallback(()=>{s(null),d(!1)},[d]),p=B.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=tl(r,el(r,n.getBoundingClientRect())),a=nl(t.getBoundingClientRect());s(il([...i,...a])),d(!0)},[d]);return B.useEffect(()=>()=>f(),[f]),B.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]),B.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=!rl(n,o);r?f():i&&(f(),l())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,V.jsx)(Zc,{...e,ref:a})}),[Jc,Yc]=Ec(Fc,{isInside:!1}),Xc=kn(`TooltipContent`),Zc=B.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...s}=e,c=Lc(Gc,n),l=Oc(n),{onClose:u}=c;return B.useEffect(()=>(document.addEventListener(jc,u),()=>document.removeEventListener(jc,u)),[u]),B.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,V.jsx)(Wn,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:u,children:(0,V.jsxs)(tr,{"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,V.jsx)(Xc,{children:r}),(0,V.jsx)(Jc,{scope:n,isInside:!0,children:(0,V.jsx)(Cr,{id:c.contentId,role:`tooltip`,children:i||r})})]})})});Kc.displayName=Gc;var Qc=`TooltipArrow`,$c=B.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=Oc(n);return Yc(Qc,n).isInside?null:(0,V.jsx)(er,{...i,...r,ref:t})});$c.displayName=Qc;function el(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 tl(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 nl(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 rl(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 il(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)),al(t)}function al(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 ol=Pc,sl=Rc,cl=Bc,ll=Wc,ul=Kc,dl=$c;function fl({delayDuration:e=0,...t}){return(0,V.jsx)(ol,{"data-slot":`tooltip-provider`,delayDuration:e,...t})}function pl({...e}){return(0,V.jsx)(sl,{"data-slot":`tooltip`,...e})}function ml({...e}){return(0,V.jsx)(cl,{"data-slot":`tooltip-trigger`,...e})}function hl({className:e,sideOffset:t=0,children:n,...r}){return(0,V.jsx)(ll,{children:(0,V.jsxs)(ul,{"data-slot":`tooltip-content`,sideOffset:t,className:j(`z-50 inline-flex w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs text-background has-data-[slot=kbd]:pr-1.5 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-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 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,children:[n,(0,V.jsx)(dl,{className:`z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground`})]})})}function W(e){return M(e)}function gl(){let e=W(e=>e.pairs);return(0,B.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 _l(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,B.useMemo)(()=>{if(!e)return{unread:0,needsHumanResponse:!1,pendingPairInvite:!1,claimableTasks:0,total:0,score:0};let o=t.filter(t=>Tn(t)===e.id&&!Ut(t)),s=Number(a[e.id]||0),c=s>=o.filter(e=>$t(e)&&Qt(e)).reduce((e,t)=>Math.max(e,t.id),0)&&s>0?0:o.filter(t=>Jt(i,e.id,t)).length,l=yn(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=>Cn(t)&&Sn(t.target,e)).length+t.filter(t=>Vt(t)&&Sn(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 vl(){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,B.useMemo)(()=>{let d=tn(e,t,l);if(a){let e=yl(u);d=bl(d,a,Tt.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`?P(e).localeCompare(P(t))*f:r===`lastSeen`?(new Date(t.lastSeen).getTime()-new Date(e.lastSeen).getTime())*f||P(e).localeCompare(P(t)):r===`created`?(new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime())*f||P(e).localeCompare(P(t)):((fn[e.status]??9)-(fn[t.status]??9))*f||P(e).localeCompare(P(t)))},[e,t,n,l,r,i,a,o,s,c,u,Dt()])}function yl(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 bl(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`||wn(n,e));case`paired`:return e.filter(e=>!!r[e.id]);case`unpaired`:return e.filter(e=>!r[e.id]);default:return Nt().includes(t)?e.filter(e=>hn(e)===t):e}}function xl(){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),a=W(e=>e.coordinatorMutes);return(0,B.useMemo)(()=>{let o=new Map;for(let t of e){if(Ut(t))continue;let e=Tn(t);e&&(o.has(e)||o.set(e,{id:e,peer:e,messages:[],lastMessage:null,previewMessage:null,attention:{unread:0,needsHumanResponse:!1,score:0},archived:!1,draft:``}),o.get(e).messages.push(t))}for(let e of o.values()){e.messages.sort((e,t)=>e.id-t.id),e.lastMessage=e.messages[e.messages.length-1]||null;let o=null;for(let t=e.messages.length-1;t>=0;t--){let n=e.messages[t];if(n&&!Ht(n)){o=n;break}}e.previewMessage=o||e.lastMessage;let s=a.includes(e.peer),c=s?0:e.messages.filter(n=>Jt(t,e.peer,n)).length,l=s?!1:yn(i[e.peer]);e.attention={unread:c,needsHumanResponse:l,score:c*10+(l?8:0)};let u=Number(n[e.peer]||0);e.archived=!!(e.lastMessage?.id&&u>=e.lastMessage.id),e.draft=r[e.peer]||``}return[...o.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,a])}function Sl(){let e=xl(),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,B.useMemo)(()=>new Set(tn(t,n,i).filter(e=>r||e.status!==`offline`).map(e=>e.id)),[t,n,r,i]);return(0,B.useMemo)(()=>{let l=e.filter(e=>!e.archived&&c.has(e.peer)).reduce((e,t)=>e+(t.attention.unread||0),0),u=tn(t,n,i).filter(e=>(r||e.status!==`offline`)&&yn(e)).length,d=a.filter(e=>e.status===`pending`).length,f=o.filter(Cn).length+s.filter(Vt).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 Cl(){let e=W(e=>e.agents),t=W(e=>e.showBuiltIns),n=W(e=>e.managedPolicies);return(0,B.useMemo)(()=>tn(e,t,n).filter(e=>e.status!==`offline`).length,[e,t,n])}function wl(){let e=W(e=>e.agents);return(0,B.useMemo)(()=>e.filter(e=>e.status===`busy`).length,[e])}function Tl(){let e=W(e=>e.agents),t=W(e=>e.showBuiltIns),n=W(e=>e.showOffline),r=W(e=>e.managedPolicies);return(0,B.useMemo)(()=>{let i=tn(e,t,r);return n?i:i.filter(e=>e.status!==`offline`)},[e,t,n,r])}function El(){let e=W(e=>e.agents),t=W(e=>e.showBuiltIns),n=W(e=>e.managedPolicies);return(0,B.useMemo)(()=>[...new Set(tn(e,t,n).map(e=>e.machine).filter(Boolean))].sort(),[e,t,n])}function Dl(){let e=W(e=>e.agents),t=W(e=>e.showBuiltIns),n=W(e=>e.managedPolicies);return(0,B.useMemo)(()=>[...new Set(tn(e,t,n).flatMap(e=>e.tags||[]))],[e,t,n])}function Ol(){let e=W(e=>e.tasks),t=W(e=>e.messages);return(0,B.useMemo)(()=>{let n=e.filter(e=>(e.kind??`claim`)===`claim`).filter(e=>!Xt.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:Cn(e),task:e})),r=t.filter(Vt).map(e=>({id:`message-`+e.id,sourceType:`message`,title:e.subject||`Claimable message #`+e.id,body:dn(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:Vt(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?vn(e.updatedAt)-vn(t.updatedAt):i})},[e,t])}function kl(){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,B.useMemo)(()=>{let n=tn(t,r,a).filter(e=>i||e.status!==`offline`),o=[...new Set(n.flatMap(e=>e.tags||[]))],s=Ke(),c=[Al(`open-chat`,`Open chat`,`Human console`,`MessageCircle`,`openView`,{view:`chat`}),Al(`open-work`,`Open work queue`,`Claimable messages and tasks`,`ListChecks`,`openView`,{view:`work`}),Al(`open-workspaces`,`Open workspaces`,`Agent worktrees and merge state`,`GitBranch`,`openView`,{view:`workspaces`}),Al(`show-stale`,`Show stale agents`,`Filter agents to offline or stale`,`Filter`,`agentPreset`,{preset:`offline_stale`}),Al(`copy-url`,`Copy relay URL`,s,`Copy`,`copy`,{value:s}),Al(`export-md`,`Export timeline as Markdown`,`Activity audit trace`,`FileDown`,`exportActivity`,{format:`markdown`}),Al(`export-json`,`Export timeline as JSON`,`Activity audit trace`,`Braces`,`exportActivity`,{format:`json`}),...n.slice(0,12).map(e=>Al(`msg-`+e.id,`Message agent: `+P(e),e.id,`Send`,`messageAgent`,{agentId:e.id})),...n.filter(e=>e.providerCapabilities?.liveSession?.inject===!0).slice(0,8).map(e=>Al(`pair-`+e.id,`Pair: `+P(e),e.id,`Link`,`pairAgent`,{agentId:e.id})),...o.map(e=>Al(`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 Al(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 jl({className:e,size:t=`default`,...n}){return(0,V.jsx)(ac,{"data-slot":`switch`,"data-size":t,className:j(`peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-primary data-unchecked:bg-input dark:data-unchecked:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50`,e),...n,children:(0,V.jsx)(oc,{"data-slot":`switch-thumb`,className:`pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] dark:data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground`})})}function Ml({className:e,orientation:t=`horizontal`,decorative:n=!0,...r}){return(0,V.jsx)(qs,{"data-slot":`separator`,decorative:n,orientation:t,className:j(`shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch`,e),...r})}function Nl({...e}){return(0,V.jsx)(qo,{"data-slot":`dropdown-menu`,...e})}function Pl({...e}){return(0,V.jsx)(Jo,{"data-slot":`dropdown-menu-trigger`,...e})}function Fl({className:e,align:t=`start`,sideOffset:n=4,...r}){return(0,V.jsx)(Yo,{children:(0,V.jsx)(Xo,{"data-slot":`dropdown-menu-content`,sideOffset:n,align:t,className:j(`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 Il({className:e,inset:t,variant:n=`default`,...r}){return(0,V.jsx)(Qo,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:j(`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 Ll({className:e,inset:t,...n}){return(0,V.jsx)(Zo,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:j(`px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7`,e),...n})}function Rl({className:e,...t}){return(0,V.jsx)($o,{"data-slot":`dropdown-menu-separator`,className:j(`-mx-1 my-1 h-px bg-border`,e),...t})}var zl={LayoutDashboard:_t,MessageCircle:Te,Bot:E,Server:T,MessagesSquare:Ze,Plug:pe,PlugZap:O,Activity:je,Link:we,Mail:Oe,ListChecks:Re,ClipboardList:ke,CalendarClock:C,AreaChart:We,Settings:c,Workflow:st,BrainCircuit:p,FolderTree:S,Shield:mt,Wrench:Qe,UserCog:$e,Lightbulb:Ee,Users:ft,Boxes:x,PackagePlus:be,FileText:_e};function G(e){return new Date(e.createdAt).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`})}var Bl=[[`messages`,`Messages`],[`replies`,`Replies`],[`errors`,`Errors`]];function K(){let e=M(e=>e.notifications),t=M(e=>e.notificationUnread),n=M(e=>e.notificationSettings),r=M(e=>e.notificationPermission),i=M(e=>e.set),a=M(e=>e.openNotification),s=M(e=>e.markNotificationsRead),c=M(e=>e.clearNotifications),u=M(e=>e.requestBrowserNotifications),d=t>0?me:o;function f(e){i({notificationSettings:{...n,...e}})}return(0,V.jsxs)(Nl,{onOpenChange:e=>{e&&s()},children:[(0,V.jsx)(Pl,{asChild:!0,children:(0,V.jsxs)(`button`,{className:`relative flex items-center gap-2 text-muted-foreground hover:text-foreground transition-colors w-full`,children:[(0,V.jsx)(d,{className:`w-3.5 h-3.5`}),(0,V.jsx)(`span`,{children:`Notifications`}),t>0&&(0,V.jsx)(I,{variant:`destructive`,className:`ml-auto text-[10px] px-1.5 py-0`,children:t})]})}),(0,V.jsxs)(Fl,{align:`start`,side:`right`,className:`w-80 p-2`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-2 px-1.5 py-1`,children:[(0,V.jsx)(Ll,{className:`p-0`,children:`Notifications`}),(0,V.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,V.jsx)(`button`,{type:`button`,title:`Mark read`,onClick:s,className:`rounded p-1 text-muted-foreground hover:bg-accent hover:text-foreground`,children:(0,V.jsx)(l,{className:`h-3.5 w-3.5`})}),(0,V.jsx)(`button`,{type:`button`,title:`Clear`,onClick:c,className:`rounded p-1 text-muted-foreground hover:bg-accent hover:text-foreground`,children:(0,V.jsx)(Fe,{className:`h-3.5 w-3.5`})})]})]}),(0,V.jsxs)(`div`,{className:`px-1.5 py-1.5 space-y-2`,children:[(0,V.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-xs`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:`In-app notifications`}),(0,V.jsx)(jl,{size:`sm`,checked:n.enabled,onCheckedChange:e=>f({enabled:e})})]}),(0,V.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-xs`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:`Browser notifications`}),(0,V.jsx)(jl,{size:`sm`,checked:n.browserEnabled&&r===`granted`,disabled:r===`unsupported`,onCheckedChange:e=>{e&&r!==`granted`?u():f({browserEnabled:e})}})]}),(0,V.jsx)(`div`,{className:`grid grid-cols-3 gap-1`,children:Bl.map(([e,t])=>(0,V.jsx)(`button`,{type:`button`,onClick:()=>f({[e]:!n[e]}),className:j(`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,V.jsx)(Rl,{}),(0,V.jsx)(`div`,{className:`max-h-80 overflow-y-auto`,children:e.length===0?(0,V.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,V.jsxs)(Il,{onSelect:t=>{t.preventDefault(),a(e)},className:`flex flex-col items-start gap-0.5 px-2 py-2`,children:[(0,V.jsxs)(`div`,{className:`flex w-full items-center gap-2`,children:[(0,V.jsx)(`span`,{className:j(`h-1.5 w-1.5 rounded-full`,e.severity===`error`?`bg-red-400`:e.severity===`warning`?`bg-yellow-400`:`bg-blue-400`)}),(0,V.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs font-medium`,children:e.title}),(0,V.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:G(e)})]}),(0,V.jsx)(`span`,{className:`line-clamp-2 text-xs text-muted-foreground`,children:e.body}),e.routing?.reason&&(0,V.jsxs)(`span`,{className:`line-clamp-1 text-[10px] text-muted-foreground/80`,children:[`routed because `,e.routing.reason]})]},e.id))})]})]})}function q(){let e=M(e=>e.theme),t=M(e=>e.set);return(0,V.jsxs)(Nl,{children:[(0,V.jsx)(Pl,{asChild:!0,children:(0,V.jsxs)(`button`,{className:`flex items-center gap-2 text-muted-foreground hover:text-foreground transition-colors w-full`,children:[(0,V.jsx)(ve,{className:`w-3.5 h-3.5`}),(0,V.jsx)(`span`,{children:`Theme`}),(0,V.jsx)(`span`,{className:`ml-auto text-[10px] text-muted-foreground`,children:Dn.find(t=>t.id===e)?.label})]})}),(0,V.jsx)(Fl,{align:`start`,side:`right`,className:`w-40`,children:Dn.map(n=>(0,V.jsxs)(Il,{onSelect:()=>t({theme:n.id}),children:[(0,V.jsx)(`span`,{className:`flex-1`,children:n.label}),e===n.id&&(0,V.jsx)(f,{className:`w-3.5 h-3.5 text-primary`})]},n.id))})]})}function J(){let e=M(e=>e.view),t=M(e=>e.switchView),n=M(e=>e.connected),r=M(e=>e.showOffline),i=M(e=>e.showBuiltIns),a=M(e=>e.autoRefresh),o=M(e=>e.stats),s=M(e=>e.openCommandPalette),c=M(e=>e.set),l=M(e=>e.startAutoRefresh),u=M(e=>e.stopAutoRefresh),d=Sl(),f=Cl();function p(e){return e===`overview`&&d.total>0?(0,V.jsx)(I,{variant:`destructive`,className:`ml-auto text-[10px] px-1.5 py-0`,children:d.total}):e===`chat`&&d.unreadInbox>0?(0,V.jsx)(I,{variant:`destructive`,className:`ml-auto text-[10px] px-1.5 py-0`,children:d.unreadInbox}):e===`agents`?(0,V.jsx)(I,{variant:`secondary`,className:`ml-auto text-[10px] px-1.5 py-0`,children:f}):e===`pairs`&&d.pendingPairInvites>0?(0,V.jsx)(I,{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,V.jsx)(I,{className:`ml-auto text-[10px] px-1.5 py-0 bg-yellow-500/20 text-yellow-400`,children:d.claimableTasks}):null}return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`nav`,{className:`flex-1 overflow-y-auto py-2 px-2`,children:gn.map(n=>{let r=zl[n.icon]||E;return(0,V.jsxs)(`button`,{onClick:()=>t(n.key),className:j(`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,V.jsx)(r,{className:`w-4 h-4 shrink-0`}),n.label,p(n.key)]},n.key)})}),(0,V.jsxs)(`div`,{className:`mt-auto border-t border-border p-4 space-y-3 text-xs`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`span`,{className:j(`w-2 h-2 rounded-full`,n?`bg-emerald-500`:`bg-red-500 animate-pulse`)}),(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:n?`Live`:`Reconnecting...`})]}),(0,V.jsxs)(`button`,{onClick:s,className:`flex items-center gap-2 text-muted-foreground hover:text-foreground transition-colors w-full`,children:[(0,V.jsx)(ct,{className:`w-3.5 h-3.5`}),(0,V.jsx)(`span`,{children:`Command palette`}),(0,V.jsx)(`kbd`,{className:`ml-auto text-[10px] bg-muted px-1.5 py-0.5 rounded`,children:`⌘K`})]}),(0,V.jsx)(K,{}),(0,V.jsx)(q,{}),(0,V.jsx)(Ml,{}),(0,V.jsxs)(`label`,{className:`flex items-center justify-between cursor-pointer`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:`Show offline`}),(0,V.jsx)(jl,{checked:r,onCheckedChange:e=>c({showOffline:e})})]}),(0,V.jsxs)(`label`,{className:`flex items-center justify-between cursor-pointer`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:`System agents`}),(0,V.jsx)(jl,{checked:i,onCheckedChange:e=>c({showBuiltIns:e})})]}),(0,V.jsxs)(`label`,{className:`flex items-center justify-between cursor-pointer`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:`Auto refresh`}),(0,V.jsx)(jl,{checked:a,onCheckedChange:e=>{c({autoRefresh:e}),e?l():u()}})]}),o.version&&(0,V.jsxs)(`div`,{className:`text-muted-foreground pt-1`,children:[`v`,o.version]})]})]})}function Vl(){return(0,V.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,V.jsxs)(`div`,{className:`px-5 py-4 font-bold text-base border-b border-border flex items-center gap-2`,children:[(0,V.jsx)(bt,{className:`w-4 h-4 text-primary`}),`Agent Relay`]}),(0,V.jsx)(J,{})]})}function Hl(){let e=M(e=>e.mobileMenuOpen),t=M(e=>e.set);return(0,B.useEffect)(()=>{if(!e)return;function n(e){e.key===`Escape`&&t({mobileMenuOpen:!1})}return window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[e]),(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`div`,{className:j(`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,V.jsxs)(`aside`,{inert:!e,className:j(`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,V.jsxs)(`div`,{className:`px-5 py-4 font-bold text-base border-b border-border flex items-center gap-2`,children:[(0,V.jsx)(bt,{className:`w-4 h-4 text-primary`}),`Agent Relay`,(0,V.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,V.jsx)(k,{className:`w-4 h-4`})})]}),(0,V.jsx)(J,{})]})]})}var Ul=500*1024,Wl={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`},Gl={".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`},Kl=null;function ql(){return Kl??=z(()=>import(`./bundle-web-DhRGKIGF.js`),__vite__mapDeps([0,1,2,3]),import.meta.url),Kl}function Jl(e){return new TextEncoder().encode(e).length}function Yl(e){return e.split(`/`).filter(Boolean).pop()||e}function Xl(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 Zl(e,t,n,r){if(n)return n;let i=Yl(e).toLowerCase();if(Gl[i])return Gl[i];if(i.endsWith(`.d.ts`))return`typescript`;let a=Xl(r);if(a)return a;let o=i.includes(`.`)?i.slice(i.lastIndexOf(`.`)+1):``;return o&&Wl[o]?Wl[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 Ql(e,t,n,r){let i=Zl(e,t,n,r);return!!(i&&i!==`text`&&i!==`log`)}var $l=(0,B.memo)(function({content:e,path:t,mediaType:n,languageHint:r,compact:i=!1}){let a=M(e=>e.theme),o=Dn.find(e=>e.id===a)?.dark??!0,s=(0,B.useMemo)(()=>Zl(t,n,r,e)||`text`,[e,r,n,t]),c=Jl(e)>Ul,[l,u]=(0,B.useState)(``),[d,f]=(0,B.useState)(!1),[p,m]=(0,B.useState)(!1);function h(){return(0,V.jsx)(ir,{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,B.useEffect)(()=>{if(c||s===`text`||s===`log`){u(``),f(!1),m(!1);return}let t=!1;return f(!0),m(!1),ql().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,V.jsxs)(`div`,{className:`flex items-center gap-2 p-4 text-sm text-muted-foreground`,children:[(0,V.jsx)(Je,{className:`h-4 w-4 animate-spin`}),`Highlighting`]}):c||p||!l?(0,V.jsxs)(`div`,{className:`group/code relative`,children:[h(),(0,V.jsx)(`pre`,{className:`overflow-auto whitespace-pre-wrap break-words font-mono text-xs leading-5 ${i?`p-3`:`p-4`}`,children:e||` `})]}):(0,V.jsxs)(`div`,{className:`group/code relative`,children:[h(),(0,V.jsx)(`div`,{className:`code-preview overflow-auto font-mono text-xs leading-5 ${i?`p-3`:`p-4`}`,dangerouslySetInnerHTML:{__html:l}})]})}),eu=(0,B.lazy)(()=>z(()=>import(`./markdown-preview-impl-DMzFE-Lo.js`).then(e=>({default:e.MarkdownPreview})),__vite__mapDeps([4,5,1,3,6]),import.meta.url));function tu(e){return(0,V.jsx)(B.Suspense,{fallback:(0,V.jsx)(`div`,{className:`p-4 text-sm text-muted-foreground`,children:`Loading preview…`}),children:(0,V.jsx)(eu,{...e})})}var nu=e(Ct(),1);function ru({src:e,alt:t,onClose:n}){let[r,i]=(0,B.useState)(!1);return(0,B.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,V.jsxs)(`div`,{className:`fixed inset-0 z-[100] flex flex-col bg-black/95`,children:[(0,V.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-2 p-2`,children:[(0,V.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,V.jsx)(Ye,{className:`h-4 w-4`}):(0,V.jsx)(it,{className:`h-4 w-4`})}),(0,V.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,V.jsx)(k,{className:`h-4 w-4`})})]}),(0,V.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,V.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 iu({src:e,alt:t=``,className:n,style:r}){let[i,a]=(0,B.useState)(!1);return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`img`,{src:e,alt:t,className:`${n||``} cursor-zoom-in`,style:r,onClick:()=>a(!0)}),i&&(0,nu.createPortal)((0,V.jsx)(ru,{src:e,alt:t,onClose:()=>a(!1)}),document.body)]})}var au=`agent-relay:file-git-status`;function ou(){try{return window.localStorage.getItem(au)!==`off`}catch{return!0}}function su(e){try{window.localStorage.setItem(au,e?`on`:`off`)}catch{}}function cu(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 lu(e,t,n){let r=`/orchestrators/${encodeURIComponent(e)}/files/list?path=${encodeURIComponent(t)}`;return n?`${r}&git=1`:r}function uu({status:e}){let t=cu(e);return t?(0,V.jsx)(`span`,{className:`h-1.5 w-1.5 shrink-0 rounded-full ${t.dot}`,title:t.label}):null}function du(e){return e===void 0?``:e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`}function fu(e,t){let n=t.replace(/\/+$/,``);return e===n?`/`:e.startsWith(n+`/`)?e.slice(n.length+1):e}function pu(e,t){let n=e.toLowerCase();return n.endsWith(`.md`)||n.endsWith(`.mdx`)||n.endsWith(`.markdown`)||t===`text/markdown`}function mu(e,t,n){return pu(e,t)?`markdown`:Ql(e,t,void 0,n)?`code`:null}function hu(e){return`agent-relay:file-view-mode:${e}`}function gu(e){try{let t=window.localStorage.getItem(hu(e));return t===`raw`||t===`rendered`?t:`rendered`}catch{return`rendered`}}function _u(e,t){try{window.localStorage.setItem(hu(e),t)}catch{}}function vu(e,t){let n=fu(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 yu(e,t){let n=M(e=>e.apiCall),[r,i]=(0,B.useState)(null),[a,o]=(0,B.useState)(!1),[s,c]=(0,B.useState)(``);return(0,B.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(Mt(e)))}).finally(()=>{r||o(!1)}),()=>{r=!0}},[n,e,t]),{file:r,loading:a,error:s}}function bu(e,t,n=!1){let r=M(e=>e.apiCall),[i,a]=(0,B.useState)(null),[o,s]=(0,B.useState)(!1),[c,l]=(0,B.useState)(``);return(0,B.useEffect)(()=>{if(!e||!t){a(null),l(``);return}let i=!1;return s(!0),l(``),r(`GET`,lu(e,t,n)).then(e=>{i||a(e)}).catch(e=>{i||(a(null),l(Mt(e)))}).finally(()=>{i||s(!1)}),()=>{i=!0}},[r,e,t,n]),{listing:i,loading:o,error:c}}function xu({content:e,line:t,lineRef:n}){return(0,V.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,V.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,V.jsx)(`div`,{className:`select-none pr-2 text-right text-muted-foreground sm:pr-3`,children:i}),(0,V.jsx)(`pre`,{className:`overflow-hidden whitespace-pre-wrap break-words`,children:e||` `})]},i)})})}function Su({orchestratorId:e,selectedPath:t,onReadError:n,git:r=!1}){let{listing:i,loading:a,error:o}=bu(e,t,r);return(0,B.useEffect)(()=>{n(o)},[o,n]),t?a?(0,V.jsxs)(`div`,{className:`flex h-full items-center justify-center gap-2 text-sm text-muted-foreground`,children:[(0,V.jsx)(Je,{className:`h-4 w-4 animate-spin`}),`Loading directory`]}):o?(0,V.jsx)(`div`,{className:`h-full bg-muted/20`}):i?(0,V.jsxs)(`div`,{className:`h-full overflow-auto bg-muted/20`,children:[(0,V.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,V.jsx)(_,{className:`h-3.5 w-3.5 text-blue-400`}),(0,V.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono`,children:i.path}),(0,V.jsxs)(I,{variant:`outline`,className:`text-[10px]`,children:[i.entries.length,` items`]})]}),(0,V.jsxs)(`div`,{className:`divide-y divide-border/60`,children:[i.entries.map(e=>{let t=e.type===`directory`?_:fe,n=cu(e.gitStatus);return(0,V.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 text-sm`,children:[(0,V.jsx)(t,{className:`h-4 w-4 shrink-0 ${e.type===`directory`?`text-blue-400`:`text-muted-foreground`}`}),(0,V.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-xs ${n?.text??``}`,children:e.name}),e.symlink&&(0,V.jsx)(pt,{className:`h-3 w-3 shrink-0 text-muted-foreground/60`}),(0,V.jsx)(uu,{status:e.gitStatus}),e.type!==`directory`&&(0,V.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:du(e.size)})]},e.path)}),i.entries.length===0&&(0,V.jsx)(`div`,{className:`px-3 py-8 text-center text-sm text-muted-foreground`,children:`No files`})]})]}):null:(0,V.jsx)(`div`,{className:`flex h-full items-center justify-center text-sm text-muted-foreground`,children:`Select a directory to preview`})}function Cu({orchestratorId:e,selectedPath:t,line:n,onReadError:r}){let{file:i,loading:a,error:o}=yu(e,t),s=(0,B.useRef)(null),[c,l]=(0,B.useState)(`raw`);(0,B.useEffect)(()=>{r(o)},[o,r]),(0,B.useEffect)(()=>{n>0&&s.current?.scrollIntoView({block:`center`})},[i,n]),(0,B.useEffect)(()=>{if(!i||i.encoding===`binary`)return;if(n>0){l(`raw`);return}let e=mu(i.path,i.mediaType,i.content);l(e?gu(e):`raw`)},[i?.path,i?.encoding,i?.mediaType,i?.content,n]);function u(e,t){l(e),t&&_u(t,e)}if(!t)return(0,V.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,V.jsxs)(`div`,{className:`flex h-full items-center justify-center gap-2 text-sm text-muted-foreground`,children:[(0,V.jsx)(Je,{className:`h-4 w-4 animate-spin`}),`Loading file`]});if(o)return(0,V.jsx)(`div`,{className:`h-full bg-muted/20`});if(!i)return null;if(i.encoding===`base64`)return(0,V.jsxs)(`div`,{className:`flex h-full flex-col bg-muted/20`,children:[(0,V.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,V.jsx)(fe,{className:`h-3.5 w-3.5 text-muted-foreground`}),(0,V.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono`,children:i.path}),(0,V.jsx)(ir,{value:i.path,label:`Copy path`,copiedLabel:`Copied path`,size:`icon`,variant:`ghost`,className:`h-7 w-7 shrink-0`}),(0,V.jsx)(I,{variant:`outline`,className:`text-[10px]`,children:du(i.size)})]}),(0,V.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center overflow-auto p-4`,children:(0,V.jsx)(iu,{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,V.jsxs)(`div`,{className:`p-4 text-sm`,children:[(0,V.jsx)(`div`,{className:`font-medium`,children:i.name}),(0,V.jsx)(`div`,{className:`mt-1 text-muted-foreground`,children:i.truncated?`File too large to preview.`:`Binary file preview is not available.`}),(0,V.jsxs)(`div`,{className:`mt-3 flex gap-2`,children:[(0,V.jsx)(I,{variant:`secondary`,children:i.mediaType}),(0,V.jsx)(I,{variant:`outline`,children:du(i.size)})]})]});let d=i.content??``,f=pu(i.path,i.mediaType),p=!f&&Ql(i.path,i.mediaType,void 0,d),m=f||p,h=f?`markdown`:p?`code`:null;return(0,V.jsxs)(`div`,{className:`h-full overflow-auto bg-muted/20`,children:[(0,V.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,V.jsx)(fe,{className:`h-3.5 w-3.5 text-muted-foreground`}),(0,V.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono`,children:i.path}),(0,V.jsx)(ir,{value:i.path,label:`Copy path`,copiedLabel:`Copied path`,size:`icon`,variant:`ghost`,className:`h-7 w-7 shrink-0`}),i.truncated&&(0,V.jsx)(I,{variant:`secondary`,className:`text-[10px]`,children:`truncated`}),(0,V.jsx)(I,{variant:`outline`,className:`text-[10px]`,children:du(i.size)}),m&&(0,V.jsxs)(`div`,{className:`flex shrink-0 rounded-md border border-border bg-muted/40 p-0.5`,children:[(0,V.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,V.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,V.jsx)(tu,{content:d,path:i.path}),c===`rendered`&&p&&(0,V.jsx)($l,{content:d,path:i.path,mediaType:i.mediaType}),c===`raw`&&(0,V.jsx)(xu,{content:d,line:n,lineRef:s})]})}function wu({overlay:e=!1}){let t=M(e=>e.apiCall),n=M(e=>e.orchestrators),r=M(e=>e.fileOrchestratorId),i=M(e=>e.filePath),a=M(e=>e.fileSelectedPath),o=M(e=>e.fileSelectedLine),s=M(e=>e.set),c=M(e=>e.closeFileOverlay),l=M(e=>e.openOrchestratorSpawnAt),[u,d]=(0,B.useState)(null),[f,p]=(0,B.useState)(i),[m,g]=(0,B.useState)(!1),[v,y]=(0,B.useState)(``),[b,x]=(0,B.useState)(``),[C,ee]=(0,B.useState)(ou),w=(0,B.useMemo)(()=>n.filter(e=>e.status===`online`),[n]),T=n.find(e=>e.id===r)||w[0];(0,B.useEffect)(()=>{if(!T)return;let e={};r||(e.fileOrchestratorId=T.id),i||(e.filePath=T.baseDir),Object.keys(e).length&&s(e)},[r,i,T,s]),(0,B.useEffect)(()=>p(i),[i]);async function ne(e=i){if(!(!T||!e)){g(!0),y(``);try{let n=await t(`GET`,lu(T.id,e,C));d(n),s({filePath:n.path}),p(n.path),x(``)}catch(e){y(Mt(e))}finally{g(!1)}}}(0,B.useEffect)(()=>{ne(i)},[T?.id,i,C]);function re(e){ee(e),su(e)}function ie(e){s({fileOrchestratorId:e,filePath:n.find(t=>t.id===e)?.baseDir||``,fileSelectedPath:``,fileSelectedLine:0})}function ae(e){x(``),e.type===`directory`?s({filePath:e.path,fileSelectedPath:``,fileSelectedLine:0}):s({fileSelectedPath:e.path,fileSelectedLine:0})}function E(){if(!T)return;let t=f.trim()||i||T.baseDir;e&&c(),l({orchestratorId:T.id,cwd:t})}let D=u?vu(u.path,u.baseDir):[],se=v||b;return(0,V.jsxs)(`div`,{className:e?`flex h-full flex-col`:`flex h-[calc(100dvh-5rem)] flex-col gap-3 md:gap-4`,children:[(0,V.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 ${a?`hidden md:flex`:``}`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2 text-lg font-semibold`,children:[(0,V.jsx)(S,{className:`h-5 w-5 text-primary`}),`Files`]}),(0,V.jsxs)(`select`,{value:T?.id||``,onChange:e=>ie(e.target.value),className:`h-9 rounded-md border border-input bg-background px-3 text-sm`,children:[w.length===0&&(0,V.jsx)(`option`,{value:``,children:`No online orchestrators`}),w.map(e=>(0,V.jsx)(`option`,{value:e.id,children:e.hostname||e.id},e.id))]}),e&&(0,V.jsx)(L,{size:`icon`,variant:`ghost`,className:`ml-auto h-8 w-8`,onClick:c,title:`Close`,children:(0,V.jsx)(k,{className:`h-4 w-4`})})]}),(0,V.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 ${a?`hidden md:flex`:``}`,children:[(0,V.jsx)(R,{value:f,onChange:e=>p(e.target.value),onKeyDown:e=>{e.key===`Enter`&&s({filePath:f,fileSelectedPath:``,fileSelectedLine:0})},className:`min-w-0 flex-1 basis-full font-mono text-xs sm:basis-auto`,placeholder:T?.baseDir||`Path`}),(0,V.jsxs)(L,{size:`sm`,variant:`outline`,className:`gap-1`,onClick:()=>ne(f),disabled:m||!T,children:[m?(0,V.jsx)(Je,{className:`h-3.5 w-3.5 animate-spin`}):(0,V.jsx)(oe,{className:`h-3.5 w-3.5`}),`Open`]}),(0,V.jsxs)(L,{size:`sm`,className:`gap-1`,onClick:E,disabled:!T,children:[(0,V.jsx)(h,{className:`h-3.5 w-3.5`}),(0,V.jsx)(`span`,{className:`sm:hidden`,children:`Spawn`}),(0,V.jsx)(`span`,{className:`hidden sm:inline`,children:`Spawn from here`})]}),(0,V.jsxs)(`label`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground`,title:`Show git status colors`,children:[(0,V.jsx)(te,{className:`h-3.5 w-3.5`}),(0,V.jsx)(`span`,{className:`hidden sm:inline`,children:`Git`}),(0,V.jsx)(jl,{checked:C,onCheckedChange:re})]})]}),D.length>0&&(0,V.jsx)(`div`,{className:`flex flex-wrap items-center gap-1 text-xs text-muted-foreground ${a?`hidden md:flex`:``}`,children:D.map((e,t)=>(0,V.jsxs)(`button`,{type:`button`,className:`rounded px-1.5 py-0.5 font-mono hover:bg-accent hover:text-foreground`,onClick:()=>s({filePath:e.path,fileSelectedPath:``,fileSelectedLine:0}),children:[e.label,t<D.length-1&&e.label!==`/`?` /`:``]},`${e.path}-${t}`))}),se&&(0,V.jsx)(`div`,{className:`rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-sm text-destructive`,children:se}),(0,V.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,V.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:[u?.parent&&(0,V.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 px-3 py-2 text-left text-sm hover:bg-accent`,onClick:()=>s({filePath:u.parent,fileSelectedPath:``,fileSelectedLine:0}),children:[(0,V.jsx)(Ve,{className:`h-4 w-4 text-muted-foreground`}),(0,V.jsx)(`span`,{children:`Parent directory`})]}),u?.entries.map(e=>{let t=a===e.path||i===e.path,n=e.type===`directory`?_:fe,r=cu(e.gitStatus);return(0,V.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:()=>ae(e),children:[(0,V.jsx)(n,{className:`h-4 w-4 shrink-0 ${e.type===`directory`?`text-blue-400`:`text-muted-foreground`}`}),(0,V.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-xs ${r?.text??``}`,children:e.name}),e.symlink&&(0,V.jsx)(pt,{className:`h-3 w-3 shrink-0 text-muted-foreground/60`}),(0,V.jsx)(uu,{status:e.gitStatus}),e.type!==`directory`&&(0,V.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:du(e.size)})]},e.path)}),!m&&u&&u.entries.length===0&&(0,V.jsx)(`div`,{className:`px-3 py-8 text-center text-sm text-muted-foreground`,children:`No files`})]}),(0,V.jsxs)(`div`,{className:`flex min-h-0 flex-col overflow-hidden ${a?``:`hidden md:flex`}`,children:[(0,V.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:()=>s({fileSelectedPath:``,fileSelectedLine:0}),children:[(0,V.jsx)(Ve,{className:`h-3.5 w-3.5`}),`Back to files`]}),(0,V.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,V.jsx)(Cu,{orchestratorId:T?.id||``,selectedPath:a,line:o,onReadError:x})})]})]})]})}function Tu(){return(0,V.jsx)(wu,{})}function Eu(){return M(e=>e.fileOverlayOpen)?(0,V.jsx)(`div`,{className:`fixed inset-0 z-50 bg-background/80 backdrop-blur-sm`,children:(0,V.jsx)(`div`,{className:`absolute inset-4 overflow-hidden rounded-md border border-border bg-background p-4 shadow-xl`,children:(0,V.jsx)(wu,{overlay:!0})})}):null}var Du=!1;function Ou(e,t){let n=B.useRef(!1),r=B.useRef(t);r.current=t,B.useEffect(()=>{if(!e||!r.current)return;Du=!1,window.history.pushState({sheetGuard:!0},``),n.current=!0;function t(){if(Du){Du=!1;return}n.current&&(n.current=!1,r.current?.(!1))}return window.addEventListener(`popstate`,t),()=>{window.removeEventListener(`popstate`,t),n.current&&(n.current=!1,Du=!0,window.history.back())}},[e])}function ku({...e}){return Ou(e.open,e.onOpenChange),(0,V.jsx)(ii,{"data-slot":`sheet`,...e})}function Au({...e}){return(0,V.jsx)(ui,{"data-slot":`sheet-close`,...e})}function ju({...e}){return(0,V.jsx)(ai,{"data-slot":`sheet-portal`,...e})}function Mu({className:e,...t}){return(0,V.jsx)(oi,{"data-slot":`sheet-overlay`,className:j(`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 Nu({className:e,children:t,side:n=`right`,showCloseButton:r=!0,...i}){return(0,V.jsxs)(ju,{children:[(0,V.jsx)(Mu,{}),(0,V.jsxs)(si,{"data-slot":`sheet-content`,"data-side":n,className:j(`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,V.jsx)(ui,{"data-slot":`sheet-close`,asChild:!0,children:(0,V.jsxs)(L,{variant:`ghost`,className:`absolute top-3 right-3`,size:`icon-sm`,children:[(0,V.jsx)(k,{}),(0,V.jsx)(`span`,{className:`sr-only`,children:`Close`})]})})]})]})}function Pu({className:e,...t}){return(0,V.jsx)(`div`,{"data-slot":`sheet-header`,className:j(`flex flex-col gap-0.5 p-4`,e),...t})}function Fu({className:e,...t}){return(0,V.jsx)(ci,{"data-slot":`sheet-title`,className:j(`font-heading text-base font-medium text-foreground`,e),...t})}function Iu({className:e,orientation:t=`horizontal`,...n}){return(0,V.jsx)(Sc,{"data-slot":`tabs`,"data-orientation":t,className:j(`group/tabs flex gap-2 data-horizontal:flex-col`,e),...n})}var Lu=Mn(`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 Ru({className:e,variant:t=`default`,...n}){return(0,V.jsx)(Cc,{"data-slot":`tabs-list`,"data-variant":t,className:j(Lu({variant:t}),e),...n})}function zu({className:e,...t}){return(0,V.jsx)(wc,{"data-slot":`tabs-trigger`,className:j(`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 Bu({className:e,...t}){return(0,V.jsx)(Tc,{"data-slot":`tabs-content`,className:j(`flex-1 text-sm outline-none`,e),...t})}function Vu({agent:e,now:t,className:n}){return(0,V.jsx)(`span`,{className:j(`inline-block w-2.5 h-2.5 rounded-full shrink-0`,Wt(e,t),n)})}function Hu({agent:e,compact:t=!1}){let n=Zu(e);return n.length===0?null:(0,V.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:n.slice(0,t?4:void 0).map(e=>(0,V.jsx)(I,{variant:`outline`,className:`text-[9px] px-1 py-0 h-4`,children:e},e))})}function Uu({agent:e,compact:t=!1,className:n=``}){let r=Gu(e);return(0,V.jsx)(`div`,{className:`flex flex-wrap items-center gap-1 ${n}`,children:r.map(e=>{let n=e.Icon;return(0,V.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,V.jsx)(n,{className:`h-3 w-3 shrink-0`}),!t&&(0,V.jsx)(`span`,{children:e.label})]},e.key)})})}function Wu({agent:e}){let t=e.context;if(!t)return null;let n=ed(t);if(n===null)return(0,V.jsxs)(`div`,{className:`space-y-1`,title:td(t),children:[(0,V.jsxs)(`div`,{className:`flex justify-between text-[10px] text-muted-foreground`,children:[(0,V.jsx)(`span`,{children:`collecting`}),(0,V.jsx)(`span`,{children:`--`})]}),(0,V.jsx)(`div`,{className:`h-1.5 rounded-full bg-muted overflow-hidden`,children:(0,V.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,V.jsxs)(`div`,{className:`space-y-1`,title:td(t),children:[(0,V.jsxs)(`div`,{className:`flex justify-between text-[10px] text-muted-foreground`,children:[(0,V.jsx)(`span`,{children:t.lifecycleState}),(0,V.jsxs)(`span`,{children:[r,`%`]})]}),(0,V.jsx)(`div`,{className:`h-1.5 rounded-full bg-muted overflow-hidden`,children:(0,V.jsx)(`div`,{className:`h-full ${i}`,style:{width:`${Math.max(0,Math.min(100,r))}%`}})})]})}function Gu(e){let t=Ku(e),n=Y(e),r=qu(e);return[{key:`origin`,label:t?`Relay`:`External`,title:t?`Agent Relay spawned this agent`:`Externally started agent registered with Agent Relay`,Icon:t?g:w,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 Ku(e){return typeof e.meta?.spawnRequestId==`string`||typeof e.meta?.policyName==`string`||typeof e.meta?.automationRunId==`string`}function Y(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:tt,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:ye,className:`border-blue-500/30 bg-blue-500/10 text-blue-300`}:{key:`approval`,label:`Guarded`,title:`Approval mode: guarded`,Icon:Pe,className:`border-amber-500/30 bg-amber-500/10 text-amber-300`}}function qu(e){let t=Ju(e.meta?.workspace),n=Ft(t.requestedMode)||Ft(e.meta?.workspaceMode),r=Ft(t.mode),i=n&&n!==`inherit`?n:r&&n!==`inherit`?r:`default`;return i===`isolated`?{key:`workspace`,label:`Isolated`,title:`Workspace: isolated worktree`,Icon:te,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:d,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:ce,iconColor:`text-zinc-400`,className:`border-zinc-500/30 bg-zinc-500/10 text-zinc-300`}}function Ju(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function Yu(e){let t=Ju(e.meta?.workspace),n=Ft(t.repoRoot)||Ft(t.sourceCwd)||Ft(e.meta?.cwd);return n?en(n,2):``}function Xu(e){return!!(e.context||e.providerCapabilities?.context)}function Zu(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=xn(e).length;if(i&&r.push(i===1?`1 subagent`:`${i} subagents`),n){let e=ed(n);r.push(e===null?`ctx collecting`:`${Math.round(e*100)}% ctx`)}return r}function Qu({context:e,expected:t=!!e,size:n=26,className:r}){let i=ed(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,V.jsxs)(`div`,{className:`relative shrink-0 ${u?`opacity-70`:``} ${r??``}`,style:{width:n,height:n},title:td(e),children:[(0,V.jsxs)(`svg`,{width:n,height:n,viewBox:`0 0 ${n} ${n}`,className:`rotate-[-90deg]`,children:[(0,V.jsx)(`circle`,{cx:o,cy:o,r:s,fill:`none`,strokeWidth:a,className:`stroke-muted-foreground/20`}),(0,V.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,V.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 $u(e){let t=e.context;return!t?.tokensUsed&&!t?.tokensMax?null:t.tokensUsed&&t.tokensMax?`${nd(t.tokensUsed)} / ${nd(t.tokensMax)}`:t.tokensUsed?nd(t.tokensUsed):t.tokensMax?nd(t.tokensMax):null}function ed(e){return!e||typeof e.utilization!=`number`||!Number.isFinite(e.utilization)?null:Math.min(1,Math.max(0,e.utilization))}function td(e){if(!e)return`Context: collecting; provider has not reported usage yet`;let t=ed(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 nd(e){return e>=1e6?`${(e/1e6).toFixed(e%1e6==0?0:1)}M`:e>=1e3?`${Math.round(e/1e3)}K`:String(e)}var rd=(0,B.lazy)(()=>z(()=>import(`./terminal-viewer-impl-Aays_e7-.js`).then(e=>({default:e.TerminalDialog})),__vite__mapDeps([7,1,6,8,9,10,11,12,13,14]),import.meta.url));function id(e){return e.open?(0,V.jsx)(B.Suspense,{fallback:null,children:(0,V.jsx)(rd,{...e})}):null}function ad({orchestratorId:e,session:t,lines:n=200}){let r=M(e=>e.apiCall),[i,a]=(0,B.useState)([]),[o,s]=(0,B.useState)(``),[c,l]=(0,B.useState)(!1),[u,d]=(0,B.useState)(`provider`),[f,p]=(0,B.useState)(null);async function m(){if(!c)try{a((await r(`GET`,`/orchestrators/${encodeURIComponent(e)}/logs/${encodeURIComponent(t)}?lines=${n}${u===`mirror`?`&stream=mirror`:``}`)).lines||[]),p(null)}catch(e){p(Mt(e))}}(0,B.useEffect)(()=>{m();let e=setInterval(()=>void m(),1500);return()=>clearInterval(e)},[e,t,c,u]);let h=o?i.filter(e=>e.toLowerCase().includes(o.toLowerCase())):i;return(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,V.jsxs)(`div`,{className:`relative min-w-48 flex-1`,children:[(0,V.jsx)(He,{className:`absolute left-2 top-2.5 h-4 w-4 text-muted-foreground`}),(0,V.jsx)(R,{className:`pl-8`,value:o,onChange:e=>s(e.target.value),placeholder:`Search logs`})]}),(0,V.jsxs)(`div`,{className:`flex rounded-md border border-border overflow-hidden`,children:[(0,V.jsxs)(`button`,{type:`button`,onClick:()=>d(`provider`),title:`Provider output`,className:j(`flex items-center gap-1 px-2 py-1.5 text-xs`,u===`provider`?`bg-accent text-accent-foreground`:`text-muted-foreground hover:bg-accent/50`),children:[(0,V.jsx)(Se,{className:`h-3.5 w-3.5`}),` Output`]}),(0,V.jsxs)(`button`,{type:`button`,onClick:()=>d(`mirror`),title:`Session-mirror diagnostics (clean)`,className:j(`flex items-center gap-1 px-2 py-1.5 text-xs border-l border-border`,u===`mirror`?`bg-accent text-accent-foreground`:`text-muted-foreground hover:bg-accent/50`),children:[(0,V.jsx)(ie,{className:`h-3.5 w-3.5`}),` Mirror`]})]}),(0,V.jsx)(L,{type:`button`,variant:`outline`,size:`icon`,onClick:()=>l(e=>!e),title:c?`Resume logs`:`Pause logs`,children:c?(0,V.jsx)(ge,{className:`h-4 w-4`}):(0,V.jsx)(v,{className:`h-4 w-4`})}),(0,V.jsx)(L,{type:`button`,variant:`outline`,size:`icon`,onClick:()=>_n(`${t}.log`,i.join(`
|
|
14
|
+
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return B.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},ni=`DialogDescriptionWarning`,ri=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${ei(ni).contentName}}.`;return B.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},ii=kr,ai=Fr,oi=Lr,si=Vr,ci=Kr,li=Jr,ui=Xr,di=`rovingFocusGroup.onEntryFocus`,fi={bubbles:!1,cancelable:!0},pi=`RovingFocusGroup`,[mi,hi,gi]=Rn(pi),[_i,vi]=Fn(pi,[gi]),[yi,bi]=_i(pi),xi=B.forwardRef((e,t)=>(0,V.jsx)(mi.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,V.jsx)(mi.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,V.jsx)(Si,{...e,ref:t})})}));xi.displayName=pi;var Si=B.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=B.useRef(null),p=An(t,f),m=Jn(a),[h,g]=zn({prop:o,defaultProp:s??null,onChange:c,caller:pi}),[_,v]=B.useState(!1),y=Yn(l),b=hi(n),x=B.useRef(!1),[S,C]=B.useState(0);return B.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(di,y),()=>e.removeEventListener(di,y)},[y]),(0,V.jsx)(yi,{scope:n,orientation:r,dir:m,loop:i,currentTabStopId:h,onItemFocus:B.useCallback(e=>g(e),[g]),onItemShiftTab:B.useCallback(()=>v(!0),[]),onFocusableItemAdd:B.useCallback(()=>C(e=>e+1),[]),onFocusableItemRemove:B.useCallback(()=>C(e=>e-1),[]),children:(0,V.jsx)(Pn.div,{tabIndex:_||S===0?-1:0,"data-orientation":r,...d,ref:p,style:{outline:`none`,...e.style},onMouseDown:F(e.onMouseDown,()=>{x.current=!0}),onFocus:F(e.onFocus,e=>{let t=!x.current;if(e.target===e.currentTarget&&t&&!_){let t=new CustomEvent(di,fi);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=b().filter(e=>e.focusable);Oi([e.find(e=>e.active),e.find(e=>e.id===h),...e].filter(Boolean).map(e=>e.ref.current),u)}}x.current=!1}),onBlur:F(e.onBlur,()=>v(!1))})})}),Ci=`RovingFocusGroupItem`,wi=B.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=Kn(),l=a||c,u=bi(Ci,n),d=u.currentTabStopId===l,f=hi(n),{onFocusableItemAdd:p,onFocusableItemRemove:m,currentTabStopId:h}=u;return B.useEffect(()=>{if(r)return p(),()=>m()},[r,p,m]),(0,V.jsx)(mi.ItemSlot,{scope:n,id:l,focusable:r,active:i,children:(0,V.jsx)(Pn.span,{tabIndex:d?0:-1,"data-orientation":u.orientation,...s,ref:t,onMouseDown:F(e.onMouseDown,e=>{r?u.onItemFocus(l):e.preventDefault()}),onFocus:F(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:F(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){u.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=Di(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?ki(n,r+1):n.slice(r+1)}setTimeout(()=>Oi(n))}}),children:typeof o==`function`?o({isCurrentTabStop:d,hasTabStop:h!=null}):o})})});wi.displayName=Ci;var Ti={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function Ei(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function Di(e,t,n){let r=Ei(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return Ti[r]}function Oi(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function ki(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var Ai=xi,ji=wi,H=[`Enter`,` `],Mi=[`ArrowDown`,`PageUp`,`Home`],Ni=[`ArrowUp`,`PageDown`,`End`],Pi=[...Mi,...Ni],Fi={ltr:[...H,`ArrowRight`],rtl:[...H,`ArrowLeft`]},Ii={ltr:[`ArrowLeft`],rtl:[`ArrowRight`]},Li=`Menu`,[Ri,zi,Bi]=Rn(Li),[Vi,Hi]=Fn(Li,[Bi,Qn,vi]),Ui=Qn(),Wi=vi(),[Gi,Ki]=Vi(Li),[qi,Ji]=Vi(Li),Yi=e=>{let{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:a,modal:o=!0}=e,s=Ui(t),[c,l]=B.useState(null),u=B.useRef(!1),d=Yn(a),f=Jn(i);return B.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,V.jsx)($n,{...s,children:(0,V.jsx)(Gi,{scope:t,open:n,onOpenChange:d,content:c,onContentChange:l,children:(0,V.jsx)(qi,{scope:t,onClose:B.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})};Yi.displayName=Li;var Xi=`MenuAnchor`,Zi=B.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=Ui(n);return(0,V.jsx)(nr,{...i,...r,ref:t})});Zi.displayName=Xi;var Qi=`MenuPortal`,[$i,ea]=Vi(Qi,{forceMount:void 0}),ta=e=>{let{__scopeMenu:t,forceMount:n,children:r,container:i}=e,a=Ki(Qi,t);return(0,V.jsx)($i,{scope:t,forceMount:n,children:(0,V.jsx)(Bn,{present:n||a.open,children:(0,V.jsx)(Hn,{asChild:!0,container:i,children:r})})})};ta.displayName=Qi;var na=`MenuContent`,[ra,ia]=Vi(na),aa=B.forwardRef((e,t)=>{let n=ea(na,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=Ki(na,e.__scopeMenu),o=Ji(na,e.__scopeMenu);return(0,V.jsx)(Ri.Provider,{scope:e.__scopeMenu,children:(0,V.jsx)(Bn,{present:r||a.open,children:(0,V.jsx)(Ri.Slot,{scope:e.__scopeMenu,children:o.modal?(0,V.jsx)(oa,{...i,ref:t}):(0,V.jsx)(sa,{...i,ref:t})})})})}),oa=B.forwardRef((e,t)=>{let n=Ki(na,e.__scopeMenu),r=B.useRef(null),i=An(t,r);return B.useEffect(()=>{let e=r.current;if(e)return qn(e)},[]),(0,V.jsx)(la,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:F(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),sa=B.forwardRef((e,t)=>{let n=Ki(na,e.__scopeMenu);return(0,V.jsx)(la,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),ca=jn(`MenuContent.ScrollLock`),la=B.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=Ki(na,n),_=Ji(na,n),v=Ui(n),y=Wi(n),b=zi(n),[x,S]=B.useState(null),C=B.useRef(null),ee=An(t,C,g.onContentChange),w=B.useRef(0),te=B.useRef(``),T=B.useRef(0),ne=B.useRef(null),re=B.useRef(`right`),ie=B.useRef(0),ae=m?Un:B.Fragment,oe=m?{as:ca,allowPinchZoom:!0}:void 0,E=e=>{let t=te.current+e,n=b().filter(e=>!e.disabled),r=document.activeElement,i=n.find(e=>e.ref.current===r)?.textValue,a=qa(n.map(e=>e.textValue),t,i),o=n.find(e=>e.textValue===a)?.ref.current;(function e(t){te.current=t,window.clearTimeout(w.current),t!==``&&(w.current=window.setTimeout(()=>e(``),1e3))})(t),o&&setTimeout(()=>o.focus())};B.useEffect(()=>()=>window.clearTimeout(w.current),[]),Gn();let D=B.useCallback(e=>re.current===ne.current?.side&&Ya(e,ne.current?.area),[]);return(0,V.jsx)(ra,{scope:n,searchRef:te,onItemEnter:B.useCallback(e=>{D(e)&&e.preventDefault()},[D]),onItemLeave:B.useCallback(e=>{D(e)||(C.current?.focus(),S(null))},[D]),onTriggerLeave:B.useCallback(e=>{D(e)&&e.preventDefault()},[D]),pointerGraceTimerRef:T,onPointerGraceIntentChange:B.useCallback(e=>{ne.current=e},[]),children:(0,V.jsx)(ae,{...oe,children:(0,V.jsx)(Vn,{asChild:!0,trapped:i,onMountAutoFocus:F(a,e=>{e.preventDefault(),C.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:(0,V.jsx)(Wn,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:l,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,children:(0,V.jsx)(Ai,{asChild:!0,...y,dir:_.dir,orientation:`vertical`,loop:r,currentTabStopId:x,onCurrentTabStopIdChange:S,onEntryFocus:F(c,e=>{_.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,V.jsx)(tr,{role:`menu`,"aria-orientation":`vertical`,"data-state":Ha(g.open),"data-radix-menu-content":``,dir:_.dir,...v,...h,ref:ee,style:{outline:`none`,...h.style},onKeyDown:F(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&&E(e.key));let i=C.current;if(e.target!==i||!Pi.includes(e.key))return;e.preventDefault();let a=b().filter(e=>!e.disabled).map(e=>e.ref.current);Ni.includes(e.key)&&a.reverse(),Ga(a)}),onBlur:F(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(w.current),te.current=``)}),onPointerMove:F(e.onPointerMove,Xa(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)}))})})})})})})});aa.displayName=na;var ua=`MenuGroup`,da=B.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,V.jsx)(Pn.div,{role:`group`,...r,ref:t})});da.displayName=ua;var fa=`MenuLabel`,pa=B.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,V.jsx)(Pn.div,{...r,ref:t})});pa.displayName=fa;var ma=`MenuItem`,ha=`menu.itemSelect`,ga=B.forwardRef((e,t)=>{let{disabled:n=!1,onSelect:r,...i}=e,a=B.useRef(null),o=Ji(ma,e.__scopeMenu),s=ia(ma,e.__scopeMenu),c=An(t,a),l=B.useRef(!1),u=()=>{let e=a.current;if(!n&&e){let t=new CustomEvent(ha,{bubbles:!0,cancelable:!0});e.addEventListener(ha,e=>r?.(e),{once:!0}),Nn(e,t),t.defaultPrevented?l.current=!1:o.onClose()}};return(0,V.jsx)(_a,{...i,ref:c,disabled:n,onClick:F(e.onClick,u),onPointerDown:t=>{e.onPointerDown?.(t),l.current=!0},onPointerUp:F(e.onPointerUp,e=>{l.current||e.currentTarget?.click()}),onKeyDown:F(e.onKeyDown,e=>{let t=s.searchRef.current!==``;n||t&&e.key===` `||H.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});ga.displayName=ma;var _a=B.forwardRef((e,t)=>{let{__scopeMenu:n,disabled:r=!1,textValue:i,...a}=e,o=ia(ma,n),s=Wi(n),c=B.useRef(null),l=An(t,c),[u,d]=B.useState(!1),[f,p]=B.useState(``);return B.useEffect(()=>{let e=c.current;e&&p((e.textContent??``).trim())},[a.children]),(0,V.jsx)(Ri.ItemSlot,{scope:n,disabled:r,textValue:i??f,children:(0,V.jsx)(ji,{asChild:!0,...s,focusable:!r,children:(0,V.jsx)(Pn.div,{role:`menuitem`,"data-highlighted":u?``:void 0,"aria-disabled":r||void 0,"data-disabled":r?``:void 0,...a,ref:l,onPointerMove:F(e.onPointerMove,Xa(e=>{r?o.onItemLeave(e):(o.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:F(e.onPointerLeave,Xa(e=>o.onItemLeave(e))),onFocus:F(e.onFocus,()=>d(!0)),onBlur:F(e.onBlur,()=>d(!1))})})})}),va=`MenuCheckboxItem`,ya=B.forwardRef((e,t)=>{let{checked:n=!1,onCheckedChange:r,...i}=e;return(0,V.jsx)(Da,{scope:e.__scopeMenu,checked:n,children:(0,V.jsx)(ga,{role:`menuitemcheckbox`,"aria-checked":Ua(n)?`mixed`:n,...i,ref:t,"data-state":Wa(n),onSelect:F(i.onSelect,()=>r?.(Ua(n)?!0:!n),{checkForDefaultPrevented:!1})})})});ya.displayName=va;var ba=`MenuRadioGroup`,[xa,Sa]=Vi(ba,{value:void 0,onValueChange:()=>{}}),Ca=B.forwardRef((e,t)=>{let{value:n,onValueChange:r,...i}=e,a=Yn(r);return(0,V.jsx)(xa,{scope:e.__scopeMenu,value:n,onValueChange:a,children:(0,V.jsx)(da,{...i,ref:t})})});Ca.displayName=ba;var wa=`MenuRadioItem`,Ta=B.forwardRef((e,t)=>{let{value:n,...r}=e,i=Sa(wa,e.__scopeMenu),a=n===i.value;return(0,V.jsx)(Da,{scope:e.__scopeMenu,checked:a,children:(0,V.jsx)(ga,{role:`menuitemradio`,"aria-checked":a,...r,ref:t,"data-state":Wa(a),onSelect:F(r.onSelect,()=>i.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});Ta.displayName=wa;var Ea=`MenuItemIndicator`,[Da,Oa]=Vi(Ea,{checked:!1}),ka=B.forwardRef((e,t)=>{let{__scopeMenu:n,forceMount:r,...i}=e,a=Oa(Ea,n);return(0,V.jsx)(Bn,{present:r||Ua(a.checked)||a.checked===!0,children:(0,V.jsx)(Pn.span,{...i,ref:t,"data-state":Wa(a.checked)})})});ka.displayName=Ea;var Aa=`MenuSeparator`,ja=B.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e;return(0,V.jsx)(Pn.div,{role:`separator`,"aria-orientation":`horizontal`,...r,ref:t})});ja.displayName=Aa;var Ma=`MenuArrow`,Na=B.forwardRef((e,t)=>{let{__scopeMenu:n,...r}=e,i=Ui(n);return(0,V.jsx)(er,{...i,...r,ref:t})});Na.displayName=Ma;var Pa=`MenuSub`,[Fa,Ia]=Vi(Pa),La=e=>{let{__scopeMenu:t,children:n,open:r=!1,onOpenChange:i}=e,a=Ki(Pa,t),o=Ui(t),[s,c]=B.useState(null),[l,u]=B.useState(null),d=Yn(i);return B.useEffect(()=>(a.open===!1&&d(!1),()=>d(!1)),[a.open,d]),(0,V.jsx)($n,{...o,children:(0,V.jsx)(Gi,{scope:t,open:r,onOpenChange:d,content:l,onContentChange:u,children:(0,V.jsx)(Fa,{scope:t,contentId:Kn(),triggerId:Kn(),trigger:s,onTriggerChange:c,children:n})})})};La.displayName=Pa;var Ra=`MenuSubTrigger`,za=B.forwardRef((e,t)=>{let n=Ki(Ra,e.__scopeMenu),r=Ji(Ra,e.__scopeMenu),i=Ia(Ra,e.__scopeMenu),a=ia(Ra,e.__scopeMenu),o=B.useRef(null),{pointerGraceTimerRef:s,onPointerGraceIntentChange:c}=a,l={__scopeMenu:e.__scopeMenu},u=B.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=null},[]);return B.useEffect(()=>u,[u]),B.useEffect(()=>{let e=s.current;return()=>{window.clearTimeout(e),c(null)}},[s,c]),(0,V.jsx)(Zi,{asChild:!0,...l,children:(0,V.jsx)(_a,{id:i.triggerId,"aria-haspopup":`menu`,"aria-expanded":n.open,"aria-controls":i.contentId,"data-state":Ha(n.open),...e,ref:On(t,i.onTriggerChange),onClick:t=>{e.onClick?.(t),!(e.disabled||t.defaultPrevented)&&(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:F(e.onPointerMove,Xa(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:F(e.onPointerLeave,Xa(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:F(e.onKeyDown,t=>{let i=a.searchRef.current!==``;e.disabled||i&&t.key===` `||Fi[r.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())})})})});za.displayName=Ra;var Ba=`MenuSubContent`,Va=B.forwardRef((e,t)=>{let n=ea(na,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,a=Ki(na,e.__scopeMenu),o=Ji(na,e.__scopeMenu),s=Ia(Ba,e.__scopeMenu),c=B.useRef(null),l=An(t,c);return(0,V.jsx)(Ri.Provider,{scope:e.__scopeMenu,children:(0,V.jsx)(Bn,{present:r||a.open,children:(0,V.jsx)(Ri.Slot,{scope:e.__scopeMenu,children:(0,V.jsx)(la,{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:F(e.onFocusOutside,e=>{e.target!==s.trigger&&a.onOpenChange(!1)}),onEscapeKeyDown:F(e.onEscapeKeyDown,e=>{o.onClose(),e.preventDefault()}),onKeyDown:F(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),n=Ii[o.dir].includes(e.key);t&&n&&(a.onOpenChange(!1),s.trigger?.focus(),e.preventDefault())})})})})})});Va.displayName=Ba;function Ha(e){return e?`open`:`closed`}function Ua(e){return e===`indeterminate`}function Wa(e){return Ua(e)?`indeterminate`:e?`checked`:`unchecked`}function Ga(e){let t=document.activeElement;for(let n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function Ka(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function qa(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=Ka(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 Ja(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 Ya(e,t){return t?Ja({x:e.clientX,y:e.clientY},t):!1}function Xa(e){return t=>t.pointerType===`mouse`?e(t):void 0}var Za=Yi,Qa=Zi,$a=ta,eo=aa,to=da,no=pa,ro=ga,io=ya,ao=Ca,oo=Ta,so=ka,co=ja,lo=Na,U=za,uo=Va,fo=`DropdownMenu`,[po,mo]=Fn(fo,[Hi]),ho=Hi(),[go,_o]=po(fo),vo=e=>{let{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:a,onOpenChange:o,modal:s=!0}=e,c=ho(t),l=B.useRef(null),[u,d]=zn({prop:i,defaultProp:a??!1,onChange:o,caller:fo});return(0,V.jsx)(go,{scope:t,triggerId:Kn(),triggerRef:l,contentId:Kn(),open:u,onOpenChange:d,onOpenToggle:B.useCallback(()=>d(e=>!e),[d]),modal:s,children:(0,V.jsx)(Za,{...c,open:u,onOpenChange:d,dir:r,modal:s,children:n})})};vo.displayName=fo;var yo=`DropdownMenuTrigger`,bo=B.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,a=_o(yo,n),o=ho(n);return(0,V.jsx)(Qa,{asChild:!0,...o,children:(0,V.jsx)(Pn.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:On(t,a.triggerRef),onPointerDown:F(e.onPointerDown,e=>{!r&&e.button===0&&e.ctrlKey===!1&&(a.onOpenToggle(),a.open||e.preventDefault())}),onKeyDown:F(e.onKeyDown,e=>{r||([`Enter`,` `].includes(e.key)&&a.onOpenToggle(),e.key===`ArrowDown`&&a.onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(e.key)&&e.preventDefault())})})})});bo.displayName=yo;var xo=`DropdownMenuPortal`,So=e=>{let{__scopeDropdownMenu:t,...n}=e,r=ho(t);return(0,V.jsx)($a,{...r,...n})};So.displayName=xo;var Co=`DropdownMenuContent`,wo=B.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=_o(Co,n),a=ho(n),o=B.useRef(!1);return(0,V.jsx)(eo,{id:i.contentId,"aria-labelledby":i.triggerId,...a,...r,ref:t,onCloseAutoFocus:F(e.onCloseAutoFocus,e=>{o.current||i.triggerRef.current?.focus(),o.current=!1,e.preventDefault()}),onInteractOutside:F(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)`}})});wo.displayName=Co;var To=`DropdownMenuGroup`,Eo=B.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ho(n);return(0,V.jsx)(to,{...i,...r,ref:t})});Eo.displayName=To;var Do=`DropdownMenuLabel`,Oo=B.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ho(n);return(0,V.jsx)(no,{...i,...r,ref:t})});Oo.displayName=Do;var ko=`DropdownMenuItem`,Ao=B.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ho(n);return(0,V.jsx)(ro,{...i,...r,ref:t})});Ao.displayName=ko;var jo=`DropdownMenuCheckboxItem`,Mo=B.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ho(n);return(0,V.jsx)(io,{...i,...r,ref:t})});Mo.displayName=jo;var No=`DropdownMenuRadioGroup`,Po=B.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ho(n);return(0,V.jsx)(ao,{...i,...r,ref:t})});Po.displayName=No;var Fo=`DropdownMenuRadioItem`,Io=B.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ho(n);return(0,V.jsx)(oo,{...i,...r,ref:t})});Io.displayName=Fo;var Lo=`DropdownMenuItemIndicator`,Ro=B.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ho(n);return(0,V.jsx)(so,{...i,...r,ref:t})});Ro.displayName=Lo;var zo=`DropdownMenuSeparator`,Bo=B.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ho(n);return(0,V.jsx)(co,{...i,...r,ref:t})});Bo.displayName=zo;var Vo=`DropdownMenuArrow`,Ho=B.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ho(n);return(0,V.jsx)(lo,{...i,...r,ref:t})});Ho.displayName=Vo;var Uo=`DropdownMenuSubTrigger`,Wo=B.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ho(n);return(0,V.jsx)(U,{...i,...r,ref:t})});Wo.displayName=Uo;var Go=`DropdownMenuSubContent`,Ko=B.forwardRef((e,t)=>{let{__scopeDropdownMenu:n,...r}=e,i=ho(n);return(0,V.jsx)(uo,{...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)`}})});Ko.displayName=Go;var qo=vo,Jo=bo,Yo=So,Xo=wo,Zo=Oo,Qo=Ao,$o=Bo,es=`Label`,ts=B.forwardRef((e,t)=>(0,V.jsx)(Pn.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));ts.displayName=es;var ns=ts;function rs(e,t){return B.useReducer((e,n)=>t[e][n]??e,e)}var is=`ScrollArea`,[as,os]=Fn(is),[ss,cs]=as(is),ls=B.forwardRef((e,t)=>{let{__scopeScrollArea:n,type:r=`hover`,dir:i,scrollHideDelay:a=600,...o}=e,[s,c]=B.useState(null),[l,u]=B.useState(null),[d,f]=B.useState(null),[p,m]=B.useState(null),[h,g]=B.useState(null),[_,v]=B.useState(0),[y,b]=B.useState(0),[x,S]=B.useState(!1),[C,ee]=B.useState(!1),w=An(t,e=>c(e)),te=Jn(i);return(0,V.jsx)(ss,{scope:n,type:r,dir:te,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,V.jsx)(Pn.div,{dir:te,...o,ref:w,style:{position:`relative`,"--radix-scroll-area-corner-width":_+`px`,"--radix-scroll-area-corner-height":y+`px`,...e.style}})})});ls.displayName=is;var us=`ScrollAreaViewport`,ds=B.forwardRef((e,t)=>{let{__scopeScrollArea:n,children:r,nonce:i,...a}=e,o=cs(us,n),s=An(t,B.useRef(null),o.onViewportChange);return(0,V.jsxs)(V.Fragment,{children:[(0,V.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,V.jsx)(Pn.div,{"data-radix-scroll-area-viewport":``,...a,ref:s,style:{overflowX:o.scrollbarXEnabled?`scroll`:`hidden`,overflowY:o.scrollbarYEnabled?`scroll`:`hidden`,...e.style},children:(0,V.jsx)(`div`,{ref:o.onContentChange,style:{minWidth:`100%`,display:`table`},children:r})})]})});ds.displayName=us;var fs=`ScrollAreaScrollbar`,ps=B.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=cs(fs,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:o}=i,s=e.orientation===`horizontal`;return B.useEffect(()=>(s?a(!0):o(!0),()=>{s?a(!1):o(!1)}),[s,a,o]),i.type===`hover`?(0,V.jsx)(ms,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,V.jsx)(hs,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,V.jsx)(gs,{...r,ref:t,forceMount:n}):i.type===`always`?(0,V.jsx)(_s,{...r,ref:t}):null});ps.displayName=fs;var ms=B.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=cs(fs,e.__scopeScrollArea),[a,o]=B.useState(!1);return B.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,V.jsx)(Bn,{present:n||a,children:(0,V.jsx)(gs,{"data-state":a?`visible`:`hidden`,...r,ref:t})})}),hs=B.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=cs(fs,e.__scopeScrollArea),a=e.orientation===`horizontal`,o=Ls(()=>c(`SCROLL_END`),100),[s,c]=rs(`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 B.useEffect(()=>{if(s===`idle`){let e=window.setTimeout(()=>c(`HIDE`),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[s,i.scrollHideDelay,c]),B.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,V.jsx)(Bn,{present:n||s!==`hidden`,children:(0,V.jsx)(_s,{"data-state":s===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:F(e.onPointerEnter,()=>c(`POINTER_ENTER`)),onPointerLeave:F(e.onPointerLeave,()=>c(`POINTER_LEAVE`))})})}),gs=B.forwardRef((e,t)=>{let n=cs(fs,e.__scopeScrollArea),{forceMount:r,...i}=e,[a,o]=B.useState(!1),s=e.orientation===`horizontal`,c=Ls(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;o(s?e:t)}},10);return Rs(n.viewport,c),Rs(n.content,c),(0,V.jsx)(Bn,{present:r||a,children:(0,V.jsx)(_s,{"data-state":a?`visible`:`hidden`,...i,ref:t})})}),_s=B.forwardRef((e,t)=>{let{orientation:n=`vertical`,...r}=e,i=cs(fs,e.__scopeScrollArea),a=B.useRef(null),o=B.useRef(0),[s,c]=B.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=As(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 Ms(e,o.current,s,t)}return n===`horizontal`?(0,V.jsx)(vs,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=Ns(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,V.jsx)(ys,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=Ns(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}),vs=B.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=cs(fs,e.__scopeScrollArea),[o,s]=B.useState(),c=B.useRef(null),l=An(t,c,a.onScrollbarXChange);return B.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,V.jsx)(Ss,{"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":js(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),Fs(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:ks(o.paddingLeft),paddingEnd:ks(o.paddingRight)}})}})}),ys=B.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...i}=e,a=cs(fs,e.__scopeScrollArea),[o,s]=B.useState(),c=B.useRef(null),l=An(t,c,a.onScrollbarYChange);return B.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,V.jsx)(Ss,{"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":js(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),Fs(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:ks(o.paddingTop),paddingEnd:ks(o.paddingBottom)}})}})}),[bs,xs]=as(fs),Ss=B.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=cs(fs,n),[m,h]=B.useState(null),g=An(t,e=>h(e)),_=B.useRef(null),v=B.useRef(``),y=p.viewport,b=r.content-r.viewport,x=Yn(u),S=Yn(c),C=Ls(d,10);function ee(e){_.current&&l({x:e.clientX-_.current.left,y:e.clientY-_.current.top})}return B.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]),B.useEffect(S,[r,S]),Rs(m,C),Rs(p.content,C),(0,V.jsx)(bs,{scope:n,scrollbar:m,hasThumb:i,onThumbChange:Yn(a),onThumbPointerUp:Yn(o),onThumbPositionChange:S,onThumbPointerDown:Yn(s),children:(0,V.jsx)(Pn.div,{...f,ref:g,style:{position:`absolute`,...f.style},onPointerDown:F(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:F(e.onPointerMove,ee),onPointerUp:F(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})})})}),Cs=`ScrollAreaThumb`,ws=B.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=xs(Cs,e.__scopeScrollArea);return(0,V.jsx)(Bn,{present:n||i.hasThumb,children:(0,V.jsx)(Ts,{ref:t,...r})})}),Ts=B.forwardRef((e,t)=>{let{__scopeScrollArea:n,style:r,...i}=e,a=cs(Cs,n),o=xs(Cs,n),{onThumbPositionChange:s}=o,c=An(t,e=>o.onThumbChange(e)),l=B.useRef(void 0),u=Ls(()=>{l.current&&=(l.current(),void 0)},100);return B.useEffect(()=>{let e=a.viewport;if(e){let t=()=>{u(),l.current||(l.current=Is(e,s),s())};return s(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[a.viewport,u,s]),(0,V.jsx)(Pn.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:F(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:F(e.onPointerUp,o.onThumbPointerUp)})});ws.displayName=Cs;var Es=`ScrollAreaCorner`,Ds=B.forwardRef((e,t)=>{let n=cs(Es,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,V.jsx)(Os,{...e,ref:t}):null});Ds.displayName=Es;var Os=B.forwardRef((e,t)=>{let{__scopeScrollArea:n,...r}=e,i=cs(Es,n),[a,o]=B.useState(0),[s,c]=B.useState(0),l=!!(a&&s);return Rs(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),c(e)}),Rs(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),o(e)}),l?(0,V.jsx)(Pn.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 ks(e){return e?parseInt(e,10):0}function As(e,t){let n=e/t;return isNaN(n)?0:n}function js(e){let t=As(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function Ms(e,t,n,r=`ltr`){let i=js(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 Ps([c,l],d)(e)}function Ns(e,t,n=`ltr`){let r=js(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=rr(e,n===`ltr`?[0,o]:[o*-1,0]);return Ps([0,o],[0,s])(c)}function Ps(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 Fs(e,t){return e>0&&e<t}var Is=(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 Ls(e,t){let n=Yn(e),r=B.useRef(0);return B.useEffect(()=>()=>window.clearTimeout(r.current),[]),B.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function Rs(e,t){let n=Yn(t);Ln(()=>{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 zs=ls,Bs=ds,Vs=Ds,Hs=`Separator`,Us=`horizontal`,Ws=[`horizontal`,`vertical`],Gs=B.forwardRef((e,t)=>{let{decorative:n,orientation:r=Us,...i}=e,a=Ks(r)?r:Us,o=n?{role:`none`}:{"aria-orientation":a===`vertical`?a:void 0,role:`separator`};return(0,V.jsx)(Pn.div,{"data-orientation":a,...o,...i,ref:t})});Gs.displayName=Hs;function Ks(e){return Ws.includes(e)}var qs=Gs,Js=`Switch`,[Ys,Xs]=Fn(Js),[Zs,Qs]=Ys(Js),$s=B.forwardRef((e,t)=>{let{__scopeSwitch:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c=`on`,onCheckedChange:l,form:u,...d}=e,[f,p]=B.useState(null),m=An(t,e=>p(e)),h=B.useRef(!1),g=f?u||!!f.closest(`form`):!0,[_,v]=zn({prop:i,defaultProp:a??!1,onChange:l,caller:Js});return(0,V.jsxs)(Zs,{scope:n,checked:_,disabled:s,children:[(0,V.jsx)(Pn.button,{type:`button`,role:`switch`,"aria-checked":_,"aria-required":o,"data-state":ic(_),"data-disabled":s?``:void 0,disabled:s,value:c,...d,ref:m,onClick:F(e.onClick,e=>{v(e=>!e),g&&(h.current=e.isPropagationStopped(),h.current||e.stopPropagation())})}),g&&(0,V.jsx)(rc,{control:f,bubbles:!h.current,name:r,value:c,checked:_,required:o,disabled:s,form:u,style:{transform:`translateX(-100%)`}})]})});$s.displayName=Js;var ec=`SwitchThumb`,tc=B.forwardRef((e,t)=>{let{__scopeSwitch:n,...r}=e,i=Qs(ec,n);return(0,V.jsx)(Pn.span,{"data-state":ic(i.checked),"data-disabled":i.disabled?``:void 0,...r,ref:t})});tc.displayName=ec;var nc=`SwitchBubbleInput`,rc=B.forwardRef(({__scopeSwitch:e,control:t,checked:n,bubbles:r=!0,...i},a)=>{let o=B.useRef(null),s=An(o,a),c=Xn(n),l=Zn(t);return B.useEffect(()=>{let e=o.current;if(!e)return;let t=window.HTMLInputElement.prototype,i=Object.getOwnPropertyDescriptor(t,`checked`).set;if(c!==n&&i){let t=new Event(`click`,{bubbles:r});i.call(e,n),e.dispatchEvent(t)}},[c,n,r]),(0,V.jsx)(`input`,{type:`checkbox`,"aria-hidden":!0,defaultChecked:n,...i,tabIndex:-1,ref:s,style:{...i.style,...l,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0}})});rc.displayName=nc;function ic(e){return e?`checked`:`unchecked`}var ac=$s,oc=tc,sc=`Tabs`,[cc,lc]=Fn(sc,[vi]),uc=vi(),[dc,fc]=cc(sc),pc=B.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:i,defaultValue:a,orientation:o=`horizontal`,dir:s,activationMode:c=`automatic`,...l}=e,u=Jn(s),[d,f]=zn({prop:r,onChange:i,defaultProp:a??``,caller:sc});return(0,V.jsx)(dc,{scope:n,baseId:Kn(),value:d,onValueChange:f,orientation:o,dir:u,activationMode:c,children:(0,V.jsx)(Pn.div,{dir:u,"data-orientation":o,...l,ref:t})})});pc.displayName=sc;var mc=`TabsList`,hc=B.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...i}=e,a=fc(mc,n),o=uc(n);return(0,V.jsx)(Ai,{asChild:!0,...o,orientation:a.orientation,dir:a.dir,loop:r,children:(0,V.jsx)(Pn.div,{role:`tablist`,"aria-orientation":a.orientation,...i,ref:t})})});hc.displayName=mc;var gc=`TabsTrigger`,_c=B.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:i=!1,...a}=e,o=fc(gc,n),s=uc(n),c=bc(o.baseId,r),l=xc(o.baseId,r),u=r===o.value;return(0,V.jsx)(ji,{asChild:!0,...s,focusable:!i,active:u,children:(0,V.jsx)(Pn.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:F(e.onMouseDown,e=>{!i&&e.button===0&&e.ctrlKey===!1?o.onValueChange(r):e.preventDefault()}),onKeyDown:F(e.onKeyDown,e=>{[` `,`Enter`].includes(e.key)&&o.onValueChange(r)}),onFocus:F(e.onFocus,()=>{let e=o.activationMode!==`manual`;!u&&!i&&e&&o.onValueChange(r)})})})});_c.displayName=gc;var vc=`TabsContent`,yc=B.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:i,children:a,...o}=e,s=fc(vc,n),c=bc(s.baseId,r),l=xc(s.baseId,r),u=r===s.value,d=B.useRef(u);return B.useEffect(()=>{let e=requestAnimationFrame(()=>d.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,V.jsx)(Bn,{present:i||u,children:({present:n})=>(0,V.jsx)(Pn.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})})});yc.displayName=vc;function bc(e,t){return`${e}-trigger-${t}`}function xc(e,t){return`${e}-content-${t}`}var Sc=pc,Cc=hc,wc=_c,Tc=yc,[Ec,Dc]=Fn(`Tooltip`,[Qn]),Oc=Qn(),kc=`TooltipProvider`,Ac=700,jc=`tooltip.open`,[Mc,Nc]=Ec(kc),Pc=e=>{let{__scopeTooltip:t,delayDuration:n=Ac,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=B.useRef(!0),s=B.useRef(!1),c=B.useRef(0);return B.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,V.jsx)(Mc,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:B.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:B.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r)},[r]),isPointerInTransitRef:s,onPointerInTransitChange:B.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};Pc.displayName=kc;var Fc=`Tooltip`,[Ic,Lc]=Ec(Fc),Rc=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=Nc(Fc,e.__scopeTooltip),l=Oc(t),[u,d]=B.useState(null),f=Kn(),p=B.useRef(0),m=o??c.disableHoverableContent,h=s??c.delayDuration,g=B.useRef(!1),[_,v]=zn({prop:r,defaultProp:i??!1,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(jc))):c.onClose(),a?.(e)},caller:Fc}),y=B.useMemo(()=>_?g.current?`delayed-open`:`instant-open`:`closed`,[_]),b=B.useCallback(()=>{window.clearTimeout(p.current),p.current=0,g.current=!1,v(!0)},[v]),x=B.useCallback(()=>{window.clearTimeout(p.current),p.current=0,v(!1)},[v]),S=B.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{g.current=!0,v(!0),p.current=0},h)},[h,v]);return B.useEffect(()=>()=>{p.current&&=(window.clearTimeout(p.current),0)},[]),(0,V.jsx)($n,{...l,children:(0,V.jsx)(Ic,{scope:t,contentId:f,open:_,stateAttribute:y,trigger:u,onTriggerChange:d,onTriggerEnter:B.useCallback(()=>{c.isOpenDelayedRef.current?S():b()},[c.isOpenDelayedRef,S,b]),onTriggerLeave:B.useCallback(()=>{m?x():(window.clearTimeout(p.current),p.current=0)},[x,m]),onOpen:b,onClose:x,disableHoverableContent:m,children:n})})};Rc.displayName=Fc;var zc=`TooltipTrigger`,Bc=B.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=Lc(zc,n),a=Nc(zc,n),o=Oc(n),s=An(t,B.useRef(null),i.onTriggerChange),c=B.useRef(!1),l=B.useRef(!1),u=B.useCallback(()=>c.current=!1,[]);return B.useEffect(()=>()=>document.removeEventListener(`pointerup`,u),[u]),(0,V.jsx)(nr,{asChild:!0,...o,children:(0,V.jsx)(Pn.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:s,onPointerMove:F(e.onPointerMove,e=>{e.pointerType!==`touch`&&!l.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),l.current=!0)}),onPointerLeave:F(e.onPointerLeave,()=>{i.onTriggerLeave(),l.current=!1}),onPointerDown:F(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener(`pointerup`,u,{once:!0})}),onFocus:F(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:F(e.onBlur,i.onClose),onClick:F(e.onClick,i.onClose)})})});Bc.displayName=zc;var Vc=`TooltipPortal`,[Hc,Uc]=Ec(Vc,{forceMount:void 0}),Wc=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=Lc(Vc,t);return(0,V.jsx)(Hc,{scope:t,forceMount:n,children:(0,V.jsx)(Bn,{present:n||a.open,children:(0,V.jsx)(Hn,{asChild:!0,container:i,children:r})})})};Wc.displayName=Vc;var Gc=`TooltipContent`,Kc=B.forwardRef((e,t)=>{let n=Uc(Gc,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=Lc(Gc,e.__scopeTooltip);return(0,V.jsx)(Bn,{present:r||o.open,children:o.disableHoverableContent?(0,V.jsx)(Zc,{side:i,...a,ref:t}):(0,V.jsx)(qc,{side:i,...a,ref:t})})}),qc=B.forwardRef((e,t)=>{let n=Lc(Gc,e.__scopeTooltip),r=Nc(Gc,e.__scopeTooltip),i=B.useRef(null),a=An(t,i),[o,s]=B.useState(null),{trigger:c,onClose:l}=n,u=i.current,{onPointerInTransitChange:d}=r,f=B.useCallback(()=>{s(null),d(!1)},[d]),p=B.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=tl(r,el(r,n.getBoundingClientRect())),a=nl(t.getBoundingClientRect());s(il([...i,...a])),d(!0)},[d]);return B.useEffect(()=>()=>f(),[f]),B.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]),B.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=!rl(n,o);r?f():i&&(f(),l())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,V.jsx)(Zc,{...e,ref:a})}),[Jc,Yc]=Ec(Fc,{isInside:!1}),Xc=kn(`TooltipContent`),Zc=B.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...s}=e,c=Lc(Gc,n),l=Oc(n),{onClose:u}=c;return B.useEffect(()=>(document.addEventListener(jc,u),()=>document.removeEventListener(jc,u)),[u]),B.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,V.jsx)(Wn,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:u,children:(0,V.jsxs)(tr,{"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,V.jsx)(Xc,{children:r}),(0,V.jsx)(Jc,{scope:n,isInside:!0,children:(0,V.jsx)(Cr,{id:c.contentId,role:`tooltip`,children:i||r})})]})})});Kc.displayName=Gc;var Qc=`TooltipArrow`,$c=B.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=Oc(n);return Yc(Qc,n).isInside?null:(0,V.jsx)(er,{...i,...r,ref:t})});$c.displayName=Qc;function el(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 tl(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 nl(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 rl(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 il(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)),al(t)}function al(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 ol=Pc,sl=Rc,cl=Bc,ll=Wc,ul=Kc,dl=$c;function fl({delayDuration:e=0,...t}){return(0,V.jsx)(ol,{"data-slot":`tooltip-provider`,delayDuration:e,...t})}function pl({...e}){return(0,V.jsx)(sl,{"data-slot":`tooltip`,...e})}function ml({...e}){return(0,V.jsx)(cl,{"data-slot":`tooltip-trigger`,...e})}function hl({className:e,sideOffset:t=0,children:n,...r}){return(0,V.jsx)(ll,{children:(0,V.jsxs)(ul,{"data-slot":`tooltip-content`,sideOffset:t,className:j(`z-50 inline-flex w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs text-background has-data-[slot=kbd]:pr-1.5 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-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 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,children:[n,(0,V.jsx)(dl,{className:`z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground`})]})})}function W(e){return M(e)}function gl(){let e=W(e=>e.pairs);return(0,B.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 _l(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,B.useMemo)(()=>{if(!e)return{unread:0,needsHumanResponse:!1,pendingPairInvite:!1,claimableTasks:0,total:0,score:0};let o=t.filter(t=>Tn(t)===e.id&&!Ut(t)),s=Number(a[e.id]||0),c=s>=o.filter(e=>$t(e)&&Qt(e)).reduce((e,t)=>Math.max(e,t.id),0)&&s>0?0:o.filter(t=>Jt(i,e.id,t)).length,l=yn(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=>Cn(t)&&Sn(t.target,e)).length+t.filter(t=>Vt(t)&&Sn(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 vl(){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,B.useMemo)(()=>{let d=tn(e,t,l);if(a){let e=yl(u);d=bl(d,a,Tt.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`?P(e).localeCompare(P(t))*f:r===`lastSeen`?(new Date(t.lastSeen).getTime()-new Date(e.lastSeen).getTime())*f||P(e).localeCompare(P(t)):r===`created`?(new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime())*f||P(e).localeCompare(P(t)):((fn[e.status]??9)-(fn[t.status]??9))*f||P(e).localeCompare(P(t)))},[e,t,n,l,r,i,a,o,s,c,u,Dt()])}function yl(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 bl(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`||wn(n,e));case`paired`:return e.filter(e=>!!r[e.id]);case`unpaired`:return e.filter(e=>!r[e.id]);default:return Nt().includes(t)?e.filter(e=>hn(e)===t):e}}function xl(){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),a=W(e=>e.coordinatorMutes);return(0,B.useMemo)(()=>{let o=new Map;for(let t of e){if(Ut(t))continue;let e=Tn(t);e&&(o.has(e)||o.set(e,{id:e,peer:e,messages:[],lastMessage:null,previewMessage:null,attention:{unread:0,needsHumanResponse:!1,score:0},archived:!1,draft:``}),o.get(e).messages.push(t))}for(let e of o.values()){e.messages.sort((e,t)=>e.id-t.id),e.lastMessage=e.messages[e.messages.length-1]||null;let o=null;for(let t=e.messages.length-1;t>=0;t--){let n=e.messages[t];if(n&&!Ht(n)){o=n;break}}e.previewMessage=o||e.lastMessage;let s=a.includes(e.peer),c=s?0:e.messages.filter(n=>Jt(t,e.peer,n)).length,l=s?!1:yn(i[e.peer]);e.attention={unread:c,needsHumanResponse:l,score:c*10+(l?8:0)};let u=Number(n[e.peer]||0);e.archived=!!(e.lastMessage?.id&&u>=e.lastMessage.id),e.draft=r[e.peer]||``}return[...o.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,a])}function Sl(){let e=xl(),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,B.useMemo)(()=>new Set(tn(t,n,i).filter(e=>r||e.status!==`offline`).map(e=>e.id)),[t,n,r,i]);return(0,B.useMemo)(()=>{let l=e.filter(e=>!e.archived&&c.has(e.peer)).reduce((e,t)=>e+(t.attention.unread||0),0),u=tn(t,n,i).filter(e=>(r||e.status!==`offline`)&&yn(e)).length,d=a.filter(e=>e.status===`pending`).length,f=o.filter(Cn).length+s.filter(Vt).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 Cl(){let e=W(e=>e.agents),t=W(e=>e.showBuiltIns),n=W(e=>e.managedPolicies);return(0,B.useMemo)(()=>tn(e,t,n).filter(e=>e.status!==`offline`).length,[e,t,n])}function wl(){let e=W(e=>e.agents);return(0,B.useMemo)(()=>e.filter(e=>e.status===`busy`).length,[e])}function Tl(){let e=W(e=>e.agents),t=W(e=>e.showBuiltIns),n=W(e=>e.showOffline),r=W(e=>e.managedPolicies);return(0,B.useMemo)(()=>{let i=tn(e,t,r);return n?i:i.filter(e=>e.status!==`offline`)},[e,t,n,r])}function El(){let e=W(e=>e.agents),t=W(e=>e.showBuiltIns),n=W(e=>e.managedPolicies);return(0,B.useMemo)(()=>[...new Set(tn(e,t,n).map(e=>e.machine).filter(Boolean))].sort(),[e,t,n])}function Dl(){let e=W(e=>e.agents),t=W(e=>e.showBuiltIns),n=W(e=>e.managedPolicies);return(0,B.useMemo)(()=>[...new Set(tn(e,t,n).flatMap(e=>e.tags||[]))],[e,t,n])}function Ol(){let e=W(e=>e.tasks),t=W(e=>e.messages);return(0,B.useMemo)(()=>{let n=e.filter(e=>(e.kind??`claim`)===`claim`).filter(e=>!Xt.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:Cn(e),task:e})),r=t.filter(Vt).map(e=>({id:`message-`+e.id,sourceType:`message`,title:e.subject||`Claimable message #`+e.id,body:dn(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:Vt(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?vn(e.updatedAt)-vn(t.updatedAt):i})},[e,t])}function kl(){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,B.useMemo)(()=>{let n=tn(t,r,a).filter(e=>i||e.status!==`offline`),o=[...new Set(n.flatMap(e=>e.tags||[]))],s=Ke(),c=[Al(`open-chat`,`Open chat`,`Human console`,`MessageCircle`,`openView`,{view:`chat`}),Al(`open-work`,`Open work queue`,`Claimable messages and tasks`,`ListChecks`,`openView`,{view:`work`}),Al(`open-workspaces`,`Open workspaces`,`Agent worktrees and merge state`,`GitBranch`,`openView`,{view:`workspaces`}),Al(`show-stale`,`Show stale agents`,`Filter agents to offline or stale`,`Filter`,`agentPreset`,{preset:`offline_stale`}),Al(`copy-url`,`Copy relay URL`,s,`Copy`,`copy`,{value:s}),Al(`export-md`,`Export timeline as Markdown`,`Activity audit trace`,`FileDown`,`exportActivity`,{format:`markdown`}),Al(`export-json`,`Export timeline as JSON`,`Activity audit trace`,`Braces`,`exportActivity`,{format:`json`}),...n.slice(0,12).map(e=>Al(`msg-`+e.id,`Message agent: `+P(e),e.id,`Send`,`messageAgent`,{agentId:e.id})),...n.filter(e=>e.providerCapabilities?.liveSession?.inject===!0).slice(0,8).map(e=>Al(`pair-`+e.id,`Pair: `+P(e),e.id,`Link`,`pairAgent`,{agentId:e.id})),...o.map(e=>Al(`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 Al(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 jl({className:e,size:t=`default`,...n}){return(0,V.jsx)(ac,{"data-slot":`switch`,"data-size":t,className:j(`peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-primary data-unchecked:bg-input dark:data-unchecked:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50`,e),...n,children:(0,V.jsx)(oc,{"data-slot":`switch-thumb`,className:`pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] dark:data-checked:bg-primary-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground`})})}function Ml({className:e,orientation:t=`horizontal`,decorative:n=!0,...r}){return(0,V.jsx)(qs,{"data-slot":`separator`,decorative:n,orientation:t,className:j(`shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch`,e),...r})}function Nl({...e}){return(0,V.jsx)(qo,{"data-slot":`dropdown-menu`,...e})}function Pl({...e}){return(0,V.jsx)(Jo,{"data-slot":`dropdown-menu-trigger`,...e})}function Fl({className:e,align:t=`start`,sideOffset:n=4,...r}){return(0,V.jsx)(Yo,{children:(0,V.jsx)(Xo,{"data-slot":`dropdown-menu-content`,sideOffset:n,align:t,className:j(`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 Il({className:e,inset:t,variant:n=`default`,...r}){return(0,V.jsx)(Qo,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:j(`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 Ll({className:e,inset:t,...n}){return(0,V.jsx)(Zo,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:j(`px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7`,e),...n})}function Rl({className:e,...t}){return(0,V.jsx)($o,{"data-slot":`dropdown-menu-separator`,className:j(`-mx-1 my-1 h-px bg-border`,e),...t})}var zl={LayoutDashboard:_t,MessageCircle:Te,Bot:E,Server:T,MessagesSquare:Ze,Plug:pe,PlugZap:O,Activity:je,Link:we,Mail:Oe,ListChecks:Re,ClipboardList:ke,CalendarClock:C,AreaChart:We,Settings:c,Workflow:st,BrainCircuit:p,FolderTree:S,Shield:mt,Wrench:Qe,UserCog:$e,Lightbulb:Ee,Users:ft,Boxes:x,PackagePlus:be,FileText:_e};function G(e){return new Date(e.createdAt).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`})}var Bl=[[`messages`,`Messages`],[`replies`,`Replies`],[`errors`,`Errors`]];function K(){let e=M(e=>e.notifications),t=M(e=>e.notificationUnread),n=M(e=>e.notificationSettings),r=M(e=>e.notificationPermission),i=M(e=>e.set),a=M(e=>e.openNotification),s=M(e=>e.markNotificationsRead),c=M(e=>e.clearNotifications),u=M(e=>e.requestBrowserNotifications),d=t>0?me:o;function f(e){i({notificationSettings:{...n,...e}})}return(0,V.jsxs)(Nl,{onOpenChange:e=>{e&&s()},children:[(0,V.jsx)(Pl,{asChild:!0,children:(0,V.jsxs)(`button`,{className:`relative flex items-center gap-2 text-muted-foreground hover:text-foreground transition-colors w-full`,children:[(0,V.jsx)(d,{className:`w-3.5 h-3.5`}),(0,V.jsx)(`span`,{children:`Notifications`}),t>0&&(0,V.jsx)(I,{variant:`destructive`,className:`ml-auto text-[10px] px-1.5 py-0`,children:t})]})}),(0,V.jsxs)(Fl,{align:`start`,side:`right`,className:`w-80 p-2`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-2 px-1.5 py-1`,children:[(0,V.jsx)(Ll,{className:`p-0`,children:`Notifications`}),(0,V.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,V.jsx)(`button`,{type:`button`,title:`Mark read`,onClick:s,className:`rounded p-1 text-muted-foreground hover:bg-accent hover:text-foreground`,children:(0,V.jsx)(l,{className:`h-3.5 w-3.5`})}),(0,V.jsx)(`button`,{type:`button`,title:`Clear`,onClick:c,className:`rounded p-1 text-muted-foreground hover:bg-accent hover:text-foreground`,children:(0,V.jsx)(Fe,{className:`h-3.5 w-3.5`})})]})]}),(0,V.jsxs)(`div`,{className:`px-1.5 py-1.5 space-y-2`,children:[(0,V.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-xs`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:`In-app notifications`}),(0,V.jsx)(jl,{size:`sm`,checked:n.enabled,onCheckedChange:e=>f({enabled:e})})]}),(0,V.jsxs)(`label`,{className:`flex items-center justify-between gap-3 text-xs`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:`Browser notifications`}),(0,V.jsx)(jl,{size:`sm`,checked:n.browserEnabled&&r===`granted`,disabled:r===`unsupported`,onCheckedChange:e=>{e&&r!==`granted`?u():f({browserEnabled:e})}})]}),(0,V.jsx)(`div`,{className:`grid grid-cols-3 gap-1`,children:Bl.map(([e,t])=>(0,V.jsx)(`button`,{type:`button`,onClick:()=>f({[e]:!n[e]}),className:j(`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,V.jsx)(Rl,{}),(0,V.jsx)(`div`,{className:`max-h-80 overflow-y-auto`,children:e.length===0?(0,V.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,V.jsxs)(Il,{onSelect:t=>{t.preventDefault(),a(e)},className:`flex flex-col items-start gap-0.5 px-2 py-2`,children:[(0,V.jsxs)(`div`,{className:`flex w-full items-center gap-2`,children:[(0,V.jsx)(`span`,{className:j(`h-1.5 w-1.5 rounded-full`,e.severity===`error`?`bg-red-400`:e.severity===`warning`?`bg-yellow-400`:`bg-blue-400`)}),(0,V.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs font-medium`,children:e.title}),(0,V.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:G(e)})]}),(0,V.jsx)(`span`,{className:`line-clamp-2 text-xs text-muted-foreground`,children:e.body}),e.routing?.reason&&(0,V.jsxs)(`span`,{className:`line-clamp-1 text-[10px] text-muted-foreground/80`,children:[`routed because `,e.routing.reason]})]},e.id))})]})]})}function q(){let e=M(e=>e.theme),t=M(e=>e.set);return(0,V.jsxs)(Nl,{children:[(0,V.jsx)(Pl,{asChild:!0,children:(0,V.jsxs)(`button`,{className:`flex items-center gap-2 text-muted-foreground hover:text-foreground transition-colors w-full`,children:[(0,V.jsx)(ve,{className:`w-3.5 h-3.5`}),(0,V.jsx)(`span`,{children:`Theme`}),(0,V.jsx)(`span`,{className:`ml-auto text-[10px] text-muted-foreground`,children:Dn.find(t=>t.id===e)?.label})]})}),(0,V.jsx)(Fl,{align:`start`,side:`right`,className:`w-40`,children:Dn.map(n=>(0,V.jsxs)(Il,{onSelect:()=>t({theme:n.id}),children:[(0,V.jsx)(`span`,{className:`flex-1`,children:n.label}),e===n.id&&(0,V.jsx)(f,{className:`w-3.5 h-3.5 text-primary`})]},n.id))})]})}function J(){let e=M(e=>e.view),t=M(e=>e.switchView),n=M(e=>e.connected),r=M(e=>e.showOffline),i=M(e=>e.showBuiltIns),a=M(e=>e.autoRefresh),o=M(e=>e.stats),s=M(e=>e.openCommandPalette),c=M(e=>e.set),l=M(e=>e.startAutoRefresh),u=M(e=>e.stopAutoRefresh),d=Sl(),f=Cl();function p(e){return e===`overview`&&d.total>0?(0,V.jsx)(I,{variant:`destructive`,className:`ml-auto text-[10px] px-1.5 py-0`,children:d.total}):e===`chat`&&d.unreadInbox>0?(0,V.jsx)(I,{variant:`destructive`,className:`ml-auto text-[10px] px-1.5 py-0`,children:d.unreadInbox}):e===`agents`?(0,V.jsx)(I,{variant:`secondary`,className:`ml-auto text-[10px] px-1.5 py-0`,children:f}):e===`pairs`&&d.pendingPairInvites>0?(0,V.jsx)(I,{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,V.jsx)(I,{className:`ml-auto text-[10px] px-1.5 py-0 bg-yellow-500/20 text-yellow-400`,children:d.claimableTasks}):null}return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`nav`,{className:`flex-1 overflow-y-auto py-2 px-2`,children:gn.map(n=>{let r=zl[n.icon]||E;return(0,V.jsxs)(`button`,{onClick:()=>t(n.key),className:j(`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,V.jsx)(r,{className:`w-4 h-4 shrink-0`}),n.label,p(n.key)]},n.key)})}),(0,V.jsxs)(`div`,{className:`mt-auto border-t border-border p-4 space-y-3 text-xs`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`span`,{className:j(`w-2 h-2 rounded-full`,n?`bg-emerald-500`:`bg-red-500 animate-pulse`)}),(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:n?`Live`:`Reconnecting...`})]}),(0,V.jsxs)(`button`,{onClick:s,className:`flex items-center gap-2 text-muted-foreground hover:text-foreground transition-colors w-full`,children:[(0,V.jsx)(ct,{className:`w-3.5 h-3.5`}),(0,V.jsx)(`span`,{children:`Command palette`}),(0,V.jsx)(`kbd`,{className:`ml-auto text-[10px] bg-muted px-1.5 py-0.5 rounded`,children:`⌘K`})]}),(0,V.jsx)(K,{}),(0,V.jsx)(q,{}),(0,V.jsx)(Ml,{}),(0,V.jsxs)(`label`,{className:`flex items-center justify-between cursor-pointer`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:`Show offline`}),(0,V.jsx)(jl,{checked:r,onCheckedChange:e=>c({showOffline:e})})]}),(0,V.jsxs)(`label`,{className:`flex items-center justify-between cursor-pointer`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:`System agents`}),(0,V.jsx)(jl,{checked:i,onCheckedChange:e=>c({showBuiltIns:e})})]}),(0,V.jsxs)(`label`,{className:`flex items-center justify-between cursor-pointer`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:`Auto refresh`}),(0,V.jsx)(jl,{checked:a,onCheckedChange:e=>{c({autoRefresh:e}),e?l():u()}})]}),o.version&&(0,V.jsxs)(`div`,{className:`text-muted-foreground pt-1`,children:[`v`,o.version]})]})]})}function Vl(){return(0,V.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,V.jsxs)(`div`,{className:`px-5 py-4 font-bold text-base border-b border-border flex items-center gap-2`,children:[(0,V.jsx)(bt,{className:`w-4 h-4 text-primary`}),`Agent Relay`]}),(0,V.jsx)(J,{})]})}function Hl(){let e=M(e=>e.mobileMenuOpen),t=M(e=>e.set);return(0,B.useEffect)(()=>{if(!e)return;function n(e){e.key===`Escape`&&t({mobileMenuOpen:!1})}return window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[e]),(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`div`,{className:j(`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,V.jsxs)(`aside`,{inert:!e,className:j(`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,V.jsxs)(`div`,{className:`px-5 py-4 font-bold text-base border-b border-border flex items-center gap-2`,children:[(0,V.jsx)(bt,{className:`w-4 h-4 text-primary`}),`Agent Relay`,(0,V.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,V.jsx)(k,{className:`w-4 h-4`})})]}),(0,V.jsx)(J,{})]})]})}var Ul=500*1024,Wl={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`},Gl={".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`},Kl=null;function ql(){return Kl??=z(()=>import(`./bundle-web-DhRGKIGF.js`),__vite__mapDeps([0,1,2,3]),import.meta.url),Kl}function Jl(e){return new TextEncoder().encode(e).length}function Yl(e){return e.split(`/`).filter(Boolean).pop()||e}function Xl(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 Zl(e,t,n,r){if(n)return n;let i=Yl(e).toLowerCase();if(Gl[i])return Gl[i];if(i.endsWith(`.d.ts`))return`typescript`;let a=Xl(r);if(a)return a;let o=i.includes(`.`)?i.slice(i.lastIndexOf(`.`)+1):``;return o&&Wl[o]?Wl[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 Ql(e,t,n,r){let i=Zl(e,t,n,r);return!!(i&&i!==`text`&&i!==`log`)}var $l=(0,B.memo)(function({content:e,path:t,mediaType:n,languageHint:r,compact:i=!1}){let a=M(e=>e.theme),o=Dn.find(e=>e.id===a)?.dark??!0,s=(0,B.useMemo)(()=>Zl(t,n,r,e)||`text`,[e,r,n,t]),c=Jl(e)>Ul,[l,u]=(0,B.useState)(``),[d,f]=(0,B.useState)(!1),[p,m]=(0,B.useState)(!1);function h(){return(0,V.jsx)(ir,{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,B.useEffect)(()=>{if(c||s===`text`||s===`log`){u(``),f(!1),m(!1);return}let t=!1;return f(!0),m(!1),ql().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,V.jsxs)(`div`,{className:`flex items-center gap-2 p-4 text-sm text-muted-foreground`,children:[(0,V.jsx)(Je,{className:`h-4 w-4 animate-spin`}),`Highlighting`]}):c||p||!l?(0,V.jsxs)(`div`,{className:`group/code relative`,children:[h(),(0,V.jsx)(`pre`,{className:`overflow-auto whitespace-pre-wrap break-words font-mono text-xs leading-5 ${i?`p-3`:`p-4`}`,children:e||` `})]}):(0,V.jsxs)(`div`,{className:`group/code relative`,children:[h(),(0,V.jsx)(`div`,{className:`code-preview overflow-auto font-mono text-xs leading-5 ${i?`p-3`:`p-4`}`,dangerouslySetInnerHTML:{__html:l}})]})}),eu=(0,B.lazy)(()=>z(()=>import(`./markdown-preview-impl-CcZFkjn-.js`).then(e=>({default:e.MarkdownPreview})),__vite__mapDeps([4,5,1,3,6]),import.meta.url));function tu(e){return(0,V.jsx)(B.Suspense,{fallback:(0,V.jsx)(`div`,{className:`p-4 text-sm text-muted-foreground`,children:`Loading preview…`}),children:(0,V.jsx)(eu,{...e})})}var nu=e(Ct(),1);function ru({src:e,alt:t,onClose:n}){let[r,i]=(0,B.useState)(!1);return(0,B.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,V.jsxs)(`div`,{className:`fixed inset-0 z-[100] flex flex-col bg-black/95`,children:[(0,V.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-2 p-2`,children:[(0,V.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,V.jsx)(Ye,{className:`h-4 w-4`}):(0,V.jsx)(it,{className:`h-4 w-4`})}),(0,V.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,V.jsx)(k,{className:`h-4 w-4`})})]}),(0,V.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,V.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 iu({src:e,alt:t=``,className:n,style:r}){let[i,a]=(0,B.useState)(!1);return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`img`,{src:e,alt:t,className:`${n||``} cursor-zoom-in`,style:r,onClick:()=>a(!0)}),i&&(0,nu.createPortal)((0,V.jsx)(ru,{src:e,alt:t,onClose:()=>a(!1)}),document.body)]})}var au=`agent-relay:file-git-status`;function ou(){try{return window.localStorage.getItem(au)!==`off`}catch{return!0}}function su(e){try{window.localStorage.setItem(au,e?`on`:`off`)}catch{}}function cu(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 lu(e,t,n){let r=`/orchestrators/${encodeURIComponent(e)}/files/list?path=${encodeURIComponent(t)}`;return n?`${r}&git=1`:r}function uu({status:e}){let t=cu(e);return t?(0,V.jsx)(`span`,{className:`h-1.5 w-1.5 shrink-0 rounded-full ${t.dot}`,title:t.label}):null}function du(e){return e===void 0?``:e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`}function fu(e,t){let n=t.replace(/\/+$/,``);return e===n?`/`:e.startsWith(n+`/`)?e.slice(n.length+1):e}function pu(e,t){let n=e.toLowerCase();return n.endsWith(`.md`)||n.endsWith(`.mdx`)||n.endsWith(`.markdown`)||t===`text/markdown`}function mu(e,t,n){return pu(e,t)?`markdown`:Ql(e,t,void 0,n)?`code`:null}function hu(e){return`agent-relay:file-view-mode:${e}`}function gu(e){try{let t=window.localStorage.getItem(hu(e));return t===`raw`||t===`rendered`?t:`rendered`}catch{return`rendered`}}function _u(e,t){try{window.localStorage.setItem(hu(e),t)}catch{}}function vu(e,t){let n=fu(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 yu(e,t){let n=M(e=>e.apiCall),[r,i]=(0,B.useState)(null),[a,o]=(0,B.useState)(!1),[s,c]=(0,B.useState)(``);return(0,B.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(Mt(e)))}).finally(()=>{r||o(!1)}),()=>{r=!0}},[n,e,t]),{file:r,loading:a,error:s}}function bu(e,t,n=!1){let r=M(e=>e.apiCall),[i,a]=(0,B.useState)(null),[o,s]=(0,B.useState)(!1),[c,l]=(0,B.useState)(``);return(0,B.useEffect)(()=>{if(!e||!t){a(null),l(``);return}let i=!1;return s(!0),l(``),r(`GET`,lu(e,t,n)).then(e=>{i||a(e)}).catch(e=>{i||(a(null),l(Mt(e)))}).finally(()=>{i||s(!1)}),()=>{i=!0}},[r,e,t,n]),{listing:i,loading:o,error:c}}function xu({content:e,line:t,lineRef:n}){return(0,V.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,V.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,V.jsx)(`div`,{className:`select-none pr-2 text-right text-muted-foreground sm:pr-3`,children:i}),(0,V.jsx)(`pre`,{className:`overflow-hidden whitespace-pre-wrap break-words`,children:e||` `})]},i)})})}function Su({orchestratorId:e,selectedPath:t,onReadError:n,git:r=!1}){let{listing:i,loading:a,error:o}=bu(e,t,r);return(0,B.useEffect)(()=>{n(o)},[o,n]),t?a?(0,V.jsxs)(`div`,{className:`flex h-full items-center justify-center gap-2 text-sm text-muted-foreground`,children:[(0,V.jsx)(Je,{className:`h-4 w-4 animate-spin`}),`Loading directory`]}):o?(0,V.jsx)(`div`,{className:`h-full bg-muted/20`}):i?(0,V.jsxs)(`div`,{className:`h-full overflow-auto bg-muted/20`,children:[(0,V.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,V.jsx)(_,{className:`h-3.5 w-3.5 text-blue-400`}),(0,V.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono`,children:i.path}),(0,V.jsxs)(I,{variant:`outline`,className:`text-[10px]`,children:[i.entries.length,` items`]})]}),(0,V.jsxs)(`div`,{className:`divide-y divide-border/60`,children:[i.entries.map(e=>{let t=e.type===`directory`?_:fe,n=cu(e.gitStatus);return(0,V.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 text-sm`,children:[(0,V.jsx)(t,{className:`h-4 w-4 shrink-0 ${e.type===`directory`?`text-blue-400`:`text-muted-foreground`}`}),(0,V.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-xs ${n?.text??``}`,children:e.name}),e.symlink&&(0,V.jsx)(pt,{className:`h-3 w-3 shrink-0 text-muted-foreground/60`}),(0,V.jsx)(uu,{status:e.gitStatus}),e.type!==`directory`&&(0,V.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:du(e.size)})]},e.path)}),i.entries.length===0&&(0,V.jsx)(`div`,{className:`px-3 py-8 text-center text-sm text-muted-foreground`,children:`No files`})]})]}):null:(0,V.jsx)(`div`,{className:`flex h-full items-center justify-center text-sm text-muted-foreground`,children:`Select a directory to preview`})}function Cu({orchestratorId:e,selectedPath:t,line:n,onReadError:r}){let{file:i,loading:a,error:o}=yu(e,t),s=(0,B.useRef)(null),[c,l]=(0,B.useState)(`raw`);(0,B.useEffect)(()=>{r(o)},[o,r]),(0,B.useEffect)(()=>{n>0&&s.current?.scrollIntoView({block:`center`})},[i,n]),(0,B.useEffect)(()=>{if(!i||i.encoding===`binary`)return;if(n>0){l(`raw`);return}let e=mu(i.path,i.mediaType,i.content);l(e?gu(e):`raw`)},[i?.path,i?.encoding,i?.mediaType,i?.content,n]);function u(e,t){l(e),t&&_u(t,e)}if(!t)return(0,V.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,V.jsxs)(`div`,{className:`flex h-full items-center justify-center gap-2 text-sm text-muted-foreground`,children:[(0,V.jsx)(Je,{className:`h-4 w-4 animate-spin`}),`Loading file`]});if(o)return(0,V.jsx)(`div`,{className:`h-full bg-muted/20`});if(!i)return null;if(i.encoding===`base64`)return(0,V.jsxs)(`div`,{className:`flex h-full flex-col bg-muted/20`,children:[(0,V.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,V.jsx)(fe,{className:`h-3.5 w-3.5 text-muted-foreground`}),(0,V.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono`,children:i.path}),(0,V.jsx)(ir,{value:i.path,label:`Copy path`,copiedLabel:`Copied path`,size:`icon`,variant:`ghost`,className:`h-7 w-7 shrink-0`}),(0,V.jsx)(I,{variant:`outline`,className:`text-[10px]`,children:du(i.size)})]}),(0,V.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center overflow-auto p-4`,children:(0,V.jsx)(iu,{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,V.jsxs)(`div`,{className:`p-4 text-sm`,children:[(0,V.jsx)(`div`,{className:`font-medium`,children:i.name}),(0,V.jsx)(`div`,{className:`mt-1 text-muted-foreground`,children:i.truncated?`File too large to preview.`:`Binary file preview is not available.`}),(0,V.jsxs)(`div`,{className:`mt-3 flex gap-2`,children:[(0,V.jsx)(I,{variant:`secondary`,children:i.mediaType}),(0,V.jsx)(I,{variant:`outline`,children:du(i.size)})]})]});let d=i.content??``,f=pu(i.path,i.mediaType),p=!f&&Ql(i.path,i.mediaType,void 0,d),m=f||p,h=f?`markdown`:p?`code`:null;return(0,V.jsxs)(`div`,{className:`h-full overflow-auto bg-muted/20`,children:[(0,V.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,V.jsx)(fe,{className:`h-3.5 w-3.5 text-muted-foreground`}),(0,V.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono`,children:i.path}),(0,V.jsx)(ir,{value:i.path,label:`Copy path`,copiedLabel:`Copied path`,size:`icon`,variant:`ghost`,className:`h-7 w-7 shrink-0`}),i.truncated&&(0,V.jsx)(I,{variant:`secondary`,className:`text-[10px]`,children:`truncated`}),(0,V.jsx)(I,{variant:`outline`,className:`text-[10px]`,children:du(i.size)}),m&&(0,V.jsxs)(`div`,{className:`flex shrink-0 rounded-md border border-border bg-muted/40 p-0.5`,children:[(0,V.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,V.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,V.jsx)(tu,{content:d,path:i.path}),c===`rendered`&&p&&(0,V.jsx)($l,{content:d,path:i.path,mediaType:i.mediaType}),c===`raw`&&(0,V.jsx)(xu,{content:d,line:n,lineRef:s})]})}function wu({overlay:e=!1}){let t=M(e=>e.apiCall),n=M(e=>e.orchestrators),r=M(e=>e.fileOrchestratorId),i=M(e=>e.filePath),a=M(e=>e.fileSelectedPath),o=M(e=>e.fileSelectedLine),s=M(e=>e.set),c=M(e=>e.closeFileOverlay),l=M(e=>e.openOrchestratorSpawnAt),[u,d]=(0,B.useState)(null),[f,p]=(0,B.useState)(i),[m,g]=(0,B.useState)(!1),[v,y]=(0,B.useState)(``),[b,x]=(0,B.useState)(``),[C,ee]=(0,B.useState)(ou),w=(0,B.useMemo)(()=>n.filter(e=>e.status===`online`),[n]),T=n.find(e=>e.id===r)||w[0];(0,B.useEffect)(()=>{if(!T)return;let e={};r||(e.fileOrchestratorId=T.id),i||(e.filePath=T.baseDir),Object.keys(e).length&&s(e)},[r,i,T,s]),(0,B.useEffect)(()=>p(i),[i]);async function ne(e=i){if(!(!T||!e)){g(!0),y(``);try{let n=await t(`GET`,lu(T.id,e,C));d(n),s({filePath:n.path}),p(n.path),x(``)}catch(e){y(Mt(e))}finally{g(!1)}}}(0,B.useEffect)(()=>{ne(i)},[T?.id,i,C]);function re(e){ee(e),su(e)}function ie(e){s({fileOrchestratorId:e,filePath:n.find(t=>t.id===e)?.baseDir||``,fileSelectedPath:``,fileSelectedLine:0})}function ae(e){x(``),e.type===`directory`?s({filePath:e.path,fileSelectedPath:``,fileSelectedLine:0}):s({fileSelectedPath:e.path,fileSelectedLine:0})}function E(){if(!T)return;let t=f.trim()||i||T.baseDir;e&&c(),l({orchestratorId:T.id,cwd:t})}let D=u?vu(u.path,u.baseDir):[],se=v||b;return(0,V.jsxs)(`div`,{className:e?`flex h-full flex-col`:`flex h-[calc(100dvh-5rem)] flex-col gap-3 md:gap-4`,children:[(0,V.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 ${a?`hidden md:flex`:``}`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2 text-lg font-semibold`,children:[(0,V.jsx)(S,{className:`h-5 w-5 text-primary`}),`Files`]}),(0,V.jsxs)(`select`,{value:T?.id||``,onChange:e=>ie(e.target.value),className:`h-9 rounded-md border border-input bg-background px-3 text-sm`,children:[w.length===0&&(0,V.jsx)(`option`,{value:``,children:`No online orchestrators`}),w.map(e=>(0,V.jsx)(`option`,{value:e.id,children:e.hostname||e.id},e.id))]}),e&&(0,V.jsx)(L,{size:`icon`,variant:`ghost`,className:`ml-auto h-8 w-8`,onClick:c,title:`Close`,children:(0,V.jsx)(k,{className:`h-4 w-4`})})]}),(0,V.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 ${a?`hidden md:flex`:``}`,children:[(0,V.jsx)(R,{value:f,onChange:e=>p(e.target.value),onKeyDown:e=>{e.key===`Enter`&&s({filePath:f,fileSelectedPath:``,fileSelectedLine:0})},className:`min-w-0 flex-1 basis-full font-mono text-xs sm:basis-auto`,placeholder:T?.baseDir||`Path`}),(0,V.jsxs)(L,{size:`sm`,variant:`outline`,className:`gap-1`,onClick:()=>ne(f),disabled:m||!T,children:[m?(0,V.jsx)(Je,{className:`h-3.5 w-3.5 animate-spin`}):(0,V.jsx)(oe,{className:`h-3.5 w-3.5`}),`Open`]}),(0,V.jsxs)(L,{size:`sm`,className:`gap-1`,onClick:E,disabled:!T,children:[(0,V.jsx)(h,{className:`h-3.5 w-3.5`}),(0,V.jsx)(`span`,{className:`sm:hidden`,children:`Spawn`}),(0,V.jsx)(`span`,{className:`hidden sm:inline`,children:`Spawn from here`})]}),(0,V.jsxs)(`label`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground`,title:`Show git status colors`,children:[(0,V.jsx)(te,{className:`h-3.5 w-3.5`}),(0,V.jsx)(`span`,{className:`hidden sm:inline`,children:`Git`}),(0,V.jsx)(jl,{checked:C,onCheckedChange:re})]})]}),D.length>0&&(0,V.jsx)(`div`,{className:`flex flex-wrap items-center gap-1 text-xs text-muted-foreground ${a?`hidden md:flex`:``}`,children:D.map((e,t)=>(0,V.jsxs)(`button`,{type:`button`,className:`rounded px-1.5 py-0.5 font-mono hover:bg-accent hover:text-foreground`,onClick:()=>s({filePath:e.path,fileSelectedPath:``,fileSelectedLine:0}),children:[e.label,t<D.length-1&&e.label!==`/`?` /`:``]},`${e.path}-${t}`))}),se&&(0,V.jsx)(`div`,{className:`rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-sm text-destructive`,children:se}),(0,V.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,V.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:[u?.parent&&(0,V.jsxs)(`button`,{type:`button`,className:`flex w-full items-center gap-2 px-3 py-2 text-left text-sm hover:bg-accent`,onClick:()=>s({filePath:u.parent,fileSelectedPath:``,fileSelectedLine:0}),children:[(0,V.jsx)(Ve,{className:`h-4 w-4 text-muted-foreground`}),(0,V.jsx)(`span`,{children:`Parent directory`})]}),u?.entries.map(e=>{let t=a===e.path||i===e.path,n=e.type===`directory`?_:fe,r=cu(e.gitStatus);return(0,V.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:()=>ae(e),children:[(0,V.jsx)(n,{className:`h-4 w-4 shrink-0 ${e.type===`directory`?`text-blue-400`:`text-muted-foreground`}`}),(0,V.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-xs ${r?.text??``}`,children:e.name}),e.symlink&&(0,V.jsx)(pt,{className:`h-3 w-3 shrink-0 text-muted-foreground/60`}),(0,V.jsx)(uu,{status:e.gitStatus}),e.type!==`directory`&&(0,V.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:du(e.size)})]},e.path)}),!m&&u&&u.entries.length===0&&(0,V.jsx)(`div`,{className:`px-3 py-8 text-center text-sm text-muted-foreground`,children:`No files`})]}),(0,V.jsxs)(`div`,{className:`flex min-h-0 flex-col overflow-hidden ${a?``:`hidden md:flex`}`,children:[(0,V.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:()=>s({fileSelectedPath:``,fileSelectedLine:0}),children:[(0,V.jsx)(Ve,{className:`h-3.5 w-3.5`}),`Back to files`]}),(0,V.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,V.jsx)(Cu,{orchestratorId:T?.id||``,selectedPath:a,line:o,onReadError:x})})]})]})]})}function Tu(){return(0,V.jsx)(wu,{})}function Eu(){return M(e=>e.fileOverlayOpen)?(0,V.jsx)(`div`,{className:`fixed inset-0 z-50 bg-background/80 backdrop-blur-sm`,children:(0,V.jsx)(`div`,{className:`absolute inset-4 overflow-hidden rounded-md border border-border bg-background p-4 shadow-xl`,children:(0,V.jsx)(wu,{overlay:!0})})}):null}var Du=!1;function Ou(e,t){let n=B.useRef(!1),r=B.useRef(t);r.current=t,B.useEffect(()=>{if(!e||!r.current)return;Du=!1,window.history.pushState({sheetGuard:!0},``),n.current=!0;function t(){if(Du){Du=!1;return}n.current&&(n.current=!1,r.current?.(!1))}return window.addEventListener(`popstate`,t),()=>{window.removeEventListener(`popstate`,t),n.current&&(n.current=!1,Du=!0,window.history.back())}},[e])}function ku({...e}){return Ou(e.open,e.onOpenChange),(0,V.jsx)(ii,{"data-slot":`sheet`,...e})}function Au({...e}){return(0,V.jsx)(ui,{"data-slot":`sheet-close`,...e})}function ju({...e}){return(0,V.jsx)(ai,{"data-slot":`sheet-portal`,...e})}function Mu({className:e,...t}){return(0,V.jsx)(oi,{"data-slot":`sheet-overlay`,className:j(`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 Nu({className:e,children:t,side:n=`right`,showCloseButton:r=!0,...i}){return(0,V.jsxs)(ju,{children:[(0,V.jsx)(Mu,{}),(0,V.jsxs)(si,{"data-slot":`sheet-content`,"data-side":n,className:j(`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,V.jsx)(ui,{"data-slot":`sheet-close`,asChild:!0,children:(0,V.jsxs)(L,{variant:`ghost`,className:`absolute top-3 right-3`,size:`icon-sm`,children:[(0,V.jsx)(k,{}),(0,V.jsx)(`span`,{className:`sr-only`,children:`Close`})]})})]})]})}function Pu({className:e,...t}){return(0,V.jsx)(`div`,{"data-slot":`sheet-header`,className:j(`flex flex-col gap-0.5 p-4`,e),...t})}function Fu({className:e,...t}){return(0,V.jsx)(ci,{"data-slot":`sheet-title`,className:j(`font-heading text-base font-medium text-foreground`,e),...t})}function Iu({className:e,orientation:t=`horizontal`,...n}){return(0,V.jsx)(Sc,{"data-slot":`tabs`,"data-orientation":t,className:j(`group/tabs flex gap-2 data-horizontal:flex-col`,e),...n})}var Lu=Mn(`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 Ru({className:e,variant:t=`default`,...n}){return(0,V.jsx)(Cc,{"data-slot":`tabs-list`,"data-variant":t,className:j(Lu({variant:t}),e),...n})}function zu({className:e,...t}){return(0,V.jsx)(wc,{"data-slot":`tabs-trigger`,className:j(`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 Bu({className:e,...t}){return(0,V.jsx)(Tc,{"data-slot":`tabs-content`,className:j(`flex-1 text-sm outline-none`,e),...t})}function Vu({agent:e,now:t,className:n}){return(0,V.jsx)(`span`,{className:j(`inline-block w-2.5 h-2.5 rounded-full shrink-0`,Wt(e,t),n)})}function Hu({agent:e,compact:t=!1}){let n=Zu(e);return n.length===0?null:(0,V.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:n.slice(0,t?4:void 0).map(e=>(0,V.jsx)(I,{variant:`outline`,className:`text-[9px] px-1 py-0 h-4`,children:e},e))})}function Uu({agent:e,compact:t=!1,className:n=``}){let r=Gu(e);return(0,V.jsx)(`div`,{className:`flex flex-wrap items-center gap-1 ${n}`,children:r.map(e=>{let n=e.Icon;return(0,V.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,V.jsx)(n,{className:`h-3 w-3 shrink-0`}),!t&&(0,V.jsx)(`span`,{children:e.label})]},e.key)})})}function Wu({agent:e}){let t=e.context;if(!t)return null;let n=ed(t);if(n===null)return(0,V.jsxs)(`div`,{className:`space-y-1`,title:td(t),children:[(0,V.jsxs)(`div`,{className:`flex justify-between text-[10px] text-muted-foreground`,children:[(0,V.jsx)(`span`,{children:`collecting`}),(0,V.jsx)(`span`,{children:`--`})]}),(0,V.jsx)(`div`,{className:`h-1.5 rounded-full bg-muted overflow-hidden`,children:(0,V.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,V.jsxs)(`div`,{className:`space-y-1`,title:td(t),children:[(0,V.jsxs)(`div`,{className:`flex justify-between text-[10px] text-muted-foreground`,children:[(0,V.jsx)(`span`,{children:t.lifecycleState}),(0,V.jsxs)(`span`,{children:[r,`%`]})]}),(0,V.jsx)(`div`,{className:`h-1.5 rounded-full bg-muted overflow-hidden`,children:(0,V.jsx)(`div`,{className:`h-full ${i}`,style:{width:`${Math.max(0,Math.min(100,r))}%`}})})]})}function Gu(e){let t=Ku(e),n=Y(e),r=qu(e);return[{key:`origin`,label:t?`Relay`:`External`,title:t?`Agent Relay spawned this agent`:`Externally started agent registered with Agent Relay`,Icon:t?g:w,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 Ku(e){return typeof e.meta?.spawnRequestId==`string`||typeof e.meta?.policyName==`string`||typeof e.meta?.automationRunId==`string`}function Y(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:tt,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:ye,className:`border-blue-500/30 bg-blue-500/10 text-blue-300`}:{key:`approval`,label:`Guarded`,title:`Approval mode: guarded`,Icon:Pe,className:`border-amber-500/30 bg-amber-500/10 text-amber-300`}}function qu(e){let t=Ju(e.meta?.workspace),n=Ft(t.requestedMode)||Ft(e.meta?.workspaceMode),r=Ft(t.mode),i=n&&n!==`inherit`?n:r&&n!==`inherit`?r:`default`;return i===`isolated`?{key:`workspace`,label:`Isolated`,title:`Workspace: isolated worktree`,Icon:te,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:d,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:ce,iconColor:`text-zinc-400`,className:`border-zinc-500/30 bg-zinc-500/10 text-zinc-300`}}function Ju(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function Yu(e){let t=Ju(e.meta?.workspace),n=Ft(t.repoRoot)||Ft(t.sourceCwd)||Ft(e.meta?.cwd);return n?en(n,2):``}function Xu(e){return!!(e.context||e.providerCapabilities?.context)}function Zu(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=xn(e).length;if(i&&r.push(i===1?`1 subagent`:`${i} subagents`),n){let e=ed(n);r.push(e===null?`ctx collecting`:`${Math.round(e*100)}% ctx`)}return r}function Qu({context:e,expected:t=!!e,size:n=26,className:r}){let i=ed(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,V.jsxs)(`div`,{className:`relative shrink-0 ${u?`opacity-70`:``} ${r??``}`,style:{width:n,height:n},title:td(e),children:[(0,V.jsxs)(`svg`,{width:n,height:n,viewBox:`0 0 ${n} ${n}`,className:`rotate-[-90deg]`,children:[(0,V.jsx)(`circle`,{cx:o,cy:o,r:s,fill:`none`,strokeWidth:a,className:`stroke-muted-foreground/20`}),(0,V.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,V.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 $u(e){let t=e.context;return!t?.tokensUsed&&!t?.tokensMax?null:t.tokensUsed&&t.tokensMax?`${nd(t.tokensUsed)} / ${nd(t.tokensMax)}`:t.tokensUsed?nd(t.tokensUsed):t.tokensMax?nd(t.tokensMax):null}function ed(e){return!e||typeof e.utilization!=`number`||!Number.isFinite(e.utilization)?null:Math.min(1,Math.max(0,e.utilization))}function td(e){if(!e)return`Context: collecting; provider has not reported usage yet`;let t=ed(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 nd(e){return e>=1e6?`${(e/1e6).toFixed(e%1e6==0?0:1)}M`:e>=1e3?`${Math.round(e/1e3)}K`:String(e)}var rd=(0,B.lazy)(()=>z(()=>import(`./terminal-viewer-impl-LjIph8ql.js`).then(e=>({default:e.TerminalDialog})),__vite__mapDeps([7,1,6,8,9,10,11,12,13,14]),import.meta.url));function id(e){return e.open?(0,V.jsx)(B.Suspense,{fallback:null,children:(0,V.jsx)(rd,{...e})}):null}function ad({orchestratorId:e,session:t,lines:n=200}){let r=M(e=>e.apiCall),[i,a]=(0,B.useState)([]),[o,s]=(0,B.useState)(``),[c,l]=(0,B.useState)(!1),[u,d]=(0,B.useState)(`provider`),[f,p]=(0,B.useState)(null);async function m(){if(!c)try{a((await r(`GET`,`/orchestrators/${encodeURIComponent(e)}/logs/${encodeURIComponent(t)}?lines=${n}${u===`mirror`?`&stream=mirror`:``}`)).lines||[]),p(null)}catch(e){p(Mt(e))}}(0,B.useEffect)(()=>{m();let e=setInterval(()=>void m(),1500);return()=>clearInterval(e)},[e,t,c,u]);let h=o?i.filter(e=>e.toLowerCase().includes(o.toLowerCase())):i;return(0,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,V.jsxs)(`div`,{className:`relative min-w-48 flex-1`,children:[(0,V.jsx)(He,{className:`absolute left-2 top-2.5 h-4 w-4 text-muted-foreground`}),(0,V.jsx)(R,{className:`pl-8`,value:o,onChange:e=>s(e.target.value),placeholder:`Search logs`})]}),(0,V.jsxs)(`div`,{className:`flex rounded-md border border-border overflow-hidden`,children:[(0,V.jsxs)(`button`,{type:`button`,onClick:()=>d(`provider`),title:`Provider output`,className:j(`flex items-center gap-1 px-2 py-1.5 text-xs`,u===`provider`?`bg-accent text-accent-foreground`:`text-muted-foreground hover:bg-accent/50`),children:[(0,V.jsx)(Se,{className:`h-3.5 w-3.5`}),` Output`]}),(0,V.jsxs)(`button`,{type:`button`,onClick:()=>d(`mirror`),title:`Session-mirror diagnostics (clean)`,className:j(`flex items-center gap-1 px-2 py-1.5 text-xs border-l border-border`,u===`mirror`?`bg-accent text-accent-foreground`:`text-muted-foreground hover:bg-accent/50`),children:[(0,V.jsx)(ie,{className:`h-3.5 w-3.5`}),` Mirror`]})]}),(0,V.jsx)(L,{type:`button`,variant:`outline`,size:`icon`,onClick:()=>l(e=>!e),title:c?`Resume logs`:`Pause logs`,children:c?(0,V.jsx)(ge,{className:`h-4 w-4`}):(0,V.jsx)(v,{className:`h-4 w-4`})}),(0,V.jsx)(L,{type:`button`,variant:`outline`,size:`icon`,onClick:()=>_n(`${t}.log`,i.join(`
|
|
16
16
|
`),`text/plain`),title:`Download logs`,children:(0,V.jsx)(dt,{className:`h-4 w-4`})})]}),f&&(0,V.jsx)(`div`,{className:`text-sm text-destructive`,children:f}),(0,V.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:h.join(`
|
|
17
17
|
`)||`No log output`})]})}function od(e,t){let n=t?.meta?.busyHealth;if(!t||t.status!==`busy`||!Rt(n)||n.status!==`stuck-busy`)return null;let r=typeof n.activeWorkStartedAt==`number`?n.activeWorkStartedAt:0;if(!r)return null;let i=typeof n.lastProgressAt==`number`?n.lastProgressAt:r;return{kind:typeof n.kind==`string`?n.kind:`provider-turn`,thresholdMs:typeof n.thresholdMs==`number`&&n.thresholdMs>0?n.thresholdMs:0,activeWorkId:typeof n.activeWorkId==`string`?n.activeWorkId:void 0,activeWorkLabel:typeof n.activeWorkLabel==`string`?n.activeWorkLabel:void 0,activeWorkStartedAt:r,activeWorkAgeMs:Math.max(0,e-r),lastProgressAt:i,staleForMs:Math.max(0,e-i)}}var sd={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 cd({agent:e,orchestrators:t}){let n=Ot(),[r,i]=(0,B.useState)(null),[a,o]=(0,B.useState)([]),[s,c]=(0,B.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=Rt(e.meta?.agentProfile)?e.meta.agentProfile:null,f=ud(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,B.useEffect)(()=>{if(!l)return;let e=!1;return A(`GET`,`/spawn-policies/`+encodeURIComponent(l)+`/status`).then(t=>{e||i(t)}).catch(()=>{e||i(null)}),()=>{e=!0}},[l,e.lastSeen]),(0,B.useEffect)(()=>{let t=!1;return A(`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,V.jsxs)(`div`,{className:`space-y-2`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,V.jsxs)(`h3`,{className:`text-sm font-medium flex items-center gap-1.5`,children:[(0,V.jsx)(vt,{className:`w-3.5 h-3.5 text-muted-foreground`}),`Diagnostics`]}),(0,V.jsx)(ir,{value:g,label:`Copy Bundle`,showText:!0,size:`sm`,variant:`outline`,className:`h-7 text-xs gap-1`,iconClassName:`w-3 h-3`})]}),_&&(0,V.jsx)(ld,{title:`Spawn Config`,expanded:!!s.spawn,onToggle:()=>h(`spawn`),children:(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-x-3 gap-y-1 text-xs`,children:[(0,V.jsx)(X,{label:`Provider`,value:_.provider}),_.model&&(0,V.jsx)(X,{label:`Model`,value:_.model}),_.effort&&(0,V.jsx)(X,{label:`Effort`,value:_.effort}),(0,V.jsx)(X,{label:`Permission`,value:_.permissionMode}),(0,V.jsx)(X,{label:`Mode`,value:_.mode}),_.rig&&(0,V.jsx)(X,{label:`Rig`,value:_.rig}),(0,V.jsx)(X,{label:`CWD`,value:_.cwd,className:`col-span-2`,mono:!0}),_.tags.length>0&&(0,V.jsxs)(`div`,{className:`col-span-2`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:`Tags`}),(0,V.jsx)(`div`,{className:`flex flex-wrap gap-1 mt-0.5`,children:_.tags.map(e=>(0,V.jsx)(I,{variant:`outline`,className:`text-[10px]`,children:e},e))})]}),_.capabilities.length>0&&(0,V.jsxs)(`div`,{className:`col-span-2`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:`Capabilities`}),(0,V.jsx)(`div`,{className:`flex flex-wrap gap-1 mt-0.5`,children:_.capabilities.map(e=>(0,V.jsx)(I,{variant:`secondary`,className:`text-[10px]`,children:e},e))})]}),_.providerArgs.length>0&&(0,V.jsx)(X,{label:`Provider Args`,value:_.providerArgs.join(` `),className:`col-span-2`,mono:!0}),_.binding&&(0,V.jsx)(X,{label:`Channel`,value:`${_.binding.type}:${_.binding.channelId}`,className:`col-span-2`})]})}),(u||f)&&(0,V.jsx)(ld,{title:`Agent Profile`,expanded:!!s.profile,onToggle:()=>h(`profile`),children:(0,V.jsxs)(`div`,{className:`space-y-2 text-xs`,children:[(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-x-3 gap-y-1`,children:[u&&(0,V.jsx)(X,{label:`Profile`,value:u}),f?.base&&(0,V.jsx)(X,{label:`Base`,value:f.base}),f?.provider&&(0,V.jsx)(X,{label:`Provider`,value:f.provider}),f&&(0,V.jsx)(X,{label:`Unsupported`,value:String(f.unsupported.length)})]}),f?.warnings.length?(0,V.jsxs)(`div`,{className:`rounded border border-yellow-500/20 bg-yellow-500/5 px-2 py-1.5`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:`Projection warnings`}),(0,V.jsx)(`div`,{className:`mt-1 space-y-1`,children:f.warnings.slice(0,4).map(e=>(0,V.jsx)(`div`,{className:`break-words text-yellow-200/80`,children:e},e))})]}):null,f&&(0,V.jsx)(`div`,{className:`space-y-1`,children:f.entries.map(e=>(0,V.jsxs)(`div`,{className:`grid grid-cols-[1fr_auto] gap-2 rounded border border-border/60 px-2 py-1`,children:[(0,V.jsxs)(`div`,{className:`min-w-0`,children:[(0,V.jsx)(`div`,{className:`font-mono text-[11px]`,children:e.capability}),(0,V.jsx)(`div`,{className:`break-words text-muted-foreground`,children:e.detail})]}),(0,V.jsx)(I,{variant:e.result===`unsupported`?`destructive`:e.result===`partial`?`outline`:`secondary`,className:`h-5 text-[10px]`,children:e.result})]},e.capability))})]})}),m?.workspace&&(0,V.jsx)(ld,{title:`Workspace`,expanded:!!s.workspace,onToggle:()=>h(`workspace`),children:(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-x-3 gap-y-1 text-xs`,children:[(0,V.jsx)(X,{label:`Mode`,value:m.workspace.mode}),m.workspace.status&&(0,V.jsx)(X,{label:`Status`,value:m.workspace.status}),m.workspace.worktreePath&&(0,V.jsx)(X,{label:`Worktree`,value:m.workspace.worktreePath,className:`col-span-2`,mono:!0}),m.workspace.repoRoot&&(0,V.jsx)(X,{label:`Repo`,value:m.workspace.repoRoot,className:`col-span-2`,mono:!0}),m.workspace.branch&&(0,V.jsx)(X,{label:`Branch`,value:m.workspace.branch,className:`col-span-2`,mono:!0}),m.workspace.baseRef&&(0,V.jsx)(X,{label:`Base`,value:m.workspace.baseRef}),m.workspace.baseSha&&(0,V.jsx)(X,{label:`Base SHA`,value:m.workspace.baseSha.slice(0,12),mono:!0}),m.workspace.stewardAgentId&&(0,V.jsx)(X,{label:`Steward`,value:m.workspace.stewardAgentId,className:`col-span-2`,mono:!0})]})}),m&&(0,V.jsx)(ld,{title:`Runtime`,expanded:!!s.runtime,onToggle:()=>h(`runtime`),children:(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-x-3 gap-y-1 text-xs`,children:[m.pid&&(0,V.jsx)(X,{label:`PID`,value:String(m.pid),mono:!0}),m.sessionName&&(0,V.jsx)(X,{label:`Session`,value:m.sessionName,mono:!0}),m.supervisor&&(0,V.jsx)(X,{label:`Supervisor`,value:m.supervisor}),m.systemdUnit&&(0,V.jsx)(X,{label:`Systemd`,value:m.systemdUnit,mono:!0}),m.terminalSession&&(0,V.jsx)(X,{label:`Terminal`,value:`${m.terminalSession} (${m.terminalAvailable?`available`:`unavailable`})`,mono:!0}),m.tmuxSession&&m.tmuxSession!==m.sessionName&&(0,V.jsx)(X,{label:`Legacy tmux`,value:m.tmuxSession,mono:!0}),m.spawnRequestId&&(0,V.jsx)(X,{label:`Spawn ID`,value:m.spawnRequestId.slice(0,12),mono:!0}),m.startedAt&&(0,V.jsx)(X,{label:`Started`,value:cn(m.startedAt)}),p&&(0,V.jsx)(X,{label:`Orchestrator`,value:`${p.hostname} (${p.id.slice(-8)})`}),p&&(0,V.jsx)(X,{label:`Orch Status`,value:p.status})]})}),v&&(0,V.jsx)(ld,{title:`Lifecycle`,expanded:!!s.lifecycle,onToggle:()=>h(`lifecycle`),children:(0,V.jsxs)(`div`,{className:`space-y-2 text-xs`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:`Status`}),(0,V.jsx)(I,{className:sd[v.status]||`bg-zinc-500/20 text-zinc-400`,children:v.status})]}),(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-x-3 gap-y-1`,children:[(0,V.jsx)(X,{label:`Restarts`,value:String(v.restartCount)}),(0,V.jsx)(X,{label:`Failures`,value:String(v.consecutiveFailures)}),v.lastSpawnAt&&(0,V.jsx)(X,{label:`Last spawn`,value:N(n,v.lastSpawnAt)}),v.lastStopAt&&(0,V.jsx)(X,{label:`Last stop`,value:N(n,v.lastStopAt)}),v.healthySince&&(0,V.jsx)(X,{label:`Healthy since`,value:N(n,v.healthySince)}),v.backoffUntil&&(0,V.jsx)(X,{label:`Backoff until`,value:v.backoffUntil>n?N(n,v.backoffUntil):`expired`})]}),v.lastError&&(0,V.jsxs)(`div`,{className:`rounded border border-red-500/20 bg-red-500/5 px-2 py-1.5`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:`Last error`}),(0,V.jsx)(`div`,{className:`mt-0.5 break-words text-red-300/80`,children:v.lastError})]})]})}),(0,V.jsx)(ld,{title:`Activity (${a.length})`,expanded:!!s.activity,onToggle:()=>h(`activity`),children:a.length===0?(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`No recent events`}):(0,V.jsx)(`div`,{className:`space-y-1`,children:a.slice(0,15).map(e=>(0,V.jsxs)(`div`,{className:`flex items-start gap-2 text-xs`,children:[(0,V.jsx)(`span`,{className:`shrink-0 text-[10px] text-muted-foreground tabular-nums w-14`,children:N(n,typeof e.createdAt==`number`?e.createdAt:Date.parse(String(e.createdAt)))}),(0,V.jsxs)(`div`,{className:`min-w-0`,children:[(0,V.jsx)(`span`,{className:`font-medium`,children:e.title}),e.body&&(0,V.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,V.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`No managed-agent diagnostics available for this agent.`})]})}function ld({title:e,expanded:t,onToggle:n,children:r}){return(0,V.jsxs)(`div`,{className:`rounded-md border border-border`,children:[(0,V.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,V.jsx)(ue,{className:`w-3 h-3`}):(0,V.jsx)(s,{className:`w-3 h-3`}),e]}),t&&(0,V.jsx)(`div`,{className:`px-2.5 pb-2.5`,children:r})]})}function ud(e){return Rt(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,V.jsxs)(`div`,{className:`min-w-0 ${n}`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:e}),(0,V.jsx)(`div`,{className:`truncate ${r?`font-mono`:``}`,title:t,children:t})]})}function dd({agent:e,className:t=``,onNavigate:n}){let r=typeof e.meta?.cwd==`string`?e.meta.cwd:``,i=M(e=>r?e.projectByCwd[r]:null),a=M(e=>e.fetchProjectForCwd),o=M(e=>e.openProjectFocus);return(0,B.useEffect)(()=>{r&&a(r)},[r,a]),i?(0,V.jsxs)(`button`,{type:`button`,title:`Project: ${i.title||i.slug} — open in Projects`,onClick:e=>{e.stopPropagation(),n?.(),o(i.id)},className:`inline-flex h-5 max-w-full items-center gap-1 rounded-full border border-indigo-500/30 bg-indigo-500/10 px-1.5 text-[10px] font-medium text-indigo-300 transition-colors hover:bg-indigo-500/20 ${t}`,children:[(0,V.jsx)(x,{className:`h-3 w-3 shrink-0`}),(0,V.jsx)(`span`,{className:`truncate`,children:i.title||i.slug})]}):null}function fd({className:e}){return(0,V.jsx)(`svg`,{viewBox:`0 0 16 16`,fill:`currentColor`,"aria-hidden":`true`,className:e,children:(0,V.jsx)(`path`,{d:`M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82a7.65 7.65 0 0 1 2-.27c.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8Z`})})}var pd={github:fd},md=Ce;function hd({provider:e,className:t}){return(0,V.jsx)(pd[e]??md,{className:j(`shrink-0`,t)})}var gd={open:`border-emerald-500/25 bg-emerald-500/10 text-emerald-300`,closed:`border-zinc-500/25 bg-zinc-500/10 text-zinc-300`,unknown:`border-amber-500/25 bg-amber-500/10 text-amber-300`},_d=1440*60*1e3;function vd(e){return`${e.repo}#${e.externalKey}`}function yd(e,t){return e.statusSyncedAt?`Status synced ${N(t,e.statusSyncedAt)} (${cn(e.statusSyncedAt)})`:`Status not yet synced`}function bd({issueRef:e,now:t=Date.now(),compact:n=!1,showSync:r=!1,className:i}){let a=vd(e),o=!e.statusSyncedAt||t-e.statusSyncedAt>_d,s=[e.title?`${a}: ${e.title}`:a,`Status: ${e.status}`,yd(e,t)].join(`
|
|
@@ -21,6 +21,6 @@ For more information, see https://radix-ui.com/primitives/docs/components/${t.do
|
|
|
21
21
|
`)})]})]})}function qd(e){if(!Rt(e)||typeof e.lastError!=`string`)return null;let t=Rt(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 Jd({className:e,children:t,...n}){return(0,V.jsxs)(zs,{"data-slot":`scroll-area`,className:j(`relative`,e),...n,children:[(0,V.jsx)(Bs,{"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,V.jsx)(Yd,{}),(0,V.jsx)(Vs,{})]})}function Yd({className:e,orientation:t=`vertical`,...n}){return(0,V.jsx)(ps,{"data-slot":`scroll-area-scrollbar`,"data-orientation":t,orientation:t,className:j(`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,V.jsx)(ws,{"data-slot":`scroll-area-thumb`,className:`relative flex-1 rounded-full bg-border`})})}function Xd(){let e=M(e=>e.channelDetailOpen),t=M(e=>e.channelDetailId),n=M(e=>e.channels),r=M(e=>e.messages),i=M(e=>e.agentsById),a=Ot(),o=M(e=>e.closeChannelDetail),s=n.find(e=>e.id===t)||null,c=an(s),l=(0,B.useMemo)(()=>s?r.filter(e=>un(e,s)).sort((e,t)=>t.id-e.id).slice(0,8):[],[r,s]);return(0,V.jsx)(ku,{open:e,onOpenChange:e=>!e&&o(),children:(0,V.jsxs)(Nu,{className:`w-full max-w-[100dvw] sm:max-w-md lg:max-w-lg p-0`,children:[(0,V.jsx)(Pu,{className:`shrink-0 p-4 border-b border-border`,children:(0,V.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,V.jsx)(I,{className:Kt(c.tone),children:c.label}),(0,V.jsx)(Fu,{className:`text-base truncate`,children:s?.name||`Channel`})]})}),(0,V.jsx)(Jd,{className:`flex-1 min-h-0`,children:(0,V.jsxs)(`div`,{className:`p-4 space-y-4`,children:[s&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`h3`,{className:`text-sm font-medium mb-2`,children:`Route`}),(0,V.jsxs)(`div`,{className:`space-y-1 text-sm`,children:[(0,V.jsxs)(`div`,{className:`flex justify-between gap-2`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Type`}),(0,V.jsx)(`span`,{className:`truncate`,children:s.type})]}),(0,V.jsxs)(`div`,{className:`flex justify-between gap-2`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Direction`}),(0,V.jsx)(`span`,{className:`truncate`,children:s.direction})]}),s.target&&(0,V.jsxs)(`div`,{className:`flex justify-between gap-2`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Target`}),(0,V.jsx)(`span`,{className:`truncate`,children:s.target})]}),(0,V.jsxs)(`div`,{className:`flex justify-between gap-2`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Agent`}),(0,V.jsx)(`span`,{className:`truncate`,children:s.agentId})]}),(0,V.jsxs)(`div`,{className:`flex justify-between gap-2`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Transport`}),(0,V.jsx)(`span`,{className:`truncate`,children:s.transport})]}),(0,V.jsxs)(`div`,{className:`flex justify-between gap-2`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:`Last seen`}),(0,V.jsx)(`span`,{className:`shrink-0`,children:N(a,s.lastSeen)})]})]})]}),nn(s.capabilities).length>0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Ml,{}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`h3`,{className:`text-sm font-medium mb-2`,children:`Capabilities`}),(0,V.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:nn(s.capabilities).map(e=>(0,V.jsx)(I,{variant:`secondary`,className:`text-[10px]`,children:e},e))})]})]}),s.meta&&Object.keys(s.meta).length>0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Ml,{}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`h3`,{className:`text-sm font-medium mb-2`,children:`Metadata`}),(0,V.jsx)(`div`,{className:`space-y-1 text-sm`,children:Object.entries(s.meta).map(([e,t])=>(0,V.jsxs)(`div`,{className:`flex justify-between gap-2 min-w-0`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground shrink-0`,children:e}),(0,V.jsx)(`span`,{className:`truncate`,children:String(t)})]},e))})]})]})]}),l.length>0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Ml,{}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`h3`,{className:`text-sm font-medium mb-2`,children:`Recent Messages`}),(0,V.jsx)(`div`,{className:`space-y-2`,children:l.map(e=>(0,V.jsxs)(`div`,{className:`rounded border border-border p-2 text-xs space-y-0.5 min-w-0`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-1 text-muted-foreground min-w-0`,children:[(0,V.jsx)(`span`,{className:`font-medium text-foreground truncate shrink-0 max-w-[40%]`,children:sn(e.from,i)}),(0,V.jsx)(`span`,{className:`shrink-0`,children:`→`}),(0,V.jsx)(`span`,{className:`truncate max-w-[40%]`,children:sn(e.to,i)}),(0,V.jsxs)(`span`,{className:`ml-auto shrink-0 text-[10px]`,children:[(0,V.jsxs)(`span`,{className:`opacity-40 mr-1`,children:[`#`,e.id]}),N(a,e.createdAt)]})]}),(0,V.jsx)(`div`,{className:`text-foreground whitespace-pre-wrap break-words line-clamp-3`,children:dn(e)})]},e.id))})]})]})]})})]})})}function Zd({className:e,...t}){return(0,V.jsx)(`textarea`,{"data-slot":`textarea`,className:j(`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 $({className:e,...t}){return(0,V.jsx)(ns,{"data-slot":`label`,className:j(`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 Qd(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`}function $d(e,t){if(t.startsWith(`/`))return t;let n=`${e.replace(/\/+$/,``)}/${t}`.split(`/`),r=[];for(let e of n)!e||e===`.`||(e===`..`?r.pop():r.push(e));return`/`+r.join(`/`)}function ef(e){let t=e.replace(/\/+$/,``),n=t.lastIndexOf(`/`);return n>0?t.slice(0,n):`/`}function tf(e,t){return e.filter(e=>e.status===`online`&&Zt(t,e.baseDir)).sort((e,t)=>qt(t.baseDir).length-qt(e.baseDir).length)[0]||e.find(e=>e.status===`online`)}function nf(){return typeof window<`u`&&window.matchMedia(`(min-width: 1280px)`).matches}function rf(){return typeof window<`u`&&!!window.getSelection()?.toString()}function af(e){let t=e.payload?.attachments;return Array.isArray(t)?t.filter(e=>!!(e&&typeof e==`object`&&typeof e.artifactId==`string`)):[]}var of=[`👍`,`❤️`,`✅`,`👀`];function sf(e){let t=new Map;for(let n of e.reactions||[]){let e=Yt(n.emoji),r=t.get(e)??{emoji:e,count:0,mine:!1,actors:[]};r.count+=1,r.mine=r.mine||n.actorId===`user`,r.actors.push(n.actorId),t.set(e,r)}return[...t.values()].sort((e,t)=>t.count-e.count||e.emoji.localeCompare(t.emoji))}function cf(e){return Ut(e)}function lf(e,t){let n=e.readBy||[],r=e.resolvedToAgent||t||e.to,i=r?n.includes(r):!1,a=n.some(e=>e!==bn);if(i||a){let e=i?r:n.find(e=>e!==bn);return{label:`read`,title:e?`Read by ${e}`:`Read by agent`,tone:`ok`,icon:l}}if(e.deliveryStatus===`delivered`)return{label:`delivered`,title:`Delivered to agent inbox`,tone:`ok`,icon:l};if(e.deliveryStatus===`queued`)return{label:`queued`,title:`Queued until the target agent is available`,tone:`warn`,icon:Ge};if(e.deliveryStatus===`failed`||e.deliveryStatus===`dead`){let t=e.deliveryPoisonReason||e.deliveryLastError||e.deliveryStatus;return{label:e.deliveryStatus,title:t,tone:`danger`,icon:gt}}return{label:`sent`,title:`Accepted by Relay`,tone:`muted`,icon:f}}function uf(e){let t=vn(e.createdAt);return(e.reactions||[]).reduce((e,t)=>Math.max(e,vn(t.updatedAt||t.createdAt)),t)}function df(e){return e?e.messages.reduce((e,t)=>Math.max(e,uf(t)),0):0}function ff(e,t,n){return(e-t)*n}function pf(e){if(!e)return 0;let t=0;for(let n of e.messages)Qt(n)&&(t=Math.max(t,vn(n.createdAt)));return t}function mf(e){return new Date(e).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`})}function hf(e){for(let t of e)t.previewUrl&&URL.revokeObjectURL(t.previewUrl)}function gf(e,t,n,r){if(e?.teamId)return{teamId:e.teamId};let i=[...t];n&&!i.some(e=>e.id===n.id)&&i.push(n);let a=i.filter(e=>e.threadId).reverse(),o=a.find(e=>!!r[kt(e.threadId,e.channel)])??a[0];return o?.threadId?{threadId:o.threadId,...o.channel?{channel:o.channel}:{}}:null}var _f={online:`came online`,offline:`went offline`,shutdown:`shut down`,restarted:`restarted`,"compaction-requested":`compaction requested`,compacting:`compaction started`,compacted:`context compacted`,"compaction-stalled":`compaction stalled — may need manual intervention`,"clear-requested":`clear requested`,"clearing-context":`clear started`,"context-cleared":`context cleared`,"clear-stalled":`context clear stalled — may need manual intervention`,"shutting-down":`shutting down`},vf=new Set(Object.keys(_f)),yf=3e3;function bf(e){return new Date(e.occurredAt??e.createdAt).getTime()}function xf(e){if(e.kind!==`session`)return null;let t=e.payload?.session;return!t||t.type!==`narration`&&t.type!==`reasoning`&&t.type!==`tool`?null:{id:e.id,kind:t.type,label:typeof t.label==`string`?t.label:void 0,text:e.body,ts:bf(e),turnId:typeof t.turnId==`string`?t.turnId:void 0}}function Sf(e){if(e.kind!==`session`)return null;let t=e.payload?.session;if(t?.type!==`notice`)return null;let n=typeof t.label==`string`&&t.label?t.label:`compacted`;return{id:`notice-${e.id}`,status:n,timestamp:bf(e)}}function Cf(e){if(e.kind!==`session`)return null;let t=e.payload?.session;if(t?.type!==`relay-injection`)return null;let n=t.relayInjection&&typeof t.relayInjection==`object`&&!Array.isArray(t.relayInjection)?t.relayInjection:{},r=typeof n.category==`string`&&[`memory`,`instructions`,`tools`,`comms`,`knowledge`,`context`].includes(n.category)?n.category:`context`,i=typeof n.timestamp==`number`&&Number.isFinite(n.timestamp)?n.timestamp:bf(e),a=n.detail&&typeof n.detail==`object`&&!Array.isArray(n.detail)?n.detail:{};return{id:e.id,category:r,summary:typeof n.summary==`string`&&n.summary.trim()?n.summary:e.body,detail:a,agentId:typeof n.agentId==`string`&&n.agentId?n.agentId:e.from,timestamp:i}}function wf(e){if(e.kind!==`session`)return null;let t=e.payload?.session;if(t?.type!==`prompt-resolution`)return null;let n=t.promptResolution&&typeof t.promptResolution==`object`&&!Array.isArray(t.promptResolution)?t.promptResolution:{},r=n.kind===`questions`||n.kind===`plan`||n.kind===`command`||n.kind===`tool`?n.kind:`tool`,i=typeof n.title==`string`&&n.title.trim()?n.title:`Prompt resolved`,a=typeof n.decisionLabel==`string`&&n.decisionLabel.trim()?n.decisionLabel:typeof t.label==`string`&&t.label.trim()?t.label:`Resolved`,o=n.answers&&typeof n.answers==`object`&&!Array.isArray(n.answers)?n.answers:{};return{id:e.id,title:i,kind:r,body:typeof n.promptBody==`string`?n.promptBody:typeof n.body==`string`?n.body:e.body,toolName:typeof n.toolName==`string`&&n.toolName.trim()?n.toolName:i,decisionLabel:a,questions:Tf(n.questions,o,a),timestamp:bf(e)}}function Tf(e,t,n){let r=(Array.isArray(e)?e:[]).map((e,r)=>{let i=e&&typeof e==`object`&&!Array.isArray(e)?e:{},a=typeof i.question==`string`&&i.question.trim()?i.question.trim():typeof i.header==`string`&&i.header.trim()?i.header.trim():`Question ${r+1}`,o=t[a]??t[String(i.question??``)]??t[String(i.header??``)];return{question:a,answer:typeof o==`string`&&o.trim()?o.trim():n}});return r.length?r:Object.entries(t).map(([e,t])=>({question:e,answer:t}))}function Ef(e,t){let n=e.trim();for(let e of t){let t=e.trim();if(t){if(n===t)break;n.startsWith(`${t}\n\n`)&&(n=n.slice(t.length+2).trimStart())}}return n.trim()||e.trim()}function Df(e){return e.kind===`system`&&e.from===`system`}var Of=new Set([`agent.ready`,`agent.exited`,`agent.spawn_failed`]);function kf(e){let t=new Date(e);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,`0`)}-${String(t.getDate()).padStart(2,`0`)}`}function Af(e){let t=e.filter(e=>vf.has(e.status)).slice().sort((e,t)=>e.timestamp-t.timestamp),n=[];for(let e of t)n.some(t=>t.id===e.id)||n.some(t=>t.status===e.status&&Math.abs(t.timestamp-e.timestamp)<=yf)||n.push(e);return n}function jf(e){if(!Lt(e.payload))return null;let{windowId:t,groupOrder:n,source:r}=e.payload.finality,i=e.payload.session??e.payload.responseCapture;return{msg:e,windowId:t,groupOrder:n,source:r,confidence:i?.confidence===`definitive`||i?.confidence===`reconstructed`?i.confidence:void 0}}function Mf(e){let t=new Map;if(e.forEach((e,n)=>{if(e.type!==`message`)return;let r=jf(e.msg);if(!r)return;let i=t.get(r.windowId)??[];i.push(n),t.set(r.windowId,i)}),t.size===0)return e;let n=new Map,r=new Set;for(let[i,a]of t){let t=a.map(t=>jf(e[t].msg)).sort((e,t)=>e.groupOrder-t.groupOrder),o=Math.min(...a),s=Math.min(...a.map(t=>bf(e[t].msg)));n.set(o,{type:`work-final`,windowId:i,members:t,timestamp:s});for(let e of a)e!==o&&r.add(e)}let i=[];return e.forEach((e,t)=>{r.has(t)||i.push(n.get(t)??e)}),i}function Nf(e,t,n,r=[],i){let a=[];for(let e of r){let t=e.entries.reduce((e,t)=>Math.min(e,vn(t.originalCreatedAt)),1/0),n=Number.isFinite(t)?t-1:e.importedAt;a.push({ts:n,entry:{type:`import-boundary`,history:e,timestamp:n}});for(let t of e.entries)a.push({ts:vn(t.originalCreatedAt),entry:{type:`imported-message`,history:e,entry:t}})}if(n){let e=new Date(n).getTime();Number.isFinite(e)&&a.push({ts:e,entry:{type:`created`,timestamp:e}})}if(i?.spawnedBy){let e=n?new Date(n).getTime():0,t=Number.isFinite(e)?e:0;a.push({ts:t,entry:{type:`agent-action`,direction:`spawned-by`,agentId:i.spawnedBy.agentId,provider:i.spawnedBy.provider,status:`ready`,timestamp:t}})}let o=i?.spawnedBy?.agentId,s=null,c=1/0;if(i?.initialPromptComplete!==!1)for(let t of e){if(t.id<0||t.kind===`session`||Df(t)||Ut(t)||!(t.from===`user`||o!==void 0&&t.from===o)||!dn(t).trim())continue;let e=bf(t);e<c&&(c=e,s=t.id)}let l=new Map,u=new Map,d=new Map;for(let t of e){if(t.kind!==`session`)continue;let e=t.payload?.session;if(e?.type===`narration`&&typeof e.turnId==`string`){let n=u.get(e.turnId)??[];n.push({id:t.id,body:t.body.trim()}),u.set(e.turnId,n)}else if(e?.type===`response`&&typeof e.turnId==`string`){let n=l.get(e.turnId)??[];n.push(t.body.trim()),l.set(e.turnId,n)}}let f=new Map;for(let[e,t]of l){let n=(u.get(e)??[]).map(e=>e.body);f.set(e,t.map(e=>Ef(e,n)))}for(let t of e){if(t.kind!==`session`)continue;let e=t.payload?.session;if(e?.type!==`response`||typeof e.turnId!=`string`)continue;let n=Ef(t.body,(u.get(e.turnId)??[]).map(e=>e.body));n&&n!==t.body&&d.set(t.id,n)}let p=new Set;for(let[e,t]of f){let n=u.get(e)??[];for(let e of t)for(let t=n.length-1;t>=0;t--){let r=n[t];if(!p.has(r.id)&&Gt(e,r.body)){p.add(r.id);break}}}let m=new Map,h=[];for(let t of e){if(Df(t)){let e=typeof t.payload?.kind==`string`?t.payload.kind:``;if(Of.has(e)){let n=t.payload,r=typeof n.agentId==`string`?n.agentId:``,i=bf(t);if(!r){a.push({ts:i,entry:{type:`notice`,msg:t}});continue}let o=e===`agent.ready`?`ready`:e===`agent.exited`?`exited`:`failed`,s=m.get(r);if(s)s.entry.status=o,typeof n.reason==`string`&&(s.entry.reason=n.reason),s.entry.timestamp=i,s.ts=i;else{let e={ts:i,entry:{type:`agent-action`,direction:`spawned-child`,agentId:r,provider:typeof n.provider==`string`?n.provider:void 0,status:o,reason:typeof n.reason==`string`?n.reason:void 0,timestamp:i}};m.set(r,e),a.push(e)}continue}a.push({ts:bf(t),entry:{type:`notice`,msg:t}});continue}let e=Sf(t);if(e){h.push(e);continue}let n=xf(t);if(n){if(n.kind===`narration`&&p.has(n.id))continue;a.push({ts:n.ts,entry:{type:`activity`,steps:[n],timestamp:n.ts}});continue}let r=Cf(t);if(r){a.push({ts:r.timestamp,entry:{type:`relay-injection`,event:r}});continue}let i=wf(t);if(i){a.push({ts:i.timestamp,entry:{type:`prompt-resolution`,event:i}});continue}if(t.kind===`session`){let e=t.payload?.session;if(e?.type===`response`&&typeof e.turnId==`string`){let e=d.get(t.id);if(e&&e!==t.body){a.push({ts:bf(t),entry:{type:`message`,msg:{...t,body:e}}});continue}}}let o=t.id===s?`initial-prompt`:`message`;a.push({ts:bf(t),entry:{type:o,msg:t}})}for(let e of Af([...t,...h]))a.push({ts:e.timestamp,entry:{type:`status`,event:e}});let g={created:0,date:1,"import-boundary":2,"imported-message":3,"initial-prompt":4,message:4,activity:4,notice:4,"agent-action":4,"relay-injection":4,"prompt-resolution":4,status:5,"work-final":4};a.sort((e,t)=>{let n=e.ts-t.ts;return Math.abs(n)<3e3&&g[e.entry.type]-g[t.entry.type]||n});let _=[],v=``;for(let{ts:e,entry:t}of a){if(t.type===`created`){_.push(t);continue}let n=kf(e);if(n!==v&&(_.push({type:`date`,date:n,timestamp:e}),v=n),t.type===`activity`){let e=_[_.length-1];if(e&&e.type===`activity`&&Vf(e,t)){e.steps.push(...t.steps);continue}}_.push(t)}return Mf(_)}function Pf(e){return e.type===`message`||e.type===`initial-prompt`?`msg-${e.msg.id}`:e.type===`notice`?`notice-${e.msg.id}`:e.type===`relay-injection`?`relay-injection-${e.event.id}`:e.type===`prompt-resolution`?`prompt-resolution-${e.event.id}`:e.type===`agent-action`?`agent-action-${e.direction}-${e.agentId}`:e.type===`activity`?`act-${e.steps[0]?.id??e.timestamp}`:e.type===`import-boundary`?`import-${e.history.id}`:e.type===`imported-message`?`import-msg-${e.history.id}-${e.entry.originalMessageId}-${e.entry.position}`:e.type===`status`?`status-${e.event.id}`:e.type===`date`?`date-${e.date}`:e.type===`work-final`?`work-final-${e.windowId}`:`created-${e.timestamp}`}function Ff(e){return e.type===`initial-prompt`?[`initprompt-${e.msg.id}`]:[]}function If(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function Lf(e){if(e.type===`message`||e.type===`initial-prompt`||e.type===`notice`){let t=If(e.msg.id);return t===null?[]:[t]}if(e.type===`relay-injection`||e.type===`prompt-resolution`)return[e.event.id];if(e.type===`activity`)return e.steps.map(e=>e.id).filter(Number.isFinite);if(e.type===`imported-message`){let t=If(e.entry.message?.id);return t===null?[]:[t]}return e.type===`work-final`?e.members.map(e=>e.msg.id).filter(e=>If(e)!==null):[]}function Rf(e){let t=Lf(e);return t.length?{messageId:Math.min(...t),endMessageId:Math.max(...t)}:null}function zf(e,t){let n=If(t.messageId);if(n!==null){let r=If(t.endMessageId),i=r!==null&&r>=n?r:n,a=-1,o=-1/0;for(let t=0;t<e.length;t+=1){let r=Lf(e[t]);if(r.some(e=>e>=n&&e<=i))return t;let s=r.filter(e=>e<=n).sort((e,t)=>t-e)[0];s!==void 0&&s>o&&(o=s,a=t)}if(a>=0)return a}if(t.topKey){let n=e.findIndex(e=>Pf(e)===t.topKey||Ff(e).includes(t.topKey));if(n>=0)return n}return-1}function Bf(e){return e.type===`message`||e.type===`initial-prompt`||e.type===`notice`?(e.msg.subject?`${e.msg.subject} `:``)+dn(e.msg):e.type===`imported-message`?dn(e.entry.message):e.type===`activity`?e.steps.map(e=>[e.label,e.text].filter(Boolean).join(` `)).join(`
|
|
22
22
|
`):e.type===`relay-injection`?`${e.event.category} ${e.event.summary}\n${JSON.stringify(e.event.detail)}`:e.type===`prompt-resolution`?[e.event.title,e.event.decisionLabel,e.event.body,...e.event.questions.map(e=>`${e.question} ${e.answer}`)].filter(Boolean).join(`
|
|
23
23
|
`):e.type===`work-final`?e.members.map(e=>dn(e.msg)).join(`
|
|
24
|
-
`):``}function Vf(e,t){let n=e.steps[e.steps.length-1]?.turnId,r=t.steps[0]?.turnId;return n&&r?n===r:!n&&!r}var Hf={online:`text-emerald-400`,offline:`text-zinc-400`,shutdown:`text-zinc-400`,restarted:`text-blue-400`,"compaction-requested":`text-zinc-400`,compacting:`text-amber-400`,compacted:`text-amber-400`,"compaction-stalled":`text-red-400`,"clear-requested":`text-zinc-400`,"clearing-context":`text-amber-400`,"context-cleared":`text-amber-400`,"clear-stalled":`text-red-400`,"shutting-down":`text-zinc-400`};function Uf(e){let t=new Date,[n,r,i]=e.split(`-`).map(Number),a=new Date(n,r-1,i);if(e===kf(t.getTime()))return`Today`;let o=new Date(t);return o.setDate(o.getDate()-1),e===kf(o.getTime())?`Yesterday`:a.toLocaleDateString(void 0,{weekday:`short`,month:`short`,day:`numeric`,year:a.getFullYear()===t.getFullYear()?void 0:`numeric`})}function Wf({event:e}){return(0,V.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-2 my-1`,children:[(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`}),(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,V.jsx)(Ne,{className:j(`w-2 h-2 fill-current`,Hf[e.status]||`text-zinc-400`)}),(0,V.jsx)(`span`,{children:_f[e.status]||e.status}),(0,V.jsx)(`span`,{className:`text-muted-foreground/60`,children:mf(e.timestamp)})]}),(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`})]})}var Gf={"branch.landed":i,"context.warning":ze,"agent.context_threshold":ze,"agent.resume_budget_exhausted":ze,"agent.rate_limit_resume":O},Kf={"branch.landed":`branch landed`,"context.warning":`context warning`,"agent.context_threshold":`context threshold reached`};function qf(e){return e&&(e.includes(`.`)?e.slice(e.indexOf(`.`)+1):e).replace(/[._-]+/g,` `).trim()||`system signal`}function Jf({agentId:e,fallbackLabel:t,className:n,noIcon:r}){let i=M(t=>t.agentsById[e])||null,a=M(e=>e.openInboxThread),o=M(e=>e.switchView),s=i?P(i):t||e;return(0,V.jsxs)(`button`,{type:`button`,className:j(`inline-flex max-w-full items-center gap-1 rounded px-1 text-muted-foreground transition-colors hover:bg-muted/50 hover:text-foreground`,n),onClick:t=>{t.stopPropagation(),a(e),o(`chat`)},title:`Open chat for ${s}`,children:[!r&&(0,V.jsx)(or,{agent:i,className:`w-4 h-4 text-[10px]`}),(0,V.jsx)(`span`,{className:`max-w-[160px] truncate`,children:s})]})}function Yf({msg:e}){let t=e.payload??{},n=Zf(e),r=typeof t.sha==`string`?t.sha:``,a=r?r.slice(0,7):``,o=typeof t.author==`string`?t.author:``,s=typeof t.branch==`string`?t.branch:``,c=typeof t.base==`string`?t.base:``,l=t.pushed,u=typeof t.taskId==`number`&&Number.isSafeInteger(t.taskId)?t.taskId:void 0,d=typeof t.taskLabel==`string`?t.taskLabel:void 0,f=M(e=>e.openTaskDetailById);return(0,V.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-2 my-1`,children:[(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`}),(0,V.jsxs)(`div`,{className:`flex max-w-full flex-wrap items-center justify-center gap-x-1.5 gap-y-0.5 rounded-full border border-emerald-600/35 bg-emerald-500/10 px-2.5 py-1 text-xs text-emerald-700 dark:border-emerald-500/25 dark:text-emerald-300/90`,children:[(0,V.jsx)(i,{className:`h-3 w-3 shrink-0 text-emerald-600 dark:text-emerald-400`}),(0,V.jsx)(`span`,{className:`text-emerald-700 dark:text-emerald-300`,children:`branch landed`}),s&&c&&(0,V.jsxs)(`span`,{className:`font-mono text-emerald-700/80 dark:text-emerald-200/70`,title:`${s} → ${c}`,children:[s,(0,V.jsx)(`span`,{className:`opacity-50`,children:` → `}),c]}),a&&(0,V.jsx)(`span`,{className:`rounded bg-emerald-500/15 px-1 font-mono text-emerald-800 dark:text-emerald-200`,title:r,children:a}),o&&(0,V.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-emerald-700/80 dark:text-emerald-300/80`,children:[(0,V.jsx)(`span`,{className:`opacity-70`,children:`by`}),(0,V.jsx)(Jf,{agentId:o,className:`text-emerald-700 hover:text-emerald-900 dark:text-emerald-300/90 dark:hover:text-emerald-100`})]}),u!=null&&(0,V.jsx)(sr,{id:u,title:d,compact:!0,onClick:()=>f(u)}),l===!1&&(0,V.jsx)(`span`,{className:`text-amber-600 dark:text-amber-300/80`,title:`Local-only land — not pushed to origin`,children:`· local only`}),n&&(0,V.jsxs)(`span`,{className:`max-w-[220px] truncate text-emerald-700/70 dark:text-emerald-300/70`,title:n,children:[`· because `,n]}),(0,V.jsx)(`span`,{className:`text-emerald-700/60 dark:text-emerald-300/50`,children:mf(e.occurredAt??e.createdAt)})]}),(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`})]})}function Xf({msg:e}){let t=typeof e.payload?.kind==`string`?e.payload.kind:``;if(t===`branch.landed`)return(0,V.jsx)(Yf,{msg:e});let n=Gf[t]??bt,r=Kf[t]??qf(t),i=Zf(e);return(0,V.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-2 my-1`,children:[(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`}),(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5 rounded-full border border-border bg-muted/30 px-2.5 py-1 text-xs text-muted-foreground`,children:[(0,V.jsx)(n,{className:`h-3 w-3`}),(0,V.jsx)(`span`,{children:r}),i&&(0,V.jsxs)(`span`,{className:`max-w-[220px] truncate text-muted-foreground/80`,title:i,children:[`· because `,i]}),(0,V.jsx)(`span`,{className:`text-muted-foreground/60`,children:mf(e.occurredAt??e.createdAt)})]}),(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`})]})}function Zf(e){let t=e.payload?.routing;if(!t||typeof t!=`object`||Array.isArray(t))return``;let n=t.reason;return typeof n==`string`?n:``}var Qf={"spawned-child":{ready:`spawned`,exited:`spawned · exited`,failed:`spawn failed`},"spawned-by":{ready:`spawned by`,exited:`spawned by`,failed:`spawned by`}},$f={"spawned-child-ready":h,"spawned-child-exited":Ae,"spawned-child-failed":gt,"spawned-by-ready":rt,"spawned-by-exited":rt,"spawned-by-failed":rt},ep={"spawned-child-ready":`text-emerald-400`,"spawned-child-exited":`text-zinc-400`,"spawned-child-failed":`text-red-400`,"spawned-by-ready":`text-blue-400`,"spawned-by-exited":`text-blue-400`,"spawned-by-failed":`text-blue-400`};function tp({entry:e}){let t=`${e.direction}-${e.status}`,n=Qf[e.direction]?.[e.status]??e.direction,r=$f[t]??bt,i=ep[t]??`text-muted-foreground`,a=e.status===`failed`;return(0,V.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-2 my-1`,children:[(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`}),(0,V.jsxs)(`div`,{className:j(`flex items-center gap-1.5 rounded-full border bg-muted/30 px-2.5 py-1 text-xs`,a?`border-red-500/30`:`border-border`),children:[(0,V.jsx)(r,{className:j(`h-3 w-3 shrink-0`,i)}),(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:n}),(0,V.jsx)(Jf,{agentId:e.agentId}),e.reason&&a&&(0,V.jsxs)(`span`,{className:`text-red-400/80 max-w-[120px] truncate`,title:e.reason,children:[`— `,e.reason]}),(0,V.jsx)(`span`,{className:`text-muted-foreground/60 shrink-0`,children:mf(e.timestamp)})]}),(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`})]})}var np={memory:ie,instructions:_e,tools:Qe,comms:bt,knowledge:xt,context:Xe},rp={memory:`border-emerald-500/25 bg-emerald-500/10 text-emerald-300`,instructions:`border-sky-500/25 bg-sky-500/10 text-sky-300`,tools:`border-amber-500/25 bg-amber-500/10 text-amber-300`,comms:`border-violet-500/25 bg-violet-500/10 text-violet-300`,knowledge:`border-cyan-500/25 bg-cyan-500/10 text-cyan-300`,context:`border-zinc-500/25 bg-zinc-500/10 text-zinc-300`};function ip(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}}function ap({entry:e}){let[t,n]=(0,B.useState)(!1),r=e.event,i=np[r.category]??ht;return(0,V.jsx)(`div`,{className:`flex justify-center py-2 my-1`,children:(0,V.jsxs)(`div`,{className:j(`w-full max-w-[85%] md:max-w-[75%] rounded-lg border px-2.5 py-1.5 text-xs shadow-sm`,rp[r.category]??rp.context),children:[(0,V.jsxs)(`button`,{type:`button`,className:`flex w-full min-w-0 items-center gap-1.5 text-left`,onClick:()=>n(e=>!e),children:[(0,V.jsx)(i,{className:`h-3.5 w-3.5 shrink-0`}),(0,V.jsx)(`span`,{className:`shrink-0 font-medium`,children:r.category}),(0,V.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-foreground/80`,children:r.summary}),(0,V.jsx)(`span`,{className:`shrink-0 text-muted-foreground/60`,children:mf(r.timestamp)}),(0,V.jsx)(s,{className:j(`h-3.5 w-3.5 shrink-0 transition-transform`,t&&`rotate-90`)})]}),t&&(0,V.jsx)(`pre`,{className:`mt-2 max-h-72 overflow-auto rounded-md border border-border/60 bg-background/75 p-2 font-mono text-[11px] leading-relaxed text-muted-foreground whitespace-pre-wrap break-words`,children:ip(r.detail)})]})})}function op({blockedLabel:e,onInterrupt:t}){return e?(0,V.jsx)(`div`,{className:`flex justify-start mb-3 animate-in fade-in slide-in-from-bottom-1 duration-150`,children:(0,V.jsxs)(`div`,{className:`flex h-9 items-center gap-2 rounded-2xl rounded-bl-sm bg-card ring-1 ring-red-500/30 px-4`,children:[(0,V.jsx)(gt,{className:`w-3.5 h-3.5 text-red-400`}),(0,V.jsxs)(`span`,{className:`text-xs text-red-300`,children:[`blocked: `,e]})]})}):(0,V.jsx)(`div`,{className:`flex justify-start mb-3 animate-in fade-in slide-in-from-bottom-1 duration-150`,children:(0,V.jsxs)(`div`,{className:`flex h-9 items-center gap-2 rounded-2xl rounded-bl-sm bg-card ring-1 ring-foreground/10 px-4`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,V.jsx)(`span`,{className:`w-1.5 h-1.5 rounded-full bg-yellow-400 animate-[pulse_1.4s_ease-in-out_infinite]`}),(0,V.jsx)(`span`,{className:`w-1.5 h-1.5 rounded-full bg-yellow-400 animate-[pulse_1.4s_ease-in-out_0.2s_infinite]`}),(0,V.jsx)(`span`,{className:`w-1.5 h-1.5 rounded-full bg-yellow-400 animate-[pulse_1.4s_ease-in-out_0.4s_infinite]`})]}),(0,V.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`working`}),t&&(0,V.jsxs)(`button`,{onClick:t,title:`Interrupt`,className:`ml-1 flex items-center gap-1 rounded-full px-1.5 py-0.5 text-xs text-muted-foreground hover:text-red-300 hover:bg-red-500/10 transition-colors`,children:[(0,V.jsx)(qe,{className:`w-3.5 h-3.5`}),`Stop`]})]})})}var sp=`agent-relay:chat-hide-tools`,cp=(()=>{let e=new Set,t=(()=>{try{return window.localStorage.getItem(sp)===`on`}catch{return!1}})(),n=()=>e.forEach(e=>e());return typeof window<`u`&&window.addEventListener(`storage`,e=>{e.key===sp&&(t=e.newValue===`on`,n())}),{subscribe(t){return e.add(t),()=>e.delete(t)},get:()=>t,toggle(){t=!t;try{window.localStorage.setItem(sp,t?`on`:`off`)}catch{}n()}}})();function lp(){return[(0,B.useSyncExternalStore)(cp.subscribe,cp.get,()=>!1),cp.toggle]}function up({steps:e,showReasoning:t,issueRepo:n}){let[r,i]=lp(),a=t?e:e.filter(e=>e.kind!==`reasoning`);if(!a.length)return null;let o=a.filter(e=>e.kind===`tool`).length;return(0,V.jsx)(`div`,{className:`flex justify-start mb-2`,children:(0,V.jsxs)(`div`,{className:`max-w-[85%] md:max-w-[75%] min-w-0 space-y-1.5`,children:[a.map(e=>e.kind===`narration`?(0,V.jsx)(cr,{text:e.text,issueRepo:n,className:`text-sm leading-relaxed break-words text-foreground/90 min-w-0`},e.id):e.kind===`reasoning`?(0,V.jsxs)(`div`,{className:`flex items-start gap-1.5 text-xs leading-relaxed text-muted-foreground/80`,children:[(0,V.jsx)(ie,{className:`w-3.5 h-3.5 mt-0.5 shrink-0 opacity-70`}),(0,V.jsx)(cr,{text:e.text,issueRepo:n,className:`italic break-words min-w-0`})]},e.id):r?null:(0,V.jsxs)(`div`,{className:`flex items-start gap-1.5 text-xs leading-relaxed text-muted-foreground`,children:[(0,V.jsx)(Se,{className:`w-3 h-3 mt-0.5 shrink-0 opacity-70`}),(0,V.jsxs)(`span`,{className:`min-w-0 break-words`,children:[(0,V.jsx)(`span`,{className:`font-medium`,children:e.label||`tool`}),e.text&&e.text.trim()&&e.text.trim()!==(e.label??``).trim()?(0,V.jsxs)(`span`,{className:`opacity-70`,children:[` — `,e.text]}):null]})]},e.id)),o>0&&(0,V.jsxs)(`button`,{onClick:i,className:`flex items-center gap-1 text-[11px] text-muted-foreground/50 hover:text-muted-foreground transition-colors text-left`,children:[(0,V.jsx)(s,{className:j(`w-3 h-3 shrink-0 transition-transform`,!r&&`rotate-90`)}),(0,V.jsx)(`span`,{children:r?`show ${o} tool step${o===1?``:`s`}`:`hide tool steps`})]})]})})}function dp({entry:e}){let{event:t}=e,n=t.kind===`questions`,r=n?t.title:t.kind===`plan`?`Plan prompt`:`${t.toolName} permission`;return(0,V.jsx)(`div`,{className:`flex justify-center py-1.5`,children:(0,V.jsxs)(`div`,{className:`w-full max-w-2xl rounded-md border border-border bg-muted/20 px-3 py-2 text-sm`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,V.jsx)(yt,{className:`h-3.5 w-3.5 text-emerald-500`}),(0,V.jsx)(`span`,{className:`font-medium text-foreground`,children:r}),(0,V.jsx)(`span`,{children:t.decisionLabel}),(0,V.jsx)(`span`,{className:`ml-auto shrink-0 text-muted-foreground/60`,children:mf(t.timestamp)})]}),n&&t.questions.length>0?(0,V.jsx)(`div`,{className:`mt-2 space-y-1.5`,children:t.questions.map((e,t)=>(0,V.jsxs)(`div`,{className:`grid gap-0.5`,children:[(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:e.question}),(0,V.jsx)(`div`,{className:`text-sm text-foreground`,children:e.answer})]},`${e.question}-${t}`))}):t.body.trim()?(0,V.jsx)(`div`,{className:`mt-2 max-h-48 overflow-auto rounded border border-border/70 bg-background/40 px-2 py-1.5 text-sm`,children:(0,V.jsx)(cr,{text:t.body})}):null]})})}function fp({date:e}){return(0,V.jsxs)(`div`,{className:`flex items-center justify-center gap-3 py-3 my-1`,children:[(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`}),(0,V.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:Uf(e)}),(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`})]})}function pp({timestamp:e}){let t=new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,year:`numeric`,hour:`2-digit`,minute:`2-digit`});return(0,V.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-2 my-1`,children:[(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`}),(0,V.jsxs)(`span`,{className:`text-xs text-muted-foreground/60`,children:[`created `,t]}),(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`})]})}function mp({history:e}){let t=e.sourceAgentLabel||e.sourcePeerId,n=e.entries.length;return(0,V.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-2 my-1`,children:[(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`}),(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5 rounded-full border border-dashed border-border bg-muted/30 px-2 py-1 text-[11px] text-muted-foreground`,children:[(0,V.jsx)(Ue,{className:`h-3 w-3`}),(0,V.jsxs)(`span`,{children:[`forked history from `,t]}),(0,V.jsxs)(`span`,{className:`text-muted-foreground/60`,children:[n,` `,n===1?`entry`:`entries`]})]}),(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`})]})}function hp({entry:e,sourceLabel:t,issueRepo:n}){let r=e.message,i=dn(r),a=e.originalFrom===bn;return(0,V.jsx)(`div`,{className:j(`flex mb-3 opacity-80`,a?`justify-end`:`justify-start`),children:(0,V.jsx)(`div`,{className:`max-w-[85%] md:max-w-[75%]`,children:(0,V.jsxs)(`div`,{className:j(`rounded-2xl border border-dashed px-3.5 py-2 text-sm select-text`,a?`border-primary/25 bg-primary/10 text-foreground rounded-br-sm`:`border-border bg-card/70 rounded-bl-sm`),children:[(0,V.jsxs)(`div`,{className:j(`mb-1 text-[10px] uppercase tracking-normal`,a?`text-primary/70`:`text-muted-foreground`),children:[`forked history · `,a?`you`:t||e.originalFrom]}),(0,V.jsx)(cr,{text:i,rawBody:r.body,issueRepo:n,className:`leading-relaxed`}),(0,V.jsxs)(`p`,{className:j(`mt-1 flex items-center justify-end gap-1.5 text-xs`,a?`text-primary/60`:`text-muted-foreground`),children:[(0,V.jsxs)(`span`,{className:`opacity-40`,children:[`#`,e.originalMessageId]}),(0,V.jsx)(`span`,{children:mf(e.originalCreatedAt)})]})]})})})}function gp({msg:e,issueRepo:t}){let n=dn(e),r=mf(e.occurredAt??e.createdAt);return(0,V.jsx)(`div`,{"data-msg-id":e.id,className:`mb-3`,children:(0,V.jsxs)(`div`,{className:`rounded-xl border border-primary/30 bg-primary/[0.06] px-3.5 py-2.5 shadow-sm`,children:[(0,V.jsxs)(`div`,{className:`mb-1.5 flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-wide text-primary/80`,children:[(0,V.jsx)(ht,{className:`h-3.5 w-3.5`}),(0,V.jsx)(`span`,{children:`Initial prompt`}),(0,V.jsx)(`span`,{className:`ml-auto text-[10px] font-normal normal-case text-muted-foreground/60`,children:r})]}),(0,V.jsx)(cr,{text:n,rawBody:e.body,issueRepo:t,className:`text-sm leading-relaxed text-foreground`})]})})}function _p({scrollEl:e,timeline:t}){let[n,r]=(0,B.useState)(!0),[i,a]=(0,B.useState)(null),[o,s]=(0,B.useState)(null),[c,l]=(0,B.useState)(!1),u=(0,B.useMemo)(()=>{for(let e=t.length-1;e>=0;e--){let n=t[e];if(!(!n||n.type!==`message`&&n.type!==`initial-prompt`)&&n.msg.from===`user`)return{id:n.msg.id,body:dn(n.msg)}}return null},[t]);if((0,B.useEffect)(()=>{if(!u||!e){r(!0);return}let t=null,n=null,i=()=>{let i=e.querySelector(`[data-msg-id="${u.id}"]`);if(!i){t?.disconnect(),t=null,n=null,r(!1);return}let a=i.getBoundingClientRect(),o=e.getBoundingClientRect();l(a.top<o.top),i!==n&&(t?.disconnect(),n=i,t=new IntersectionObserver(([e])=>{e&&r(e.isIntersecting)},{root:e,threshold:0}),t.observe(i))};return i(),e.addEventListener(`scroll`,i,{passive:!0}),()=>{t?.disconnect(),e.removeEventListener(`scroll`,i)}},[u?.id,e]),n||!u||!u.body.trim())return null;let d=i?.id===u.id?i.value:!1,f=o?.id===u.id?o.value:!1;function p(){!e||!u||e.querySelector(`[data-msg-id="${u.id}"]`)?.scrollIntoView({behavior:`smooth`,block:`center`})}let m=c?`↑`:`↓`;return f?(0,V.jsx)(`div`,{className:`flex shrink-0 bg-card/45 border-b border-border`,children:(0,V.jsxs)(`button`,{type:`button`,className:`w-full flex items-center justify-center gap-1.5 py-1 text-[11px] text-primary/60 hover:text-primary transition-colors`,onClick:()=>s({id:u.id,value:!1}),children:[(0,V.jsx)(`span`,{children:`Your prompt`}),(0,V.jsx)(ue,{className:`w-3 h-3`})]})}):(0,V.jsxs)(`section`,{className:`flex shrink-0 flex-col border-b border-border bg-card/45 px-3 py-2`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2 text-[11px] text-muted-foreground mb-0.5`,children:[(0,V.jsx)(`span`,{className:`font-medium text-primary/70`,children:`Your prompt`}),(0,V.jsxs)(`button`,{type:`button`,className:`ml-auto hover:text-foreground transition-colors`,onClick:p,children:[m,` scroll to original`]}),(0,V.jsx)(`button`,{type:`button`,className:`hover:text-foreground transition-colors`,onClick:()=>s({id:u.id,value:!0}),title:`Minimize`,children:(0,V.jsx)(se,{className:`w-3 h-3`})})]}),(0,V.jsx)(`p`,{className:j(`text-sm text-foreground leading-snug cursor-pointer`,!d&&`line-clamp-2`),onClick:()=>a({id:u.id,value:!d}),children:u.body})]})}var vp={none:`None`,uncommitted:`Uncommitted`,"committed-on-branch":`On Branch`,"landed-on-main":`Landed`,deploying:`Deploying`,deployed:`Deployed`},yp={open:`bg-blue-500/10 text-blue-400 border-blue-500/20`,claimed:`bg-purple-500/10 text-purple-300 border-purple-500/20`,in_progress:`bg-purple-500/10 text-purple-400 border-purple-500/20`,blocked:`bg-yellow-500/10 text-yellow-400 border-yellow-500/20`,orphaned:`bg-zinc-500/10 text-zinc-400 border-zinc-500/20`,done:`bg-emerald-500/10 text-emerald-400 border-emerald-500/20`,failed:`bg-red-500/10 text-red-400 border-red-500/20`,canceled:`bg-zinc-500/10 text-zinc-400 border-zinc-500/20`},bp={none:`bg-zinc-500/10 text-zinc-400`,uncommitted:`bg-yellow-500/10 text-yellow-400`,"committed-on-branch":`bg-blue-500/10 text-blue-400`,"landed-on-main":`bg-emerald-500/10 text-emerald-400`,deploying:`bg-purple-500/10 text-purple-400`,deployed:`bg-teal-500/10 text-teal-400`};function xp(e){let t=e.dispatch;return{title:e.title??``,intent:e.intent??``,latestSteer:e.latestSteer??``,doneWhen:e.doneWhen??``,teamId:e.teamId??``,dispatchComplexity:t?.complexity??``,dispatchType:t?.type??``,dispatchFootprint:t?.contextFootprint??``,dispatchCriticality:t?.criticality??``}}function Sp(){let e=Ot(),t=M(e=>e.taskDetailOpen),n=M(e=>e.taskDetailId),r=M(e=>e.taskDetailById),i=M(e=>e.taskMemoryById),a=M(e=>e.taskHistoryById),o=M(e=>e.taskDispatchResultById),s=M(e=>e.taskDispatchLoadingId),c=M(e=>e.providerCatalog),l=M(e=>e.closeTaskDetail),u=M(e=>e.doEditTask),d=M(e=>e.doDispatchTask),f=M(e=>e.doSpawnWithTask),p=c.map(e=>e.provider),[m,h]=(0,B.useState)(!1),[g,_]=(0,B.useState)(null),[v,y]=(0,B.useState)(``),[x,S]=(0,B.useState)(``),[C,w]=(0,B.useState)(``),T=n==null?null:r[n]??null,ne=n==null?null:i[n]??null,re=n==null?[]:a[n]??[],ie=n==null?null:o[n]??null,ae=n!=null&&s===n,oe=T?yp[T.status]??`bg-zinc-500/10 text-zinc-400`:``,E=T?.deliverableStage?bp[T.deliverableStage]??`bg-zinc-500/10 text-zinc-400`:``;function D(e){e||(l(),h(!1),_(null))}function se(){T&&(_(xp(T)),h(!0))}function ce(){h(!1),_(null)}async function le(){if(!T||!g)return;let e={};g.dispatchComplexity&&(e.complexity=g.dispatchComplexity),g.dispatchType&&(e.type=g.dispatchType),g.dispatchFootprint&&(e.contextFootprint=g.dispatchFootprint),g.dispatchCriticality&&(e.criticality=g.dispatchCriticality);let t={...g.title===T.title?{}:{title:g.title},...g.intent===(T.intent??``)?{}:{intent:g.intent},...g.latestSteer===(T.latestSteer??``)?{}:{latestSteer:g.latestSteer},...g.doneWhen===(T.doneWhen??``)?{}:{doneWhen:g.doneWhen},...g.teamId===(T.teamId??``)?{}:{teamId:g.teamId},...Object.keys(e).length||T.dispatch?{dispatch:Object.keys(e).length?e:null}:{}};if(!Object.keys(t).length){ce();return}await u(T.id,t),h(!1),_(null)}function ue(){if(!T)return;let e={};v&&(e.provider=v),x&&(e.model=x),C&&(e.effort=C),d(T.id,Object.keys(e).length?e:void 0)}return(0,V.jsx)(ku,{open:t,onOpenChange:D,children:(0,V.jsxs)(Nu,{className:`w-full max-w-[100dvw] sm:max-w-lg lg:max-w-xl p-0 flex flex-col`,showCloseButton:!1,children:[(0,V.jsx)(Pu,{className:`shrink-0 p-4 border-b border-border`,children:(0,V.jsxs)(`div`,{className:`flex items-start gap-2 min-w-0`,children:[(0,V.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,V.jsx)(`div`,{className:`flex items-center gap-2 flex-wrap mb-1`,children:T&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(I,{variant:`outline`,className:`text-xs border ${oe}`,children:T.status}),T.deliverableStage&&(0,V.jsx)(I,{variant:`secondary`,className:`text-xs ${E}`,children:vp[T.deliverableStage]??T.deliverableStage}),(0,V.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`T`,T.id]})]})}),(0,V.jsx)(Fu,{className:`text-base leading-snug`,children:T?.title??`Task`})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-1 shrink-0`,children:[T&&!m&&(0,V.jsx)(L,{size:`sm`,variant:`ghost`,className:`h-7 px-2`,onClick:se,title:`Edit task`,children:(0,V.jsx)(b,{className:`w-3.5 h-3.5`})}),(0,V.jsx)(Au,{asChild:!0,children:(0,V.jsxs)(L,{size:`icon-sm`,variant:`ghost`,title:`Close`,children:[(0,V.jsx)(k,{className:`w-4 h-4`}),(0,V.jsx)(`span`,{className:`sr-only`,children:`Close`})]})})]})]})}),(0,V.jsx)(Jd,{className:`flex-1 min-h-0 overflow-x-hidden`,children:(0,V.jsxs)(`div`,{className:`p-4 space-y-5 min-w-0`,children:[!T&&(0,V.jsx)(`div`,{className:`text-sm text-muted-foreground text-center py-8`,children:`Loading…`}),T&&m&&g&&(0,V.jsx)(Cp,{form:g,onChange:e=>_(t=>t&&{...t,...e}),onSave:()=>void le(),onCancel:ce}),T&&!m&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`section`,{children:[(0,V.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2`,children:`Status`}),(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-2 text-sm`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground mb-0.5`,children:`Execution`}),(0,V.jsx)(I,{variant:`outline`,className:`text-xs border ${oe}`,children:T.status})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground mb-0.5`,children:`Deliverable stage`}),(0,V.jsx)(I,{variant:`secondary`,className:`text-xs ${E}`,children:vp[T.deliverableStage??`none`]??T.deliverableStage??`none`})]})]}),T.blockedBy&&T.blockedBy.length>0&&(0,V.jsx)(`div`,{className:`mt-2 space-y-1`,children:T.blockedBy.map((e,t)=>(0,V.jsxs)(`div`,{className:`flex items-center gap-1 text-xs text-yellow-400 min-w-0`,children:[(0,V.jsx)(`span`,{className:`font-medium capitalize shrink-0`,children:e.type}),e.ref&&(0,V.jsxs)(`span`,{className:`text-muted-foreground truncate min-w-0`,children:[`→ `,e.ref]}),e.note&&(0,V.jsx)(`span`,{className:`text-muted-foreground truncate min-w-0`,children:e.note})]},t))})]}),(0,V.jsx)(Ml,{}),(T.intent||T.doneWhen)&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`section`,{className:`space-y-2`,children:[T.intent&&(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-1`,children:`Intent`}),(0,V.jsx)(cr,{text:T.intent,className:`text-sm min-w-0 break-words [overflow-wrap:anywhere]`})]}),T.doneWhen&&(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-1`,children:`Done when`}),(0,V.jsx)(cr,{text:T.doneWhen,className:`text-sm min-w-0 break-words [overflow-wrap:anywhere]`})]})]}),(0,V.jsx)(Ml,{})]}),(0,V.jsxs)(`section`,{children:[(0,V.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2`,children:`Ownership`}),(0,V.jsxs)(`div`,{className:`space-y-1 text-sm`,children:[T.ownerAgentId&&(0,V.jsxs)(`div`,{className:`flex gap-2 min-w-0`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground shrink-0 w-20`,children:`Owner`}),(0,V.jsx)(Jf,{agentId:T.ownerAgentId,fallbackLabel:T.ownerAgentLabel,className:`min-w-0 text-sm`})]}),T.createdBy&&(0,V.jsxs)(`div`,{className:`flex gap-2 min-w-0`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground shrink-0 w-20`,children:`Created by`}),(0,V.jsx)(`span`,{className:`min-w-0 break-words [overflow-wrap:anywhere]`,title:T.createdBy,children:T.createdBy})]}),T.teamId&&(0,V.jsxs)(`div`,{className:`flex gap-2 min-w-0`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground shrink-0 w-20`,children:`Team`}),(0,V.jsx)(`span`,{className:`min-w-0 break-words [overflow-wrap:anywhere] font-mono text-xs`,title:T.teamId,children:T.teamId})]}),(0,V.jsxs)(`div`,{className:`flex gap-2`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground shrink-0 w-20`,children:`Created`}),(0,V.jsx)(`span`,{title:cn(T.createdAt),children:N(e,T.createdAt)})]}),(0,V.jsxs)(`div`,{className:`flex gap-2`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground shrink-0 w-20`,children:`Updated`}),(0,V.jsx)(`span`,{title:cn(T.updatedAt),children:N(e,T.updatedAt)})]})]})]}),(T.dispatchWorkShape?.specified||T.dispatchDecision||T.boundWorkerModel)&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Ml,{}),(0,V.jsx)(wp,{detail:T})]}),(T.branch||T.commits&&T.commits.length>0)&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Ml,{}),(0,V.jsxs)(`section`,{className:`min-w-0 overflow-hidden`,children:[(0,V.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2`,children:`Code`}),T.branch&&(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5 text-sm mb-1 min-w-0`,children:[(0,V.jsx)(te,{className:`w-3.5 h-3.5 text-muted-foreground shrink-0`}),(0,V.jsx)(`span`,{className:`font-mono text-xs min-w-0 break-words [overflow-wrap:anywhere]`,title:T.branch,children:T.branch})]}),T.commits?.map(e=>(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5 text-sm ml-1 min-w-0`,children:[(0,V.jsx)(ee,{className:`w-3.5 h-3.5 text-muted-foreground shrink-0`}),(0,V.jsx)(`span`,{className:`font-mono text-xs text-muted-foreground shrink-0`,children:e.sha.slice(0,8)}),e.subject&&(0,V.jsx)(`span`,{className:`text-xs min-w-0 break-words [overflow-wrap:anywhere]`,children:e.subject})]},e.sha))]})]}),T.issues&&T.issues.length>0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Ml,{}),(0,V.jsx)(Dp,{issues:T.issues})]}),(T.dependsOn&&T.dependsOn.length>0||T.dependents&&T.dependents.length>0)&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Ml,{}),(0,V.jsx)(Op,{dependsOn:T.dependsOn??[],dependents:T.dependents??[]})]}),T.gates&&T.gates.length>0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Ml,{}),(0,V.jsx)(kp,{gates:T.gates,now:e})]}),(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Ml,{}),(0,V.jsx)(Ep,{taskId:T.id,taskStatus:T.status,pinProvider:v,pinModel:x,pinEffort:C,onPinProvider:y,onPinModel:S,onPinEffort:w,onDispatch:ue,onSpawn:e=>void f(T.id,e),loading:ae,result:ie,providers:p})]}),ne&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Ml,{}),(0,V.jsx)(Ap,{memory:ne,now:e})]}),re.length>0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Ml,{}),(0,V.jsx)(jp,{history:re,now:e})]})]})]})})]})})}function Cp({form:e,onChange:t,onSave:n,onCancel:r}){return(0,V.jsxs)(`section`,{className:`space-y-4`,children:[(0,V.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider`,children:`Edit Task fields`}),(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsx)($,{htmlFor:`edit-title`,children:`Title`}),(0,V.jsx)(R,{id:`edit-title`,value:e.title,onChange:e=>t({title:e.target.value})})]}),(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsx)($,{htmlFor:`edit-intent`,children:`Intent`}),(0,V.jsx)(Zd,{id:`edit-intent`,value:e.intent,onChange:e=>t({intent:e.target.value}),rows:3})]}),(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsx)($,{htmlFor:`edit-steer`,children:`Latest steer`}),(0,V.jsx)(Zd,{id:`edit-steer`,value:e.latestSteer,onChange:e=>t({latestSteer:e.target.value}),rows:2,placeholder:`Redirect or re-scope in-flight work`})]}),(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsx)($,{htmlFor:`edit-done-when`,children:`Done when`}),(0,V.jsx)(Zd,{id:`edit-done-when`,value:e.doneWhen,onChange:e=>t({doneWhen:e.target.value}),rows:2})]}),(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsx)($,{htmlFor:`edit-team`,children:`Team ID`}),(0,V.jsx)(R,{id:`edit-team`,value:e.teamId,onChange:e=>t({teamId:e.target.value})})]}),(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsx)($,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider`,children:`Dispatch work-shape`}),(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{htmlFor:`edit-complexity`,className:`text-xs`,children:`Complexity`}),(0,V.jsxs)(`select`,{id:`edit-complexity`,className:`w-full mt-1 rounded-md border border-input bg-background px-2 py-1.5 text-sm`,value:e.dispatchComplexity,onChange:e=>t({dispatchComplexity:e.target.value}),children:[(0,V.jsx)(`option`,{value:``,children:`—`}),It.map(e=>(0,V.jsx)(`option`,{value:e,children:e},e))]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{htmlFor:`edit-type`,className:`text-xs`,children:`Type`}),(0,V.jsxs)(`select`,{id:`edit-type`,className:`w-full mt-1 rounded-md border border-input bg-background px-2 py-1.5 text-sm`,value:e.dispatchType,onChange:e=>t({dispatchType:e.target.value}),children:[(0,V.jsx)(`option`,{value:``,children:`—`}),jt.map(e=>(0,V.jsx)(`option`,{value:e,children:e},e))]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{htmlFor:`edit-footprint`,className:`text-xs`,children:`Context footprint`}),(0,V.jsxs)(`select`,{id:`edit-footprint`,className:`w-full mt-1 rounded-md border border-input bg-background px-2 py-1.5 text-sm`,value:e.dispatchFootprint,onChange:e=>t({dispatchFootprint:e.target.value}),children:[(0,V.jsx)(`option`,{value:``,children:`—`}),Pt.map(e=>(0,V.jsx)(`option`,{value:e,children:e},e))]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{htmlFor:`edit-criticality`,className:`text-xs`,children:`Criticality`}),(0,V.jsxs)(`select`,{id:`edit-criticality`,className:`w-full mt-1 rounded-md border border-input bg-background px-2 py-1.5 text-sm`,value:e.dispatchCriticality,onChange:e=>t({dispatchCriticality:e.target.value}),children:[(0,V.jsx)(`option`,{value:``,children:`—`}),zt.map(e=>(0,V.jsx)(`option`,{value:e,children:e},e))]})]})]})]}),(0,V.jsxs)(`div`,{className:`flex gap-2 pt-1`,children:[(0,V.jsx)(L,{size:`sm`,onClick:n,children:`Save`}),(0,V.jsx)(L,{size:`sm`,variant:`outline`,onClick:r,children:`Cancel`})]})]})}function wp({detail:e}){let t=e.dispatchWorkShape,n=e.dispatchDecision,r=e.boundWorkerModel;return(0,V.jsxs)(`section`,{className:`space-y-3`,children:[(0,V.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider`,children:`Dispatch`}),t&&(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground mb-1`,children:`Work shape`}),t.specified?(0,V.jsxs)(`div`,{className:`flex flex-wrap gap-1`,children:[t.complexity&&(0,V.jsx)(I,{variant:`secondary`,className:`text-xs`,children:t.complexity}),t.type&&(0,V.jsx)(I,{variant:`secondary`,className:`text-xs`,children:t.type}),t.contextFootprint&&(0,V.jsx)(I,{variant:`secondary`,className:`text-xs`,children:t.contextFootprint}),t.criticality&&(0,V.jsx)(I,{variant:`secondary`,className:`text-xs`,children:t.criticality})]}):(0,V.jsx)(`span`,{className:`text-xs italic text-muted-foreground`,children:`Not specified`})]}),n&&(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground mb-1`,children:`Decision`}),(0,V.jsxs)(`div`,{className:`flex flex-wrap gap-1 mb-1`,children:[n.target.provider&&(0,V.jsx)(I,{variant:`secondary`,className:`text-xs font-mono`,children:n.target.provider}),n.target.model&&(0,V.jsx)(I,{variant:`outline`,className:`text-xs font-mono`,children:n.target.model}),n.target.effort&&(0,V.jsx)(I,{variant:`outline`,className:`text-xs`,children:n.target.effort}),n.pinned&&(0,V.jsx)(I,{variant:`outline`,className:`text-xs text-yellow-400 border-yellow-500/30`,children:`pinned`})]}),n.rationale&&(0,V.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n.rationale}),n.warnings?.map((e,t)=>(0,V.jsxs)(`div`,{className:`flex items-start gap-1 text-xs text-yellow-400 mt-0.5`,children:[(0,V.jsx)(ze,{className:`w-3 h-3 shrink-0 mt-0.5`}),(0,V.jsx)(`span`,{children:e})]},t))]}),r&&(0,V.jsxs)(`div`,{className:`min-w-0`,children:[(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground mb-1`,children:`Bound worker`}),(0,V.jsxs)(`div`,{className:`flex flex-wrap gap-1 mb-1`,children:[r.provider&&(0,V.jsx)(I,{variant:`secondary`,className:`text-xs font-mono`,children:r.provider}),r.model&&(0,V.jsx)(I,{variant:`outline`,className:`text-xs font-mono`,children:r.model}),r.effort&&(0,V.jsx)(I,{variant:`outline`,className:`text-xs`,children:r.effort})]}),(0,V.jsx)(Jf,{agentId:r.agentId,fallbackLabel:e.ownerAgentLabel,className:`text-xs text-muted-foreground`})]})]})}var Tp=new Set([`done`,`canceled`,`failed`]);function Ep({taskId:e,taskStatus:t,pinProvider:n,pinModel:r,pinEffort:i,onPinProvider:a,onPinModel:o,onPinEffort:s,onDispatch:c,onSpawn:l,loading:u,result:d,providers:f}){return(0,V.jsxs)(`section`,{children:[(0,V.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-3`,children:`Spawn with task`}),(0,V.jsxs)(`div`,{className:`grid grid-cols-3 gap-2 mb-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{htmlFor:`spawn-provider-${e}`,className:`text-xs`,children:`Provider pin`}),(0,V.jsxs)(`select`,{id:`spawn-provider-${e}`,className:`w-full mt-1 rounded-md border border-input bg-background px-2 py-1.5 text-xs`,value:n,onChange:e=>a(e.target.value),children:[(0,V.jsx)(`option`,{value:``,children:`auto`}),f.map(e=>(0,V.jsx)(`option`,{value:e,children:e},e))]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{htmlFor:`spawn-model-${e}`,className:`text-xs`,children:`Model pin`}),(0,V.jsx)(R,{id:`spawn-model-${e}`,className:`mt-1 h-8 text-xs`,value:r,onChange:e=>o(e.target.value),placeholder:`auto`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{htmlFor:`spawn-effort-${e}`,className:`text-xs`,children:`Effort pin`}),(0,V.jsx)(R,{id:`spawn-effort-${e}`,className:`mt-1 h-8 text-xs`,value:i,onChange:e=>s(e.target.value),placeholder:`auto`})]})]}),(0,V.jsxs)(L,{size:`sm`,onClick:c,disabled:u||Tp.has(t),className:`gap-1.5`,children:[(0,V.jsx)(Be,{className:`w-3.5 h-3.5`}),u?`Planning…`:`Plan dispatch`]}),d&&(0,V.jsxs)(`div`,{className:`mt-3 rounded-md border border-border bg-muted/20 p-3 space-y-2`,children:[(0,V.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,V.jsx)(Be,{className:`w-3.5 h-3.5 text-muted-foreground shrink-0 mt-0.5`}),(0,V.jsxs)(`div`,{className:`flex-1 min-w-0 space-y-1`,children:[(0,V.jsxs)(`div`,{className:`flex flex-wrap gap-1.5`,children:[(0,V.jsx)(I,{variant:`secondary`,className:`text-xs font-mono`,children:d.decision.target.provider}),d.decision.target.model&&(0,V.jsx)(I,{variant:`outline`,className:`text-xs font-mono`,children:d.decision.target.model}),d.decision.target.effort&&(0,V.jsx)(I,{variant:`outline`,className:`text-xs`,children:d.decision.target.effort}),d.decision.pinned&&(0,V.jsx)(I,{variant:`outline`,className:`text-xs text-yellow-400 border-yellow-500/30`,children:`pinned`})]}),(0,V.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:d.decision.rationale}),d.decision.factors.band&&(0,V.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Band: `,d.decision.factors.band,d.decision.factors.contextWindowTokens?` · ${(d.decision.factors.contextWindowTokens/1e3).toFixed(0)}k ctx`:``]}),d.decision.warnings.length>0&&(0,V.jsx)(`div`,{className:`space-y-0.5`,children:d.decision.warnings.map((e,t)=>(0,V.jsxs)(`div`,{className:`flex items-start gap-1 text-xs text-yellow-400`,children:[(0,V.jsx)(ze,{className:`w-3 h-3 shrink-0 mt-0.5`}),(0,V.jsx)(`span`,{children:e})]},t))}),d.decision.review&&(0,V.jsxs)(`div`,{className:`text-xs text-muted-foreground`,children:[`Auto-review: `,d.decision.review.reason,` → `,d.decision.review.target.provider,`/`,d.decision.review.target.model??`default`,d.reviewTaskId&&(0,V.jsxs)(`span`,{className:`ml-1`,children:[`(task T`,d.reviewTaskId,`)`]})]})]})]}),(0,V.jsx)(`div`,{className:`pt-1 border-t border-border/50`,children:(0,V.jsxs)(L,{size:`sm`,className:`gap-1.5 w-full`,onClick:()=>l(d.decision.target),children:[(0,V.jsx)(Be,{className:`w-3.5 h-3.5`}),`Spawn worker with task T`,e]})})]})]})}function Dp({issues:e}){return(0,V.jsxs)(`section`,{children:[(0,V.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2`,children:`Linked Issues`}),(0,V.jsx)(`div`,{className:`space-y-1.5`,children:e.map(e=>(0,V.jsxs)(`div`,{className:`flex items-center gap-2 text-sm min-w-0`,children:[(0,V.jsxs)(`span`,{className:`font-mono text-xs text-muted-foreground shrink-0`,children:[e.provider,`/`,e.externalKey]}),e.title&&(0,V.jsx)(`span`,{className:`truncate flex-1 min-w-0`,children:e.title}),(0,V.jsx)(I,{variant:`secondary`,className:`text-xs shrink-0`,children:e.status}),e.url&&(0,V.jsx)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,className:`shrink-0 text-muted-foreground hover:text-foreground`,children:(0,V.jsx)(xe,{className:`w-3.5 h-3.5`})})]},e.issueRefId))})]})}function Op({dependsOn:e,dependents:t}){return(0,V.jsxs)(`section`,{children:[(0,V.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2`,children:`Dependencies`}),(0,V.jsxs)(`div`,{className:`space-y-1 text-sm`,children:[e.length>0&&(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Depends on: `}),e.map((t,n)=>(0,V.jsxs)(`span`,{className:`font-mono text-xs`,children:[`T`,t,n<e.length-1?`, `:``]},t))]}),t.length>0&&(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Blocks: `}),t.map((e,n)=>(0,V.jsxs)(`span`,{className:`font-mono text-xs`,children:[`T`,e,n<t.length-1?`, `:``]},e))]})]})]})}function kp({gates:e,now:t}){return(0,V.jsxs)(`section`,{children:[(0,V.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2`,children:`Gate Ledger`}),(0,V.jsx)(`div`,{className:`space-y-2`,children:[...e].sort((e,t)=>t.ranAt-e.ranAt).map(e=>(0,V.jsxs)(`div`,{className:`flex items-start gap-2 text-sm`,children:[e.status===`pass`?(0,V.jsx)(yt,{className:`w-4 h-4 text-emerald-400 shrink-0 mt-0.5`}):(0,V.jsx)(et,{className:`w-4 h-4 text-red-400 shrink-0 mt-0.5`}),(0,V.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,V.jsx)(`span`,{className:`font-mono text-xs font-medium truncate min-w-0`,children:e.gate}),(0,V.jsx)(`span`,{className:`text-xs text-muted-foreground ml-auto shrink-0`,title:cn(e.ranAt),children:N(t,e.ranAt)})]}),e.detail&&(0,V.jsx)(`p`,{className:`text-xs text-muted-foreground mt-0.5 truncate`,children:e.detail}),e.commitSha&&(0,V.jsx)(`span`,{className:`font-mono text-[10px] text-muted-foreground`,children:e.commitSha.slice(0,8)})]})]},e.gate+e.ranAt))})]})}function Ap({memory:e,now:t}){return(0,V.jsxs)(`section`,{children:[(0,V.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2`,children:`Task Memory`}),(0,V.jsxs)(`div`,{className:`space-y-3`,children:[e.workingState&&(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground mb-1`,children:`Working state`}),(0,V.jsx)(`p`,{className:`text-xs whitespace-pre-wrap [overflow-wrap:anywhere] bg-muted/30 rounded p-2`,children:e.workingState})]}),e.ledger.length>0&&(0,V.jsxs)(`div`,{children:[(0,V.jsxs)(`div`,{className:`text-xs text-muted-foreground mb-1`,children:[`Ruled out (`,e.ledger.length,`)`]}),(0,V.jsx)(`div`,{className:`space-y-1`,children:e.ledger.map((e,t)=>(0,V.jsxs)(`div`,{className:`text-xs bg-muted/20 rounded p-1.5`,children:[(0,V.jsx)(`span`,{className:`font-medium`,children:e.ruledOut}),e.why&&(0,V.jsxs)(`span`,{className:`text-muted-foreground`,children:[` — `,e.why]})]},t))})]}),e.decisions.length>0&&(0,V.jsxs)(`div`,{children:[(0,V.jsxs)(`div`,{className:`text-xs text-muted-foreground mb-1`,children:[`Decisions (`,e.decisions.length,`)`]}),(0,V.jsx)(`div`,{className:`space-y-1.5`,children:e.decisions.map((e,n)=>(0,V.jsxs)(`div`,{className:`text-xs`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-1 min-w-0`,children:[(0,V.jsx)(`span`,{className:`font-medium truncate min-w-0`,children:e.decision}),(0,V.jsx)(`span`,{className:`text-muted-foreground ml-auto shrink-0`,title:cn(e.at),children:N(t,e.at)})]}),e.rationale&&(0,V.jsx)(`p`,{className:`text-muted-foreground mt-0.5`,children:e.rationale}),e.by&&(0,V.jsxs)(`span`,{className:`text-muted-foreground/60`,children:[`by `,e.by]})]},n))})]})]})]})}function jp({history:e,now:t}){return(0,V.jsxs)(`section`,{children:[(0,V.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2`,children:`History`}),(0,V.jsx)(`div`,{className:`space-y-2`,children:[...e].reverse().slice(0,30).map(e=>(0,V.jsxs)(`div`,{className:`flex items-start gap-2 text-xs`,children:[(0,V.jsx)(Ge,{className:`w-3.5 h-3.5 text-muted-foreground shrink-0 mt-0.5`}),(0,V.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,V.jsx)(`span`,{className:`font-mono text-muted-foreground shrink-0`,children:e.type}),(0,V.jsx)(`span`,{className:`ml-auto text-muted-foreground shrink-0`,title:cn(e.createdAt),children:N(t,e.createdAt)})]}),e.title&&e.title!==e.type&&(0,V.jsx)(`p`,{className:`text-foreground mt-0.5 truncate`,children:e.title})]})]},e.id))})]})}var Mp=!1;function Np(e,t){let n=B.useRef(!1),r=B.useRef(t);r.current=t,B.useEffect(()=>{if(!e||!r.current)return;Mp=!1,window.history.pushState({dialogGuard:!0},``),n.current=!0;function t(){if(Mp){Mp=!1;return}n.current&&(n.current=!1,r.current?.(!1))}return window.addEventListener(`popstate`,t),()=>{window.removeEventListener(`popstate`,t),n.current&&(n.current=!1,Mp=!0,window.history.back())}},[e])}function Pp({...e}){return Np(e.open,e.onOpenChange),(0,V.jsx)(ii,{"data-slot":`dialog`,...e})}function Fp({...e}){return(0,V.jsx)(ai,{"data-slot":`dialog-portal`,...e})}function Ip({className:e,blur:t=!0,...n}){return(0,V.jsx)(oi,{"data-slot":`dialog-overlay`,className:j(`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 Lp({className:e,children:t,showCloseButton:n=!0,blurOverlay:r=!0,...i}){return(0,V.jsxs)(Fp,{children:[(0,V.jsx)(Ip,{blur:r}),(0,V.jsxs)(si,{"data-slot":`dialog-content`,className:j(`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,V.jsx)(ui,{"data-slot":`dialog-close`,asChild:!0,children:(0,V.jsxs)(L,{variant:`ghost`,className:`absolute top-2 right-2`,size:`icon-sm`,children:[(0,V.jsx)(k,{}),(0,V.jsx)(`span`,{className:`sr-only`,children:`Close`})]})})]})]})}function Rp({className:e,...t}){return(0,V.jsx)(`div`,{"data-slot":`dialog-header`,className:j(`flex flex-col gap-2`,e),...t})}function zp({className:e,showCloseButton:t=!1,children:n,...r}){return(0,V.jsxs)(`div`,{"data-slot":`dialog-footer`,className:j(`-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,V.jsx)(ui,{asChild:!0,children:(0,V.jsx)(L,{variant:`outline`,children:`Close`})})]})}function Bp({className:e,...t}){return(0,V.jsx)(ci,{"data-slot":`dialog-title`,className:j(`font-heading text-base leading-none font-medium`,e),...t})}function Vp({className:e,...t}){return(0,V.jsx)(li,{"data-slot":`dialog-description`,className:j(`text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,e),...t})}function Hp(){let e=M(e=>e.composeOpen),t=M(e=>e.compose),n=M(e=>e.replyTo),r=M(e=>e.set),i=M(e=>e.doSend),a=M(e=>e.cancelReply),o=Tl();function s(){r({composeOpen:!1}),a()}function c(e){r({compose:{...t,...e}})}return(0,V.jsx)(Pp,{open:e,onOpenChange:e=>!e&&s(),children:(0,V.jsxs)(Lp,{className:`max-w-lg`,children:[(0,V.jsx)(Rp,{children:(0,V.jsx)(Bp,{children:n?`Reply to #${n.id}`:`Compose Message`})}),(0,V.jsxs)(`div`,{className:`space-y-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`From`}),(0,V.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,V.jsx)(`option`,{value:``,children:`Select agent...`}),o.map(e=>(0,V.jsx)(`option`,{value:e.id,children:P(e)},e.id))]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`To`}),(0,V.jsx)(R,{value:t.to,onChange:e=>c({to:e.target.value}),placeholder:`agent-id, tag:name, cap:name, or broadcast`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Subject`}),(0,V.jsx)(R,{value:t.subject,onChange:e=>c({subject:e.target.value}),placeholder:`Optional subject...`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Channel`}),(0,V.jsx)(R,{value:t.channel,onChange:e=>c({channel:e.target.value}),placeholder:`Optional channel...`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Message`}),(0,V.jsx)(Zd,{value:t.body,onChange:e=>c({body:e.target.value}),rows:4,placeholder:`Message body...`,autoFocus:!0})]}),(0,V.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(jl,{checked:t.claimable,onCheckedChange:e=>c({claimable:e})}),(0,V.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`Claimable task`})]})]}),(0,V.jsxs)(zp,{children:[(0,V.jsx)(L,{variant:`outline`,onClick:s,children:`Cancel`}),(0,V.jsx)(L,{onClick:i,children:`Send`})]})]})})}function Up(){let e=M(e=>e.confirmModal),t=M(e=>e.set);function n(){t({confirmModal:{show:!1,title:``,message:``,action:null}})}return(0,V.jsx)(Pp,{open:e.show,onOpenChange:e=>!e&&n(),children:(0,V.jsxs)(Lp,{className:`sm:max-w-sm`,children:[(0,V.jsxs)(Rp,{children:[(0,V.jsx)(Bp,{children:e.title}),(0,V.jsx)(Vp,{children:e.message})]}),(0,V.jsxs)(zp,{children:[(0,V.jsx)(L,{variant:`outline`,onClick:n,children:`Cancel`}),(0,V.jsx)(L,{variant:`destructive`,onClick:()=>{e.action?.(),n()},children:`Confirm`})]})]})})}function Wp(){let e=M(e=>e.errorModal),t=M(e=>e.set);function n(){t({errorModal:{show:!1,title:``,message:``}})}return(0,V.jsx)(Pp,{open:e.show,onOpenChange:e=>!e&&n(),children:(0,V.jsxs)(Lp,{className:`sm:max-w-sm`,children:[(0,V.jsxs)(Rp,{children:[(0,V.jsx)(Bp,{children:e.title}),(0,V.jsx)(Vp,{children:e.message})]}),(0,V.jsx)(zp,{children:(0,V.jsx)(L,{onClick:n,children:`OK`})})]})})}function Gp(){let e=M(e=>e.renameModal),t=M(e=>e.set),n=M(e=>e.doRename);function r(){t({renameModal:{show:!1,agentId:``,label:``}})}return(0,V.jsx)(Pp,{open:e.show,onOpenChange:e=>!e&&r(),children:(0,V.jsxs)(Lp,{className:`sm:max-w-sm`,children:[(0,V.jsx)(Rp,{children:(0,V.jsx)(Bp,{children:`Rename Agent`})}),(0,V.jsxs)(`div`,{className:`space-y-3`,children:[(0,V.jsx)($,{children:`Label`}),(0,V.jsx)(R,{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,V.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Leave empty to clear the label.`})]}),(0,V.jsxs)(zp,{children:[(0,V.jsx)(L,{variant:`outline`,onClick:r,children:`Cancel`}),(0,V.jsx)(L,{onClick:n,children:`Save`})]})]})})}function Kp(){let e=M(e=>e.pairInviteOpen),t=M(e=>e.pairInvite),n=M(e=>e.set),r=M(e=>e.closePairInvite),i=M(e=>e.doCreatePair),a=Tl();function o(e){n({pairInvite:{...t,...e}})}return(0,V.jsx)(Pp,{open:e,onOpenChange:e=>!e&&r(),children:(0,V.jsxs)(Lp,{className:`sm:max-w-sm`,children:[(0,V.jsx)(Rp,{children:(0,V.jsx)(Bp,{children:`Pair Agents`})}),(0,V.jsxs)(`div`,{className:`space-y-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Requester`}),(0,V.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,V.jsx)(`option`,{value:``,children:`Select agent...`}),a.map(e=>(0,V.jsx)(`option`,{value:e.id,children:P(e)},e.id))]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Target`}),(0,V.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,V.jsx)(`option`,{value:``,children:`Select agent...`}),a.map(e=>(0,V.jsx)(`option`,{value:e.id,children:P(e)},e.id))]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Objective`}),(0,V.jsx)(R,{value:t.objective,onChange:e=>o({objective:e.target.value}),placeholder:`What should they work on?`})]})]}),(0,V.jsxs)(zp,{children:[(0,V.jsx)(L,{variant:`outline`,onClick:r,children:`Cancel`}),(0,V.jsx)(L,{onClick:i,children:`Create Pair`})]})]})})}function qp(){let e=M(e=>e.pairMessageOpen),t=M(e=>e.pairMessage),n=M(e=>e.set),r=M(e=>e.closePairMessage),i=M(e=>e.doSendPairMessage);function a(e){n({pairMessage:{...t,...e}})}return(0,V.jsx)(Pp,{open:e,onOpenChange:e=>!e&&r(),children:(0,V.jsxs)(Lp,{className:`sm:max-w-sm`,children:[(0,V.jsx)(Rp,{children:(0,V.jsx)(Bp,{children:`Pair Message`})}),(0,V.jsxs)(`div`,{className:`space-y-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Subject`}),(0,V.jsx)(R,{value:t.subject,onChange:e=>a({subject:e.target.value}),placeholder:`Optional subject...`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Message`}),(0,V.jsx)(Zd,{value:t.body,onChange:e=>a({body:e.target.value}),rows:4,placeholder:`Message body...`,autoFocus:!0})]})]}),(0,V.jsxs)(zp,{children:[(0,V.jsx)(L,{variant:`outline`,onClick:r,children:`Cancel`}),(0,V.jsx)(L,{onClick:i,children:`Send`})]})]})})}function Jp(){let e=M(e=>e.threadOpen),t=M(e=>e.threadMessages),n=M(e=>e.agentsById),r=Ot(),i=M(e=>e.set);return(0,V.jsx)(Pp,{open:e,onOpenChange:e=>!e&&i({threadOpen:!1}),children:(0,V.jsxs)(Lp,{className:`max-w-2xl max-h-[80vh]`,children:[(0,V.jsx)(Rp,{children:(0,V.jsxs)(Bp,{children:[`Thread (`,t.length,` messages)`]})}),(0,V.jsx)(Jd,{className:`max-h-[60vh]`,children:(0,V.jsx)(`div`,{className:`space-y-3 pr-4`,children:t.map(e=>(0,V.jsxs)(`div`,{className:`rounded-lg border border-border p-3 space-y-1`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2 text-sm`,children:[(0,V.jsx)(`span`,{className:`font-medium`,children:sn(e.from,n)}),(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:`→`}),(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:sn(e.to,n)}),(0,V.jsx)(`span`,{className:`ml-auto text-xs text-muted-foreground`,children:N(r,e.createdAt)})]}),e.subject&&(0,V.jsx)(`div`,{className:`text-sm font-medium`,children:e.subject}),(0,V.jsx)(cr,{text:dn(e),rawBody:e.body,issueRepo:n[e.from===`user`?e.to:e.from]?.issueRepo,className:`text-sm text-muted-foreground`}),(0,V.jsxs)(`div`,{className:`flex gap-1.5 flex-wrap`,children:[e.channel&&(0,V.jsx)(I,{variant:`secondary`,className:`text-[10px]`,children:e.channel}),e.claimedBy&&(0,V.jsxs)(I,{variant:`secondary`,className:`text-[10px]`,children:[`claimed by `,sn(e.claimedBy,n)]})]})]},e.id))})})]})})}function Yp(){let e=M(e=>e.taskEventsOpen),t=M(e=>e.taskEvents),n=M(e=>e.set),r=M(e=>e.switchView);function i(e){n({selectedMemoryId:e,taskEventsOpen:!1}),r(`memory`)}return(0,V.jsx)(Pp,{open:e,onOpenChange:e=>!e&&n({taskEventsOpen:!1}),children:(0,V.jsxs)(Lp,{className:`max-w-2xl max-h-[80vh]`,children:[(0,V.jsx)(Rp,{children:(0,V.jsxs)(Bp,{children:[`Task Events (`,t.length,`)`]})}),(0,V.jsx)(Jd,{className:`max-h-[60vh]`,children:(0,V.jsxs)(`div`,{className:`space-y-2 pr-4`,children:[t.map(e=>(0,V.jsxs)(`div`,{className:`flex items-start gap-3 rounded-lg border border-border p-3`,children:[(0,V.jsx)(I,{className:on[e.severity]||on.info,children:e.severity}),(0,V.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`span`,{className:`text-sm font-medium`,children:e.title}),(0,V.jsx)(I,{variant:`outline`,className:`text-[10px]`,children:e.type})]}),e.body&&(0,V.jsx)(`p`,{className:`text-sm text-muted-foreground mt-1 whitespace-pre-wrap`,children:e.body}),(0,V.jsx)(Xp,{event:e,onOpen:i}),(0,V.jsxs)(`div`,{className:`text-xs text-muted-foreground mt-1`,children:[cn(e.createdAt),` · `,e.source]})]})]},e.id)),t.length===0&&(0,V.jsx)(`p`,{className:`text-sm text-muted-foreground text-center py-8`,children:`No events recorded.`})]})})]})})}function Xp({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,V.jsx)(`div`,{className:`mt-2 rounded-md border border-border bg-muted/20 p-2 text-xs`,children:(0,V.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,V.jsx)(p,{className:`w-3.5 h-3.5 mt-0.5 text-muted-foreground shrink-0`}),(0,V.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,V.jsxs)(`div`,{className:`flex flex-wrap gap-1 mb-1`,children:[(0,V.jsx)(I,{variant:`secondary`,className:`text-[10px]`,children:o}),a&&(0,V.jsx)(I,{variant:`outline`,className:`text-[10px] font-mono`,children:a}),s&&(0,V.jsx)(I,{variant:`outline`,className:`text-[10px]`,children:s})]}),(0,V.jsx)(`div`,{className:`font-medium truncate`,children:i}),n&&(0,V.jsx)(`div`,{className:`font-mono text-[10px] text-muted-foreground truncate`,children:n})]}),n&&(0,V.jsx)(L,{size:`sm`,variant:`outline`,className:`h-7 text-xs shrink-0`,onClick:()=>t(n),children:`Open`})]})})}function Zp(){let e=M(e=>e.taskCreateOpen),t=M(e=>e.taskCreateForm),n=M(e=>e.closeTaskCreate),r=M(e=>e.setTaskCreateForm),i=M(e=>e.doCreateTask);return(0,V.jsx)(Pp,{open:e,onOpenChange:e=>!e&&n(),children:(0,V.jsxs)(Lp,{className:`max-w-lg`,children:[(0,V.jsx)(Rp,{children:(0,V.jsx)(Bp,{children:`New Task`})}),(0,V.jsxs)(`div`,{className:`space-y-4`,children:[(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsxs)($,{htmlFor:`task-title`,children:[`Title `,(0,V.jsx)(`span`,{className:`text-destructive`,children:`*`})]}),(0,V.jsx)(R,{id:`task-title`,value:t.title,onChange:e=>r({title:e.target.value}),placeholder:`Short description of the work`,autoFocus:!0})]}),(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsx)($,{htmlFor:`task-intent`,children:`Intent`}),(0,V.jsx)(Zd,{id:`task-intent`,value:t.intent,onChange:e=>r({intent:e.target.value}),placeholder:`What is this task trying to accomplish?`,rows:3})]}),(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsx)($,{htmlFor:`task-done-when`,children:`Done when`}),(0,V.jsx)(Zd,{id:`task-done-when`,value:t.doneWhen,onChange:e=>r({doneWhen:e.target.value}),placeholder:`Acceptance criteria`,rows:2})]}),(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsxs)($,{htmlFor:`task-issue-refs`,children:[`Issue refs `,(0,V.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`(comma-separated, e.g. owner/repo#123)`})]}),(0,V.jsx)(R,{id:`task-issue-refs`,value:t.issueRefs,onChange:e=>r({issueRefs:e.target.value}),placeholder:`owner/repo#123, owner/repo#456`})]}),(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsxs)($,{htmlFor:`task-depends-on`,children:[`Depends on `,(0,V.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`(comma-separated task IDs)`})]}),(0,V.jsx)(R,{id:`task-depends-on`,value:t.dependsOn,onChange:e=>r({dependsOn:e.target.value}),placeholder:`42, 43`})]}),(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsx)($,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider`,children:`Dispatch work-shape (optional)`}),(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{htmlFor:`dispatch-complexity`,className:`text-xs`,children:`Complexity`}),(0,V.jsxs)(`select`,{id:`dispatch-complexity`,className:`w-full mt-1 rounded-md border border-input bg-background px-2 py-1.5 text-sm`,value:t.dispatchComplexity,onChange:e=>r({dispatchComplexity:e.target.value}),children:[(0,V.jsx)(`option`,{value:``,children:`—`}),It.map(e=>(0,V.jsx)(`option`,{value:e,children:e},e))]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{htmlFor:`dispatch-type`,className:`text-xs`,children:`Type`}),(0,V.jsxs)(`select`,{id:`dispatch-type`,className:`w-full mt-1 rounded-md border border-input bg-background px-2 py-1.5 text-sm`,value:t.dispatchType,onChange:e=>r({dispatchType:e.target.value}),children:[(0,V.jsx)(`option`,{value:``,children:`—`}),jt.map(e=>(0,V.jsx)(`option`,{value:e,children:e},e))]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{htmlFor:`dispatch-footprint`,className:`text-xs`,children:`Context footprint`}),(0,V.jsxs)(`select`,{id:`dispatch-footprint`,className:`w-full mt-1 rounded-md border border-input bg-background px-2 py-1.5 text-sm`,value:t.dispatchFootprint,onChange:e=>r({dispatchFootprint:e.target.value}),children:[(0,V.jsx)(`option`,{value:``,children:`—`}),Pt.map(e=>(0,V.jsx)(`option`,{value:e,children:e},e))]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{htmlFor:`dispatch-criticality`,className:`text-xs`,children:`Criticality`}),(0,V.jsxs)(`select`,{id:`dispatch-criticality`,className:`w-full mt-1 rounded-md border border-input bg-background px-2 py-1.5 text-sm`,value:t.dispatchCriticality,onChange:e=>r({dispatchCriticality:e.target.value}),children:[(0,V.jsx)(`option`,{value:``,children:`—`}),zt.map(e=>(0,V.jsx)(`option`,{value:e,children:e},e))]})]})]})]})]}),(0,V.jsxs)(zp,{children:[(0,V.jsx)(L,{variant:`outline`,onClick:n,children:`Cancel`}),(0,V.jsx)(L,{onClick:()=>void i(),disabled:!t.title.trim(),children:`Create`})]})]})})}function Qp({open:e,onOpenChange:t,onSelect:n,orchestratorId:r,initialPath:i,title:a=`Select Directory`}){let o=M(e=>e.apiCall),[s,c]=(0,B.useState)(!1),[l,u]=(0,B.useState)(null),[d,p]=(0,B.useState)(null),[m,h]=(0,B.useState)(!1),[g,v]=(0,B.useState)(``),[y,b]=(0,B.useState)(null),x=l?.path||i||``,S=(0,B.useMemo)(()=>x.split(`/`).filter(Boolean),[x]),C=(0,B.useCallback)(async e=>{if(r){c(!0),p(null),h(!1);try{let t=e?`?path=${encodeURIComponent(e)}`:``;u(await o(`GET`,`/orchestrators/${encodeURIComponent(r)}/directories${t}`))}catch(e){p(Mt(e))}finally{c(!1)}}},[r,o]);(0,B.useEffect)(()=>{e&&r&&(u(null),p(null),h(!1),C(i||void 0))},[e,r]);async function ee(){if(!(!g.trim()||!l)){b(null);try{u(await o(`POST`,`/orchestrators/${encodeURIComponent(r)}/directories`,{path:l.path,name:g.trim()})),h(!1),v(``)}catch(e){b(Mt(e))}}}function w(){x&&(n(x),t(!1))}function te(e){C(`/`+S.slice(0,e+1).join(`/`))}return(0,V.jsx)(Pp,{open:e,onOpenChange:t,children:(0,V.jsxs)(Lp,{className:`max-w-lg max-h-[85dvh] flex flex-col`,children:[(0,V.jsx)(Rp,{children:(0,V.jsxs)(Bp,{className:`flex items-center gap-2`,children:[(0,V.jsx)(St,{className:`h-4 w-4`}),a]})}),(0,V.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,V.jsx)(`button`,{type:`button`,className:`font-mono text-muted-foreground hover:text-foreground shrink-0`,onClick:()=>l?.baseDir&&C(l.baseDir),children:`/`}),S.map((e,t)=>(0,V.jsxs)(`span`,{className:`shrink-0`,children:[(0,V.jsx)(`button`,{type:`button`,className:`font-mono text-muted-foreground hover:text-foreground`,onClick:()=>te(t),children:e}),t<S.length-1&&(0,V.jsx)(`span`,{className:`text-muted-foreground/50 mx-0.5`,children:`/`})]},`${e}-${t}`))]}),(0,V.jsxs)(`div`,{className:`flex-1 min-h-0 rounded-md border border-border bg-background overflow-y-auto`,style:{maxHeight:`40dvh`},children:[s&&(0,V.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,V.jsx)(Je,{className:`h-5 w-5 animate-spin text-muted-foreground`})}),!s&&d&&(0,V.jsx)(`div`,{className:`px-3 py-4 text-sm text-destructive`,children:d}),!s&&l&&(0,V.jsxs)(`div`,{className:`p-1`,children:[l.parent&&(0,V.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(l.parent),children:[(0,V.jsx)(Ve,{className:`h-4 w-4 text-muted-foreground`}),(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:`..`})]}),l.entries.map(e=>(0,V.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,V.jsx)(_,{className:`h-4 w-4 text-muted-foreground`}),(0,V.jsx)(`span`,{className:`truncate`,children:e.name})]},e.path)),l.entries.length===0&&!l.parent&&(0,V.jsx)(`div`,{className:`px-2 py-4 text-sm text-muted-foreground text-center`,children:`Empty directory`}),l.entries.length===0&&l.parent&&(0,V.jsx)(`div`,{className:`px-2 py-4 text-sm text-muted-foreground text-center`,children:`No subdirectories`})]})]}),m?(0,V.jsxs)(`div`,{className:`flex gap-2`,children:[(0,V.jsx)(R,{autoFocus:!0,value:g,onChange:e=>{v(e.target.value),b(null)},onKeyDown:e=>{e.key===`Enter`&&ee(),e.key===`Escape`&&(h(!1),v(``))},placeholder:`New directory name...`,className:`flex-1 font-mono text-sm`}),(0,V.jsx)(L,{type:`button`,size:`icon`,variant:`outline`,onClick:ee,disabled:!g.trim(),children:(0,V.jsx)(f,{className:`h-4 w-4`})}),(0,V.jsx)(L,{type:`button`,size:`icon`,variant:`ghost`,onClick:()=>{h(!1),v(``),b(null)},children:(0,V.jsx)(k,{className:`h-4 w-4`})})]}):(0,V.jsxs)(L,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>h(!0),disabled:!l||s,children:[(0,V.jsx)(D,{className:`h-4 w-4 mr-1.5`}),`New Directory`]}),y&&(0,V.jsx)(`p`,{className:`text-xs text-destructive`,children:y}),(0,V.jsxs)(zp,{children:[(0,V.jsx)(L,{variant:`outline`,onClick:()=>t(!1),children:`Cancel`}),(0,V.jsx)(L,{onClick:w,disabled:!x,children:`Select`})]})]})})}function $p({value:e,onChange:t,orchestratorId:n,placeholder:r,disabled:i}){let[a,o]=(0,B.useState)(!1);return(0,V.jsxs)(`div`,{className:`flex gap-2`,children:[(0,V.jsx)(R,{value:e,onChange:e=>t(e.target.value),placeholder:r,disabled:i,className:`flex-1 font-mono text-sm`}),(0,V.jsx)(L,{type:`button`,variant:`outline`,size:`icon`,onClick:()=>o(!0),disabled:i||!n,title:`Browse directories`,children:(0,V.jsx)(St,{className:`h-4 w-4`})}),n&&(0,V.jsx)(Qp,{open:a,onOpenChange:o,onSelect:t,orchestratorId:n,initialPath:e||void 0})]})}function em({model:e}){if(!e)return null;let t=tm(e);return t.length===0?null:(0,V.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:t.map(e=>(0,V.jsxs)(I,{variant:`outline`,className:`gap-1 text-[10px]`,children:[(0,V.jsx)(e.Icon,{className:`h-3 w-3`}),e.label]},e.label))})}function tm(e){let t=[],n=e.limits?.contextWindowTokens?.value;return n&&t.push({label:nm(n),Icon:ye}),e.capabilities?.modalities.input.image&&t.push({label:`Image input`,Icon:u}),(e.capabilities?.modalities.output.image||e.capabilities?.tools?.imageGeneration)&&t.push({label:`Image output`,Icon:u}),e.capabilities?.tools?.code&&t.push({label:`Code`,Icon:De}),t}function nm(e){return e>=1e6?`${e/1e6}M ctx`:e>=1e3?`${Math.round(e/1e3)}K ctx`:`${e} ctx`}function rm(){let e=M(e=>e.orchestratorSpawnOpen),t=M(e=>e.orchestrators),n=M(e=>e.spawnOrchId),r=M(e=>e.spawnProvider),i=M(e=>e.spawnModel),a=M(e=>e.spawnEffort),o=M(e=>e.spawnProfile),s=M(e=>e.spawnCwd),c=M(e=>e.spawnLabel),l=M(e=>e.spawnApproval),u=M(e=>e.spawnWorkspaceMode),d=M(e=>e.spawnPrompt),f=M(e=>e.spawnSystemPromptAppend),p=M(e=>e.spawnCount),m=M(e=>e.spawnCwdHistory),h=M(e=>e.isSpawning),g=M(e=>!!e.pendingForkImport),_=M(e=>e.set),v=M(e=>e.submitOrchestratorSpawn),y=M(e=>e.selectSpawnHistory),b=M(e=>e.agentProfiles),x=M(e=>e.providerCatalog),S=t.find(e=>e.id===n),C=S?.providers||[],ee=wt(r,x),w=ee.find(e=>e.alias===i),te=w?.efforts||[],T=!!(S&&C.length>0&&s.trim())&&!h,ne=t.filter(e=>e.status===`online`),re=ne.length>1,ie=m.filter(e=>ne.some(t=>t.id===e.orchId)).slice(0,5);function ae(e){let n=t.find(t=>t.id===e),r=n?.providers[0]||``;_({spawnOrchId:e,spawnProvider:r,spawnModel:r?Et(r,x):``,spawnEffort:``,spawnCwd:n?.baseDir||``})}function oe(e){_({spawnProvider:e,spawnModel:Et(e,x),spawnEffort:``})}function E(e){_({spawnModel:e,spawnEffort:``})}return(0,V.jsx)(Pp,{open:e,onOpenChange:e=>!e&&_({orchestratorSpawnOpen:!1}),children:(0,V.jsxs)(Lp,{className:`max-w-lg max-h-[90dvh] flex flex-col`,onOpenAutoFocus:e=>e.preventDefault(),children:[(0,V.jsx)(Rp,{children:(0,V.jsx)(Bp,{children:`Spawn Agent`})}),(0,V.jsxs)(`div`,{className:`space-y-3 overflow-y-auto flex-1 min-h-0 -mx-4 px-4`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Orchestrator`}),(0,V.jsx)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:n,onChange:e=>ae(e.target.value),children:t.filter(e=>e.status===`online`).map(e=>(0,V.jsxs)(`option`,{value:e.id,children:[e.hostname,` (`,e.id.slice(-8),`)`]},e.id))})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Provider`}),(0,V.jsxs)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:r,onChange:e=>oe(e.target.value),disabled:!C.length,children:[!C.length&&(0,V.jsx)(`option`,{value:r,children:`No providers available`}),C.map(e=>(0,V.jsx)(`option`,{value:e,children:e},e))]})]}),(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Model`}),(0,V.jsx)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:i,onChange:e=>E(e.target.value),disabled:!ee.length,children:ee.map(e=>(0,V.jsx)(`option`,{value:e.alias,children:e.label},e.alias))})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Effort`}),(0,V.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,V.jsx)(`option`,{value:``,children:`Default`}),te.map(e=>(0,V.jsx)(`option`,{value:e,children:e},e))]})]})]}),(0,V.jsx)(em,{model:w}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Agent Profile`}),(0,V.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,V.jsx)(`option`,{value:`default-relay`,children:`default-relay`}),b.map(e=>(0,V.jsx)(`option`,{value:e.name,children:e.name},e.name))]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Approval Mode`}),(0,V.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,V.jsx)(`option`,{value:`open`,children:`Open`}),(0,V.jsx)(`option`,{value:`guarded`,children:`Guarded`}),(0,V.jsx)(`option`,{value:`read-only`,children:`Read-only`})]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Workspace`}),(0,V.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,V.jsx)(`option`,{value:`inherit`,children:`Default`}),(0,V.jsx)(`option`,{value:`isolated`,children:`Isolated worktree`}),(0,V.jsx)(`option`,{value:`shared`,children:`Shared cwd`})]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Working Directory`}),(0,V.jsx)(`div`,{className:`mt-1`,children:(0,V.jsx)($p,{value:s,onChange:e=>_({spawnCwd:e}),orchestratorId:n,placeholder:`Select a project directory`})}),ie.length>0&&(0,V.jsxs)(`div`,{className:`mt-2`,children:[(0,V.jsx)(`p`,{className:`text-xs text-muted-foreground mb-1`,children:`Recent`}),(0,V.jsx)(`div`,{className:`flex gap-1.5 overflow-x-auto pb-1 sm:flex-wrap sm:overflow-x-visible sm:pb-0`,children:ie.map(e=>{let t=e.cwd.replace(/\/+$/,``).split(`/`).pop()||e.cwd,r=ne.find(t=>t.id===e.orchId)?.hostname,i=e.orchId===n&&e.cwd===s;return(0,V.jsx)(`button`,{type:`button`,title:re&&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:re&&r?`${r}: ${t}`:t},`${e.orchId}:${e.cwd}`)})})]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Label`}),(0,V.jsx)(R,{value:c,onChange:e=>_({spawnLabel:e.target.value}),placeholder:`Optional label...`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Initial Prompt`}),(0,V.jsx)(Zd,{value:d,onChange:e=>_({spawnPrompt:e.target.value}),rows:3,placeholder:`Optional initial task...`}),(0,V.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,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`System Prompt Append`}),(0,V.jsx)(Zd,{value:f,onChange:e=>_({spawnSystemPromptAppend:e.target.value}),rows:5,placeholder:`Optional launch context...`}),(0,V.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,V.jsxs)(`div`,{children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,V.jsx)($,{children:`Number of Agents`}),(0,V.jsx)(`span`,{className:`text-sm font-mono tabular-nums text-muted-foreground`,children:p})]}),(0,V.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,V.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,V.jsxs)(zp,{children:[(0,V.jsx)(L,{variant:`outline`,onClick:()=>_({orchestratorSpawnOpen:!1}),disabled:h,children:`Cancel`}),(0,V.jsx)(L,{onClick:v,disabled:!T,children:h?`Spawning…`:C.length?p>1?`Spawn ${p}`:`Spawn`:`No providers`})]})]})})}function im(){return`host-${Math.random().toString(36).slice(2,8)}`}function am(e,t){return e.includes(t)?e.filter(e=>e!==t):[...e,t]}function om(){let e=M(e=>e.orchestratorInstallOpen),t=M(e=>e.set),n=M(e=>e.showError),r=M(e=>e.showNotification),i=(0,B.useMemo)(()=>new URL(Ke()).origin,[]),[a,o]=(0,B.useState)(im),[s,c]=(0,B.useState)(`$HOME/projects`),[l,u]=(0,B.useState)(Nt()),[d,f]=(0,B.useState)(`4860`),[p,m]=(0,B.useState)(``),[h,g]=(0,B.useState)(``),[_,v]=(0,B.useState)(),[y,b]=(0,B.useState)(!1);async function x(){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}b(!0);try{let e=await A(`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{b(!1)}}return(0,V.jsx)(Pp,{open:e,onOpenChange:e=>!e&&t({orchestratorInstallOpen:!1}),children:(0,V.jsxs)(Lp,{className:`max-w-2xl overflow-hidden`,children:[(0,V.jsx)(Rp,{children:(0,V.jsxs)(Bp,{className:`flex items-center gap-2`,children:[(0,V.jsx)(T,{className:`w-4 h-4`}),`Add Orchestrator`]})}),(0,V.jsxs)(`div`,{className:`space-y-4`,children:[(0,V.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Orchestrator ID`}),(0,V.jsx)(R,{value:a,onChange:e=>o(e.target.value)})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Relay URL`}),(0,V.jsx)(R,{value:i,readOnly:!0})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Base Directory`}),(0,V.jsx)(R,{value:s,onChange:e=>c(e.target.value)})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`API Port`}),(0,V.jsx)(R,{value:d,onChange:e=>f(e.target.value),inputMode:`numeric`})]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Providers`}),(0,V.jsx)(`div`,{className:`mt-1 flex flex-wrap gap-2`,children:Nt().map(e=>(0,V.jsx)(L,{type:`button`,size:`sm`,variant:l.includes(e)?`default`:`outline`,onClick:()=>u(am(l,e)),children:At(e)},e))})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Extra PATH Prefix`}),(0,V.jsx)(R,{value:p,onChange:e=>m(e.target.value),placeholder:`/opt/homebrew/bin:/custom/bin`})]}),h&&(0,V.jsxs)(`div`,{children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-2 mb-1`,children:[(0,V.jsx)($,{children:`Install Command`}),_&&(0,V.jsxs)(`span`,{className:`text-[11px] text-muted-foreground`,children:[`Install token expires `,new Date(_*1e3).toLocaleString()]})]}),(0,V.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,V.jsxs)(zp,{children:[(0,V.jsx)(L,{variant:`outline`,onClick:()=>t({orchestratorInstallOpen:!1}),children:`Close`}),h&&(0,V.jsx)(ir,{value:h,label:`Copy`,showText:!0,size:`default`,variant:`outline`,className:`gap-1`,onCopied:()=>r(`Install command copied`)}),(0,V.jsxs)(L,{className:`gap-1`,onClick:x,disabled:y,children:[(0,V.jsx)(Se,{className:`w-3.5 h-3.5`}),y?`Generating...`:`Generate Command`]})]})]})})}function sm(){let e=M(e=>e.policyModal),t=M(e=>e.orchestrators),n=M(e=>e.agentProfiles),r=M(e=>e.set),i=M(e=>e.submitPolicy),a=M(e=>e.providerCatalog),o=t.find(t=>t.id===e.orchestratorId),s=o?.providers||[],c=wt(e.provider,a),l=c.find(t=>t.alias===e.model),u=l?.efforts||[],d=!!e.editing,f=o?.providerStatus?.find(t=>t.name===e.provider)?.features?.rig===!0;function p(t){r({policyModal:{...e,...t}})}function m(n){let r=t.find(e=>e.id===n)?.providers[0]||e.provider;p({orchestratorId:n,provider:r,model:Et(r,a),effort:``})}function h(e){p({provider:e,rig:``,model:Et(e,a),effort:``})}return(0,V.jsx)(Pp,{open:e.open,onOpenChange:e=>!e&&p({open:!1}),children:(0,V.jsxs)(Lp,{className:`max-w-lg max-h-[90vh] overflow-y-auto`,children:[(0,V.jsx)(Rp,{children:(0,V.jsx)(Bp,{children:d?`Edit Policy`:`Create Managed Agent`})}),(0,V.jsxs)(`div`,{className:`space-y-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Policy Name`}),(0,V.jsx)(R,{value:e.name,onChange:e=>p({name:e.target.value}),placeholder:`my-agent`,disabled:d})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Label`}),(0,V.jsx)(R,{value:e.label,onChange:e=>p({label:e.target.value}),placeholder:`Human-friendly name...`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Description`}),(0,V.jsx)(R,{value:e.description,onChange:e=>p({description:e.target.value}),placeholder:`What does this agent do?`})]}),(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Orchestrator`}),(0,V.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=>m(e.target.value),children:t.filter(e=>e.status===`online`).map(e=>(0,V.jsxs)(`option`,{value:e.id,children:[e.hostname,` (`,e.id.slice(-8),`)`]},e.id))})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Provider`}),(0,V.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=>h(e.target.value),disabled:!s.length,children:[!s.length&&(0,V.jsx)(`option`,{value:e.provider,children:`No providers available`}),s.map(e=>(0,V.jsx)(`option`,{value:e,children:e},e))]})]})]}),f&&(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Rig`}),(0,V.jsx)(R,{value:e.rig,onChange:e=>p({rig:e.target.value}),placeholder:`Leave empty to auto-detect from .claude-rig`}),(0,V.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,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Model`}),(0,V.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=>p({model:e.target.value,effort:``}),children:c.map(e=>(0,V.jsx)(`option`,{value:e.alias,children:e.label},e.alias))})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Effort`}),(0,V.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=>p({effort:e.target.value}),disabled:!u.length,children:[(0,V.jsx)(`option`,{value:``,children:`Default`}),u.map(e=>(0,V.jsx)(`option`,{value:e,children:e},e))]})]})]}),(0,V.jsx)(em,{model:l}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Agent Profile`}),(0,V.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=>p({profile:e.target.value}),children:[!n.length&&(0,V.jsx)(`option`,{value:`default-relay`,children:`default-relay`}),n.map(e=>(0,V.jsx)(`option`,{value:e.name,children:e.name},e.name))]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Working Directory`}),(0,V.jsx)(`div`,{className:`mt-1`,children:(0,V.jsx)($p,{value:e.cwd,onChange:e=>p({cwd:e}),orchestratorId:e.orchestratorId,placeholder:o?.baseDir||`/path/to/project`})})]}),(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Mode`}),(0,V.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=>p({mode:e.target.value}),children:[(0,V.jsx)(`option`,{value:`always-on`,children:`Always On`}),(0,V.jsx)(`option`,{value:`on-demand`,children:`On Demand`})]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Permission Mode`}),(0,V.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=>p({permissionMode:e.target.value}),children:[(0,V.jsx)(`option`,{value:`open`,children:`Open`}),(0,V.jsx)(`option`,{value:`guarded`,children:`Guarded`}),(0,V.jsx)(`option`,{value:`read-only`,children:`Read-only`})]})]})]}),e.mode===`on-demand`&&(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Keepalive (seconds)`}),(0,V.jsx)(R,{type:`number`,value:e.keepaliveSeconds,onChange:e=>p({keepaliveSeconds:e.target.value}),placeholder:`300`}),(0,V.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:`Seconds to keep agent alive after last activity.`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Initial Prompt`}),(0,V.jsx)(Zd,{value:e.prompt,onChange:e=>p({prompt:e.target.value}),rows:3,placeholder:`Optional initial task or instructions...`}),(0,V.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,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Tags`}),(0,V.jsx)(R,{value:e.tags,onChange:e=>p({tags:e.target.value}),placeholder:`tag1, tag2`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Capabilities`}),(0,V.jsx)(R,{value:e.capabilities,onChange:e=>p({capabilities:e.target.value}),placeholder:`chat, review`})]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Provider Args`}),(0,V.jsx)(R,{value:e.providerArgs,onChange:e=>p({providerArgs:e.target.value}),placeholder:`--flag value`}),(0,V.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:`Space-separated args passed to the provider CLI.`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Channel Binding`}),(0,V.jsx)(R,{value:e.channelId,onChange:e=>p({channelId:e.target.value}),placeholder:`Channel ID (optional)`})]}),(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Backoff Schedule (seconds)`}),(0,V.jsx)(R,{value:e.backoffSchedule,onChange:e=>p({backoffSchedule:e.target.value}),placeholder:`5, 15, 60, 300`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Backoff Reset After (s)`}),(0,V.jsx)(R,{type:`number`,value:e.backoffResetAfterSeconds,onChange:e=>p({backoffResetAfterSeconds:e.target.value}),placeholder:`600`})]})]}),(0,V.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,V.jsx)($,{htmlFor:`restartOnUpdate`,children:`Restart on policy update`}),(0,V.jsx)(jl,{id:`restartOnUpdate`,checked:e.restartOnUpdate,onCheckedChange:e=>p({restartOnUpdate:e})})]}),(0,V.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,V.jsx)($,{htmlFor:`dailyRestart`,children:`Scheduled daily restart`}),(0,V.jsx)(jl,{id:`dailyRestart`,checked:e.scheduledDailyRestart,onCheckedChange:e=>p({scheduledDailyRestart:e})})]})]}),(0,V.jsxs)(zp,{children:[(0,V.jsx)(L,{variant:`outline`,onClick:()=>p({open:!1}),children:`Cancel`}),(0,V.jsx)(L,{onClick:i,children:d?`Save`:`Create`})]})]})})}function cm(e){return e===`skill`?`bg-blue-500/10 text-blue-400 border-blue-500/30`:e===`plugin`?`bg-violet-500/10 text-violet-400 border-violet-500/30`:`bg-amber-500/10 text-amber-400 border-amber-500/30`}function lm({children:e}){return(0,V.jsxs)(pl,{children:[(0,V.jsx)(ml,{asChild:!0,children:(0,V.jsx)(`button`,{type:`button`,tabIndex:-1,"aria-label":`More info`,className:`inline-flex shrink-0 text-muted-foreground transition-colors hover:text-foreground`,children:(0,V.jsx)(de,{className:`h-3 w-3`})})}),(0,V.jsx)(hl,{className:`max-w-xs leading-relaxed`,children:e})]})}function um({children:e,tip:t,className:n}){return(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,V.jsx)($,{className:n,children:e}),(0,V.jsx)(lm,{children:t})]})}var dm=[{value:``,label:`Off`},{value:`all`,label:`All`}],fm=[{value:``,label:`Off`},{value:`all`,label:`All safe settings`}],pm=[{value:``,label:`Instance default`},{value:`direct`,label:`Direct`},{value:`pr`,label:`Pull request`}],mm=[{value:`any`,label:`Any provider`},...Nt().map(e=>({value:e,label:At(e)}))],hm={relay:`bg-blue-500/10 text-blue-400 border-blue-500/30`,repo:`bg-emerald-500/10 text-emerald-400 border-emerald-500/30`,inline:`bg-amber-500/10 text-amber-400 border-amber-500/30`,provider:`bg-fuchsia-500/10 text-fuchsia-400 border-fuchsia-500/30`,profile:`bg-slate-500/10 text-slate-400 border-slate-500/30`};function gm(e){return e?e.policy??`all`:``}function _m(e){if(e)return e===`all`?{policy:`all`}:{}}function vm({value:e,onChange:t,options:n,disabled:r}){return(0,V.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,V.jsx)(`option`,{value:e.value,children:e.label},e.value))})}function ym(e,t){return`${e.source}:${e.provider??`any`}:${e.ref}:${t}`}function bm({source:e}){return(0,V.jsx)(I,{variant:`outline`,className:`text-[10px] ${hm[e]}`,children:e})}function xm({skills:e,plugins:t,hooks:n,mcp:r,onChangeSkills:i,onChangePlugins:a,onChangeHooks:o,onChangeMcp:s,projectMcp:c,projectSkills:l,projectSettings:u,sharedMcp:d,readOnly:f}){let[p,m]=(0,B.useState)([]),[h,g]=(0,B.useState)(!1),[_,v]=(0,B.useState)(!1),[y,b]=(0,B.useState)(null),[x,S]=(0,B.useState)(null),[C,ee]=(0,B.useState)(`repo`),[w,te]=(0,B.useState)(``),[T,ne]=(0,B.useState)(`any`);async function re(e){if(S(e),!h){v(!0),b(null);try{m((await A(`GET`,`/provisioning/capabilities`)).capabilities),g(!0)}catch(e){b(Mt(e))}finally{v(!1)}}}let ie=r=>r===`skill`?e:r===`plugin`?t:n,ae=e=>e===`skill`?i:e===`plugin`?a:o;function oe(e){let t=w.trim();if(!t)return;let n={source:C,ref:t,enabled:!0,...T===`any`?{}:{provider:T}};ae(e)([...ie(e),n]),te(``),S(null)}function E(e,t){let n=ie(e);n.some(e=>e.source===`relay`&&e.ref===t)||(ae(e)([...n,{source:`relay`,ref:t,enabled:!0}]),S(null))}function D(e){let t=e.variants.find(e=>e.enabled);if(!t)return;let n=t.definition;s({...r,servers:{...r.servers??{},[e.capability.slug]:n?.server??{}}}),S(null)}function se(t,n){i(e.map((e,r)=>r===t?{...e,...n}:e))}function ce(e,n){a(t.map((t,r)=>r===e?{...t,...n}:t))}function le(e,t){o(n.map((n,r)=>r===e?{...n,...t}:n))}function ue(e){let t={...r.servers??{}};delete t[e],s({...r,servers:t})}let de=p.filter(e=>e.capability.kind===`skill`),O=p.filter(e=>e.capability.kind===`plugin`),fe=p.filter(e=>e.capability.kind===`hook`),pe=p.filter(e=>e.capability.kind===`mcp`),me=new Set(fe.filter(e=>e.variants.some(e=>e.definition?.tier===`baseline`)).map(e=>e.capability.slug));return(0,V.jsxs)(`div`,{className:`space-y-3`,children:[(0,V.jsx)(Sm,{projectMcp:c,projectSkills:l,projectSettings:u,sharedMcp:d}),(0,V.jsx)(wm,{title:`Skills from registry`,kind:`skill`,refs:e,readOnly:f,adding:x===`skill`,caps:de,loading:_,fetchError:y,empty:`No skills assigned`,manualRef:w,manualSource:C,manualProvider:T,onAddClick:()=>void re(`skill`),onCancel:()=>S(null),onManualRef:te,onManualSource:ee,onManualProvider:ne,onAddManual:()=>oe(`skill`),onAddRelay:e=>E(`skill`,e),onUpdate:se,onRemove:t=>i(e.filter((e,n)=>n!==t))}),(0,V.jsx)(wm,{title:`Plugins from registry`,kind:`plugin`,refs:t,readOnly:f,adding:x===`plugin`,caps:O,loading:_,fetchError:y,empty:`No plugins assigned`,manualRef:w,manualSource:C,manualProvider:T,onAddClick:()=>void re(`plugin`),onCancel:()=>S(null),onManualRef:te,onManualSource:ee,onManualProvider:ne,onAddManual:()=>oe(`plugin`),onAddRelay:e=>E(`plugin`,e),onUpdate:ce,onRemove:e=>a(t.filter((t,n)=>n!==e))}),(0,V.jsx)(wm,{title:`Hooks from registry`,kind:`hook`,refs:n,readOnly:f,adding:x===`hook`,caps:fe,loading:_,fetchError:y,empty:`No hooks assigned`,note:`Baseline safety hooks (e.g. the rg -r footgun guard) are always applied to every spawned agent regardless of these refs.`,baselineSlugs:me,manualRef:w,manualSource:C,manualProvider:T,onAddClick:()=>void re(`hook`),onCancel:()=>S(null),onManualRef:te,onManualSource:ee,onManualProvider:ne,onAddManual:()=>oe(`hook`),onAddRelay:e=>E(`hook`,e),onUpdate:le,onRemove:e=>o(n.filter((t,n)=>n!==e))}),(0,V.jsx)(Dm,{mcpKeys:Object.keys(r.servers??{}),caps:pe,adding:x===`mcp`,loading:_,fetchError:y,readOnly:f,onAddClick:()=>void re(`mcp`),onAddMcp:D,onCancel:()=>S(null),onRemove:ue})]})}function Sm(e){return(0,V.jsxs)(`div`,{className:`rounded border border-border bg-muted/20 p-2`,children:[(0,V.jsxs)(`div`,{className:`mb-1 flex items-center gap-1.5 text-xs font-medium text-muted-foreground`,children:[`Project and shared injection`,(0,V.jsxs)(lm,{children:[`Read-only mirror of the Provisioning Policies above — what this profile injects from the project's `,(0,V.jsx)(`code`,{children:`.mcp.json`}),`/`,(0,V.jsx)(`code`,{children:`.claude`}),` and how its MCP is routed.`]})]}),(0,V.jsxs)(`div`,{className:`flex flex-wrap gap-1.5`,children:[(0,V.jsxs)(I,{variant:e.projectMcp?`default`:`outline`,className:`text-[10px]`,children:[`project MCP: `,gm(e.projectMcp)||`off`]}),(0,V.jsxs)(I,{variant:e.projectSkills?`default`:`outline`,className:`text-[10px]`,children:[`project skills: `,gm(e.projectSkills)||`off`]}),(0,V.jsxs)(I,{variant:e.projectSettings?`default`:`outline`,className:`text-[10px]`,children:[`project settings: `,gm(e.projectSettings)||`off`]}),(0,V.jsxs)(I,{variant:e.sharedMcp?`default`:`outline`,className:`text-[10px]`,children:[`shared MCP: `,gm(e.sharedMcp)||`off`]})]})]})}function Cm(e){return[...new Set(e.variants.map(e=>e.sourceType||`relay`))].join(`, `)}function wm(e){return(0,V.jsxs)(`div`,{children:[(0,V.jsxs)(`div`,{className:`mb-1.5 flex items-center justify-between`,children:[(0,V.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:e.title}),!e.readOnly&&(0,V.jsxs)(L,{type:`button`,variant:`outline`,size:`sm`,className:`h-6 gap-1 text-xs`,onClick:e.onAddClick,children:[(0,V.jsx)(h,{className:`h-3 w-3`}),`Add `,e.kind]})]}),e.note&&(0,V.jsxs)(`div`,{className:`mb-1.5 flex items-start gap-1.5 rounded border border-amber-500/30 bg-amber-500/10 px-2 py-1 text-[10px] leading-relaxed text-amber-300`,children:[(0,V.jsx)(le,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,V.jsx)(`span`,{children:e.note})]}),e.refs.length===0&&!e.adding&&(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:e.empty}),e.refs.map((t,n)=>{let r=t.source===`relay`&&(e.baselineSlugs?.has(t.ref)??!1);return(0,V.jsxs)(`div`,{className:`mb-1 flex items-center gap-2 rounded border border-border bg-card/60 px-2 py-1`,children:[(0,V.jsx)(I,{variant:`outline`,className:`text-[10px] ${cm(e.kind)}`,children:e.kind}),(0,V.jsx)(bm,{source:t.source}),(0,V.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-xs`,children:t.ref}),r&&(0,V.jsxs)(pl,{children:[(0,V.jsx)(ml,{asChild:!0,children:(0,V.jsxs)(I,{variant:`outline`,className:`gap-0.5 border-amber-500/30 bg-amber-500/10 text-[10px] text-amber-400`,children:[(0,V.jsx)(le,{className:`h-2.5 w-2.5`}),`baseline`]})}),(0,V.jsx)(hl,{className:`max-w-xs leading-relaxed`,children:`Baseline safety hook — always applied by the runner even if removed or disabled here.`})]}),t.provider&&t.provider!==`any`&&(0,V.jsx)(I,{variant:`secondary`,className:`text-[10px]`,children:t.provider}),(0,V.jsx)(jl,{checked:t.enabled,onCheckedChange:t=>e.onUpdate(n,{enabled:t}),disabled:e.readOnly,size:`sm`}),!e.readOnly&&(0,V.jsx)(L,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`h-5 w-5`,onClick:()=>e.onRemove(n),children:(0,V.jsx)(Fe,{className:`h-3 w-3`})})]},ym(t,n))}),e.adding&&(0,V.jsxs)(`div`,{className:`mt-1.5 space-y-2 rounded border border-border bg-card/60 p-2`,children:[e.loading&&(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`Loading...`}),e.fetchError&&(0,V.jsx)(`div`,{className:`text-xs text-destructive`,children:e.fetchError}),!e.loading&&e.caps.length===0&&!e.fetchError&&(0,V.jsxs)(`div`,{className:`text-xs text-muted-foreground`,children:[`No `,e.kind,` capabilities in registry`]}),e.caps.length>0&&(0,V.jsx)(`div`,{className:`max-h-44 space-y-0.5 overflow-y-auto rounded border border-border/60 bg-background/40 p-1`,children:e.caps.map(t=>(0,V.jsxs)(`button`,{type:`button`,onClick:()=>e.onAddRelay(t.capability.slug),className:`w-full rounded px-2 py-1 text-left font-mono text-xs hover:bg-accent focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,children:[t.capability.slug,t.capability.title?` - ${t.capability.title}`:``,t.variants.length>0&&(0,V.jsxs)(`span`,{className:`ml-2 text-muted-foreground`,children:[`(`,Cm(t),`)`]})]},t.capability.id))}),(0,V.jsx)(Tm,{}),(0,V.jsx)(Em,{...e}),(0,V.jsx)(L,{type:`button`,variant:`ghost`,size:`sm`,className:`mt-1 h-6 text-xs`,onClick:e.onCancel,children:`Cancel`})]})]})}function Tm(){return(0,V.jsxs)(`div`,{className:`flex items-center gap-2 pt-0.5`,children:[(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`}),(0,V.jsx)(`span`,{className:`text-[10px] uppercase tracking-wide text-muted-foreground`,children:`or add manually`}),(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`})]})}function Em(e){return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`div`,{className:`grid grid-cols-[1fr_1fr] gap-1.5`,children:[(0,V.jsx)(vm,{value:e.manualSource,onChange:t=>e.onManualSource(t),options:[{value:`repo`,label:`Repo ref`},{value:`inline`,label:`Inline ref`},{value:`provider`,label:`Provider ref`},{value:`relay`,label:`Relay ref`}]}),(0,V.jsx)(vm,{value:e.manualProvider,onChange:t=>e.onManualProvider(t),options:mm})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,V.jsx)(R,{value:e.manualRef,onChange:t=>e.onManualRef(t.target.value),placeholder:e.kind===`skill`?`.claude/skills/name or registry slug`:e.kind===`hook`?`.claude/hooks/name or registry slug`:`.relay/plugins/name or registry slug`,className:`font-mono text-xs`}),(0,V.jsx)(L,{type:`button`,variant:`outline`,size:`sm`,className:`h-8 text-xs`,onClick:e.onAddManual,children:`Add ref`})]})]})}function Dm(e){return(0,V.jsxs)(`div`,{children:[(0,V.jsxs)(`div`,{className:`mb-1.5 flex items-center justify-between`,children:[(0,V.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:`MCP from registry`}),!e.readOnly&&(0,V.jsxs)(L,{type:`button`,variant:`outline`,size:`sm`,className:`h-6 gap-1 text-xs`,onClick:e.onAddClick,children:[(0,V.jsx)(h,{className:`h-3 w-3`}),`Add MCP`]})]}),e.mcpKeys.length===0&&!e.adding&&(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`No MCP servers from registry`}),e.mcpKeys.map(t=>(0,V.jsxs)(`div`,{className:`mb-1 flex items-center gap-2 rounded border border-border bg-card/60 px-2 py-1`,children:[(0,V.jsx)(I,{variant:`outline`,className:`border-emerald-500/30 bg-emerald-500/10 text-[10px] text-emerald-400`,children:`mcp`}),(0,V.jsx)(bm,{source:`profile`}),(0,V.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-xs`,children:t}),!e.readOnly&&(0,V.jsx)(L,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`h-5 w-5`,onClick:()=>e.onRemove(t),children:(0,V.jsx)(Fe,{className:`h-3 w-3`})})]},t)),e.adding&&(0,V.jsxs)(`div`,{className:`mt-1.5 space-y-2 rounded border border-border bg-card/60 p-2`,children:[e.loading&&(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`Loading...`}),e.fetchError&&(0,V.jsx)(`div`,{className:`text-xs text-destructive`,children:e.fetchError}),!e.loading&&e.caps.length===0&&!e.fetchError&&(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`No MCP capabilities in registry`}),e.caps.length>0&&(0,V.jsx)(`div`,{className:`max-h-44 space-y-0.5 overflow-y-auto rounded border border-border/60 bg-background/40 p-1`,children:e.caps.map(t=>(0,V.jsxs)(`button`,{type:`button`,onClick:()=>e.onAddMcp(t),className:`w-full rounded px-2 py-1 text-left font-mono text-xs hover:bg-accent focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,children:[t.capability.slug,t.capability.title?` - ${t.capability.title}`:``,t.variants.length>0&&(0,V.jsxs)(`span`,{className:`ml-2 text-muted-foreground`,children:[`(`,Cm(t),`)`]})]},t.capability.id))}),(0,V.jsx)(L,{type:`button`,variant:`ghost`,size:`sm`,className:`mt-1 h-6 text-xs`,onClick:e.onCancel,children:`Cancel`})]})]})}function Om(e){let t=Nt();return e&&e!==`any`&&t.includes(e)?e:t[0]??``}function km({profile:e}){let[t,n]=(0,B.useState)(()=>Om(e.provider)),[r,i]=(0,B.useState)(null),[a,o]=(0,B.useState)(!1),[s,c]=(0,B.useState)(null);async function l(r=t){if(e.name.trim()){o(!0),c(null);try{let t=await A(`GET`,`/agent-profiles/${encodeURIComponent(e.name)}/resolved?provider=${encodeURIComponent(r)}`);n(t.provider),i(t.profile.provisioning??{skills:[],plugins:[],mcpServers:{}})}catch(e){c(Mt(e)),i(null)}finally{o(!1)}}}let u=e.relay.tools?.groups??[],d=u.length?`custom: ${u.join(`, `)}`:`full access (all groups)`,f=Object.keys(r?.mcpServers??{});return(0,V.jsxs)(`div`,{className:`space-y-3`,children:[(0,V.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,V.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,V.jsx)($,{children:`Provider`}),(0,V.jsx)(vm,{value:t,onChange:e=>{n(e),l(e)},options:Nt().map(e=>({value:e,label:At(e)}))})]}),(0,V.jsx)(L,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>void l(),disabled:a||!e.name.trim(),children:a?`Resolving...`:`Resolve`})]}),s&&(0,V.jsx)(`div`,{className:`rounded border border-destructive/40 bg-destructive/10 px-2 py-1 text-xs text-destructive`,children:s}),(0,V.jsxs)(`div`,{className:`rounded border border-border bg-muted/20 p-2`,children:[(0,V.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground`,children:`Relay tool surface`}),(0,V.jsx)(`div`,{className:`mt-1 font-mono text-xs`,children:d})]}),!r&&!s&&(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`Resolve this profile to inspect materialized provisioning.`}),r&&(0,V.jsxs)(`div`,{className:`grid gap-2`,children:[(0,V.jsx)(Am,{title:`Skills`,values:r.skills.map(e=>e.name),empty:`No resolved skills`}),(0,V.jsx)(Am,{title:`Plugins`,values:r.plugins.map(e=>e.name),empty:`No resolved plugins`}),(0,V.jsx)(Am,{title:`Hooks`,values:(r.hooks??[]).map(e=>e.tier===`baseline`?`${e.name} (baseline)`:e.name),empty:`No resolved hooks`}),(0,V.jsx)(Am,{title:`MCP Servers`,values:f,empty:`No resolved MCP servers`}),(r.skipped?.length??0)>0&&(0,V.jsxs)(`div`,{className:`rounded border border-amber-500/30 bg-amber-500/10 p-2`,children:[(0,V.jsx)(`div`,{className:`text-xs font-medium text-amber-300`,children:`Skipped`}),(0,V.jsx)(`div`,{className:`mt-1 space-y-1`,children:r.skipped.map(e=>(0,V.jsxs)(`div`,{className:`text-xs`,children:[(0,V.jsxs)(`span`,{className:`font-mono`,children:[e.kind,`:`,e.ref]}),(0,V.jsxs)(`span`,{className:`text-muted-foreground`,children:[` - `,e.detail]})]},`${e.kind}:${e.ref}:${e.reason}`))})]})]})]})}function Am({title:e,values:t,empty:n}){return(0,V.jsxs)(`div`,{className:`rounded border border-border bg-card/60 p-2`,children:[(0,V.jsx)(`div`,{className:`mb-1 text-xs font-medium text-muted-foreground`,children:e}),t.length===0?(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:n}):(0,V.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:t.map((e,t)=>(0,V.jsx)(I,{variant:`outline`,className:`font-mono text-[10px]`,children:e},`${e}:${t}`))})]})}function jm({title:e,children:t,defaultOpen:n=!0}){let[r,i]=(0,B.useState)(n);return(0,V.jsxs)(`div`,{className:`border border-border rounded-md`,children:[(0,V.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,V.jsx)(ue,{className:`h-3.5 w-3.5`}):(0,V.jsx)(s,{className:`h-3.5 w-3.5`}),e]}),r&&(0,V.jsx)(`div`,{className:`space-y-3 border-t border-border px-3 py-3`,children:t})]})}function Mm({value:e,onChange:t,options:n,disabled:r}){return(0,V.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,V.jsx)(`option`,{value:e.value,children:e.label},e.value))})}function Nm({env:e,onChange:t,disabled:n}){let r=Object.entries(e),[i,a]=(0,B.useState)(``),[o,s]=(0,B.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,V.jsxs)(`div`,{className:`space-y-1.5`,children:[r.map(([e,t])=>(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,V.jsxs)(`code`,{className:`min-w-0 flex-1 truncate rounded bg-muted px-2 py-1 text-xs`,children:[e,`=`,t]}),!n&&(0,V.jsx)(L,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`h-6 w-6 shrink-0`,onClick:()=>l(e),children:(0,V.jsx)(Fe,{className:`h-3 w-3`})})]},e)),!n&&(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,V.jsx)(R,{value:i,onChange:e=>a(e.target.value),placeholder:`KEY`,className:`flex-1 text-xs font-mono`}),(0,V.jsx)(R,{value:o,onChange:e=>s(e.target.value),placeholder:`value`,className:`flex-1 text-xs font-mono`,onKeyDown:e=>e.key===`Enter`&&c()}),(0,V.jsx)(L,{type:`button`,variant:`outline`,size:`icon-sm`,className:`h-8 w-8 shrink-0`,onClick:c,children:(0,V.jsx)(h,{className:`h-3 w-3`})})]}),r.length===0&&n&&(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`No environment variables`})]})}var Pm=[{value:`host`,label:`Host — full access, relay-aware`},{value:`minimal`,label:`Minimal — relay disabled, repo-scoped`},{value:`isolated`,label:`Isolated — strict isolation`},{value:`vanilla`,label:`Vanilla — zero host bleed (plugins/skills/hooks/MCP/CLAUDE.md off)`}],Fm=[{value:`any`,label:`Any provider`},...Nt().map(e=>({value:e,label:At(e)}))],Im=[{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`}],Lm=[{value:`host`,label:`Host — full filesystem`},{value:`workspace`,label:`Workspace — working directory tree`},{value:`repo`,label:`Repo — repository root only`}],Rm=[{value:`allow`,label:`Allow`},{value:`ignore`,label:`Ignore`}],zm=[{value:``,label:`Default`},{value:`open`,label:`Open — allow all`},{value:`guarded`,label:`Guarded — prompt for risky`},{value:`read-only`,label:`Read-only`}],Bm={context:`Injects relay's context preamble each turn (memory + situational awareness).`,skills:`Makes the bundled Agent Relay skills available to the agent.`,plugins:`Loads the bundled Agent Relay Claude plugin (session registration, approval hooks).`,statusLine:`Enables the relay status-line probe (quota + context-window reporting).`,mcp:`Master switch for relay's own MCP tools (relay_* — messaging, memory, spawn, etc.). One of three independent MCP sources, alongside Project MCP (the project's .mcp.json) and MCP Mode (the host's ambient MCP).`},Vm={context:`Context`,skills:`Skills`,plugins:`Plugins`,statusLine:`Status Line`,mcp:`MCP Tools`};function Hm({values:e,onChange:t,disabled:n,placeholder:r}){let[i,a]=(0,B.useState)(``);function o(){let n=i.trim();n&&(t([...e,n]),a(``))}function s(n,r){t(e.map((e,t)=>t===n?r:e))}function c(n){t(e.filter((e,t)=>t!==n))}return(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[e.map((e,t)=>(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,V.jsx)(R,{value:e,onChange:e=>s(t,e.target.value),disabled:n,className:`flex-1 text-xs`}),!n&&(0,V.jsx)(L,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`h-6 w-6 shrink-0`,onClick:()=>c(t),children:(0,V.jsx)(Fe,{className:`h-3 w-3`})})]},`${e}-${t}`)),!n&&(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,V.jsx)(R,{value:i,onChange:e=>a(e.target.value),placeholder:r,className:`flex-1 text-xs`,onKeyDown:e=>e.key===`Enter`&&o()}),(0,V.jsx)(L,{type:`button`,variant:`outline`,size:`icon-sm`,className:`h-8 w-8 shrink-0`,onClick:o,children:(0,V.jsx)(h,{className:`h-3 w-3`})})]}),e.length===0&&n&&(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`None`})]})}function Um(){let{open:e,mode:t,profile:n,relayToolsMode:r}=M(e=>e.profileModal),i=M(e=>e.closeProfileModal),a=M(e=>e.updateProfileModal),o=M(e=>e.setRelayToolsMode),s=M(e=>e.toolGroupCatalog),c=M(e=>e.toolGroupCatalogStatus),l=M(e=>e.fetchToolGroupCatalog),u=M(e=>e.saveProfile),d=t===`view`,f=t===`create`||t===`duplicate`,p=t===`view`?`Profile: ${n.name}`:t===`edit`?`Edit: ${n.name}`:t===`duplicate`?`Duplicate Profile`:`Create Profile`;function m(e){a({instructions:{...n.instructions,...e}})}function h(e){a({relay:{...n.relay,...e}})}function g(e,t){let r=n.relay.tools?.groups??[],i=t?[...new Set([...r,e])]:r.filter(t=>t!==e);h({tools:i.length?{groups:i}:void 0})}let _=n.relay.tools?.groups??[],v=s.reduce((e,t)=>e+t.tools.length,0),y=c.loading||!c.loaded&&s.length===0,b=!y&&(!!c.error||s.length===0);function x(e){a({projectMcp:_m(e)})}function S(e){a({projectSkills:_m(e)})}function C(e){a({projectSettings:_m(e)})}function ee(e){a({sharedMcp:_m(e)})}function w(e){a({permissions:{...n.permissions,...e}})}function te(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}a({providerOptions:{...t,codex:r}})}function T(e){if(!e.trim()){a({maxSpawnedAgents:void 0});return}let t=Number(e);!Number.isInteger(t)||t<0||a({maxSpawnedAgents:Math.min(t,100)})}function ne(e){let t=e===`host`;a({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 re=n.providerOptions?.codex&&typeof n.providerOptions.codex==`object`&&!Array.isArray(n.providerOptions.codex)?n.providerOptions.codex:{},ie=Number.isSafeInteger(re.toolOutputTokenLimit)?String(re.toolOutputTokenLimit):``;return(0,V.jsx)(Pp,{open:e,onOpenChange:e=>!e&&i(),children:(0,V.jsxs)(Lp,{className:`max-w-2xl max-h-[90vh] overflow-y-auto`,children:[(0,V.jsx)(Rp,{children:(0,V.jsxs)(Bp,{className:`flex items-center gap-2`,children:[p,n.builtIn&&(0,V.jsx)(I,{variant:`secondary`,className:`text-[10px]`,children:`Built-in`})]})}),(0,V.jsxs)(`div`,{className:`space-y-3`,children:[(0,V.jsxs)(jm,{title:`General`,defaultOpen:!0,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Name`}),(0,V.jsx)(R,{value:n.name,onChange:e=>a({name:e.target.value}),placeholder:`my-profile`,disabled:d||t===`edit`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Description`}),(0,V.jsx)(R,{value:n.description||``,onChange:e=>a({description:e.target.value}),placeholder:`What this profile configures`,disabled:d})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(um,{tip:`Emoji shown across the dashboard wherever an agent on this profile appears (conversation rows, agent cards, chat header). A single emoji; leave blank for a neutral marker.`,children:`Icon`}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(R,{value:n.icon||``,onChange:e=>a({icon:e.target.value}),placeholder:`🤖`,maxLength:8,disabled:d,className:`w-24 text-center text-base`}),(0,V.jsx)(`span`,{className:`text-2xl leading-none`,"aria-hidden":!0,children:n.icon?.trim()||`•`})]})]}),(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Base`}),(0,V.jsx)(Mm,{value:n.base,onChange:e=>ne(e),options:Pm,disabled:d})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Provider`}),(0,V.jsx)(Mm,{value:n.provider||`any`,onChange:e=>a({provider:e}),options:Fm,disabled:d})]})]})]}),(0,V.jsxs)(jm,{title:`Instructions`,defaultOpen:!1,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`System Prompt`}),(0,V.jsx)(Zd,{value:n.instructions.system||``,onChange:e=>m({system:e.target.value}),placeholder:`Custom system prompt...`,rows:3,disabled:d,className:`font-mono text-xs`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Append Instructions`}),(0,V.jsx)(Hm,{values:n.instructions.append??[],onChange:e=>m({append:e}),disabled:d,placeholder:`Append instruction fragment`})]}),(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Repo Instructions`}),(0,V.jsx)(Mm,{value:n.instructions.repoInstructions,onChange:e=>m({repoInstructions:e}),options:Rm,disabled:d})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Global Instructions`}),(0,V.jsx)(Mm,{value:n.instructions.globalInstructions,onChange:e=>m({globalInstructions:e}),options:Rm,disabled:d})]})]})]}),(0,V.jsxs)(jm,{title:`Relay Integration`,defaultOpen:!1,children:[(0,V.jsxs)(`p`,{className:`rounded border border-border bg-muted/20 px-2 py-1.5 text-xs text-muted-foreground`,children:[`MCP comes from three independent sources — relay (`,(0,V.jsx)(`span`,{className:`font-medium text-foreground`,children:`MCP Tools`}),` below), the project (`,(0,V.jsx)(`span`,{className:`font-medium text-foreground`,children:`Project MCP`}),` in Provisioning Policies), and the host (`,(0,V.jsx)(`span`,{className:`font-medium text-foreground`,children:`MCP Mode`}),` in MCP & Hooks). Toggle each separately and mix freely.`]}),(0,V.jsx)(`div`,{className:`grid grid-cols-2 gap-3`,children:[`context`,`skills`,`plugins`,`statusLine`,`mcp`].map(e=>(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,V.jsx)(um,{tip:Bm[e],children:Vm[e]}),(0,V.jsx)(jl,{checked:n.relay[e]??!0,onCheckedChange:t=>h({[e]:t}),disabled:d})]},e))}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(um,{tip:`Which relay MCP tools this agent can call. Full access grants every tool relay exposes; Custom restricts the agent to only the selected groups. Sourced live from the server's tool-group registry, so it can't drift out of date.`,children:`Relay Tool Groups`}),(0,V.jsxs)(`div`,{className:`mt-1 flex overflow-hidden rounded-md border border-input text-xs`,children:[(0,V.jsx)(`button`,{type:`button`,className:`flex-1 px-2 py-1.5 font-medium transition-colors ${r===`full`?`bg-primary text-primary-foreground`:`bg-background hover:bg-accent`}`,onClick:()=>o(`full`),disabled:d,children:`Full access — all tools`}),(0,V.jsx)(`button`,{type:`button`,className:`flex-1 border-l border-input px-2 py-1.5 font-medium transition-colors ${r===`custom`?`bg-primary text-primary-foreground`:`bg-background hover:bg-accent`}`,onClick:()=>o(`custom`),disabled:d,children:`Custom — selected groups`})]}),r===`full`&&(0,V.jsxs)(`p`,{className:`mt-1.5 text-xs text-muted-foreground`,children:[`Every relay MCP tool is available — `,v,` tools across `,s.length,` groups.`]}),r===`custom`&&(0,V.jsxs)(V.Fragment,{children:[y?(0,V.jsx)(`div`,{className:`mt-1.5 rounded border border-border bg-muted/20 px-2 py-2 text-xs text-muted-foreground`,children:`Loading tool groups…`}):b?(0,V.jsxs)(`div`,{className:`mt-1.5 flex items-center justify-between gap-2 rounded border border-destructive/40 bg-destructive/10 px-2 py-2 text-xs text-destructive`,children:[(0,V.jsx)(`span`,{children:`Couldn't load tool groups (is the server up to date?)`}),(0,V.jsxs)(L,{type:`button`,variant:`outline`,size:`sm`,className:`h-7 gap-1 px-2 text-xs`,onClick:()=>void l(),disabled:c.loading,children:[(0,V.jsx)(oe,{className:`h-3 w-3 ${c.loading?`animate-spin`:``}`}),`Retry`]})]}):(0,V.jsx)(`div`,{className:`mt-1.5 grid grid-cols-2 gap-1.5`,children:s.map(e=>(0,V.jsxs)(`label`,{className:`flex items-center gap-1.5 rounded border border-border px-2 py-1 text-xs`,children:[(0,V.jsx)(`input`,{type:`checkbox`,className:`rounded`,checked:_.includes(e.name),onChange:t=>g(e.name,t.target.checked),disabled:d}),(0,V.jsx)(`span`,{className:`flex-1 truncate font-mono`,children:e.name}),(0,V.jsx)(lm,{children:(0,V.jsx)(`div`,{className:`font-mono text-[11px] leading-relaxed`,children:e.tools.join(`, `)})})]},e.name))}),!y&&!b&&(_.length===0?(0,V.jsx)(`p`,{className:`mt-1.5 text-xs text-amber-400`,children:`No groups selected yet — until you pick at least one, this profile keeps full tool access.`}):(0,V.jsxs)(`p`,{className:`mt-1.5 text-xs text-muted-foreground`,children:[_.length,` of `,s.length,` groups selected.`]}))]})]})]}),(0,V.jsx)(jm,{title:`MCP & Hooks`,defaultOpen:!1,children:(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(um,{tip:`The host's ambient MCP servers (your rig's configured MCP). Host = inherit them; None = no host MCP (clean, no bleed). Separate from relay's own MCP and the project's MCP.`,children:`MCP Mode`}),(0,V.jsx)(Mm,{value:n.mcp.mode,onChange:e=>a({mcp:{...n.mcp,mode:e}}),options:Im,disabled:d})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(um,{tip:`The host's hook configuration. Host = inherit it; None = no host hooks.`,children:`Hooks Mode`}),(0,V.jsx)(Mm,{value:n.hooks.mode,onChange:e=>a({hooks:{...n.hooks,mode:e}}),options:Im,disabled:d})]})]})}),(0,V.jsx)(jm,{title:`Provisioning Policies`,defaultOpen:!1,children:(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(um,{tip:`Injects the MCP servers declared in the spawn directory's project .mcp.json, via relay's controlled config path (survives --strict-mcp-config, no trust modal). All = every declared server. This is the project's MCP source — distinct from relay's MCP Tools and the host's MCP Mode.`,children:`Project MCP`}),(0,V.jsx)(Mm,{value:gm(n.projectMcp),onChange:x,options:dm,disabled:d})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(um,{tip:`Injects skills committed under the project's .claude/skills.`,children:`Project Skills`}),(0,V.jsx)(Mm,{value:gm(n.projectSkills),onChange:S,options:dm,disabled:d})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(um,{tip:`Injects the project's .claude/settings.json (permission/security keys stripped).`,children:`Project Settings`}),(0,V.jsx)(Mm,{value:gm(n.projectSettings),onChange:C,options:fm,disabled:d})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(um,{tip:`Routes the agent's non-identity MCP through one shared orchestrator listener so the MCP session survives restarts and keeps correct worktree-cwd routing. A transport choice, not a source selector.`,children:`Shared MCP`}),(0,V.jsx)(Mm,{value:gm(n.sharedMcp),onChange:ee,options:dm,disabled:d})]}),(0,V.jsxs)(`div`,{className:`col-span-2`,children:[(0,V.jsx)(um,{tip:`How the agent's isolated branch lands: Direct (rebase/FF), Pull request, or the instance default.`,children:`Landing Strategy`}),(0,V.jsx)(Mm,{value:n.landingStrategy??``,onChange:e=>a({landingStrategy:e||void 0}),options:pm,disabled:d})]})]})}),(0,V.jsx)(jm,{title:`Permissions`,defaultOpen:!1,children:(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Approval Mode`}),(0,V.jsx)(Mm,{value:n.permissions.mode||``,onChange:e=>w({mode:e||void 0}),options:zm,disabled:d})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Filesystem Scope`}),(0,V.jsx)(Mm,{value:n.permissions.filesystem,onChange:e=>w({filesystem:e}),options:Lm,disabled:d})]})]})}),(0,V.jsx)(jm,{title:`Spawning`,defaultOpen:!1,children:(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Spawn Quota`}),(0,V.jsx)(R,{type:`number`,min:0,max:100,step:1,value:n.maxSpawnedAgents===void 0?``:String(n.maxSpawnedAgents),onChange:e=>T(e.target.value),placeholder:`0`,disabled:d}),(0,V.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,V.jsx)(jm,{title:`Environment Variables`,defaultOpen:!1,children:(0,V.jsx)(Nm,{env:n.env||{},onChange:e=>a({env:e}),disabled:d})}),(0,V.jsx)(jm,{title:`Registry Capabilities`,defaultOpen:!1,children:(0,V.jsx)(xm,{skills:n.skills??[],plugins:n.plugins??[],hooks:n.hooks.refs??[],mcp:n.mcp,onChangeSkills:e=>a({skills:e}),onChangePlugins:e=>a({plugins:e}),onChangeHooks:e=>a({hooks:{...n.hooks,refs:e}}),onChangeMcp:e=>a({mcp:e}),projectMcp:n.projectMcp,projectSkills:n.projectSkills,projectSettings:n.projectSettings,sharedMcp:n.sharedMcp,readOnly:d})}),(0,V.jsx)(jm,{title:`Resolved Provisioning`,defaultOpen:t===`view`,children:(0,V.jsx)(km,{profile:n})}),(0,V.jsxs)(jm,{title:`Provider Options`,defaultOpen:!1,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Codex Tool Output Limit`}),(0,V.jsx)(R,{type:`number`,min:1e3,max:2e5,value:ie,onChange:e=>te(e.target.value),placeholder:`12000`,disabled:d})]}),(0,V.jsx)(Zd,{value:JSON.stringify(n.providerOptions||{},null,2),onChange:e=>{try{a({providerOptions:JSON.parse(e.target.value)})}catch{}},rows:3,disabled:d,className:`font-mono text-xs`,placeholder:`{}`})]})]}),!d&&(0,V.jsxs)(zp,{children:[(0,V.jsx)(L,{variant:`outline`,onClick:i,children:`Cancel`}),(0,V.jsx)(L,{onClick:u,children:f?`Create`:`Save`})]})]})})}function Wm(){let e=M(e=>e.commandPaletteOpen),t=M(e=>e.commandQuery),n=M(e=>e.set),r=M(e=>e.closeCommandPalette),i=M(e=>e.runCommand),a=kl(),o=(0,B.useRef)(null);return(0,B.useEffect)(()=>{e&&setTimeout(()=>o.current?.focus(),50)},[e]),e?(0,V.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-start justify-center pt-[15vh]`,onClick:e=>{e.target===e.currentTarget&&r()},children:[(0,V.jsx)(`div`,{className:`fixed inset-0 bg-black/60`}),(0,V.jsxs)(`div`,{className:`relative w-full max-w-lg bg-card border border-border rounded-xl shadow-2xl overflow-hidden`,children:[(0,V.jsx)(`div`,{className:`p-3 border-b border-border`,children:(0,V.jsx)(R,{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,V.jsxs)(`div`,{className:`max-h-80 overflow-y-auto p-2`,children:[a.map(e=>(0,V.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,V.jsx)(ut[e.icon]||s,{className:`w-4 h-4 text-muted-foreground shrink-0`}),(0,V.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,V.jsx)(`div`,{className:`text-sm`,children:e.title}),e.subtitle&&(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground truncate`,children:e.subtitle})]})]},e.id)),a.length===0&&(0,V.jsx)(`p`,{className:`text-sm text-muted-foreground text-center py-4`,children:`No matching commands.`})]})]})]}):null}function Gm(){let e=M(e=>e.set),t=M(e=>e.connected);return(0,V.jsxs)(`div`,{className:`xl:hidden shrink-0 sticky top-0 z-30 bg-card border-b border-border px-4 h-[var(--header-h)] flex items-center gap-3`,children:[(0,V.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,V.jsx)(lt,{className:`w-5 h-5`})}),(0,V.jsx)(bt,{className:`w-4 h-4 text-primary`}),(0,V.jsx)(`span`,{className:`font-bold text-sm`,children:`Agent Relay`}),(0,V.jsx)(`span`,{className:`ml-auto w-2 h-2 rounded-full ${t?`bg-emerald-500`:`bg-red-500 animate-pulse`}`})]})}function Km(e){return e===`five_hour`?`5h burst`:e===`seven_day`?`7-day`:e===`seven_day_sonnet`?`7-day Sonnet`:e===`seven_day_opus`?`7-day Opus`:e===`primary`?`Primary`:e===`secondary`?`Secondary`:e}function qm(e,t){if(!t)return``;let n=Math.max(0,(t-e)/1e3);if(n<60)return`${Math.floor(n)}s`;if(n<3600)return`${Math.floor(n/60)}m`;if(n<86400){let e=Math.floor(n/3600),t=Math.round(n%3600/60);return t===60?`${e+1}h`:t>0?`${e}h ${t}m`:`${e}h`}let r=Math.floor(n/86400),i=Math.round(n%86400/3600);return i===24?`${r+1}d`:i>0?`${r}d ${i}h`:`${r}d`}function Jm(e,t){if(!t)return``;let n=Math.max(0,(t-e)/1e3);return n<3600?`${Math.floor(n/60)}m`:n<86400?`${Math.round(n/3600)}h`:`${(n/86400).toFixed(1).replace(/\.0$/,``)}d`}var Ym=`agent-relay:quota-widget`,Xm=300*1e3,Zm=8;function Qm(e){return!e.quota&&e.lastError?.type===`unavailable`}function $m(e,t){let n=t===`5h`?[`five_hour`,`primary`]:[`seven_day`,`secondary`];return e.quota?.windows.find(e=>n.includes(e.name))}function eh({record:e,now:t,advisory:n}){let r=(0,V.jsx)(ar,{provider:e.provider,className:`w-3.5 h-3.5`});if(Qm(e))return(0,V.jsxs)(`span`,{className:`flex items-center gap-1 shrink-0 text-muted-foreground`,children:[r,(0,V.jsx)(`span`,{className:`italic`,children:`unavailable`})]});if(!e.quota){let n=e.lastAttemptAt?N(t,e.lastAttemptAt):``,i=e.lastError?.retryAfterMs,a=i==null?null:Math.ceil(Math.max(0,(e.lastAttemptAt+i-t)/1e3));return(0,V.jsxs)(`span`,{className:`flex items-center gap-1 shrink-0 text-muted-foreground`,children:[r,n&&(0,V.jsx)(`span`,{children:n}),a!=null&&a>0&&(0,V.jsxs)(`span`,{className:`text-amber-400/70`,children:[`~`,a,`s`]})]})}let i=$m(e,`5h`),a=$m(e,`7d`);function o(e){if(!e)return null;let n=Math.round(e.utilization*100),r=Jm(t,e.resetsAt);return(0,V.jsxs)(`span`,{className:`tabular-nums`,children:[n,`%`,r?`/${r}`:``]})}let s=(e.stale||e.lastError)&&e.lastAttemptAt?N(t,e.lastAttemptAt):``;return(0,V.jsxs)(`span`,{className:`flex items-center gap-1.5 shrink-0 text-foreground/70`,children:[r,(0,V.jsx)(oh,{advisory:n}),o(i),o(a),s&&(0,V.jsx)(`span`,{className:`text-muted-foreground/70`,children:s})]})}function th(){try{let e=localStorage.getItem(Ym);return{open:!0,pinned:!1,...e?JSON.parse(e):{}}}catch{return{open:!0,pinned:!1}}}function nh(e){try{localStorage.setItem(Ym,JSON.stringify(e))}catch{}}function rh(){let[{open:e,pinned:t},n]=(0,B.useState)(th),[r,i]=(0,B.useState)(null),[a,o]=(0,B.useState)(null),[c,l]=(0,B.useState)(null),[u,d]=(0,B.useState)(`loading`),f=Ot(),p=M(e=>e.connected);(0,B.useEffect)(()=>{if(!p)return;let e=!1;async function t(){try{let[t,n,r]=await Promise.all([A(`GET`,`/provider-quotas`),A(`GET`,`/providers/quota-config`).catch(()=>null),A(`GET`,`/provider-quotas/advisory`).catch(()=>null)]);e||(i(t),o(n),l(r),d(`ok`))}catch{e||d(`error`)}}t();let n=setInterval(()=>void t(),Xm);return()=>{e=!0,clearInterval(n)}},[p,M(e=>e.quotaSeq)]);let h=e||t,g=(r?.quotas??[]).filter(e=>a?.[e.provider]?.showInWidget!==!1),_=g.some(e=>e.stale&&!Qm(e)),v=g.some(e=>e.lastError&&!Qm(e));function y(){if(t)return;let r={open:!e,pinned:t};n(r),nh(r)}function b(){let r=t?{open:e,pinned:!1}:{open:!0,pinned:!0};n(r),nh(r)}return(0,V.jsxs)(`div`,{className:`shrink-0 border-b border-border`,children:[(0,V.jsxs)(`div`,{className:`w-full flex items-center gap-2 px-4 py-2 text-xs hover:bg-muted/30 transition-colors`,children:[(0,V.jsxs)(`button`,{type:`button`,onClick:y,"aria-expanded":h,className:`min-w-0 flex flex-1 items-center gap-2 text-left`,children:[(0,V.jsx)(s,{className:`w-3.5 h-3.5 shrink-0 text-muted-foreground transition-transform ${h?`rotate-90`:``}`}),(0,V.jsx)(`span`,{className:`font-semibold text-foreground/80 shrink-0 ${h?``:`hidden sm:inline`}`,children:`Provider Quotas`}),u===`loading`&&(0,V.jsx)(Je,{className:`w-3 h-3 text-muted-foreground animate-spin`}),u===`error`&&(0,V.jsx)(`span`,{className:`text-amber-400 text-[10px]`,children:`● unavailable`}),!h&&u===`ok`&&g.length>0&&(0,V.jsx)(`div`,{className:`flex min-w-0 flex-1 flex-wrap items-center gap-x-3 gap-y-0.5 text-[10px]`,children:g.map(e=>(0,V.jsx)(eh,{record:e,now:f,advisory:c?.advisories[e.provider]},`${e.provider}:${e.accountKey}`))}),h&&_&&(0,V.jsx)(`span`,{className:`text-amber-400 text-[10px]`,children:`● stale`}),h&&v&&(0,V.jsx)(`span`,{className:`text-red-400 text-[10px]`,children:`● error`})]}),(0,V.jsx)(`button`,{type:`button`,onClick:b,"aria-pressed":t,title:t?`Unpin`:`Pin always-on`,className:`p-0.5 rounded hover:bg-muted transition-colors ${t?`text-primary`:`text-muted-foreground/50 hover:text-muted-foreground`}`,children:(0,V.jsx)(m,{className:`w-3 h-3`})})]}),h&&(0,V.jsxs)(`div`,{className:`px-4 py-3`,children:[u===`loading`&&(0,V.jsxs)(`p`,{className:`text-xs text-muted-foreground flex items-center gap-1.5`,children:[(0,V.jsx)(Je,{className:`w-3 h-3 animate-spin`}),`Loading quota data…`]}),u===`error`&&(0,V.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Quota data unavailable — check that you are authenticated and the server is reachable.`}),u===`ok`&&r!==null&&g.length===0&&(0,V.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No quota data yet — waiting for runner to report.`}),u===`ok`&&r!==null&&g.length>0&&(0,V.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-3`,children:g.map(e=>{let t=a?.[e.provider],n={enabled:t?.sparklineEnabled??!0,rangeHours:t?.sparklineRangeHours??Zm};return(0,V.jsx)(uh,{record:e,now:f,advisory:c?.advisories[e.provider],sparklineCfg:n},`${e.provider}:${e.accountKey}`)})})]})]})}var ih={prefer:{icon:ht,badge:`text-emerald-400 bg-emerald-500/10 border-emerald-500/20`,dot:`bg-emerald-400`},caution:{icon:he,badge:`text-amber-400 bg-amber-500/10 border-amber-500/20`,dot:`bg-amber-400`},"avoid-large":{icon:he,badge:`text-orange-400 bg-orange-500/10 border-orange-500/20`,dot:`bg-orange-400`},"hard-avoid":{icon:ze,badge:`text-red-400 bg-red-500/10 border-red-500/20`,dot:`bg-red-400`}};function ah({advisory:e}){if(!e)return null;if(e.blockedNow)return(0,V.jsxs)(`span`,{className:`inline-flex items-center gap-0.5 text-[9px] font-medium text-red-400 bg-red-500/10 border border-red-500/20 rounded px-1 py-0.5 shrink-0`,children:[(0,V.jsx)(ze,{className:`w-2.5 h-2.5`}),`at capacity`]});let t=e.quotaPenaltyBand;if(t===`normal`)return null;let n=ih[t],r=n.icon;return(0,V.jsxs)(`span`,{className:`inline-flex items-center gap-0.5 text-[9px] font-medium ${n.badge} border rounded px-1 py-0.5 shrink-0`,children:[(0,V.jsx)(r,{className:`w-2.5 h-2.5`}),t]})}function oh({advisory:e}){if(!e)return null;if(e.blockedNow)return(0,V.jsx)(`span`,{className:`inline-block w-1.5 h-1.5 rounded-full bg-red-500 shrink-0`,title:`at capacity`});let t=e.quotaPenaltyBand;return t===`normal`?null:(0,V.jsx)(`span`,{className:`inline-block w-1.5 h-1.5 rounded-full ${ih[t].dot} shrink-0`,title:t})}function sh(e,t){if(!e||e.confidence===`low`||e.burnRatio===null)return null;let n=e.burnRatio.toFixed(1);return!e.earlyWallMs||e.earlyWallMs<=0?`${n}× rate`:`${n}× · ~${qm(t,t+e.earlyWallMs)} before reset`}function ch({burnWindow:e,now:t}){if(!e)return null;if(e.confidence===`low`||e.burnRatio===null)return(0,V.jsxs)(`div`,{className:`flex items-center gap-1 text-[9px] text-muted-foreground/50`,children:[(0,V.jsx)(Ge,{className:`w-2.5 h-2.5 shrink-0`}),(0,V.jsx)(`span`,{className:`italic`,children:`building burn history…`})]});let n=sh(e,t);return n?(0,V.jsxs)(`div`,{className:`flex items-center gap-1 text-[9px] text-muted-foreground/70 tabular-nums`,children:[(0,V.jsx)(he,{className:`w-2.5 h-2.5 shrink-0`}),(0,V.jsx)(`span`,{children:n})]}):null}function lh({provider:e,windowName:t,rangeHours:n}){let[r,i]=(0,B.useState)([]);Ot(),(0,B.useEffect)(()=>{let r=!1,a=Date.now()-n*36e5;return A(`GET`,`/provider-quotas/history?provider=${encodeURIComponent(e)}&sinceMs=${a}&limit=500`).then(e=>{r||i(e.filter(e=>!!e.quota).map(e=>{let n=e.quota.windows.find(e=>e.name===t);return n?{t:e.capturedAt,v:n.utilization}:null}).filter(Boolean))}).catch(()=>{}),()=>{r=!0}},[e,t,n]);let a=(0,B.useMemo)(()=>{if(r.length<2)return null;let e=r[0].t,t=r[r.length-1].t-e||1;return r.map(n=>{let r=1+(n.t-e)/t*118,i=1+(1-n.v)*22;return`${r.toFixed(1)},${i.toFixed(1)}`}).join(` `)},[r]);if(!a)return null;let o=r.length>0?Math.round(r[r.length-1].v*100):0;return(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,V.jsx)(`svg`,{width:120,height:24,viewBox:`0 0 120 24`,className:`shrink-0`,children:(0,V.jsx)(`polyline`,{points:a,fill:`none`,stroke:o>=90?`#ef4444`:o>=70?`#f59e0b`:`#10b981`,strokeWidth:1.5,strokeLinecap:`round`,strokeLinejoin:`round`,opacity:.8})}),(0,V.jsxs)(`span`,{className:`text-[9px] text-muted-foreground tabular-nums`,children:[n,`h`]})]})}function uh({record:e,now:t,advisory:n,sparklineCfg:r}){let{provider:i,accountKey:a,quota:o,stale:s,lastError:c,lastUpdatedAt:l,lastAttemptAt:u}=e;if(Qm(e))return(0,V.jsxs)(`div`,{className:`rounded border border-border bg-muted/20 p-3 space-y-1.5 opacity-70`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,V.jsx)(ar,{provider:i,className:`w-3.5 h-3.5 text-muted-foreground`}),(0,V.jsx)(`span`,{className:`text-[9px] font-medium text-muted-foreground bg-muted border border-border rounded px-1 py-0.5 shrink-0`,children:`unavailable`})]}),(0,V.jsxs)(`p`,{className:`text-[10px] text-muted-foreground`,children:[`Quota unavailable — `,c?.message??`no readable credentials`]})]});let d=c?.retryAfterMs,f=d==null?null:Math.max(0,u+d-t),p=f==null?null:Math.ceil(f/1e3),m=(s||!!c)&&u>0;return(0,V.jsxs)(`div`,{className:`rounded border ${c?`border-red-500/30`:s?`border-amber-500/30`:`border-border`} bg-card p-3 space-y-2`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,V.jsx)(ar,{provider:i,className:`w-3.5 h-3.5`}),(0,V.jsx)(`span`,{className:`text-[10px] text-muted-foreground font-mono truncate`,children:a})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-1 shrink-0`,children:[(0,V.jsx)(ah,{advisory:n}),s&&(0,V.jsx)(`span`,{className:`text-[9px] font-medium text-amber-400 bg-amber-500/10 border border-amber-500/20 rounded px-1 py-0.5`,children:`stale`}),c&&(0,V.jsx)(`span`,{className:`text-[9px] font-medium text-red-400 bg-red-500/10 border border-red-500/20 rounded px-1 py-0.5`,title:c.message,children:c.type===`rate_limited`?`429`:`err`})]})]}),o?(0,V.jsx)(`div`,{className:`space-y-1.5`,children:o.windows.map(n=>{let i=Math.round(n.utilization*100),a=i>=90?`bg-red-500`:i>=70?`bg-amber-500`:`bg-emerald-500`,o=n.resetsAt?qm(t,n.resetsAt):``,s=e.burn?.windows.find(e=>e.name===n.name);return(0,V.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,V.jsxs)(`div`,{className:`flex justify-between text-[10px] text-muted-foreground`,children:[(0,V.jsx)(`span`,{children:Km(n.name)}),(0,V.jsxs)(`span`,{children:[i,`%`,o?` · resets in ${o}`:``]})]}),(0,V.jsx)(`div`,{className:`h-1.5 rounded-full bg-muted overflow-hidden`,children:(0,V.jsx)(`div`,{className:`h-full ${a} transition-all duration-500`,style:{width:`${Math.max(0,Math.min(100,i))}%`}})}),(0,V.jsx)(ch,{burnWindow:s,now:t}),r?.enabled&&(0,V.jsx)(lh,{provider:e.provider,windowName:n.name,rangeHours:r.rangeHours})]},n.name)})}):(0,V.jsx)(`p`,{className:`text-[10px] text-muted-foreground italic`,children:c?c.message:`No quota data`}),(0,V.jsxs)(`div`,{className:`flex items-start justify-between gap-2 text-[10px] text-muted-foreground/60`,children:[(0,V.jsxs)(`div`,{className:`space-y-0.5 min-w-0`,children:[m&&(0,V.jsxs)(`div`,{children:[`Attempted `,N(t,u)]}),(0,V.jsx)(`div`,{children:l?`Updated ${N(t,l)}`:`Never updated`})]}),p!=null&&(0,V.jsx)(`span`,{className:`text-amber-400/70 shrink-0 mt-0.5`,children:p>0?`retry in ~${p>60?`${Math.ceil(p/60)}m`:`${p}s`}`:`retrying…`})]})]})}function dh(e){return(0,B.lazy)(()=>yr(e))}var fh=dh(()=>z(()=>import(`./overview-Kvs-j2gg.js`).then(e=>({default:e.OverviewView})),__vite__mapDeps([15,1,6,8,9,10,16,17,12,18]),import.meta.url)),ph=dh(()=>z(()=>import(`./chat-BdbIWZpQ.js`).then(e=>({default:e.ChatView})),__vite__mapDeps([19,1,6,20,8,9,10,21,16,22,2,23,24,25,26,27,11,12,17,28,13]),import.meta.url)),mh=dh(()=>z(()=>import(`./agents-_GBQyF5b.js`).then(e=>({default:e.AgentsView})),__vite__mapDeps([29,1,30,31,6,12,32,20,33,34,35,36,37,8,9,10,16,26,27,11,17,18]),import.meta.url)),hh=dh(()=>z(()=>import(`./managed-agents-pkpAzZy8.js`).then(e=>({default:e.ManagedAgentsView})),__vite__mapDeps([38,1,6,8,9,10,27,11,12,17]),import.meta.url)),gh=dh(()=>z(()=>import(`./teams-CrVDQ99v.js`).then(e=>({default:e.TeamsView})),__vite__mapDeps([39,1,40,30,31,6,12,32,20,33,34,41,42,43,35,37,44,8,9,10,24,25,17,11,18,28]),import.meta.url)),_h=dh(()=>z(()=>import(`./agent-profiles-C3p0xclG.js`).then(e=>({default:e.AgentProfilesView})),__vite__mapDeps([45,1,6,8,9,10,17,12,11]),import.meta.url)),vh=dh(()=>z(()=>import(`./orchestrators-BaWxeAlK.js`).then(e=>({default:e.OrchestratorsView})),__vite__mapDeps([46,6,1,8,9,10,17,12,11,18]),import.meta.url)),yh=dh(()=>z(()=>import(`./workspaces-CoDz-iZd.js`).then(e=>({default:e.WorkspacesView})),__vite__mapDeps([47,1,6,8,9,10,27,11,12,25,17,18]),import.meta.url)),bh=dh(()=>z(()=>import(`./channels-DAtOnA6o.js`).then(e=>({default:e.ChannelsView})),__vite__mapDeps([48,6,1,8,9,10,17,12,11,18]),import.meta.url)),xh=dh(()=>z(()=>import(`./connectors-B2grC-hl.js`).then(e=>({default:e.ConnectorsView})),__vite__mapDeps([49,6,1,8,9,10,17,12,11,18]),import.meta.url)),Sh=dh(()=>z(()=>import(`./integrations-9c6IdRU4.js`).then(e=>({default:e.IntegrationsView})),__vite__mapDeps([50,6,1,8,9,10,17,12,11,18]),import.meta.url)),Ch=dh(()=>z(()=>import(`./security-VbEe_jwm.js`).then(e=>({default:e.SecurityView})),__vite__mapDeps([51,1,6,27,11,12,17,18,28]),import.meta.url)),wh=dh(()=>z(()=>import(`./memory-BnquVYQz.js`).then(e=>({default:e.MemoryView})),__vite__mapDeps([52,1,6,8,9,10,17,12,11,18,28]),import.meta.url)),Th=dh(()=>z(()=>import(`./activity-Fo5aLYD6.js`).then(e=>({default:e.ActivityView})),__vite__mapDeps([53,1,6,8,9,10,21,16,22,2,23,25,17,12,11,18]),import.meta.url)),Eh=dh(()=>z(()=>import(`./pairs-eDzbqcER.js`).then(e=>({default:e.PairsView})),__vite__mapDeps([54,6,1,8,9,10,17,12,11,18]),import.meta.url)),Dh=dh(()=>z(()=>import(`./messages-DgxLlndC.js`).then(e=>({default:e.MessagesView})),__vite__mapDeps([55,1,6,8,9,10,22,2,17,12,11,18]),import.meta.url)),Oh=dh(()=>z(()=>import(`./work-queue-DDSGZO4Z.js`).then(e=>({default:e.WorkQueueView})),__vite__mapDeps([56,6,1,8,9,10,17,12,11,18]),import.meta.url)),kh=dh(()=>z(()=>import(`./tasks-BtbKaa-b.js`).then(e=>({default:e.TasksView})),__vite__mapDeps([57,1,6,8,9,10,17,12,11,18]),import.meta.url)),Ah=dh(()=>z(()=>import(`./automation-Cf_Ewi9f.js`).then(e=>({default:e.AutomationView})),__vite__mapDeps([58,1,6,8,9,10,17,12,11,18,28]),import.meta.url)),jh=dh(()=>z(()=>import(`./analytics-BZtRycyL.js`).then(e=>({default:e.AnalyticsView})),__vite__mapDeps([59,1,6,8,9,10,18,60]),import.meta.url)),Mh=dh(()=>z(()=>import(`./insights-CTW85An9.js`).then(e=>({default:e.InsightsView})),__vite__mapDeps([61,1,6,17,12,11,18,28,9,10]),import.meta.url)),Nh=dh(()=>z(()=>import(`./projects-iDkxAGBW.js`).then(e=>({default:e.ProjectsView})),__vite__mapDeps([62,1,6,8,9,10,27,11,12,17,18]),import.meta.url)),Ph=dh(()=>z(()=>import(`./prompt-settings-CjcqBG_r.js`).then(e=>({default:e.PromptSettingsView})),__vite__mapDeps([63,1,6,17,12,11,18,9,10]),import.meta.url)),Fh=dh(()=>z(()=>import(`./registry-C1DSnjjg.js`).then(e=>({default:e.RegistryView})),__vite__mapDeps([64,1,6,17,12,11,18,28,10]),import.meta.url)),Ih=dh(()=>z(()=>import(`./maintenance-D5PEygZz.js`).then(e=>({default:e.MaintenanceView})),__vite__mapDeps([65,1,6,8,9,10,17,12,11]),import.meta.url)),Lh=dh(()=>z(()=>import(`./settings-ujA9hZW1.js`).then(e=>({default:e.SettingsView})),__vite__mapDeps([66,1,40,30,31,6,12,32,20,33,34,41,42,43,35,37,44,8,9,10,23,16,17,11,18,28,60]),import.meta.url)),Rh=class extends B.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error(`[ErrorBoundary]`,e.message,`
|
|
24
|
+
`):``}function Vf(e,t){let n=e.steps[e.steps.length-1]?.turnId,r=t.steps[0]?.turnId;return n&&r?n===r:!n&&!r}var Hf={online:`text-emerald-400`,offline:`text-zinc-400`,shutdown:`text-zinc-400`,restarted:`text-blue-400`,"compaction-requested":`text-zinc-400`,compacting:`text-amber-400`,compacted:`text-amber-400`,"compaction-stalled":`text-red-400`,"clear-requested":`text-zinc-400`,"clearing-context":`text-amber-400`,"context-cleared":`text-amber-400`,"clear-stalled":`text-red-400`,"shutting-down":`text-zinc-400`};function Uf(e){let t=new Date,[n,r,i]=e.split(`-`).map(Number),a=new Date(n,r-1,i);if(e===kf(t.getTime()))return`Today`;let o=new Date(t);return o.setDate(o.getDate()-1),e===kf(o.getTime())?`Yesterday`:a.toLocaleDateString(void 0,{weekday:`short`,month:`short`,day:`numeric`,year:a.getFullYear()===t.getFullYear()?void 0:`numeric`})}function Wf({event:e}){return(0,V.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-2 my-1`,children:[(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`}),(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,V.jsx)(Ne,{className:j(`w-2 h-2 fill-current`,Hf[e.status]||`text-zinc-400`)}),(0,V.jsx)(`span`,{children:_f[e.status]||e.status}),(0,V.jsx)(`span`,{className:`text-muted-foreground/60`,children:mf(e.timestamp)})]}),(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`})]})}var Gf={"branch.landed":i,"context.warning":ze,"agent.context_threshold":ze,"agent.resume_budget_exhausted":ze,"agent.rate_limit_resume":O},Kf={"branch.landed":`branch landed`,"context.warning":`context warning`,"agent.context_threshold":`context threshold reached`};function qf(e){return e&&(e.includes(`.`)?e.slice(e.indexOf(`.`)+1):e).replace(/[._-]+/g,` `).trim()||`system signal`}function Jf({agentId:e,fallbackLabel:t,className:n,noIcon:r}){let i=M(t=>t.agentsById[e])||null,a=M(e=>e.openInboxThread),o=M(e=>e.switchView),s=i?P(i):t||e;return(0,V.jsxs)(`button`,{type:`button`,className:j(`inline-flex max-w-full items-center gap-1 rounded px-1 text-muted-foreground transition-colors hover:bg-muted/50 hover:text-foreground`,n),onClick:t=>{t.stopPropagation(),a(e),o(`chat`)},title:`Open chat for ${s}`,children:[!r&&(0,V.jsx)(or,{agent:i,className:`w-4 h-4 text-[10px]`}),(0,V.jsx)(`span`,{className:`max-w-[160px] truncate`,children:s})]})}function Yf({msg:e}){let t=e.payload??{},n=Zf(e),r=typeof t.sha==`string`?t.sha:``,a=r?r.slice(0,7):``,o=typeof t.author==`string`?t.author:``,s=typeof t.branch==`string`?t.branch:``,c=typeof t.base==`string`?t.base:``,l=t.pushed,u=typeof t.taskId==`number`&&Number.isSafeInteger(t.taskId)?t.taskId:void 0,d=typeof t.taskLabel==`string`?t.taskLabel:void 0,f=M(e=>e.openTaskDetailById);return(0,V.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-2 my-1`,children:[(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`}),(0,V.jsxs)(`div`,{className:`flex max-w-full flex-wrap items-center justify-center gap-x-1.5 gap-y-0.5 rounded-full border border-emerald-600/35 bg-emerald-500/10 px-2.5 py-1 text-xs text-emerald-700 dark:border-emerald-500/25 dark:text-emerald-300/90`,children:[(0,V.jsx)(i,{className:`h-3 w-3 shrink-0 text-emerald-600 dark:text-emerald-400`}),(0,V.jsx)(`span`,{className:`text-emerald-700 dark:text-emerald-300`,children:`branch landed`}),s&&c&&(0,V.jsxs)(`span`,{className:`font-mono text-emerald-700/80 dark:text-emerald-200/70`,title:`${s} → ${c}`,children:[s,(0,V.jsx)(`span`,{className:`opacity-50`,children:` → `}),c]}),a&&(0,V.jsx)(`span`,{className:`rounded bg-emerald-500/15 px-1 font-mono text-emerald-800 dark:text-emerald-200`,title:r,children:a}),o&&(0,V.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-emerald-700/80 dark:text-emerald-300/80`,children:[(0,V.jsx)(`span`,{className:`opacity-70`,children:`by`}),(0,V.jsx)(Jf,{agentId:o,className:`text-emerald-700 hover:text-emerald-900 dark:text-emerald-300/90 dark:hover:text-emerald-100`})]}),u!=null&&(0,V.jsx)(sr,{id:u,title:d,compact:!0,onClick:()=>f(u)}),l===!1&&(0,V.jsx)(`span`,{className:`text-amber-600 dark:text-amber-300/80`,title:`Local-only land — not pushed to origin`,children:`· local only`}),n&&(0,V.jsxs)(`span`,{className:`max-w-[220px] truncate text-emerald-700/70 dark:text-emerald-300/70`,title:n,children:[`· because `,n]}),(0,V.jsx)(`span`,{className:`text-emerald-700/60 dark:text-emerald-300/50`,children:mf(e.occurredAt??e.createdAt)})]}),(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`})]})}function Xf({msg:e}){let t=typeof e.payload?.kind==`string`?e.payload.kind:``;if(t===`branch.landed`)return(0,V.jsx)(Yf,{msg:e});let n=Gf[t]??bt,r=Kf[t]??qf(t),i=Zf(e);return(0,V.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-2 my-1`,children:[(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`}),(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5 rounded-full border border-border bg-muted/30 px-2.5 py-1 text-xs text-muted-foreground`,children:[(0,V.jsx)(n,{className:`h-3 w-3`}),(0,V.jsx)(`span`,{children:r}),i&&(0,V.jsxs)(`span`,{className:`max-w-[220px] truncate text-muted-foreground/80`,title:i,children:[`· because `,i]}),(0,V.jsx)(`span`,{className:`text-muted-foreground/60`,children:mf(e.occurredAt??e.createdAt)})]}),(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`})]})}function Zf(e){let t=e.payload?.routing;if(!t||typeof t!=`object`||Array.isArray(t))return``;let n=t.reason;return typeof n==`string`?n:``}var Qf={"spawned-child":{ready:`spawned`,exited:`spawned · exited`,failed:`spawn failed`},"spawned-by":{ready:`spawned by`,exited:`spawned by`,failed:`spawned by`}},$f={"spawned-child-ready":h,"spawned-child-exited":Ae,"spawned-child-failed":gt,"spawned-by-ready":rt,"spawned-by-exited":rt,"spawned-by-failed":rt},ep={"spawned-child-ready":`text-emerald-400`,"spawned-child-exited":`text-zinc-400`,"spawned-child-failed":`text-red-400`,"spawned-by-ready":`text-blue-400`,"spawned-by-exited":`text-blue-400`,"spawned-by-failed":`text-blue-400`};function tp({entry:e}){let t=`${e.direction}-${e.status}`,n=Qf[e.direction]?.[e.status]??e.direction,r=$f[t]??bt,i=ep[t]??`text-muted-foreground`,a=e.status===`failed`;return(0,V.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-2 my-1`,children:[(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`}),(0,V.jsxs)(`div`,{className:j(`flex items-center gap-1.5 rounded-full border bg-muted/30 px-2.5 py-1 text-xs`,a?`border-red-500/30`:`border-border`),children:[(0,V.jsx)(r,{className:j(`h-3 w-3 shrink-0`,i)}),(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:n}),(0,V.jsx)(Jf,{agentId:e.agentId}),e.reason&&a&&(0,V.jsxs)(`span`,{className:`text-red-400/80 max-w-[120px] truncate`,title:e.reason,children:[`— `,e.reason]}),(0,V.jsx)(`span`,{className:`text-muted-foreground/60 shrink-0`,children:mf(e.timestamp)})]}),(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`})]})}var np={memory:ie,instructions:_e,tools:Qe,comms:bt,knowledge:xt,context:Xe},rp={memory:`border-emerald-500/25 bg-emerald-500/10 text-emerald-300`,instructions:`border-sky-500/25 bg-sky-500/10 text-sky-300`,tools:`border-amber-500/25 bg-amber-500/10 text-amber-300`,comms:`border-violet-500/25 bg-violet-500/10 text-violet-300`,knowledge:`border-cyan-500/25 bg-cyan-500/10 text-cyan-300`,context:`border-zinc-500/25 bg-zinc-500/10 text-zinc-300`};function ip(e){try{return JSON.stringify(e,null,2)}catch{return String(e)}}function ap({entry:e}){let[t,n]=(0,B.useState)(!1),r=e.event,i=np[r.category]??ht;return(0,V.jsx)(`div`,{className:`flex justify-center py-2 my-1`,children:(0,V.jsxs)(`div`,{className:j(`w-full max-w-[85%] md:max-w-[75%] rounded-lg border px-2.5 py-1.5 text-xs shadow-sm`,rp[r.category]??rp.context),children:[(0,V.jsxs)(`button`,{type:`button`,className:`flex w-full min-w-0 items-center gap-1.5 text-left`,onClick:()=>n(e=>!e),children:[(0,V.jsx)(i,{className:`h-3.5 w-3.5 shrink-0`}),(0,V.jsx)(`span`,{className:`shrink-0 font-medium`,children:r.category}),(0,V.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-foreground/80`,children:r.summary}),(0,V.jsx)(`span`,{className:`shrink-0 text-muted-foreground/60`,children:mf(r.timestamp)}),(0,V.jsx)(s,{className:j(`h-3.5 w-3.5 shrink-0 transition-transform`,t&&`rotate-90`)})]}),t&&(0,V.jsx)(`pre`,{className:`mt-2 max-h-72 overflow-auto rounded-md border border-border/60 bg-background/75 p-2 font-mono text-[11px] leading-relaxed text-muted-foreground whitespace-pre-wrap break-words`,children:ip(r.detail)})]})})}function op({blockedLabel:e,onInterrupt:t}){return e?(0,V.jsx)(`div`,{className:`flex justify-start mb-3 animate-in fade-in slide-in-from-bottom-1 duration-150`,children:(0,V.jsxs)(`div`,{className:`flex h-9 items-center gap-2 rounded-2xl rounded-bl-sm bg-card ring-1 ring-red-500/30 px-4`,children:[(0,V.jsx)(gt,{className:`w-3.5 h-3.5 text-red-400`}),(0,V.jsxs)(`span`,{className:`text-xs text-red-300`,children:[`blocked: `,e]})]})}):(0,V.jsx)(`div`,{className:`flex justify-start mb-3 animate-in fade-in slide-in-from-bottom-1 duration-150`,children:(0,V.jsxs)(`div`,{className:`flex h-9 items-center gap-2 rounded-2xl rounded-bl-sm bg-card ring-1 ring-foreground/10 px-4`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,V.jsx)(`span`,{className:`w-1.5 h-1.5 rounded-full bg-yellow-400 animate-[pulse_1.4s_ease-in-out_infinite]`}),(0,V.jsx)(`span`,{className:`w-1.5 h-1.5 rounded-full bg-yellow-400 animate-[pulse_1.4s_ease-in-out_0.2s_infinite]`}),(0,V.jsx)(`span`,{className:`w-1.5 h-1.5 rounded-full bg-yellow-400 animate-[pulse_1.4s_ease-in-out_0.4s_infinite]`})]}),(0,V.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`working`}),t&&(0,V.jsxs)(`button`,{onClick:t,title:`Interrupt`,className:`ml-1 flex items-center gap-1 rounded-full px-1.5 py-0.5 text-xs text-muted-foreground hover:text-red-300 hover:bg-red-500/10 transition-colors`,children:[(0,V.jsx)(qe,{className:`w-3.5 h-3.5`}),`Stop`]})]})})}var sp=`agent-relay:chat-hide-tools`,cp=(()=>{let e=new Set,t=(()=>{try{return window.localStorage.getItem(sp)===`on`}catch{return!1}})(),n=()=>e.forEach(e=>e());return typeof window<`u`&&window.addEventListener(`storage`,e=>{e.key===sp&&(t=e.newValue===`on`,n())}),{subscribe(t){return e.add(t),()=>e.delete(t)},get:()=>t,toggle(){t=!t;try{window.localStorage.setItem(sp,t?`on`:`off`)}catch{}n()}}})();function lp(){return[(0,B.useSyncExternalStore)(cp.subscribe,cp.get,()=>!1),cp.toggle]}function up({steps:e,showReasoning:t,issueRepo:n}){let[r,i]=lp(),a=t?e:e.filter(e=>e.kind!==`reasoning`);if(!a.length)return null;let o=a.filter(e=>e.kind===`tool`).length;return(0,V.jsx)(`div`,{className:`flex justify-start mb-2`,children:(0,V.jsxs)(`div`,{className:`max-w-[85%] md:max-w-[75%] min-w-0 space-y-1.5`,children:[a.map(e=>e.kind===`narration`?(0,V.jsx)(cr,{text:e.text,issueRepo:n,className:`text-sm leading-relaxed break-words text-foreground/90 min-w-0`},e.id):e.kind===`reasoning`?(0,V.jsxs)(`div`,{className:`flex items-start gap-1.5 text-xs leading-relaxed text-muted-foreground/80`,children:[(0,V.jsx)(ie,{className:`w-3.5 h-3.5 mt-0.5 shrink-0 opacity-70`}),(0,V.jsx)(cr,{text:e.text,issueRepo:n,className:`italic break-words min-w-0`})]},e.id):r?null:(0,V.jsxs)(`div`,{className:`flex items-start gap-1.5 text-xs leading-relaxed text-muted-foreground`,children:[(0,V.jsx)(Se,{className:`w-3 h-3 mt-0.5 shrink-0 opacity-70`}),(0,V.jsxs)(`span`,{className:`min-w-0 break-words`,children:[(0,V.jsx)(`span`,{className:`font-medium`,children:e.label||`tool`}),e.text&&e.text.trim()&&e.text.trim()!==(e.label??``).trim()?(0,V.jsxs)(`span`,{className:`opacity-70`,children:[` — `,e.text]}):null]})]},e.id)),o>0&&(0,V.jsxs)(`button`,{onClick:i,className:`flex items-center gap-1 text-[11px] text-muted-foreground/50 hover:text-muted-foreground transition-colors text-left`,children:[(0,V.jsx)(s,{className:j(`w-3 h-3 shrink-0 transition-transform`,!r&&`rotate-90`)}),(0,V.jsx)(`span`,{children:r?`show ${o} tool step${o===1?``:`s`}`:`hide tool steps`})]})]})})}function dp({entry:e}){let{event:t}=e,n=t.kind===`questions`,r=n?t.title:t.kind===`plan`?`Plan prompt`:`${t.toolName} permission`;return(0,V.jsx)(`div`,{className:`flex justify-center py-1.5`,children:(0,V.jsxs)(`div`,{className:`w-full max-w-2xl rounded-md border border-border bg-muted/20 px-3 py-2 text-sm`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,V.jsx)(yt,{className:`h-3.5 w-3.5 text-emerald-500`}),(0,V.jsx)(`span`,{className:`font-medium text-foreground`,children:r}),(0,V.jsx)(`span`,{children:t.decisionLabel}),(0,V.jsx)(`span`,{className:`ml-auto shrink-0 text-muted-foreground/60`,children:mf(t.timestamp)})]}),n&&t.questions.length>0?(0,V.jsx)(`div`,{className:`mt-2 space-y-1.5`,children:t.questions.map((e,t)=>(0,V.jsxs)(`div`,{className:`grid gap-0.5`,children:[(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:e.question}),(0,V.jsx)(`div`,{className:`text-sm text-foreground`,children:e.answer})]},`${e.question}-${t}`))}):t.body.trim()?(0,V.jsx)(`div`,{className:`mt-2 max-h-48 overflow-auto rounded border border-border/70 bg-background/40 px-2 py-1.5 text-sm`,children:(0,V.jsx)(cr,{text:t.body})}):null]})})}function fp({date:e}){return(0,V.jsxs)(`div`,{className:`flex items-center justify-center gap-3 py-3 my-1`,children:[(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`}),(0,V.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:Uf(e)}),(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`})]})}function pp({timestamp:e}){let t=new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,year:`numeric`,hour:`2-digit`,minute:`2-digit`});return(0,V.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-2 my-1`,children:[(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`}),(0,V.jsxs)(`span`,{className:`text-xs text-muted-foreground/60`,children:[`created `,t]}),(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`})]})}function mp({history:e}){let t=e.sourceAgentLabel||e.sourcePeerId,n=e.entries.length;return(0,V.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-2 my-1`,children:[(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`}),(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5 rounded-full border border-dashed border-border bg-muted/30 px-2 py-1 text-[11px] text-muted-foreground`,children:[(0,V.jsx)(Ue,{className:`h-3 w-3`}),(0,V.jsxs)(`span`,{children:[`forked history from `,t]}),(0,V.jsxs)(`span`,{className:`text-muted-foreground/60`,children:[n,` `,n===1?`entry`:`entries`]})]}),(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`})]})}function hp({entry:e,sourceLabel:t,issueRepo:n}){let r=e.message,i=dn(r),a=e.originalFrom===bn;return(0,V.jsx)(`div`,{className:j(`flex mb-3 opacity-80`,a?`justify-end`:`justify-start`),children:(0,V.jsx)(`div`,{className:`max-w-[85%] md:max-w-[75%]`,children:(0,V.jsxs)(`div`,{className:j(`rounded-2xl border border-dashed px-3.5 py-2 text-sm select-text`,a?`border-primary/25 bg-primary/10 text-foreground rounded-br-sm`:`border-border bg-card/70 rounded-bl-sm`),children:[(0,V.jsxs)(`div`,{className:j(`mb-1 text-[10px] uppercase tracking-normal`,a?`text-primary/70`:`text-muted-foreground`),children:[`forked history · `,a?`you`:t||e.originalFrom]}),(0,V.jsx)(cr,{text:i,rawBody:r.body,issueRepo:n,className:`leading-relaxed`}),(0,V.jsxs)(`p`,{className:j(`mt-1 flex items-center justify-end gap-1.5 text-xs`,a?`text-primary/60`:`text-muted-foreground`),children:[(0,V.jsxs)(`span`,{className:`opacity-40`,children:[`#`,e.originalMessageId]}),(0,V.jsx)(`span`,{children:mf(e.originalCreatedAt)})]})]})})})}function gp({msg:e,issueRepo:t}){let n=dn(e),r=mf(e.occurredAt??e.createdAt);return(0,V.jsx)(`div`,{"data-msg-id":e.id,className:`mb-3`,children:(0,V.jsxs)(`div`,{className:`rounded-xl border border-primary/30 bg-primary/[0.06] px-3.5 py-2.5 shadow-sm`,children:[(0,V.jsxs)(`div`,{className:`mb-1.5 flex items-center gap-1.5 text-[11px] font-semibold uppercase tracking-wide text-primary/80`,children:[(0,V.jsx)(ht,{className:`h-3.5 w-3.5`}),(0,V.jsx)(`span`,{children:`Initial prompt`}),(0,V.jsx)(`span`,{className:`ml-auto text-[10px] font-normal normal-case text-muted-foreground/60`,children:r})]}),(0,V.jsx)(cr,{text:n,rawBody:e.body,issueRepo:t,className:`text-sm leading-relaxed text-foreground`})]})})}function _p({scrollEl:e,timeline:t}){let[n,r]=(0,B.useState)(!0),[i,a]=(0,B.useState)(null),[o,s]=(0,B.useState)(null),[c,l]=(0,B.useState)(!1),u=(0,B.useMemo)(()=>{for(let e=t.length-1;e>=0;e--){let n=t[e];if(!(!n||n.type!==`message`&&n.type!==`initial-prompt`)&&n.msg.from===`user`)return{id:n.msg.id,body:dn(n.msg)}}return null},[t]);if((0,B.useEffect)(()=>{if(!u||!e){r(!0);return}let t=null,n=null,i=()=>{let i=e.querySelector(`[data-msg-id="${u.id}"]`);if(!i){t?.disconnect(),t=null,n=null,r(!1);return}let a=i.getBoundingClientRect(),o=e.getBoundingClientRect();l(a.top<o.top),i!==n&&(t?.disconnect(),n=i,t=new IntersectionObserver(([e])=>{e&&r(e.isIntersecting)},{root:e,threshold:0}),t.observe(i))};return i(),e.addEventListener(`scroll`,i,{passive:!0}),()=>{t?.disconnect(),e.removeEventListener(`scroll`,i)}},[u?.id,e]),n||!u||!u.body.trim())return null;let d=i?.id===u.id?i.value:!1,f=o?.id===u.id?o.value:!1;function p(){!e||!u||e.querySelector(`[data-msg-id="${u.id}"]`)?.scrollIntoView({behavior:`smooth`,block:`center`})}let m=c?`↑`:`↓`;return f?(0,V.jsx)(`div`,{className:`flex shrink-0 bg-card/45 border-b border-border`,children:(0,V.jsxs)(`button`,{type:`button`,className:`w-full flex items-center justify-center gap-1.5 py-1 text-[11px] text-primary/60 hover:text-primary transition-colors`,onClick:()=>s({id:u.id,value:!1}),children:[(0,V.jsx)(`span`,{children:`Your prompt`}),(0,V.jsx)(ue,{className:`w-3 h-3`})]})}):(0,V.jsxs)(`section`,{className:`flex shrink-0 flex-col border-b border-border bg-card/45 px-3 py-2`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2 text-[11px] text-muted-foreground mb-0.5`,children:[(0,V.jsx)(`span`,{className:`font-medium text-primary/70`,children:`Your prompt`}),(0,V.jsxs)(`button`,{type:`button`,className:`ml-auto hover:text-foreground transition-colors`,onClick:p,children:[m,` scroll to original`]}),(0,V.jsx)(`button`,{type:`button`,className:`hover:text-foreground transition-colors`,onClick:()=>s({id:u.id,value:!0}),title:`Minimize`,children:(0,V.jsx)(se,{className:`w-3 h-3`})})]}),(0,V.jsx)(`p`,{className:j(`text-sm text-foreground leading-snug cursor-pointer`,!d&&`line-clamp-2`),onClick:()=>a({id:u.id,value:!d}),children:u.body})]})}var vp={none:`None`,uncommitted:`Uncommitted`,"committed-on-branch":`On Branch`,"landed-on-main":`Landed`,deploying:`Deploying`,deployed:`Deployed`},yp={open:`bg-blue-500/10 text-blue-400 border-blue-500/20`,claimed:`bg-purple-500/10 text-purple-300 border-purple-500/20`,in_progress:`bg-purple-500/10 text-purple-400 border-purple-500/20`,blocked:`bg-yellow-500/10 text-yellow-400 border-yellow-500/20`,orphaned:`bg-zinc-500/10 text-zinc-400 border-zinc-500/20`,done:`bg-emerald-500/10 text-emerald-400 border-emerald-500/20`,failed:`bg-red-500/10 text-red-400 border-red-500/20`,canceled:`bg-zinc-500/10 text-zinc-400 border-zinc-500/20`},bp={none:`bg-zinc-500/10 text-zinc-400`,uncommitted:`bg-yellow-500/10 text-yellow-400`,"committed-on-branch":`bg-blue-500/10 text-blue-400`,"landed-on-main":`bg-emerald-500/10 text-emerald-400`,deploying:`bg-purple-500/10 text-purple-400`,deployed:`bg-teal-500/10 text-teal-400`};function xp(e){let t=e.dispatch;return{title:e.title??``,intent:e.intent??``,latestSteer:e.latestSteer??``,doneWhen:e.doneWhen??``,teamId:e.teamId??``,dispatchComplexity:t?.complexity??``,dispatchType:t?.type??``,dispatchFootprint:t?.contextFootprint??``,dispatchCriticality:t?.criticality??``}}function Sp(){let e=Ot(),t=M(e=>e.taskDetailOpen),n=M(e=>e.taskDetailId),r=M(e=>e.taskDetailById),i=M(e=>e.taskMemoryById),a=M(e=>e.taskHistoryById),o=M(e=>e.taskDispatchResultById),s=M(e=>e.taskDispatchLoadingId),c=M(e=>e.providerCatalog),l=M(e=>e.closeTaskDetail),u=M(e=>e.doEditTask),d=M(e=>e.doDispatchTask),f=M(e=>e.doSpawnWithTask),p=c.map(e=>e.provider),[m,h]=(0,B.useState)(!1),[g,_]=(0,B.useState)(null),[v,y]=(0,B.useState)(``),[x,S]=(0,B.useState)(``),[C,w]=(0,B.useState)(``),T=n==null?null:r[n]??null,ne=n==null?null:i[n]??null,re=n==null?[]:a[n]??[],ie=n==null?null:o[n]??null,ae=n!=null&&s===n,oe=T?yp[T.status]??`bg-zinc-500/10 text-zinc-400`:``,E=T?.deliverableStage?bp[T.deliverableStage]??`bg-zinc-500/10 text-zinc-400`:``;function D(e){e||(l(),h(!1),_(null))}function se(){T&&(_(xp(T)),h(!0))}function ce(){h(!1),_(null)}async function le(){if(!T||!g)return;let e={};g.dispatchComplexity&&(e.complexity=g.dispatchComplexity),g.dispatchType&&(e.type=g.dispatchType),g.dispatchFootprint&&(e.contextFootprint=g.dispatchFootprint),g.dispatchCriticality&&(e.criticality=g.dispatchCriticality);let t={...g.title===T.title?{}:{title:g.title},...g.intent===(T.intent??``)?{}:{intent:g.intent},...g.latestSteer===(T.latestSteer??``)?{}:{latestSteer:g.latestSteer},...g.doneWhen===(T.doneWhen??``)?{}:{doneWhen:g.doneWhen},...g.teamId===(T.teamId??``)?{}:{teamId:g.teamId},...Object.keys(e).length||T.dispatch?{dispatch:Object.keys(e).length?e:null}:{}};if(!Object.keys(t).length){ce();return}await u(T.id,t),h(!1),_(null)}function ue(){if(!T)return;let e={};v&&(e.provider=v),x&&(e.model=x),C&&(e.effort=C),d(T.id,Object.keys(e).length?e:void 0)}return(0,V.jsx)(ku,{open:t,onOpenChange:D,children:(0,V.jsxs)(Nu,{className:`w-full max-w-[100dvw] sm:max-w-lg lg:max-w-xl p-0 flex flex-col`,showCloseButton:!1,children:[(0,V.jsx)(Pu,{className:`shrink-0 p-4 border-b border-border`,children:(0,V.jsxs)(`div`,{className:`flex items-start gap-2 min-w-0`,children:[(0,V.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,V.jsx)(`div`,{className:`flex items-center gap-2 flex-wrap mb-1`,children:T&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(I,{variant:`outline`,className:`text-xs border ${oe}`,children:T.status}),T.deliverableStage&&(0,V.jsx)(I,{variant:`secondary`,className:`text-xs ${E}`,children:vp[T.deliverableStage]??T.deliverableStage}),(0,V.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`T`,T.id]})]})}),(0,V.jsx)(Fu,{className:`text-base leading-snug`,children:T?.title??`Task`})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-1 shrink-0`,children:[T&&!m&&(0,V.jsx)(L,{size:`sm`,variant:`ghost`,className:`h-7 px-2`,onClick:se,title:`Edit task`,children:(0,V.jsx)(b,{className:`w-3.5 h-3.5`})}),(0,V.jsx)(Au,{asChild:!0,children:(0,V.jsxs)(L,{size:`icon-sm`,variant:`ghost`,title:`Close`,children:[(0,V.jsx)(k,{className:`w-4 h-4`}),(0,V.jsx)(`span`,{className:`sr-only`,children:`Close`})]})})]})]})}),(0,V.jsx)(Jd,{className:`flex-1 min-h-0 overflow-x-hidden`,children:(0,V.jsxs)(`div`,{className:`p-4 space-y-5 min-w-0`,children:[!T&&(0,V.jsx)(`div`,{className:`text-sm text-muted-foreground text-center py-8`,children:`Loading…`}),T&&m&&g&&(0,V.jsx)(Cp,{form:g,onChange:e=>_(t=>t&&{...t,...e}),onSave:()=>void le(),onCancel:ce}),T&&!m&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`section`,{children:[(0,V.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2`,children:`Status`}),(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-2 text-sm`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground mb-0.5`,children:`Execution`}),(0,V.jsx)(I,{variant:`outline`,className:`text-xs border ${oe}`,children:T.status})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground mb-0.5`,children:`Deliverable stage`}),(0,V.jsx)(I,{variant:`secondary`,className:`text-xs ${E}`,children:vp[T.deliverableStage??`none`]??T.deliverableStage??`none`})]})]}),T.blockedBy&&T.blockedBy.length>0&&(0,V.jsx)(`div`,{className:`mt-2 space-y-1`,children:T.blockedBy.map((e,t)=>(0,V.jsxs)(`div`,{className:`flex items-center gap-1 text-xs text-yellow-400 min-w-0`,children:[(0,V.jsx)(`span`,{className:`font-medium capitalize shrink-0`,children:e.type}),e.ref&&(0,V.jsxs)(`span`,{className:`text-muted-foreground truncate min-w-0`,children:[`→ `,e.ref]}),e.note&&(0,V.jsx)(`span`,{className:`text-muted-foreground truncate min-w-0`,children:e.note})]},t))})]}),(0,V.jsx)(Ml,{}),(T.intent||T.doneWhen)&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`section`,{className:`space-y-2`,children:[T.intent&&(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-1`,children:`Intent`}),(0,V.jsx)(cr,{text:T.intent,className:`text-sm min-w-0 break-words [overflow-wrap:anywhere]`})]}),T.doneWhen&&(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-1`,children:`Done when`}),(0,V.jsx)(cr,{text:T.doneWhen,className:`text-sm min-w-0 break-words [overflow-wrap:anywhere]`})]})]}),(0,V.jsx)(Ml,{})]}),(0,V.jsxs)(`section`,{children:[(0,V.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2`,children:`Ownership`}),(0,V.jsxs)(`div`,{className:`space-y-1 text-sm`,children:[T.ownerAgentId&&(0,V.jsxs)(`div`,{className:`flex gap-2 min-w-0`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground shrink-0 w-20`,children:`Owner`}),(0,V.jsx)(Jf,{agentId:T.ownerAgentId,fallbackLabel:T.ownerAgentLabel,className:`min-w-0 text-sm`})]}),T.createdBy&&(0,V.jsxs)(`div`,{className:`flex gap-2 min-w-0`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground shrink-0 w-20`,children:`Created by`}),(0,V.jsx)(`span`,{className:`min-w-0 break-words [overflow-wrap:anywhere]`,title:T.createdBy,children:T.createdBy})]}),T.teamId&&(0,V.jsxs)(`div`,{className:`flex gap-2 min-w-0`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground shrink-0 w-20`,children:`Team`}),(0,V.jsx)(`span`,{className:`min-w-0 break-words [overflow-wrap:anywhere] font-mono text-xs`,title:T.teamId,children:T.teamId})]}),(0,V.jsxs)(`div`,{className:`flex gap-2`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground shrink-0 w-20`,children:`Created`}),(0,V.jsx)(`span`,{title:cn(T.createdAt),children:N(e,T.createdAt)})]}),(0,V.jsxs)(`div`,{className:`flex gap-2`,children:[(0,V.jsx)(`span`,{className:`text-muted-foreground shrink-0 w-20`,children:`Updated`}),(0,V.jsx)(`span`,{title:cn(T.updatedAt),children:N(e,T.updatedAt)})]})]})]}),(T.dispatchWorkShape?.specified||T.dispatchDecision||T.boundWorkerModel)&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Ml,{}),(0,V.jsx)(wp,{detail:T})]}),(T.branch||T.commits&&T.commits.length>0)&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Ml,{}),(0,V.jsxs)(`section`,{className:`min-w-0 overflow-hidden`,children:[(0,V.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2`,children:`Code`}),T.branch&&(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5 text-sm mb-1 min-w-0`,children:[(0,V.jsx)(te,{className:`w-3.5 h-3.5 text-muted-foreground shrink-0`}),(0,V.jsx)(`span`,{className:`font-mono text-xs min-w-0 break-words [overflow-wrap:anywhere]`,title:T.branch,children:T.branch})]}),T.commits?.map(e=>(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5 text-sm ml-1 min-w-0`,children:[(0,V.jsx)(ee,{className:`w-3.5 h-3.5 text-muted-foreground shrink-0`}),(0,V.jsx)(`span`,{className:`font-mono text-xs text-muted-foreground shrink-0`,children:e.sha.slice(0,8)}),e.subject&&(0,V.jsx)(`span`,{className:`text-xs min-w-0 break-words [overflow-wrap:anywhere]`,children:e.subject})]},e.sha))]})]}),T.issues&&T.issues.length>0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Ml,{}),(0,V.jsx)(Dp,{issues:T.issues})]}),(T.dependsOn&&T.dependsOn.length>0||T.dependents&&T.dependents.length>0)&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Ml,{}),(0,V.jsx)(Op,{dependsOn:T.dependsOn??[],dependents:T.dependents??[]})]}),T.gates&&T.gates.length>0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Ml,{}),(0,V.jsx)(kp,{gates:T.gates,now:e})]}),(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Ml,{}),(0,V.jsx)(Ep,{taskId:T.id,taskStatus:T.status,pinProvider:v,pinModel:x,pinEffort:C,onPinProvider:y,onPinModel:S,onPinEffort:w,onDispatch:ue,onSpawn:e=>void f(T.id,e),loading:ae,result:ie,providers:p})]}),ne&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Ml,{}),(0,V.jsx)(Ap,{memory:ne,now:e})]}),re.length>0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(Ml,{}),(0,V.jsx)(jp,{history:re,now:e})]})]})]})})]})})}function Cp({form:e,onChange:t,onSave:n,onCancel:r}){return(0,V.jsxs)(`section`,{className:`space-y-4`,children:[(0,V.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider`,children:`Edit Task fields`}),(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsx)($,{htmlFor:`edit-title`,children:`Title`}),(0,V.jsx)(R,{id:`edit-title`,value:e.title,onChange:e=>t({title:e.target.value})})]}),(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsx)($,{htmlFor:`edit-intent`,children:`Intent`}),(0,V.jsx)(Zd,{id:`edit-intent`,value:e.intent,onChange:e=>t({intent:e.target.value}),rows:3})]}),(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsx)($,{htmlFor:`edit-steer`,children:`Latest steer`}),(0,V.jsx)(Zd,{id:`edit-steer`,value:e.latestSteer,onChange:e=>t({latestSteer:e.target.value}),rows:2,placeholder:`Redirect or re-scope in-flight work`})]}),(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsx)($,{htmlFor:`edit-done-when`,children:`Done when`}),(0,V.jsx)(Zd,{id:`edit-done-when`,value:e.doneWhen,onChange:e=>t({doneWhen:e.target.value}),rows:2})]}),(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsx)($,{htmlFor:`edit-team`,children:`Team ID`}),(0,V.jsx)(R,{id:`edit-team`,value:e.teamId,onChange:e=>t({teamId:e.target.value})})]}),(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsx)($,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider`,children:`Dispatch work-shape`}),(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{htmlFor:`edit-complexity`,className:`text-xs`,children:`Complexity`}),(0,V.jsxs)(`select`,{id:`edit-complexity`,className:`w-full mt-1 rounded-md border border-input bg-background px-2 py-1.5 text-sm`,value:e.dispatchComplexity,onChange:e=>t({dispatchComplexity:e.target.value}),children:[(0,V.jsx)(`option`,{value:``,children:`—`}),It.map(e=>(0,V.jsx)(`option`,{value:e,children:e},e))]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{htmlFor:`edit-type`,className:`text-xs`,children:`Type`}),(0,V.jsxs)(`select`,{id:`edit-type`,className:`w-full mt-1 rounded-md border border-input bg-background px-2 py-1.5 text-sm`,value:e.dispatchType,onChange:e=>t({dispatchType:e.target.value}),children:[(0,V.jsx)(`option`,{value:``,children:`—`}),jt.map(e=>(0,V.jsx)(`option`,{value:e,children:e},e))]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{htmlFor:`edit-footprint`,className:`text-xs`,children:`Context footprint`}),(0,V.jsxs)(`select`,{id:`edit-footprint`,className:`w-full mt-1 rounded-md border border-input bg-background px-2 py-1.5 text-sm`,value:e.dispatchFootprint,onChange:e=>t({dispatchFootprint:e.target.value}),children:[(0,V.jsx)(`option`,{value:``,children:`—`}),Pt.map(e=>(0,V.jsx)(`option`,{value:e,children:e},e))]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{htmlFor:`edit-criticality`,className:`text-xs`,children:`Criticality`}),(0,V.jsxs)(`select`,{id:`edit-criticality`,className:`w-full mt-1 rounded-md border border-input bg-background px-2 py-1.5 text-sm`,value:e.dispatchCriticality,onChange:e=>t({dispatchCriticality:e.target.value}),children:[(0,V.jsx)(`option`,{value:``,children:`—`}),zt.map(e=>(0,V.jsx)(`option`,{value:e,children:e},e))]})]})]})]}),(0,V.jsxs)(`div`,{className:`flex gap-2 pt-1`,children:[(0,V.jsx)(L,{size:`sm`,onClick:n,children:`Save`}),(0,V.jsx)(L,{size:`sm`,variant:`outline`,onClick:r,children:`Cancel`})]})]})}function wp({detail:e}){let t=e.dispatchWorkShape,n=e.dispatchDecision,r=e.boundWorkerModel;return(0,V.jsxs)(`section`,{className:`space-y-3`,children:[(0,V.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider`,children:`Dispatch`}),t&&(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground mb-1`,children:`Work shape`}),t.specified?(0,V.jsxs)(`div`,{className:`flex flex-wrap gap-1`,children:[t.complexity&&(0,V.jsx)(I,{variant:`secondary`,className:`text-xs`,children:t.complexity}),t.type&&(0,V.jsx)(I,{variant:`secondary`,className:`text-xs`,children:t.type}),t.contextFootprint&&(0,V.jsx)(I,{variant:`secondary`,className:`text-xs`,children:t.contextFootprint}),t.criticality&&(0,V.jsx)(I,{variant:`secondary`,className:`text-xs`,children:t.criticality})]}):(0,V.jsx)(`span`,{className:`text-xs italic text-muted-foreground`,children:`Not specified`})]}),n&&(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground mb-1`,children:`Decision`}),(0,V.jsxs)(`div`,{className:`flex flex-wrap gap-1 mb-1`,children:[n.target.provider&&(0,V.jsx)(I,{variant:`secondary`,className:`text-xs font-mono`,children:n.target.provider}),n.target.model&&(0,V.jsx)(I,{variant:`outline`,className:`text-xs font-mono`,children:n.target.model}),n.target.effort&&(0,V.jsx)(I,{variant:`outline`,className:`text-xs`,children:n.target.effort}),n.pinned&&(0,V.jsx)(I,{variant:`outline`,className:`text-xs text-yellow-400 border-yellow-500/30`,children:`pinned`})]}),n.rationale&&(0,V.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n.rationale}),n.warnings?.map((e,t)=>(0,V.jsxs)(`div`,{className:`flex items-start gap-1 text-xs text-yellow-400 mt-0.5`,children:[(0,V.jsx)(ze,{className:`w-3 h-3 shrink-0 mt-0.5`}),(0,V.jsx)(`span`,{children:e})]},t))]}),r&&(0,V.jsxs)(`div`,{className:`min-w-0`,children:[(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground mb-1`,children:`Bound worker`}),(0,V.jsxs)(`div`,{className:`flex flex-wrap gap-1 mb-1`,children:[r.provider&&(0,V.jsx)(I,{variant:`secondary`,className:`text-xs font-mono`,children:r.provider}),r.model&&(0,V.jsx)(I,{variant:`outline`,className:`text-xs font-mono`,children:r.model}),r.effort&&(0,V.jsx)(I,{variant:`outline`,className:`text-xs`,children:r.effort})]}),(0,V.jsx)(Jf,{agentId:r.agentId,fallbackLabel:e.ownerAgentLabel,className:`text-xs text-muted-foreground`})]})]})}var Tp=new Set([`done`,`canceled`,`failed`]);function Ep({taskId:e,taskStatus:t,pinProvider:n,pinModel:r,pinEffort:i,onPinProvider:a,onPinModel:o,onPinEffort:s,onDispatch:c,onSpawn:l,loading:u,result:d,providers:f}){return(0,V.jsxs)(`section`,{children:[(0,V.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-3`,children:`Spawn with task`}),(0,V.jsxs)(`div`,{className:`grid grid-cols-3 gap-2 mb-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{htmlFor:`spawn-provider-${e}`,className:`text-xs`,children:`Provider pin`}),(0,V.jsxs)(`select`,{id:`spawn-provider-${e}`,className:`w-full mt-1 rounded-md border border-input bg-background px-2 py-1.5 text-xs`,value:n,onChange:e=>a(e.target.value),children:[(0,V.jsx)(`option`,{value:``,children:`auto`}),f.map(e=>(0,V.jsx)(`option`,{value:e,children:e},e))]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{htmlFor:`spawn-model-${e}`,className:`text-xs`,children:`Model pin`}),(0,V.jsx)(R,{id:`spawn-model-${e}`,className:`mt-1 h-8 text-xs`,value:r,onChange:e=>o(e.target.value),placeholder:`auto`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{htmlFor:`spawn-effort-${e}`,className:`text-xs`,children:`Effort pin`}),(0,V.jsx)(R,{id:`spawn-effort-${e}`,className:`mt-1 h-8 text-xs`,value:i,onChange:e=>s(e.target.value),placeholder:`auto`})]})]}),(0,V.jsxs)(L,{size:`sm`,onClick:c,disabled:u||Tp.has(t),className:`gap-1.5`,children:[(0,V.jsx)(Be,{className:`w-3.5 h-3.5`}),u?`Planning…`:`Plan dispatch`]}),d&&(0,V.jsxs)(`div`,{className:`mt-3 rounded-md border border-border bg-muted/20 p-3 space-y-2`,children:[(0,V.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,V.jsx)(Be,{className:`w-3.5 h-3.5 text-muted-foreground shrink-0 mt-0.5`}),(0,V.jsxs)(`div`,{className:`flex-1 min-w-0 space-y-1`,children:[(0,V.jsxs)(`div`,{className:`flex flex-wrap gap-1.5`,children:[(0,V.jsx)(I,{variant:`secondary`,className:`text-xs font-mono`,children:d.decision.target.provider}),d.decision.target.model&&(0,V.jsx)(I,{variant:`outline`,className:`text-xs font-mono`,children:d.decision.target.model}),d.decision.target.effort&&(0,V.jsx)(I,{variant:`outline`,className:`text-xs`,children:d.decision.target.effort}),d.decision.pinned&&(0,V.jsx)(I,{variant:`outline`,className:`text-xs text-yellow-400 border-yellow-500/30`,children:`pinned`})]}),(0,V.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:d.decision.rationale}),d.decision.factors.band&&(0,V.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Band: `,d.decision.factors.band,d.decision.factors.contextWindowTokens?` · ${(d.decision.factors.contextWindowTokens/1e3).toFixed(0)}k ctx`:``]}),d.decision.warnings.length>0&&(0,V.jsx)(`div`,{className:`space-y-0.5`,children:d.decision.warnings.map((e,t)=>(0,V.jsxs)(`div`,{className:`flex items-start gap-1 text-xs text-yellow-400`,children:[(0,V.jsx)(ze,{className:`w-3 h-3 shrink-0 mt-0.5`}),(0,V.jsx)(`span`,{children:e})]},t))}),d.decision.review&&(0,V.jsxs)(`div`,{className:`text-xs text-muted-foreground`,children:[`Auto-review: `,d.decision.review.reason,` → `,d.decision.review.target.provider,`/`,d.decision.review.target.model??`default`,d.reviewTaskId&&(0,V.jsxs)(`span`,{className:`ml-1`,children:[`(task T`,d.reviewTaskId,`)`]})]})]})]}),(0,V.jsx)(`div`,{className:`pt-1 border-t border-border/50`,children:(0,V.jsxs)(L,{size:`sm`,className:`gap-1.5 w-full`,onClick:()=>l(d.decision.target),children:[(0,V.jsx)(Be,{className:`w-3.5 h-3.5`}),`Spawn worker with task T`,e]})})]})]})}function Dp({issues:e}){return(0,V.jsxs)(`section`,{children:[(0,V.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2`,children:`Linked Issues`}),(0,V.jsx)(`div`,{className:`space-y-1.5`,children:e.map(e=>(0,V.jsxs)(`div`,{className:`flex items-center gap-2 text-sm min-w-0`,children:[(0,V.jsxs)(`span`,{className:`font-mono text-xs text-muted-foreground shrink-0`,children:[e.provider,`/`,e.externalKey]}),e.title&&(0,V.jsx)(`span`,{className:`truncate flex-1 min-w-0`,children:e.title}),(0,V.jsx)(I,{variant:`secondary`,className:`text-xs shrink-0`,children:e.status}),e.url&&(0,V.jsx)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,className:`shrink-0 text-muted-foreground hover:text-foreground`,children:(0,V.jsx)(xe,{className:`w-3.5 h-3.5`})})]},e.issueRefId))})]})}function Op({dependsOn:e,dependents:t}){return(0,V.jsxs)(`section`,{children:[(0,V.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2`,children:`Dependencies`}),(0,V.jsxs)(`div`,{className:`space-y-1 text-sm`,children:[e.length>0&&(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Depends on: `}),e.map((t,n)=>(0,V.jsxs)(`span`,{className:`font-mono text-xs`,children:[`T`,t,n<e.length-1?`, `:``]},t))]}),t.length>0&&(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Blocks: `}),t.map((e,n)=>(0,V.jsxs)(`span`,{className:`font-mono text-xs`,children:[`T`,e,n<t.length-1?`, `:``]},e))]})]})]})}function kp({gates:e,now:t}){return(0,V.jsxs)(`section`,{children:[(0,V.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2`,children:`Gate Ledger`}),(0,V.jsx)(`div`,{className:`space-y-2`,children:[...e].sort((e,t)=>t.ranAt-e.ranAt).map(e=>(0,V.jsxs)(`div`,{className:`flex items-start gap-2 text-sm`,children:[e.status===`pass`?(0,V.jsx)(yt,{className:`w-4 h-4 text-emerald-400 shrink-0 mt-0.5`}):(0,V.jsx)(et,{className:`w-4 h-4 text-red-400 shrink-0 mt-0.5`}),(0,V.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,V.jsx)(`span`,{className:`font-mono text-xs font-medium truncate min-w-0`,children:e.gate}),(0,V.jsx)(`span`,{className:`text-xs text-muted-foreground ml-auto shrink-0`,title:cn(e.ranAt),children:N(t,e.ranAt)})]}),e.detail&&(0,V.jsx)(`p`,{className:`text-xs text-muted-foreground mt-0.5 truncate`,children:e.detail}),e.commitSha&&(0,V.jsx)(`span`,{className:`font-mono text-[10px] text-muted-foreground`,children:e.commitSha.slice(0,8)})]})]},e.gate+e.ranAt))})]})}function Ap({memory:e,now:t}){return(0,V.jsxs)(`section`,{children:[(0,V.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2`,children:`Task Memory`}),(0,V.jsxs)(`div`,{className:`space-y-3`,children:[e.workingState&&(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground mb-1`,children:`Working state`}),(0,V.jsx)(`p`,{className:`text-xs whitespace-pre-wrap [overflow-wrap:anywhere] bg-muted/30 rounded p-2`,children:e.workingState})]}),e.ledger.length>0&&(0,V.jsxs)(`div`,{children:[(0,V.jsxs)(`div`,{className:`text-xs text-muted-foreground mb-1`,children:[`Ruled out (`,e.ledger.length,`)`]}),(0,V.jsx)(`div`,{className:`space-y-1`,children:e.ledger.map((e,t)=>(0,V.jsxs)(`div`,{className:`text-xs bg-muted/20 rounded p-1.5`,children:[(0,V.jsx)(`span`,{className:`font-medium`,children:e.ruledOut}),e.why&&(0,V.jsxs)(`span`,{className:`text-muted-foreground`,children:[` — `,e.why]})]},t))})]}),e.decisions.length>0&&(0,V.jsxs)(`div`,{children:[(0,V.jsxs)(`div`,{className:`text-xs text-muted-foreground mb-1`,children:[`Decisions (`,e.decisions.length,`)`]}),(0,V.jsx)(`div`,{className:`space-y-1.5`,children:e.decisions.map((e,n)=>(0,V.jsxs)(`div`,{className:`text-xs`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-1 min-w-0`,children:[(0,V.jsx)(`span`,{className:`font-medium truncate min-w-0`,children:e.decision}),(0,V.jsx)(`span`,{className:`text-muted-foreground ml-auto shrink-0`,title:cn(e.at),children:N(t,e.at)})]}),e.rationale&&(0,V.jsx)(`p`,{className:`text-muted-foreground mt-0.5`,children:e.rationale}),e.by&&(0,V.jsxs)(`span`,{className:`text-muted-foreground/60`,children:[`by `,e.by]})]},n))})]})]})]})}function jp({history:e,now:t}){return(0,V.jsxs)(`section`,{children:[(0,V.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2`,children:`History`}),(0,V.jsx)(`div`,{className:`space-y-2`,children:[...e].reverse().slice(0,30).map(e=>(0,V.jsxs)(`div`,{className:`flex items-start gap-2 text-xs`,children:[(0,V.jsx)(Ge,{className:`w-3.5 h-3.5 text-muted-foreground shrink-0 mt-0.5`}),(0,V.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,V.jsx)(`span`,{className:`font-mono text-muted-foreground shrink-0`,children:e.type}),(0,V.jsx)(`span`,{className:`ml-auto text-muted-foreground shrink-0`,title:cn(e.createdAt),children:N(t,e.createdAt)})]}),e.title&&e.title!==e.type&&(0,V.jsx)(`p`,{className:`text-foreground mt-0.5 truncate`,children:e.title})]})]},e.id))})]})}var Mp=!1;function Np(e,t){let n=B.useRef(!1),r=B.useRef(t);r.current=t,B.useEffect(()=>{if(!e||!r.current)return;Mp=!1,window.history.pushState({dialogGuard:!0},``),n.current=!0;function t(){if(Mp){Mp=!1;return}n.current&&(n.current=!1,r.current?.(!1))}return window.addEventListener(`popstate`,t),()=>{window.removeEventListener(`popstate`,t),n.current&&(n.current=!1,Mp=!0,window.history.back())}},[e])}function Pp({...e}){return Np(e.open,e.onOpenChange),(0,V.jsx)(ii,{"data-slot":`dialog`,...e})}function Fp({...e}){return(0,V.jsx)(ai,{"data-slot":`dialog-portal`,...e})}function Ip({className:e,blur:t=!0,...n}){return(0,V.jsx)(oi,{"data-slot":`dialog-overlay`,className:j(`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 Lp({className:e,children:t,showCloseButton:n=!0,blurOverlay:r=!0,...i}){return(0,V.jsxs)(Fp,{children:[(0,V.jsx)(Ip,{blur:r}),(0,V.jsxs)(si,{"data-slot":`dialog-content`,className:j(`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,V.jsx)(ui,{"data-slot":`dialog-close`,asChild:!0,children:(0,V.jsxs)(L,{variant:`ghost`,className:`absolute top-2 right-2`,size:`icon-sm`,children:[(0,V.jsx)(k,{}),(0,V.jsx)(`span`,{className:`sr-only`,children:`Close`})]})})]})]})}function Rp({className:e,...t}){return(0,V.jsx)(`div`,{"data-slot":`dialog-header`,className:j(`flex flex-col gap-2`,e),...t})}function zp({className:e,showCloseButton:t=!1,children:n,...r}){return(0,V.jsxs)(`div`,{"data-slot":`dialog-footer`,className:j(`-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,V.jsx)(ui,{asChild:!0,children:(0,V.jsx)(L,{variant:`outline`,children:`Close`})})]})}function Bp({className:e,...t}){return(0,V.jsx)(ci,{"data-slot":`dialog-title`,className:j(`font-heading text-base leading-none font-medium`,e),...t})}function Vp({className:e,...t}){return(0,V.jsx)(li,{"data-slot":`dialog-description`,className:j(`text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,e),...t})}function Hp(){let e=M(e=>e.composeOpen),t=M(e=>e.compose),n=M(e=>e.replyTo),r=M(e=>e.set),i=M(e=>e.doSend),a=M(e=>e.cancelReply),o=Tl();function s(){r({composeOpen:!1}),a()}function c(e){r({compose:{...t,...e}})}return(0,V.jsx)(Pp,{open:e,onOpenChange:e=>!e&&s(),children:(0,V.jsxs)(Lp,{className:`max-w-lg`,children:[(0,V.jsx)(Rp,{children:(0,V.jsx)(Bp,{children:n?`Reply to #${n.id}`:`Compose Message`})}),(0,V.jsxs)(`div`,{className:`space-y-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`From`}),(0,V.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,V.jsx)(`option`,{value:``,children:`Select agent...`}),o.map(e=>(0,V.jsx)(`option`,{value:e.id,children:P(e)},e.id))]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`To`}),(0,V.jsx)(R,{value:t.to,onChange:e=>c({to:e.target.value}),placeholder:`agent-id, tag:name, cap:name, or broadcast`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Subject`}),(0,V.jsx)(R,{value:t.subject,onChange:e=>c({subject:e.target.value}),placeholder:`Optional subject...`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Channel`}),(0,V.jsx)(R,{value:t.channel,onChange:e=>c({channel:e.target.value}),placeholder:`Optional channel...`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Message`}),(0,V.jsx)(Zd,{value:t.body,onChange:e=>c({body:e.target.value}),rows:4,placeholder:`Message body...`,autoFocus:!0})]}),(0,V.jsxs)(`label`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(jl,{checked:t.claimable,onCheckedChange:e=>c({claimable:e})}),(0,V.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`Claimable task`})]})]}),(0,V.jsxs)(zp,{children:[(0,V.jsx)(L,{variant:`outline`,onClick:s,children:`Cancel`}),(0,V.jsx)(L,{onClick:i,children:`Send`})]})]})})}function Up(){let e=M(e=>e.confirmModal),t=M(e=>e.set);function n(){t({confirmModal:{show:!1,title:``,message:``,action:null}})}return(0,V.jsx)(Pp,{open:e.show,onOpenChange:e=>!e&&n(),children:(0,V.jsxs)(Lp,{className:`sm:max-w-sm`,children:[(0,V.jsxs)(Rp,{children:[(0,V.jsx)(Bp,{children:e.title}),(0,V.jsx)(Vp,{children:e.message})]}),(0,V.jsxs)(zp,{children:[(0,V.jsx)(L,{variant:`outline`,onClick:n,children:`Cancel`}),(0,V.jsx)(L,{variant:`destructive`,onClick:()=>{e.action?.(),n()},children:`Confirm`})]})]})})}function Wp(){let e=M(e=>e.errorModal),t=M(e=>e.set);function n(){t({errorModal:{show:!1,title:``,message:``}})}return(0,V.jsx)(Pp,{open:e.show,onOpenChange:e=>!e&&n(),children:(0,V.jsxs)(Lp,{className:`sm:max-w-sm`,children:[(0,V.jsxs)(Rp,{children:[(0,V.jsx)(Bp,{children:e.title}),(0,V.jsx)(Vp,{children:e.message})]}),(0,V.jsx)(zp,{children:(0,V.jsx)(L,{onClick:n,children:`OK`})})]})})}function Gp(){let e=M(e=>e.renameModal),t=M(e=>e.set),n=M(e=>e.doRename);function r(){t({renameModal:{show:!1,agentId:``,label:``}})}return(0,V.jsx)(Pp,{open:e.show,onOpenChange:e=>!e&&r(),children:(0,V.jsxs)(Lp,{className:`sm:max-w-sm`,children:[(0,V.jsx)(Rp,{children:(0,V.jsx)(Bp,{children:`Rename Agent`})}),(0,V.jsxs)(`div`,{className:`space-y-3`,children:[(0,V.jsx)($,{children:`Label`}),(0,V.jsx)(R,{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,V.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Leave empty to clear the label.`})]}),(0,V.jsxs)(zp,{children:[(0,V.jsx)(L,{variant:`outline`,onClick:r,children:`Cancel`}),(0,V.jsx)(L,{onClick:n,children:`Save`})]})]})})}function Kp(){let e=M(e=>e.pairInviteOpen),t=M(e=>e.pairInvite),n=M(e=>e.set),r=M(e=>e.closePairInvite),i=M(e=>e.doCreatePair),a=Tl();function o(e){n({pairInvite:{...t,...e}})}return(0,V.jsx)(Pp,{open:e,onOpenChange:e=>!e&&r(),children:(0,V.jsxs)(Lp,{className:`sm:max-w-sm`,children:[(0,V.jsx)(Rp,{children:(0,V.jsx)(Bp,{children:`Pair Agents`})}),(0,V.jsxs)(`div`,{className:`space-y-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Requester`}),(0,V.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,V.jsx)(`option`,{value:``,children:`Select agent...`}),a.map(e=>(0,V.jsx)(`option`,{value:e.id,children:P(e)},e.id))]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Target`}),(0,V.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,V.jsx)(`option`,{value:``,children:`Select agent...`}),a.map(e=>(0,V.jsx)(`option`,{value:e.id,children:P(e)},e.id))]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Objective`}),(0,V.jsx)(R,{value:t.objective,onChange:e=>o({objective:e.target.value}),placeholder:`What should they work on?`})]})]}),(0,V.jsxs)(zp,{children:[(0,V.jsx)(L,{variant:`outline`,onClick:r,children:`Cancel`}),(0,V.jsx)(L,{onClick:i,children:`Create Pair`})]})]})})}function qp(){let e=M(e=>e.pairMessageOpen),t=M(e=>e.pairMessage),n=M(e=>e.set),r=M(e=>e.closePairMessage),i=M(e=>e.doSendPairMessage);function a(e){n({pairMessage:{...t,...e}})}return(0,V.jsx)(Pp,{open:e,onOpenChange:e=>!e&&r(),children:(0,V.jsxs)(Lp,{className:`sm:max-w-sm`,children:[(0,V.jsx)(Rp,{children:(0,V.jsx)(Bp,{children:`Pair Message`})}),(0,V.jsxs)(`div`,{className:`space-y-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Subject`}),(0,V.jsx)(R,{value:t.subject,onChange:e=>a({subject:e.target.value}),placeholder:`Optional subject...`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Message`}),(0,V.jsx)(Zd,{value:t.body,onChange:e=>a({body:e.target.value}),rows:4,placeholder:`Message body...`,autoFocus:!0})]})]}),(0,V.jsxs)(zp,{children:[(0,V.jsx)(L,{variant:`outline`,onClick:r,children:`Cancel`}),(0,V.jsx)(L,{onClick:i,children:`Send`})]})]})})}function Jp(){let e=M(e=>e.threadOpen),t=M(e=>e.threadMessages),n=M(e=>e.agentsById),r=Ot(),i=M(e=>e.set);return(0,V.jsx)(Pp,{open:e,onOpenChange:e=>!e&&i({threadOpen:!1}),children:(0,V.jsxs)(Lp,{className:`max-w-2xl max-h-[80vh]`,children:[(0,V.jsx)(Rp,{children:(0,V.jsxs)(Bp,{children:[`Thread (`,t.length,` messages)`]})}),(0,V.jsx)(Jd,{className:`max-h-[60vh]`,children:(0,V.jsx)(`div`,{className:`space-y-3 pr-4`,children:t.map(e=>(0,V.jsxs)(`div`,{className:`rounded-lg border border-border p-3 space-y-1`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2 text-sm`,children:[(0,V.jsx)(`span`,{className:`font-medium`,children:sn(e.from,n)}),(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:`→`}),(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:sn(e.to,n)}),(0,V.jsx)(`span`,{className:`ml-auto text-xs text-muted-foreground`,children:N(r,e.createdAt)})]}),e.subject&&(0,V.jsx)(`div`,{className:`text-sm font-medium`,children:e.subject}),(0,V.jsx)(cr,{text:dn(e),rawBody:e.body,issueRepo:n[e.from===`user`?e.to:e.from]?.issueRepo,className:`text-sm text-muted-foreground`}),(0,V.jsxs)(`div`,{className:`flex gap-1.5 flex-wrap`,children:[e.channel&&(0,V.jsx)(I,{variant:`secondary`,className:`text-[10px]`,children:e.channel}),e.claimedBy&&(0,V.jsxs)(I,{variant:`secondary`,className:`text-[10px]`,children:[`claimed by `,sn(e.claimedBy,n)]})]})]},e.id))})})]})})}function Yp(){let e=M(e=>e.taskEventsOpen),t=M(e=>e.taskEvents),n=M(e=>e.set),r=M(e=>e.switchView);function i(e){n({selectedMemoryId:e,taskEventsOpen:!1}),r(`memory`)}return(0,V.jsx)(Pp,{open:e,onOpenChange:e=>!e&&n({taskEventsOpen:!1}),children:(0,V.jsxs)(Lp,{className:`max-w-2xl max-h-[80vh]`,children:[(0,V.jsx)(Rp,{children:(0,V.jsxs)(Bp,{children:[`Task Events (`,t.length,`)`]})}),(0,V.jsx)(Jd,{className:`max-h-[60vh]`,children:(0,V.jsxs)(`div`,{className:`space-y-2 pr-4`,children:[t.map(e=>(0,V.jsxs)(`div`,{className:`flex items-start gap-3 rounded-lg border border-border p-3`,children:[(0,V.jsx)(I,{className:on[e.severity]||on.info,children:e.severity}),(0,V.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(`span`,{className:`text-sm font-medium`,children:e.title}),(0,V.jsx)(I,{variant:`outline`,className:`text-[10px]`,children:e.type})]}),e.body&&(0,V.jsx)(`p`,{className:`text-sm text-muted-foreground mt-1 whitespace-pre-wrap`,children:e.body}),(0,V.jsx)(Xp,{event:e,onOpen:i}),(0,V.jsxs)(`div`,{className:`text-xs text-muted-foreground mt-1`,children:[cn(e.createdAt),` · `,e.source]})]})]},e.id)),t.length===0&&(0,V.jsx)(`p`,{className:`text-sm text-muted-foreground text-center py-8`,children:`No events recorded.`})]})})]})})}function Xp({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,V.jsx)(`div`,{className:`mt-2 rounded-md border border-border bg-muted/20 p-2 text-xs`,children:(0,V.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,V.jsx)(p,{className:`w-3.5 h-3.5 mt-0.5 text-muted-foreground shrink-0`}),(0,V.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,V.jsxs)(`div`,{className:`flex flex-wrap gap-1 mb-1`,children:[(0,V.jsx)(I,{variant:`secondary`,className:`text-[10px]`,children:o}),a&&(0,V.jsx)(I,{variant:`outline`,className:`text-[10px] font-mono`,children:a}),s&&(0,V.jsx)(I,{variant:`outline`,className:`text-[10px]`,children:s})]}),(0,V.jsx)(`div`,{className:`font-medium truncate`,children:i}),n&&(0,V.jsx)(`div`,{className:`font-mono text-[10px] text-muted-foreground truncate`,children:n})]}),n&&(0,V.jsx)(L,{size:`sm`,variant:`outline`,className:`h-7 text-xs shrink-0`,onClick:()=>t(n),children:`Open`})]})})}function Zp(){let e=M(e=>e.taskCreateOpen),t=M(e=>e.taskCreateForm),n=M(e=>e.closeTaskCreate),r=M(e=>e.setTaskCreateForm),i=M(e=>e.doCreateTask);return(0,V.jsx)(Pp,{open:e,onOpenChange:e=>!e&&n(),children:(0,V.jsxs)(Lp,{className:`max-w-lg`,children:[(0,V.jsx)(Rp,{children:(0,V.jsx)(Bp,{children:`New Task`})}),(0,V.jsxs)(`div`,{className:`space-y-4`,children:[(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsxs)($,{htmlFor:`task-title`,children:[`Title `,(0,V.jsx)(`span`,{className:`text-destructive`,children:`*`})]}),(0,V.jsx)(R,{id:`task-title`,value:t.title,onChange:e=>r({title:e.target.value}),placeholder:`Short description of the work`,autoFocus:!0})]}),(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsx)($,{htmlFor:`task-intent`,children:`Intent`}),(0,V.jsx)(Zd,{id:`task-intent`,value:t.intent,onChange:e=>r({intent:e.target.value}),placeholder:`What is this task trying to accomplish?`,rows:3})]}),(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsx)($,{htmlFor:`task-done-when`,children:`Done when`}),(0,V.jsx)(Zd,{id:`task-done-when`,value:t.doneWhen,onChange:e=>r({doneWhen:e.target.value}),placeholder:`Acceptance criteria`,rows:2})]}),(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsxs)($,{htmlFor:`task-issue-refs`,children:[`Issue refs `,(0,V.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`(comma-separated, e.g. owner/repo#123)`})]}),(0,V.jsx)(R,{id:`task-issue-refs`,value:t.issueRefs,onChange:e=>r({issueRefs:e.target.value}),placeholder:`owner/repo#123, owner/repo#456`})]}),(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsxs)($,{htmlFor:`task-depends-on`,children:[`Depends on `,(0,V.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`(comma-separated task IDs)`})]}),(0,V.jsx)(R,{id:`task-depends-on`,value:t.dependsOn,onChange:e=>r({dependsOn:e.target.value}),placeholder:`42, 43`})]}),(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,V.jsx)($,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider`,children:`Dispatch work-shape (optional)`}),(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{htmlFor:`dispatch-complexity`,className:`text-xs`,children:`Complexity`}),(0,V.jsxs)(`select`,{id:`dispatch-complexity`,className:`w-full mt-1 rounded-md border border-input bg-background px-2 py-1.5 text-sm`,value:t.dispatchComplexity,onChange:e=>r({dispatchComplexity:e.target.value}),children:[(0,V.jsx)(`option`,{value:``,children:`—`}),It.map(e=>(0,V.jsx)(`option`,{value:e,children:e},e))]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{htmlFor:`dispatch-type`,className:`text-xs`,children:`Type`}),(0,V.jsxs)(`select`,{id:`dispatch-type`,className:`w-full mt-1 rounded-md border border-input bg-background px-2 py-1.5 text-sm`,value:t.dispatchType,onChange:e=>r({dispatchType:e.target.value}),children:[(0,V.jsx)(`option`,{value:``,children:`—`}),jt.map(e=>(0,V.jsx)(`option`,{value:e,children:e},e))]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{htmlFor:`dispatch-footprint`,className:`text-xs`,children:`Context footprint`}),(0,V.jsxs)(`select`,{id:`dispatch-footprint`,className:`w-full mt-1 rounded-md border border-input bg-background px-2 py-1.5 text-sm`,value:t.dispatchFootprint,onChange:e=>r({dispatchFootprint:e.target.value}),children:[(0,V.jsx)(`option`,{value:``,children:`—`}),Pt.map(e=>(0,V.jsx)(`option`,{value:e,children:e},e))]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{htmlFor:`dispatch-criticality`,className:`text-xs`,children:`Criticality`}),(0,V.jsxs)(`select`,{id:`dispatch-criticality`,className:`w-full mt-1 rounded-md border border-input bg-background px-2 py-1.5 text-sm`,value:t.dispatchCriticality,onChange:e=>r({dispatchCriticality:e.target.value}),children:[(0,V.jsx)(`option`,{value:``,children:`—`}),zt.map(e=>(0,V.jsx)(`option`,{value:e,children:e},e))]})]})]})]})]}),(0,V.jsxs)(zp,{children:[(0,V.jsx)(L,{variant:`outline`,onClick:n,children:`Cancel`}),(0,V.jsx)(L,{onClick:()=>void i(),disabled:!t.title.trim(),children:`Create`})]})]})})}function Qp({open:e,onOpenChange:t,onSelect:n,orchestratorId:r,initialPath:i,title:a=`Select Directory`}){let o=M(e=>e.apiCall),[s,c]=(0,B.useState)(!1),[l,u]=(0,B.useState)(null),[d,p]=(0,B.useState)(null),[m,h]=(0,B.useState)(!1),[g,v]=(0,B.useState)(``),[y,b]=(0,B.useState)(null),x=l?.path||i||``,S=(0,B.useMemo)(()=>x.split(`/`).filter(Boolean),[x]),C=(0,B.useCallback)(async e=>{if(r){c(!0),p(null),h(!1);try{let t=e?`?path=${encodeURIComponent(e)}`:``;u(await o(`GET`,`/orchestrators/${encodeURIComponent(r)}/directories${t}`))}catch(e){p(Mt(e))}finally{c(!1)}}},[r,o]);(0,B.useEffect)(()=>{e&&r&&(u(null),p(null),h(!1),C(i||void 0))},[e,r]);async function ee(){if(!(!g.trim()||!l)){b(null);try{u(await o(`POST`,`/orchestrators/${encodeURIComponent(r)}/directories`,{path:l.path,name:g.trim()})),h(!1),v(``)}catch(e){b(Mt(e))}}}function w(){x&&(n(x),t(!1))}function te(e){C(`/`+S.slice(0,e+1).join(`/`))}return(0,V.jsx)(Pp,{open:e,onOpenChange:t,children:(0,V.jsxs)(Lp,{className:`max-w-lg max-h-[85dvh] flex flex-col`,children:[(0,V.jsx)(Rp,{children:(0,V.jsxs)(Bp,{className:`flex items-center gap-2`,children:[(0,V.jsx)(St,{className:`h-4 w-4`}),a]})}),(0,V.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,V.jsx)(`button`,{type:`button`,className:`font-mono text-muted-foreground hover:text-foreground shrink-0`,onClick:()=>l?.baseDir&&C(l.baseDir),children:`/`}),S.map((e,t)=>(0,V.jsxs)(`span`,{className:`shrink-0`,children:[(0,V.jsx)(`button`,{type:`button`,className:`font-mono text-muted-foreground hover:text-foreground`,onClick:()=>te(t),children:e}),t<S.length-1&&(0,V.jsx)(`span`,{className:`text-muted-foreground/50 mx-0.5`,children:`/`})]},`${e}-${t}`))]}),(0,V.jsxs)(`div`,{className:`flex-1 min-h-0 rounded-md border border-border bg-background overflow-y-auto`,style:{maxHeight:`40dvh`},children:[s&&(0,V.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,V.jsx)(Je,{className:`h-5 w-5 animate-spin text-muted-foreground`})}),!s&&d&&(0,V.jsx)(`div`,{className:`px-3 py-4 text-sm text-destructive`,children:d}),!s&&l&&(0,V.jsxs)(`div`,{className:`p-1`,children:[l.parent&&(0,V.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(l.parent),children:[(0,V.jsx)(Ve,{className:`h-4 w-4 text-muted-foreground`}),(0,V.jsx)(`span`,{className:`text-muted-foreground`,children:`..`})]}),l.entries.map(e=>(0,V.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,V.jsx)(_,{className:`h-4 w-4 text-muted-foreground`}),(0,V.jsx)(`span`,{className:`truncate`,children:e.name})]},e.path)),l.entries.length===0&&!l.parent&&(0,V.jsx)(`div`,{className:`px-2 py-4 text-sm text-muted-foreground text-center`,children:`Empty directory`}),l.entries.length===0&&l.parent&&(0,V.jsx)(`div`,{className:`px-2 py-4 text-sm text-muted-foreground text-center`,children:`No subdirectories`})]})]}),m?(0,V.jsxs)(`div`,{className:`flex gap-2`,children:[(0,V.jsx)(R,{autoFocus:!0,value:g,onChange:e=>{v(e.target.value),b(null)},onKeyDown:e=>{e.key===`Enter`&&ee(),e.key===`Escape`&&(h(!1),v(``))},placeholder:`New directory name...`,className:`flex-1 font-mono text-sm`}),(0,V.jsx)(L,{type:`button`,size:`icon`,variant:`outline`,onClick:ee,disabled:!g.trim(),children:(0,V.jsx)(f,{className:`h-4 w-4`})}),(0,V.jsx)(L,{type:`button`,size:`icon`,variant:`ghost`,onClick:()=>{h(!1),v(``),b(null)},children:(0,V.jsx)(k,{className:`h-4 w-4`})})]}):(0,V.jsxs)(L,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>h(!0),disabled:!l||s,children:[(0,V.jsx)(D,{className:`h-4 w-4 mr-1.5`}),`New Directory`]}),y&&(0,V.jsx)(`p`,{className:`text-xs text-destructive`,children:y}),(0,V.jsxs)(zp,{children:[(0,V.jsx)(L,{variant:`outline`,onClick:()=>t(!1),children:`Cancel`}),(0,V.jsx)(L,{onClick:w,disabled:!x,children:`Select`})]})]})})}function $p({value:e,onChange:t,orchestratorId:n,placeholder:r,disabled:i}){let[a,o]=(0,B.useState)(!1);return(0,V.jsxs)(`div`,{className:`flex gap-2`,children:[(0,V.jsx)(R,{value:e,onChange:e=>t(e.target.value),placeholder:r,disabled:i,className:`flex-1 font-mono text-sm`}),(0,V.jsx)(L,{type:`button`,variant:`outline`,size:`icon`,onClick:()=>o(!0),disabled:i||!n,title:`Browse directories`,children:(0,V.jsx)(St,{className:`h-4 w-4`})}),n&&(0,V.jsx)(Qp,{open:a,onOpenChange:o,onSelect:t,orchestratorId:n,initialPath:e||void 0})]})}function em({model:e}){if(!e)return null;let t=tm(e);return t.length===0?null:(0,V.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:t.map(e=>(0,V.jsxs)(I,{variant:`outline`,className:`gap-1 text-[10px]`,children:[(0,V.jsx)(e.Icon,{className:`h-3 w-3`}),e.label]},e.label))})}function tm(e){let t=[],n=e.limits?.contextWindowTokens?.value;return n&&t.push({label:nm(n),Icon:ye}),e.capabilities?.modalities.input.image&&t.push({label:`Image input`,Icon:u}),(e.capabilities?.modalities.output.image||e.capabilities?.tools?.imageGeneration)&&t.push({label:`Image output`,Icon:u}),e.capabilities?.tools?.code&&t.push({label:`Code`,Icon:De}),t}function nm(e){return e>=1e6?`${e/1e6}M ctx`:e>=1e3?`${Math.round(e/1e3)}K ctx`:`${e} ctx`}function rm(){let e=M(e=>e.orchestratorSpawnOpen),t=M(e=>e.orchestrators),n=M(e=>e.spawnOrchId),r=M(e=>e.spawnProvider),i=M(e=>e.spawnModel),a=M(e=>e.spawnEffort),o=M(e=>e.spawnProfile),s=M(e=>e.spawnCwd),c=M(e=>e.spawnLabel),l=M(e=>e.spawnApproval),u=M(e=>e.spawnWorkspaceMode),d=M(e=>e.spawnPrompt),f=M(e=>e.spawnSystemPromptAppend),p=M(e=>e.spawnCount),m=M(e=>e.spawnCwdHistory),h=M(e=>e.isSpawning),g=M(e=>!!e.pendingForkImport),_=M(e=>e.set),v=M(e=>e.submitOrchestratorSpawn),y=M(e=>e.selectSpawnHistory),b=M(e=>e.agentProfiles),x=M(e=>e.providerCatalog),S=t.find(e=>e.id===n),C=S?.providers||[],ee=wt(r,x),w=ee.find(e=>e.alias===i),te=w?.efforts||[],T=!!(S&&C.length>0&&s.trim())&&!h,ne=t.filter(e=>e.status===`online`),re=ne.length>1,ie=m.filter(e=>ne.some(t=>t.id===e.orchId)).slice(0,5);function ae(e){let n=t.find(t=>t.id===e),r=n?.providers[0]||``;_({spawnOrchId:e,spawnProvider:r,spawnModel:r?Et(r,x):``,spawnEffort:``,spawnCwd:n?.baseDir||``})}function oe(e){_({spawnProvider:e,spawnModel:Et(e,x),spawnEffort:``})}function E(e){_({spawnModel:e,spawnEffort:``})}return(0,V.jsx)(Pp,{open:e,onOpenChange:e=>!e&&_({orchestratorSpawnOpen:!1}),children:(0,V.jsxs)(Lp,{className:`max-w-lg max-h-[90dvh] flex flex-col`,onOpenAutoFocus:e=>e.preventDefault(),children:[(0,V.jsx)(Rp,{children:(0,V.jsx)(Bp,{children:`Spawn Agent`})}),(0,V.jsxs)(`div`,{className:`space-y-3 overflow-y-auto flex-1 min-h-0 -mx-4 px-4`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Orchestrator`}),(0,V.jsx)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:n,onChange:e=>ae(e.target.value),children:t.filter(e=>e.status===`online`).map(e=>(0,V.jsxs)(`option`,{value:e.id,children:[e.hostname,` (`,e.id.slice(-8),`)`]},e.id))})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Provider`}),(0,V.jsxs)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:r,onChange:e=>oe(e.target.value),disabled:!C.length,children:[!C.length&&(0,V.jsx)(`option`,{value:r,children:`No providers available`}),C.map(e=>(0,V.jsx)(`option`,{value:e,children:e},e))]})]}),(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Model`}),(0,V.jsx)(`select`,{className:`w-full mt-1 rounded-md border border-input bg-background px-3 py-2 text-sm`,value:i,onChange:e=>E(e.target.value),disabled:!ee.length,children:ee.map(e=>(0,V.jsx)(`option`,{value:e.alias,children:e.label},e.alias))})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Effort`}),(0,V.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,V.jsx)(`option`,{value:``,children:`Default`}),te.map(e=>(0,V.jsx)(`option`,{value:e,children:e},e))]})]})]}),(0,V.jsx)(em,{model:w}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Agent Profile`}),(0,V.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,V.jsx)(`option`,{value:`default-relay`,children:`default-relay`}),b.map(e=>(0,V.jsx)(`option`,{value:e.name,children:e.name},e.name))]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Approval Mode`}),(0,V.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,V.jsx)(`option`,{value:`open`,children:`Open`}),(0,V.jsx)(`option`,{value:`guarded`,children:`Guarded`}),(0,V.jsx)(`option`,{value:`read-only`,children:`Read-only`})]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Workspace`}),(0,V.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,V.jsx)(`option`,{value:`inherit`,children:`Default`}),(0,V.jsx)(`option`,{value:`isolated`,children:`Isolated worktree`}),(0,V.jsx)(`option`,{value:`shared`,children:`Shared cwd`})]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Working Directory`}),(0,V.jsx)(`div`,{className:`mt-1`,children:(0,V.jsx)($p,{value:s,onChange:e=>_({spawnCwd:e}),orchestratorId:n,placeholder:`Select a project directory`})}),ie.length>0&&(0,V.jsxs)(`div`,{className:`mt-2`,children:[(0,V.jsx)(`p`,{className:`text-xs text-muted-foreground mb-1`,children:`Recent`}),(0,V.jsx)(`div`,{className:`flex gap-1.5 overflow-x-auto pb-1 sm:flex-wrap sm:overflow-x-visible sm:pb-0`,children:ie.map(e=>{let t=e.cwd.replace(/\/+$/,``).split(`/`).pop()||e.cwd,r=ne.find(t=>t.id===e.orchId)?.hostname,i=e.orchId===n&&e.cwd===s;return(0,V.jsx)(`button`,{type:`button`,title:re&&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:re&&r?`${r}: ${t}`:t},`${e.orchId}:${e.cwd}`)})})]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Label`}),(0,V.jsx)(R,{value:c,onChange:e=>_({spawnLabel:e.target.value}),placeholder:`Optional label...`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Initial Prompt`}),(0,V.jsx)(Zd,{value:d,onChange:e=>_({spawnPrompt:e.target.value}),rows:3,placeholder:`Optional initial task...`}),(0,V.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,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`System Prompt Append`}),(0,V.jsx)(Zd,{value:f,onChange:e=>_({spawnSystemPromptAppend:e.target.value}),rows:5,placeholder:`Optional launch context...`}),(0,V.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,V.jsxs)(`div`,{children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,V.jsx)($,{children:`Number of Agents`}),(0,V.jsx)(`span`,{className:`text-sm font-mono tabular-nums text-muted-foreground`,children:p})]}),(0,V.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,V.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,V.jsxs)(zp,{children:[(0,V.jsx)(L,{variant:`outline`,onClick:()=>_({orchestratorSpawnOpen:!1}),disabled:h,children:`Cancel`}),(0,V.jsx)(L,{onClick:v,disabled:!T,children:h?`Spawning…`:C.length?p>1?`Spawn ${p}`:`Spawn`:`No providers`})]})]})})}function im(){return`host-${Math.random().toString(36).slice(2,8)}`}function am(e,t){return e.includes(t)?e.filter(e=>e!==t):[...e,t]}function om(){let e=M(e=>e.orchestratorInstallOpen),t=M(e=>e.set),n=M(e=>e.showError),r=M(e=>e.showNotification),i=(0,B.useMemo)(()=>new URL(Ke()).origin,[]),[a,o]=(0,B.useState)(im),[s,c]=(0,B.useState)(`$HOME/projects`),[l,u]=(0,B.useState)(Nt()),[d,f]=(0,B.useState)(`4860`),[p,m]=(0,B.useState)(``),[h,g]=(0,B.useState)(``),[_,v]=(0,B.useState)(),[y,b]=(0,B.useState)(!1);async function x(){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}b(!0);try{let e=await A(`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{b(!1)}}return(0,V.jsx)(Pp,{open:e,onOpenChange:e=>!e&&t({orchestratorInstallOpen:!1}),children:(0,V.jsxs)(Lp,{className:`max-w-2xl overflow-hidden`,children:[(0,V.jsx)(Rp,{children:(0,V.jsxs)(Bp,{className:`flex items-center gap-2`,children:[(0,V.jsx)(T,{className:`w-4 h-4`}),`Add Orchestrator`]})}),(0,V.jsxs)(`div`,{className:`space-y-4`,children:[(0,V.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Orchestrator ID`}),(0,V.jsx)(R,{value:a,onChange:e=>o(e.target.value)})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Relay URL`}),(0,V.jsx)(R,{value:i,readOnly:!0})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Base Directory`}),(0,V.jsx)(R,{value:s,onChange:e=>c(e.target.value)})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`API Port`}),(0,V.jsx)(R,{value:d,onChange:e=>f(e.target.value),inputMode:`numeric`})]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Providers`}),(0,V.jsx)(`div`,{className:`mt-1 flex flex-wrap gap-2`,children:Nt().map(e=>(0,V.jsx)(L,{type:`button`,size:`sm`,variant:l.includes(e)?`default`:`outline`,onClick:()=>u(am(l,e)),children:At(e)},e))})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Extra PATH Prefix`}),(0,V.jsx)(R,{value:p,onChange:e=>m(e.target.value),placeholder:`/opt/homebrew/bin:/custom/bin`})]}),h&&(0,V.jsxs)(`div`,{children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-2 mb-1`,children:[(0,V.jsx)($,{children:`Install Command`}),_&&(0,V.jsxs)(`span`,{className:`text-[11px] text-muted-foreground`,children:[`Install token expires `,new Date(_*1e3).toLocaleString()]})]}),(0,V.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,V.jsxs)(zp,{children:[(0,V.jsx)(L,{variant:`outline`,onClick:()=>t({orchestratorInstallOpen:!1}),children:`Close`}),h&&(0,V.jsx)(ir,{value:h,label:`Copy`,showText:!0,size:`default`,variant:`outline`,className:`gap-1`,onCopied:()=>r(`Install command copied`)}),(0,V.jsxs)(L,{className:`gap-1`,onClick:x,disabled:y,children:[(0,V.jsx)(Se,{className:`w-3.5 h-3.5`}),y?`Generating...`:`Generate Command`]})]})]})})}function sm(){let e=M(e=>e.policyModal),t=M(e=>e.orchestrators),n=M(e=>e.agentProfiles),r=M(e=>e.set),i=M(e=>e.submitPolicy),a=M(e=>e.providerCatalog),o=t.find(t=>t.id===e.orchestratorId),s=o?.providers||[],c=wt(e.provider,a),l=c.find(t=>t.alias===e.model),u=l?.efforts||[],d=!!e.editing,f=o?.providerStatus?.find(t=>t.name===e.provider)?.features?.rig===!0;function p(t){r({policyModal:{...e,...t}})}function m(n){let r=t.find(e=>e.id===n)?.providers[0]||e.provider;p({orchestratorId:n,provider:r,model:Et(r,a),effort:``})}function h(e){p({provider:e,rig:``,model:Et(e,a),effort:``})}return(0,V.jsx)(Pp,{open:e.open,onOpenChange:e=>!e&&p({open:!1}),children:(0,V.jsxs)(Lp,{className:`max-w-lg max-h-[90vh] overflow-y-auto`,children:[(0,V.jsx)(Rp,{children:(0,V.jsx)(Bp,{children:d?`Edit Policy`:`Create Managed Agent`})}),(0,V.jsxs)(`div`,{className:`space-y-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Policy Name`}),(0,V.jsx)(R,{value:e.name,onChange:e=>p({name:e.target.value}),placeholder:`my-agent`,disabled:d})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Label`}),(0,V.jsx)(R,{value:e.label,onChange:e=>p({label:e.target.value}),placeholder:`Human-friendly name...`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Description`}),(0,V.jsx)(R,{value:e.description,onChange:e=>p({description:e.target.value}),placeholder:`What does this agent do?`})]}),(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Orchestrator`}),(0,V.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=>m(e.target.value),children:t.filter(e=>e.status===`online`).map(e=>(0,V.jsxs)(`option`,{value:e.id,children:[e.hostname,` (`,e.id.slice(-8),`)`]},e.id))})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Provider`}),(0,V.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=>h(e.target.value),disabled:!s.length,children:[!s.length&&(0,V.jsx)(`option`,{value:e.provider,children:`No providers available`}),s.map(e=>(0,V.jsx)(`option`,{value:e,children:e},e))]})]})]}),f&&(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Rig`}),(0,V.jsx)(R,{value:e.rig,onChange:e=>p({rig:e.target.value}),placeholder:`Leave empty to auto-detect from .claude-rig`}),(0,V.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,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Model`}),(0,V.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=>p({model:e.target.value,effort:``}),children:c.map(e=>(0,V.jsx)(`option`,{value:e.alias,children:e.label},e.alias))})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Effort`}),(0,V.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=>p({effort:e.target.value}),disabled:!u.length,children:[(0,V.jsx)(`option`,{value:``,children:`Default`}),u.map(e=>(0,V.jsx)(`option`,{value:e,children:e},e))]})]})]}),(0,V.jsx)(em,{model:l}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Agent Profile`}),(0,V.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=>p({profile:e.target.value}),children:[!n.length&&(0,V.jsx)(`option`,{value:`default-relay`,children:`default-relay`}),n.map(e=>(0,V.jsx)(`option`,{value:e.name,children:e.name},e.name))]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Working Directory`}),(0,V.jsx)(`div`,{className:`mt-1`,children:(0,V.jsx)($p,{value:e.cwd,onChange:e=>p({cwd:e}),orchestratorId:e.orchestratorId,placeholder:o?.baseDir||`/path/to/project`})})]}),(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Mode`}),(0,V.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=>p({mode:e.target.value}),children:[(0,V.jsx)(`option`,{value:`always-on`,children:`Always On`}),(0,V.jsx)(`option`,{value:`on-demand`,children:`On Demand`})]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Permission Mode`}),(0,V.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=>p({permissionMode:e.target.value}),children:[(0,V.jsx)(`option`,{value:`open`,children:`Open`}),(0,V.jsx)(`option`,{value:`guarded`,children:`Guarded`}),(0,V.jsx)(`option`,{value:`read-only`,children:`Read-only`})]})]})]}),e.mode===`on-demand`&&(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Keepalive (seconds)`}),(0,V.jsx)(R,{type:`number`,value:e.keepaliveSeconds,onChange:e=>p({keepaliveSeconds:e.target.value}),placeholder:`300`}),(0,V.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:`Seconds to keep agent alive after last activity.`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Initial Prompt`}),(0,V.jsx)(Zd,{value:e.prompt,onChange:e=>p({prompt:e.target.value}),rows:3,placeholder:`Optional initial task or instructions...`}),(0,V.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,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Tags`}),(0,V.jsx)(R,{value:e.tags,onChange:e=>p({tags:e.target.value}),placeholder:`tag1, tag2`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Capabilities`}),(0,V.jsx)(R,{value:e.capabilities,onChange:e=>p({capabilities:e.target.value}),placeholder:`chat, review`})]})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Provider Args`}),(0,V.jsx)(R,{value:e.providerArgs,onChange:e=>p({providerArgs:e.target.value}),placeholder:`--flag value`}),(0,V.jsx)(`p`,{className:`text-xs text-muted-foreground mt-1`,children:`Space-separated args passed to the provider CLI.`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Channel Binding`}),(0,V.jsx)(R,{value:e.channelId,onChange:e=>p({channelId:e.target.value}),placeholder:`Channel ID (optional)`})]}),(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Backoff Schedule (seconds)`}),(0,V.jsx)(R,{value:e.backoffSchedule,onChange:e=>p({backoffSchedule:e.target.value}),placeholder:`5, 15, 60, 300`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Backoff Reset After (s)`}),(0,V.jsx)(R,{type:`number`,value:e.backoffResetAfterSeconds,onChange:e=>p({backoffResetAfterSeconds:e.target.value}),placeholder:`600`})]})]}),(0,V.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,V.jsx)($,{htmlFor:`restartOnUpdate`,children:`Restart on policy update`}),(0,V.jsx)(jl,{id:`restartOnUpdate`,checked:e.restartOnUpdate,onCheckedChange:e=>p({restartOnUpdate:e})})]}),(0,V.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,V.jsx)($,{htmlFor:`dailyRestart`,children:`Scheduled daily restart`}),(0,V.jsx)(jl,{id:`dailyRestart`,checked:e.scheduledDailyRestart,onCheckedChange:e=>p({scheduledDailyRestart:e})})]})]}),(0,V.jsxs)(zp,{children:[(0,V.jsx)(L,{variant:`outline`,onClick:()=>p({open:!1}),children:`Cancel`}),(0,V.jsx)(L,{onClick:i,children:d?`Save`:`Create`})]})]})})}function cm(e){return e===`skill`?`bg-blue-500/10 text-blue-400 border-blue-500/30`:e===`plugin`?`bg-violet-500/10 text-violet-400 border-violet-500/30`:`bg-amber-500/10 text-amber-400 border-amber-500/30`}function lm({children:e}){return(0,V.jsxs)(pl,{children:[(0,V.jsx)(ml,{asChild:!0,children:(0,V.jsx)(`button`,{type:`button`,tabIndex:-1,"aria-label":`More info`,className:`inline-flex shrink-0 text-muted-foreground transition-colors hover:text-foreground`,children:(0,V.jsx)(de,{className:`h-3 w-3`})})}),(0,V.jsx)(hl,{className:`max-w-xs leading-relaxed`,children:e})]})}function um({children:e,tip:t,className:n}){return(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,V.jsx)($,{className:n,children:e}),(0,V.jsx)(lm,{children:t})]})}var dm=[{value:``,label:`Off`},{value:`all`,label:`All`}],fm=[{value:``,label:`Off`},{value:`all`,label:`All safe settings`}],pm=[{value:``,label:`Instance default`},{value:`direct`,label:`Direct`},{value:`pr`,label:`Pull request`}],mm=[{value:`any`,label:`Any provider`},...Nt().map(e=>({value:e,label:At(e)}))],hm={relay:`bg-blue-500/10 text-blue-400 border-blue-500/30`,repo:`bg-emerald-500/10 text-emerald-400 border-emerald-500/30`,inline:`bg-amber-500/10 text-amber-400 border-amber-500/30`,provider:`bg-fuchsia-500/10 text-fuchsia-400 border-fuchsia-500/30`,profile:`bg-slate-500/10 text-slate-400 border-slate-500/30`};function gm(e){return e?e.policy??`all`:``}function _m(e){if(e)return e===`all`?{policy:`all`}:{}}function vm({value:e,onChange:t,options:n,disabled:r}){return(0,V.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,V.jsx)(`option`,{value:e.value,children:e.label},e.value))})}function ym(e,t){return`${e.source}:${e.provider??`any`}:${e.ref}:${t}`}function bm({source:e}){return(0,V.jsx)(I,{variant:`outline`,className:`text-[10px] ${hm[e]}`,children:e})}function xm({skills:e,plugins:t,hooks:n,mcp:r,onChangeSkills:i,onChangePlugins:a,onChangeHooks:o,onChangeMcp:s,projectMcp:c,projectSkills:l,projectSettings:u,sharedMcp:d,readOnly:f}){let[p,m]=(0,B.useState)([]),[h,g]=(0,B.useState)(!1),[_,v]=(0,B.useState)(!1),[y,b]=(0,B.useState)(null),[x,S]=(0,B.useState)(null),[C,ee]=(0,B.useState)(`repo`),[w,te]=(0,B.useState)(``),[T,ne]=(0,B.useState)(`any`);async function re(e){if(S(e),!h){v(!0),b(null);try{m((await A(`GET`,`/provisioning/capabilities`)).capabilities),g(!0)}catch(e){b(Mt(e))}finally{v(!1)}}}let ie=r=>r===`skill`?e:r===`plugin`?t:n,ae=e=>e===`skill`?i:e===`plugin`?a:o;function oe(e){let t=w.trim();if(!t)return;let n={source:C,ref:t,enabled:!0,...T===`any`?{}:{provider:T}};ae(e)([...ie(e),n]),te(``),S(null)}function E(e,t){let n=ie(e);n.some(e=>e.source===`relay`&&e.ref===t)||(ae(e)([...n,{source:`relay`,ref:t,enabled:!0}]),S(null))}function D(e){let t=e.variants.find(e=>e.enabled);if(!t)return;let n=t.definition;s({...r,servers:{...r.servers??{},[e.capability.slug]:n?.server??{}}}),S(null)}function se(t,n){i(e.map((e,r)=>r===t?{...e,...n}:e))}function ce(e,n){a(t.map((t,r)=>r===e?{...t,...n}:t))}function le(e,t){o(n.map((n,r)=>r===e?{...n,...t}:n))}function ue(e){let t={...r.servers??{}};delete t[e],s({...r,servers:t})}let de=p.filter(e=>e.capability.kind===`skill`),O=p.filter(e=>e.capability.kind===`plugin`),fe=p.filter(e=>e.capability.kind===`hook`),pe=p.filter(e=>e.capability.kind===`mcp`),me=new Set(fe.filter(e=>e.variants.some(e=>e.definition?.tier===`baseline`)).map(e=>e.capability.slug));return(0,V.jsxs)(`div`,{className:`space-y-3`,children:[(0,V.jsx)(Sm,{projectMcp:c,projectSkills:l,projectSettings:u,sharedMcp:d}),(0,V.jsx)(wm,{title:`Skills from registry`,kind:`skill`,refs:e,readOnly:f,adding:x===`skill`,caps:de,loading:_,fetchError:y,empty:`No skills assigned`,manualRef:w,manualSource:C,manualProvider:T,onAddClick:()=>void re(`skill`),onCancel:()=>S(null),onManualRef:te,onManualSource:ee,onManualProvider:ne,onAddManual:()=>oe(`skill`),onAddRelay:e=>E(`skill`,e),onUpdate:se,onRemove:t=>i(e.filter((e,n)=>n!==t))}),(0,V.jsx)(wm,{title:`Plugins from registry`,kind:`plugin`,refs:t,readOnly:f,adding:x===`plugin`,caps:O,loading:_,fetchError:y,empty:`No plugins assigned`,manualRef:w,manualSource:C,manualProvider:T,onAddClick:()=>void re(`plugin`),onCancel:()=>S(null),onManualRef:te,onManualSource:ee,onManualProvider:ne,onAddManual:()=>oe(`plugin`),onAddRelay:e=>E(`plugin`,e),onUpdate:ce,onRemove:e=>a(t.filter((t,n)=>n!==e))}),(0,V.jsx)(wm,{title:`Hooks from registry`,kind:`hook`,refs:n,readOnly:f,adding:x===`hook`,caps:fe,loading:_,fetchError:y,empty:`No hooks assigned`,note:`Baseline safety hooks (e.g. the rg -r footgun guard) are always applied to every spawned agent regardless of these refs.`,baselineSlugs:me,manualRef:w,manualSource:C,manualProvider:T,onAddClick:()=>void re(`hook`),onCancel:()=>S(null),onManualRef:te,onManualSource:ee,onManualProvider:ne,onAddManual:()=>oe(`hook`),onAddRelay:e=>E(`hook`,e),onUpdate:le,onRemove:e=>o(n.filter((t,n)=>n!==e))}),(0,V.jsx)(Dm,{mcpKeys:Object.keys(r.servers??{}),caps:pe,adding:x===`mcp`,loading:_,fetchError:y,readOnly:f,onAddClick:()=>void re(`mcp`),onAddMcp:D,onCancel:()=>S(null),onRemove:ue})]})}function Sm(e){return(0,V.jsxs)(`div`,{className:`rounded border border-border bg-muted/20 p-2`,children:[(0,V.jsxs)(`div`,{className:`mb-1 flex items-center gap-1.5 text-xs font-medium text-muted-foreground`,children:[`Project and shared injection`,(0,V.jsxs)(lm,{children:[`Read-only mirror of the Provisioning Policies above — what this profile injects from the project's `,(0,V.jsx)(`code`,{children:`.mcp.json`}),`/`,(0,V.jsx)(`code`,{children:`.claude`}),` and how its MCP is routed.`]})]}),(0,V.jsxs)(`div`,{className:`flex flex-wrap gap-1.5`,children:[(0,V.jsxs)(I,{variant:e.projectMcp?`default`:`outline`,className:`text-[10px]`,children:[`project MCP: `,gm(e.projectMcp)||`off`]}),(0,V.jsxs)(I,{variant:e.projectSkills?`default`:`outline`,className:`text-[10px]`,children:[`project skills: `,gm(e.projectSkills)||`off`]}),(0,V.jsxs)(I,{variant:e.projectSettings?`default`:`outline`,className:`text-[10px]`,children:[`project settings: `,gm(e.projectSettings)||`off`]}),(0,V.jsxs)(I,{variant:e.sharedMcp?`default`:`outline`,className:`text-[10px]`,children:[`shared MCP: `,gm(e.sharedMcp)||`off`]})]})]})}function Cm(e){return[...new Set(e.variants.map(e=>e.sourceType||`relay`))].join(`, `)}function wm(e){return(0,V.jsxs)(`div`,{children:[(0,V.jsxs)(`div`,{className:`mb-1.5 flex items-center justify-between`,children:[(0,V.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:e.title}),!e.readOnly&&(0,V.jsxs)(L,{type:`button`,variant:`outline`,size:`sm`,className:`h-6 gap-1 text-xs`,onClick:e.onAddClick,children:[(0,V.jsx)(h,{className:`h-3 w-3`}),`Add `,e.kind]})]}),e.note&&(0,V.jsxs)(`div`,{className:`mb-1.5 flex items-start gap-1.5 rounded border border-amber-500/30 bg-amber-500/10 px-2 py-1 text-[10px] leading-relaxed text-amber-300`,children:[(0,V.jsx)(le,{className:`mt-0.5 h-3 w-3 shrink-0`}),(0,V.jsx)(`span`,{children:e.note})]}),e.refs.length===0&&!e.adding&&(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:e.empty}),e.refs.map((t,n)=>{let r=t.source===`relay`&&(e.baselineSlugs?.has(t.ref)??!1);return(0,V.jsxs)(`div`,{className:`mb-1 flex items-center gap-2 rounded border border-border bg-card/60 px-2 py-1`,children:[(0,V.jsx)(I,{variant:`outline`,className:`text-[10px] ${cm(e.kind)}`,children:e.kind}),(0,V.jsx)(bm,{source:t.source}),(0,V.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-xs`,children:t.ref}),r&&(0,V.jsxs)(pl,{children:[(0,V.jsx)(ml,{asChild:!0,children:(0,V.jsxs)(I,{variant:`outline`,className:`gap-0.5 border-amber-500/30 bg-amber-500/10 text-[10px] text-amber-400`,children:[(0,V.jsx)(le,{className:`h-2.5 w-2.5`}),`baseline`]})}),(0,V.jsx)(hl,{className:`max-w-xs leading-relaxed`,children:`Baseline safety hook — always applied by the runner even if removed or disabled here.`})]}),t.provider&&t.provider!==`any`&&(0,V.jsx)(I,{variant:`secondary`,className:`text-[10px]`,children:t.provider}),(0,V.jsx)(jl,{checked:t.enabled,onCheckedChange:t=>e.onUpdate(n,{enabled:t}),disabled:e.readOnly,size:`sm`}),!e.readOnly&&(0,V.jsx)(L,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`h-5 w-5`,onClick:()=>e.onRemove(n),children:(0,V.jsx)(Fe,{className:`h-3 w-3`})})]},ym(t,n))}),e.adding&&(0,V.jsxs)(`div`,{className:`mt-1.5 space-y-2 rounded border border-border bg-card/60 p-2`,children:[e.loading&&(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`Loading...`}),e.fetchError&&(0,V.jsx)(`div`,{className:`text-xs text-destructive`,children:e.fetchError}),!e.loading&&e.caps.length===0&&!e.fetchError&&(0,V.jsxs)(`div`,{className:`text-xs text-muted-foreground`,children:[`No `,e.kind,` capabilities in registry`]}),e.caps.length>0&&(0,V.jsx)(`div`,{className:`max-h-44 space-y-0.5 overflow-y-auto rounded border border-border/60 bg-background/40 p-1`,children:e.caps.map(t=>(0,V.jsxs)(`button`,{type:`button`,onClick:()=>e.onAddRelay(t.capability.slug),className:`w-full rounded px-2 py-1 text-left font-mono text-xs hover:bg-accent focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,children:[t.capability.slug,t.capability.title?` - ${t.capability.title}`:``,t.variants.length>0&&(0,V.jsxs)(`span`,{className:`ml-2 text-muted-foreground`,children:[`(`,Cm(t),`)`]})]},t.capability.id))}),(0,V.jsx)(Tm,{}),(0,V.jsx)(Em,{...e}),(0,V.jsx)(L,{type:`button`,variant:`ghost`,size:`sm`,className:`mt-1 h-6 text-xs`,onClick:e.onCancel,children:`Cancel`})]})]})}function Tm(){return(0,V.jsxs)(`div`,{className:`flex items-center gap-2 pt-0.5`,children:[(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`}),(0,V.jsx)(`span`,{className:`text-[10px] uppercase tracking-wide text-muted-foreground`,children:`or add manually`}),(0,V.jsx)(`div`,{className:`h-px flex-1 bg-border`})]})}function Em(e){return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`div`,{className:`grid grid-cols-[1fr_1fr] gap-1.5`,children:[(0,V.jsx)(vm,{value:e.manualSource,onChange:t=>e.onManualSource(t),options:[{value:`repo`,label:`Repo ref`},{value:`inline`,label:`Inline ref`},{value:`provider`,label:`Provider ref`},{value:`relay`,label:`Relay ref`}]}),(0,V.jsx)(vm,{value:e.manualProvider,onChange:t=>e.onManualProvider(t),options:mm})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,V.jsx)(R,{value:e.manualRef,onChange:t=>e.onManualRef(t.target.value),placeholder:e.kind===`skill`?`.claude/skills/name or registry slug`:e.kind===`hook`?`.claude/hooks/name or registry slug`:`.relay/plugins/name or registry slug`,className:`font-mono text-xs`}),(0,V.jsx)(L,{type:`button`,variant:`outline`,size:`sm`,className:`h-8 text-xs`,onClick:e.onAddManual,children:`Add ref`})]})]})}function Dm(e){return(0,V.jsxs)(`div`,{children:[(0,V.jsxs)(`div`,{className:`mb-1.5 flex items-center justify-between`,children:[(0,V.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground`,children:`MCP from registry`}),!e.readOnly&&(0,V.jsxs)(L,{type:`button`,variant:`outline`,size:`sm`,className:`h-6 gap-1 text-xs`,onClick:e.onAddClick,children:[(0,V.jsx)(h,{className:`h-3 w-3`}),`Add MCP`]})]}),e.mcpKeys.length===0&&!e.adding&&(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`No MCP servers from registry`}),e.mcpKeys.map(t=>(0,V.jsxs)(`div`,{className:`mb-1 flex items-center gap-2 rounded border border-border bg-card/60 px-2 py-1`,children:[(0,V.jsx)(I,{variant:`outline`,className:`border-emerald-500/30 bg-emerald-500/10 text-[10px] text-emerald-400`,children:`mcp`}),(0,V.jsx)(bm,{source:`profile`}),(0,V.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-xs`,children:t}),!e.readOnly&&(0,V.jsx)(L,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`h-5 w-5`,onClick:()=>e.onRemove(t),children:(0,V.jsx)(Fe,{className:`h-3 w-3`})})]},t)),e.adding&&(0,V.jsxs)(`div`,{className:`mt-1.5 space-y-2 rounded border border-border bg-card/60 p-2`,children:[e.loading&&(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`Loading...`}),e.fetchError&&(0,V.jsx)(`div`,{className:`text-xs text-destructive`,children:e.fetchError}),!e.loading&&e.caps.length===0&&!e.fetchError&&(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`No MCP capabilities in registry`}),e.caps.length>0&&(0,V.jsx)(`div`,{className:`max-h-44 space-y-0.5 overflow-y-auto rounded border border-border/60 bg-background/40 p-1`,children:e.caps.map(t=>(0,V.jsxs)(`button`,{type:`button`,onClick:()=>e.onAddMcp(t),className:`w-full rounded px-2 py-1 text-left font-mono text-xs hover:bg-accent focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,children:[t.capability.slug,t.capability.title?` - ${t.capability.title}`:``,t.variants.length>0&&(0,V.jsxs)(`span`,{className:`ml-2 text-muted-foreground`,children:[`(`,Cm(t),`)`]})]},t.capability.id))}),(0,V.jsx)(L,{type:`button`,variant:`ghost`,size:`sm`,className:`mt-1 h-6 text-xs`,onClick:e.onCancel,children:`Cancel`})]})]})}function Om(e){let t=Nt();return e&&e!==`any`&&t.includes(e)?e:t[0]??``}function km({profile:e}){let[t,n]=(0,B.useState)(()=>Om(e.provider)),[r,i]=(0,B.useState)(null),[a,o]=(0,B.useState)(!1),[s,c]=(0,B.useState)(null);async function l(r=t){if(e.name.trim()){o(!0),c(null);try{let t=await A(`GET`,`/agent-profiles/${encodeURIComponent(e.name)}/resolved?provider=${encodeURIComponent(r)}`);n(t.provider),i(t.profile.provisioning??{skills:[],plugins:[],mcpServers:{}})}catch(e){c(Mt(e)),i(null)}finally{o(!1)}}}let u=e.relay.tools?.groups??[],d=u.length?`custom: ${u.join(`, `)}`:`full access (all groups)`,f=Object.keys(r?.mcpServers??{});return(0,V.jsxs)(`div`,{className:`space-y-3`,children:[(0,V.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,V.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,V.jsx)($,{children:`Provider`}),(0,V.jsx)(vm,{value:t,onChange:e=>{n(e),l(e)},options:Nt().map(e=>({value:e,label:At(e)}))})]}),(0,V.jsx)(L,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>void l(),disabled:a||!e.name.trim(),children:a?`Resolving...`:`Resolve`})]}),s&&(0,V.jsx)(`div`,{className:`rounded border border-destructive/40 bg-destructive/10 px-2 py-1 text-xs text-destructive`,children:s}),(0,V.jsxs)(`div`,{className:`rounded border border-border bg-muted/20 p-2`,children:[(0,V.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground`,children:`Relay tool surface`}),(0,V.jsx)(`div`,{className:`mt-1 font-mono text-xs`,children:d})]}),!r&&!s&&(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`Resolve this profile to inspect materialized provisioning.`}),r&&(0,V.jsxs)(`div`,{className:`grid gap-2`,children:[(0,V.jsx)(Am,{title:`Skills`,values:r.skills.map(e=>e.name),empty:`No resolved skills`}),(0,V.jsx)(Am,{title:`Plugins`,values:r.plugins.map(e=>e.name),empty:`No resolved plugins`}),(0,V.jsx)(Am,{title:`Hooks`,values:(r.hooks??[]).map(e=>e.tier===`baseline`?`${e.name} (baseline)`:e.name),empty:`No resolved hooks`}),(0,V.jsx)(Am,{title:`MCP Servers`,values:f,empty:`No resolved MCP servers`}),(r.skipped?.length??0)>0&&(0,V.jsxs)(`div`,{className:`rounded border border-amber-500/30 bg-amber-500/10 p-2`,children:[(0,V.jsx)(`div`,{className:`text-xs font-medium text-amber-300`,children:`Skipped`}),(0,V.jsx)(`div`,{className:`mt-1 space-y-1`,children:r.skipped.map(e=>(0,V.jsxs)(`div`,{className:`text-xs`,children:[(0,V.jsxs)(`span`,{className:`font-mono`,children:[e.kind,`:`,e.ref]}),(0,V.jsxs)(`span`,{className:`text-muted-foreground`,children:[` - `,e.detail]})]},`${e.kind}:${e.ref}:${e.reason}`))})]})]})]})}function Am({title:e,values:t,empty:n}){return(0,V.jsxs)(`div`,{className:`rounded border border-border bg-card/60 p-2`,children:[(0,V.jsx)(`div`,{className:`mb-1 text-xs font-medium text-muted-foreground`,children:e}),t.length===0?(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:n}):(0,V.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:t.map((e,t)=>(0,V.jsx)(I,{variant:`outline`,className:`font-mono text-[10px]`,children:e},`${e}:${t}`))})]})}function jm({title:e,children:t,defaultOpen:n=!0}){let[r,i]=(0,B.useState)(n);return(0,V.jsxs)(`div`,{className:`border border-border rounded-md`,children:[(0,V.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,V.jsx)(ue,{className:`h-3.5 w-3.5`}):(0,V.jsx)(s,{className:`h-3.5 w-3.5`}),e]}),r&&(0,V.jsx)(`div`,{className:`space-y-3 border-t border-border px-3 py-3`,children:t})]})}function Mm({value:e,onChange:t,options:n,disabled:r}){return(0,V.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,V.jsx)(`option`,{value:e.value,children:e.label},e.value))})}function Nm({env:e,onChange:t,disabled:n}){let r=Object.entries(e),[i,a]=(0,B.useState)(``),[o,s]=(0,B.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,V.jsxs)(`div`,{className:`space-y-1.5`,children:[r.map(([e,t])=>(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,V.jsxs)(`code`,{className:`min-w-0 flex-1 truncate rounded bg-muted px-2 py-1 text-xs`,children:[e,`=`,t]}),!n&&(0,V.jsx)(L,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`h-6 w-6 shrink-0`,onClick:()=>l(e),children:(0,V.jsx)(Fe,{className:`h-3 w-3`})})]},e)),!n&&(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,V.jsx)(R,{value:i,onChange:e=>a(e.target.value),placeholder:`KEY`,className:`flex-1 text-xs font-mono`}),(0,V.jsx)(R,{value:o,onChange:e=>s(e.target.value),placeholder:`value`,className:`flex-1 text-xs font-mono`,onKeyDown:e=>e.key===`Enter`&&c()}),(0,V.jsx)(L,{type:`button`,variant:`outline`,size:`icon-sm`,className:`h-8 w-8 shrink-0`,onClick:c,children:(0,V.jsx)(h,{className:`h-3 w-3`})})]}),r.length===0&&n&&(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`No environment variables`})]})}var Pm=[{value:`host`,label:`Host — full access, relay-aware`},{value:`minimal`,label:`Minimal — relay disabled, repo-scoped`},{value:`isolated`,label:`Isolated — strict isolation`},{value:`vanilla`,label:`Vanilla — zero host bleed (plugins/skills/hooks/MCP/CLAUDE.md off)`}],Fm=[{value:`any`,label:`Any provider`},...Nt().map(e=>({value:e,label:At(e)}))],Im=[{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`}],Lm=[{value:`host`,label:`Host — full filesystem`},{value:`workspace`,label:`Workspace — working directory tree`},{value:`repo`,label:`Repo — repository root only`}],Rm=[{value:`allow`,label:`Allow`},{value:`ignore`,label:`Ignore`}],zm=[{value:``,label:`Default`},{value:`open`,label:`Open — allow all`},{value:`guarded`,label:`Guarded — prompt for risky`},{value:`read-only`,label:`Read-only`}],Bm={context:`Injects relay's context preamble each turn (memory + situational awareness).`,skills:`Makes the bundled Agent Relay skills available to the agent.`,plugins:`Loads the bundled Agent Relay Claude plugin (session registration, approval hooks).`,statusLine:`Enables the relay status-line probe (quota + context-window reporting).`,mcp:`Master switch for relay's own MCP tools (relay_* — messaging, memory, spawn, etc.). One of three independent MCP sources, alongside Project MCP (the project's .mcp.json) and MCP Mode (the host's ambient MCP).`},Vm={context:`Context`,skills:`Skills`,plugins:`Plugins`,statusLine:`Status Line`,mcp:`MCP Tools`};function Hm({values:e,onChange:t,disabled:n,placeholder:r}){let[i,a]=(0,B.useState)(``);function o(){let n=i.trim();n&&(t([...e,n]),a(``))}function s(n,r){t(e.map((e,t)=>t===n?r:e))}function c(n){t(e.filter((e,t)=>t!==n))}return(0,V.jsxs)(`div`,{className:`space-y-1.5`,children:[e.map((e,t)=>(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,V.jsx)(R,{value:e,onChange:e=>s(t,e.target.value),disabled:n,className:`flex-1 text-xs`}),!n&&(0,V.jsx)(L,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`h-6 w-6 shrink-0`,onClick:()=>c(t),children:(0,V.jsx)(Fe,{className:`h-3 w-3`})})]},`${e}-${t}`)),!n&&(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,V.jsx)(R,{value:i,onChange:e=>a(e.target.value),placeholder:r,className:`flex-1 text-xs`,onKeyDown:e=>e.key===`Enter`&&o()}),(0,V.jsx)(L,{type:`button`,variant:`outline`,size:`icon-sm`,className:`h-8 w-8 shrink-0`,onClick:o,children:(0,V.jsx)(h,{className:`h-3 w-3`})})]}),e.length===0&&n&&(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:`None`})]})}function Um(){let{open:e,mode:t,profile:n,relayToolsMode:r}=M(e=>e.profileModal),i=M(e=>e.closeProfileModal),a=M(e=>e.updateProfileModal),o=M(e=>e.setRelayToolsMode),s=M(e=>e.toolGroupCatalog),c=M(e=>e.toolGroupCatalogStatus),l=M(e=>e.fetchToolGroupCatalog),u=M(e=>e.saveProfile),d=t===`view`,f=t===`create`||t===`duplicate`,p=t===`view`?`Profile: ${n.name}`:t===`edit`?`Edit: ${n.name}`:t===`duplicate`?`Duplicate Profile`:`Create Profile`;function m(e){a({instructions:{...n.instructions,...e}})}function h(e){a({relay:{...n.relay,...e}})}function g(e,t){let r=n.relay.tools?.groups??[],i=t?[...new Set([...r,e])]:r.filter(t=>t!==e);h({tools:i.length?{groups:i}:void 0})}let _=n.relay.tools?.groups??[],v=s.reduce((e,t)=>e+t.tools.length,0),y=c.loading||!c.loaded&&s.length===0,b=!y&&(!!c.error||s.length===0);function x(e){a({projectMcp:_m(e)})}function S(e){a({projectSkills:_m(e)})}function C(e){a({projectSettings:_m(e)})}function ee(e){a({sharedMcp:_m(e)})}function w(e){a({permissions:{...n.permissions,...e}})}function te(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}a({providerOptions:{...t,codex:r}})}function T(e){if(!e.trim()){a({maxSpawnedAgents:void 0});return}let t=Number(e);!Number.isInteger(t)||t<0||a({maxSpawnedAgents:Math.min(t,100)})}function ne(e){let t=e===`host`;a({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 re=n.providerOptions?.codex&&typeof n.providerOptions.codex==`object`&&!Array.isArray(n.providerOptions.codex)?n.providerOptions.codex:{},ie=Number.isSafeInteger(re.toolOutputTokenLimit)?String(re.toolOutputTokenLimit):``;return(0,V.jsx)(Pp,{open:e,onOpenChange:e=>!e&&i(),children:(0,V.jsxs)(Lp,{className:`max-w-2xl max-h-[90vh] overflow-y-auto`,children:[(0,V.jsx)(Rp,{children:(0,V.jsxs)(Bp,{className:`flex items-center gap-2`,children:[p,n.builtIn&&(0,V.jsx)(I,{variant:`secondary`,className:`text-[10px]`,children:`Built-in`})]})}),(0,V.jsxs)(`div`,{className:`space-y-3`,children:[(0,V.jsxs)(jm,{title:`General`,defaultOpen:!0,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Name`}),(0,V.jsx)(R,{value:n.name,onChange:e=>a({name:e.target.value}),placeholder:`my-profile`,disabled:d||t===`edit`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Description`}),(0,V.jsx)(R,{value:n.description||``,onChange:e=>a({description:e.target.value}),placeholder:`What this profile configures`,disabled:d})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(um,{tip:`Emoji shown across the dashboard wherever an agent on this profile appears (conversation rows, agent cards, chat header). A single emoji; leave blank for a neutral marker.`,children:`Icon`}),(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsx)(R,{value:n.icon||``,onChange:e=>a({icon:e.target.value}),placeholder:`🤖`,maxLength:8,disabled:d,className:`w-24 text-center text-base`}),(0,V.jsx)(`span`,{className:`text-2xl leading-none`,"aria-hidden":!0,children:n.icon?.trim()||`•`})]})]}),(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Base`}),(0,V.jsx)(Mm,{value:n.base,onChange:e=>ne(e),options:Pm,disabled:d})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Provider`}),(0,V.jsx)(Mm,{value:n.provider||`any`,onChange:e=>a({provider:e}),options:Fm,disabled:d})]})]})]}),(0,V.jsxs)(jm,{title:`Instructions`,defaultOpen:!1,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`System Prompt`}),(0,V.jsx)(Zd,{value:n.instructions.system||``,onChange:e=>m({system:e.target.value}),placeholder:`Custom system prompt...`,rows:3,disabled:d,className:`font-mono text-xs`})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Append Instructions`}),(0,V.jsx)(Hm,{values:n.instructions.append??[],onChange:e=>m({append:e}),disabled:d,placeholder:`Append instruction fragment`})]}),(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Repo Instructions`}),(0,V.jsx)(Mm,{value:n.instructions.repoInstructions,onChange:e=>m({repoInstructions:e}),options:Rm,disabled:d})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Global Instructions`}),(0,V.jsx)(Mm,{value:n.instructions.globalInstructions,onChange:e=>m({globalInstructions:e}),options:Rm,disabled:d})]})]})]}),(0,V.jsxs)(jm,{title:`Relay Integration`,defaultOpen:!1,children:[(0,V.jsxs)(`p`,{className:`rounded border border-border bg-muted/20 px-2 py-1.5 text-xs text-muted-foreground`,children:[`MCP comes from three independent sources — relay (`,(0,V.jsx)(`span`,{className:`font-medium text-foreground`,children:`MCP Tools`}),` below), the project (`,(0,V.jsx)(`span`,{className:`font-medium text-foreground`,children:`Project MCP`}),` in Provisioning Policies), and the host (`,(0,V.jsx)(`span`,{className:`font-medium text-foreground`,children:`MCP Mode`}),` in MCP & Hooks). Toggle each separately and mix freely.`]}),(0,V.jsx)(`div`,{className:`grid grid-cols-2 gap-3`,children:[`context`,`skills`,`plugins`,`statusLine`,`mcp`].map(e=>(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,V.jsx)(um,{tip:Bm[e],children:Vm[e]}),(0,V.jsx)(jl,{checked:n.relay[e]??!0,onCheckedChange:t=>h({[e]:t}),disabled:d})]},e))}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(um,{tip:`Which relay MCP tools this agent can call. Full access grants every tool relay exposes; Custom restricts the agent to only the selected groups. Sourced live from the server's tool-group registry, so it can't drift out of date.`,children:`Relay Tool Groups`}),(0,V.jsxs)(`div`,{className:`mt-1 flex overflow-hidden rounded-md border border-input text-xs`,children:[(0,V.jsx)(`button`,{type:`button`,className:`flex-1 px-2 py-1.5 font-medium transition-colors ${r===`full`?`bg-primary text-primary-foreground`:`bg-background hover:bg-accent`}`,onClick:()=>o(`full`),disabled:d,children:`Full access — all tools`}),(0,V.jsx)(`button`,{type:`button`,className:`flex-1 border-l border-input px-2 py-1.5 font-medium transition-colors ${r===`custom`?`bg-primary text-primary-foreground`:`bg-background hover:bg-accent`}`,onClick:()=>o(`custom`),disabled:d,children:`Custom — selected groups`})]}),r===`full`&&(0,V.jsxs)(`p`,{className:`mt-1.5 text-xs text-muted-foreground`,children:[`Every relay MCP tool is available — `,v,` tools across `,s.length,` groups.`]}),r===`custom`&&(0,V.jsxs)(V.Fragment,{children:[y?(0,V.jsx)(`div`,{className:`mt-1.5 rounded border border-border bg-muted/20 px-2 py-2 text-xs text-muted-foreground`,children:`Loading tool groups…`}):b?(0,V.jsxs)(`div`,{className:`mt-1.5 flex items-center justify-between gap-2 rounded border border-destructive/40 bg-destructive/10 px-2 py-2 text-xs text-destructive`,children:[(0,V.jsx)(`span`,{children:`Couldn't load tool groups (is the server up to date?)`}),(0,V.jsxs)(L,{type:`button`,variant:`outline`,size:`sm`,className:`h-7 gap-1 px-2 text-xs`,onClick:()=>void l(),disabled:c.loading,children:[(0,V.jsx)(oe,{className:`h-3 w-3 ${c.loading?`animate-spin`:``}`}),`Retry`]})]}):(0,V.jsx)(`div`,{className:`mt-1.5 grid grid-cols-2 gap-1.5`,children:s.map(e=>(0,V.jsxs)(`label`,{className:`flex items-center gap-1.5 rounded border border-border px-2 py-1 text-xs`,children:[(0,V.jsx)(`input`,{type:`checkbox`,className:`rounded`,checked:_.includes(e.name),onChange:t=>g(e.name,t.target.checked),disabled:d}),(0,V.jsx)(`span`,{className:`flex-1 truncate font-mono`,children:e.name}),(0,V.jsx)(lm,{children:(0,V.jsx)(`div`,{className:`font-mono text-[11px] leading-relaxed`,children:e.tools.join(`, `)})})]},e.name))}),!y&&!b&&(_.length===0?(0,V.jsx)(`p`,{className:`mt-1.5 text-xs text-amber-400`,children:`No groups selected yet — until you pick at least one, this profile keeps full tool access.`}):(0,V.jsxs)(`p`,{className:`mt-1.5 text-xs text-muted-foreground`,children:[_.length,` of `,s.length,` groups selected.`]}))]})]})]}),(0,V.jsx)(jm,{title:`MCP & Hooks`,defaultOpen:!1,children:(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(um,{tip:`The host's ambient MCP servers (your rig's configured MCP). Host = inherit them; None = no host MCP (clean, no bleed). Separate from relay's own MCP and the project's MCP.`,children:`MCP Mode`}),(0,V.jsx)(Mm,{value:n.mcp.mode,onChange:e=>a({mcp:{...n.mcp,mode:e}}),options:Im,disabled:d})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(um,{tip:`The host's hook configuration. Host = inherit it; None = no host hooks.`,children:`Hooks Mode`}),(0,V.jsx)(Mm,{value:n.hooks.mode,onChange:e=>a({hooks:{...n.hooks,mode:e}}),options:Im,disabled:d})]})]})}),(0,V.jsx)(jm,{title:`Provisioning Policies`,defaultOpen:!1,children:(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)(um,{tip:`Injects the MCP servers declared in the spawn directory's project .mcp.json, via relay's controlled config path (survives --strict-mcp-config, no trust modal). All = every declared server. This is the project's MCP source — distinct from relay's MCP Tools and the host's MCP Mode.`,children:`Project MCP`}),(0,V.jsx)(Mm,{value:gm(n.projectMcp),onChange:x,options:dm,disabled:d})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(um,{tip:`Injects skills committed under the project's .claude/skills.`,children:`Project Skills`}),(0,V.jsx)(Mm,{value:gm(n.projectSkills),onChange:S,options:dm,disabled:d})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(um,{tip:`Injects the project's .claude/settings.json (permission/security keys stripped).`,children:`Project Settings`}),(0,V.jsx)(Mm,{value:gm(n.projectSettings),onChange:C,options:fm,disabled:d})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)(um,{tip:`Routes the agent's non-identity MCP through one shared orchestrator listener so the MCP session survives restarts and keeps correct worktree-cwd routing. A transport choice, not a source selector.`,children:`Shared MCP`}),(0,V.jsx)(Mm,{value:gm(n.sharedMcp),onChange:ee,options:dm,disabled:d})]}),(0,V.jsxs)(`div`,{className:`col-span-2`,children:[(0,V.jsx)(um,{tip:`How the agent's isolated branch lands: Direct (rebase/FF), Pull request, or the instance default.`,children:`Landing Strategy`}),(0,V.jsx)(Mm,{value:n.landingStrategy??``,onChange:e=>a({landingStrategy:e||void 0}),options:pm,disabled:d})]})]})}),(0,V.jsx)(jm,{title:`Permissions`,defaultOpen:!1,children:(0,V.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Approval Mode`}),(0,V.jsx)(Mm,{value:n.permissions.mode||``,onChange:e=>w({mode:e||void 0}),options:zm,disabled:d})]}),(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Filesystem Scope`}),(0,V.jsx)(Mm,{value:n.permissions.filesystem,onChange:e=>w({filesystem:e}),options:Lm,disabled:d})]})]})}),(0,V.jsx)(jm,{title:`Spawning`,defaultOpen:!1,children:(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Spawn Quota`}),(0,V.jsx)(R,{type:`number`,min:0,max:100,step:1,value:n.maxSpawnedAgents===void 0?``:String(n.maxSpawnedAgents),onChange:e=>T(e.target.value),placeholder:`0`,disabled:d}),(0,V.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,V.jsx)(jm,{title:`Environment Variables`,defaultOpen:!1,children:(0,V.jsx)(Nm,{env:n.env||{},onChange:e=>a({env:e}),disabled:d})}),(0,V.jsx)(jm,{title:`Registry Capabilities`,defaultOpen:!1,children:(0,V.jsx)(xm,{skills:n.skills??[],plugins:n.plugins??[],hooks:n.hooks.refs??[],mcp:n.mcp,onChangeSkills:e=>a({skills:e}),onChangePlugins:e=>a({plugins:e}),onChangeHooks:e=>a({hooks:{...n.hooks,refs:e}}),onChangeMcp:e=>a({mcp:e}),projectMcp:n.projectMcp,projectSkills:n.projectSkills,projectSettings:n.projectSettings,sharedMcp:n.sharedMcp,readOnly:d})}),(0,V.jsx)(jm,{title:`Resolved Provisioning`,defaultOpen:t===`view`,children:(0,V.jsx)(km,{profile:n})}),(0,V.jsxs)(jm,{title:`Provider Options`,defaultOpen:!1,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsx)($,{children:`Codex Tool Output Limit`}),(0,V.jsx)(R,{type:`number`,min:1e3,max:2e5,value:ie,onChange:e=>te(e.target.value),placeholder:`12000`,disabled:d})]}),(0,V.jsx)(Zd,{value:JSON.stringify(n.providerOptions||{},null,2),onChange:e=>{try{a({providerOptions:JSON.parse(e.target.value)})}catch{}},rows:3,disabled:d,className:`font-mono text-xs`,placeholder:`{}`})]})]}),!d&&(0,V.jsxs)(zp,{children:[(0,V.jsx)(L,{variant:`outline`,onClick:i,children:`Cancel`}),(0,V.jsx)(L,{onClick:u,children:f?`Create`:`Save`})]})]})})}function Wm(){let e=M(e=>e.commandPaletteOpen),t=M(e=>e.commandQuery),n=M(e=>e.set),r=M(e=>e.closeCommandPalette),i=M(e=>e.runCommand),a=kl(),o=(0,B.useRef)(null);return(0,B.useEffect)(()=>{e&&setTimeout(()=>o.current?.focus(),50)},[e]),e?(0,V.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-start justify-center pt-[15vh]`,onClick:e=>{e.target===e.currentTarget&&r()},children:[(0,V.jsx)(`div`,{className:`fixed inset-0 bg-black/60`}),(0,V.jsxs)(`div`,{className:`relative w-full max-w-lg bg-card border border-border rounded-xl shadow-2xl overflow-hidden`,children:[(0,V.jsx)(`div`,{className:`p-3 border-b border-border`,children:(0,V.jsx)(R,{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,V.jsxs)(`div`,{className:`max-h-80 overflow-y-auto p-2`,children:[a.map(e=>(0,V.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,V.jsx)(ut[e.icon]||s,{className:`w-4 h-4 text-muted-foreground shrink-0`}),(0,V.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,V.jsx)(`div`,{className:`text-sm`,children:e.title}),e.subtitle&&(0,V.jsx)(`div`,{className:`text-xs text-muted-foreground truncate`,children:e.subtitle})]})]},e.id)),a.length===0&&(0,V.jsx)(`p`,{className:`text-sm text-muted-foreground text-center py-4`,children:`No matching commands.`})]})]})]}):null}function Gm(){let e=M(e=>e.set),t=M(e=>e.connected);return(0,V.jsxs)(`div`,{className:`xl:hidden shrink-0 sticky top-0 z-30 bg-card border-b border-border px-4 h-[var(--header-h)] flex items-center gap-3`,children:[(0,V.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,V.jsx)(lt,{className:`w-5 h-5`})}),(0,V.jsx)(bt,{className:`w-4 h-4 text-primary`}),(0,V.jsx)(`span`,{className:`font-bold text-sm`,children:`Agent Relay`}),(0,V.jsx)(`span`,{className:`ml-auto w-2 h-2 rounded-full ${t?`bg-emerald-500`:`bg-red-500 animate-pulse`}`})]})}function Km(e){return e===`five_hour`?`5h burst`:e===`seven_day`?`7-day`:e===`seven_day_sonnet`?`7-day Sonnet`:e===`seven_day_opus`?`7-day Opus`:e===`primary`?`Primary`:e===`secondary`?`Secondary`:e}function qm(e,t){if(!t)return``;let n=Math.max(0,(t-e)/1e3);if(n<60)return`${Math.floor(n)}s`;if(n<3600)return`${Math.floor(n/60)}m`;if(n<86400){let e=Math.floor(n/3600),t=Math.round(n%3600/60);return t===60?`${e+1}h`:t>0?`${e}h ${t}m`:`${e}h`}let r=Math.floor(n/86400),i=Math.round(n%86400/3600);return i===24?`${r+1}d`:i>0?`${r}d ${i}h`:`${r}d`}function Jm(e,t){if(!t)return``;let n=Math.max(0,(t-e)/1e3);return n<3600?`${Math.floor(n/60)}m`:n<86400?`${Math.round(n/3600)}h`:`${(n/86400).toFixed(1).replace(/\.0$/,``)}d`}var Ym=`agent-relay:quota-widget`,Xm=300*1e3,Zm=8;function Qm(e){return!e.quota&&e.lastError?.type===`unavailable`}function $m(e,t){let n=t===`5h`?[`five_hour`,`primary`]:[`seven_day`,`secondary`];return e.quota?.windows.find(e=>n.includes(e.name))}function eh({record:e,now:t,advisory:n}){let r=(0,V.jsx)(ar,{provider:e.provider,className:`w-3.5 h-3.5`});if(Qm(e))return(0,V.jsxs)(`span`,{className:`flex items-center gap-1 shrink-0 text-muted-foreground`,children:[r,(0,V.jsx)(`span`,{className:`italic`,children:`unavailable`})]});if(!e.quota){let n=e.lastAttemptAt?N(t,e.lastAttemptAt):``,i=e.lastError?.retryAfterMs,a=i==null?null:Math.ceil(Math.max(0,(e.lastAttemptAt+i-t)/1e3));return(0,V.jsxs)(`span`,{className:`flex items-center gap-1 shrink-0 text-muted-foreground`,children:[r,n&&(0,V.jsx)(`span`,{children:n}),a!=null&&a>0&&(0,V.jsxs)(`span`,{className:`text-amber-400/70`,children:[`~`,a,`s`]})]})}let i=$m(e,`5h`),a=$m(e,`7d`);function o(e){if(!e)return null;let n=Math.round(e.utilization*100),r=Jm(t,e.resetsAt);return(0,V.jsxs)(`span`,{className:`tabular-nums`,children:[n,`%`,r?`/${r}`:``]})}let s=(e.stale||e.lastError)&&e.lastAttemptAt?N(t,e.lastAttemptAt):``;return(0,V.jsxs)(`span`,{className:`flex items-center gap-1.5 shrink-0 text-foreground/70`,children:[r,(0,V.jsx)(oh,{advisory:n}),o(i),o(a),s&&(0,V.jsx)(`span`,{className:`text-muted-foreground/70`,children:s})]})}function th(){try{let e=localStorage.getItem(Ym);return{open:!0,pinned:!1,...e?JSON.parse(e):{}}}catch{return{open:!0,pinned:!1}}}function nh(e){try{localStorage.setItem(Ym,JSON.stringify(e))}catch{}}function rh(){let[{open:e,pinned:t},n]=(0,B.useState)(th),[r,i]=(0,B.useState)(null),[a,o]=(0,B.useState)(null),[c,l]=(0,B.useState)(null),[u,d]=(0,B.useState)(`loading`),f=Ot(),p=M(e=>e.connected);(0,B.useEffect)(()=>{if(!p)return;let e=!1;async function t(){try{let[t,n,r]=await Promise.all([A(`GET`,`/provider-quotas`),A(`GET`,`/providers/quota-config`).catch(()=>null),A(`GET`,`/provider-quotas/advisory`).catch(()=>null)]);e||(i(t),o(n),l(r),d(`ok`))}catch{e||d(`error`)}}t();let n=setInterval(()=>void t(),Xm);return()=>{e=!0,clearInterval(n)}},[p,M(e=>e.quotaSeq)]);let h=e||t,g=(r?.quotas??[]).filter(e=>a?.[e.provider]?.showInWidget!==!1),_=g.some(e=>e.stale&&!Qm(e)),v=g.some(e=>e.lastError&&!Qm(e));function y(){if(t)return;let r={open:!e,pinned:t};n(r),nh(r)}function b(){let r=t?{open:e,pinned:!1}:{open:!0,pinned:!0};n(r),nh(r)}return(0,V.jsxs)(`div`,{className:`shrink-0 border-b border-border`,children:[(0,V.jsxs)(`div`,{className:`w-full flex items-center gap-2 px-4 py-2 text-xs hover:bg-muted/30 transition-colors`,children:[(0,V.jsxs)(`button`,{type:`button`,onClick:y,"aria-expanded":h,className:`min-w-0 flex flex-1 items-center gap-2 text-left`,children:[(0,V.jsx)(s,{className:`w-3.5 h-3.5 shrink-0 text-muted-foreground transition-transform ${h?`rotate-90`:``}`}),(0,V.jsx)(`span`,{className:`font-semibold text-foreground/80 shrink-0 ${h?``:`hidden sm:inline`}`,children:`Provider Quotas`}),u===`loading`&&(0,V.jsx)(Je,{className:`w-3 h-3 text-muted-foreground animate-spin`}),u===`error`&&(0,V.jsx)(`span`,{className:`text-amber-400 text-[10px]`,children:`● unavailable`}),!h&&u===`ok`&&g.length>0&&(0,V.jsx)(`div`,{className:`flex min-w-0 flex-1 flex-wrap items-center gap-x-3 gap-y-0.5 text-[10px]`,children:g.map(e=>(0,V.jsx)(eh,{record:e,now:f,advisory:c?.advisories[e.provider]},`${e.provider}:${e.accountKey}`))}),h&&_&&(0,V.jsx)(`span`,{className:`text-amber-400 text-[10px]`,children:`● stale`}),h&&v&&(0,V.jsx)(`span`,{className:`text-red-400 text-[10px]`,children:`● error`})]}),(0,V.jsx)(`button`,{type:`button`,onClick:b,"aria-pressed":t,title:t?`Unpin`:`Pin always-on`,className:`p-0.5 rounded hover:bg-muted transition-colors ${t?`text-primary`:`text-muted-foreground/50 hover:text-muted-foreground`}`,children:(0,V.jsx)(m,{className:`w-3 h-3`})})]}),h&&(0,V.jsxs)(`div`,{className:`px-4 py-3`,children:[u===`loading`&&(0,V.jsxs)(`p`,{className:`text-xs text-muted-foreground flex items-center gap-1.5`,children:[(0,V.jsx)(Je,{className:`w-3 h-3 animate-spin`}),`Loading quota data…`]}),u===`error`&&(0,V.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Quota data unavailable — check that you are authenticated and the server is reachable.`}),u===`ok`&&r!==null&&g.length===0&&(0,V.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No quota data yet — waiting for runner to report.`}),u===`ok`&&r!==null&&g.length>0&&(0,V.jsx)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-3`,children:g.map(e=>{let t=a?.[e.provider],n={enabled:t?.sparklineEnabled??!0,rangeHours:t?.sparklineRangeHours??Zm};return(0,V.jsx)(uh,{record:e,now:f,advisory:c?.advisories[e.provider],sparklineCfg:n},`${e.provider}:${e.accountKey}`)})})]})]})}var ih={prefer:{icon:ht,badge:`text-emerald-400 bg-emerald-500/10 border-emerald-500/20`,dot:`bg-emerald-400`},caution:{icon:he,badge:`text-amber-400 bg-amber-500/10 border-amber-500/20`,dot:`bg-amber-400`},"avoid-large":{icon:he,badge:`text-orange-400 bg-orange-500/10 border-orange-500/20`,dot:`bg-orange-400`},"hard-avoid":{icon:ze,badge:`text-red-400 bg-red-500/10 border-red-500/20`,dot:`bg-red-400`}};function ah({advisory:e}){if(!e)return null;if(e.blockedNow)return(0,V.jsxs)(`span`,{className:`inline-flex items-center gap-0.5 text-[9px] font-medium text-red-400 bg-red-500/10 border border-red-500/20 rounded px-1 py-0.5 shrink-0`,children:[(0,V.jsx)(ze,{className:`w-2.5 h-2.5`}),`at capacity`]});let t=e.quotaPenaltyBand;if(t===`normal`)return null;let n=ih[t],r=n.icon;return(0,V.jsxs)(`span`,{className:`inline-flex items-center gap-0.5 text-[9px] font-medium ${n.badge} border rounded px-1 py-0.5 shrink-0`,children:[(0,V.jsx)(r,{className:`w-2.5 h-2.5`}),t]})}function oh({advisory:e}){if(!e)return null;if(e.blockedNow)return(0,V.jsx)(`span`,{className:`inline-block w-1.5 h-1.5 rounded-full bg-red-500 shrink-0`,title:`at capacity`});let t=e.quotaPenaltyBand;return t===`normal`?null:(0,V.jsx)(`span`,{className:`inline-block w-1.5 h-1.5 rounded-full ${ih[t].dot} shrink-0`,title:t})}function sh(e,t){if(!e||e.confidence===`low`||e.burnRatio===null)return null;let n=e.burnRatio.toFixed(1);return!e.earlyWallMs||e.earlyWallMs<=0?`${n}× rate`:`${n}× · ~${qm(t,t+e.earlyWallMs)} before reset`}function ch({burnWindow:e,now:t}){if(!e)return null;if(e.confidence===`low`||e.burnRatio===null)return(0,V.jsxs)(`div`,{className:`flex items-center gap-1 text-[9px] text-muted-foreground/50`,children:[(0,V.jsx)(Ge,{className:`w-2.5 h-2.5 shrink-0`}),(0,V.jsx)(`span`,{className:`italic`,children:`building burn history…`})]});let n=sh(e,t);return n?(0,V.jsxs)(`div`,{className:`flex items-center gap-1 text-[9px] text-muted-foreground/70 tabular-nums`,children:[(0,V.jsx)(he,{className:`w-2.5 h-2.5 shrink-0`}),(0,V.jsx)(`span`,{children:n})]}):null}function lh({provider:e,windowName:t,rangeHours:n}){let[r,i]=(0,B.useState)([]);Ot(),(0,B.useEffect)(()=>{let r=!1,a=Date.now()-n*36e5;return A(`GET`,`/provider-quotas/history?provider=${encodeURIComponent(e)}&sinceMs=${a}&limit=500`).then(e=>{r||i(e.filter(e=>!!e.quota).map(e=>{let n=e.quota.windows.find(e=>e.name===t);return n?{t:e.capturedAt,v:n.utilization}:null}).filter(Boolean))}).catch(()=>{}),()=>{r=!0}},[e,t,n]);let a=(0,B.useMemo)(()=>{if(r.length<2)return null;let e=r[0].t,t=r[r.length-1].t-e||1;return r.map(n=>{let r=1+(n.t-e)/t*118,i=1+(1-n.v)*22;return`${r.toFixed(1)},${i.toFixed(1)}`}).join(` `)},[r]);if(!a)return null;let o=r.length>0?Math.round(r[r.length-1].v*100):0;return(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,V.jsx)(`svg`,{width:120,height:24,viewBox:`0 0 120 24`,className:`shrink-0`,children:(0,V.jsx)(`polyline`,{points:a,fill:`none`,stroke:o>=90?`#ef4444`:o>=70?`#f59e0b`:`#10b981`,strokeWidth:1.5,strokeLinecap:`round`,strokeLinejoin:`round`,opacity:.8})}),(0,V.jsxs)(`span`,{className:`text-[9px] text-muted-foreground tabular-nums`,children:[n,`h`]})]})}function uh({record:e,now:t,advisory:n,sparklineCfg:r}){let{provider:i,accountKey:a,quota:o,stale:s,lastError:c,lastUpdatedAt:l,lastAttemptAt:u}=e;if(Qm(e))return(0,V.jsxs)(`div`,{className:`rounded border border-border bg-muted/20 p-3 space-y-1.5 opacity-70`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,V.jsx)(ar,{provider:i,className:`w-3.5 h-3.5 text-muted-foreground`}),(0,V.jsx)(`span`,{className:`text-[9px] font-medium text-muted-foreground bg-muted border border-border rounded px-1 py-0.5 shrink-0`,children:`unavailable`})]}),(0,V.jsxs)(`p`,{className:`text-[10px] text-muted-foreground`,children:[`Quota unavailable — `,c?.message??`no readable credentials`]})]});let d=c?.retryAfterMs,f=d==null?null:Math.max(0,u+d-t),p=f==null?null:Math.ceil(f/1e3),m=(s||!!c)&&u>0;return(0,V.jsxs)(`div`,{className:`rounded border ${c?`border-red-500/30`:s?`border-amber-500/30`:`border-border`} bg-card p-3 space-y-2`,children:[(0,V.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,V.jsx)(ar,{provider:i,className:`w-3.5 h-3.5`}),(0,V.jsx)(`span`,{className:`text-[10px] text-muted-foreground font-mono truncate`,children:a})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-1 shrink-0`,children:[(0,V.jsx)(ah,{advisory:n}),s&&(0,V.jsx)(`span`,{className:`text-[9px] font-medium text-amber-400 bg-amber-500/10 border border-amber-500/20 rounded px-1 py-0.5`,children:`stale`}),c&&(0,V.jsx)(`span`,{className:`text-[9px] font-medium text-red-400 bg-red-500/10 border border-red-500/20 rounded px-1 py-0.5`,title:c.message,children:c.type===`rate_limited`?`429`:`err`})]})]}),o?(0,V.jsx)(`div`,{className:`space-y-1.5`,children:o.windows.map(n=>{let i=Math.round(n.utilization*100),a=i>=90?`bg-red-500`:i>=70?`bg-amber-500`:`bg-emerald-500`,o=n.resetsAt?qm(t,n.resetsAt):``,s=e.burn?.windows.find(e=>e.name===n.name);return(0,V.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,V.jsxs)(`div`,{className:`flex justify-between text-[10px] text-muted-foreground`,children:[(0,V.jsx)(`span`,{children:Km(n.name)}),(0,V.jsxs)(`span`,{children:[i,`%`,o?` · resets in ${o}`:``]})]}),(0,V.jsx)(`div`,{className:`h-1.5 rounded-full bg-muted overflow-hidden`,children:(0,V.jsx)(`div`,{className:`h-full ${a} transition-all duration-500`,style:{width:`${Math.max(0,Math.min(100,i))}%`}})}),(0,V.jsx)(ch,{burnWindow:s,now:t}),r?.enabled&&(0,V.jsx)(lh,{provider:e.provider,windowName:n.name,rangeHours:r.rangeHours})]},n.name)})}):(0,V.jsx)(`p`,{className:`text-[10px] text-muted-foreground italic`,children:c?c.message:`No quota data`}),(0,V.jsxs)(`div`,{className:`flex items-start justify-between gap-2 text-[10px] text-muted-foreground/60`,children:[(0,V.jsxs)(`div`,{className:`space-y-0.5 min-w-0`,children:[m&&(0,V.jsxs)(`div`,{children:[`Attempted `,N(t,u)]}),(0,V.jsx)(`div`,{children:l?`Updated ${N(t,l)}`:`Never updated`})]}),p!=null&&(0,V.jsx)(`span`,{className:`text-amber-400/70 shrink-0 mt-0.5`,children:p>0?`retry in ~${p>60?`${Math.ceil(p/60)}m`:`${p}s`}`:`retrying…`})]})]})}function dh(e){return(0,B.lazy)(()=>yr(e))}var fh=dh(()=>z(()=>import(`./overview-B0z8ZNtp.js`).then(e=>({default:e.OverviewView})),__vite__mapDeps([15,1,6,8,9,10,16,17,12,18]),import.meta.url)),ph=dh(()=>z(()=>import(`./chat-BAH9bEPx.js`).then(e=>({default:e.ChatView})),__vite__mapDeps([19,1,6,20,8,9,10,21,16,22,2,23,24,25,26,27,11,12,17,28,13]),import.meta.url)),mh=dh(()=>z(()=>import(`./agents-D8mc9X1j.js`).then(e=>({default:e.AgentsView})),__vite__mapDeps([29,1,30,31,6,12,32,20,33,34,35,36,37,8,9,10,16,26,27,11,17,18]),import.meta.url)),hh=dh(()=>z(()=>import(`./managed-agents-CLANxOAN.js`).then(e=>({default:e.ManagedAgentsView})),__vite__mapDeps([38,1,6,8,9,10,27,11,12,17]),import.meta.url)),gh=dh(()=>z(()=>import(`./teams-BrL4sEL7.js`).then(e=>({default:e.TeamsView})),__vite__mapDeps([39,1,40,30,31,6,12,32,20,33,34,41,42,43,35,37,44,8,9,10,24,25,17,11,18,28]),import.meta.url)),_h=dh(()=>z(()=>import(`./agent-profiles-C8V_oCiM.js`).then(e=>({default:e.AgentProfilesView})),__vite__mapDeps([45,1,6,8,9,10,17,12,11]),import.meta.url)),vh=dh(()=>z(()=>import(`./orchestrators-sQh8e7-V.js`).then(e=>({default:e.OrchestratorsView})),__vite__mapDeps([46,6,1,8,9,10,17,12,11,18]),import.meta.url)),yh=dh(()=>z(()=>import(`./workspaces-CoDz-iZd.js`).then(e=>({default:e.WorkspacesView})),__vite__mapDeps([47,1,6,8,9,10,27,11,12,25,17,18]),import.meta.url)),bh=dh(()=>z(()=>import(`./channels-DAtOnA6o.js`).then(e=>({default:e.ChannelsView})),__vite__mapDeps([48,6,1,8,9,10,17,12,11,18]),import.meta.url)),xh=dh(()=>z(()=>import(`./connectors-B2grC-hl.js`).then(e=>({default:e.ConnectorsView})),__vite__mapDeps([49,6,1,8,9,10,17,12,11,18]),import.meta.url)),Sh=dh(()=>z(()=>import(`./integrations-9c6IdRU4.js`).then(e=>({default:e.IntegrationsView})),__vite__mapDeps([50,6,1,8,9,10,17,12,11,18]),import.meta.url)),Ch=dh(()=>z(()=>import(`./security-CTSA9niL.js`).then(e=>({default:e.SecurityView})),__vite__mapDeps([51,1,6,27,11,12,17,18,28]),import.meta.url)),wh=dh(()=>z(()=>import(`./memory-BoQw8q-i.js`).then(e=>({default:e.MemoryView})),__vite__mapDeps([52,1,6,8,9,10,17,12,11,18,28]),import.meta.url)),Th=dh(()=>z(()=>import(`./activity-BEm1BQB1.js`).then(e=>({default:e.ActivityView})),__vite__mapDeps([53,1,6,8,9,10,21,16,22,2,23,25,17,12,11,18]),import.meta.url)),Eh=dh(()=>z(()=>import(`./pairs-B3FhGmn-.js`).then(e=>({default:e.PairsView})),__vite__mapDeps([54,6,1,8,9,10,17,12,11,18]),import.meta.url)),Dh=dh(()=>z(()=>import(`./messages-DfKNuph2.js`).then(e=>({default:e.MessagesView})),__vite__mapDeps([55,1,6,8,9,10,22,2,17,12,11,18]),import.meta.url)),Oh=dh(()=>z(()=>import(`./work-queue-CSu5kRsw.js`).then(e=>({default:e.WorkQueueView})),__vite__mapDeps([56,6,1,8,9,10,17,12,11,18]),import.meta.url)),kh=dh(()=>z(()=>import(`./tasks-CZyJX881.js`).then(e=>({default:e.TasksView})),__vite__mapDeps([57,1,6,8,9,10,17,12,11,18]),import.meta.url)),Ah=dh(()=>z(()=>import(`./automation-BEhJZkNQ.js`).then(e=>({default:e.AutomationView})),__vite__mapDeps([58,1,6,8,9,10,17,12,11,18,28]),import.meta.url)),jh=dh(()=>z(()=>import(`./analytics-BZtRycyL.js`).then(e=>({default:e.AnalyticsView})),__vite__mapDeps([59,1,6,8,9,10,18,60]),import.meta.url)),Mh=dh(()=>z(()=>import(`./insights-DpXPAEwH.js`).then(e=>({default:e.InsightsView})),__vite__mapDeps([61,1,6,17,12,11,18,28,9,10]),import.meta.url)),Nh=dh(()=>z(()=>import(`./projects-iDkxAGBW.js`).then(e=>({default:e.ProjectsView})),__vite__mapDeps([62,1,6,8,9,10,27,11,12,17,18]),import.meta.url)),Ph=dh(()=>z(()=>import(`./prompt-settings-CCj_s008.js`).then(e=>({default:e.PromptSettingsView})),__vite__mapDeps([63,1,6,17,12,11,18,9,10]),import.meta.url)),Fh=dh(()=>z(()=>import(`./registry-mD_y06Ru.js`).then(e=>({default:e.RegistryView})),__vite__mapDeps([64,1,6,17,12,11,18,28,10]),import.meta.url)),Ih=dh(()=>z(()=>import(`./maintenance-BrkqfGwx.js`).then(e=>({default:e.MaintenanceView})),__vite__mapDeps([65,1,6,8,9,10,17,12,11]),import.meta.url)),Lh=dh(()=>z(()=>import(`./settings-ByAR-TYj.js`).then(e=>({default:e.SettingsView})),__vite__mapDeps([66,1,40,30,31,6,12,32,20,33,34,41,42,43,35,37,44,8,9,10,23,16,17,11,18,28,60]),import.meta.url)),Rh=class extends B.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error(`[ErrorBoundary]`,e.message,`
|
|
25
25
|
`,t.componentStack)}render(){return this.state.error?gr(this.state.error)?(0,V.jsxs)(`div`,{className:`p-6 text-sm`,children:[(0,V.jsx)(`h2`,{className:`text-foreground text-lg mb-2`,children:`A new version was deployed`}),(0,V.jsx)(`p`,{className:`text-muted-foreground mb-4`,children:`Reload to pick up the latest dashboard.`}),(0,V.jsx)(`button`,{className:`px-3 py-1 bg-primary text-primary-foreground rounded text-sm`,onClick:()=>window.location.reload(),children:`Reload`})]}):(0,V.jsxs)(`div`,{className:`p-6 text-sm font-mono whitespace-pre-wrap`,children:[(0,V.jsx)(`h2`,{className:`text-red-400 text-lg mb-2`,children:`Dashboard Error`}),(0,V.jsx)(`p`,{className:`text-foreground mb-4`,children:this.state.error.message}),(0,V.jsx)(`pre`,{className:`text-muted-foreground text-xs overflow-auto`,children:this.state.error.stack}),(0,V.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}},zh={overview:fh,chat:ph,agents:mh,managed:hh,teams:gh,profiles:_h,orchestrators:vh,workspaces:yh,files:Tu,channels:bh,connectors:xh,integrations:Sh,security:Ch,memory:wh,activity:Th,pairs:Eh,messages:Dh,work:Oh,tasks:kh,automation:Ah,analytics:jh,insights:Mh,projects:Nh,prompts:Ph,registry:Fh,maintenance:Ih,settings:Lh},Bh=`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 Vh(){return(0,V.jsxs)(`div`,{className:`flex items-center justify-center py-16 text-muted-foreground text-sm`,children:[(0,V.jsx)(`span`,{className:`inline-block w-3 h-3 mr-2 rounded-full bg-muted-foreground/60 animate-pulse`}),`Loading…`]})}function Hh(){let e=M(e=>e.notification),t=M(e=>e.toastNotification),n=M(e=>e.openNotification),r=M(e=>e.dismissToast);if(t){let e=t;return(0,V.jsxs)(`div`,{className:`${Bh} 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,V.jsxs)(`button`,{type:`button`,onClick:()=>{n(e),r()},className:`flex-1 min-w-0 text-left cursor-pointer`,children:[(0,V.jsx)(`div`,{className:`font-medium truncate`,children:e.title}),(0,V.jsx)(`div`,{className:`text-xs text-zinc-300 line-clamp-2 mt-0.5`,children:e.body}),(0,V.jsx)(`div`,{className:`text-[10px] uppercase tracking-wide text-zinc-400 mt-1`,children:`Tap to open`})]}),(0,V.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,V.jsx)(`div`,{className:`${Bh} px-4 py-2 bg-zinc-800 text-zinc-100 text-sm rounded-md shadow-lg border border-zinc-700`,children:e}):null}function Uh(){let e=M(e=>e.init),t=M(e=>e.destroy),n=M(e=>e.theme),r=M(e=>e.view),i=M(e=>e.authNeeded),a=M(e=>e.connectionError),o=M(e=>e.authToken),s=M(e=>e.set),c=M(e=>e.saveTokenAndRefresh),l=M(e=>e.openCommandPalette),u=M(e=>e.commandPaletteOpen),d=M(e=>e.closeCommandPalette);(0,B.useEffect)(()=>{En(n)},[n]),(0,B.useEffect)(()=>(e(),()=>t()),[]),(0,B.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=zh[r]||fh;return(0,V.jsx)(Rh,{children:(0,V.jsx)(fl,{children:(0,V.jsxs)(`div`,{className:`flex min-h-[calc(100dvh-var(--sat))] mt-[var(--sat)]`,children:[(0,V.jsx)(Vl,{}),(0,V.jsx)(Hl,{}),(0,V.jsxs)(`main`,{className:`flex-1 min-w-0 h-[calc(100dvh-var(--sat))] flex flex-col overflow-y-auto`,children:[(0,V.jsx)(Gm,{}),!i&&a&&(0,V.jsxs)(`div`,{className:`shrink-0 flex items-center gap-2 p-3 bg-amber-950/40 border-b border-amber-800/60 text-amber-200 text-sm`,children:[(0,V.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,V.jsxs)(`div`,{className:`shrink-0 flex items-center gap-2 p-3 bg-card border-b border-border`,children:[(0,V.jsx)(Pe,{className:`w-4 h-4 text-muted-foreground`}),(0,V.jsx)(R,{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,V.jsx)(L,{size:`sm`,onClick:c,children:`Connect`})]}),(0,V.jsx)(rh,{}),(0,V.jsx)(`div`,{className:r===`chat`?`flex min-h-0 flex-1 flex-col`:`p-4 md:p-6`,children:(0,V.jsx)(B.Suspense,{fallback:(0,V.jsx)(Vh,{}),children:(0,V.jsx)(f,{})})})]}),(0,V.jsx)(Pd,{}),(0,V.jsx)(Xd,{}),(0,V.jsx)(Sp,{}),(0,V.jsx)(Hp,{}),(0,V.jsx)(Up,{}),(0,V.jsx)(Wp,{}),(0,V.jsx)(Gp,{}),(0,V.jsx)(Kp,{}),(0,V.jsx)(qp,{}),(0,V.jsx)(Jp,{}),(0,V.jsx)(Yp,{}),(0,V.jsx)(Zp,{}),(0,V.jsx)(rm,{}),(0,V.jsx)(om,{}),(0,V.jsx)(sm,{}),(0,V.jsx)(Um,{}),(0,V.jsx)(Eu,{}),(0,V.jsx)(Wm,{}),(0,V.jsx)(Hh,{})]})})})}if((0,pr.createRoot)(document.getElementById(`root`)).render((0,V.jsx)(B.StrictMode,{children:(0,V.jsx)(Uh,{})})),`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{ad as $,sf as A,Ol as At,hf as B,Rf as C,wl as Ct,mf as D,vl as Dt,of as E,gl as Et,tf as F,Jd as G,df as H,lf as I,Q as J,Md as K,ef as L,cf as M,pf as N,ff as O,El as Ot,af as P,od as Q,gf as R,zf as S,Sl as St,Bf as T,Cl as Tt,$ as U,nf as V,Zd as W,bd as X,Nd as Y,dd as Z,dp as _,Pl as _t,Rp as a,Xu as at,_p as b,_l as bt,tp as c,Vu as ct,pp as d,iu as dt,id as et,fp as f,$l as ft,Xf as g,Rl as gt,gp as h,Il as ht,zp as i,Qu as it,rf as j,br as jt,Qd as k,Dl as kt,Jf as l,Su as lt,hp as m,Fl as mt,Lp as n,Uu as nt,Bp as o,Yu as ot,mp as p,Nl as pt,jd as q,Vp as r,Wu as rt,up as s,qu as st,Pp as t,Hu as tt,op as u,Cu as ut,ap as v,Ml as vt,Pf as w,Tl as wt,Nf as x,xl as xt,Wf as y,jl as yt,$d as z};
|
|
26
|
-
//# sourceMappingURL=index-
|
|
26
|
+
//# sourceMappingURL=index-Bhy_jnX4.js.map
|