@mrpatronz/nexusflow 2.13.0 → 2.14.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.
Files changed (60) hide show
  1. package/dist/core/work-guidance.d.ts +4 -4
  2. package/dist/gui/assets/{AgentsPage-DpHlroWm.js → AgentsPage-CJMUiowX.js} +1 -1
  3. package/dist/gui/assets/DashboardPage-CPMjNCSd.js +1 -0
  4. package/dist/gui/assets/{GettingStartedPage-Y4ixhR8B.js → GettingStartedPage-vdPpxxX3.js} +1 -1
  5. package/dist/gui/assets/{MonacoDiffAdapter-CGXPlqCv.js → MonacoDiffAdapter-p1QUAz5J.js} +1 -1
  6. package/dist/gui/assets/ProjectsPage-vy3814fL.js +1 -0
  7. package/dist/gui/assets/{ScaffoldRepoInline-tpk7a07z.js → ScaffoldRepoInline-C0aEuaen.js} +1 -1
  8. package/dist/gui/assets/{SettingsPage-BEozi7bF.js → SettingsPage-CjrpeCko.js} +1 -1
  9. package/dist/gui/assets/{SkillsPage-M1iYmQWO.js → SkillsPage-BRczkn37.js} +4 -4
  10. package/dist/gui/assets/StartWorkPage-Bb8nNYOL.js +1 -0
  11. package/dist/gui/assets/{StrategiesPage-CXsVcMW7.js → StrategiesPage-BYoYlyl3.js} +2 -2
  12. package/dist/gui/assets/WorkroomsPage-C2QVQ1jm.js +4 -0
  13. package/dist/gui/assets/WorkspacesPage-BuQTcejb.js +16 -0
  14. package/dist/gui/assets/{alert-dialog-B6jzcNCC.js → alert-dialog-BQTrpDEB.js} +1 -1
  15. package/dist/gui/assets/index-D-sx2qJG.js +78 -0
  16. package/dist/gui/assets/index-n0pVdSJ7.css +2 -0
  17. package/dist/gui/assets/status-CKOvrZ16.js +1 -0
  18. package/dist/gui/assets/{tabs-PHbAf5Cq.js → tabs-ClWne-mz.js} +1 -1
  19. package/dist/gui/assets/{vsc-CY5HXJ8W.js → vsc-EOWFTqft.js} +1 -1
  20. package/dist/gui/index.html +3 -2
  21. package/dist/server.d.ts.map +1 -1
  22. package/dist/server.js +14 -1
  23. package/dist/server.js.map +1 -1
  24. package/dist/terminal/manager.d.ts +57 -0
  25. package/dist/terminal/manager.d.ts.map +1 -0
  26. package/dist/terminal/manager.js +256 -0
  27. package/dist/terminal/manager.js.map +1 -0
  28. package/dist/terminal/native.d.ts +6 -0
  29. package/dist/terminal/native.d.ts.map +1 -0
  30. package/dist/terminal/native.js +30 -0
  31. package/dist/terminal/native.js.map +1 -0
  32. package/dist/terminal/routes.d.ts +17 -0
  33. package/dist/terminal/routes.d.ts.map +1 -0
  34. package/dist/terminal/routes.js +207 -0
  35. package/dist/terminal/routes.js.map +1 -0
  36. package/dist/terminal/smoke.d.ts +2 -0
  37. package/dist/terminal/smoke.d.ts.map +1 -0
  38. package/dist/terminal/smoke.js +30 -0
  39. package/dist/terminal/smoke.js.map +1 -0
  40. package/dist/terminal/targets.d.ts +49 -0
  41. package/dist/terminal/targets.d.ts.map +1 -0
  42. package/dist/terminal/targets.js +94 -0
  43. package/dist/terminal/targets.js.map +1 -0
  44. package/dist/types.d.ts +5 -0
  45. package/dist/types.d.ts.map +1 -1
  46. package/dist/utils/session-finder.d.ts +1 -0
  47. package/dist/utils/session-finder.d.ts.map +1 -1
  48. package/dist/utils/session-finder.js +66 -27
  49. package/dist/utils/session-finder.js.map +1 -1
  50. package/dist/utils/terminal-launch.d.ts.map +1 -1
  51. package/dist/utils/terminal-launch.js +5 -1
  52. package/dist/utils/terminal-launch.js.map +1 -1
  53. package/package.json +4 -1
  54. package/dist/gui/assets/DashboardPage-BN0FQixO.js +0 -1
  55. package/dist/gui/assets/ProjectsPage-i8Egpjps.js +0 -1
  56. package/dist/gui/assets/StartWorkPage-DUC8e-My.js +0 -1
  57. package/dist/gui/assets/WorkroomsPage-DypyfzgM.js +0 -4
  58. package/dist/gui/assets/WorkspacesPage-aSR6TyA2.js +0 -16
  59. package/dist/gui/assets/index-BRvfvR0q.js +0 -57
  60. package/dist/gui/assets/index-C4GcVl9Z.css +0 -2
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{n as t,t as n}from"./jsx-runtime-DE3RlOCf.js";import{C as r,D as i,E as a,En as o,In as s,Jn as c,K as l,Kt as u,Ln as d,Mt as f,Nn as p,Nt as m,S as h,T as g,Wt as _,Xt as v,Yt as y,_ as b,_t as x,an as S,b as C,bn as w,cn as T,ht as E,in as D,jt as O,kn as k,ln as A,mt as j,nn as M,on as N,p as P,pt as F,sn as I,v as L,vt as R,x as z,y as B}from"./badge-BObbahyU.js";import{c as V,d as H,i as U,l as W,m as G,p as K,s as q}from"./button-BrcP8Wxx.js";import{b as J,c as ee,t as te,y as ne}from"./isElementDisabled-BONWqXlb.js";import{It as re}from"./index-BRvfvR0q.js";var Y=n(),X=e(t(),1);function ie(){let[,e]=X.useState({});return X.useCallback(()=>{e({})},[])}function Z(e){let t=A(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=w(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r;return(ne(n)!==a||ne(r)!==o)&&(n=a,r=o),{width:n,height:r}}var ae=X.createContext(void 0);function Q(){let e=X.useContext(ae);if(e===void 0)throw Error(K(64));return e}var $={tabActivationDirection:e=>({"data-activation-direction":e})},oe=X.forwardRef(function(e,t){let{className:n,defaultValue:r=0,onValueChange:i,orientation:a=`horizontal`,render:c,value:l,style:u,...d}=e,f=e.defaultValue!==void 0,m=X.useRef([]),[h,g]=X.useState(()=>new Map),[_,v]=o({controlled:l,default:r,name:`Tabs`,state:`value`}),b=l!==void 0,[x,S]=X.useState(()=>new Map),C=X.useRef(void 0),w=X.useCallback(e=>se(x,e),[x]),[E,D]=X.useState(()=>({previousValue:_,tabActivationDirection:`none`})),{previousValue:O,tabActivationDirection:A}=E,j=A,M=!1;O!==_&&(j=ce(O,_,a,x),M=O!=null&&_!=null&&w(_)==null);let N=M?O:_,P=O!==N||A!==j;I(()=>{P&&D({previousValue:N,tabActivationDirection:j})},[N,P,j]);let F=T((e,t)=>{t.activationDirection=ce(_,e,a,x),i?.(e,t),!t.isCanceled&&v(e)}),L=T((e,t)=>{i?.(e,y(t,void 0,void 0,{activationDirection:`none`}))}),R=T((e,t)=>(g(n=>{let r=new Map(n);return r.set(e,t),r}),()=>{g(n=>{if(n.get(e)!==t)return n;let r=new Map(n);return r.delete(e),r})})),z=X.useCallback(e=>h.get(e),[h]),B=X.useCallback(e=>{for(let t of x.values())if(e===t.value)return t.id},[x]),V=X.useMemo(()=>({getTabElementBySelectedValue:w,getTabIdByPanelValue:B,getTabPanelIdByValue:z,onValueChange:F,orientation:a,registerMountedTabPanel:R,setTabMap:S,tabActivationDirection:j,value:_}),[w,B,z,F,a,R,S,j,_]),H=X.useMemo(()=>{for(let e of x.values())if(e.value===_)return e},[x,_]),W=X.useMemo(()=>{for(let e of x.values())if(!e.disabled)return e.value},[x]),G=X.useRef(!f),K=X.useRef(r),q=X.useRef(f),J=X.useRef(!1);I(()=>{if(b)return;function e(e,t){v(e),D({previousValue:e,tabActivationDirection:`none`}),L(e,t),G.current=!1}if(x.size===0){J.current&&_!==null&&!C.current?.isConnected&&e(null,s);return}J.current=!0,C.current=x.keys().next().value;let t=H?.disabled,n=H==null&&_!==null;if(!t&&_===K.current&&(q.current=!1),q.current&&t&&_===K.current)return;let r=G.current;if(t||n){let n=W??null;if(_===n){G.current=!1;return}let i=s;r?i=p:t&&(i=k),e(n,i);return}r&&H!=null&&(L(_,p),G.current=!1)},[W,b,L,H,v,x,_]);let te=U(`div`,e,{state:{orientation:a,tabActivationDirection:j},ref:t,props:d,stateAttributesMapping:$});return(0,Y.jsx)(ae.Provider,{value:V,children:(0,Y.jsx)(ee,{elementsRef:m,children:te})})});function se(e,t){for(let[n,r]of e.entries())if(t===r.value)return n;return null}function ce(e,t,n,r){if(e==null||t==null)return`none`;let[i,a,o]=n===`horizontal`?[`left`,`left`,`right`]:[`top`,`up`,`down`],s=se(r,e),c=se(r,t);if(s==null||c==null)return s!==c&&(typeof e==`number`||typeof e==`string`)&&typeof e==typeof t?t>e?o:a:`none`;let l=s.getBoundingClientRect()[i],u=c.getBoundingClientRect()[i];return u<l?a:u>l?o:`none`}var le=`data-composite-item-active`,ue=X.createContext(void 0);function de(){let e=X.useContext(ue);if(e===void 0)throw Error(K(65));return e}var fe=X.forwardRef(function(e,t){let{className:n,disabled:r=!1,render:i,value:a,id:o,nativeButton:s=!0,style:c,...l}=e,{value:u,getTabPanelIdByValue:p,onValueChange:m,orientation:h,tabActivationDirection:g}=Q(),{activateOnFocus:_,registerTabResizeObserverElement:b,tabsListElement:x}=de(),{highlightedIndex:S,onHighlightedIndexChange:C}=N(),w=v(o),E=X.useMemo(()=>({disabled:r,id:w,value:a}),[r,w,a]),{compositeProps:k,compositeRef:A,index:j}=re({metadata:E}),P=a===u,F=X.useRef(!1),L=X.useRef(null),R=T(e=>{L.current?.(),L.current=e?b(e):null});I(()=>{if(F.current){F.current=!1;return}if(!(P&&j>-1&&S!==j))return;let e=x;if(e!=null){let t=O(D(e));if(t&&f(e,t))return}r||C(j)},[P,j,S,C,r,x]);let{getButtonProps:z,buttonRef:B}=M({disabled:r,native:s,focusableWhenDisabled:!0}),V=p(a),H=X.useRef(!1),W=X.useRef(!1);function G(e){m(a,y(d,e.nativeEvent,void 0,{activationDirection:`none`}))}function K(e){P||r||G(e)}function q(e){P||r||_&&(!H.current||W.current)&&G(e)}function J(e){if(P||r)return;H.current=!0,W.current=e.button===0;let t=D(e.currentTarget);function n(){H.current=!1,W.current=!1,t.removeEventListener(`pointerup`,n),t.removeEventListener(`pointercancel`,n)}t.addEventListener(`pointerup`,n),t.addEventListener(`pointercancel`,n)}return U(`button`,e,{state:{disabled:r,active:P,orientation:h,tabActivationDirection:g},ref:[t,B,A,R],props:[k,{role:`tab`,"aria-controls":V,"aria-selected":P,id:w,onClick:K,onFocus:q,onPointerDown:J,[le]:P?``:void 0,onKeyDownCapture(){F.current=!0}},l,z],stateAttributesMapping:$})}),pe=l();function me(){return W}function he(){return!1}function ge(){return!0}function _e(){return(0,pe.useSyncExternalStore)(me,he,ge)}function ve(e){let{script:t}=e,{nonce:n}=P();return _e()?(0,Y.jsx)(`script`,{nonce:n,dangerouslySetInnerHTML:{__html:t},suppressHydrationWarning:!0}):null}var ye,be={...$,activeTabPosition:()=>null,activeTabSize:()=>null},xe=X.forwardRef(function(e,t){let{className:n,render:r,renderBeforeHydration:i=!1,style:a,...o}=e,{getTabElementBySelectedValue:s,orientation:c,tabActivationDirection:l,value:u}=Q(),{tabsListElement:d,registerIndicatorUpdateListener:f}=de(),p=ie();X.useEffect(()=>f(p),[f,p]);let m=0,h=0,g=0,_=0,v=0,y=0,b=!1;if(u!=null&&d!=null){let e=s(u);if(e!=null){b=!0;let{width:t,height:n}=Z(e),{width:r,height:i}=Z(d),a=e.getBoundingClientRect(),o=d.getBoundingClientRect(),s=r>0?o.width/r:1,c=i>0?o.height/i:1;if(s>2**-52&&c>2**-52){let e=a.left-o.left,t=a.top-o.top;m=e/s+d.scrollLeft-d.clientLeft,g=t/c+d.scrollTop-d.clientTop}else m=e.offsetLeft,g=e.offsetTop;v=t,y=n,h=d.scrollWidth-m-v,_=d.scrollHeight-g-y}}let x=b?{left:m,right:h,top:g,bottom:_}:null,S=b?{width:v,height:y}:null,C=b?{"--active-tab-left":`${m}px`,"--active-tab-right":`${h}px`,"--active-tab-top":`${g}px`,"--active-tab-bottom":`${_}px`,"--active-tab-width":`${v}px`,"--active-tab-height":`${y}px`}:void 0,w=U(`span`,e,{state:{orientation:c,activeTabPosition:x,activeTabSize:S,tabActivationDirection:l},ref:t,props:[{role:`presentation`,style:C,hidden:!(b&&v>0&&y>0)},o,{suppressHydrationWarning:!0}],stateAttributesMapping:be});return u==null?null:(0,Y.jsxs)(X.Fragment,{children:[w,i&&(ye||=(0,Y.jsx)(ve,{script:``}))]})}),Se={...$,...c},Ce=X.forwardRef(function(e,t){let{className:n,value:r,render:i,keepMounted:a=!1,style:o,...s}=e,{value:c,getTabIdByPanelValue:l,orientation:d,tabActivationDirection:f,registerMountedTabPanel:p}=Q(),m=v(),{ref:h,index:g}=J(),y=r===c,{mounted:b,transitionStatus:x,setMounted:S}=u(y),C=!b,w=l(r),T={hidden:C,orientation:d,tabActivationDirection:f,transitionStatus:x},E=X.useRef(null),D=U(`div`,e,{state:T,ref:[t,h,E],props:[{"aria-labelledby":w,hidden:C,id:m,role:`tabpanel`,tabIndex:y?0:-1,inert:L(!y),"data-index":g},s],stateAttributesMapping:Se});return _({open:y,ref:E,onComplete(){y||S(!1)}}),I(()=>{if(!(m==null||C&&!a))return p(r,m)},[C,a,r,m,p]),a||b?D:null}),we=[];function Te(e){let{loopFocus:t=!0,orientation:n=`both`,grid:o,onLoop:s,direction:c,highlightedIndex:l,onHighlightedIndexChange:u,rootRef:d,enableHomeAndEndKeys:f=!1,stopEventPropagation:p,disabledIndices:g,modifierKeys:_=we}=e,[v,y]=X.useState(0),b=o!=null,S=X.useRef(null),w=H(S,d),D=X.useRef([]),O=X.useRef(!1),k=l??v,A=T((e,t=!1)=>{if((u??y)(e),t){let t=D.current[e];i(S.current,t,c,n)}}),M=T(e=>{if(e.size===0||O.current)return;O.current=!0;let t=Array.from(e.keys()),r=t.find(e=>e?.hasAttribute(`data-composite-item-active`))??null,a=r?e.get(r)?.index??-1:-1;if(a!==-1)A(a);else if(R(t,k,g)){let e=F(t,{disabledIndices:g});x(t,e)||A(e)}i(S.current,r,c,n)});I(()=>{if(g==null||l!=null||!O.current)return;let e=D.current;if(R(e,k,g)){let t=F(e,{disabledIndices:g});x(e,t)||A(t)}},[g,l,k,D,A]);let N=T((e,t,n)=>s?s(e,t,n,D):n),P=T(e=>{let i=e.key===`Home`||e.key===`End`;if(!r.has(e.key)||!f&&i||Ee(e,_)||!S.current)return;let l=c===`rtl`,u=l?C:z,d=l?z:C,v=n===`vertical`?B:u,y=n===`vertical`?h:d,w=m(e.nativeEvent);if(w!=null&&a(w)&&!te(w)){let t=w.selectionStart,n=w.selectionEnd,r=w.value;if(t==null||e.shiftKey||t!==n||e.key!==y&&t<r.length||e.key!==v&&t>0)return}let T=k,O=E(D,g),M=j(D,g);o!=null&&(T=o({disabledIndices:g,elementsRef:D,event:e,highlightedIndex:k,loopFocus:t,maxIndex:M,minIndex:O,onLoop:N,orientation:n,rtl:l}));let P=n!==`vertical`&&e.key===u||n!==`horizontal`&&e.key===`ArrowDown`,I=n!==`vertical`&&e.key===d||n!==`horizontal`&&e.key===`ArrowUp`;f&&(e.key===`Home`?T=O:e.key===`End`&&(T=M)),T===k&&(P||I)&&(t&&T===M&&P?(T=O,s&&(T=s(e,k,T,D))):t&&T===O&&I?(T=M,s&&(T=s(e,k,T,D))):T=F(D.current,{startingIndex:T,decrement:I,disabledIndices:g})),T!==k&&!x(D.current,T)&&(p&&e.stopPropagation(),(b||i||P||I)&&e.preventDefault(),A(T,!0),queueMicrotask(()=>{D.current[T]?.focus()}))});return{props:{ref:w,onFocus(e){let t=S.current,n=m(e.nativeEvent);!t||n==null||!a(n)||n.setSelectionRange(0,n.value.length)},onKeyDown:P},highlightedIndex:k,onHighlightedIndexChange:A,elementsRef:D,onMapChange:M,relayKeyboardEvent:P}}function Ee(e,t){for(let n of g)if(!t.includes(n)&&e.getModifierState(n))return!0;return!1}function De(e){let{render:t,className:n,style:r,refs:i=q,props:a=q,state:o=V,stateAttributesMapping:s,highlightedIndex:c,onHighlightedIndexChange:l,orientation:u,grid:d,loopFocus:f,onLoop:p,enableHomeAndEndKeys:m,onMapChange:h,stopEventPropagation:g=!0,rootRef:_,disabledIndices:v,modifierKeys:y,highlightItemOnHover:x=!1,tag:C=`div`,...w}=e,{props:T,highlightedIndex:E,onHighlightedIndexChange:D,elementsRef:O,onMapChange:k,relayKeyboardEvent:A}=Te({grid:d,loopFocus:f,onLoop:p,orientation:u,highlightedIndex:c,onHighlightedIndexChange:l,rootRef:_,stopEventPropagation:g,enableHomeAndEndKeys:m,direction:b(),disabledIndices:v,modifierKeys:y}),j=U(C,e,{state:o,ref:i,props:[T,...a,w],stateAttributesMapping:s}),M=X.useMemo(()=>({highlightedIndex:E,onHighlightedIndexChange:D,highlightItemOnHover:x,relayKeyboardEvent:A}),[E,D,x,A]);return(0,Y.jsx)(S.Provider,{value:M,children:(0,Y.jsx)(ee,{elementsRef:O,onMapChange:e=>{h?.(e),k(e)},children:j})})}var Oe=X.forwardRef(function(e,t){let{activateOnFocus:n=!1,className:r,loopFocus:i=!0,render:a,style:o,...s}=e,{orientation:c,setTabMap:l,tabActivationDirection:u}=Q(),[d,f]=X.useState(0),[p,m]=X.useState(null),h=X.useRef(new Set),g=X.useRef(new Set),_=X.useRef(null);I(()=>{if(typeof ResizeObserver>`u`)return;let e=new ResizeObserver(()=>{h.current.forEach(e=>{e()})});return _.current=e,p&&e.observe(p),g.current.forEach(t=>{e.observe(t)}),()=>{e.disconnect(),_.current=null}},[p]);let v=T(e=>(h.current.add(e),()=>{h.current.delete(e)})),y=T(e=>(g.current.add(e),_.current?.observe(e),()=>{g.current.delete(e),_.current?.unobserve(e)})),b={orientation:c,tabActivationDirection:u},x={"aria-orientation":c===`vertical`?`vertical`:void 0,role:`tablist`},S=X.useMemo(()=>({activateOnFocus:n,registerIndicatorUpdateListener:v,registerTabResizeObserverElement:y,tabsListElement:p}),[n,v,y,p]);return(0,Y.jsx)(ue.Provider,{value:S,children:(0,Y.jsx)(De,{render:a,className:r,style:o,state:b,refs:[t,m],props:[x,s],stateAttributesMapping:$,highlightedIndex:d,enableHomeAndEndKeys:!0,loopFocus:i,orientation:c,onHighlightedIndexChange:f,onMapChange:l,disabledIndices:q})})});function ke({className:e,...t}){return(0,Y.jsx)(oe,{className:G(`flex flex-col gap-4`,e),"data-slot":`tabs`,...t})}function Ae({className:e,...t}){return(0,Y.jsxs)(Oe,{className:G(`relative z-0 flex w-fit items-center gap-1 rounded-lg bg-muted p-1`,e),"data-slot":`tabs-list`,...t,children:[t.children,(0,Y.jsx)(xe,{className:`absolute top-1/2 left-0 z-[-1] h-[calc(100%-0.5rem)] w-(--active-tab-width) -translate-y-1/2 translate-x-(--active-tab-left) rounded-md bg-background shadow-xs transition-all duration-150`,"data-slot":`tabs-indicator`})]})}function je({className:e,...t}){return(0,Y.jsx)(fe,{className:G(`flex h-7 cursor-pointer items-center justify-center whitespace-nowrap rounded-md border border-transparent px-2.5 font-medium text-muted-foreground text-sm outline-none transition-colors hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring data-selected:text-foreground`,e),"data-slot":`tabs-tab`,...t})}function Me({className:e,...t}){return(0,Y.jsx)(Ce,{className:G(`flex-1 outline-none`,e),"data-slot":`tabs-panel`,...t})}export{Z as a,je as i,Ae as n,Me as r,ke as t};
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{n as t,t as n}from"./jsx-runtime-DE3RlOCf.js";import{C as r,D as i,E as a,En as o,In as s,Jn as c,K as l,Kt as u,Ln as d,Mt as f,Nn as p,Nt as m,S as h,T as g,Wt as _,Xt as v,Yt as y,_ as b,_t as x,an as S,b as C,bn as w,cn as T,ht as E,in as D,jt as O,kn as k,ln as A,mt as j,nn as M,on as N,p as P,pt as F,sn as I,v as L,vt as R,x as z,y as B}from"./badge-BObbahyU.js";import{c as V,d as H,i as U,l as W,m as G,p as K,s as q}from"./button-BrcP8Wxx.js";import{b as J,c as ee,t as te,y as ne}from"./isElementDisabled-BONWqXlb.js";import{Rt as re}from"./index-D-sx2qJG.js";var Y=n(),X=e(t(),1);function ie(){let[,e]=X.useState({});return X.useCallback(()=>{e({})},[])}function Z(e){let t=A(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=w(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r;return(ne(n)!==a||ne(r)!==o)&&(n=a,r=o),{width:n,height:r}}var ae=X.createContext(void 0);function Q(){let e=X.useContext(ae);if(e===void 0)throw Error(K(64));return e}var $={tabActivationDirection:e=>({"data-activation-direction":e})},oe=X.forwardRef(function(e,t){let{className:n,defaultValue:r=0,onValueChange:i,orientation:a=`horizontal`,render:c,value:l,style:u,...d}=e,f=e.defaultValue!==void 0,m=X.useRef([]),[h,g]=X.useState(()=>new Map),[_,v]=o({controlled:l,default:r,name:`Tabs`,state:`value`}),b=l!==void 0,[x,S]=X.useState(()=>new Map),C=X.useRef(void 0),w=X.useCallback(e=>se(x,e),[x]),[E,D]=X.useState(()=>({previousValue:_,tabActivationDirection:`none`})),{previousValue:O,tabActivationDirection:A}=E,j=A,M=!1;O!==_&&(j=ce(O,_,a,x),M=O!=null&&_!=null&&w(_)==null);let N=M?O:_,P=O!==N||A!==j;I(()=>{P&&D({previousValue:N,tabActivationDirection:j})},[N,P,j]);let F=T((e,t)=>{t.activationDirection=ce(_,e,a,x),i?.(e,t),!t.isCanceled&&v(e)}),L=T((e,t)=>{i?.(e,y(t,void 0,void 0,{activationDirection:`none`}))}),R=T((e,t)=>(g(n=>{let r=new Map(n);return r.set(e,t),r}),()=>{g(n=>{if(n.get(e)!==t)return n;let r=new Map(n);return r.delete(e),r})})),z=X.useCallback(e=>h.get(e),[h]),B=X.useCallback(e=>{for(let t of x.values())if(e===t.value)return t.id},[x]),V=X.useMemo(()=>({getTabElementBySelectedValue:w,getTabIdByPanelValue:B,getTabPanelIdByValue:z,onValueChange:F,orientation:a,registerMountedTabPanel:R,setTabMap:S,tabActivationDirection:j,value:_}),[w,B,z,F,a,R,S,j,_]),H=X.useMemo(()=>{for(let e of x.values())if(e.value===_)return e},[x,_]),W=X.useMemo(()=>{for(let e of x.values())if(!e.disabled)return e.value},[x]),G=X.useRef(!f),K=X.useRef(r),q=X.useRef(f),J=X.useRef(!1);I(()=>{if(b)return;function e(e,t){v(e),D({previousValue:e,tabActivationDirection:`none`}),L(e,t),G.current=!1}if(x.size===0){J.current&&_!==null&&!C.current?.isConnected&&e(null,s);return}J.current=!0,C.current=x.keys().next().value;let t=H?.disabled,n=H==null&&_!==null;if(!t&&_===K.current&&(q.current=!1),q.current&&t&&_===K.current)return;let r=G.current;if(t||n){let n=W??null;if(_===n){G.current=!1;return}let i=s;r?i=p:t&&(i=k),e(n,i);return}r&&H!=null&&(L(_,p),G.current=!1)},[W,b,L,H,v,x,_]);let te=U(`div`,e,{state:{orientation:a,tabActivationDirection:j},ref:t,props:d,stateAttributesMapping:$});return(0,Y.jsx)(ae.Provider,{value:V,children:(0,Y.jsx)(ee,{elementsRef:m,children:te})})});function se(e,t){for(let[n,r]of e.entries())if(t===r.value)return n;return null}function ce(e,t,n,r){if(e==null||t==null)return`none`;let[i,a,o]=n===`horizontal`?[`left`,`left`,`right`]:[`top`,`up`,`down`],s=se(r,e),c=se(r,t);if(s==null||c==null)return s!==c&&(typeof e==`number`||typeof e==`string`)&&typeof e==typeof t?t>e?o:a:`none`;let l=s.getBoundingClientRect()[i],u=c.getBoundingClientRect()[i];return u<l?a:u>l?o:`none`}var le=`data-composite-item-active`,ue=X.createContext(void 0);function de(){let e=X.useContext(ue);if(e===void 0)throw Error(K(65));return e}var fe=X.forwardRef(function(e,t){let{className:n,disabled:r=!1,render:i,value:a,id:o,nativeButton:s=!0,style:c,...l}=e,{value:u,getTabPanelIdByValue:p,onValueChange:m,orientation:h,tabActivationDirection:g}=Q(),{activateOnFocus:_,registerTabResizeObserverElement:b,tabsListElement:x}=de(),{highlightedIndex:S,onHighlightedIndexChange:C}=N(),w=v(o),E=X.useMemo(()=>({disabled:r,id:w,value:a}),[r,w,a]),{compositeProps:k,compositeRef:A,index:j}=re({metadata:E}),P=a===u,F=X.useRef(!1),L=X.useRef(null),R=T(e=>{L.current?.(),L.current=e?b(e):null});I(()=>{if(F.current){F.current=!1;return}if(!(P&&j>-1&&S!==j))return;let e=x;if(e!=null){let t=O(D(e));if(t&&f(e,t))return}r||C(j)},[P,j,S,C,r,x]);let{getButtonProps:z,buttonRef:B}=M({disabled:r,native:s,focusableWhenDisabled:!0}),V=p(a),H=X.useRef(!1),W=X.useRef(!1);function G(e){m(a,y(d,e.nativeEvent,void 0,{activationDirection:`none`}))}function K(e){P||r||G(e)}function q(e){P||r||_&&(!H.current||W.current)&&G(e)}function J(e){if(P||r)return;H.current=!0,W.current=e.button===0;let t=D(e.currentTarget);function n(){H.current=!1,W.current=!1,t.removeEventListener(`pointerup`,n),t.removeEventListener(`pointercancel`,n)}t.addEventListener(`pointerup`,n),t.addEventListener(`pointercancel`,n)}return U(`button`,e,{state:{disabled:r,active:P,orientation:h,tabActivationDirection:g},ref:[t,B,A,R],props:[k,{role:`tab`,"aria-controls":V,"aria-selected":P,id:w,onClick:K,onFocus:q,onPointerDown:J,[le]:P?``:void 0,onKeyDownCapture(){F.current=!0}},l,z],stateAttributesMapping:$})}),pe=l();function me(){return W}function he(){return!1}function ge(){return!0}function _e(){return(0,pe.useSyncExternalStore)(me,he,ge)}function ve(e){let{script:t}=e,{nonce:n}=P();return _e()?(0,Y.jsx)(`script`,{nonce:n,dangerouslySetInnerHTML:{__html:t},suppressHydrationWarning:!0}):null}var ye,be={...$,activeTabPosition:()=>null,activeTabSize:()=>null},xe=X.forwardRef(function(e,t){let{className:n,render:r,renderBeforeHydration:i=!1,style:a,...o}=e,{getTabElementBySelectedValue:s,orientation:c,tabActivationDirection:l,value:u}=Q(),{tabsListElement:d,registerIndicatorUpdateListener:f}=de(),p=ie();X.useEffect(()=>f(p),[f,p]);let m=0,h=0,g=0,_=0,v=0,y=0,b=!1;if(u!=null&&d!=null){let e=s(u);if(e!=null){b=!0;let{width:t,height:n}=Z(e),{width:r,height:i}=Z(d),a=e.getBoundingClientRect(),o=d.getBoundingClientRect(),s=r>0?o.width/r:1,c=i>0?o.height/i:1;if(s>2**-52&&c>2**-52){let e=a.left-o.left,t=a.top-o.top;m=e/s+d.scrollLeft-d.clientLeft,g=t/c+d.scrollTop-d.clientTop}else m=e.offsetLeft,g=e.offsetTop;v=t,y=n,h=d.scrollWidth-m-v,_=d.scrollHeight-g-y}}let x=b?{left:m,right:h,top:g,bottom:_}:null,S=b?{width:v,height:y}:null,C=b?{"--active-tab-left":`${m}px`,"--active-tab-right":`${h}px`,"--active-tab-top":`${g}px`,"--active-tab-bottom":`${_}px`,"--active-tab-width":`${v}px`,"--active-tab-height":`${y}px`}:void 0,w=U(`span`,e,{state:{orientation:c,activeTabPosition:x,activeTabSize:S,tabActivationDirection:l},ref:t,props:[{role:`presentation`,style:C,hidden:!(b&&v>0&&y>0)},o,{suppressHydrationWarning:!0}],stateAttributesMapping:be});return u==null?null:(0,Y.jsxs)(X.Fragment,{children:[w,i&&(ye||=(0,Y.jsx)(ve,{script:``}))]})}),Se={...$,...c},Ce=X.forwardRef(function(e,t){let{className:n,value:r,render:i,keepMounted:a=!1,style:o,...s}=e,{value:c,getTabIdByPanelValue:l,orientation:d,tabActivationDirection:f,registerMountedTabPanel:p}=Q(),m=v(),{ref:h,index:g}=J(),y=r===c,{mounted:b,transitionStatus:x,setMounted:S}=u(y),C=!b,w=l(r),T={hidden:C,orientation:d,tabActivationDirection:f,transitionStatus:x},E=X.useRef(null),D=U(`div`,e,{state:T,ref:[t,h,E],props:[{"aria-labelledby":w,hidden:C,id:m,role:`tabpanel`,tabIndex:y?0:-1,inert:L(!y),"data-index":g},s],stateAttributesMapping:Se});return _({open:y,ref:E,onComplete(){y||S(!1)}}),I(()=>{if(!(m==null||C&&!a))return p(r,m)},[C,a,r,m,p]),a||b?D:null}),we=[];function Te(e){let{loopFocus:t=!0,orientation:n=`both`,grid:o,onLoop:s,direction:c,highlightedIndex:l,onHighlightedIndexChange:u,rootRef:d,enableHomeAndEndKeys:f=!1,stopEventPropagation:p,disabledIndices:g,modifierKeys:_=we}=e,[v,y]=X.useState(0),b=o!=null,S=X.useRef(null),w=H(S,d),D=X.useRef([]),O=X.useRef(!1),k=l??v,A=T((e,t=!1)=>{if((u??y)(e),t){let t=D.current[e];i(S.current,t,c,n)}}),M=T(e=>{if(e.size===0||O.current)return;O.current=!0;let t=Array.from(e.keys()),r=t.find(e=>e?.hasAttribute(`data-composite-item-active`))??null,a=r?e.get(r)?.index??-1:-1;if(a!==-1)A(a);else if(R(t,k,g)){let e=F(t,{disabledIndices:g});x(t,e)||A(e)}i(S.current,r,c,n)});I(()=>{if(g==null||l!=null||!O.current)return;let e=D.current;if(R(e,k,g)){let t=F(e,{disabledIndices:g});x(e,t)||A(t)}},[g,l,k,D,A]);let N=T((e,t,n)=>s?s(e,t,n,D):n),P=T(e=>{let i=e.key===`Home`||e.key===`End`;if(!r.has(e.key)||!f&&i||Ee(e,_)||!S.current)return;let l=c===`rtl`,u=l?C:z,d=l?z:C,v=n===`vertical`?B:u,y=n===`vertical`?h:d,w=m(e.nativeEvent);if(w!=null&&a(w)&&!te(w)){let t=w.selectionStart,n=w.selectionEnd,r=w.value;if(t==null||e.shiftKey||t!==n||e.key!==y&&t<r.length||e.key!==v&&t>0)return}let T=k,O=E(D,g),M=j(D,g);o!=null&&(T=o({disabledIndices:g,elementsRef:D,event:e,highlightedIndex:k,loopFocus:t,maxIndex:M,minIndex:O,onLoop:N,orientation:n,rtl:l}));let P=n!==`vertical`&&e.key===u||n!==`horizontal`&&e.key===`ArrowDown`,I=n!==`vertical`&&e.key===d||n!==`horizontal`&&e.key===`ArrowUp`;f&&(e.key===`Home`?T=O:e.key===`End`&&(T=M)),T===k&&(P||I)&&(t&&T===M&&P?(T=O,s&&(T=s(e,k,T,D))):t&&T===O&&I?(T=M,s&&(T=s(e,k,T,D))):T=F(D.current,{startingIndex:T,decrement:I,disabledIndices:g})),T!==k&&!x(D.current,T)&&(p&&e.stopPropagation(),(b||i||P||I)&&e.preventDefault(),A(T,!0),queueMicrotask(()=>{D.current[T]?.focus()}))});return{props:{ref:w,onFocus(e){let t=S.current,n=m(e.nativeEvent);!t||n==null||!a(n)||n.setSelectionRange(0,n.value.length)},onKeyDown:P},highlightedIndex:k,onHighlightedIndexChange:A,elementsRef:D,onMapChange:M,relayKeyboardEvent:P}}function Ee(e,t){for(let n of g)if(!t.includes(n)&&e.getModifierState(n))return!0;return!1}function De(e){let{render:t,className:n,style:r,refs:i=q,props:a=q,state:o=V,stateAttributesMapping:s,highlightedIndex:c,onHighlightedIndexChange:l,orientation:u,grid:d,loopFocus:f,onLoop:p,enableHomeAndEndKeys:m,onMapChange:h,stopEventPropagation:g=!0,rootRef:_,disabledIndices:v,modifierKeys:y,highlightItemOnHover:x=!1,tag:C=`div`,...w}=e,{props:T,highlightedIndex:E,onHighlightedIndexChange:D,elementsRef:O,onMapChange:k,relayKeyboardEvent:A}=Te({grid:d,loopFocus:f,onLoop:p,orientation:u,highlightedIndex:c,onHighlightedIndexChange:l,rootRef:_,stopEventPropagation:g,enableHomeAndEndKeys:m,direction:b(),disabledIndices:v,modifierKeys:y}),j=U(C,e,{state:o,ref:i,props:[T,...a,w],stateAttributesMapping:s}),M=X.useMemo(()=>({highlightedIndex:E,onHighlightedIndexChange:D,highlightItemOnHover:x,relayKeyboardEvent:A}),[E,D,x,A]);return(0,Y.jsx)(S.Provider,{value:M,children:(0,Y.jsx)(ee,{elementsRef:O,onMapChange:e=>{h?.(e),k(e)},children:j})})}var Oe=X.forwardRef(function(e,t){let{activateOnFocus:n=!1,className:r,loopFocus:i=!0,render:a,style:o,...s}=e,{orientation:c,setTabMap:l,tabActivationDirection:u}=Q(),[d,f]=X.useState(0),[p,m]=X.useState(null),h=X.useRef(new Set),g=X.useRef(new Set),_=X.useRef(null);I(()=>{if(typeof ResizeObserver>`u`)return;let e=new ResizeObserver(()=>{h.current.forEach(e=>{e()})});return _.current=e,p&&e.observe(p),g.current.forEach(t=>{e.observe(t)}),()=>{e.disconnect(),_.current=null}},[p]);let v=T(e=>(h.current.add(e),()=>{h.current.delete(e)})),y=T(e=>(g.current.add(e),_.current?.observe(e),()=>{g.current.delete(e),_.current?.unobserve(e)})),b={orientation:c,tabActivationDirection:u},x={"aria-orientation":c===`vertical`?`vertical`:void 0,role:`tablist`},S=X.useMemo(()=>({activateOnFocus:n,registerIndicatorUpdateListener:v,registerTabResizeObserverElement:y,tabsListElement:p}),[n,v,y,p]);return(0,Y.jsx)(ue.Provider,{value:S,children:(0,Y.jsx)(De,{render:a,className:r,style:o,state:b,refs:[t,m],props:[x,s],stateAttributesMapping:$,highlightedIndex:d,enableHomeAndEndKeys:!0,loopFocus:i,orientation:c,onHighlightedIndexChange:f,onMapChange:l,disabledIndices:q})})});function ke({className:e,...t}){return(0,Y.jsx)(oe,{className:G(`flex flex-col gap-4`,e),"data-slot":`tabs`,...t})}function Ae({className:e,...t}){return(0,Y.jsxs)(Oe,{className:G(`relative z-0 flex w-fit items-center gap-1 rounded-lg bg-muted p-1`,e),"data-slot":`tabs-list`,...t,children:[t.children,(0,Y.jsx)(xe,{className:`absolute top-1/2 left-0 z-[-1] h-[calc(100%-0.5rem)] w-(--active-tab-width) -translate-y-1/2 translate-x-(--active-tab-left) rounded-md bg-background shadow-xs transition-all duration-150`,"data-slot":`tabs-indicator`})]})}function je({className:e,...t}){return(0,Y.jsx)(fe,{className:G(`flex h-7 cursor-pointer items-center justify-center whitespace-nowrap rounded-md border border-transparent px-2.5 font-medium text-muted-foreground text-sm outline-none transition-colors hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring data-selected:text-foreground`,e),"data-slot":`tabs-tab`,...t})}function Me({className:e,...t}){return(0,Y.jsx)(Ce,{className:G(`flex-1 outline-none`,e),"data-slot":`tabs-panel`,...t})}export{Z as a,je as i,Ae as n,Me as r,ke as t};
@@ -1 +1 @@
1
- import{h as e}from"./button-BrcP8Wxx.js";import{rn as t}from"./index-BRvfvR0q.js";var n=e(`tag`,[[`path`,{d:`M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z`,key:`vktsd0`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`kqv944`}]]);function r(e){return t({tag:`svg`,attr:{viewBox:`0 0 16 16`,fill:`currentColor`},child:[{tag:`path`,attr:{d:`M15.434 1.72887L12.14 0.144875C12.002 0.078875 11.855 0.046875 11.709 0.046875C11.353 0.046875 11.18 0.211875 11.155 0.228875C11.073 0.270875 11.005 0.337875 11.004 0.338875L4.698 6.08888L1.951 4.00488C1.832 3.91388 1.69 3.86987 1.548 3.86987C1.387 3.86987 1.226 3.92788 1.1 4.04288L0.219 4.84387C0.074 4.97587 0.001 5.15688 0.001 5.33687C0.001 5.51687 0.073 5.69688 0.218 5.82888L2.6 8.00088L0.217 10.1719C0.072 10.3039 0 10.4839 0 10.6639C0 10.8439 0.073 11.0249 0.218 11.1569L1.099 11.9579C1.226 12.0729 1.386 12.1309 1.547 12.1309C1.688 12.1309 1.83 12.0859 1.95 11.9959L4.697 9.91187L11.003 15.6619C11.003 15.6619 11.072 15.7299 11.155 15.7719C11.179 15.7889 11.353 15.9529 11.709 15.9529C11.855 15.9529 12.003 15.9209 12.141 15.8549L15.435 14.2709C15.781 14.1049 16.001 13.7539 16.001 13.3699V2.62888C16.001 2.24487 15.781 1.89488 15.435 1.72787L15.434 1.72887ZM7.217 7.99988L12.002 4.36987V11.6299L7.217 7.99988Z`},child:[]}]})(e)}function i(e){return t({tag:`svg`,attr:{viewBox:`0 0 16 16`,fill:`currentColor`},child:[{tag:`path`,attr:{d:`M8.045 7.37722L5.449 5.40722L10.636 0.676223C10.685 0.631223 10.735 0.617223 10.778 0.617223C10.786 0.617223 10.999 0.627223 10.999 0.837223V5.13222L8.044 7.37622L8.045 7.37722ZM0.217 10.1762C0.072 10.3082 0 10.4882 0 10.6682C0 10.8482 0.073 11.0292 0.218 11.1612L1.099 11.9622C1.226 12.0772 1.386 12.1352 1.547 12.1352C1.688 12.1352 1.83 12.0902 1.95 12.0002L3.887 10.5312L1.858 8.68122L0.218 10.1762H0.217ZM1.95 4.00822C1.83 3.91722 1.689 3.87322 1.547 3.87322C1.386 3.87322 1.225 3.93122 1.099 4.04622L0.218 4.84722C0.073 4.97922 0 5.16022 0 5.34022C0 5.52022 0.072 5.70022 0.217 5.83222L2.202 7.64222L10.634 15.3332C10.684 15.3792 10.735 15.3922 10.779 15.3922C10.888 15.3922 11 15.3142 11 15.1752V10.8762L1.95 4.00822ZM15.434 1.73322L12.14 0.149223C12.002 0.0832227 11.855 0.0532227 11.709 0.0532227H11.704C11.888 0.268223 12.003 0.537223 12.003 0.837223V15.1752C12.004 15.4702 11.894 15.7342 11.716 15.9472H11.734C11.748 15.9472 11.761 15.9472 11.775 15.9472C11.962 15.9472 12.123 15.8682 12.14 15.8602L15.434 14.2762C15.78 14.1102 16 13.7592 16 13.3752V2.63422C16 2.25022 15.78 1.90022 15.434 1.73322Z`},child:[]}]})(e)}export{i as n,n as r,r as t};
1
+ import{h as e}from"./button-BrcP8Wxx.js";import{h as t}from"./status-CKOvrZ16.js";var n=e(`tag`,[[`path`,{d:`M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z`,key:`vktsd0`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`kqv944`}]]);function r(e){return t({tag:`svg`,attr:{viewBox:`0 0 16 16`,fill:`currentColor`},child:[{tag:`path`,attr:{d:`M15.434 1.72887L12.14 0.144875C12.002 0.078875 11.855 0.046875 11.709 0.046875C11.353 0.046875 11.18 0.211875 11.155 0.228875C11.073 0.270875 11.005 0.337875 11.004 0.338875L4.698 6.08888L1.951 4.00488C1.832 3.91388 1.69 3.86987 1.548 3.86987C1.387 3.86987 1.226 3.92788 1.1 4.04288L0.219 4.84387C0.074 4.97587 0.001 5.15688 0.001 5.33687C0.001 5.51687 0.073 5.69688 0.218 5.82888L2.6 8.00088L0.217 10.1719C0.072 10.3039 0 10.4839 0 10.6639C0 10.8439 0.073 11.0249 0.218 11.1569L1.099 11.9579C1.226 12.0729 1.386 12.1309 1.547 12.1309C1.688 12.1309 1.83 12.0859 1.95 11.9959L4.697 9.91187L11.003 15.6619C11.003 15.6619 11.072 15.7299 11.155 15.7719C11.179 15.7889 11.353 15.9529 11.709 15.9529C11.855 15.9529 12.003 15.9209 12.141 15.8549L15.435 14.2709C15.781 14.1049 16.001 13.7539 16.001 13.3699V2.62888C16.001 2.24487 15.781 1.89488 15.435 1.72787L15.434 1.72887ZM7.217 7.99988L12.002 4.36987V11.6299L7.217 7.99988Z`},child:[]}]})(e)}function i(e){return t({tag:`svg`,attr:{viewBox:`0 0 16 16`,fill:`currentColor`},child:[{tag:`path`,attr:{d:`M8.045 7.37722L5.449 5.40722L10.636 0.676223C10.685 0.631223 10.735 0.617223 10.778 0.617223C10.786 0.617223 10.999 0.627223 10.999 0.837223V5.13222L8.044 7.37622L8.045 7.37722ZM0.217 10.1762C0.072 10.3082 0 10.4882 0 10.6682C0 10.8482 0.073 11.0292 0.218 11.1612L1.099 11.9622C1.226 12.0772 1.386 12.1352 1.547 12.1352C1.688 12.1352 1.83 12.0902 1.95 12.0002L3.887 10.5312L1.858 8.68122L0.218 10.1762H0.217ZM1.95 4.00822C1.83 3.91722 1.689 3.87322 1.547 3.87322C1.386 3.87322 1.225 3.93122 1.099 4.04622L0.218 4.84722C0.073 4.97922 0 5.16022 0 5.34022C0 5.52022 0.072 5.70022 0.217 5.83222L2.202 7.64222L10.634 15.3332C10.684 15.3792 10.735 15.3922 10.779 15.3922C10.888 15.3922 11 15.3142 11 15.1752V10.8762L1.95 4.00822ZM15.434 1.73322L12.14 0.149223C12.002 0.0832227 11.855 0.0532227 11.709 0.0532227H11.704C11.888 0.268223 12.003 0.537223 12.003 0.837223V15.1752C12.004 15.4702 11.894 15.7342 11.716 15.9472H11.734C11.748 15.9472 11.761 15.9472 11.775 15.9472C11.962 15.9472 12.123 15.8682 12.14 15.8602L15.434 14.2762C15.78 14.1102 16 13.7592 16 13.3752V2.63422C16 2.25022 15.78 1.90022 15.434 1.73322Z`},child:[]}]})(e)}export{i as n,n as r,r as t};
@@ -21,7 +21,7 @@
21
21
  if (palette === 'aurora') document.querySelector('link[rel="icon"]').href = '/favicon-aurora.svg';
22
22
  })();
23
23
  </script>
24
- <script type="module" crossorigin src="/assets/index-BRvfvR0q.js"></script>
24
+ <script type="module" crossorigin src="/assets/index-D-sx2qJG.js"></script>
25
25
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-hePW80VL.js">
26
26
  <link rel="modulepreload" crossorigin href="/assets/jsx-runtime-DE3RlOCf.js">
27
27
  <link rel="modulepreload" crossorigin href="/assets/button-BrcP8Wxx.js">
@@ -29,10 +29,11 @@
29
29
  <link rel="modulepreload" crossorigin href="/assets/chevron-down-Dy03VL1q.js">
30
30
  <link rel="modulepreload" crossorigin href="/assets/useValueChanged-DfJmRF2P.js">
31
31
  <link rel="modulepreload" crossorigin href="/assets/isElementDisabled-BONWqXlb.js">
32
+ <link rel="modulepreload" crossorigin href="/assets/status-CKOvrZ16.js">
32
33
  <link rel="modulepreload" crossorigin href="/assets/monaco-DLwhzYMT.js">
33
34
  <link rel="modulepreload" crossorigin href="/assets/brand-hHByyyzq.js">
34
35
  <link rel="stylesheet" crossorigin href="/assets/monaco-d9IpiNv7.css">
35
- <link rel="stylesheet" crossorigin href="/assets/index-C4GcVl9Z.css">
36
+ <link rel="stylesheet" crossorigin href="/assets/index-n0pVdSJ7.css">
36
37
  </head>
37
38
  <body>
38
39
  <div id="root"></div>
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAGA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AA6E5B,OAAO,EAA6B,aAAa,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAyF7G,eAAO,MAAM,GAAG,4EAAa,CAAC;AAc9B,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,CAAC;AA0K7C,yEAAyE;AACzE,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,SAA2B;CAI/C;AAmBD,kFAAkF;AAClF,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAE9E;AAID;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,YAAY,GAAE,MAAM,CAAC,YAA2B,EAChD,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,eAAe,GAAE,MAAM,OAMtB,GACA,OAAO,CAeT;AAiCD,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE/E;AA6vHD,wBAAgB,WAAW,CACzB,IAAI,SAAO,EACX,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAClC,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE,CAAC,CAgCxC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAIA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AA6E5B,OAAO,EAA6B,aAAa,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAyF7G,eAAO,MAAM,GAAG,4EAAa,CAAC;AAc9B,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,CAAC;AA0K7C,yEAAyE;AACzE,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,SAA2B;CAI/C;AAmBD,kFAAkF;AAClF,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAE9E;AAID;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,YAAY,GAAE,MAAM,CAAC,YAA2B,EAChD,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,eAAe,GAAE,MAAM,OAMtB,GACA,OAAO,CAeT;AAiCD,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE/E;AAkwHD,wBAAgB,WAAW,CACzB,IAAI,SAAO,EACX,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAClC,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE,CAAC,CAwCxC"}
package/dist/server.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { registerTerminalRoutes, terminalManager } from './terminal/routes.js';
1
2
  import { registerWorkGuidanceRoutes } from './http/work-guidance-routes.js';
2
3
  import { extractAstSymbols } from './services/symbolService.js';
3
4
  import { readRepositoryFile, RepositoryFileAccessError } from './services/repository-file.js';
@@ -1373,6 +1374,10 @@ app.post('/api/workspace/:id/launch', async (c) => {
1373
1374
  return errorResponse(c, error);
1374
1375
  }
1375
1376
  });
1377
+ registerTerminalRoutes(app, upgradeWebSocket, async (id) => {
1378
+ const config = await loadConfig();
1379
+ return resolveExactLaunchWorkspace(config.workspacesDir, resolveWorkspacePath(config.workspacesDir, id));
1380
+ });
1376
1381
  // 8b. Launch an external interactive terminal for a workspace or AI session.
1377
1382
  app.post('/api/workspace/:id/terminal', async (c) => {
1378
1383
  const origin = c.req.header('origin');
@@ -2614,7 +2619,7 @@ app.get('/api/workspace/:id/sessions', async (c) => {
2614
2619
  }
2615
2620
  const requestedCount = limit ?? 3;
2616
2621
  const candidates = discoveredSessions
2617
- .filter((session) => session.assistant === 'codex' || session.assistant === 'claude')
2622
+ .filter((session) => session.threadKind !== 'subagent' && (session.assistant === 'codex' || session.assistant === 'claude'))
2618
2623
  .slice(0, DESKTOP_HANDOFF_SCAN_LIMIT);
2619
2624
  const sessions = [];
2620
2625
  const claudeTransferAvailable = candidates.some((session) => session.assistant === 'claude')
@@ -3867,7 +3872,15 @@ export function startServer(port = 3000, opts = {}) {
3867
3872
  resolve({ port: info.port, server });
3868
3873
  });
3869
3874
  injectWebSocket(server);
3875
+ const stopTerminals = () => { terminalManager.dispose(); process.exit(0); };
3876
+ process.once('SIGTERM', stopTerminals);
3877
+ process.once('SIGINT', stopTerminals);
3878
+ server.once('close', () => {
3879
+ process.removeListener('SIGTERM', stopTerminals);
3880
+ process.removeListener('SIGINT', stopTerminals);
3881
+ });
3870
3882
  server.on('close', () => {
3883
+ terminalManager.dispose();
3871
3884
  void workroomManager.stopOrLeave().catch((error) => {
3872
3885
  console.error('[workroom] failed to stop with the dashboard:', error instanceof Error ? error.message : String(error));
3873
3886
  });