@clawos-dev/clawd 0.2.716 → 0.2.717

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.
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <meta name="referrer" content="no-referrer" />
7
7
  <title>Clawd</title>
8
- <script type="module" crossorigin src="/app/assets/owner-BV7gI5Wy.js"></script>
8
+ <script type="module" crossorigin src="/app/assets/owner-D38u-37d.js"></script>
9
9
  <link rel="stylesheet" crossorigin href="/app/assets/owner-BcG1zRor.css">
10
10
  </head>
11
11
  <body style="margin: 0">
@@ -533,7 +533,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
533
533
  `)},zk=function(){var e=parseInt(document.body.getAttribute(Xa)||"0",10);return isFinite(e)?e:0},Rq=function(){g.useEffect(function(){return document.body.setAttribute(Xa,(zk()+1).toString()),function(){var e=zk()-1;e<=0?document.body.removeAttribute(Xa):document.body.setAttribute(Xa,e.toString())}},[])},Mq=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?"margin":r;Rq();var s=g.useMemo(function(){return Nq(i)},[i]);return g.createElement(Tq,{styles:Pq(s,!t,i,n?"":"!important")})},wx=!1;if(typeof window<"u")try{var Qd=Object.defineProperty({},"passive",{get:function(){return wx=!0,!0}});window.addEventListener("test",Qd,Qd),window.removeEventListener("test",Qd,Qd)}catch{wx=!1}var ma=wx?{passive:!1}:!1,Aq=function(e){return e.tagName==="TEXTAREA"},k3=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!Aq(e)&&n[t]==="visible")},jq=function(e){return k3(e,"overflowY")},Lq=function(e){return k3(e,"overflowX")},Fk=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var i=C3(e,r);if(i){var s=E3(e,r),o=s[1],a=s[2];if(o>a)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},Dq=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},Oq=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},C3=function(e,t){return e==="v"?jq(t):Lq(t)},E3=function(e,t){return e==="v"?Dq(t):Oq(t)},Bq=function(e,t){return e==="h"&&t==="rtl"?-1:1},$q=function(e,t,n,r,i){var s=Bq(e,window.getComputedStyle(t).direction),o=s*r,a=n.target,l=t.contains(a),c=!1,u=o>0,d=0,f=0;do{if(!a)break;var p=E3(e,a),m=p[0],v=p[1],w=p[2],x=v-w-s*m;(m||x)&&C3(e,a)&&(d+=x,f+=m);var _=a.parentNode;a=_&&_.nodeType===Node.DOCUMENT_FRAGMENT_NODE?_.host:_}while(!l&&a!==document.body||l&&(t.contains(a)||t===a));return(u&&Math.abs(d)<1||!u&&Math.abs(f)<1)&&(c=!0),c},Jd=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Hk=function(e){return[e.deltaX,e.deltaY]},Uk=function(e){return e&&"current"in e?e.current:e},zq=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Fq=function(e){return`
534
534
  .block-interactivity-`.concat(e,` {pointer-events: none;}
535
535
  .allow-interactivity-`).concat(e,` {pointer-events: all;}
536
- `)},Hq=0,ga=[];function Uq(e){var t=g.useRef([]),n=g.useRef([0,0]),r=g.useRef(),i=g.useState(Hq++)[0],s=g.useState(S3)[0],o=g.useRef(e);g.useEffect(function(){o.current=e},[e]),g.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(i));var v=uq([e.lockRef.current],(e.shards||[]).map(Uk),!0).filter(Boolean);return v.forEach(function(w){return w.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),v.forEach(function(w){return w.classList.remove("allow-interactivity-".concat(i))})}}},[e.inert,e.lockRef.current,e.shards]);var a=g.useCallback(function(v,w){if("touches"in v&&v.touches.length===2||v.type==="wheel"&&v.ctrlKey)return!o.current.allowPinchZoom;var x=Jd(v),_=n.current,b="deltaX"in v?v.deltaX:_[0]-x[0],S="deltaY"in v?v.deltaY:_[1]-x[1],C,k=v.target,N=Math.abs(b)>Math.abs(S)?"h":"v";if("touches"in v&&N==="h"&&k.type==="range")return!1;var E=window.getSelection(),j=E&&E.anchorNode,P=j?j===k||j.contains(k):!1;if(P)return!1;var L=Fk(N,k);if(!L)return!0;if(L?C=N:(C=N==="v"?"h":"v",L=Fk(N,k)),!L)return!1;if(!r.current&&"changedTouches"in v&&(b||S)&&(r.current=C),!C)return!0;var M=r.current||C;return $q(M,w,v,M==="h"?b:S)},[]),l=g.useCallback(function(v){var w=v;if(!(!ga.length||ga[ga.length-1]!==s)){var x="deltaY"in w?Hk(w):Jd(w),_=t.current.filter(function(C){return C.name===w.type&&(C.target===w.target||w.target===C.shadowParent)&&zq(C.delta,x)})[0];if(_&&_.should){w.cancelable&&w.preventDefault();return}if(!_){var b=(o.current.shards||[]).map(Uk).filter(Boolean).filter(function(C){return C.contains(w.target)}),S=b.length>0?a(w,b[0]):!o.current.noIsolation;S&&w.cancelable&&w.preventDefault()}}},[]),c=g.useCallback(function(v,w,x,_){var b={name:v,delta:w,target:x,should:_,shadowParent:Wq(x)};t.current.push(b),setTimeout(function(){t.current=t.current.filter(function(S){return S!==b})},1)},[]),u=g.useCallback(function(v){n.current=Jd(v),r.current=void 0},[]),d=g.useCallback(function(v){c(v.type,Hk(v),v.target,a(v,e.lockRef.current))},[]),f=g.useCallback(function(v){c(v.type,Jd(v),v.target,a(v,e.lockRef.current))},[]);g.useEffect(function(){return ga.push(s),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener("wheel",l,ma),document.addEventListener("touchmove",l,ma),document.addEventListener("touchstart",u,ma),function(){ga=ga.filter(function(v){return v!==s}),document.removeEventListener("wheel",l,ma),document.removeEventListener("touchmove",l,ma),document.removeEventListener("touchstart",u,ma)}},[]);var p=e.removeScrollBar,m=e.inert;return g.createElement(g.Fragment,null,m?g.createElement(s,{styles:Fq(i)}):null,p?g.createElement(Mq,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Wq(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const qq=yq(w3,Uq);var fm=g.forwardRef(function(e,t){return g.createElement(hm,pi({},e,{ref:t,sideCar:qq}))});fm.classNames=hm.classNames;var Sx=["Enter"," "],Vq=["ArrowDown","PageUp","Home"],I3=["ArrowUp","PageDown","End"],Kq=[...Vq,...I3],Gq={ltr:[...Sx,"ArrowRight"],rtl:[...Sx,"ArrowLeft"]},Yq={ltr:["ArrowLeft"],rtl:["ArrowRight"]},Qu="Menu",[Iu,Xq,Zq]=F4(Qu),[ta,N3]=io(Qu,[Zq,Hl,p3]),Ju=Hl(),T3=p3(),[P3,so]=ta(Qu),[Qq,ed]=ta(Qu),R3=e=>{const{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:s,modal:o=!0}=e,a=Ju(t),[l,c]=g.useState(null),u=g.useRef(!1),d=Ei(s),f=H4(i);return g.useEffect(()=>{const p=()=>{u.current=!0,document.addEventListener("pointerdown",m,{capture:!0,once:!0}),document.addEventListener("pointermove",m,{capture:!0,once:!0})},m=()=>u.current=!1;return document.addEventListener("keydown",p,{capture:!0}),()=>{document.removeEventListener("keydown",p,{capture:!0}),document.removeEventListener("pointerdown",m,{capture:!0}),document.removeEventListener("pointermove",m,{capture:!0})}},[]),h.jsx(cm,{...a,children:h.jsx(P3,{scope:t,open:n,onOpenChange:d,content:l,onContentChange:c,children:h.jsx(Qq,{scope:t,onClose:g.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})};R3.displayName=Qu;var Jq="MenuAnchor",w_=g.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,i=Ju(n);return h.jsx(um,{...i,...r,ref:t})});w_.displayName=Jq;var S_="MenuPortal",[eV,M3]=ta(S_,{forceMount:void 0}),A3=e=>{const{__scopeMenu:t,forceMount:n,children:r,container:i}=e,s=so(S_,t);return h.jsx(eV,{scope:t,forceMount:n,children:h.jsx(Jr,{present:n||s.open,children:h.jsx(dm,{asChild:!0,container:i,children:r})})})};A3.displayName=S_;var Pr="MenuContent",[tV,k_]=ta(Pr),j3=g.forwardRef((e,t)=>{const n=M3(Pr,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,s=so(Pr,e.__scopeMenu),o=ed(Pr,e.__scopeMenu);return h.jsx(Iu.Provider,{scope:e.__scopeMenu,children:h.jsx(Jr,{present:r||s.open,children:h.jsx(Iu.Slot,{scope:e.__scopeMenu,children:o.modal?h.jsx(nV,{...i,ref:t}):h.jsx(rV,{...i,ref:t})})})})}),nV=g.forwardRef((e,t)=>{const n=so(Pr,e.__scopeMenu),r=g.useRef(null),i=Ot(t,r);return g.useEffect(()=>{const s=r.current;if(s)return b_(s)},[]),h.jsx(C_,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:Ne(e.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),rV=g.forwardRef((e,t)=>{const n=so(Pr,e.__scopeMenu);return h.jsx(C_,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),iV=pl("MenuContent.ScrollLock"),C_=g.forwardRef((e,t)=>{const{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:s,onCloseAutoFocus:o,disableOutsidePointerEvents:a,onEntryFocus:l,onEscapeKeyDown:c,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,disableOutsideScroll:m,...v}=e,w=so(Pr,n),x=ed(Pr,n),_=Ju(n),b=T3(n),S=Xq(n),[C,k]=g.useState(null),N=g.useRef(null),E=Ot(t,N,w.onContentChange),j=g.useRef(0),P=g.useRef(""),L=g.useRef(0),M=g.useRef(null),R=g.useRef("right"),A=g.useRef(0),D=m?fm:g.Fragment,z=m?{as:iV,allowPinchZoom:!0}:void 0,F=O=>{var re,ke;const I=P.current+O,U=S().filter(oe=>!oe.disabled),q=document.activeElement,B=(re=U.find(oe=>oe.ref.current===q))==null?void 0:re.textValue,te=U.map(oe=>oe.textValue),le=gV(te,I,B),Y=(ke=U.find(oe=>oe.textValue===le))==null?void 0:ke.ref.current;(function oe(Ie){P.current=Ie,window.clearTimeout(j.current),Ie!==""&&(j.current=window.setTimeout(()=>oe(""),1e3))})(I),Y&&setTimeout(()=>Y.focus())};g.useEffect(()=>()=>window.clearTimeout(j.current),[]),u_();const $=g.useCallback(O=>{var U,q;return R.current===((U=M.current)==null?void 0:U.side)&&xV(O,(q=M.current)==null?void 0:q.area)},[]);return h.jsx(tV,{scope:n,searchRef:P,onItemEnter:g.useCallback(O=>{$(O)&&O.preventDefault()},[$]),onItemLeave:g.useCallback(O=>{var I;$(O)||((I=N.current)==null||I.focus(),k(null))},[$]),onTriggerLeave:g.useCallback(O=>{$(O)&&O.preventDefault()},[$]),pointerGraceTimerRef:L,onPointerGraceIntentChange:g.useCallback(O=>{M.current=O},[]),children:h.jsx(D,{...z,children:h.jsx(im,{asChild:!0,trapped:i,onMountAutoFocus:Ne(s,O=>{var I;O.preventDefault(),(I=N.current)==null||I.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:h.jsx(Yu,{asChild:!0,disableOutsidePointerEvents:a,onEscapeKeyDown:c,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,children:h.jsx(sq,{asChild:!0,...b,dir:x.dir,orientation:"vertical",loop:r,currentTabStopId:C,onCurrentTabStopIdChange:k,onEntryFocus:Ne(l,O=>{x.isUsingKeyboardRef.current||O.preventDefault()}),preventScrollOnEntryFocus:!0,children:h.jsx(y_,{role:"menu","aria-orientation":"vertical","data-state":Z3(w.open),"data-radix-menu-content":"",dir:x.dir,..._,...v,ref:E,style:{outline:"none",...v.style},onKeyDown:Ne(v.onKeyDown,O=>{const U=O.target.closest("[data-radix-menu-content]")===O.currentTarget,q=O.ctrlKey||O.altKey||O.metaKey,B=O.key.length===1;U&&(O.key==="Tab"&&O.preventDefault(),!q&&B&&F(O.key));const te=N.current;if(O.target!==te||!Kq.includes(O.key))return;O.preventDefault();const Y=S().filter(re=>!re.disabled).map(re=>re.ref.current);I3.includes(O.key)&&Y.reverse(),pV(Y)}),onBlur:Ne(e.onBlur,O=>{O.currentTarget.contains(O.target)||(window.clearTimeout(j.current),P.current="")}),onPointerMove:Ne(e.onPointerMove,Nu(O=>{const I=O.target,U=A.current!==O.clientX;if(O.currentTarget.contains(I)&&U){const q=O.clientX>A.current?"right":"left";R.current=q,A.current=O.clientX}}))})})})})})})});j3.displayName=Pr;var sV="MenuGroup",E_=g.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return h.jsx(wt.div,{role:"group",...r,ref:t})});E_.displayName=sV;var oV="MenuLabel",L3=g.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return h.jsx(wt.div,{...r,ref:t})});L3.displayName=oV;var Xf="MenuItem",Wk="menu.itemSelect",pm=g.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:r,...i}=e,s=g.useRef(null),o=ed(Xf,e.__scopeMenu),a=k_(Xf,e.__scopeMenu),l=Ot(t,s),c=g.useRef(!1),u=()=>{const d=s.current;if(!n&&d){const f=new CustomEvent(Wk,{bubbles:!0,cancelable:!0});d.addEventListener(Wk,p=>r==null?void 0:r(p),{once:!0}),z4(d,f),f.defaultPrevented?c.current=!1:o.onClose()}};return h.jsx(D3,{...i,ref:l,disabled:n,onClick:Ne(e.onClick,u),onPointerDown:d=>{var f;(f=e.onPointerDown)==null||f.call(e,d),c.current=!0},onPointerUp:Ne(e.onPointerUp,d=>{var f;c.current||(f=d.currentTarget)==null||f.click()}),onKeyDown:Ne(e.onKeyDown,d=>{const f=a.searchRef.current!=="";n||f&&d.key===" "||Sx.includes(d.key)&&(d.currentTarget.click(),d.preventDefault())})})});pm.displayName=Xf;var D3=g.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:r=!1,textValue:i,...s}=e,o=k_(Xf,n),a=T3(n),l=g.useRef(null),c=Ot(t,l),[u,d]=g.useState(!1),[f,p]=g.useState("");return g.useEffect(()=>{const m=l.current;m&&p((m.textContent??"").trim())},[s.children]),h.jsx(Iu.ItemSlot,{scope:n,disabled:r,textValue:i??f,children:h.jsx(oq,{asChild:!0,...a,focusable:!r,children:h.jsx(wt.div,{role:"menuitem","data-highlighted":u?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...s,ref:c,onPointerMove:Ne(e.onPointerMove,Nu(m=>{r?o.onItemLeave(m):(o.onItemEnter(m),m.defaultPrevented||m.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:Ne(e.onPointerLeave,Nu(m=>o.onItemLeave(m))),onFocus:Ne(e.onFocus,()=>d(!0)),onBlur:Ne(e.onBlur,()=>d(!1))})})})}),aV="MenuCheckboxItem",O3=g.forwardRef((e,t)=>{const{checked:n=!1,onCheckedChange:r,...i}=e;return h.jsx(H3,{scope:e.__scopeMenu,checked:n,children:h.jsx(pm,{role:"menuitemcheckbox","aria-checked":Zf(n)?"mixed":n,...i,ref:t,"data-state":T_(n),onSelect:Ne(i.onSelect,()=>r==null?void 0:r(Zf(n)?!0:!n),{checkForDefaultPrevented:!1})})})});O3.displayName=aV;var B3="MenuRadioGroup",[lV,cV]=ta(B3,{value:void 0,onValueChange:()=>{}}),$3=g.forwardRef((e,t)=>{const{value:n,onValueChange:r,...i}=e,s=Ei(r);return h.jsx(lV,{scope:e.__scopeMenu,value:n,onValueChange:s,children:h.jsx(E_,{...i,ref:t})})});$3.displayName=B3;var z3="MenuRadioItem",F3=g.forwardRef((e,t)=>{const{value:n,...r}=e,i=cV(z3,e.__scopeMenu),s=n===i.value;return h.jsx(H3,{scope:e.__scopeMenu,checked:s,children:h.jsx(pm,{role:"menuitemradio","aria-checked":s,...r,ref:t,"data-state":T_(s),onSelect:Ne(r.onSelect,()=>{var o;return(o=i.onValueChange)==null?void 0:o.call(i,n)},{checkForDefaultPrevented:!1})})})});F3.displayName=z3;var I_="MenuItemIndicator",[H3,uV]=ta(I_,{checked:!1}),U3=g.forwardRef((e,t)=>{const{__scopeMenu:n,forceMount:r,...i}=e,s=uV(I_,n);return h.jsx(Jr,{present:r||Zf(s.checked)||s.checked===!0,children:h.jsx(wt.span,{...i,ref:t,"data-state":T_(s.checked)})})});U3.displayName=I_;var dV="MenuSeparator",W3=g.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return h.jsx(wt.div,{role:"separator","aria-orientation":"horizontal",...r,ref:t})});W3.displayName=dV;var hV="MenuArrow",q3=g.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,i=Ju(n);return h.jsx(__,{...i,...r,ref:t})});q3.displayName=hV;var N_="MenuSub",[fV,V3]=ta(N_),K3=e=>{const{__scopeMenu:t,children:n,open:r=!1,onOpenChange:i}=e,s=so(N_,t),o=Ju(t),[a,l]=g.useState(null),[c,u]=g.useState(null),d=Ei(i);return g.useEffect(()=>(s.open===!1&&d(!1),()=>d(!1)),[s.open,d]),h.jsx(cm,{...o,children:h.jsx(P3,{scope:t,open:r,onOpenChange:d,content:c,onContentChange:u,children:h.jsx(fV,{scope:t,contentId:bi(),triggerId:bi(),trigger:a,onTriggerChange:l,children:n})})})};K3.displayName=N_;var kc="MenuSubTrigger",G3=g.forwardRef((e,t)=>{const n=so(kc,e.__scopeMenu),r=ed(kc,e.__scopeMenu),i=V3(kc,e.__scopeMenu),s=k_(kc,e.__scopeMenu),o=g.useRef(null),{pointerGraceTimerRef:a,onPointerGraceIntentChange:l}=s,c={__scopeMenu:e.__scopeMenu},u=g.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=null},[]);return g.useEffect(()=>u,[u]),g.useEffect(()=>{const d=a.current;return()=>{window.clearTimeout(d),l(null)}},[a,l]),h.jsx(w_,{asChild:!0,...c,children:h.jsx(D3,{id:i.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":i.contentId,"data-state":Z3(n.open),...e,ref:Gu(t,i.onTriggerChange),onClick:d=>{var f;(f=e.onClick)==null||f.call(e,d),!(e.disabled||d.defaultPrevented)&&(d.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:Ne(e.onPointerMove,Nu(d=>{s.onItemEnter(d),!d.defaultPrevented&&!e.disabled&&!n.open&&!o.current&&(s.onPointerGraceIntentChange(null),o.current=window.setTimeout(()=>{n.onOpenChange(!0),u()},100))})),onPointerLeave:Ne(e.onPointerLeave,Nu(d=>{var p,m;u();const f=(p=n.content)==null?void 0:p.getBoundingClientRect();if(f){const v=(m=n.content)==null?void 0:m.dataset.side,w=v==="right",x=w?-5:5,_=f[w?"left":"right"],b=f[w?"right":"left"];s.onPointerGraceIntentChange({area:[{x:d.clientX+x,y:d.clientY},{x:_,y:f.top},{x:b,y:f.top},{x:b,y:f.bottom},{x:_,y:f.bottom}],side:v}),window.clearTimeout(a.current),a.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(d),d.defaultPrevented)return;s.onPointerGraceIntentChange(null)}})),onKeyDown:Ne(e.onKeyDown,d=>{var p;const f=s.searchRef.current!=="";e.disabled||f&&d.key===" "||Gq[r.dir].includes(d.key)&&(n.onOpenChange(!0),(p=n.content)==null||p.focus(),d.preventDefault())})})})});G3.displayName=kc;var Y3="MenuSubContent",X3=g.forwardRef((e,t)=>{const n=M3(Pr,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,s=so(Pr,e.__scopeMenu),o=ed(Pr,e.__scopeMenu),a=V3(Y3,e.__scopeMenu),l=g.useRef(null),c=Ot(t,l);return h.jsx(Iu.Provider,{scope:e.__scopeMenu,children:h.jsx(Jr,{present:r||s.open,children:h.jsx(Iu.Slot,{scope:e.__scopeMenu,children:h.jsx(C_,{id:a.contentId,"aria-labelledby":a.triggerId,...i,ref:c,align:"start",side:o.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:u=>{var d;o.isUsingKeyboardRef.current&&((d=l.current)==null||d.focus()),u.preventDefault()},onCloseAutoFocus:u=>u.preventDefault(),onFocusOutside:Ne(e.onFocusOutside,u=>{u.target!==a.trigger&&s.onOpenChange(!1)}),onEscapeKeyDown:Ne(e.onEscapeKeyDown,u=>{o.onClose(),u.preventDefault()}),onKeyDown:Ne(e.onKeyDown,u=>{var p;const d=u.currentTarget.contains(u.target),f=Yq[o.dir].includes(u.key);d&&f&&(s.onOpenChange(!1),(p=a.trigger)==null||p.focus(),u.preventDefault())})})})})})});X3.displayName=Y3;function Z3(e){return e?"open":"closed"}function Zf(e){return e==="indeterminate"}function T_(e){return Zf(e)?"indeterminate":e?"checked":"unchecked"}function pV(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function mV(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function gV(e,t,n){const i=t.length>1&&Array.from(t).every(c=>c===t[0])?t[0]:t,s=n?e.indexOf(n):-1;let o=mV(e,Math.max(s,0));i.length===1&&(o=o.filter(c=>c!==n));const l=o.find(c=>c.toLowerCase().startsWith(i.toLowerCase()));return l!==n?l:void 0}function vV(e,t){const{x:n,y:r}=e;let i=!1;for(let s=0,o=t.length-1;s<t.length;o=s++){const a=t[s],l=t[o],c=a.x,u=a.y,d=l.x,f=l.y;u>r!=f>r&&n<(d-c)*(r-u)/(f-u)+c&&(i=!i)}return i}function xV(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return vV(n,t)}function Nu(e){return t=>t.pointerType==="mouse"?e(t):void 0}var yV=R3,_V=w_,bV=A3,wV=j3,SV=E_,kV=L3,CV=pm,EV=O3,IV=$3,NV=F3,TV=U3,PV=W3,RV=q3,MV=K3,AV=G3,jV=X3,mm="DropdownMenu",[LV]=io(mm,[N3]),Rn=N3(),[DV,Q3]=LV(mm),J3=e=>{const{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:s,onOpenChange:o,modal:a=!0}=e,l=Rn(t),c=g.useRef(null),[u,d]=$l({prop:i,defaultProp:s??!1,onChange:o,caller:mm});return h.jsx(DV,{scope:t,triggerId:bi(),triggerRef:c,contentId:bi(),open:u,onOpenChange:d,onOpenToggle:g.useCallback(()=>d(f=>!f),[d]),modal:a,children:h.jsx(yV,{...l,open:u,onOpenChange:d,dir:r,modal:a,children:n})})};J3.displayName=mm;var eP="DropdownMenuTrigger",tP=g.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,s=Q3(eP,n),o=Rn(n);return h.jsx(_V,{asChild:!0,...o,children:h.jsx(wt.button,{type:"button",id:s.triggerId,"aria-haspopup":"menu","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":s.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...i,ref:Gu(t,s.triggerRef),onPointerDown:Ne(e.onPointerDown,a=>{!r&&a.button===0&&a.ctrlKey===!1&&(s.onOpenToggle(),s.open||a.preventDefault())}),onKeyDown:Ne(e.onKeyDown,a=>{r||(["Enter"," "].includes(a.key)&&s.onOpenToggle(),a.key==="ArrowDown"&&s.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(a.key)&&a.preventDefault())})})})});tP.displayName=eP;var OV="DropdownMenuPortal",nP=e=>{const{__scopeDropdownMenu:t,...n}=e,r=Rn(t);return h.jsx(bV,{...r,...n})};nP.displayName=OV;var rP="DropdownMenuContent",iP=g.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Q3(rP,n),s=Rn(n),o=g.useRef(!1);return h.jsx(wV,{id:i.contentId,"aria-labelledby":i.triggerId,...s,...r,ref:t,onCloseAutoFocus:Ne(e.onCloseAutoFocus,a=>{var l;o.current||(l=i.triggerRef.current)==null||l.focus(),o.current=!1,a.preventDefault()}),onInteractOutside:Ne(e.onInteractOutside,a=>{const l=a.detail.originalEvent,c=l.button===0&&l.ctrlKey===!0,u=l.button===2||c;(!i.modal||u)&&(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)"}})});iP.displayName=rP;var BV="DropdownMenuGroup",$V=g.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Rn(n);return h.jsx(SV,{...i,...r,ref:t})});$V.displayName=BV;var zV="DropdownMenuLabel",sP=g.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Rn(n);return h.jsx(kV,{...i,...r,ref:t})});sP.displayName=zV;var FV="DropdownMenuItem",oP=g.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Rn(n);return h.jsx(CV,{...i,...r,ref:t})});oP.displayName=FV;var HV="DropdownMenuCheckboxItem",aP=g.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Rn(n);return h.jsx(EV,{...i,...r,ref:t})});aP.displayName=HV;var UV="DropdownMenuRadioGroup",WV=g.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Rn(n);return h.jsx(IV,{...i,...r,ref:t})});WV.displayName=UV;var qV="DropdownMenuRadioItem",VV=g.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Rn(n);return h.jsx(NV,{...i,...r,ref:t})});VV.displayName=qV;var KV="DropdownMenuItemIndicator",lP=g.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Rn(n);return h.jsx(TV,{...i,...r,ref:t})});lP.displayName=KV;var GV="DropdownMenuSeparator",cP=g.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Rn(n);return h.jsx(PV,{...i,...r,ref:t})});cP.displayName=GV;var YV="DropdownMenuArrow",XV=g.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Rn(n);return h.jsx(RV,{...i,...r,ref:t})});XV.displayName=YV;var ZV=e=>{const{__scopeDropdownMenu:t,children:n,open:r,onOpenChange:i,defaultOpen:s}=e,o=Rn(t),[a,l]=$l({prop:r,defaultProp:s??!1,onChange:i,caller:"DropdownMenuSub"});return h.jsx(MV,{...o,open:a,onOpenChange:l,children:n})},QV="DropdownMenuSubTrigger",uP=g.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Rn(n);return h.jsx(AV,{...i,...r,ref:t})});uP.displayName=QV;var JV="DropdownMenuSubContent",dP=g.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Rn(n);return h.jsx(jV,{...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)"}})});dP.displayName=JV;var eK=J3,tK=tP,hP=nP,fP=iP,pP=sP,mP=oP,gP=aP,nK=lP,vP=cP,rK=ZV,xP=uP,yP=dP;const P_=eK,R_=tK,gm=g.forwardRef(({className:e,sideOffset:t=4,...n},r)=>h.jsx(hP,{children:h.jsx(fP,{ref:r,sideOffset:t,className:ie("z-50 min-w-[8rem] overflow-hidden rounded-md border border-border bg-elevated p-1","text-text-100 shadow-md",e),...n})}));gm.displayName=fP.displayName;const _P=rK,M_=g.forwardRef(({className:e,...t},n)=>h.jsx(xP,{ref:n,className:ie("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none","focus:bg-bg-200 focus:text-text-100 data-[highlighted]:bg-bg-200 data-[highlighted]:text-text-100 data-[state=open]:bg-bg-200","data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...t}));M_.displayName=xP.displayName;const A_=g.forwardRef(({className:e,...t},n)=>h.jsx(hP,{children:h.jsx(yP,{ref:n,className:ie("z-50 min-w-[6rem] overflow-hidden rounded-md border border-border bg-elevated p-1","text-text-100 shadow-md",e),...t})}));A_.displayName=yP.displayName;const Ir=g.forwardRef(({className:e,inset:t,...n},r)=>h.jsx(mP,{ref:r,className:ie("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none","focus:bg-bg-200 focus:text-text-100 data-[highlighted]:bg-bg-200 data-[highlighted]:text-text-100","data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t&&"pl-8",e),...n}));Ir.displayName=mP.displayName;const iK=g.forwardRef(({className:e,children:t,checked:n,...r},i)=>h.jsxs(gP,{ref:i,checked:n,className:ie("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-7 pr-2 text-sm outline-none","focus:bg-bg-200 focus:text-text-100 data-[highlighted]:bg-bg-200 data-[highlighted]:text-text-100","data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...r,children:[h.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:h.jsx(nK,{children:h.jsx(no,{className:"h-3.5 w-3.5"})})}),t]}));iK.displayName=gP.displayName;const vm=g.forwardRef(({className:e,...t},n)=>h.jsx(vP,{ref:n,className:ie("-mx-1 my-1 h-px bg-border",e),...t}));vm.displayName=vP.displayName;const j_=g.forwardRef(({className:e,...t},n)=>h.jsx(pP,{ref:n,className:ie("px-2 py-1.5 text-xs font-semibold text-text-400",e),...t}));j_.displayName=pP.displayName;function sK({tool:e,className:t}){const n=QH(e);return h.jsx("span",{"data-testid":n?`session-icon-${e}`:"session-icon-default","aria-label":n?l_(e):"未知引擎",className:ie("w-3.5 h-3.5 shrink-0 inline-flex items-center justify-center",rm(e),t),children:h.jsx(nm,{tool:e,className:"w-full h-full"})})}function oK({sessionId:e,hasUnread:t,running:n=!1,awaitingUser:r=!1,style:i}){return r?h.jsx(g7,{"data-testid":`awaiting-dot-${e}`,style:i,className:"w-3 h-3 text-warning shrink-0 animate-pulse",strokeWidth:2.25,"aria-label":"awaiting user"}):t?h.jsx("span",{"data-testid":`unread-dot-${e}`,style:i,className:"w-2 h-2 rounded-full bg-error shrink-0","aria-label":"unread"}):n?h.jsx("span",{"data-testid":`running-dot-${e}`,style:i,className:"w-2 h-2 rounded-full bg-success shrink-0 animate-pulse","aria-label":"running"}):null}function bP(e){return e.compositionActive||!!e.nativeIsComposing||e.keyCode===229}function wP(e){return e.key==="Enter"&&!e.shiftKey&&!bP(e)}function td(e,t){const n=g.useRef(!1),r=g.useCallback(()=>{n.current=!0},[]),i=g.useCallback(()=>{setTimeout(()=>{n.current=!1},0)},[]);return{onKeyDown:g.useCallback(o=>{const a=o.nativeEvent;if(wP({key:o.key,shiftKey:o.shiftKey,compositionActive:n.current,nativeIsComposing:a.isComposing,keyCode:a.keyCode})){o.preventDefault(),e();return}t&&o.key==="Escape"&&(o.preventDefault(),t())},[e,t]),onCompositionStart:r,onCompositionEnd:i}}function aK({open:e,initialLabel:t,placeholder:n,onSubmit:r,onCancel:i,title:s="Edit session",fieldLabel:o="Label",testId:a="session-edit-dialog",requireNonEmpty:l=!1}){const[c,u]=g.useState(t);g.useEffect(()=>{e&&u(t)},[e,t]);const d=c.trim(),f=l&&d==="",p=()=>{f||r({label:d})},m=td(p,i);return e?Oo.createPortal(h.jsx("div",{className:"fixed inset-0 z-[10000] flex items-center justify-center bg-bg-0/40 backdrop-blur-[2px]",onClick:i,"data-testid":`${a}-overlay`,children:h.jsxs("div",{"data-testid":a,className:"w-[420px] max-w-[calc(100vw-32px)] rounded-2xl border border-text-100/[0.12] flex flex-col gap-4 p-5",style:{backgroundColor:"var(--bg-0)",boxShadow:"0 12px 40px rgba(0,0,0,0.04)"},onClick:v=>v.stopPropagation(),children:[h.jsx("div",{className:"text-[15px] font-semibold text-text-100",children:s}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-[12px] font-semibold text-text-200 mb-1",children:o}),h.jsx("input",{autoFocus:!0,type:"text",value:c,onChange:v=>u(v.target.value),...m,placeholder:n,"data-testid":`${a}-label`,className:"w-full px-3 py-2 text-[13px] bg-bg-50 border border-bg-300 rounded-lg focus:outline-none focus:border-text-300 transition-colors"})]}),h.jsxs("div",{className:"flex justify-end gap-2 pt-1",children:[h.jsx("button",{type:"button",onClick:i,className:"px-4 py-1.5 text-[12px] text-text-300 rounded-lg hover:bg-text-100/5 transition-colors cursor-pointer",children:"Cancel"}),h.jsx("button",{type:"button",onClick:p,disabled:f,"data-testid":`${a}-save`,className:"px-4 py-1.5 text-[12px] font-medium text-bg-0 rounded-lg bg-text-100 hover:bg-text-200 transition-colors cursor-pointer disabled:cursor-not-allowed disabled:opacity-40",children:"Save"})]})]})}),document.body):null}var lK=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),cK="VisuallyHidden",SP=g.forwardRef((e,t)=>h.jsx(wt.span,{...e,ref:t,style:{...lK,...e.style}}));SP.displayName=cK;var uK=SP,[xm]=io("Tooltip",[Hl]),ym=Hl(),kP="TooltipProvider",dK=700,kx="tooltip.open",[hK,L_]=xm(kP),CP=e=>{const{__scopeTooltip:t,delayDuration:n=dK,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:s}=e,o=g.useRef(!0),a=g.useRef(!1),l=g.useRef(0);return g.useEffect(()=>{const c=l.current;return()=>window.clearTimeout(c)},[]),h.jsx(hK,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:g.useCallback(()=>{window.clearTimeout(l.current),o.current=!1},[]),onClose:g.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(()=>o.current=!0,r)},[r]),isPointerInTransitRef:a,onPointerInTransitChange:g.useCallback(c=>{a.current=c},[]),disableHoverableContent:i,children:s})};CP.displayName=kP;var Tu="Tooltip",[fK,_m]=xm(Tu),EP=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:s,disableHoverableContent:o,delayDuration:a}=e,l=L_(Tu,e.__scopeTooltip),c=ym(t),[u,d]=g.useState(null),f=bi(),p=g.useRef(0),m=o??l.disableHoverableContent,v=a??l.delayDuration,w=g.useRef(!1),[x,_]=$l({prop:r,defaultProp:i??!1,onChange:N=>{N?(l.onOpen(),document.dispatchEvent(new CustomEvent(kx))):l.onClose(),s==null||s(N)},caller:Tu}),b=g.useMemo(()=>x?w.current?"delayed-open":"instant-open":"closed",[x]),S=g.useCallback(()=>{window.clearTimeout(p.current),p.current=0,w.current=!1,_(!0)},[_]),C=g.useCallback(()=>{window.clearTimeout(p.current),p.current=0,_(!1)},[_]),k=g.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{w.current=!0,_(!0),p.current=0},v)},[v,_]);return g.useEffect(()=>()=>{p.current&&(window.clearTimeout(p.current),p.current=0)},[]),h.jsx(cm,{...c,children:h.jsx(fK,{scope:t,contentId:f,open:x,stateAttribute:b,trigger:u,onTriggerChange:d,onTriggerEnter:g.useCallback(()=>{l.isOpenDelayedRef.current?k():S()},[l.isOpenDelayedRef,k,S]),onTriggerLeave:g.useCallback(()=>{m?C():(window.clearTimeout(p.current),p.current=0)},[C,m]),onOpen:S,onClose:C,disableHoverableContent:m,children:n})})};EP.displayName=Tu;var Cx="TooltipTrigger",IP=g.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,i=_m(Cx,n),s=L_(Cx,n),o=ym(n),a=g.useRef(null),l=Ot(t,a,i.onTriggerChange),c=g.useRef(!1),u=g.useRef(!1),d=g.useCallback(()=>c.current=!1,[]);return g.useEffect(()=>()=>document.removeEventListener("pointerup",d),[d]),h.jsx(um,{asChild:!0,...o,children:h.jsx(wt.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:l,onPointerMove:Ne(e.onPointerMove,f=>{f.pointerType!=="touch"&&!u.current&&!s.isPointerInTransitRef.current&&(i.onTriggerEnter(),u.current=!0)}),onPointerLeave:Ne(e.onPointerLeave,()=>{i.onTriggerLeave(),u.current=!1}),onPointerDown:Ne(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener("pointerup",d,{once:!0})}),onFocus:Ne(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:Ne(e.onBlur,i.onClose),onClick:Ne(e.onClick,i.onClose)})})});IP.displayName=Cx;var pK="TooltipPortal",[Vde,mK]=xm(pK,{forceMount:void 0}),gl="TooltipContent",NP=g.forwardRef((e,t)=>{const n=mK(gl,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i="top",...s}=e,o=_m(gl,e.__scopeTooltip);return h.jsx(Jr,{present:r||o.open,children:o.disableHoverableContent?h.jsx(TP,{side:i,...s,ref:t}):h.jsx(gK,{side:i,...s,ref:t})})}),gK=g.forwardRef((e,t)=>{const n=_m(gl,e.__scopeTooltip),r=L_(gl,e.__scopeTooltip),i=g.useRef(null),s=Ot(t,i),[o,a]=g.useState(null),{trigger:l,onClose:c}=n,u=i.current,{onPointerInTransitChange:d}=r,f=g.useCallback(()=>{a(null),d(!1)},[d]),p=g.useCallback((m,v)=>{const w=m.currentTarget,x={x:m.clientX,y:m.clientY},_=bK(x,w.getBoundingClientRect()),b=wK(x,_),S=SK(v.getBoundingClientRect()),C=CK([...b,...S]);a(C),d(!0)},[d]);return g.useEffect(()=>()=>f(),[f]),g.useEffect(()=>{if(l&&u){const m=w=>p(w,u),v=w=>p(w,l);return l.addEventListener("pointerleave",m),u.addEventListener("pointerleave",v),()=>{l.removeEventListener("pointerleave",m),u.removeEventListener("pointerleave",v)}}},[l,u,p,f]),g.useEffect(()=>{if(o){const m=v=>{const w=v.target,x={x:v.clientX,y:v.clientY},_=(l==null?void 0:l.contains(w))||(u==null?void 0:u.contains(w)),b=!kK(x,o);_?f():b&&(f(),c())};return document.addEventListener("pointermove",m),()=>document.removeEventListener("pointermove",m)}},[l,u,o,c,f]),h.jsx(TP,{...e,ref:s})}),[vK,xK]=xm(Tu,{isInside:!1}),yK=cU("TooltipContent"),TP=g.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:s,onPointerDownOutside:o,...a}=e,l=_m(gl,n),c=ym(n),{onClose:u}=l;return g.useEffect(()=>(document.addEventListener(kx,u),()=>document.removeEventListener(kx,u)),[u]),g.useEffect(()=>{if(l.trigger){const d=f=>{const p=f.target;p!=null&&p.contains(l.trigger)&&u()};return window.addEventListener("scroll",d,{capture:!0}),()=>window.removeEventListener("scroll",d,{capture:!0})}},[l.trigger,u]),h.jsx(Yu,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:s,onPointerDownOutside:o,onFocusOutside:d=>d.preventDefault(),onDismiss:u,children:h.jsxs(y_,{"data-state":l.stateAttribute,...c,...a,ref:t,style:{...a.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:[h.jsx(yK,{children:r}),h.jsx(vK,{scope:n,isInside:!0,children:h.jsx(uK,{id:l.contentId,role:"tooltip",children:i||r})})]})})});NP.displayName=gl;var PP="TooltipArrow",_K=g.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,i=ym(n);return xK(PP,n).isInside?null:h.jsx(__,{...i,...r,ref:t})});_K.displayName=PP;function bK(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),s=Math.abs(t.left-e.x);switch(Math.min(n,r,i,s)){case s:return"left";case i:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function wK(e,t,n=5){const 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 SK(e){const{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 kK(e,t){const{x:n,y:r}=e;let i=!1;for(let s=0,o=t.length-1;s<t.length;o=s++){const a=t[s],l=t[o],c=a.x,u=a.y,d=l.x,f=l.y;u>r!=f>r&&n<(d-c)*(r-u)/(f-u)+c&&(i=!i)}return i}function CK(e){const t=e.slice();return t.sort((n,r)=>n.x<r.x?-1:n.x>r.x?1:n.y<r.y?-1:n.y>r.y?1:0),EK(t)}function EK(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r<e.length;r++){const i=e[r];for(;t.length>=2;){const s=t[t.length-1],o=t[t.length-2];if((s.x-o.x)*(i.y-o.y)>=(s.y-o.y)*(i.x-o.x))t.pop();else break}t.push(i)}t.pop();const n=[];for(let r=e.length-1;r>=0;r--){const i=e[r];for(;n.length>=2;){const s=n[n.length-1],o=n[n.length-2];if((s.x-o.x)*(i.y-o.y)>=(s.y-o.y)*(i.x-o.x))n.pop();else break}n.push(i)}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 IK=CP,NK=EP,TK=IP,RP=NP;const Pu=IK,nd=NK,rd=TK,Ul=g.forwardRef(({className:e,sideOffset:t=4,...n},r)=>h.jsx(RP,{ref:r,sideOffset:t,className:ie("z-50 overflow-hidden rounded-sm border border-border bg-bg-0 px-2 py-1 text-xs text-text-300 shadow-md",e),...n}));Ul.displayName=RP.displayName;const PK={held:!1,indexBySessionId:new Map},RK=g.createContext(PK);function MK(){return g.useContext(RK)}const AK=Array.from({length:9},(e,t)=>({id:`switch-session-${t+1}`,combo:{key:String(t+1),mod:!0},label:`切换到第 ${t+1} 个会话`,group:"会话",desktopOnly:!0,hiddenInList:!0})),jK=[{id:"new-session",combo:{key:"n",mod:!0},label:"新建任务",description:"打开快捷新建弹窗",group:"通用",desktopOnly:!0},{id:"open-search",combo:{key:"k",mod:!0},label:"全局搜索",description:"搜会话内容 / persona / 联系人",group:"通用",desktopOnly:!0},{id:"search-tab-prev",combo:{key:"ArrowLeft",mod:!0},label:"搜索:上一组",description:"搜索浮层里切到左边那个 tab(会话 / persona / 联系人)",group:"通用"},{id:"search-tab-next",combo:{key:"ArrowRight",mod:!0},label:"搜索:下一组",description:"搜索浮层里切到右边那个 tab",group:"通用"},...AK,{id:"archive-session",combo:{key:"Backspace",mod:!0,shift:!0},label:"归档当前会话",description:"归档当前聊天区的会话,Enter 确认 / Esc 取消",group:"会话",desktopOnly:!0},{id:"tab-prev",combo:{key:"ArrowLeft",mod:!0,shift:!0},label:"上一个标签页",description:"连按快速移动,停下或松开修饰键后切换",group:"标签页"},{id:"tab-next",combo:{key:"ArrowRight",mod:!0,shift:!0},label:"下一个标签页",description:"连按快速移动,停下或松开修饰键后切换",group:"标签页"},{id:"toggle-hive",combo:{key:"h",mod:!0,shift:!0},label:"Hive 看板",description:"全屏看所有 agent 在干什么;Esc 或点任意行退出",group:"通用"},{id:"send-message",combo:{key:"Enter"},label:"发送消息",description:"在输入框中发送当前内容",group:"输入",displayOnly:!0},{id:"newline",combo:{key:"Enter",shift:!0},label:"换行",description:"在输入框中插入换行",group:"输入",displayOnly:!0},{id:"interrupt",combo:{key:"Escape"},label:"打断回复",description:"打断当前回复;2 秒内按两次停止任务",group:"输入",displayOnly:!0}];jK.filter(e=>!e.displayOnly);function LK(){return/Mac|iP(hone|od|ad)/.test(navigator.platform)}const DK=10,OK=20,BK=16,qk=20,Vk=60,$K=4;function eh({testId:e,label:t,children:n}){return h.jsxs(nd,{children:[h.jsx(rd,{asChild:!0,children:h.jsx("span",{"data-testid":e,role:"img","aria-label":t,tabIndex:0,className:"inline-flex shrink-0",children:n})}),h.jsx(Ul,{side:"bottom",children:t})]})}function zK({session:e,active:t,hasUnread:n,running:r=!1,awaitingUser:i=!1,onSelect:s,onEdit:o,onDelete:a,onPin:l,onArchive:c,quickAction:u,depth:d=0,chevron:f,showCopyResume:p=!0,contactDisplayName:m,ownerPrincipalId:v,creatorDisplayName:w,dispatchedFromSessionTitle:x}){const[_,b]=g.useState(!1),S=MK(),C=S.held?S.indexBySessionId.get(e.sessionId):void 0,k=!!e.pinnedAt,N=d===0,E=d===0&&!!c,j=DK+d*OK;let P=null;u==="pin"&&N&&l?P={icon:k?h.jsx(ck,{className:"w-4 h-4"}):h.jsx(uk,{className:"w-4 h-4"}),label:k?"取消置顶":"置顶",run:()=>l(e.sessionId,!k)}:u==="archive"&&E&&c?P={icon:h.jsx(ok,{className:"w-4 h-4"}),label:"归档",run:()=>c(e.sessionId,!0)}:u==="rename"&&o&&(P={icon:h.jsx(px,{className:"w-4 h-4"}),label:"重命名",run:()=>b(!0)});const L=g.useCallback(async()=>{const z=B4(e);if(z)try{await navigator.clipboard.writeText(z)}catch{}},[e]),M=c_(e),R=e.originOwnerPrincipalId,A=R?`@${m??`…${R.slice(-8)}`}`:null,D=!!(e.ownerPersonaId&&v&&e.creatorPrincipalId&&e.creatorPrincipalId!==v&&!e.larkChatId&&!e.shiftFiredFromSessionId&&!e.dispatchedFromSessionId);return h.jsxs(h.Fragment,{children:[h.jsxs("div",{"data-testid":`session-item-${e.sessionId}`,onClick:s,style:{paddingLeft:j,display:"grid",gridTemplateColumns:f?`${BK}px ${qk}px 1fr auto ${Vk}px`:`${qk}px 1fr auto ${Vk}px`,gridTemplateAreas:f?'"chev icon name dot time"':'"icon name dot time"',columnGap:`${$K}px`,alignItems:"center"},className:ie("group relative rounded-lg cursor-pointer transition-all duration-150 pr-2.5 py-1.5",t?"bg-accent-dim":"hover:bg-sidebar-hover-bg"),children:[t?h.jsx("span",{"aria-hidden":"true",className:"absolute left-0 top-1/2 -translate-y-1/2 w-[3px] h-7 rounded-r-full bg-accent"}):null,h.jsx("div",{style:{gridArea:"chev"},className:"flex items-center justify-center",children:f??null}),h.jsx("div",{style:{gridArea:"icon"},className:"flex items-center justify-center",children:h.jsx(sK,{tool:e.tool})}),h.jsxs("div",{style:{gridArea:"name"},className:"flex items-center gap-1 min-w-0",children:[h.jsxs(Pu,{delayDuration:200,skipDelayDuration:100,children:[e.dispatchedFromSessionId?h.jsx(eh,{testId:`dispatched-icon-${e.sessionId}`,label:`来自【${x??"另一会话"}】dispatch`,children:h.jsx(F7,{"aria-hidden":"true",className:"w-3 h-3 text-accent",strokeWidth:2.25})}):null,e.shiftFiredFromSessionId?h.jsx(eh,{testId:`shift-fired-icon-${e.sessionId}`,label:"定时任务",children:h.jsx(l7,{"aria-hidden":"true",className:"w-3 h-3 text-accent",strokeWidth:2.25})}):null,e.larkChatId?h.jsx(eh,{testId:`lark-chat-icon-${e.sessionId}`,label:e.larkChatType==="p2p"?"来自飞书DM":"来自飞书群",children:h.jsx(yF,{"aria-hidden":"true",className:"w-3 h-3 text-accent",strokeWidth:2.25})}):null,D?h.jsx(eh,{testId:`guest-created-icon-${e.sessionId}`,label:w?`${w}创建`:"其他人创建",children:h.jsx(tH,{"aria-hidden":"true",className:"w-3 h-3 text-accent",strokeWidth:2.25})}):null]}),h.jsx("span",{"data-testid":`session-title-${e.sessionId}`,className:ie("text-[13px] truncate min-w-0","group-hover:whitespace-normal group-hover:overflow-visible group-hover:break-words",t?"text-text-100 font-medium":"text-text-200"),children:M}),A?h.jsx("span",{"data-testid":`session-mirror-chip-${e.sessionId}`,title:`在 ${A.replace(/^@/,"")} 的设备上`,className:"shrink-0 inline-flex items-center px-1.5 py-0 rounded text-[10px] bg-accent-dim/40 text-accent border border-accent/20 max-w-[120px] truncate",children:A}):null]}),h.jsx(oK,{sessionId:e.sessionId,hasUnread:n,running:r,awaitingUser:i,style:{gridArea:"dot"}}),C!=null?h.jsx("span",{style:{gridArea:"time"},"data-testid":`session-quick-switch-badge-${e.sessionId}`,className:"text-right shrink-0 transition-opacity duration-150 group-hover:opacity-0",children:h.jsx("span",{className:"inline-flex items-center justify-center h-[18px] px-1.5 rounded-[5px] border border-border bg-bg-200/70 text-[11px] text-text-200 font-medium leading-none",children:LK()?`⌘${C}`:`Ctrl+${C}`})}):h.jsx("span",{style:{gridArea:"time"},className:ie("text-[11px] text-text-400/70 text-right shrink-0","transition-opacity duration-150 group-hover:opacity-0"),children:e.updatedAt?eU(e.updatedAt):""}),o||a||l||c?h.jsxs("div",{className:"absolute right-2 top-[3px] flex items-center opacity-0 group-hover:opacity-100 data-[state=open]:opacity-100 transition-opacity",children:[P?h.jsx(Pu,{delayDuration:200,skipDelayDuration:100,children:h.jsxs(nd,{children:[h.jsx(rd,{asChild:!0,children:h.jsx("button",{type:"button",onClick:z=>{z.stopPropagation(),P.run()},className:"flex items-center justify-center w-7 h-7 rounded-md text-text-400 hover:text-text-100 hover:bg-text-100/5 transition-colors cursor-pointer","aria-label":P.label,"data-testid":`quick-action-${u}-${e.sessionId}`,children:P.icon})}),h.jsx(Ul,{side:"bottom",children:P.label})]})}):null,h.jsxs(P_,{modal:!1,children:[h.jsx(R_,{asChild:!0,children:h.jsx("button",{type:"button",onClick:z=>z.stopPropagation(),className:"flex items-center justify-center w-7 h-7 rounded-md text-text-400 hover:text-text-100 hover:bg-text-100/5 transition-colors cursor-pointer","aria-label":"session actions","data-testid":`session-menu-${e.sessionId}`,children:h.jsx(h4,{className:"w-4 h-4"})})}),h.jsxs(gm,{align:"end",onClick:z=>z.stopPropagation(),children:[l&&N&&h.jsxs(Ir,{onSelect:()=>l(e.sessionId,!k),"data-testid":`session-${k?"unpin":"pin"}-${e.sessionId}`,children:[k?h.jsx(ck,{className:"w-3 h-3 mr-2 text-text-400"}):h.jsx(uk,{className:"w-3 h-3 mr-2 text-text-400"}),k?"Unpin":"Pin"]}),E&&c&&h.jsxs(Ir,{onSelect:()=>c(e.sessionId,!0),"data-testid":`session-archive-${e.sessionId}`,children:[h.jsx(ok,{className:"w-3 h-3 mr-2 text-text-400"}),"Archive"]}),o&&h.jsxs(Ir,{onSelect:()=>b(!0),"data-testid":`session-rename-${e.sessionId}`,children:[h.jsx(px,{className:"w-3 h-3 mr-2 text-text-400"}),"Rename"]}),p&&e.toolSessionId?h.jsxs(Ir,{onSelect:()=>void L(),"data-testid":`session-copy-resume-${e.sessionId}`,children:[h.jsx(r_,{className:"w-3 h-3 mr-2 text-text-400"}),"Copy Resume Command"]}):null,(l||o||p&&e.toolSessionId)&&a&&h.jsx(vm,{}),a&&h.jsxs(Ir,{onSelect:()=>void a(e.sessionId),className:"text-destructive focus:text-destructive focus:bg-destructive/10","data-testid":`session-delete-${e.sessionId}`,children:[h.jsx(s_,{className:"w-3 h-3 mr-2"}),"Delete"]})]})]})]}):null]}),o?h.jsx(aK,{open:_,initialLabel:e.label??"",placeholder:e.cwd.split("/").pop()||"",onSubmit:z=>{o(e.sessionId,z),b(!1)},onCancel:()=>b(!1)}):null]})}function D_({node:e,depth:t=0,activeId:n,unreadIds:r,runningIds:i,awaitingIds:s,onSelect:o,onEdit:a,onDelete:l,onPin:c,onArchive:u,quickAction:d,getContactDisplayName:f,showCopyResume:p,ownerPrincipalId:m,getCreatorDisplayName:v,getSessionDisplayName:w,parentSession:x}){const _=e.children.length>0,{isCollapsed:b,toggle:S}=t7(),C=!b(e.session.sessionId),k=g.useCallback(E=>{E.stopPropagation(),S(e.session.sessionId)},[S,e.session.sessionId]),N=_?h.jsx("button",{type:"button",onClick:k,"data-testid":`session-chevron-${e.session.sessionId}`,"aria-label":C?"collapse":"expand","aria-expanded":C,className:"shrink-0 flex items-center justify-center w-4 h-4 text-text-400 hover:text-text-100 cursor-pointer",children:C?h.jsx(Pn,{className:"w-3 h-3"}):h.jsx(Fn,{className:"w-3 h-3"})}):null;return h.jsxs("div",{"data-testid":`session-tree-node-${e.session.sessionId}`,children:[h.jsx(zK,{session:e.session,active:n===e.session.sessionId,hasUnread:(r==null?void 0:r.has(e.session.sessionId))??!1,running:(i==null?void 0:i.has(e.session.sessionId))??!1,awaitingUser:(s==null?void 0:s.has(e.session.sessionId))??!1,onSelect:()=>o(e.session.sessionId),onEdit:a,onDelete:l,onPin:c,onArchive:u,quickAction:d,showCopyResume:p,ownerPrincipalId:m,creatorDisplayName:e.session.creatorPrincipalId?v==null?void 0:v(e.session.creatorPrincipalId):void 0,dispatchedFromSessionTitle:e.session.dispatchedFromSessionId?(w==null?void 0:w(e.session.dispatchedFromSessionId))??((x==null?void 0:x.sessionId)===e.session.dispatchedFromSessionId?c_(x):void 0):void 0,depth:t,chevron:N,contactDisplayName:e.session.originOwnerPrincipalId?f==null?void 0:f(e.session.originOwnerPrincipalId):void 0}),_&&C?h.jsx("div",{"data-testid":`session-tree-children-${e.session.sessionId}`,children:e.children.map(E=>h.jsx(D_,{node:E,depth:t+1,activeId:n,unreadIds:r,runningIds:i,awaitingIds:s,onSelect:o,onEdit:a,onDelete:l,onPin:c,onArchive:u,quickAction:d,getContactDisplayName:f,showCopyResume:p,ownerPrincipalId:m,getCreatorDisplayName:v,getSessionDisplayName:w,parentSession:e.session},E.session.sessionId))}):null]})}function FK(e){return e.forkedFromSessionId??e.dispatchedFromSessionId??e.shiftFiredFromSessionId}function O_(e,t){return e.updatedAt<t.updatedAt?1:e.updatedAt>t.updatedAt?-1:0}function MP(e){e=e.filter(s=>!s.ephemeral&&s.deployId===void 0&&s.testReleaseId===void 0);const t=new Map;for(const s of e)t.set(s.sessionId,s);const n=new Map,r=[];for(const s of e){const o=FK(s);if(o&&t.has(o)){const a=n.get(o)??[];a.push(s),n.set(o,a)}else r.push(s)}const i=s=>{const a=[...n.get(s.sessionId)??[]].sort(O_);return{session:s,children:a.map(i)}};return[...r].sort(HK).map(i)}function AP(e){return[...e].sort((t,n)=>O_(t.session,n.session))}function HK(e,t){const n=typeof e.pinnedAt=="number",r=typeof t.pinnedAt=="number";if(n&&r){const i=typeof e.pinSortOrder=="number",s=typeof t.pinSortOrder=="number";return i&&s?e.pinSortOrder-t.pinSortOrder:i?-1:s?1:t.pinnedAt-e.pinnedAt}return n?-1:r?1:O_(e,t)}function UK(e){return e.label?e.label:e.aiLabel?e.aiLabel:e.cwd.split("/").filter(Boolean).pop()??""}function Kk(e,t){const n=t.trim().toLowerCase();return n===""?!0:e.toLowerCase().includes(n)}const WK={isCollapsed:()=>!1,toggle:()=>{},prune:()=>{}};function qK({personas:e,activePersonaId:t,onSelectPersona:n,onCreateSession:r,sessions:i,activeSessionId:s,awaitingIds:o,runningIds:a,unreadIds:l,onSelectSession:c,onDeleteSession:u,ownerPrincipalId:d,creatorDisplayNameByOwnerId:f,isPersonaExpanded:p,onTogglePersonaExpanded:m,onEditSession:v,onPinSession:w,showCopyResume:x,treatSessionsAsRoots:_,searchQuery:b}){const[S,C]=g.useState(null),[k,N]=g.useState(()=>new Set),E=p??(D=>k.has(D)),j=g.useCallback(D=>{if(m){m(D);return}N(z=>{const F=new Set(z);return F.has(D)?F.delete(D):F.add(D),F})},[m]),P=g.useMemo(()=>i==null?void 0:i.filter(D=>!D.ephemeral),[i]),L=g.useMemo(()=>new Map((P??[]).map(D=>[D.sessionId,c_(D)])),[P]),M=g.useCallback(D=>f==null?void 0:f.get(D),[f]),R=g.useCallback(D=>L.get(D),[L]);if(e.length===0)return h.jsx(VK,{});const A=(b??"").trim();return A?h.jsx(t_.Provider,{value:WK,children:h.jsx("div",{"data-testid":"my-personas-list",className:"flex flex-col gap-0.5",children:e.map(D=>{const z=P?P.filter(I=>I.ownerPersonaId===D.personaId).sort((I,U)=>U.updatedAt>I.updatedAt?1:-1):[],F=Kk(D.label,A),$=z.filter(I=>Kk(UK(I),A));if(!F&&$.length===0)return null;const O=F?z:$;return h.jsx(Gk,{persona:D,active:D.personaId===t,editing:!1,onSelectPersona:n,onSubmitCreateSession:()=>{},onCancelCreateSession:()=>{},personaSessions:O,collapsed:!1,onToggleCollapsed:()=>{},activeSessionId:s??null,awaitingIds:o,runningIds:a,unreadIds:l,onSelectSession:c,onDeleteSession:u,onEditSession:v,onPinSession:w,showCopyResume:x,treatSessionsAsRoots:_,ownerPrincipalId:d,creatorDisplayNameByOwnerId:f,getCreatorDisplayName:M,getSessionDisplayName:R},D.personaId)})})}):h.jsx("div",{"data-testid":"my-personas-list",className:"flex flex-col gap-0.5",children:e.map(D=>{const z=P?P.filter(F=>F.ownerPersonaId===D.personaId).sort((F,$)=>$.updatedAt>F.updatedAt?1:-1):[];return h.jsx(Gk,{persona:D,active:D.personaId===t,editing:D.personaId===S,onSelectPersona:n,onStartCreateSession:r?()=>C(D.personaId):void 0,onSubmitCreateSession:F=>{C(null),r==null||r(D.personaId,F)},onCancelCreateSession:()=>C(null),personaSessions:z,collapsed:!E(D.personaId),onToggleCollapsed:()=>j(D.personaId),activeSessionId:s??null,awaitingIds:o,runningIds:a,unreadIds:l,onSelectSession:c,onDeleteSession:u,onEditSession:v,onPinSession:w,showCopyResume:x,treatSessionsAsRoots:_,ownerPrincipalId:d,creatorDisplayNameByOwnerId:f,getCreatorDisplayName:M,getSessionDisplayName:R},D.personaId)})})}function VK(){return h.jsx("div",{className:"px-3 py-3 text-[11px] leading-relaxed text-text-400",children:"还没有 persona。点上方 Personas 标题右侧 + 创建第一个。"})}function Gk({persona:e,active:t,editing:n,onSelectPersona:r,onStartCreateSession:i,onSubmitCreateSession:s,onCancelCreateSession:o,personaSessions:a,collapsed:l,onToggleCollapsed:c,activeSessionId:u,awaitingIds:d,runningIds:f,unreadIds:p,onSelectSession:m,onDeleteSession:v,onEditSession:w,onPinSession:x,showCopyResume:_,treatSessionsAsRoots:b,ownerPrincipalId:S,creatorDisplayNameByOwnerId:C,getCreatorDisplayName:k,getSessionDisplayName:N}){const E=a.length>0,j=!l,P=g.useMemo(()=>{const R=[],A=new Map;for(const D of a){const z=D.creatorPrincipalId;if(D.larkChatId!=null||!z||S&&z===S){R.push(D);continue}const F=z,$=(C==null?void 0:C.get(F))??`…${F.slice(-8)}`,O=A.get(F);O?O.sessions.push(D):A.set(F,{groupKey:F,displayName:$,sessions:[D]})}return{self:R,byPeer:[...A.values()]}},[a,S,C]),L=P.byPeer.length>0,M=g.useMemo(()=>j&&!L?AP(MP(a)):[],[j,L,a]);return h.jsxs("div",{"data-testid":`persona-node-${e.personaId}`,children:[h.jsxs("div",{className:ie("group flex items-center gap-1 px-2 py-1.5 cursor-pointer",t?"bg-accent-dim text-text-100":"hover:bg-bg-200 text-text-200"),onClick:()=>r==null?void 0:r(e.personaId),role:"button",tabIndex:0,children:[E?h.jsx("button",{type:"button",onClick:R=>{R.stopPropagation(),c()},"aria-label":j?"collapse":"expand","aria-expanded":j,"data-testid":`persona-chevron-${e.personaId}`,className:"flex h-4 w-4 shrink-0 items-center justify-center text-text-400 hover:text-text-100",children:j?h.jsx(Pn,{className:"h-3 w-3"}):h.jsx(Fn,{className:"h-3 w-3"})}):h.jsx("span",{className:"h-4 w-4 shrink-0","aria-hidden":"true"}),h.jsx(nm,{tool:e.tool,className:ie("h-3.5 w-3.5 shrink-0",rm(e.tool))}),h.jsx("span",{className:"flex-1 truncate text-[13px]",children:e.label}),E?h.jsx("span",{className:"shrink-0 text-[10px] text-text-400 tabular-nums","aria-label":`${a.length} sessions`,children:a.length}):null,i?h.jsx("button",{type:"button",onClick:R=>{R.stopPropagation(),i()},"aria-label":"新建会话",title:"新建会话","data-testid":`persona-create-session-${e.personaId}`,className:"flex h-5 w-5 shrink-0 items-center justify-center rounded text-text-400 opacity-0 hover:bg-text-100/10 hover:text-text-100 focus-visible:opacity-100 group-hover:opacity-100",children:h.jsx(g4,{className:"h-3.5 w-3.5"})}):null]}),n?h.jsx(KK,{personaId:e.personaId,tool:e.tool,onSubmit:s,onCancel:o}):null,E&&j?h.jsx("div",{"data-testid":`persona-sessions-${e.personaId}`,children:L?h.jsxs(h.Fragment,{children:[P.self.length>0&&h.jsx(Yk,{groupKey:`${e.personaId}-self`,label:"我自己",testId:`persona-sessions-${e.personaId}-self`,sessions:P.self,activeSessionId:u,awaitingIds:d,runningIds:f,unreadIds:p,onSelectSession:m,onDeleteSession:v,onEditSession:w,onPinSession:x,showCopyResume:_,ownerPrincipalId:S,getCreatorDisplayName:k,getSessionDisplayName:N}),P.byPeer.map(R=>h.jsx(Yk,{groupKey:`${e.personaId}-peer-${R.groupKey}`,label:R.displayName,testId:`persona-sessions-${e.personaId}-peer-${R.groupKey}`,sessions:R.sessions,activeSessionId:u,awaitingIds:d,runningIds:f,unreadIds:p,onSelectSession:m,onDeleteSession:v,onEditSession:w,onPinSession:x,showCopyResume:_,ownerPrincipalId:S,getCreatorDisplayName:k,getSessionDisplayName:N},`${e.personaId}-peer-${R.groupKey}`))]}):M.map(R=>h.jsx(D_,{node:R,depth:b?0:1,activeId:u,unreadIds:p,runningIds:f,awaitingIds:d,onSelect:A=>m==null?void 0:m(A),onDelete:v,onEdit:w,onPin:x,showCopyResume:_,ownerPrincipalId:S,getCreatorDisplayName:k,getSessionDisplayName:N},R.session.sessionId))}):null]})}function Yk({label:e,testId:t,sessions:n,activeSessionId:r,awaitingIds:i,runningIds:s,unreadIds:o,onSelectSession:a,onDeleteSession:l,onEditSession:c,onPinSession:u,showCopyResume:d,ownerPrincipalId:f,getCreatorDisplayName:p,getSessionDisplayName:m}){const[v,w]=g.useState(!1),x=!v,_=g.useMemo(()=>x?AP(MP(n)):[],[x,n]);return h.jsxs("div",{"data-testid":t,children:[h.jsxs("button",{type:"button",onClick:()=>w(b=>!b),"aria-label":x?"collapse":"expand","aria-expanded":x,"data-testid":`${t}-chevron`,className:"flex items-center gap-1 w-full pl-7 pr-2 py-0.5 text-[11px] text-text-400 hover:text-text-200 transition-colors",children:[x?h.jsx(Pn,{className:"h-3 w-3"}):h.jsx(Fn,{className:"h-3 w-3"}),h.jsx(_4,{className:"h-3 w-3","aria-hidden":!0}),h.jsx("span",{className:"truncate",children:e}),h.jsx("span",{className:"ml-auto tabular-nums",children:n.length})]}),x&&h.jsx("div",{children:_.map(b=>h.jsx(D_,{node:b,depth:2,activeId:r,unreadIds:o,runningIds:s,awaitingIds:i,onSelect:S=>a==null?void 0:a(S),onDelete:l,onEdit:c,onPin:u,showCopyResume:d,ownerPrincipalId:f,getCreatorDisplayName:p,getSessionDisplayName:m},b.session.sessionId))})]})}function KK({personaId:e,tool:t,onSubmit:n,onCancel:r}){const[i,s]=g.useState(""),o=g.useRef(null),a=i.trim(),l=a.length>0;g.useEffect(()=>{var d;(d=o.current)==null||d.focus()},[]);const c=g.useCallback(()=>{l&&n(a)},[l,a,n]),u=td(c,r);return h.jsxs("div",{className:"flex items-center gap-1.5 pl-9 pr-2 py-1","data-testid":`persona-new-session-row-${e}`,children:[h.jsx(nm,{tool:t,className:ie("h-3 w-3 shrink-0",rm(t))}),h.jsx("input",{ref:o,type:"text",value:i,onChange:d=>s(d.target.value),...u,onBlur:r,placeholder:"session label...","data-testid":`persona-new-session-input-${e}`,className:"flex-1 min-w-0 bg-bg-100 border border-text-100/15 rounded px-1.5 py-0.5 text-[12px] text-text-100 placeholder:text-text-400 focus:outline-none focus:border-text-100/40"}),h.jsx("button",{type:"button",onMouseDown:d=>{d.preventDefault(),c()},disabled:!l,"aria-label":"确认",title:"确认(Enter)","data-testid":`persona-new-session-confirm-${e}`,className:"flex h-4 w-4 shrink-0 items-center justify-center rounded text-text-300 hover:bg-text-100/10 hover:text-text-100 disabled:opacity-30 disabled:hover:bg-transparent disabled:hover:text-text-300",children:h.jsx(no,{className:"h-3 w-3"})}),h.jsx("button",{type:"button",onMouseDown:d=>{d.preventDefault(),r()},"aria-label":"取消",title:"取消(Esc)","data-testid":`persona-new-session-cancel-${e}`,className:"flex h-4 w-4 shrink-0 items-center justify-center rounded text-text-300 hover:bg-text-100/10 hover:text-text-100",children:h.jsx(Qr,{className:"h-3 w-3"})})]})}function GK(e,t){const n=getComputedStyle(e),r=parseFloat(n.fontSize);return t*r}function YK(e,t){const n=getComputedStyle(e.ownerDocument.documentElement),r=parseFloat(n.fontSize);return t*r}function XK(e){return e/100*window.innerHeight}function ZK(e){return e/100*window.innerWidth}function QK(e){switch(typeof e){case"number":return[e,"px"];case"string":{const t=parseFloat(e);return e.endsWith("%")?[t,"%"]:e.endsWith("px")?[t,"px"]:e.endsWith("rem")?[t,"rem"]:e.endsWith("em")?[t,"em"]:e.endsWith("vh")?[t,"vh"]:e.endsWith("vw")?[t,"vw"]:[t,"%"]}}}function Cc({groupSize:e,panelElement:t,styleProp:n}){let r;const[i,s]=QK(n);switch(s){case"%":{r=i/100*e;break}case"px":{r=i;break}case"rem":{r=YK(t,i);break}case"em":{r=GK(t,i);break}case"vh":{r=XK(i);break}case"vw":{r=ZK(i);break}}return r}function Dn(e){return parseFloat(e.toFixed(3))}function vl({group:e}){const{orientation:t,panels:n}=e;return n.reduce((r,i)=>(r+=t==="horizontal"?i.element.offsetWidth:i.element.offsetHeight,r),0)}function Ex(e){const{panels:t}=e,n=vl({group:e});return n===0?t.map(r=>({groupResizeBehavior:r.panelConstraints.groupResizeBehavior,collapsedSize:0,collapsible:r.panelConstraints.collapsible===!0,defaultSize:void 0,disabled:r.panelConstraints.disabled,minSize:0,maxSize:100,panelId:r.id})):t.map(r=>{const{element:i,panelConstraints:s}=r;let o=0;if(s.collapsedSize!==void 0){const u=Cc({groupSize:n,panelElement:i,styleProp:s.collapsedSize});o=Dn(u/n*100)}let a;if(s.defaultSize!==void 0){const u=Cc({groupSize:n,panelElement:i,styleProp:s.defaultSize});a=Dn(u/n*100)}let l=0;if(s.minSize!==void 0){const u=Cc({groupSize:n,panelElement:i,styleProp:s.minSize});l=Dn(u/n*100)}let c=100;if(s.maxSize!==void 0){const u=Cc({groupSize:n,panelElement:i,styleProp:s.maxSize});c=Dn(u/n*100)}return{groupResizeBehavior:s.groupResizeBehavior,collapsedSize:o,collapsible:s.collapsible===!0,defaultSize:a,disabled:s.disabled,minSize:l,maxSize:c,panelId:r.id}})}function dt(e,t="Assertion error"){if(!e)throw Error(t)}function Ix(e,t){return Array.from(t).sort(e==="horizontal"?JK:eG)}function JK(e,t){const n=e.element.offsetLeft-t.element.offsetLeft;return n!==0?n:e.element.offsetWidth-t.element.offsetWidth}function eG(e,t){const n=e.element.offsetTop-t.element.offsetTop;return n!==0?n:e.element.offsetHeight-t.element.offsetHeight}function jP(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function LP(e,t){return{x:e.x>=t.left&&e.x<=t.right?0:Math.min(Math.abs(e.x-t.left),Math.abs(e.x-t.right)),y:e.y>=t.top&&e.y<=t.bottom?0:Math.min(Math.abs(e.y-t.top),Math.abs(e.y-t.bottom))}}function tG({orientation:e,rects:t,targetRect:n}){const r={x:n.x+n.width/2,y:n.y+n.height/2};let i,s=Number.MAX_VALUE;for(const o of t){const{x:a,y:l}=LP(r,o),c=e==="horizontal"?a:l;c<s&&(s=c,i=o)}return dt(i,"No rect found"),i}let th;function nG(){return th===void 0&&(typeof matchMedia=="function"?th=!!matchMedia("(pointer:coarse)").matches:th=!1),th}function DP(e){const{element:t,orientation:n,panels:r,separators:i}=e,s=Ix(n,Array.from(t.children).filter(jP).map(m=>({element:m}))).map(({element:m})=>m),o=[];let a=!1,l=!1,c=-1,u=-1,d=0,f,p=[];{let m=-1;for(const v of s)v.hasAttribute("data-panel")&&(m++,v.hasAttribute("data-disabled")||(d++,c===-1&&(c=m),u=m))}if(d>1){let m=-1;for(const v of s)if(v.hasAttribute("data-panel")){m++;const w=r.find(x=>x.element===v);if(w){if(f){const x=f.element.getBoundingClientRect(),_=v.getBoundingClientRect();let b;if(l){const S=n==="horizontal"?new DOMRect(x.right,x.top,0,x.height):new DOMRect(x.left,x.bottom,x.width,0),C=n==="horizontal"?new DOMRect(_.left,_.top,0,_.height):new DOMRect(_.left,_.top,_.width,0);switch(p.length){case 0:{b=[S,C];break}case 1:{const k=p[0],N=tG({orientation:n,rects:[x,_],targetRect:k.element.getBoundingClientRect()});b=[k,N===x?C:S];break}default:{b=p;break}}}else p.length?b=p:b=[n==="horizontal"?new DOMRect(x.right,_.top,_.left-x.right,_.height):new DOMRect(_.left,x.bottom,_.width,_.top-x.bottom)];for(const S of b){let C="width"in S?S:S.element.getBoundingClientRect();const k=nG()?e.resizeTargetMinimumSize.coarse:e.resizeTargetMinimumSize.fine;if(C.width<k){const E=k-C.width;C=new DOMRect(C.x-E/2,C.y,C.width+E,C.height)}if(C.height<k){const E=k-C.height;C=new DOMRect(C.x,C.y-E/2,C.width,C.height+E)}const N=m<=c||m>u;!a&&!N&&o.push({group:e,groupSize:vl({group:e}),panels:[f,w],separator:"width"in S?void 0:S,rect:C}),a=!1}}l=!1,f=w,p=[]}}else if(v.hasAttribute("data-separator")){v.ariaDisabled!==null&&(a=!0);const w=i.find(x=>x.element===v);w?p.push(w):(f=void 0,p=[])}else l=!0}return o}var Ns;class OP{constructor(){Fb(this,Ns,{})}addListener(t,n){const r=Ql(this,Ns)[t];return r===void 0?Ql(this,Ns)[t]=[n]:r.includes(n)||r.push(n),()=>{this.removeListener(t,n)}}emit(t,n){const r=Ql(this,Ns)[t];if(r!==void 0)if(r.length===1)r[0].call(null,n);else{let i=!1,s=null;const o=Array.from(r);for(let a=0;a<o.length;a++){const l=o[a];try{l.call(null,n)}catch(c){s===null&&(i=!0,s=c)}}if(i)throw s}}removeAllListeners(){Hb(this,Ns,{})}removeListener(t,n){const r=Ql(this,Ns)[t];if(r!==void 0){const i=r.indexOf(n);i>=0&&r.splice(i,1)}}}Ns=new WeakMap;let Za={cursorFlags:0,state:"inactive"};const B_=new OP;function Uo(){return Za}function rG(e){return B_.addListener("change",e)}function iG(e){const t=Za,n={...Za};n.cursorFlags=e,Za=n,B_.emit("change",{prev:t,next:n})}function Qa(e){const t=Za;Za=e,B_.emit("change",{prev:t,next:e})}const sG=e=>e,zg=()=>{},BP=1,$P=2,zP=4,FP=8,Xk=3,Zk=12;let nh;function Qk(){return nh===void 0&&(nh=!1,typeof window<"u"&&(window.navigator.userAgent.includes("Chrome")||window.navigator.userAgent.includes("Firefox"))&&(nh=!0)),nh}function oG({cursorFlags:e,groups:t,state:n}){let r=0,i=0;switch(n){case"active":case"hover":t.forEach(s=>{if(!s.mutableState.disableCursor)switch(s.orientation){case"horizontal":{r++;break}case"vertical":{i++;break}}})}if(!(r===0&&i===0)){switch(n){case"active":{if(e&&Qk()){const s=(e&BP)!==0,o=(e&$P)!==0,a=(e&zP)!==0,l=(e&FP)!==0;if(s)return a?"se-resize":l?"ne-resize":"e-resize";if(o)return a?"sw-resize":l?"nw-resize":"w-resize";if(a)return"s-resize";if(l)return"n-resize"}break}}return Qk()?r>0&&i>0?"move":r>0?"ew-resize":"ns-resize":r>0&&i>0?"grab":r>0?"col-resize":"row-resize"}}const Jk=new WeakMap;function $_(e){if(e.defaultView===null||e.defaultView===void 0)return;let{prevStyle:t,styleSheet:n}=Jk.get(e)??{};n===void 0&&(n=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets&&(Object.isExtensible(e.adoptedStyleSheets)?e.adoptedStyleSheets.push(n):e.adoptedStyleSheets=[...e.adoptedStyleSheets,n]));const r=Uo();switch(r.state){case"active":case"hover":{const i=oG({cursorFlags:r.cursorFlags,groups:r.hitRegions.map(o=>o.group),state:r.state}),s=`*, *:hover {cursor: ${i} !important; }`;if(t===s)return;t=s,i?n.cssRules.length===0?n.insertRule(s):n.replaceSync(s):n.cssRules.length===1&&n.deleteRule(0);break}case"inactive":{t=void 0,n.cssRules.length===1&&n.deleteRule(0);break}}Jk.set(e,{prevStyle:t,styleSheet:n})}let gi=new Map;const HP=new OP;function aG(e){gi=new Map(gi),gi.delete(e)}function eC(e,t){for(const[n]of gi)if(n.id===e)return n}function Hs(e,t){for(const[n,r]of gi)if(n.id===e)return r;if(t)throw Error(`Could not find data for Group with id ${e}`)}function na(){return gi}function z_(e,t){return HP.addListener("groupChange",n=>{n.group.id===e&&t(n)})}function rs(e,t,n){const r=gi.get(e);gi=new Map(gi),gi.set(e,t),HP.emit("groupChange",{group:e,isUserInteraction:(n==null?void 0:n.isUserInteraction)===!0,prev:r,next:t})}function UP(e){const t=Uo();let n=!1;switch(t.state){case"active":Qa({cursorFlags:0,state:"inactive"}),t.hitRegions.length>0&&($_(e),n=!0,t.hitRegions.forEach(r=>{const i=Hs(r.group.id,!0);rs(r.group,i,{isUserInteraction:!0})}))}return n}function tC(e){e.defaultPrevented||UP(e.currentTarget)}function lG(e,t,n){let r,i={x:1/0,y:1/0};for(const s of t){const o=LP(n,s.rect);switch(e){case"horizontal":{o.x<=i.x&&(r=s,i=o);break}case"vertical":{o.y<=i.y&&(r=s,i=o);break}}}return r?{distance:i,hitRegion:r}:void 0}function cG(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function uG(e,t){if(e===t)throw new Error("Cannot compare node with itself");const n={a:iC(e),b:iC(t)};let r;for(;n.a.at(-1)===n.b.at(-1);)r=n.a.pop(),n.b.pop();dt(r,"Stacking order can only be calculated for elements with a common ancestor");const i={a:rC(nC(n.a)),b:rC(nC(n.b))};if(i.a===i.b){const s=r.childNodes,o={a:n.a.at(-1),b:n.b.at(-1)};let a=s.length;for(;a--;){const l=s[a];if(l===o.a)return 1;if(l===o.b)return-1}}return Math.sign(i.a-i.b)}const dG=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function hG(e){const t=getComputedStyle(WP(e)??e).display;return t==="flex"||t==="inline-flex"}function fG(e){const t=getComputedStyle(e);return!!(t.position==="fixed"||t.zIndex!=="auto"&&(t.position!=="static"||hG(e))||+t.opacity<1||"transform"in t&&t.transform!=="none"||"webkitTransform"in t&&t.webkitTransform!=="none"||"mixBlendMode"in t&&t.mixBlendMode!=="normal"||"filter"in t&&t.filter!=="none"||"webkitFilter"in t&&t.webkitFilter!=="none"||"isolation"in t&&t.isolation==="isolate"||dG.test(t.willChange)||t.webkitOverflowScrolling==="touch")}function nC(e){let t=e.length;for(;t--;){const n=e[t];if(dt(n,"Missing node"),fG(n))return n}return null}function rC(e){return e&&Number(getComputedStyle(e).zIndex)||0}function iC(e){const t=[];for(;e;)t.push(e),e=WP(e);return t}function WP(e){const{parentNode:t}=e;return cG(t)?t.host:t}function pG(e,t){return e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y}function mG({groupElement:e,hitRegion:t,pointerEventTarget:n}){if(!jP(n)||n.contains(e)||e.contains(n))return!0;if(uG(n,e)>0){let r=n;for(;r;){if(r.contains(e))return!0;if(pG(r.getBoundingClientRect(),t))return!1;r=r.parentElement}}return!0}function F_(e,t){const n=[];return t.forEach((r,i)=>{if(i.disabled)return;const s=DP(i),o=lG(i.orientation,s,{x:e.clientX,y:e.clientY});o&&o.distance.x<=0&&o.distance.y<=0&&mG({groupElement:i.element,hitRegion:o.hitRegion.rect,pointerEventTarget:e.target})&&n.push(o.hitRegion)}),n}function gG(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function Cn(e,t,n=0){return Math.abs(Dn(e)-Dn(t))<=n}function hi(e,t){return Cn(e,t)?0:e>t?1:-1}function $a({overrideDisabledPanels:e,panelConstraints:t,prevSize:n,size:r}){const{collapsedSize:i=0,collapsible:s,disabled:o,maxSize:a=100,minSize:l=0}=t;if(o&&!e)return n;if(hi(r,l)<0)if(s){const c=(i+l)/2;hi(r,c)<0?r=i:r=l}else r=l;return r=Math.min(a,r),r=Dn(r),r}function Ru({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:i,trigger:s}){if(Cn(e,0))return t;const o=s==="imperative-api",a=Object.values(t),l=Object.values(i),c=[...a],[u,d]=r;dt(u!=null,"Invalid first pivot index"),dt(d!=null,"Invalid second pivot index");let f=0;switch(s){case"keyboard":{{const v=e<0?d:u,w=n[v];dt(w,`Panel constraints not found for index ${v}`);const{collapsedSize:x=0,collapsible:_,minSize:b=0}=w;if(_){const S=a[v];if(dt(S!=null,`Previous layout not found for panel index ${v}`),Cn(S,x)){const C=b-S;hi(C,Math.abs(e))>0&&(e=e<0?0-C:C)}}}{const v=e<0?u:d,w=n[v];dt(w,`No panel constraints found for index ${v}`);const{collapsedSize:x=0,collapsible:_,minSize:b=0}=w;if(_){const S=a[v];if(dt(S!=null,`Previous layout not found for panel index ${v}`),Cn(S,b)){const C=S-x;hi(C,Math.abs(e))>0&&(e=e<0?0-C:C)}}}break}default:{const v=e<0?d:u,w=n[v];dt(w,`Panel constraints not found for index ${v}`);const x=a[v],{collapsible:_,collapsedSize:b,minSize:S}=w;if(_&&hi(x,S)<0)if(e>0){const C=S-b,k=C/2,N=x+e;hi(N,S)<0&&(e=hi(e,k)<=0?0:C)}else{const C=S-b,k=100-C/2,N=x-e;hi(N,S)<0&&(e=hi(100+e,k)>0?0:-C)}break}}{const v=e<0?1:-1;let w=e<0?d:u,x=0;for(;;){const b=a[w];dt(b!=null,`Previous layout not found for panel index ${w}`);const S=$a({overrideDisabledPanels:o,panelConstraints:n[w],prevSize:b,size:100})-b;if(x+=S,w+=v,w<0||w>=n.length)break}const _=Math.min(Math.abs(e),Math.abs(x));e=e<0?0-_:_}{let v=e<0?u:d;for(;v>=0&&v<n.length;){const w=Math.abs(e)-Math.abs(f),x=a[v];dt(x!=null,`Previous layout not found for panel index ${v}`);const _=x-w,b=$a({overrideDisabledPanels:o,panelConstraints:n[v],prevSize:x,size:_});if(!Cn(x,b)&&(f+=x-b,c[v]=b,f.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?v--:v++}}if(gG(l,c))return i;{const v=e<0?d:u,w=a[v];dt(w!=null,`Previous layout not found for panel index ${v}`);const x=w+f,_=$a({overrideDisabledPanels:o,panelConstraints:n[v],prevSize:w,size:x});if(c[v]=_,!Cn(_,x)){let b=x-_,S=e<0?d:u;for(;S>=0&&S<n.length;){const C=c[S];dt(C!=null,`Previous layout not found for panel index ${S}`);const k=C+b,N=$a({overrideDisabledPanels:o,panelConstraints:n[S],prevSize:C,size:k});if(Cn(C,N)||(b-=N-C,c[S]=N),Cn(b,0))break;e>0?S--:S++}}}const p=Object.values(c).reduce((v,w)=>w+v,0);if(!Cn(p,100,.1))return i;const m=Object.keys(i);return c.reduce((v,w,x)=>(v[m[x]]=w,v),{})}function Wo(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(t[n]===void 0||hi(e[n],t[n])!==0)return!1;return!0}function qo({layout:e,panelConstraints:t}){const n=Object.values(e),r=[...n],i=r.reduce((a,l)=>a+l,0);if(r.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${r.map(a=>`${a}%`).join(", ")}`);if(!Cn(i,100)&&r.length>0)for(let a=0;a<t.length;a++){const l=r[a];dt(l!=null,`No layout data found for index ${a}`);const c=100/i*l;r[a]=c}let s=0;for(let a=0;a<t.length;a++){const l=n[a];dt(l!=null,`No layout data found for index ${a}`);const c=r[a];dt(c!=null,`No layout data found for index ${a}`);const u=$a({overrideDisabledPanels:!0,panelConstraints:t[a],prevSize:l,size:c});c!=u&&(s+=c-u,r[a]=u)}if(!Cn(s,0))for(let a=0;a<t.length;a++){const l=r[a];dt(l!=null,`No layout data found for index ${a}`);const c=l+s,u=$a({overrideDisabledPanels:!0,panelConstraints:t[a],prevSize:l,size:c});if(l!==u&&(s-=u-l,r[a]=u,Cn(s,0)))break}const o=Object.keys(e);return r.reduce((a,l,c)=>(a[o[c]]=l,a),{})}function qP({groupId:e,panelId:t}){const n=()=>{const l=na();for(const[c,{defaultLayoutDeferred:u,derivedPanelConstraints:d,layout:f,groupSize:p,separatorToPanels:m}]of l)if(c.id===e)return{defaultLayoutDeferred:u,derivedPanelConstraints:d,group:c,groupSize:p,layout:f,separatorToPanels:m};throw Error(`Group ${e} not found`)},r=()=>{const l=n().derivedPanelConstraints.find(c=>c.panelId===t);if(l!==void 0)return l;throw Error(`Panel constraints not found for Panel ${t}`)},i=()=>{const l=n().group.panels.find(c=>c.id===t);if(l!==void 0)return l;throw Error(`Layout not found for Panel ${t}`)},s=()=>{const l=n().layout[t];if(l!==void 0)return l;throw Error(`Layout not found for Panel ${t}`)},o=({nextSize:l,panels:c,prevLayout:u,derivedPanelConstraints:d})=>{const f=s(),p=c.findIndex(w=>w.id===t),m=p===0,v=p===c.length-1;if(v&&l<f&&(m||c.slice(0,p).every((w,x)=>{const _=d[x];return(_==null?void 0:_.collapsible)&&Cn(_.collapsedSize,u[_.panelId])}))){const w=c.slice(0,p).reduce((x,_)=>x+u[_.id],0);return{...u,[t]:Dn(100-w)}}return Ru({delta:v?f-l:l-f,initialLayout:u,panelConstraints:d,pivotIndices:v?[p-1,p]:[p,p+1],prevLayout:u,trigger:"imperative-api"})},a=l=>{const c=s();if(l===c)return;const{defaultLayoutDeferred:u,derivedPanelConstraints:d,group:f,groupSize:p,layout:m,separatorToPanels:v}=n(),w=o({nextSize:l,panels:f.panels,prevLayout:m,derivedPanelConstraints:d}),x=qo({layout:w,panelConstraints:d});Wo(m,x)||rs(f,{defaultLayoutDeferred:u,derivedPanelConstraints:d,groupSize:p,layout:x,separatorToPanels:v})};return{collapse:()=>{const{collapsible:l,collapsedSize:c}=r(),{mutableValues:u}=i(),d=s();l&&d!==c&&(u.expandToSize=d,a(c))},expand:()=>{const{collapsible:l,collapsedSize:c,minSize:u}=r(),{mutableValues:d}=i(),f=s();if(l&&f===c){let p=d.expandToSize??u;p===0&&(p=1),a(p)}},getSize:()=>{const{group:l}=n(),c=s(),{element:u}=i(),d=l.orientation==="horizontal"?u.offsetWidth:u.offsetHeight;return{asPercentage:c,inPixels:d}},isCollapsed:()=>{const{collapsible:l,collapsedSize:c}=r(),u=s();return l&&Cn(c,u)},resize:l=>{const{group:c}=n(),{element:u}=i(),d=vl({group:c}),f=Cc({groupSize:d,panelElement:u,styleProp:l}),p=Dn(f/d*100);a(p)}}}function sC(e){if(e.defaultPrevented)return;const t=na();F_(e,t).forEach(n=>{if(n.separator&&!n.separator.disableDoubleClick){const r=n.panels.find(i=>i.panelConstraints.defaultSize!==void 0);if(r){const i=r.panelConstraints.defaultSize,s=qP({groupId:n.group.id,panelId:r.id});s&&i!==void 0&&(s.resize(i),e.preventDefault())}}})}function Fh(e){const t=na();for(const[n]of t)if(n.separators.some(r=>r.element===e))return n;throw Error("Could not find parent Group for separator element")}function VP({groupId:e}){const t=()=>{const n=na();for(const[r,i]of n)if(r.id===e)return{group:r,...i};throw Error(`Could not find Group with id "${e}"`)};return{getLayout(){const{defaultLayoutDeferred:n,layout:r}=t();return n?{}:r},setLayout(n){const{defaultLayoutDeferred:r,derivedPanelConstraints:i,group:s,groupSize:o,layout:a,separatorToPanels:l}=t(),c=qo({layout:n,panelConstraints:i});return r?a:(Wo(a,c)||rs(s,{defaultLayoutDeferred:r,derivedPanelConstraints:i,groupSize:o,layout:c,separatorToPanels:l}),c)}}}function po(e,t){const n=Fh(e),r=Hs(n.id,!0),i=n.separators.find(u=>u.element===e);dt(i,"Matching separator not found");const s=r.separatorToPanels.get(i);dt(s,"Matching panels not found");const o=s.map(u=>n.panels.indexOf(u)),a=VP({groupId:n.id}).getLayout(),l=Ru({delta:t,initialLayout:a,panelConstraints:r.derivedPanelConstraints,pivotIndices:o,prevLayout:a,trigger:"keyboard"}),c=qo({layout:l,panelConstraints:r.derivedPanelConstraints});Wo(a,c)||rs(n,{defaultLayoutDeferred:r.defaultLayoutDeferred,derivedPanelConstraints:r.derivedPanelConstraints,groupSize:r.groupSize,layout:c,separatorToPanels:r.separatorToPanels},{isUserInteraction:!0})}function oC(e){if(e.defaultPrevented)return;const t=e.currentTarget,n=Fh(t);if(!n.disabled)switch(e.key){case"ArrowDown":{e.preventDefault(),n.orientation==="vertical"&&po(t,5);break}case"ArrowLeft":{e.preventDefault(),n.orientation==="horizontal"&&po(t,-5);break}case"ArrowRight":{e.preventDefault(),n.orientation==="horizontal"&&po(t,5);break}case"ArrowUp":{e.preventDefault(),n.orientation==="vertical"&&po(t,-5);break}case"End":{e.preventDefault(),po(t,100);break}case"Enter":{e.preventDefault();const r=Fh(t),i=Hs(r.id,!0),{derivedPanelConstraints:s,layout:o,separatorToPanels:a}=i,l=r.separators.find(f=>f.element===t);dt(l,"Matching separator not found");const c=a.get(l);dt(c,"Matching panels not found");const u=c[0],d=s.find(f=>f.panelId===u.id);if(dt(d,"Panel metadata not found"),d.collapsible){const f=o[u.id],p=d.collapsedSize===f?r.mutableState.expandedPanelSizes[u.id]??d.minSize:d.collapsedSize;po(t,p-f)}break}case"F6":{e.preventDefault();const r=Fh(t).separators.map(o=>o.element),i=Array.from(r).findIndex(o=>o===e.currentTarget);dt(i!==null,"Index not found");const s=e.shiftKey?i>0?i-1:r.length-1:i+1<r.length?i+1:0;r[s].focus({preventScroll:!0});break}case"Home":{e.preventDefault(),po(t,-100);break}}}function aC(e){if(e.defaultPrevented||e.pointerType==="mouse"&&e.button>0)return;const t=na(),n=F_(e,t),r=new Map;let i=!1;n.forEach(s=>{s.separator&&(i||(i=!0,s.separator.element.focus({focusVisible:!1,preventScroll:!0})));const o=t.get(s.group);o&&r.set(s.group,o.layout)}),Qa({cursorFlags:0,hitRegions:n,initialLayoutMap:r,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:"active"}),n.length&&e.preventDefault()}function KP({document:e,event:t,hitRegions:n,initialLayoutMap:r,mountedGroups:i,pointerDownAtPoint:s,prevCursorFlags:o}){let a=0;n.forEach(c=>{const{group:u,groupSize:d}=c,{orientation:f,panels:p}=u,{disableCursor:m}=u.mutableState;let v=0;s?f==="horizontal"?v=(t.clientX-s.x)/d*100:v=(t.clientY-s.y)/d*100:f==="horizontal"?v=t.clientX<0?-100:100:v=t.clientY<0?-100:100;const w=r.get(u),x=i.get(u);if(!w||!x)return;const{defaultLayoutDeferred:_,derivedPanelConstraints:b,groupSize:S,layout:C,separatorToPanels:k}=x;if(b&&C&&k){const N=Ru({delta:v,initialLayout:w,panelConstraints:b,pivotIndices:c.panels.map(E=>p.indexOf(E)),prevLayout:C,trigger:"mouse-or-touch"});if(Wo(N,C)){if(v!==0&&!m)switch(f){case"horizontal":{a|=v<0?BP:$P;break}case"vertical":{a|=v<0?zP:FP;break}}}else rs(c.group,{defaultLayoutDeferred:_,derivedPanelConstraints:b,groupSize:S,layout:N,separatorToPanels:k})}});let l=0;t.movementX===0?l|=o&Xk:l|=a&Xk,t.movementY===0?l|=o&Zk:l|=a&Zk,iG(l),$_(e)}function lC(e){const t=na(),n=Uo();switch(n.state){case"active":KP({document:e.currentTarget,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedGroups:t,prevCursorFlags:n.cursorFlags})}}function cC(e){var r,i;if(e.defaultPrevented)return;const t=Uo(),n=na();switch(t.state){case"active":{if(e.buttons===0){Qa({cursorFlags:0,state:"inactive"}),t.hitRegions.forEach(s=>{const o=Hs(s.group.id,!0);rs(s.group,o,{isUserInteraction:!0})});return}for(const s of t.hitRegions)if(s.separator){const{element:o}=s.separator;(r=o.hasPointerCapture)!=null&&r.call(o,e.pointerId)||((i=o.setPointerCapture)==null||i.call(o,e.pointerId))}KP({document:e.currentTarget,event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:n,pointerDownAtPoint:t.pointerDownAtPoint,prevCursorFlags:t.cursorFlags});break}default:{const s=F_(e,n);s.length===0?t.state!=="inactive"&&Qa({cursorFlags:0,state:"inactive"}):Qa({cursorFlags:0,hitRegions:s,state:"hover"}),$_(e.currentTarget);break}}}function uC(e){if(e.relatedTarget instanceof HTMLIFrameElement)switch(Uo().state){case"hover":Qa({cursorFlags:0,state:"inactive"})}}function dC(e){e.defaultPrevented||e.pointerType==="mouse"&&e.button>0||UP(e.currentTarget)&&e.preventDefault()}function hC(e){let t=0,n=0;const r={};for(const s of e)if(s.defaultSize!==void 0){t++;const o=Dn(s.defaultSize);n+=o,r[s.panelId]=o}else r[s.panelId]=void 0;const i=e.length-t;if(i!==0){const s=Dn((100-n)/i);for(const o of e)o.defaultSize===void 0&&(r[o.panelId]=s)}return r}function vG(e,t,n){if(!n[0])return;const r=e.panels.find(l=>l.element===t);if(!r||!r.onResize)return;const i=vl({group:e}),s=e.orientation==="horizontal"?r.element.offsetWidth:r.element.offsetHeight,o=r.mutableValues.prevSize,a={asPercentage:Dn(s/i*100),inPixels:s};r.mutableValues.prevSize=a,r.onResize(a,r.id,o)}function xG(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(e[n]!==t[n])return!1;return!0}function yG({group:e,nextGroupSize:t,prevGroupSize:n,prevLayout:r}){if(n<=0||t<=0||n===t)return r;let i=0,s=0,o=!1;const a=new Map,l=[];for(const d of e.panels){const f=r[d.id]??0;switch(d.panelConstraints.groupResizeBehavior){case"preserve-pixel-size":{o=!0;const p=f/100*n,m=Dn(p/t*100);a.set(d.id,m),i+=m;break}case"preserve-relative-size":default:{l.push(d.id),s+=f;break}}}if(!o||l.length===0)return r;const c=100-i,u={...r};if(a.forEach((d,f)=>{u[f]=d}),s>0)for(const d of l){const f=r[d]??0;u[d]=Dn(f/s*c)}else{const d=Dn(c/l.length);for(const f of l)u[f]=d}return u}function _G(e,t){const n=e.map(i=>i.id),r=Object.keys(t);if(n.length!==r.length)return!1;for(const i of n)if(!r.includes(i))return!1;return!0}const va=new Map;function bG(e){let t=!0;dt(e.element.ownerDocument.defaultView,"Cannot register an unmounted Group");const n=e.element.ownerDocument.defaultView.ResizeObserver,r=new Set,i=new Set,s=new n(m=>{for(const v of m){const{borderBoxSize:w,target:x}=v;if(x===e.element){if(t){const _=vl({group:e});if(_===0)return;const b=Hs(e.id);if(!b)return;const S=Ex(e),C=b.defaultLayoutDeferred?hC(S):b.layout,k=yG({group:e,nextGroupSize:_,prevGroupSize:b.groupSize,prevLayout:C}),N=qo({layout:k,panelConstraints:S});if(!b.defaultLayoutDeferred&&Wo(b.layout,N)&&xG(b.derivedPanelConstraints,S)&&b.groupSize===_)return;rs(e,{defaultLayoutDeferred:!1,derivedPanelConstraints:S,groupSize:_,layout:N,separatorToPanels:b.separatorToPanels})}}else vG(e,x,w)}});s.observe(e.element),e.panels.forEach(m=>{dt(!r.has(m.id),`Panel ids must be unique; id "${m.id}" was used more than once`),r.add(m.id),m.onResize&&s.observe(m.element)});const o=vl({group:e}),a=Ex(e),l=e.panels.map(({id:m})=>m).join(",");let c=e.mutableState.defaultLayout;c&&(_G(e.panels,c)||(c=void 0));const u=e.mutableState.layouts[l]??c??hC(a),d=qo({layout:u,panelConstraints:a}),f=e.element.ownerDocument;va.set(f,(va.get(f)??0)+1);const p=new Map;return DP(e).forEach(m=>{m.separator&&p.set(m.separator,m.panels)}),rs(e,{defaultLayoutDeferred:o===0,derivedPanelConstraints:a,groupSize:o,layout:d,separatorToPanels:p}),e.separators.forEach(m=>{dt(!i.has(m.id),`Separator ids must be unique; id "${m.id}" was used more than once`),i.add(m.id),m.element.addEventListener("keydown",oC)}),va.get(f)===1&&(f.addEventListener("contextmenu",tC,!0),f.addEventListener("dblclick",sC,!0),f.addEventListener("pointerdown",aC,!0),f.addEventListener("pointerleave",lC),f.addEventListener("pointermove",cC),f.addEventListener("pointerout",uC),f.addEventListener("pointerup",dC,!0)),function(){t=!1,va.set(f,Math.max(0,(va.get(f)??0)-1)),aG(e),e.separators.forEach(m=>{m.element.removeEventListener("keydown",oC)}),va.get(f)||(f.removeEventListener("contextmenu",tC,!0),f.removeEventListener("dblclick",sC,!0),f.removeEventListener("pointerdown",aC,!0),f.removeEventListener("pointerleave",lC),f.removeEventListener("pointermove",cC),f.removeEventListener("pointerout",uC),f.removeEventListener("pointerup",dC,!0)),s.disconnect()}}function wG(){const[e,t]=g.useState({}),n=g.useCallback(()=>t({}),[]);return[e,n]}function H_(e){const t=g.useId();return`${e??t}`}const ra=typeof window<"u"?g.useLayoutEffect:g.useEffect;function Vc(e){const t=g.useRef(e);return ra(()=>{t.current=e},[e]),g.useCallback((...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)},[t])}function U_(...e){return Vc(t=>{e.forEach(n=>{if(n)switch(typeof n){case"function":{n(t);break}case"object":{n.current=t;break}}})})}function W_(e){const t=g.useRef({...e});return ra(()=>{for(const n in e)t.current[n]=e[n]},[e]),t.current}const GP=g.createContext(null);function SG(e,t){const n=g.useRef({getLayout:()=>({}),setLayout:sG});g.useImperativeHandle(t,()=>n.current,[]),ra(()=>{Object.assign(n.current,VP({groupId:e}))})}function q_({children:e,className:t,defaultLayout:n,disableCursor:r,disabled:i,elementRef:s,groupRef:o,id:a,onLayoutChange:l,onLayoutChanged:c,orientation:u="horizontal",resizeTargetMinimumSize:d={coarse:20,fine:10},style:f,...p}){const m=g.useRef({onLayoutChange:{},onLayoutChanged:{}}),v=Vc(L=>{Wo(m.current.onLayoutChange,L)||(m.current.onLayoutChange=L,l==null||l(L))}),w=Vc((L,M)=>{Wo(m.current.onLayoutChanged,L)||(m.current.onLayoutChanged=L,c==null||c(L,{isUserInteraction:M}))}),x=H_(a),_=g.useRef(null),[b,S]=wG(),C=g.useRef({lastExpandedPanelSizes:{},layouts:{},panels:[],resizeTargetMinimumSize:d,separators:[]}),k=U_(_,s);SG(x,o);const N=Vc((L,M)=>{const R=Uo(),A=eC(L),D=Hs(L);if(D){let z=!1;switch(R.state){case"active":{z=R.hitRegions.some(F=>F.group===A);break}}return{flexGrow:D.layout[M]??1,pointerEvents:z?"none":void 0}}if(n!=null&&n[M])return{flexGrow:n==null?void 0:n[M]}}),E=W_({defaultLayout:n,disableCursor:r}),j=g.useMemo(()=>({get disableCursor(){return!!E.disableCursor},getPanelStyles:N,id:x,orientation:u,registerPanel:L=>{const M=C.current;return M.panels=Ix(u,[...M.panels,L]),S(),()=>{M.panels=M.panels.filter(R=>R!==L),S()}},registerSeparator:L=>{const M=C.current;return M.separators=Ix(u,[...M.separators,L]),S(),()=>{M.separators=M.separators.filter(R=>R!==L),S()}},updatePanelProps:(L,{disabled:M})=>{const R=C.current.panels.find(z=>z.id===L);R&&(R.panelConstraints.disabled=M);const A=eC(x),D=Hs(x);A&&D&&rs(A,{...D,derivedPanelConstraints:Ex(A)})},updateSeparatorProps:(L,{disabled:M,disableDoubleClick:R})=>{const A=C.current.separators.find(D=>D.id===L);A&&(A.disabled=M,A.disableDoubleClick=R)}}),[N,x,S,u,E]),P=g.useRef(null);return ra(()=>{const L=_.current;if(L===null)return;const M=C.current;let R;if(E.defaultLayout!==void 0&&Object.keys(E.defaultLayout).length===M.panels.length){R={};for(const I of M.panels){const U=E.defaultLayout[I.id];U!==void 0&&(R[I.id]=U)}}const A={disabled:!!i,element:L,id:x,mutableState:{defaultLayout:R,disableCursor:!!E.disableCursor,expandedPanelSizes:C.current.lastExpandedPanelSizes,layouts:C.current.layouts},orientation:u,panels:M.panels,resizeTargetMinimumSize:M.resizeTargetMinimumSize,separators:M.separators};P.current=A;const D=bG(A),{defaultLayoutDeferred:z,derivedPanelConstraints:F,layout:$}=Hs(A.id,!0);!z&&F.length>0&&(v($),w($,!1));const O=z_(x,I=>{const{defaultLayoutDeferred:U,derivedPanelConstraints:q,layout:B}=I.next;if(U||q.length===0)return;const te=A.panels.map(({id:Y})=>Y).join(",");A.mutableState.layouts[te]=B,q.forEach(Y=>{if(Y.collapsible){const{layout:re}=I.prev??{};if(re){const ke=Cn(Y.collapsedSize,B[Y.panelId]),oe=Cn(Y.collapsedSize,re[Y.panelId]);ke&&!oe&&(A.mutableState.expandedPanelSizes[Y.panelId]=re[Y.panelId])}}});const le=Uo().state!=="active";v(B),le&&w(B,I.isUserInteraction)});return()=>{P.current=null,D(),O()}},[i,x,w,v,u,b,E]),g.useEffect(()=>{const L=P.current;L&&(L.mutableState.defaultLayout=n,L.mutableState.disableCursor=!!r)}),h.jsx(GP.Provider,{value:j,children:h.jsx("div",{...p,className:t,"data-group":!0,"data-testid":x,id:x,ref:k,style:{height:"100%",width:"100%",overflow:"hidden",...f,display:"flex",flexDirection:u==="horizontal"?"row":"column",flexWrap:"nowrap",touchAction:u==="horizontal"?"pan-y":"pan-x"},children:e})})}q_.displayName="Group";function V_(){const e=g.useContext(GP);return dt(e,"Group Context not found; did you render a Panel or Separator outside of a Group?"),e}function kG(e,t){const{id:n}=V_(),r=g.useRef({collapse:zg,expand:zg,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:zg});g.useImperativeHandle(t,()=>r.current,[]),ra(()=>{Object.assign(r.current,qP({groupId:n,panelId:e}))})}function Qf({children:e,className:t,collapsedSize:n="0%",collapsible:r=!1,defaultSize:i,disabled:s,elementRef:o,groupResizeBehavior:a="preserve-relative-size",id:l,maxSize:c="100%",minSize:u="0%",onResize:d,panelRef:f,style:p,...m}){const v=!!l,w=H_(l),x=W_({disabled:s}),_=g.useRef(null),b=U_(_,o),{getPanelStyles:S,id:C,orientation:k,registerPanel:N,updatePanelProps:E}=V_(),j=d!==null,P=Vc((A,D,z)=>{d==null||d(A,l,z)});ra(()=>{const A=_.current;if(A!==null){const D={element:A,id:w,idIsStable:v,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:j?P:void 0,panelConstraints:{groupResizeBehavior:a,collapsedSize:n,collapsible:r,defaultSize:i,disabled:x.disabled,maxSize:c,minSize:u}};return N(D)}},[a,n,r,i,j,w,v,c,u,P,N,x]),g.useEffect(()=>{E(w,{disabled:s})},[s,w,E]),kG(w,f);const L=()=>{const A=S(C,w);if(A)return JSON.stringify(A)},M=g.useSyncExternalStore(A=>z_(C,A),L,L);let R;return M?R=JSON.parse(M):i!==void 0?R={flexGrow:void 0,flexShrink:void 0,flexBasis:i}:R={flexGrow:1},h.jsx("div",{...m,"data-disabled":s||void 0,"data-panel":!0,"data-testid":w,id:w,ref:b,style:{...CG,display:"flex",flexBasis:0,flexShrink:1,overflow:"visible",...R},children:h.jsx("div",{className:t,style:{maxHeight:"100%",maxWidth:"100%",flexGrow:1,overflow:"auto",...p,touchAction:k==="horizontal"?"pan-y":"pan-x"},children:e})})}Qf.displayName="Panel";const CG={minHeight:0,maxHeight:"100%",height:"auto",minWidth:0,maxWidth:"100%",width:"auto",border:"none",borderWidth:0,padding:0,margin:0};function EG({layout:e,panelConstraints:t,panelId:n,panelIndex:r}){let i,s;const o=e[n],a=t.find(l=>l.panelId===n);if(a){const l=a.maxSize,c=a.collapsible?a.collapsedSize:a.minSize,u=[r,r+1];s=qo({layout:Ru({delta:c-o,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n],i=qo({layout:Ru({delta:l-o,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n]}return{valueControls:n,valueMax:i,valueMin:s,valueNow:o}}function YP({children:e,className:t,disabled:n,disableDoubleClick:r,elementRef:i,id:s,style:o,...a}){const l=H_(s),c=W_({disabled:n,disableDoubleClick:r}),[u,d]=g.useState({}),[f,p]=g.useState("inactive"),[m,v]=g.useState(!1),w=g.useRef(null),x=U_(w,i),{disableCursor:_,id:b,orientation:S,registerSeparator:C,updateSeparatorProps:k}=V_(),N=S==="horizontal"?"vertical":"horizontal";ra(()=>{const P=w.current;if(P!==null){const L={disabled:c.disabled,disableDoubleClick:c.disableDoubleClick,element:P,id:l},M=C(L),R=rG(D=>{p(D.next.state!=="inactive"&&D.next.hitRegions.some(z=>z.separator===L)?D.next.state:"inactive")}),A=z_(b,D=>{const{derivedPanelConstraints:z,layout:F,separatorToPanels:$}=D.next,O=$.get(L);if(O){const I=O[0],U=O.indexOf(I);d(EG({layout:F,panelConstraints:z,panelId:I.id,panelIndex:U}))}});return()=>{R(),A(),M()}}},[b,l,C,c]),g.useEffect(()=>{k(l,{disabled:n,disableDoubleClick:r})},[n,r,l,k]);let E;n&&!_&&(E="not-allowed");let j;if(n)j="disabled";else switch(f){case"active":{j="active";break}default:m?j="focus":j=f}return h.jsx("div",{...a,"aria-controls":u.valueControls,"aria-disabled":n||void 0,"aria-orientation":N,"aria-valuemax":u.valueMax,"aria-valuemin":u.valueMin,"aria-valuenow":u.valueNow,children:e,className:t,"data-separator":j,"data-testid":l,id:l,onBlur:()=>v(!1),onFocus:()=>v(!0),ref:x,role:"separator",style:{flexBasis:"auto",cursor:E,...o,flexGrow:0,flexShrink:0,touchAction:"none"},tabIndex:n?void 0:0})}YP.displayName="Separator";function IG(e){if(!e)return;const t=e.contextUsage,n=e.contextWindowSize;if(!t||!n||n<=0)return;const r=t.inputTokens+(t.cacheReadTokens??0)+(t.cacheCreateTokens??0);if(!(r<=0))return Math.round(r/n*100)}function XP(e,t){const n=os(),r=e?`session/${e}`:"",i=es(r)??Fo,s=g.useCallback(d=>{!e||!r||n.setData(r,f=>Hf(f??Fo,d,e))},[n,r,e]),o=g.useCallback(()=>{e&&s({type:"session:change",sessionId:e})},[s,e]),a=g.useCallback(d=>{e&&s({type:"permission:clear",sessionId:e,requestId:d})},[s,e]),l=g.useCallback(d=>{e&&s({type:"permission:request",sessionId:e,requestId:d.requestId,tool:d.tool,input:d.input,...d.toolUseId?{toolUseId:d.toolUseId}:{}})},[s,e]),c=g.useCallback(d=>{e&&s({type:"session:question:clear",sessionId:e,toolUseId:d})},[s,e]),u=g.useCallback((d,f)=>{e&&s({type:"session:question:submitted",sessionId:e,toolUseId:d,answers:f})},[s,e]);return{...i,reset:o,clearPermission:a,restorePermission:l,clearQuestion:c,markQuestionSubmitted:u}}function NG(e){return e.kind!=="user-text"?!1:e.meta===void 0||e.meta==="slash-command"||Qp(e.meta)}function TG(e,t={}){let n=0;if(t.implicitCloseOnUserText){for(const r of e)NG(r)&&n++;return n}for(const r of e)r.kind==="turn-end"&&n++;return n}const PG=g.createContext(null);function bm(){return g.useContext(PG)}const RG=50;function MG({api:e,sessionId:t,focused:n=!0,toolSessionId:r,initialTurns:i,implicitCloseOnUserText:s,pageSize:o=RG,enabled:a=!0,refreshVersion:l=0}){const c=bm(),[u,d]=g.useState({messages:[],total:0,loading:!1,error:null}),f=g.useRef(r),p=g.useRef(n),m=g.useRef(null),v=g.useRef(l),w=g.useRef(0),x=g.useRef(!0);return g.useEffect(()=>(x.current=!0,()=>{x.current=!1}),[]),g.useEffect(()=>{const _=f.current;f.current=r;const b=n&&!p.current;if(p.current=n,!a){m.current!==null&&(m.current=null,++w.current,d({messages:[],total:0,loading:!1,error:null}));return}const S=m.current!==t,C=v.current!==l;v.current=l;const k=typeof _=="string"&&_!==r,N=b&&u.error!==null;if(_!==r&&(c==null||c.push({level:"info",msg:"chatflow.history.identity",sessionId:t,meta:{previousToolSessionId:_??null,toolSessionId:r??null,willReload:S||k}})),!S&&!k&&!N&&!C)return;if((S||k)&&d({messages:[],total:0,loading:!1,error:null}),!t){m.current=null;return}m.current=t;const E=++w.current;c==null||c.push({level:"info",msg:"chatflow.history.read.start",sessionId:t,meta:{toolSessionId:r??null,initialTurns:i??null,pageSize:i===void 0?null:o,readSeq:E}}),d(j=>({...j,loading:!0,error:null})),(async()=>{var A;let j=[],P=!1,L,M=i===void 0?{}:{limit:o},R=Number.POSITIVE_INFINITY;for(;;){let D;try{D=await e.historyRead({sessionId:t,...M})}catch(q){if(E!==w.current||!x.current)return;const B=q.message??"history load failed";c==null||c.push({level:"warn",msg:"chatflow.history.read.error",sessionId:t,meta:{readSeq:E,shown:P,errorCode:q&&typeof q=="object"&&"code"in q?String(q.code):null}}),d(te=>({...te,loading:!1,error:B}));return}if(E!==w.current||!x.current)return;c==null||c.push({level:"info",msg:"chatflow.history.read.result",sessionId:t,meta:{readSeq:E,pageMessages:((A=D.messages)==null?void 0:A.length)??0,total:D.total??0,offset:D.offset??null}}),L&&D.snapshotId&&L!==D.snapshotId&&(j=[],P=!1,R=Number.POSITIVE_INFINITY,d({messages:[],total:0,loading:!0,error:null})),L=D.snapshotId,j=[...D.messages??[],...j];const z=D.total??0,F=typeof D.offset=="number"?D.offset:0,$=F>=R,O=F<=0||$;R=F;const I=i!==void 0&&TG(j,{implicitCloseOnUserText:s})>=i;if(P?d({messages:j,total:z,loading:!1,error:null}):(O||I)&&(P=!0,d({messages:j,total:z,loading:!1,error:null})),O)return;const U=Math.max(0,F-o);M={offset:U,limit:F-U,...L?{snapshotId:L}:{}}}})()},[e,t,r,n,o,i,a,l,c]),u}const AG=["TaskCreate","TaskUpdate","TaskList","TaskGet"];function jG(e){return AG.includes(e)}function ZP(e){return e==="in_progress"||e==="completed"?e:"pending"}function LG(e,t){if(!t||typeof t!="object")return e;const n=t,r=typeof n.subject=="string"&&n.subject?n.subject:typeof n.content=="string"&&n.content?n.content:null;if(!r)return e;const i=typeof n.activeForm=="string"?n.activeForm:void 0,s=typeof n.description=="string"?n.description:void 0;return[...e,{id:String(e.length+1),content:r,status:ZP(n.status),activeForm:i,description:s}]}function DG(e,t){if(!t||typeof t!="object")return e;const n=t,r=typeof n.taskId=="string"&&n.taskId?n.taskId:typeof n.id=="string"&&n.id?n.id:null;if(!r)return e;const i=e.findIndex(a=>a.id===r);if(i<0)return e;const s=[...e],o={...s[i]};return"status"in n&&(o.status=ZP(n.status)),typeof n.subject=="string"&&(o.content=n.subject),typeof n.content=="string"&&(o.content=n.content),typeof n.activeForm=="string"&&(o.activeForm=n.activeForm),typeof n.description=="string"&&(o.description=n.description),s[i]=o,s}function OG(e){let t=[],n=-1;for(let r=0;r<e.length;r++){const i=e[r];if(i.kind==="task-event")switch(n=r,i.name){case"TaskCreate":t=LG(t,i.input);break;case"TaskUpdate":t=DG(t,i.input);break}}return{tasks:t,lastEventIndex:n}}function BG(e){return e==="TodoWrite"}function $G(e){if(!e||typeof e!="object")return null;const t=e;if(!Array.isArray(t.todos))return null;const n=[];for(const r of t.todos){if(!r||typeof r!="object")continue;const i=r,s=typeof i.content=="string"?i.content:"";if(!s)continue;const o=i.status==="in_progress"||i.status==="completed"?i.status:"pending",a=typeof i.activeForm=="string"?i.activeForm:void 0;n.push({content:s,status:o,activeForm:a})}return n}function Hh(e,t,n){var o;const r=[],i=new Map;for(let a=0;a<e.length;a++){const l=e[a],c=typeof l.seq=="number"?l.seq:a;switch(l.kind){case"session_init":r.push({kind:"session-init",seq:c,toolSessionId:l.toolSessionId});break;case"text":fC(r,c,"assistant-text",l.text,l.partialId,l.uuid);break;case"thinking":fC(r,c,"assistant-thinking",l.text,l.partialId);break;case"user_text":{l.meta==="task-notification"?r.push({kind:"agent-notification",seq:c,text:l.text,taskId:l.taskId,parentToolUseId:l.parentToolUseId}):l.meta?r.push({kind:"user-meta",seq:c,metaKind:l.meta,text:l.text}):r.push({kind:"user-text",seq:c,text:l.text,uuid:l.uuid,...l.sender&&(l.sender.principal!=="owner"||KT.test(l.text))?{senderDisplayName:l.sender.displayName}:{},senderPrincipal:((o=l.sender)==null?void 0:o.principal)==="guest"?"guest":"owner"});break}case"tool_call":QP(r,c,l.toolUseId,l.tool,l.input,l.toolKind);break;case"tool_result":{const u=i.get(l.toolUseId);if(u!==void 0){if(l.askQuestionAnswers){const f=r[u];f.submittedAnswers=l.askQuestionAnswers}i.delete(l.toolUseId);break}const d={kind:"tool-result",seq:c,toolUseId:l.toolUseId,output:l.output,error:l.error};l.toolResultExtra&&(d.toolResultExtra=l.toolResultExtra),r.push(d);break}case"attachment_memories":r.push({kind:"memory-callout",seq:c,memories:l.memories});break;case"permission_request":{if(!t||l.requestId!==t)break;r.push({kind:"permission-inline",seq:c,requestId:l.requestId,tool:l.tool,input:l.input});break}case"ask_user_question":i.set(l.toolUseId,r.length),r.push({kind:"question-card",seq:c,toolUseId:l.toolUseId,questions:l.questions});break;case"turn_end":{const u={kind:"turn-end",seq:c};l.durationMs!==void 0&&(u.durationMs=l.durationMs),l.reason!==void 0&&(u.reason=l.reason),l.turnId!==void 0&&(u.turnId=l.turnId),r.push(u);break}case"subagent_progress":{const u={kind:"agent-progress",seq:c,toolUseId:l.toolUseId,agentId:l.agentId,status:l.status};l.description&&(u.description=l.description),l.lastToolName&&(u.lastToolName=l.lastToolName),l.prompt&&(u.prompt=l.prompt),l.stats&&(u.stats=l.stats),r.push(u);break}case"error":r.push({kind:"error",seq:c,message:l.message});break}}const s=new Map(e.flatMap((a,l)=>a.turnId?[[a.seq??l,a.turnId]]:[]));for(const a of r){const l=s.get(a.seq);l&&(a.turnId=l)}for(let a=1;a<r.length;a++){const l=r[a],c=r[a-1];if(l.kind!=="session-init"||!l.turnId||c.kind!=="turn-end"||c.reason!=="interrupted"||c.turnId)continue;let u=a-1;for(;u>0&&r[u-1].kind!=="turn-end";)u--;for(;u<a-1&&r[u].kind==="session-init";)u++;const d=r.slice(u,a);if(!d.some(f=>f.turnId&&f.turnId!==l.turnId)){for(const f of d)f.turnId=l.turnId;r.splice(a,1),a--}}return r}function QP(e,t,n,r,i,s){if(BG(r)){const o=$G(i);if(o){e.push({kind:"todo-checklist",seq:t,toolUseId:n,todos:o});return}}if(r==="Agent"){const o=i??{},a=typeof o.description=="string"&&o.description?o.description:typeof o.subagent_type=="string"&&o.subagent_type?o.subagent_type:"Subagent";e.push({kind:"agent-call",seq:t,toolUseId:n,description:a,input:i});return}if(jG(r)){e.push({kind:"task-event",seq:t,toolUseId:n,name:r,input:i});return}e.push({kind:"tool-call",seq:t,toolUseId:n,tool:r,toolKind:s,input:i})}function fC(e,t,n,r,i,s){let o=-1;for(let c=e.length-1;c>=0;c--)if(e[c].kind===n){o=c;break}const a=o>=0?e[o]:null;if(i){if(a&&a.partialId===i){const u=n==="assistant-text"?{kind:n,seq:a.seq,text:a.text+r,partialId:i,...s?{uuid:s}:{}}:{kind:n,seq:a.seq,text:a.text+r,partialId:i};e[o]=u;return}const c=n==="assistant-text"?{kind:n,seq:t,text:r,partialId:i,...s?{uuid:s}:{}}:{kind:n,seq:t,text:r,partialId:i};e.push(c);return}if(a&&a.partialId){const c=n==="assistant-text"?{kind:n,seq:a.seq,text:r,...s?{uuid:s}:{}}:{kind:n,seq:a.seq,text:r};e[o]=c;return}const l=n==="assistant-text"?{kind:n,seq:t,text:r,...s?{uuid:s}:{}}:{kind:n,seq:t,text:r};e.push(l)}const zG="AskUserQuestion";function K_(e,t=0,n){var o;const r=[],i=new Map;let s=t;for(const a of e){const l=s++,c=a.toolUseId??`hist-${l}`;switch(a.kind){case"user-text":if(a.meta==="task-notification")r.push({kind:"agent-notification",seq:l,text:a.text??"",taskId:a.taskId,parentToolUseId:a.parentToolUseId});else if(a.meta)r.push({kind:"user-meta",seq:l,metaKind:a.meta,text:a.text??""});else{const u=KT.exec(a.text??""),d=(o=X$.exec(a.text??""))==null?void 0:o[1],f=(u==null?void 0:u[2])??d,p=(u==null?void 0:u[1])==="guest"||d?"guest":"owner";r.push({kind:"user-text",seq:l,text:a.text??"",uuid:a.uuid,...f?{senderDisplayName:f}:{},senderPrincipal:p})}break;case"assistant-text":r.push({kind:"assistant-text",seq:l,text:a.text??"",uuid:a.uuid});break;case"tool_call":{if(a.tool===zG){const u=a.input??{},d=Array.isArray(u.questions)?u.questions:[];i.set(c,r.length),r.push({kind:"question-card",seq:l,toolUseId:c,questions:d});break}QP(r,l,c,a.tool??"",a.input,n);break}case"tool_result":{const u=i.get(c);if(u!==void 0){if(a.askQuestionAnswers){const f=r[u];f.submittedAnswers=a.askQuestionAnswers}i.delete(c);break}const d={kind:"tool-result",seq:l,toolUseId:c,output:a.output};a.error!==void 0&&(d.error=a.error),a.toolResultExtra&&(d.toolResultExtra=a.toolResultExtra),r.push(d);break}case"attachment_memories":a.memories&&a.memories.length>0&&r.push({kind:"memory-callout",seq:l,memories:a.memories});break;case"summary":break;case"turn-end":{const u={kind:"turn-end",seq:l};typeof a.durationMs=="number"&&(u.durationMs=a.durationMs),typeof a.turnId=="string"&&(u.turnId=a.turnId),r.push(u);break}}}return r}const FG=5e5;function HG(e){const t=FG-e.length;return e.map(n=>({...n,seq:n.seq+t}))}const pC=/\[attachment:(image|file):([^\]]+)\]/g;function mC(e){try{return decodeURIComponent(e)}catch{return e}}function UG(e){var n,r;if(e.startsWith("data:")){const i=e.slice(5,e.indexOf(",")),s=(n=/;name=([^;]+)/i.exec(i))==null?void 0:n[1];if(s)return mC(s);const o=(r=i.split(";")[0])==null?void 0:r.toLowerCase(),a={"text/plain":"txt","application/pdf":"pdf","image/png":"png","image/jpeg":"jpg","image/gif":"gif","image/webp":"webp"}[o??""];return(o!=null&&o.startsWith("image/")?"图片":"附件")+(a?"."+a:"")}const t=e.split(/[?#]/,1)[0];return mC(t.split("/").pop()||"附件")}function Jf(e){const t=[];let n;for(;(n=pC.exec(e))!==null;){const i=n[2],s=UG(i);t.push({type:n[1],url:i,fileName:s})}const r=e.replace(pC,"").trim();return{attachments:t,text:r}}function WG(e,t){const n=t.filter(i=>i.status==="done"&&i.url);return n.length===0?e:n.map(i=>`[attachment:${i.mimeType.startsWith("image/")?"image":"file"}:${i.url}]`).join(`
536
+ `)},Hq=0,ga=[];function Uq(e){var t=g.useRef([]),n=g.useRef([0,0]),r=g.useRef(),i=g.useState(Hq++)[0],s=g.useState(S3)[0],o=g.useRef(e);g.useEffect(function(){o.current=e},[e]),g.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(i));var v=uq([e.lockRef.current],(e.shards||[]).map(Uk),!0).filter(Boolean);return v.forEach(function(w){return w.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),v.forEach(function(w){return w.classList.remove("allow-interactivity-".concat(i))})}}},[e.inert,e.lockRef.current,e.shards]);var a=g.useCallback(function(v,w){if("touches"in v&&v.touches.length===2||v.type==="wheel"&&v.ctrlKey)return!o.current.allowPinchZoom;var x=Jd(v),_=n.current,b="deltaX"in v?v.deltaX:_[0]-x[0],S="deltaY"in v?v.deltaY:_[1]-x[1],C,k=v.target,N=Math.abs(b)>Math.abs(S)?"h":"v";if("touches"in v&&N==="h"&&k.type==="range")return!1;var E=window.getSelection(),j=E&&E.anchorNode,P=j?j===k||j.contains(k):!1;if(P)return!1;var L=Fk(N,k);if(!L)return!0;if(L?C=N:(C=N==="v"?"h":"v",L=Fk(N,k)),!L)return!1;if(!r.current&&"changedTouches"in v&&(b||S)&&(r.current=C),!C)return!0;var M=r.current||C;return $q(M,w,v,M==="h"?b:S)},[]),l=g.useCallback(function(v){var w=v;if(!(!ga.length||ga[ga.length-1]!==s)){var x="deltaY"in w?Hk(w):Jd(w),_=t.current.filter(function(C){return C.name===w.type&&(C.target===w.target||w.target===C.shadowParent)&&zq(C.delta,x)})[0];if(_&&_.should){w.cancelable&&w.preventDefault();return}if(!_){var b=(o.current.shards||[]).map(Uk).filter(Boolean).filter(function(C){return C.contains(w.target)}),S=b.length>0?a(w,b[0]):!o.current.noIsolation;S&&w.cancelable&&w.preventDefault()}}},[]),c=g.useCallback(function(v,w,x,_){var b={name:v,delta:w,target:x,should:_,shadowParent:Wq(x)};t.current.push(b),setTimeout(function(){t.current=t.current.filter(function(S){return S!==b})},1)},[]),u=g.useCallback(function(v){n.current=Jd(v),r.current=void 0},[]),d=g.useCallback(function(v){c(v.type,Hk(v),v.target,a(v,e.lockRef.current))},[]),f=g.useCallback(function(v){c(v.type,Jd(v),v.target,a(v,e.lockRef.current))},[]);g.useEffect(function(){return ga.push(s),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener("wheel",l,ma),document.addEventListener("touchmove",l,ma),document.addEventListener("touchstart",u,ma),function(){ga=ga.filter(function(v){return v!==s}),document.removeEventListener("wheel",l,ma),document.removeEventListener("touchmove",l,ma),document.removeEventListener("touchstart",u,ma)}},[]);var p=e.removeScrollBar,m=e.inert;return g.createElement(g.Fragment,null,m?g.createElement(s,{styles:Fq(i)}):null,p?g.createElement(Mq,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Wq(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const qq=yq(w3,Uq);var fm=g.forwardRef(function(e,t){return g.createElement(hm,pi({},e,{ref:t,sideCar:qq}))});fm.classNames=hm.classNames;var Sx=["Enter"," "],Vq=["ArrowDown","PageUp","Home"],I3=["ArrowUp","PageDown","End"],Kq=[...Vq,...I3],Gq={ltr:[...Sx,"ArrowRight"],rtl:[...Sx,"ArrowLeft"]},Yq={ltr:["ArrowLeft"],rtl:["ArrowRight"]},Qu="Menu",[Iu,Xq,Zq]=F4(Qu),[ta,N3]=io(Qu,[Zq,Hl,p3]),Ju=Hl(),T3=p3(),[P3,so]=ta(Qu),[Qq,ed]=ta(Qu),R3=e=>{const{__scopeMenu:t,open:n=!1,children:r,dir:i,onOpenChange:s,modal:o=!0}=e,a=Ju(t),[l,c]=g.useState(null),u=g.useRef(!1),d=Ei(s),f=H4(i);return g.useEffect(()=>{const p=()=>{u.current=!0,document.addEventListener("pointerdown",m,{capture:!0,once:!0}),document.addEventListener("pointermove",m,{capture:!0,once:!0})},m=()=>u.current=!1;return document.addEventListener("keydown",p,{capture:!0}),()=>{document.removeEventListener("keydown",p,{capture:!0}),document.removeEventListener("pointerdown",m,{capture:!0}),document.removeEventListener("pointermove",m,{capture:!0})}},[]),h.jsx(cm,{...a,children:h.jsx(P3,{scope:t,open:n,onOpenChange:d,content:l,onContentChange:c,children:h.jsx(Qq,{scope:t,onClose:g.useCallback(()=>d(!1),[d]),isUsingKeyboardRef:u,dir:f,modal:o,children:r})})})};R3.displayName=Qu;var Jq="MenuAnchor",w_=g.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,i=Ju(n);return h.jsx(um,{...i,...r,ref:t})});w_.displayName=Jq;var S_="MenuPortal",[eV,M3]=ta(S_,{forceMount:void 0}),A3=e=>{const{__scopeMenu:t,forceMount:n,children:r,container:i}=e,s=so(S_,t);return h.jsx(eV,{scope:t,forceMount:n,children:h.jsx(Jr,{present:n||s.open,children:h.jsx(dm,{asChild:!0,container:i,children:r})})})};A3.displayName=S_;var Pr="MenuContent",[tV,k_]=ta(Pr),j3=g.forwardRef((e,t)=>{const n=M3(Pr,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,s=so(Pr,e.__scopeMenu),o=ed(Pr,e.__scopeMenu);return h.jsx(Iu.Provider,{scope:e.__scopeMenu,children:h.jsx(Jr,{present:r||s.open,children:h.jsx(Iu.Slot,{scope:e.__scopeMenu,children:o.modal?h.jsx(nV,{...i,ref:t}):h.jsx(rV,{...i,ref:t})})})})}),nV=g.forwardRef((e,t)=>{const n=so(Pr,e.__scopeMenu),r=g.useRef(null),i=Ot(t,r);return g.useEffect(()=>{const s=r.current;if(s)return b_(s)},[]),h.jsx(C_,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:Ne(e.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),rV=g.forwardRef((e,t)=>{const n=so(Pr,e.__scopeMenu);return h.jsx(C_,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),iV=pl("MenuContent.ScrollLock"),C_=g.forwardRef((e,t)=>{const{__scopeMenu:n,loop:r=!1,trapFocus:i,onOpenAutoFocus:s,onCloseAutoFocus:o,disableOutsidePointerEvents:a,onEntryFocus:l,onEscapeKeyDown:c,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,disableOutsideScroll:m,...v}=e,w=so(Pr,n),x=ed(Pr,n),_=Ju(n),b=T3(n),S=Xq(n),[C,k]=g.useState(null),N=g.useRef(null),E=Ot(t,N,w.onContentChange),j=g.useRef(0),P=g.useRef(""),L=g.useRef(0),M=g.useRef(null),R=g.useRef("right"),A=g.useRef(0),D=m?fm:g.Fragment,z=m?{as:iV,allowPinchZoom:!0}:void 0,F=O=>{var re,ke;const I=P.current+O,U=S().filter(oe=>!oe.disabled),q=document.activeElement,B=(re=U.find(oe=>oe.ref.current===q))==null?void 0:re.textValue,te=U.map(oe=>oe.textValue),le=gV(te,I,B),Y=(ke=U.find(oe=>oe.textValue===le))==null?void 0:ke.ref.current;(function oe(Ie){P.current=Ie,window.clearTimeout(j.current),Ie!==""&&(j.current=window.setTimeout(()=>oe(""),1e3))})(I),Y&&setTimeout(()=>Y.focus())};g.useEffect(()=>()=>window.clearTimeout(j.current),[]),u_();const $=g.useCallback(O=>{var U,q;return R.current===((U=M.current)==null?void 0:U.side)&&xV(O,(q=M.current)==null?void 0:q.area)},[]);return h.jsx(tV,{scope:n,searchRef:P,onItemEnter:g.useCallback(O=>{$(O)&&O.preventDefault()},[$]),onItemLeave:g.useCallback(O=>{var I;$(O)||((I=N.current)==null||I.focus(),k(null))},[$]),onTriggerLeave:g.useCallback(O=>{$(O)&&O.preventDefault()},[$]),pointerGraceTimerRef:L,onPointerGraceIntentChange:g.useCallback(O=>{M.current=O},[]),children:h.jsx(D,{...z,children:h.jsx(im,{asChild:!0,trapped:i,onMountAutoFocus:Ne(s,O=>{var I;O.preventDefault(),(I=N.current)==null||I.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:h.jsx(Yu,{asChild:!0,disableOutsidePointerEvents:a,onEscapeKeyDown:c,onPointerDownOutside:u,onFocusOutside:d,onInteractOutside:f,onDismiss:p,children:h.jsx(sq,{asChild:!0,...b,dir:x.dir,orientation:"vertical",loop:r,currentTabStopId:C,onCurrentTabStopIdChange:k,onEntryFocus:Ne(l,O=>{x.isUsingKeyboardRef.current||O.preventDefault()}),preventScrollOnEntryFocus:!0,children:h.jsx(y_,{role:"menu","aria-orientation":"vertical","data-state":Z3(w.open),"data-radix-menu-content":"",dir:x.dir,..._,...v,ref:E,style:{outline:"none",...v.style},onKeyDown:Ne(v.onKeyDown,O=>{const U=O.target.closest("[data-radix-menu-content]")===O.currentTarget,q=O.ctrlKey||O.altKey||O.metaKey,B=O.key.length===1;U&&(O.key==="Tab"&&O.preventDefault(),!q&&B&&F(O.key));const te=N.current;if(O.target!==te||!Kq.includes(O.key))return;O.preventDefault();const Y=S().filter(re=>!re.disabled).map(re=>re.ref.current);I3.includes(O.key)&&Y.reverse(),pV(Y)}),onBlur:Ne(e.onBlur,O=>{O.currentTarget.contains(O.target)||(window.clearTimeout(j.current),P.current="")}),onPointerMove:Ne(e.onPointerMove,Nu(O=>{const I=O.target,U=A.current!==O.clientX;if(O.currentTarget.contains(I)&&U){const q=O.clientX>A.current?"right":"left";R.current=q,A.current=O.clientX}}))})})})})})})});j3.displayName=Pr;var sV="MenuGroup",E_=g.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return h.jsx(wt.div,{role:"group",...r,ref:t})});E_.displayName=sV;var oV="MenuLabel",L3=g.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return h.jsx(wt.div,{...r,ref:t})});L3.displayName=oV;var Xf="MenuItem",Wk="menu.itemSelect",pm=g.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:r,...i}=e,s=g.useRef(null),o=ed(Xf,e.__scopeMenu),a=k_(Xf,e.__scopeMenu),l=Ot(t,s),c=g.useRef(!1),u=()=>{const d=s.current;if(!n&&d){const f=new CustomEvent(Wk,{bubbles:!0,cancelable:!0});d.addEventListener(Wk,p=>r==null?void 0:r(p),{once:!0}),z4(d,f),f.defaultPrevented?c.current=!1:o.onClose()}};return h.jsx(D3,{...i,ref:l,disabled:n,onClick:Ne(e.onClick,u),onPointerDown:d=>{var f;(f=e.onPointerDown)==null||f.call(e,d),c.current=!0},onPointerUp:Ne(e.onPointerUp,d=>{var f;c.current||(f=d.currentTarget)==null||f.click()}),onKeyDown:Ne(e.onKeyDown,d=>{const f=a.searchRef.current!=="";n||f&&d.key===" "||Sx.includes(d.key)&&(d.currentTarget.click(),d.preventDefault())})})});pm.displayName=Xf;var D3=g.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:r=!1,textValue:i,...s}=e,o=k_(Xf,n),a=T3(n),l=g.useRef(null),c=Ot(t,l),[u,d]=g.useState(!1),[f,p]=g.useState("");return g.useEffect(()=>{const m=l.current;m&&p((m.textContent??"").trim())},[s.children]),h.jsx(Iu.ItemSlot,{scope:n,disabled:r,textValue:i??f,children:h.jsx(oq,{asChild:!0,...a,focusable:!r,children:h.jsx(wt.div,{role:"menuitem","data-highlighted":u?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...s,ref:c,onPointerMove:Ne(e.onPointerMove,Nu(m=>{r?o.onItemLeave(m):(o.onItemEnter(m),m.defaultPrevented||m.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:Ne(e.onPointerLeave,Nu(m=>o.onItemLeave(m))),onFocus:Ne(e.onFocus,()=>d(!0)),onBlur:Ne(e.onBlur,()=>d(!1))})})})}),aV="MenuCheckboxItem",O3=g.forwardRef((e,t)=>{const{checked:n=!1,onCheckedChange:r,...i}=e;return h.jsx(H3,{scope:e.__scopeMenu,checked:n,children:h.jsx(pm,{role:"menuitemcheckbox","aria-checked":Zf(n)?"mixed":n,...i,ref:t,"data-state":T_(n),onSelect:Ne(i.onSelect,()=>r==null?void 0:r(Zf(n)?!0:!n),{checkForDefaultPrevented:!1})})})});O3.displayName=aV;var B3="MenuRadioGroup",[lV,cV]=ta(B3,{value:void 0,onValueChange:()=>{}}),$3=g.forwardRef((e,t)=>{const{value:n,onValueChange:r,...i}=e,s=Ei(r);return h.jsx(lV,{scope:e.__scopeMenu,value:n,onValueChange:s,children:h.jsx(E_,{...i,ref:t})})});$3.displayName=B3;var z3="MenuRadioItem",F3=g.forwardRef((e,t)=>{const{value:n,...r}=e,i=cV(z3,e.__scopeMenu),s=n===i.value;return h.jsx(H3,{scope:e.__scopeMenu,checked:s,children:h.jsx(pm,{role:"menuitemradio","aria-checked":s,...r,ref:t,"data-state":T_(s),onSelect:Ne(r.onSelect,()=>{var o;return(o=i.onValueChange)==null?void 0:o.call(i,n)},{checkForDefaultPrevented:!1})})})});F3.displayName=z3;var I_="MenuItemIndicator",[H3,uV]=ta(I_,{checked:!1}),U3=g.forwardRef((e,t)=>{const{__scopeMenu:n,forceMount:r,...i}=e,s=uV(I_,n);return h.jsx(Jr,{present:r||Zf(s.checked)||s.checked===!0,children:h.jsx(wt.span,{...i,ref:t,"data-state":T_(s.checked)})})});U3.displayName=I_;var dV="MenuSeparator",W3=g.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return h.jsx(wt.div,{role:"separator","aria-orientation":"horizontal",...r,ref:t})});W3.displayName=dV;var hV="MenuArrow",q3=g.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,i=Ju(n);return h.jsx(__,{...i,...r,ref:t})});q3.displayName=hV;var N_="MenuSub",[fV,V3]=ta(N_),K3=e=>{const{__scopeMenu:t,children:n,open:r=!1,onOpenChange:i}=e,s=so(N_,t),o=Ju(t),[a,l]=g.useState(null),[c,u]=g.useState(null),d=Ei(i);return g.useEffect(()=>(s.open===!1&&d(!1),()=>d(!1)),[s.open,d]),h.jsx(cm,{...o,children:h.jsx(P3,{scope:t,open:r,onOpenChange:d,content:c,onContentChange:u,children:h.jsx(fV,{scope:t,contentId:bi(),triggerId:bi(),trigger:a,onTriggerChange:l,children:n})})})};K3.displayName=N_;var kc="MenuSubTrigger",G3=g.forwardRef((e,t)=>{const n=so(kc,e.__scopeMenu),r=ed(kc,e.__scopeMenu),i=V3(kc,e.__scopeMenu),s=k_(kc,e.__scopeMenu),o=g.useRef(null),{pointerGraceTimerRef:a,onPointerGraceIntentChange:l}=s,c={__scopeMenu:e.__scopeMenu},u=g.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=null},[]);return g.useEffect(()=>u,[u]),g.useEffect(()=>{const d=a.current;return()=>{window.clearTimeout(d),l(null)}},[a,l]),h.jsx(w_,{asChild:!0,...c,children:h.jsx(D3,{id:i.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":i.contentId,"data-state":Z3(n.open),...e,ref:Gu(t,i.onTriggerChange),onClick:d=>{var f;(f=e.onClick)==null||f.call(e,d),!(e.disabled||d.defaultPrevented)&&(d.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:Ne(e.onPointerMove,Nu(d=>{s.onItemEnter(d),!d.defaultPrevented&&!e.disabled&&!n.open&&!o.current&&(s.onPointerGraceIntentChange(null),o.current=window.setTimeout(()=>{n.onOpenChange(!0),u()},100))})),onPointerLeave:Ne(e.onPointerLeave,Nu(d=>{var p,m;u();const f=(p=n.content)==null?void 0:p.getBoundingClientRect();if(f){const v=(m=n.content)==null?void 0:m.dataset.side,w=v==="right",x=w?-5:5,_=f[w?"left":"right"],b=f[w?"right":"left"];s.onPointerGraceIntentChange({area:[{x:d.clientX+x,y:d.clientY},{x:_,y:f.top},{x:b,y:f.top},{x:b,y:f.bottom},{x:_,y:f.bottom}],side:v}),window.clearTimeout(a.current),a.current=window.setTimeout(()=>s.onPointerGraceIntentChange(null),300)}else{if(s.onTriggerLeave(d),d.defaultPrevented)return;s.onPointerGraceIntentChange(null)}})),onKeyDown:Ne(e.onKeyDown,d=>{var p;const f=s.searchRef.current!=="";e.disabled||f&&d.key===" "||Gq[r.dir].includes(d.key)&&(n.onOpenChange(!0),(p=n.content)==null||p.focus(),d.preventDefault())})})})});G3.displayName=kc;var Y3="MenuSubContent",X3=g.forwardRef((e,t)=>{const n=M3(Pr,e.__scopeMenu),{forceMount:r=n.forceMount,...i}=e,s=so(Pr,e.__scopeMenu),o=ed(Pr,e.__scopeMenu),a=V3(Y3,e.__scopeMenu),l=g.useRef(null),c=Ot(t,l);return h.jsx(Iu.Provider,{scope:e.__scopeMenu,children:h.jsx(Jr,{present:r||s.open,children:h.jsx(Iu.Slot,{scope:e.__scopeMenu,children:h.jsx(C_,{id:a.contentId,"aria-labelledby":a.triggerId,...i,ref:c,align:"start",side:o.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:u=>{var d;o.isUsingKeyboardRef.current&&((d=l.current)==null||d.focus()),u.preventDefault()},onCloseAutoFocus:u=>u.preventDefault(),onFocusOutside:Ne(e.onFocusOutside,u=>{u.target!==a.trigger&&s.onOpenChange(!1)}),onEscapeKeyDown:Ne(e.onEscapeKeyDown,u=>{o.onClose(),u.preventDefault()}),onKeyDown:Ne(e.onKeyDown,u=>{var p;const d=u.currentTarget.contains(u.target),f=Yq[o.dir].includes(u.key);d&&f&&(s.onOpenChange(!1),(p=a.trigger)==null||p.focus(),u.preventDefault())})})})})})});X3.displayName=Y3;function Z3(e){return e?"open":"closed"}function Zf(e){return e==="indeterminate"}function T_(e){return Zf(e)?"indeterminate":e?"checked":"unchecked"}function pV(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function mV(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function gV(e,t,n){const i=t.length>1&&Array.from(t).every(c=>c===t[0])?t[0]:t,s=n?e.indexOf(n):-1;let o=mV(e,Math.max(s,0));i.length===1&&(o=o.filter(c=>c!==n));const l=o.find(c=>c.toLowerCase().startsWith(i.toLowerCase()));return l!==n?l:void 0}function vV(e,t){const{x:n,y:r}=e;let i=!1;for(let s=0,o=t.length-1;s<t.length;o=s++){const a=t[s],l=t[o],c=a.x,u=a.y,d=l.x,f=l.y;u>r!=f>r&&n<(d-c)*(r-u)/(f-u)+c&&(i=!i)}return i}function xV(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return vV(n,t)}function Nu(e){return t=>t.pointerType==="mouse"?e(t):void 0}var yV=R3,_V=w_,bV=A3,wV=j3,SV=E_,kV=L3,CV=pm,EV=O3,IV=$3,NV=F3,TV=U3,PV=W3,RV=q3,MV=K3,AV=G3,jV=X3,mm="DropdownMenu",[LV]=io(mm,[N3]),Rn=N3(),[DV,Q3]=LV(mm),J3=e=>{const{__scopeDropdownMenu:t,children:n,dir:r,open:i,defaultOpen:s,onOpenChange:o,modal:a=!0}=e,l=Rn(t),c=g.useRef(null),[u,d]=$l({prop:i,defaultProp:s??!1,onChange:o,caller:mm});return h.jsx(DV,{scope:t,triggerId:bi(),triggerRef:c,contentId:bi(),open:u,onOpenChange:d,onOpenToggle:g.useCallback(()=>d(f=>!f),[d]),modal:a,children:h.jsx(yV,{...l,open:u,onOpenChange:d,dir:r,modal:a,children:n})})};J3.displayName=mm;var eP="DropdownMenuTrigger",tP=g.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,disabled:r=!1,...i}=e,s=Q3(eP,n),o=Rn(n);return h.jsx(_V,{asChild:!0,...o,children:h.jsx(wt.button,{type:"button",id:s.triggerId,"aria-haspopup":"menu","aria-expanded":s.open,"aria-controls":s.open?s.contentId:void 0,"data-state":s.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...i,ref:Gu(t,s.triggerRef),onPointerDown:Ne(e.onPointerDown,a=>{!r&&a.button===0&&a.ctrlKey===!1&&(s.onOpenToggle(),s.open||a.preventDefault())}),onKeyDown:Ne(e.onKeyDown,a=>{r||(["Enter"," "].includes(a.key)&&s.onOpenToggle(),a.key==="ArrowDown"&&s.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(a.key)&&a.preventDefault())})})})});tP.displayName=eP;var OV="DropdownMenuPortal",nP=e=>{const{__scopeDropdownMenu:t,...n}=e,r=Rn(t);return h.jsx(bV,{...r,...n})};nP.displayName=OV;var rP="DropdownMenuContent",iP=g.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Q3(rP,n),s=Rn(n),o=g.useRef(!1);return h.jsx(wV,{id:i.contentId,"aria-labelledby":i.triggerId,...s,...r,ref:t,onCloseAutoFocus:Ne(e.onCloseAutoFocus,a=>{var l;o.current||(l=i.triggerRef.current)==null||l.focus(),o.current=!1,a.preventDefault()}),onInteractOutside:Ne(e.onInteractOutside,a=>{const l=a.detail.originalEvent,c=l.button===0&&l.ctrlKey===!0,u=l.button===2||c;(!i.modal||u)&&(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)"}})});iP.displayName=rP;var BV="DropdownMenuGroup",$V=g.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Rn(n);return h.jsx(SV,{...i,...r,ref:t})});$V.displayName=BV;var zV="DropdownMenuLabel",sP=g.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Rn(n);return h.jsx(kV,{...i,...r,ref:t})});sP.displayName=zV;var FV="DropdownMenuItem",oP=g.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Rn(n);return h.jsx(CV,{...i,...r,ref:t})});oP.displayName=FV;var HV="DropdownMenuCheckboxItem",aP=g.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Rn(n);return h.jsx(EV,{...i,...r,ref:t})});aP.displayName=HV;var UV="DropdownMenuRadioGroup",WV=g.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Rn(n);return h.jsx(IV,{...i,...r,ref:t})});WV.displayName=UV;var qV="DropdownMenuRadioItem",VV=g.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Rn(n);return h.jsx(NV,{...i,...r,ref:t})});VV.displayName=qV;var KV="DropdownMenuItemIndicator",lP=g.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Rn(n);return h.jsx(TV,{...i,...r,ref:t})});lP.displayName=KV;var GV="DropdownMenuSeparator",cP=g.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Rn(n);return h.jsx(PV,{...i,...r,ref:t})});cP.displayName=GV;var YV="DropdownMenuArrow",XV=g.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Rn(n);return h.jsx(RV,{...i,...r,ref:t})});XV.displayName=YV;var ZV=e=>{const{__scopeDropdownMenu:t,children:n,open:r,onOpenChange:i,defaultOpen:s}=e,o=Rn(t),[a,l]=$l({prop:r,defaultProp:s??!1,onChange:i,caller:"DropdownMenuSub"});return h.jsx(MV,{...o,open:a,onOpenChange:l,children:n})},QV="DropdownMenuSubTrigger",uP=g.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Rn(n);return h.jsx(AV,{...i,...r,ref:t})});uP.displayName=QV;var JV="DropdownMenuSubContent",dP=g.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,i=Rn(n);return h.jsx(jV,{...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)"}})});dP.displayName=JV;var eK=J3,tK=tP,hP=nP,fP=iP,pP=sP,mP=oP,gP=aP,nK=lP,vP=cP,rK=ZV,xP=uP,yP=dP;const P_=eK,R_=tK,gm=g.forwardRef(({className:e,sideOffset:t=4,...n},r)=>h.jsx(hP,{children:h.jsx(fP,{ref:r,sideOffset:t,className:ie("z-50 min-w-[8rem] overflow-hidden rounded-md border border-border bg-elevated p-1","text-text-100 shadow-md",e),...n})}));gm.displayName=fP.displayName;const _P=rK,M_=g.forwardRef(({className:e,...t},n)=>h.jsx(xP,{ref:n,className:ie("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none","focus:bg-bg-200 focus:text-text-100 data-[highlighted]:bg-bg-200 data-[highlighted]:text-text-100 data-[state=open]:bg-bg-200","data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...t}));M_.displayName=xP.displayName;const A_=g.forwardRef(({className:e,...t},n)=>h.jsx(hP,{children:h.jsx(yP,{ref:n,className:ie("z-50 min-w-[6rem] overflow-hidden rounded-md border border-border bg-elevated p-1","text-text-100 shadow-md",e),...t})}));A_.displayName=yP.displayName;const Ir=g.forwardRef(({className:e,inset:t,...n},r)=>h.jsx(mP,{ref:r,className:ie("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none","focus:bg-bg-200 focus:text-text-100 data-[highlighted]:bg-bg-200 data-[highlighted]:text-text-100","data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t&&"pl-8",e),...n}));Ir.displayName=mP.displayName;const iK=g.forwardRef(({className:e,children:t,checked:n,...r},i)=>h.jsxs(gP,{ref:i,checked:n,className:ie("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-7 pr-2 text-sm outline-none","focus:bg-bg-200 focus:text-text-100 data-[highlighted]:bg-bg-200 data-[highlighted]:text-text-100","data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...r,children:[h.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:h.jsx(nK,{children:h.jsx(no,{className:"h-3.5 w-3.5"})})}),t]}));iK.displayName=gP.displayName;const vm=g.forwardRef(({className:e,...t},n)=>h.jsx(vP,{ref:n,className:ie("-mx-1 my-1 h-px bg-border",e),...t}));vm.displayName=vP.displayName;const j_=g.forwardRef(({className:e,...t},n)=>h.jsx(pP,{ref:n,className:ie("px-2 py-1.5 text-xs font-semibold text-text-400",e),...t}));j_.displayName=pP.displayName;function sK({tool:e,className:t}){const n=QH(e);return h.jsx("span",{"data-testid":n?`session-icon-${e}`:"session-icon-default","aria-label":n?l_(e):"未知引擎",className:ie("w-3.5 h-3.5 shrink-0 inline-flex items-center justify-center",rm(e),t),children:h.jsx(nm,{tool:e,className:"w-full h-full"})})}function oK({sessionId:e,hasUnread:t,running:n=!1,awaitingUser:r=!1,style:i}){return r?h.jsx(g7,{"data-testid":`awaiting-dot-${e}`,style:i,className:"w-3 h-3 text-warning shrink-0 animate-pulse",strokeWidth:2.25,"aria-label":"awaiting user"}):t?h.jsx("span",{"data-testid":`unread-dot-${e}`,style:i,className:"w-2 h-2 rounded-full bg-error shrink-0","aria-label":"unread"}):n?h.jsx("span",{"data-testid":`running-dot-${e}`,style:i,className:"w-2 h-2 rounded-full bg-success shrink-0 animate-pulse","aria-label":"running"}):null}function bP(e){return e.compositionActive||!!e.nativeIsComposing||e.keyCode===229}function wP(e){return e.key==="Enter"&&!e.shiftKey&&!bP(e)}function td(e,t){const n=g.useRef(!1),r=g.useCallback(()=>{n.current=!0},[]),i=g.useCallback(()=>{setTimeout(()=>{n.current=!1},0)},[]);return{onKeyDown:g.useCallback(o=>{const a=o.nativeEvent;if(wP({key:o.key,shiftKey:o.shiftKey,compositionActive:n.current,nativeIsComposing:a.isComposing,keyCode:a.keyCode})){o.preventDefault(),e();return}t&&o.key==="Escape"&&(o.preventDefault(),t())},[e,t]),onCompositionStart:r,onCompositionEnd:i}}function aK({open:e,initialLabel:t,placeholder:n,onSubmit:r,onCancel:i,title:s="Edit session",fieldLabel:o="Label",testId:a="session-edit-dialog",requireNonEmpty:l=!1}){const[c,u]=g.useState(t);g.useEffect(()=>{e&&u(t)},[e,t]);const d=c.trim(),f=l&&d==="",p=()=>{f||r({label:d})},m=td(p,i);return e?Oo.createPortal(h.jsx("div",{className:"fixed inset-0 z-[10000] flex items-center justify-center bg-bg-0/40 backdrop-blur-[2px]",onClick:i,"data-testid":`${a}-overlay`,children:h.jsxs("div",{"data-testid":a,className:"w-[420px] max-w-[calc(100vw-32px)] rounded-2xl border border-text-100/[0.12] flex flex-col gap-4 p-5",style:{backgroundColor:"var(--bg-0)",boxShadow:"0 12px 40px rgba(0,0,0,0.04)"},onClick:v=>v.stopPropagation(),children:[h.jsx("div",{className:"text-[15px] font-semibold text-text-100",children:s}),h.jsxs("div",{children:[h.jsx("label",{className:"block text-[12px] font-semibold text-text-200 mb-1",children:o}),h.jsx("input",{autoFocus:!0,type:"text",value:c,onChange:v=>u(v.target.value),...m,placeholder:n,"data-testid":`${a}-label`,className:"w-full px-3 py-2 text-[13px] bg-bg-50 border border-bg-300 rounded-lg focus:outline-none focus:border-text-300 transition-colors"})]}),h.jsxs("div",{className:"flex justify-end gap-2 pt-1",children:[h.jsx("button",{type:"button",onClick:i,className:"px-4 py-1.5 text-[12px] text-text-300 rounded-lg hover:bg-text-100/5 transition-colors cursor-pointer",children:"Cancel"}),h.jsx("button",{type:"button",onClick:p,disabled:f,"data-testid":`${a}-save`,className:"px-4 py-1.5 text-[12px] font-medium text-bg-0 rounded-lg bg-text-100 hover:bg-text-200 transition-colors cursor-pointer disabled:cursor-not-allowed disabled:opacity-40",children:"Save"})]})]})}),document.body):null}var lK=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),cK="VisuallyHidden",SP=g.forwardRef((e,t)=>h.jsx(wt.span,{...e,ref:t,style:{...lK,...e.style}}));SP.displayName=cK;var uK=SP,[xm]=io("Tooltip",[Hl]),ym=Hl(),kP="TooltipProvider",dK=700,kx="tooltip.open",[hK,L_]=xm(kP),CP=e=>{const{__scopeTooltip:t,delayDuration:n=dK,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:s}=e,o=g.useRef(!0),a=g.useRef(!1),l=g.useRef(0);return g.useEffect(()=>{const c=l.current;return()=>window.clearTimeout(c)},[]),h.jsx(hK,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:g.useCallback(()=>{window.clearTimeout(l.current),o.current=!1},[]),onClose:g.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(()=>o.current=!0,r)},[r]),isPointerInTransitRef:a,onPointerInTransitChange:g.useCallback(c=>{a.current=c},[]),disableHoverableContent:i,children:s})};CP.displayName=kP;var Tu="Tooltip",[fK,_m]=xm(Tu),EP=e=>{const{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:s,disableHoverableContent:o,delayDuration:a}=e,l=L_(Tu,e.__scopeTooltip),c=ym(t),[u,d]=g.useState(null),f=bi(),p=g.useRef(0),m=o??l.disableHoverableContent,v=a??l.delayDuration,w=g.useRef(!1),[x,_]=$l({prop:r,defaultProp:i??!1,onChange:N=>{N?(l.onOpen(),document.dispatchEvent(new CustomEvent(kx))):l.onClose(),s==null||s(N)},caller:Tu}),b=g.useMemo(()=>x?w.current?"delayed-open":"instant-open":"closed",[x]),S=g.useCallback(()=>{window.clearTimeout(p.current),p.current=0,w.current=!1,_(!0)},[_]),C=g.useCallback(()=>{window.clearTimeout(p.current),p.current=0,_(!1)},[_]),k=g.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{w.current=!0,_(!0),p.current=0},v)},[v,_]);return g.useEffect(()=>()=>{p.current&&(window.clearTimeout(p.current),p.current=0)},[]),h.jsx(cm,{...c,children:h.jsx(fK,{scope:t,contentId:f,open:x,stateAttribute:b,trigger:u,onTriggerChange:d,onTriggerEnter:g.useCallback(()=>{l.isOpenDelayedRef.current?k():S()},[l.isOpenDelayedRef,k,S]),onTriggerLeave:g.useCallback(()=>{m?C():(window.clearTimeout(p.current),p.current=0)},[C,m]),onOpen:S,onClose:C,disableHoverableContent:m,children:n})})};EP.displayName=Tu;var Cx="TooltipTrigger",IP=g.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,i=_m(Cx,n),s=L_(Cx,n),o=ym(n),a=g.useRef(null),l=Ot(t,a,i.onTriggerChange),c=g.useRef(!1),u=g.useRef(!1),d=g.useCallback(()=>c.current=!1,[]);return g.useEffect(()=>()=>document.removeEventListener("pointerup",d),[d]),h.jsx(um,{asChild:!0,...o,children:h.jsx(wt.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:l,onPointerMove:Ne(e.onPointerMove,f=>{f.pointerType!=="touch"&&!u.current&&!s.isPointerInTransitRef.current&&(i.onTriggerEnter(),u.current=!0)}),onPointerLeave:Ne(e.onPointerLeave,()=>{i.onTriggerLeave(),u.current=!1}),onPointerDown:Ne(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener("pointerup",d,{once:!0})}),onFocus:Ne(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:Ne(e.onBlur,i.onClose),onClick:Ne(e.onClick,i.onClose)})})});IP.displayName=Cx;var pK="TooltipPortal",[Vde,mK]=xm(pK,{forceMount:void 0}),gl="TooltipContent",NP=g.forwardRef((e,t)=>{const n=mK(gl,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i="top",...s}=e,o=_m(gl,e.__scopeTooltip);return h.jsx(Jr,{present:r||o.open,children:o.disableHoverableContent?h.jsx(TP,{side:i,...s,ref:t}):h.jsx(gK,{side:i,...s,ref:t})})}),gK=g.forwardRef((e,t)=>{const n=_m(gl,e.__scopeTooltip),r=L_(gl,e.__scopeTooltip),i=g.useRef(null),s=Ot(t,i),[o,a]=g.useState(null),{trigger:l,onClose:c}=n,u=i.current,{onPointerInTransitChange:d}=r,f=g.useCallback(()=>{a(null),d(!1)},[d]),p=g.useCallback((m,v)=>{const w=m.currentTarget,x={x:m.clientX,y:m.clientY},_=bK(x,w.getBoundingClientRect()),b=wK(x,_),S=SK(v.getBoundingClientRect()),C=CK([...b,...S]);a(C),d(!0)},[d]);return g.useEffect(()=>()=>f(),[f]),g.useEffect(()=>{if(l&&u){const m=w=>p(w,u),v=w=>p(w,l);return l.addEventListener("pointerleave",m),u.addEventListener("pointerleave",v),()=>{l.removeEventListener("pointerleave",m),u.removeEventListener("pointerleave",v)}}},[l,u,p,f]),g.useEffect(()=>{if(o){const m=v=>{const w=v.target,x={x:v.clientX,y:v.clientY},_=(l==null?void 0:l.contains(w))||(u==null?void 0:u.contains(w)),b=!kK(x,o);_?f():b&&(f(),c())};return document.addEventListener("pointermove",m),()=>document.removeEventListener("pointermove",m)}},[l,u,o,c,f]),h.jsx(TP,{...e,ref:s})}),[vK,xK]=xm(Tu,{isInside:!1}),yK=cU("TooltipContent"),TP=g.forwardRef((e,t)=>{const{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:s,onPointerDownOutside:o,...a}=e,l=_m(gl,n),c=ym(n),{onClose:u}=l;return g.useEffect(()=>(document.addEventListener(kx,u),()=>document.removeEventListener(kx,u)),[u]),g.useEffect(()=>{if(l.trigger){const d=f=>{const p=f.target;p!=null&&p.contains(l.trigger)&&u()};return window.addEventListener("scroll",d,{capture:!0}),()=>window.removeEventListener("scroll",d,{capture:!0})}},[l.trigger,u]),h.jsx(Yu,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:s,onPointerDownOutside:o,onFocusOutside:d=>d.preventDefault(),onDismiss:u,children:h.jsxs(y_,{"data-state":l.stateAttribute,...c,...a,ref:t,style:{...a.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:[h.jsx(yK,{children:r}),h.jsx(vK,{scope:n,isInside:!0,children:h.jsx(uK,{id:l.contentId,role:"tooltip",children:i||r})})]})})});NP.displayName=gl;var PP="TooltipArrow",_K=g.forwardRef((e,t)=>{const{__scopeTooltip:n,...r}=e,i=ym(n);return xK(PP,n).isInside?null:h.jsx(__,{...i,...r,ref:t})});_K.displayName=PP;function bK(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),s=Math.abs(t.left-e.x);switch(Math.min(n,r,i,s)){case s:return"left";case i:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function wK(e,t,n=5){const 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 SK(e){const{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 kK(e,t){const{x:n,y:r}=e;let i=!1;for(let s=0,o=t.length-1;s<t.length;o=s++){const a=t[s],l=t[o],c=a.x,u=a.y,d=l.x,f=l.y;u>r!=f>r&&n<(d-c)*(r-u)/(f-u)+c&&(i=!i)}return i}function CK(e){const t=e.slice();return t.sort((n,r)=>n.x<r.x?-1:n.x>r.x?1:n.y<r.y?-1:n.y>r.y?1:0),EK(t)}function EK(e){if(e.length<=1)return e.slice();const t=[];for(let r=0;r<e.length;r++){const i=e[r];for(;t.length>=2;){const s=t[t.length-1],o=t[t.length-2];if((s.x-o.x)*(i.y-o.y)>=(s.y-o.y)*(i.x-o.x))t.pop();else break}t.push(i)}t.pop();const n=[];for(let r=e.length-1;r>=0;r--){const i=e[r];for(;n.length>=2;){const s=n[n.length-1],o=n[n.length-2];if((s.x-o.x)*(i.y-o.y)>=(s.y-o.y)*(i.x-o.x))n.pop();else break}n.push(i)}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 IK=CP,NK=EP,TK=IP,RP=NP;const Pu=IK,nd=NK,rd=TK,Ul=g.forwardRef(({className:e,sideOffset:t=4,...n},r)=>h.jsx(RP,{ref:r,sideOffset:t,className:ie("z-50 overflow-hidden rounded-sm border border-border bg-bg-0 px-2 py-1 text-xs text-text-300 shadow-md",e),...n}));Ul.displayName=RP.displayName;const PK={held:!1,indexBySessionId:new Map},RK=g.createContext(PK);function MK(){return g.useContext(RK)}const AK=Array.from({length:9},(e,t)=>({id:`switch-session-${t+1}`,combo:{key:String(t+1),mod:!0},label:`切换到第 ${t+1} 个会话`,group:"会话",desktopOnly:!0,hiddenInList:!0})),jK=[{id:"new-session",combo:{key:"n",mod:!0},label:"新建任务",description:"打开快捷新建弹窗",group:"通用",desktopOnly:!0},{id:"open-search",combo:{key:"k",mod:!0},label:"全局搜索",description:"搜会话内容 / persona / 联系人",group:"通用",desktopOnly:!0},{id:"search-tab-prev",combo:{key:"ArrowLeft",mod:!0},label:"搜索:上一组",description:"搜索浮层里切到左边那个 tab(会话 / persona / 联系人)",group:"通用"},{id:"search-tab-next",combo:{key:"ArrowRight",mod:!0},label:"搜索:下一组",description:"搜索浮层里切到右边那个 tab",group:"通用"},...AK,{id:"archive-session",combo:{key:"Backspace",mod:!0,shift:!0},label:"归档当前会话",description:"归档当前聊天区的会话,Enter 确认 / Esc 取消",group:"会话",desktopOnly:!0},{id:"tab-prev",combo:{key:"ArrowLeft",mod:!0,shift:!0},label:"上一个标签页",description:"连按快速移动,停下或松开修饰键后切换",group:"标签页"},{id:"tab-next",combo:{key:"ArrowRight",mod:!0,shift:!0},label:"下一个标签页",description:"连按快速移动,停下或松开修饰键后切换",group:"标签页"},{id:"close-tab",combo:{key:"w",mod:!0},label:"关闭当前标签页",description:"关闭当前聚焦的标签页",group:"标签页",desktopOnly:!0},{id:"toggle-hive",combo:{key:"h",mod:!0,shift:!0},label:"Hive 看板",description:"全屏看所有 agent 在干什么;Esc 或点任意行退出",group:"通用"},{id:"quit-app",combo:{key:"q",mod:!0},label:"退出 clawd",description:"退出应用,由 Electron 默认菜单处理",group:"通用",desktopOnly:!0,displayOnly:!0},{id:"send-message",combo:{key:"Enter"},label:"发送消息",description:"在输入框中发送当前内容",group:"输入",displayOnly:!0},{id:"newline",combo:{key:"Enter",shift:!0},label:"换行",description:"在输入框中插入换行",group:"输入",displayOnly:!0},{id:"interrupt",combo:{key:"Escape"},label:"打断回复",description:"打断当前回复;2 秒内按两次停止任务",group:"输入",displayOnly:!0}];jK.filter(e=>!e.displayOnly);function LK(){return/Mac|iP(hone|od|ad)/.test(navigator.platform)}const DK=10,OK=20,BK=16,qk=20,Vk=60,$K=4;function eh({testId:e,label:t,children:n}){return h.jsxs(nd,{children:[h.jsx(rd,{asChild:!0,children:h.jsx("span",{"data-testid":e,role:"img","aria-label":t,tabIndex:0,className:"inline-flex shrink-0",children:n})}),h.jsx(Ul,{side:"bottom",children:t})]})}function zK({session:e,active:t,hasUnread:n,running:r=!1,awaitingUser:i=!1,onSelect:s,onEdit:o,onDelete:a,onPin:l,onArchive:c,quickAction:u,depth:d=0,chevron:f,showCopyResume:p=!0,contactDisplayName:m,ownerPrincipalId:v,creatorDisplayName:w,dispatchedFromSessionTitle:x}){const[_,b]=g.useState(!1),S=MK(),C=S.held?S.indexBySessionId.get(e.sessionId):void 0,k=!!e.pinnedAt,N=d===0,E=d===0&&!!c,j=DK+d*OK;let P=null;u==="pin"&&N&&l?P={icon:k?h.jsx(ck,{className:"w-4 h-4"}):h.jsx(uk,{className:"w-4 h-4"}),label:k?"取消置顶":"置顶",run:()=>l(e.sessionId,!k)}:u==="archive"&&E&&c?P={icon:h.jsx(ok,{className:"w-4 h-4"}),label:"归档",run:()=>c(e.sessionId,!0)}:u==="rename"&&o&&(P={icon:h.jsx(px,{className:"w-4 h-4"}),label:"重命名",run:()=>b(!0)});const L=g.useCallback(async()=>{const z=B4(e);if(z)try{await navigator.clipboard.writeText(z)}catch{}},[e]),M=c_(e),R=e.originOwnerPrincipalId,A=R?`@${m??`…${R.slice(-8)}`}`:null,D=!!(e.ownerPersonaId&&v&&e.creatorPrincipalId&&e.creatorPrincipalId!==v&&!e.larkChatId&&!e.shiftFiredFromSessionId&&!e.dispatchedFromSessionId);return h.jsxs(h.Fragment,{children:[h.jsxs("div",{"data-testid":`session-item-${e.sessionId}`,onClick:s,style:{paddingLeft:j,display:"grid",gridTemplateColumns:f?`${BK}px ${qk}px 1fr auto ${Vk}px`:`${qk}px 1fr auto ${Vk}px`,gridTemplateAreas:f?'"chev icon name dot time"':'"icon name dot time"',columnGap:`${$K}px`,alignItems:"center"},className:ie("group relative rounded-lg cursor-pointer transition-all duration-150 pr-2.5 py-1.5",t?"bg-accent-dim":"hover:bg-sidebar-hover-bg"),children:[t?h.jsx("span",{"aria-hidden":"true",className:"absolute left-0 top-1/2 -translate-y-1/2 w-[3px] h-7 rounded-r-full bg-accent"}):null,h.jsx("div",{style:{gridArea:"chev"},className:"flex items-center justify-center",children:f??null}),h.jsx("div",{style:{gridArea:"icon"},className:"flex items-center justify-center",children:h.jsx(sK,{tool:e.tool})}),h.jsxs("div",{style:{gridArea:"name"},className:"flex items-center gap-1 min-w-0",children:[h.jsxs(Pu,{delayDuration:200,skipDelayDuration:100,children:[e.dispatchedFromSessionId?h.jsx(eh,{testId:`dispatched-icon-${e.sessionId}`,label:`来自【${x??"另一会话"}】dispatch`,children:h.jsx(F7,{"aria-hidden":"true",className:"w-3 h-3 text-accent",strokeWidth:2.25})}):null,e.shiftFiredFromSessionId?h.jsx(eh,{testId:`shift-fired-icon-${e.sessionId}`,label:"定时任务",children:h.jsx(l7,{"aria-hidden":"true",className:"w-3 h-3 text-accent",strokeWidth:2.25})}):null,e.larkChatId?h.jsx(eh,{testId:`lark-chat-icon-${e.sessionId}`,label:e.larkChatType==="p2p"?"来自飞书DM":"来自飞书群",children:h.jsx(yF,{"aria-hidden":"true",className:"w-3 h-3 text-accent",strokeWidth:2.25})}):null,D?h.jsx(eh,{testId:`guest-created-icon-${e.sessionId}`,label:w?`${w}创建`:"其他人创建",children:h.jsx(tH,{"aria-hidden":"true",className:"w-3 h-3 text-accent",strokeWidth:2.25})}):null]}),h.jsx("span",{"data-testid":`session-title-${e.sessionId}`,className:ie("text-[13px] truncate min-w-0","group-hover:whitespace-normal group-hover:overflow-visible group-hover:break-words",t?"text-text-100 font-medium":"text-text-200"),children:M}),A?h.jsx("span",{"data-testid":`session-mirror-chip-${e.sessionId}`,title:`在 ${A.replace(/^@/,"")} 的设备上`,className:"shrink-0 inline-flex items-center px-1.5 py-0 rounded text-[10px] bg-accent-dim/40 text-accent border border-accent/20 max-w-[120px] truncate",children:A}):null]}),h.jsx(oK,{sessionId:e.sessionId,hasUnread:n,running:r,awaitingUser:i,style:{gridArea:"dot"}}),C!=null?h.jsx("span",{style:{gridArea:"time"},"data-testid":`session-quick-switch-badge-${e.sessionId}`,className:"text-right shrink-0 transition-opacity duration-150 group-hover:opacity-0",children:h.jsx("span",{className:"inline-flex items-center justify-center h-[18px] px-1.5 rounded-[5px] border border-border bg-bg-200/70 text-[11px] text-text-200 font-medium leading-none",children:LK()?`⌘${C}`:`Ctrl+${C}`})}):h.jsx("span",{style:{gridArea:"time"},className:ie("text-[11px] text-text-400/70 text-right shrink-0","transition-opacity duration-150 group-hover:opacity-0"),children:e.updatedAt?eU(e.updatedAt):""}),o||a||l||c?h.jsxs("div",{className:"absolute right-2 top-[3px] flex items-center opacity-0 group-hover:opacity-100 data-[state=open]:opacity-100 transition-opacity",children:[P?h.jsx(Pu,{delayDuration:200,skipDelayDuration:100,children:h.jsxs(nd,{children:[h.jsx(rd,{asChild:!0,children:h.jsx("button",{type:"button",onClick:z=>{z.stopPropagation(),P.run()},className:"flex items-center justify-center w-7 h-7 rounded-md text-text-400 hover:text-text-100 hover:bg-text-100/5 transition-colors cursor-pointer","aria-label":P.label,"data-testid":`quick-action-${u}-${e.sessionId}`,children:P.icon})}),h.jsx(Ul,{side:"bottom",children:P.label})]})}):null,h.jsxs(P_,{modal:!1,children:[h.jsx(R_,{asChild:!0,children:h.jsx("button",{type:"button",onClick:z=>z.stopPropagation(),className:"flex items-center justify-center w-7 h-7 rounded-md text-text-400 hover:text-text-100 hover:bg-text-100/5 transition-colors cursor-pointer","aria-label":"session actions","data-testid":`session-menu-${e.sessionId}`,children:h.jsx(h4,{className:"w-4 h-4"})})}),h.jsxs(gm,{align:"end",onClick:z=>z.stopPropagation(),children:[l&&N&&h.jsxs(Ir,{onSelect:()=>l(e.sessionId,!k),"data-testid":`session-${k?"unpin":"pin"}-${e.sessionId}`,children:[k?h.jsx(ck,{className:"w-3 h-3 mr-2 text-text-400"}):h.jsx(uk,{className:"w-3 h-3 mr-2 text-text-400"}),k?"Unpin":"Pin"]}),E&&c&&h.jsxs(Ir,{onSelect:()=>c(e.sessionId,!0),"data-testid":`session-archive-${e.sessionId}`,children:[h.jsx(ok,{className:"w-3 h-3 mr-2 text-text-400"}),"Archive"]}),o&&h.jsxs(Ir,{onSelect:()=>b(!0),"data-testid":`session-rename-${e.sessionId}`,children:[h.jsx(px,{className:"w-3 h-3 mr-2 text-text-400"}),"Rename"]}),p&&e.toolSessionId?h.jsxs(Ir,{onSelect:()=>void L(),"data-testid":`session-copy-resume-${e.sessionId}`,children:[h.jsx(r_,{className:"w-3 h-3 mr-2 text-text-400"}),"Copy Resume Command"]}):null,(l||o||p&&e.toolSessionId)&&a&&h.jsx(vm,{}),a&&h.jsxs(Ir,{onSelect:()=>void a(e.sessionId),className:"text-destructive focus:text-destructive focus:bg-destructive/10","data-testid":`session-delete-${e.sessionId}`,children:[h.jsx(s_,{className:"w-3 h-3 mr-2"}),"Delete"]})]})]})]}):null]}),o?h.jsx(aK,{open:_,initialLabel:e.label??"",placeholder:e.cwd.split("/").pop()||"",onSubmit:z=>{o(e.sessionId,z),b(!1)},onCancel:()=>b(!1)}):null]})}function D_({node:e,depth:t=0,activeId:n,unreadIds:r,runningIds:i,awaitingIds:s,onSelect:o,onEdit:a,onDelete:l,onPin:c,onArchive:u,quickAction:d,getContactDisplayName:f,showCopyResume:p,ownerPrincipalId:m,getCreatorDisplayName:v,getSessionDisplayName:w,parentSession:x}){const _=e.children.length>0,{isCollapsed:b,toggle:S}=t7(),C=!b(e.session.sessionId),k=g.useCallback(E=>{E.stopPropagation(),S(e.session.sessionId)},[S,e.session.sessionId]),N=_?h.jsx("button",{type:"button",onClick:k,"data-testid":`session-chevron-${e.session.sessionId}`,"aria-label":C?"collapse":"expand","aria-expanded":C,className:"shrink-0 flex items-center justify-center w-4 h-4 text-text-400 hover:text-text-100 cursor-pointer",children:C?h.jsx(Pn,{className:"w-3 h-3"}):h.jsx(Fn,{className:"w-3 h-3"})}):null;return h.jsxs("div",{"data-testid":`session-tree-node-${e.session.sessionId}`,children:[h.jsx(zK,{session:e.session,active:n===e.session.sessionId,hasUnread:(r==null?void 0:r.has(e.session.sessionId))??!1,running:(i==null?void 0:i.has(e.session.sessionId))??!1,awaitingUser:(s==null?void 0:s.has(e.session.sessionId))??!1,onSelect:()=>o(e.session.sessionId),onEdit:a,onDelete:l,onPin:c,onArchive:u,quickAction:d,showCopyResume:p,ownerPrincipalId:m,creatorDisplayName:e.session.creatorPrincipalId?v==null?void 0:v(e.session.creatorPrincipalId):void 0,dispatchedFromSessionTitle:e.session.dispatchedFromSessionId?(w==null?void 0:w(e.session.dispatchedFromSessionId))??((x==null?void 0:x.sessionId)===e.session.dispatchedFromSessionId?c_(x):void 0):void 0,depth:t,chevron:N,contactDisplayName:e.session.originOwnerPrincipalId?f==null?void 0:f(e.session.originOwnerPrincipalId):void 0}),_&&C?h.jsx("div",{"data-testid":`session-tree-children-${e.session.sessionId}`,children:e.children.map(E=>h.jsx(D_,{node:E,depth:t+1,activeId:n,unreadIds:r,runningIds:i,awaitingIds:s,onSelect:o,onEdit:a,onDelete:l,onPin:c,onArchive:u,quickAction:d,getContactDisplayName:f,showCopyResume:p,ownerPrincipalId:m,getCreatorDisplayName:v,getSessionDisplayName:w,parentSession:e.session},E.session.sessionId))}):null]})}function FK(e){return e.forkedFromSessionId??e.dispatchedFromSessionId??e.shiftFiredFromSessionId}function O_(e,t){return e.updatedAt<t.updatedAt?1:e.updatedAt>t.updatedAt?-1:0}function MP(e){e=e.filter(s=>!s.ephemeral&&s.deployId===void 0&&s.testReleaseId===void 0);const t=new Map;for(const s of e)t.set(s.sessionId,s);const n=new Map,r=[];for(const s of e){const o=FK(s);if(o&&t.has(o)){const a=n.get(o)??[];a.push(s),n.set(o,a)}else r.push(s)}const i=s=>{const a=[...n.get(s.sessionId)??[]].sort(O_);return{session:s,children:a.map(i)}};return[...r].sort(HK).map(i)}function AP(e){return[...e].sort((t,n)=>O_(t.session,n.session))}function HK(e,t){const n=typeof e.pinnedAt=="number",r=typeof t.pinnedAt=="number";if(n&&r){const i=typeof e.pinSortOrder=="number",s=typeof t.pinSortOrder=="number";return i&&s?e.pinSortOrder-t.pinSortOrder:i?-1:s?1:t.pinnedAt-e.pinnedAt}return n?-1:r?1:O_(e,t)}function UK(e){return e.label?e.label:e.aiLabel?e.aiLabel:e.cwd.split("/").filter(Boolean).pop()??""}function Kk(e,t){const n=t.trim().toLowerCase();return n===""?!0:e.toLowerCase().includes(n)}const WK={isCollapsed:()=>!1,toggle:()=>{},prune:()=>{}};function qK({personas:e,activePersonaId:t,onSelectPersona:n,onCreateSession:r,sessions:i,activeSessionId:s,awaitingIds:o,runningIds:a,unreadIds:l,onSelectSession:c,onDeleteSession:u,ownerPrincipalId:d,creatorDisplayNameByOwnerId:f,isPersonaExpanded:p,onTogglePersonaExpanded:m,onEditSession:v,onPinSession:w,showCopyResume:x,treatSessionsAsRoots:_,searchQuery:b}){const[S,C]=g.useState(null),[k,N]=g.useState(()=>new Set),E=p??(D=>k.has(D)),j=g.useCallback(D=>{if(m){m(D);return}N(z=>{const F=new Set(z);return F.has(D)?F.delete(D):F.add(D),F})},[m]),P=g.useMemo(()=>i==null?void 0:i.filter(D=>!D.ephemeral),[i]),L=g.useMemo(()=>new Map((P??[]).map(D=>[D.sessionId,c_(D)])),[P]),M=g.useCallback(D=>f==null?void 0:f.get(D),[f]),R=g.useCallback(D=>L.get(D),[L]);if(e.length===0)return h.jsx(VK,{});const A=(b??"").trim();return A?h.jsx(t_.Provider,{value:WK,children:h.jsx("div",{"data-testid":"my-personas-list",className:"flex flex-col gap-0.5",children:e.map(D=>{const z=P?P.filter(I=>I.ownerPersonaId===D.personaId).sort((I,U)=>U.updatedAt>I.updatedAt?1:-1):[],F=Kk(D.label,A),$=z.filter(I=>Kk(UK(I),A));if(!F&&$.length===0)return null;const O=F?z:$;return h.jsx(Gk,{persona:D,active:D.personaId===t,editing:!1,onSelectPersona:n,onSubmitCreateSession:()=>{},onCancelCreateSession:()=>{},personaSessions:O,collapsed:!1,onToggleCollapsed:()=>{},activeSessionId:s??null,awaitingIds:o,runningIds:a,unreadIds:l,onSelectSession:c,onDeleteSession:u,onEditSession:v,onPinSession:w,showCopyResume:x,treatSessionsAsRoots:_,ownerPrincipalId:d,creatorDisplayNameByOwnerId:f,getCreatorDisplayName:M,getSessionDisplayName:R},D.personaId)})})}):h.jsx("div",{"data-testid":"my-personas-list",className:"flex flex-col gap-0.5",children:e.map(D=>{const z=P?P.filter(F=>F.ownerPersonaId===D.personaId).sort((F,$)=>$.updatedAt>F.updatedAt?1:-1):[];return h.jsx(Gk,{persona:D,active:D.personaId===t,editing:D.personaId===S,onSelectPersona:n,onStartCreateSession:r?()=>C(D.personaId):void 0,onSubmitCreateSession:F=>{C(null),r==null||r(D.personaId,F)},onCancelCreateSession:()=>C(null),personaSessions:z,collapsed:!E(D.personaId),onToggleCollapsed:()=>j(D.personaId),activeSessionId:s??null,awaitingIds:o,runningIds:a,unreadIds:l,onSelectSession:c,onDeleteSession:u,onEditSession:v,onPinSession:w,showCopyResume:x,treatSessionsAsRoots:_,ownerPrincipalId:d,creatorDisplayNameByOwnerId:f,getCreatorDisplayName:M,getSessionDisplayName:R},D.personaId)})})}function VK(){return h.jsx("div",{className:"px-3 py-3 text-[11px] leading-relaxed text-text-400",children:"还没有 persona。点上方 Personas 标题右侧 + 创建第一个。"})}function Gk({persona:e,active:t,editing:n,onSelectPersona:r,onStartCreateSession:i,onSubmitCreateSession:s,onCancelCreateSession:o,personaSessions:a,collapsed:l,onToggleCollapsed:c,activeSessionId:u,awaitingIds:d,runningIds:f,unreadIds:p,onSelectSession:m,onDeleteSession:v,onEditSession:w,onPinSession:x,showCopyResume:_,treatSessionsAsRoots:b,ownerPrincipalId:S,creatorDisplayNameByOwnerId:C,getCreatorDisplayName:k,getSessionDisplayName:N}){const E=a.length>0,j=!l,P=g.useMemo(()=>{const R=[],A=new Map;for(const D of a){const z=D.creatorPrincipalId;if(D.larkChatId!=null||!z||S&&z===S){R.push(D);continue}const F=z,$=(C==null?void 0:C.get(F))??`…${F.slice(-8)}`,O=A.get(F);O?O.sessions.push(D):A.set(F,{groupKey:F,displayName:$,sessions:[D]})}return{self:R,byPeer:[...A.values()]}},[a,S,C]),L=P.byPeer.length>0,M=g.useMemo(()=>j&&!L?AP(MP(a)):[],[j,L,a]);return h.jsxs("div",{"data-testid":`persona-node-${e.personaId}`,children:[h.jsxs("div",{className:ie("group flex items-center gap-1 px-2 py-1.5 cursor-pointer",t?"bg-accent-dim text-text-100":"hover:bg-bg-200 text-text-200"),onClick:()=>r==null?void 0:r(e.personaId),role:"button",tabIndex:0,children:[E?h.jsx("button",{type:"button",onClick:R=>{R.stopPropagation(),c()},"aria-label":j?"collapse":"expand","aria-expanded":j,"data-testid":`persona-chevron-${e.personaId}`,className:"flex h-4 w-4 shrink-0 items-center justify-center text-text-400 hover:text-text-100",children:j?h.jsx(Pn,{className:"h-3 w-3"}):h.jsx(Fn,{className:"h-3 w-3"})}):h.jsx("span",{className:"h-4 w-4 shrink-0","aria-hidden":"true"}),h.jsx(nm,{tool:e.tool,className:ie("h-3.5 w-3.5 shrink-0",rm(e.tool))}),h.jsx("span",{className:"flex-1 truncate text-[13px]",children:e.label}),E?h.jsx("span",{className:"shrink-0 text-[10px] text-text-400 tabular-nums","aria-label":`${a.length} sessions`,children:a.length}):null,i?h.jsx("button",{type:"button",onClick:R=>{R.stopPropagation(),i()},"aria-label":"新建会话",title:"新建会话","data-testid":`persona-create-session-${e.personaId}`,className:"flex h-5 w-5 shrink-0 items-center justify-center rounded text-text-400 opacity-0 hover:bg-text-100/10 hover:text-text-100 focus-visible:opacity-100 group-hover:opacity-100",children:h.jsx(g4,{className:"h-3.5 w-3.5"})}):null]}),n?h.jsx(KK,{personaId:e.personaId,tool:e.tool,onSubmit:s,onCancel:o}):null,E&&j?h.jsx("div",{"data-testid":`persona-sessions-${e.personaId}`,children:L?h.jsxs(h.Fragment,{children:[P.self.length>0&&h.jsx(Yk,{groupKey:`${e.personaId}-self`,label:"我自己",testId:`persona-sessions-${e.personaId}-self`,sessions:P.self,activeSessionId:u,awaitingIds:d,runningIds:f,unreadIds:p,onSelectSession:m,onDeleteSession:v,onEditSession:w,onPinSession:x,showCopyResume:_,ownerPrincipalId:S,getCreatorDisplayName:k,getSessionDisplayName:N}),P.byPeer.map(R=>h.jsx(Yk,{groupKey:`${e.personaId}-peer-${R.groupKey}`,label:R.displayName,testId:`persona-sessions-${e.personaId}-peer-${R.groupKey}`,sessions:R.sessions,activeSessionId:u,awaitingIds:d,runningIds:f,unreadIds:p,onSelectSession:m,onDeleteSession:v,onEditSession:w,onPinSession:x,showCopyResume:_,ownerPrincipalId:S,getCreatorDisplayName:k,getSessionDisplayName:N},`${e.personaId}-peer-${R.groupKey}`))]}):M.map(R=>h.jsx(D_,{node:R,depth:b?0:1,activeId:u,unreadIds:p,runningIds:f,awaitingIds:d,onSelect:A=>m==null?void 0:m(A),onDelete:v,onEdit:w,onPin:x,showCopyResume:_,ownerPrincipalId:S,getCreatorDisplayName:k,getSessionDisplayName:N},R.session.sessionId))}):null]})}function Yk({label:e,testId:t,sessions:n,activeSessionId:r,awaitingIds:i,runningIds:s,unreadIds:o,onSelectSession:a,onDeleteSession:l,onEditSession:c,onPinSession:u,showCopyResume:d,ownerPrincipalId:f,getCreatorDisplayName:p,getSessionDisplayName:m}){const[v,w]=g.useState(!1),x=!v,_=g.useMemo(()=>x?AP(MP(n)):[],[x,n]);return h.jsxs("div",{"data-testid":t,children:[h.jsxs("button",{type:"button",onClick:()=>w(b=>!b),"aria-label":x?"collapse":"expand","aria-expanded":x,"data-testid":`${t}-chevron`,className:"flex items-center gap-1 w-full pl-7 pr-2 py-0.5 text-[11px] text-text-400 hover:text-text-200 transition-colors",children:[x?h.jsx(Pn,{className:"h-3 w-3"}):h.jsx(Fn,{className:"h-3 w-3"}),h.jsx(_4,{className:"h-3 w-3","aria-hidden":!0}),h.jsx("span",{className:"truncate",children:e}),h.jsx("span",{className:"ml-auto tabular-nums",children:n.length})]}),x&&h.jsx("div",{children:_.map(b=>h.jsx(D_,{node:b,depth:2,activeId:r,unreadIds:o,runningIds:s,awaitingIds:i,onSelect:S=>a==null?void 0:a(S),onDelete:l,onEdit:c,onPin:u,showCopyResume:d,ownerPrincipalId:f,getCreatorDisplayName:p,getSessionDisplayName:m},b.session.sessionId))})]})}function KK({personaId:e,tool:t,onSubmit:n,onCancel:r}){const[i,s]=g.useState(""),o=g.useRef(null),a=i.trim(),l=a.length>0;g.useEffect(()=>{var d;(d=o.current)==null||d.focus()},[]);const c=g.useCallback(()=>{l&&n(a)},[l,a,n]),u=td(c,r);return h.jsxs("div",{className:"flex items-center gap-1.5 pl-9 pr-2 py-1","data-testid":`persona-new-session-row-${e}`,children:[h.jsx(nm,{tool:t,className:ie("h-3 w-3 shrink-0",rm(t))}),h.jsx("input",{ref:o,type:"text",value:i,onChange:d=>s(d.target.value),...u,onBlur:r,placeholder:"session label...","data-testid":`persona-new-session-input-${e}`,className:"flex-1 min-w-0 bg-bg-100 border border-text-100/15 rounded px-1.5 py-0.5 text-[12px] text-text-100 placeholder:text-text-400 focus:outline-none focus:border-text-100/40"}),h.jsx("button",{type:"button",onMouseDown:d=>{d.preventDefault(),c()},disabled:!l,"aria-label":"确认",title:"确认(Enter)","data-testid":`persona-new-session-confirm-${e}`,className:"flex h-4 w-4 shrink-0 items-center justify-center rounded text-text-300 hover:bg-text-100/10 hover:text-text-100 disabled:opacity-30 disabled:hover:bg-transparent disabled:hover:text-text-300",children:h.jsx(no,{className:"h-3 w-3"})}),h.jsx("button",{type:"button",onMouseDown:d=>{d.preventDefault(),r()},"aria-label":"取消",title:"取消(Esc)","data-testid":`persona-new-session-cancel-${e}`,className:"flex h-4 w-4 shrink-0 items-center justify-center rounded text-text-300 hover:bg-text-100/10 hover:text-text-100",children:h.jsx(Qr,{className:"h-3 w-3"})})]})}function GK(e,t){const n=getComputedStyle(e),r=parseFloat(n.fontSize);return t*r}function YK(e,t){const n=getComputedStyle(e.ownerDocument.documentElement),r=parseFloat(n.fontSize);return t*r}function XK(e){return e/100*window.innerHeight}function ZK(e){return e/100*window.innerWidth}function QK(e){switch(typeof e){case"number":return[e,"px"];case"string":{const t=parseFloat(e);return e.endsWith("%")?[t,"%"]:e.endsWith("px")?[t,"px"]:e.endsWith("rem")?[t,"rem"]:e.endsWith("em")?[t,"em"]:e.endsWith("vh")?[t,"vh"]:e.endsWith("vw")?[t,"vw"]:[t,"%"]}}}function Cc({groupSize:e,panelElement:t,styleProp:n}){let r;const[i,s]=QK(n);switch(s){case"%":{r=i/100*e;break}case"px":{r=i;break}case"rem":{r=YK(t,i);break}case"em":{r=GK(t,i);break}case"vh":{r=XK(i);break}case"vw":{r=ZK(i);break}}return r}function Dn(e){return parseFloat(e.toFixed(3))}function vl({group:e}){const{orientation:t,panels:n}=e;return n.reduce((r,i)=>(r+=t==="horizontal"?i.element.offsetWidth:i.element.offsetHeight,r),0)}function Ex(e){const{panels:t}=e,n=vl({group:e});return n===0?t.map(r=>({groupResizeBehavior:r.panelConstraints.groupResizeBehavior,collapsedSize:0,collapsible:r.panelConstraints.collapsible===!0,defaultSize:void 0,disabled:r.panelConstraints.disabled,minSize:0,maxSize:100,panelId:r.id})):t.map(r=>{const{element:i,panelConstraints:s}=r;let o=0;if(s.collapsedSize!==void 0){const u=Cc({groupSize:n,panelElement:i,styleProp:s.collapsedSize});o=Dn(u/n*100)}let a;if(s.defaultSize!==void 0){const u=Cc({groupSize:n,panelElement:i,styleProp:s.defaultSize});a=Dn(u/n*100)}let l=0;if(s.minSize!==void 0){const u=Cc({groupSize:n,panelElement:i,styleProp:s.minSize});l=Dn(u/n*100)}let c=100;if(s.maxSize!==void 0){const u=Cc({groupSize:n,panelElement:i,styleProp:s.maxSize});c=Dn(u/n*100)}return{groupResizeBehavior:s.groupResizeBehavior,collapsedSize:o,collapsible:s.collapsible===!0,defaultSize:a,disabled:s.disabled,minSize:l,maxSize:c,panelId:r.id}})}function dt(e,t="Assertion error"){if(!e)throw Error(t)}function Ix(e,t){return Array.from(t).sort(e==="horizontal"?JK:eG)}function JK(e,t){const n=e.element.offsetLeft-t.element.offsetLeft;return n!==0?n:e.element.offsetWidth-t.element.offsetWidth}function eG(e,t){const n=e.element.offsetTop-t.element.offsetTop;return n!==0?n:e.element.offsetHeight-t.element.offsetHeight}function jP(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function LP(e,t){return{x:e.x>=t.left&&e.x<=t.right?0:Math.min(Math.abs(e.x-t.left),Math.abs(e.x-t.right)),y:e.y>=t.top&&e.y<=t.bottom?0:Math.min(Math.abs(e.y-t.top),Math.abs(e.y-t.bottom))}}function tG({orientation:e,rects:t,targetRect:n}){const r={x:n.x+n.width/2,y:n.y+n.height/2};let i,s=Number.MAX_VALUE;for(const o of t){const{x:a,y:l}=LP(r,o),c=e==="horizontal"?a:l;c<s&&(s=c,i=o)}return dt(i,"No rect found"),i}let th;function nG(){return th===void 0&&(typeof matchMedia=="function"?th=!!matchMedia("(pointer:coarse)").matches:th=!1),th}function DP(e){const{element:t,orientation:n,panels:r,separators:i}=e,s=Ix(n,Array.from(t.children).filter(jP).map(m=>({element:m}))).map(({element:m})=>m),o=[];let a=!1,l=!1,c=-1,u=-1,d=0,f,p=[];{let m=-1;for(const v of s)v.hasAttribute("data-panel")&&(m++,v.hasAttribute("data-disabled")||(d++,c===-1&&(c=m),u=m))}if(d>1){let m=-1;for(const v of s)if(v.hasAttribute("data-panel")){m++;const w=r.find(x=>x.element===v);if(w){if(f){const x=f.element.getBoundingClientRect(),_=v.getBoundingClientRect();let b;if(l){const S=n==="horizontal"?new DOMRect(x.right,x.top,0,x.height):new DOMRect(x.left,x.bottom,x.width,0),C=n==="horizontal"?new DOMRect(_.left,_.top,0,_.height):new DOMRect(_.left,_.top,_.width,0);switch(p.length){case 0:{b=[S,C];break}case 1:{const k=p[0],N=tG({orientation:n,rects:[x,_],targetRect:k.element.getBoundingClientRect()});b=[k,N===x?C:S];break}default:{b=p;break}}}else p.length?b=p:b=[n==="horizontal"?new DOMRect(x.right,_.top,_.left-x.right,_.height):new DOMRect(_.left,x.bottom,_.width,_.top-x.bottom)];for(const S of b){let C="width"in S?S:S.element.getBoundingClientRect();const k=nG()?e.resizeTargetMinimumSize.coarse:e.resizeTargetMinimumSize.fine;if(C.width<k){const E=k-C.width;C=new DOMRect(C.x-E/2,C.y,C.width+E,C.height)}if(C.height<k){const E=k-C.height;C=new DOMRect(C.x,C.y-E/2,C.width,C.height+E)}const N=m<=c||m>u;!a&&!N&&o.push({group:e,groupSize:vl({group:e}),panels:[f,w],separator:"width"in S?void 0:S,rect:C}),a=!1}}l=!1,f=w,p=[]}}else if(v.hasAttribute("data-separator")){v.ariaDisabled!==null&&(a=!0);const w=i.find(x=>x.element===v);w?p.push(w):(f=void 0,p=[])}else l=!0}return o}var Ns;class OP{constructor(){Fb(this,Ns,{})}addListener(t,n){const r=Ql(this,Ns)[t];return r===void 0?Ql(this,Ns)[t]=[n]:r.includes(n)||r.push(n),()=>{this.removeListener(t,n)}}emit(t,n){const r=Ql(this,Ns)[t];if(r!==void 0)if(r.length===1)r[0].call(null,n);else{let i=!1,s=null;const o=Array.from(r);for(let a=0;a<o.length;a++){const l=o[a];try{l.call(null,n)}catch(c){s===null&&(i=!0,s=c)}}if(i)throw s}}removeAllListeners(){Hb(this,Ns,{})}removeListener(t,n){const r=Ql(this,Ns)[t];if(r!==void 0){const i=r.indexOf(n);i>=0&&r.splice(i,1)}}}Ns=new WeakMap;let Za={cursorFlags:0,state:"inactive"};const B_=new OP;function Uo(){return Za}function rG(e){return B_.addListener("change",e)}function iG(e){const t=Za,n={...Za};n.cursorFlags=e,Za=n,B_.emit("change",{prev:t,next:n})}function Qa(e){const t=Za;Za=e,B_.emit("change",{prev:t,next:e})}const sG=e=>e,zg=()=>{},BP=1,$P=2,zP=4,FP=8,Xk=3,Zk=12;let nh;function Qk(){return nh===void 0&&(nh=!1,typeof window<"u"&&(window.navigator.userAgent.includes("Chrome")||window.navigator.userAgent.includes("Firefox"))&&(nh=!0)),nh}function oG({cursorFlags:e,groups:t,state:n}){let r=0,i=0;switch(n){case"active":case"hover":t.forEach(s=>{if(!s.mutableState.disableCursor)switch(s.orientation){case"horizontal":{r++;break}case"vertical":{i++;break}}})}if(!(r===0&&i===0)){switch(n){case"active":{if(e&&Qk()){const s=(e&BP)!==0,o=(e&$P)!==0,a=(e&zP)!==0,l=(e&FP)!==0;if(s)return a?"se-resize":l?"ne-resize":"e-resize";if(o)return a?"sw-resize":l?"nw-resize":"w-resize";if(a)return"s-resize";if(l)return"n-resize"}break}}return Qk()?r>0&&i>0?"move":r>0?"ew-resize":"ns-resize":r>0&&i>0?"grab":r>0?"col-resize":"row-resize"}}const Jk=new WeakMap;function $_(e){if(e.defaultView===null||e.defaultView===void 0)return;let{prevStyle:t,styleSheet:n}=Jk.get(e)??{};n===void 0&&(n=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets&&(Object.isExtensible(e.adoptedStyleSheets)?e.adoptedStyleSheets.push(n):e.adoptedStyleSheets=[...e.adoptedStyleSheets,n]));const r=Uo();switch(r.state){case"active":case"hover":{const i=oG({cursorFlags:r.cursorFlags,groups:r.hitRegions.map(o=>o.group),state:r.state}),s=`*, *:hover {cursor: ${i} !important; }`;if(t===s)return;t=s,i?n.cssRules.length===0?n.insertRule(s):n.replaceSync(s):n.cssRules.length===1&&n.deleteRule(0);break}case"inactive":{t=void 0,n.cssRules.length===1&&n.deleteRule(0);break}}Jk.set(e,{prevStyle:t,styleSheet:n})}let gi=new Map;const HP=new OP;function aG(e){gi=new Map(gi),gi.delete(e)}function eC(e,t){for(const[n]of gi)if(n.id===e)return n}function Hs(e,t){for(const[n,r]of gi)if(n.id===e)return r;if(t)throw Error(`Could not find data for Group with id ${e}`)}function na(){return gi}function z_(e,t){return HP.addListener("groupChange",n=>{n.group.id===e&&t(n)})}function rs(e,t,n){const r=gi.get(e);gi=new Map(gi),gi.set(e,t),HP.emit("groupChange",{group:e,isUserInteraction:(n==null?void 0:n.isUserInteraction)===!0,prev:r,next:t})}function UP(e){const t=Uo();let n=!1;switch(t.state){case"active":Qa({cursorFlags:0,state:"inactive"}),t.hitRegions.length>0&&($_(e),n=!0,t.hitRegions.forEach(r=>{const i=Hs(r.group.id,!0);rs(r.group,i,{isUserInteraction:!0})}))}return n}function tC(e){e.defaultPrevented||UP(e.currentTarget)}function lG(e,t,n){let r,i={x:1/0,y:1/0};for(const s of t){const o=LP(n,s.rect);switch(e){case"horizontal":{o.x<=i.x&&(r=s,i=o);break}case"vertical":{o.y<=i.y&&(r=s,i=o);break}}}return r?{distance:i,hitRegion:r}:void 0}function cG(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function uG(e,t){if(e===t)throw new Error("Cannot compare node with itself");const n={a:iC(e),b:iC(t)};let r;for(;n.a.at(-1)===n.b.at(-1);)r=n.a.pop(),n.b.pop();dt(r,"Stacking order can only be calculated for elements with a common ancestor");const i={a:rC(nC(n.a)),b:rC(nC(n.b))};if(i.a===i.b){const s=r.childNodes,o={a:n.a.at(-1),b:n.b.at(-1)};let a=s.length;for(;a--;){const l=s[a];if(l===o.a)return 1;if(l===o.b)return-1}}return Math.sign(i.a-i.b)}const dG=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function hG(e){const t=getComputedStyle(WP(e)??e).display;return t==="flex"||t==="inline-flex"}function fG(e){const t=getComputedStyle(e);return!!(t.position==="fixed"||t.zIndex!=="auto"&&(t.position!=="static"||hG(e))||+t.opacity<1||"transform"in t&&t.transform!=="none"||"webkitTransform"in t&&t.webkitTransform!=="none"||"mixBlendMode"in t&&t.mixBlendMode!=="normal"||"filter"in t&&t.filter!=="none"||"webkitFilter"in t&&t.webkitFilter!=="none"||"isolation"in t&&t.isolation==="isolate"||dG.test(t.willChange)||t.webkitOverflowScrolling==="touch")}function nC(e){let t=e.length;for(;t--;){const n=e[t];if(dt(n,"Missing node"),fG(n))return n}return null}function rC(e){return e&&Number(getComputedStyle(e).zIndex)||0}function iC(e){const t=[];for(;e;)t.push(e),e=WP(e);return t}function WP(e){const{parentNode:t}=e;return cG(t)?t.host:t}function pG(e,t){return e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y}function mG({groupElement:e,hitRegion:t,pointerEventTarget:n}){if(!jP(n)||n.contains(e)||e.contains(n))return!0;if(uG(n,e)>0){let r=n;for(;r;){if(r.contains(e))return!0;if(pG(r.getBoundingClientRect(),t))return!1;r=r.parentElement}}return!0}function F_(e,t){const n=[];return t.forEach((r,i)=>{if(i.disabled)return;const s=DP(i),o=lG(i.orientation,s,{x:e.clientX,y:e.clientY});o&&o.distance.x<=0&&o.distance.y<=0&&mG({groupElement:i.element,hitRegion:o.hitRegion.rect,pointerEventTarget:e.target})&&n.push(o.hitRegion)}),n}function gG(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function Cn(e,t,n=0){return Math.abs(Dn(e)-Dn(t))<=n}function hi(e,t){return Cn(e,t)?0:e>t?1:-1}function $a({overrideDisabledPanels:e,panelConstraints:t,prevSize:n,size:r}){const{collapsedSize:i=0,collapsible:s,disabled:o,maxSize:a=100,minSize:l=0}=t;if(o&&!e)return n;if(hi(r,l)<0)if(s){const c=(i+l)/2;hi(r,c)<0?r=i:r=l}else r=l;return r=Math.min(a,r),r=Dn(r),r}function Ru({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:i,trigger:s}){if(Cn(e,0))return t;const o=s==="imperative-api",a=Object.values(t),l=Object.values(i),c=[...a],[u,d]=r;dt(u!=null,"Invalid first pivot index"),dt(d!=null,"Invalid second pivot index");let f=0;switch(s){case"keyboard":{{const v=e<0?d:u,w=n[v];dt(w,`Panel constraints not found for index ${v}`);const{collapsedSize:x=0,collapsible:_,minSize:b=0}=w;if(_){const S=a[v];if(dt(S!=null,`Previous layout not found for panel index ${v}`),Cn(S,x)){const C=b-S;hi(C,Math.abs(e))>0&&(e=e<0?0-C:C)}}}{const v=e<0?u:d,w=n[v];dt(w,`No panel constraints found for index ${v}`);const{collapsedSize:x=0,collapsible:_,minSize:b=0}=w;if(_){const S=a[v];if(dt(S!=null,`Previous layout not found for panel index ${v}`),Cn(S,b)){const C=S-x;hi(C,Math.abs(e))>0&&(e=e<0?0-C:C)}}}break}default:{const v=e<0?d:u,w=n[v];dt(w,`Panel constraints not found for index ${v}`);const x=a[v],{collapsible:_,collapsedSize:b,minSize:S}=w;if(_&&hi(x,S)<0)if(e>0){const C=S-b,k=C/2,N=x+e;hi(N,S)<0&&(e=hi(e,k)<=0?0:C)}else{const C=S-b,k=100-C/2,N=x-e;hi(N,S)<0&&(e=hi(100+e,k)>0?0:-C)}break}}{const v=e<0?1:-1;let w=e<0?d:u,x=0;for(;;){const b=a[w];dt(b!=null,`Previous layout not found for panel index ${w}`);const S=$a({overrideDisabledPanels:o,panelConstraints:n[w],prevSize:b,size:100})-b;if(x+=S,w+=v,w<0||w>=n.length)break}const _=Math.min(Math.abs(e),Math.abs(x));e=e<0?0-_:_}{let v=e<0?u:d;for(;v>=0&&v<n.length;){const w=Math.abs(e)-Math.abs(f),x=a[v];dt(x!=null,`Previous layout not found for panel index ${v}`);const _=x-w,b=$a({overrideDisabledPanels:o,panelConstraints:n[v],prevSize:x,size:_});if(!Cn(x,b)&&(f+=x-b,c[v]=b,f.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?v--:v++}}if(gG(l,c))return i;{const v=e<0?d:u,w=a[v];dt(w!=null,`Previous layout not found for panel index ${v}`);const x=w+f,_=$a({overrideDisabledPanels:o,panelConstraints:n[v],prevSize:w,size:x});if(c[v]=_,!Cn(_,x)){let b=x-_,S=e<0?d:u;for(;S>=0&&S<n.length;){const C=c[S];dt(C!=null,`Previous layout not found for panel index ${S}`);const k=C+b,N=$a({overrideDisabledPanels:o,panelConstraints:n[S],prevSize:C,size:k});if(Cn(C,N)||(b-=N-C,c[S]=N),Cn(b,0))break;e>0?S--:S++}}}const p=Object.values(c).reduce((v,w)=>w+v,0);if(!Cn(p,100,.1))return i;const m=Object.keys(i);return c.reduce((v,w,x)=>(v[m[x]]=w,v),{})}function Wo(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(t[n]===void 0||hi(e[n],t[n])!==0)return!1;return!0}function qo({layout:e,panelConstraints:t}){const n=Object.values(e),r=[...n],i=r.reduce((a,l)=>a+l,0);if(r.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${r.map(a=>`${a}%`).join(", ")}`);if(!Cn(i,100)&&r.length>0)for(let a=0;a<t.length;a++){const l=r[a];dt(l!=null,`No layout data found for index ${a}`);const c=100/i*l;r[a]=c}let s=0;for(let a=0;a<t.length;a++){const l=n[a];dt(l!=null,`No layout data found for index ${a}`);const c=r[a];dt(c!=null,`No layout data found for index ${a}`);const u=$a({overrideDisabledPanels:!0,panelConstraints:t[a],prevSize:l,size:c});c!=u&&(s+=c-u,r[a]=u)}if(!Cn(s,0))for(let a=0;a<t.length;a++){const l=r[a];dt(l!=null,`No layout data found for index ${a}`);const c=l+s,u=$a({overrideDisabledPanels:!0,panelConstraints:t[a],prevSize:l,size:c});if(l!==u&&(s-=u-l,r[a]=u,Cn(s,0)))break}const o=Object.keys(e);return r.reduce((a,l,c)=>(a[o[c]]=l,a),{})}function qP({groupId:e,panelId:t}){const n=()=>{const l=na();for(const[c,{defaultLayoutDeferred:u,derivedPanelConstraints:d,layout:f,groupSize:p,separatorToPanels:m}]of l)if(c.id===e)return{defaultLayoutDeferred:u,derivedPanelConstraints:d,group:c,groupSize:p,layout:f,separatorToPanels:m};throw Error(`Group ${e} not found`)},r=()=>{const l=n().derivedPanelConstraints.find(c=>c.panelId===t);if(l!==void 0)return l;throw Error(`Panel constraints not found for Panel ${t}`)},i=()=>{const l=n().group.panels.find(c=>c.id===t);if(l!==void 0)return l;throw Error(`Layout not found for Panel ${t}`)},s=()=>{const l=n().layout[t];if(l!==void 0)return l;throw Error(`Layout not found for Panel ${t}`)},o=({nextSize:l,panels:c,prevLayout:u,derivedPanelConstraints:d})=>{const f=s(),p=c.findIndex(w=>w.id===t),m=p===0,v=p===c.length-1;if(v&&l<f&&(m||c.slice(0,p).every((w,x)=>{const _=d[x];return(_==null?void 0:_.collapsible)&&Cn(_.collapsedSize,u[_.panelId])}))){const w=c.slice(0,p).reduce((x,_)=>x+u[_.id],0);return{...u,[t]:Dn(100-w)}}return Ru({delta:v?f-l:l-f,initialLayout:u,panelConstraints:d,pivotIndices:v?[p-1,p]:[p,p+1],prevLayout:u,trigger:"imperative-api"})},a=l=>{const c=s();if(l===c)return;const{defaultLayoutDeferred:u,derivedPanelConstraints:d,group:f,groupSize:p,layout:m,separatorToPanels:v}=n(),w=o({nextSize:l,panels:f.panels,prevLayout:m,derivedPanelConstraints:d}),x=qo({layout:w,panelConstraints:d});Wo(m,x)||rs(f,{defaultLayoutDeferred:u,derivedPanelConstraints:d,groupSize:p,layout:x,separatorToPanels:v})};return{collapse:()=>{const{collapsible:l,collapsedSize:c}=r(),{mutableValues:u}=i(),d=s();l&&d!==c&&(u.expandToSize=d,a(c))},expand:()=>{const{collapsible:l,collapsedSize:c,minSize:u}=r(),{mutableValues:d}=i(),f=s();if(l&&f===c){let p=d.expandToSize??u;p===0&&(p=1),a(p)}},getSize:()=>{const{group:l}=n(),c=s(),{element:u}=i(),d=l.orientation==="horizontal"?u.offsetWidth:u.offsetHeight;return{asPercentage:c,inPixels:d}},isCollapsed:()=>{const{collapsible:l,collapsedSize:c}=r(),u=s();return l&&Cn(c,u)},resize:l=>{const{group:c}=n(),{element:u}=i(),d=vl({group:c}),f=Cc({groupSize:d,panelElement:u,styleProp:l}),p=Dn(f/d*100);a(p)}}}function sC(e){if(e.defaultPrevented)return;const t=na();F_(e,t).forEach(n=>{if(n.separator&&!n.separator.disableDoubleClick){const r=n.panels.find(i=>i.panelConstraints.defaultSize!==void 0);if(r){const i=r.panelConstraints.defaultSize,s=qP({groupId:n.group.id,panelId:r.id});s&&i!==void 0&&(s.resize(i),e.preventDefault())}}})}function Fh(e){const t=na();for(const[n]of t)if(n.separators.some(r=>r.element===e))return n;throw Error("Could not find parent Group for separator element")}function VP({groupId:e}){const t=()=>{const n=na();for(const[r,i]of n)if(r.id===e)return{group:r,...i};throw Error(`Could not find Group with id "${e}"`)};return{getLayout(){const{defaultLayoutDeferred:n,layout:r}=t();return n?{}:r},setLayout(n){const{defaultLayoutDeferred:r,derivedPanelConstraints:i,group:s,groupSize:o,layout:a,separatorToPanels:l}=t(),c=qo({layout:n,panelConstraints:i});return r?a:(Wo(a,c)||rs(s,{defaultLayoutDeferred:r,derivedPanelConstraints:i,groupSize:o,layout:c,separatorToPanels:l}),c)}}}function po(e,t){const n=Fh(e),r=Hs(n.id,!0),i=n.separators.find(u=>u.element===e);dt(i,"Matching separator not found");const s=r.separatorToPanels.get(i);dt(s,"Matching panels not found");const o=s.map(u=>n.panels.indexOf(u)),a=VP({groupId:n.id}).getLayout(),l=Ru({delta:t,initialLayout:a,panelConstraints:r.derivedPanelConstraints,pivotIndices:o,prevLayout:a,trigger:"keyboard"}),c=qo({layout:l,panelConstraints:r.derivedPanelConstraints});Wo(a,c)||rs(n,{defaultLayoutDeferred:r.defaultLayoutDeferred,derivedPanelConstraints:r.derivedPanelConstraints,groupSize:r.groupSize,layout:c,separatorToPanels:r.separatorToPanels},{isUserInteraction:!0})}function oC(e){if(e.defaultPrevented)return;const t=e.currentTarget,n=Fh(t);if(!n.disabled)switch(e.key){case"ArrowDown":{e.preventDefault(),n.orientation==="vertical"&&po(t,5);break}case"ArrowLeft":{e.preventDefault(),n.orientation==="horizontal"&&po(t,-5);break}case"ArrowRight":{e.preventDefault(),n.orientation==="horizontal"&&po(t,5);break}case"ArrowUp":{e.preventDefault(),n.orientation==="vertical"&&po(t,-5);break}case"End":{e.preventDefault(),po(t,100);break}case"Enter":{e.preventDefault();const r=Fh(t),i=Hs(r.id,!0),{derivedPanelConstraints:s,layout:o,separatorToPanels:a}=i,l=r.separators.find(f=>f.element===t);dt(l,"Matching separator not found");const c=a.get(l);dt(c,"Matching panels not found");const u=c[0],d=s.find(f=>f.panelId===u.id);if(dt(d,"Panel metadata not found"),d.collapsible){const f=o[u.id],p=d.collapsedSize===f?r.mutableState.expandedPanelSizes[u.id]??d.minSize:d.collapsedSize;po(t,p-f)}break}case"F6":{e.preventDefault();const r=Fh(t).separators.map(o=>o.element),i=Array.from(r).findIndex(o=>o===e.currentTarget);dt(i!==null,"Index not found");const s=e.shiftKey?i>0?i-1:r.length-1:i+1<r.length?i+1:0;r[s].focus({preventScroll:!0});break}case"Home":{e.preventDefault(),po(t,-100);break}}}function aC(e){if(e.defaultPrevented||e.pointerType==="mouse"&&e.button>0)return;const t=na(),n=F_(e,t),r=new Map;let i=!1;n.forEach(s=>{s.separator&&(i||(i=!0,s.separator.element.focus({focusVisible:!1,preventScroll:!0})));const o=t.get(s.group);o&&r.set(s.group,o.layout)}),Qa({cursorFlags:0,hitRegions:n,initialLayoutMap:r,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:"active"}),n.length&&e.preventDefault()}function KP({document:e,event:t,hitRegions:n,initialLayoutMap:r,mountedGroups:i,pointerDownAtPoint:s,prevCursorFlags:o}){let a=0;n.forEach(c=>{const{group:u,groupSize:d}=c,{orientation:f,panels:p}=u,{disableCursor:m}=u.mutableState;let v=0;s?f==="horizontal"?v=(t.clientX-s.x)/d*100:v=(t.clientY-s.y)/d*100:f==="horizontal"?v=t.clientX<0?-100:100:v=t.clientY<0?-100:100;const w=r.get(u),x=i.get(u);if(!w||!x)return;const{defaultLayoutDeferred:_,derivedPanelConstraints:b,groupSize:S,layout:C,separatorToPanels:k}=x;if(b&&C&&k){const N=Ru({delta:v,initialLayout:w,panelConstraints:b,pivotIndices:c.panels.map(E=>p.indexOf(E)),prevLayout:C,trigger:"mouse-or-touch"});if(Wo(N,C)){if(v!==0&&!m)switch(f){case"horizontal":{a|=v<0?BP:$P;break}case"vertical":{a|=v<0?zP:FP;break}}}else rs(c.group,{defaultLayoutDeferred:_,derivedPanelConstraints:b,groupSize:S,layout:N,separatorToPanels:k})}});let l=0;t.movementX===0?l|=o&Xk:l|=a&Xk,t.movementY===0?l|=o&Zk:l|=a&Zk,iG(l),$_(e)}function lC(e){const t=na(),n=Uo();switch(n.state){case"active":KP({document:e.currentTarget,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedGroups:t,prevCursorFlags:n.cursorFlags})}}function cC(e){var r,i;if(e.defaultPrevented)return;const t=Uo(),n=na();switch(t.state){case"active":{if(e.buttons===0){Qa({cursorFlags:0,state:"inactive"}),t.hitRegions.forEach(s=>{const o=Hs(s.group.id,!0);rs(s.group,o,{isUserInteraction:!0})});return}for(const s of t.hitRegions)if(s.separator){const{element:o}=s.separator;(r=o.hasPointerCapture)!=null&&r.call(o,e.pointerId)||((i=o.setPointerCapture)==null||i.call(o,e.pointerId))}KP({document:e.currentTarget,event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:n,pointerDownAtPoint:t.pointerDownAtPoint,prevCursorFlags:t.cursorFlags});break}default:{const s=F_(e,n);s.length===0?t.state!=="inactive"&&Qa({cursorFlags:0,state:"inactive"}):Qa({cursorFlags:0,hitRegions:s,state:"hover"}),$_(e.currentTarget);break}}}function uC(e){if(e.relatedTarget instanceof HTMLIFrameElement)switch(Uo().state){case"hover":Qa({cursorFlags:0,state:"inactive"})}}function dC(e){e.defaultPrevented||e.pointerType==="mouse"&&e.button>0||UP(e.currentTarget)&&e.preventDefault()}function hC(e){let t=0,n=0;const r={};for(const s of e)if(s.defaultSize!==void 0){t++;const o=Dn(s.defaultSize);n+=o,r[s.panelId]=o}else r[s.panelId]=void 0;const i=e.length-t;if(i!==0){const s=Dn((100-n)/i);for(const o of e)o.defaultSize===void 0&&(r[o.panelId]=s)}return r}function vG(e,t,n){if(!n[0])return;const r=e.panels.find(l=>l.element===t);if(!r||!r.onResize)return;const i=vl({group:e}),s=e.orientation==="horizontal"?r.element.offsetWidth:r.element.offsetHeight,o=r.mutableValues.prevSize,a={asPercentage:Dn(s/i*100),inPixels:s};r.mutableValues.prevSize=a,r.onResize(a,r.id,o)}function xG(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(e[n]!==t[n])return!1;return!0}function yG({group:e,nextGroupSize:t,prevGroupSize:n,prevLayout:r}){if(n<=0||t<=0||n===t)return r;let i=0,s=0,o=!1;const a=new Map,l=[];for(const d of e.panels){const f=r[d.id]??0;switch(d.panelConstraints.groupResizeBehavior){case"preserve-pixel-size":{o=!0;const p=f/100*n,m=Dn(p/t*100);a.set(d.id,m),i+=m;break}case"preserve-relative-size":default:{l.push(d.id),s+=f;break}}}if(!o||l.length===0)return r;const c=100-i,u={...r};if(a.forEach((d,f)=>{u[f]=d}),s>0)for(const d of l){const f=r[d]??0;u[d]=Dn(f/s*c)}else{const d=Dn(c/l.length);for(const f of l)u[f]=d}return u}function _G(e,t){const n=e.map(i=>i.id),r=Object.keys(t);if(n.length!==r.length)return!1;for(const i of n)if(!r.includes(i))return!1;return!0}const va=new Map;function bG(e){let t=!0;dt(e.element.ownerDocument.defaultView,"Cannot register an unmounted Group");const n=e.element.ownerDocument.defaultView.ResizeObserver,r=new Set,i=new Set,s=new n(m=>{for(const v of m){const{borderBoxSize:w,target:x}=v;if(x===e.element){if(t){const _=vl({group:e});if(_===0)return;const b=Hs(e.id);if(!b)return;const S=Ex(e),C=b.defaultLayoutDeferred?hC(S):b.layout,k=yG({group:e,nextGroupSize:_,prevGroupSize:b.groupSize,prevLayout:C}),N=qo({layout:k,panelConstraints:S});if(!b.defaultLayoutDeferred&&Wo(b.layout,N)&&xG(b.derivedPanelConstraints,S)&&b.groupSize===_)return;rs(e,{defaultLayoutDeferred:!1,derivedPanelConstraints:S,groupSize:_,layout:N,separatorToPanels:b.separatorToPanels})}}else vG(e,x,w)}});s.observe(e.element),e.panels.forEach(m=>{dt(!r.has(m.id),`Panel ids must be unique; id "${m.id}" was used more than once`),r.add(m.id),m.onResize&&s.observe(m.element)});const o=vl({group:e}),a=Ex(e),l=e.panels.map(({id:m})=>m).join(",");let c=e.mutableState.defaultLayout;c&&(_G(e.panels,c)||(c=void 0));const u=e.mutableState.layouts[l]??c??hC(a),d=qo({layout:u,panelConstraints:a}),f=e.element.ownerDocument;va.set(f,(va.get(f)??0)+1);const p=new Map;return DP(e).forEach(m=>{m.separator&&p.set(m.separator,m.panels)}),rs(e,{defaultLayoutDeferred:o===0,derivedPanelConstraints:a,groupSize:o,layout:d,separatorToPanels:p}),e.separators.forEach(m=>{dt(!i.has(m.id),`Separator ids must be unique; id "${m.id}" was used more than once`),i.add(m.id),m.element.addEventListener("keydown",oC)}),va.get(f)===1&&(f.addEventListener("contextmenu",tC,!0),f.addEventListener("dblclick",sC,!0),f.addEventListener("pointerdown",aC,!0),f.addEventListener("pointerleave",lC),f.addEventListener("pointermove",cC),f.addEventListener("pointerout",uC),f.addEventListener("pointerup",dC,!0)),function(){t=!1,va.set(f,Math.max(0,(va.get(f)??0)-1)),aG(e),e.separators.forEach(m=>{m.element.removeEventListener("keydown",oC)}),va.get(f)||(f.removeEventListener("contextmenu",tC,!0),f.removeEventListener("dblclick",sC,!0),f.removeEventListener("pointerdown",aC,!0),f.removeEventListener("pointerleave",lC),f.removeEventListener("pointermove",cC),f.removeEventListener("pointerout",uC),f.removeEventListener("pointerup",dC,!0)),s.disconnect()}}function wG(){const[e,t]=g.useState({}),n=g.useCallback(()=>t({}),[]);return[e,n]}function H_(e){const t=g.useId();return`${e??t}`}const ra=typeof window<"u"?g.useLayoutEffect:g.useEffect;function Vc(e){const t=g.useRef(e);return ra(()=>{t.current=e},[e]),g.useCallback((...n)=>{var r;return(r=t.current)==null?void 0:r.call(t,...n)},[t])}function U_(...e){return Vc(t=>{e.forEach(n=>{if(n)switch(typeof n){case"function":{n(t);break}case"object":{n.current=t;break}}})})}function W_(e){const t=g.useRef({...e});return ra(()=>{for(const n in e)t.current[n]=e[n]},[e]),t.current}const GP=g.createContext(null);function SG(e,t){const n=g.useRef({getLayout:()=>({}),setLayout:sG});g.useImperativeHandle(t,()=>n.current,[]),ra(()=>{Object.assign(n.current,VP({groupId:e}))})}function q_({children:e,className:t,defaultLayout:n,disableCursor:r,disabled:i,elementRef:s,groupRef:o,id:a,onLayoutChange:l,onLayoutChanged:c,orientation:u="horizontal",resizeTargetMinimumSize:d={coarse:20,fine:10},style:f,...p}){const m=g.useRef({onLayoutChange:{},onLayoutChanged:{}}),v=Vc(L=>{Wo(m.current.onLayoutChange,L)||(m.current.onLayoutChange=L,l==null||l(L))}),w=Vc((L,M)=>{Wo(m.current.onLayoutChanged,L)||(m.current.onLayoutChanged=L,c==null||c(L,{isUserInteraction:M}))}),x=H_(a),_=g.useRef(null),[b,S]=wG(),C=g.useRef({lastExpandedPanelSizes:{},layouts:{},panels:[],resizeTargetMinimumSize:d,separators:[]}),k=U_(_,s);SG(x,o);const N=Vc((L,M)=>{const R=Uo(),A=eC(L),D=Hs(L);if(D){let z=!1;switch(R.state){case"active":{z=R.hitRegions.some(F=>F.group===A);break}}return{flexGrow:D.layout[M]??1,pointerEvents:z?"none":void 0}}if(n!=null&&n[M])return{flexGrow:n==null?void 0:n[M]}}),E=W_({defaultLayout:n,disableCursor:r}),j=g.useMemo(()=>({get disableCursor(){return!!E.disableCursor},getPanelStyles:N,id:x,orientation:u,registerPanel:L=>{const M=C.current;return M.panels=Ix(u,[...M.panels,L]),S(),()=>{M.panels=M.panels.filter(R=>R!==L),S()}},registerSeparator:L=>{const M=C.current;return M.separators=Ix(u,[...M.separators,L]),S(),()=>{M.separators=M.separators.filter(R=>R!==L),S()}},updatePanelProps:(L,{disabled:M})=>{const R=C.current.panels.find(z=>z.id===L);R&&(R.panelConstraints.disabled=M);const A=eC(x),D=Hs(x);A&&D&&rs(A,{...D,derivedPanelConstraints:Ex(A)})},updateSeparatorProps:(L,{disabled:M,disableDoubleClick:R})=>{const A=C.current.separators.find(D=>D.id===L);A&&(A.disabled=M,A.disableDoubleClick=R)}}),[N,x,S,u,E]),P=g.useRef(null);return ra(()=>{const L=_.current;if(L===null)return;const M=C.current;let R;if(E.defaultLayout!==void 0&&Object.keys(E.defaultLayout).length===M.panels.length){R={};for(const I of M.panels){const U=E.defaultLayout[I.id];U!==void 0&&(R[I.id]=U)}}const A={disabled:!!i,element:L,id:x,mutableState:{defaultLayout:R,disableCursor:!!E.disableCursor,expandedPanelSizes:C.current.lastExpandedPanelSizes,layouts:C.current.layouts},orientation:u,panels:M.panels,resizeTargetMinimumSize:M.resizeTargetMinimumSize,separators:M.separators};P.current=A;const D=bG(A),{defaultLayoutDeferred:z,derivedPanelConstraints:F,layout:$}=Hs(A.id,!0);!z&&F.length>0&&(v($),w($,!1));const O=z_(x,I=>{const{defaultLayoutDeferred:U,derivedPanelConstraints:q,layout:B}=I.next;if(U||q.length===0)return;const te=A.panels.map(({id:Y})=>Y).join(",");A.mutableState.layouts[te]=B,q.forEach(Y=>{if(Y.collapsible){const{layout:re}=I.prev??{};if(re){const ke=Cn(Y.collapsedSize,B[Y.panelId]),oe=Cn(Y.collapsedSize,re[Y.panelId]);ke&&!oe&&(A.mutableState.expandedPanelSizes[Y.panelId]=re[Y.panelId])}}});const le=Uo().state!=="active";v(B),le&&w(B,I.isUserInteraction)});return()=>{P.current=null,D(),O()}},[i,x,w,v,u,b,E]),g.useEffect(()=>{const L=P.current;L&&(L.mutableState.defaultLayout=n,L.mutableState.disableCursor=!!r)}),h.jsx(GP.Provider,{value:j,children:h.jsx("div",{...p,className:t,"data-group":!0,"data-testid":x,id:x,ref:k,style:{height:"100%",width:"100%",overflow:"hidden",...f,display:"flex",flexDirection:u==="horizontal"?"row":"column",flexWrap:"nowrap",touchAction:u==="horizontal"?"pan-y":"pan-x"},children:e})})}q_.displayName="Group";function V_(){const e=g.useContext(GP);return dt(e,"Group Context not found; did you render a Panel or Separator outside of a Group?"),e}function kG(e,t){const{id:n}=V_(),r=g.useRef({collapse:zg,expand:zg,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:zg});g.useImperativeHandle(t,()=>r.current,[]),ra(()=>{Object.assign(r.current,qP({groupId:n,panelId:e}))})}function Qf({children:e,className:t,collapsedSize:n="0%",collapsible:r=!1,defaultSize:i,disabled:s,elementRef:o,groupResizeBehavior:a="preserve-relative-size",id:l,maxSize:c="100%",minSize:u="0%",onResize:d,panelRef:f,style:p,...m}){const v=!!l,w=H_(l),x=W_({disabled:s}),_=g.useRef(null),b=U_(_,o),{getPanelStyles:S,id:C,orientation:k,registerPanel:N,updatePanelProps:E}=V_(),j=d!==null,P=Vc((A,D,z)=>{d==null||d(A,l,z)});ra(()=>{const A=_.current;if(A!==null){const D={element:A,id:w,idIsStable:v,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:j?P:void 0,panelConstraints:{groupResizeBehavior:a,collapsedSize:n,collapsible:r,defaultSize:i,disabled:x.disabled,maxSize:c,minSize:u}};return N(D)}},[a,n,r,i,j,w,v,c,u,P,N,x]),g.useEffect(()=>{E(w,{disabled:s})},[s,w,E]),kG(w,f);const L=()=>{const A=S(C,w);if(A)return JSON.stringify(A)},M=g.useSyncExternalStore(A=>z_(C,A),L,L);let R;return M?R=JSON.parse(M):i!==void 0?R={flexGrow:void 0,flexShrink:void 0,flexBasis:i}:R={flexGrow:1},h.jsx("div",{...m,"data-disabled":s||void 0,"data-panel":!0,"data-testid":w,id:w,ref:b,style:{...CG,display:"flex",flexBasis:0,flexShrink:1,overflow:"visible",...R},children:h.jsx("div",{className:t,style:{maxHeight:"100%",maxWidth:"100%",flexGrow:1,overflow:"auto",...p,touchAction:k==="horizontal"?"pan-y":"pan-x"},children:e})})}Qf.displayName="Panel";const CG={minHeight:0,maxHeight:"100%",height:"auto",minWidth:0,maxWidth:"100%",width:"auto",border:"none",borderWidth:0,padding:0,margin:0};function EG({layout:e,panelConstraints:t,panelId:n,panelIndex:r}){let i,s;const o=e[n],a=t.find(l=>l.panelId===n);if(a){const l=a.maxSize,c=a.collapsible?a.collapsedSize:a.minSize,u=[r,r+1];s=qo({layout:Ru({delta:c-o,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n],i=qo({layout:Ru({delta:l-o,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n]}return{valueControls:n,valueMax:i,valueMin:s,valueNow:o}}function YP({children:e,className:t,disabled:n,disableDoubleClick:r,elementRef:i,id:s,style:o,...a}){const l=H_(s),c=W_({disabled:n,disableDoubleClick:r}),[u,d]=g.useState({}),[f,p]=g.useState("inactive"),[m,v]=g.useState(!1),w=g.useRef(null),x=U_(w,i),{disableCursor:_,id:b,orientation:S,registerSeparator:C,updateSeparatorProps:k}=V_(),N=S==="horizontal"?"vertical":"horizontal";ra(()=>{const P=w.current;if(P!==null){const L={disabled:c.disabled,disableDoubleClick:c.disableDoubleClick,element:P,id:l},M=C(L),R=rG(D=>{p(D.next.state!=="inactive"&&D.next.hitRegions.some(z=>z.separator===L)?D.next.state:"inactive")}),A=z_(b,D=>{const{derivedPanelConstraints:z,layout:F,separatorToPanels:$}=D.next,O=$.get(L);if(O){const I=O[0],U=O.indexOf(I);d(EG({layout:F,panelConstraints:z,panelId:I.id,panelIndex:U}))}});return()=>{R(),A(),M()}}},[b,l,C,c]),g.useEffect(()=>{k(l,{disabled:n,disableDoubleClick:r})},[n,r,l,k]);let E;n&&!_&&(E="not-allowed");let j;if(n)j="disabled";else switch(f){case"active":{j="active";break}default:m?j="focus":j=f}return h.jsx("div",{...a,"aria-controls":u.valueControls,"aria-disabled":n||void 0,"aria-orientation":N,"aria-valuemax":u.valueMax,"aria-valuemin":u.valueMin,"aria-valuenow":u.valueNow,children:e,className:t,"data-separator":j,"data-testid":l,id:l,onBlur:()=>v(!1),onFocus:()=>v(!0),ref:x,role:"separator",style:{flexBasis:"auto",cursor:E,...o,flexGrow:0,flexShrink:0,touchAction:"none"},tabIndex:n?void 0:0})}YP.displayName="Separator";function IG(e){if(!e)return;const t=e.contextUsage,n=e.contextWindowSize;if(!t||!n||n<=0)return;const r=t.inputTokens+(t.cacheReadTokens??0)+(t.cacheCreateTokens??0);if(!(r<=0))return Math.round(r/n*100)}function XP(e,t){const n=os(),r=e?`session/${e}`:"",i=es(r)??Fo,s=g.useCallback(d=>{!e||!r||n.setData(r,f=>Hf(f??Fo,d,e))},[n,r,e]),o=g.useCallback(()=>{e&&s({type:"session:change",sessionId:e})},[s,e]),a=g.useCallback(d=>{e&&s({type:"permission:clear",sessionId:e,requestId:d})},[s,e]),l=g.useCallback(d=>{e&&s({type:"permission:request",sessionId:e,requestId:d.requestId,tool:d.tool,input:d.input,...d.toolUseId?{toolUseId:d.toolUseId}:{}})},[s,e]),c=g.useCallback(d=>{e&&s({type:"session:question:clear",sessionId:e,toolUseId:d})},[s,e]),u=g.useCallback((d,f)=>{e&&s({type:"session:question:submitted",sessionId:e,toolUseId:d,answers:f})},[s,e]);return{...i,reset:o,clearPermission:a,restorePermission:l,clearQuestion:c,markQuestionSubmitted:u}}function NG(e){return e.kind!=="user-text"?!1:e.meta===void 0||e.meta==="slash-command"||Qp(e.meta)}function TG(e,t={}){let n=0;if(t.implicitCloseOnUserText){for(const r of e)NG(r)&&n++;return n}for(const r of e)r.kind==="turn-end"&&n++;return n}const PG=g.createContext(null);function bm(){return g.useContext(PG)}const RG=50;function MG({api:e,sessionId:t,focused:n=!0,toolSessionId:r,initialTurns:i,implicitCloseOnUserText:s,pageSize:o=RG,enabled:a=!0,refreshVersion:l=0}){const c=bm(),[u,d]=g.useState({messages:[],total:0,loading:!1,error:null}),f=g.useRef(r),p=g.useRef(n),m=g.useRef(null),v=g.useRef(l),w=g.useRef(0),x=g.useRef(!0);return g.useEffect(()=>(x.current=!0,()=>{x.current=!1}),[]),g.useEffect(()=>{const _=f.current;f.current=r;const b=n&&!p.current;if(p.current=n,!a){m.current!==null&&(m.current=null,++w.current,d({messages:[],total:0,loading:!1,error:null}));return}const S=m.current!==t,C=v.current!==l;v.current=l;const k=typeof _=="string"&&_!==r,N=b&&u.error!==null;if(_!==r&&(c==null||c.push({level:"info",msg:"chatflow.history.identity",sessionId:t,meta:{previousToolSessionId:_??null,toolSessionId:r??null,willReload:S||k}})),!S&&!k&&!N&&!C)return;if((S||k)&&d({messages:[],total:0,loading:!1,error:null}),!t){m.current=null;return}m.current=t;const E=++w.current;c==null||c.push({level:"info",msg:"chatflow.history.read.start",sessionId:t,meta:{toolSessionId:r??null,initialTurns:i??null,pageSize:i===void 0?null:o,readSeq:E}}),d(j=>({...j,loading:!0,error:null})),(async()=>{var A;let j=[],P=!1,L,M=i===void 0?{}:{limit:o},R=Number.POSITIVE_INFINITY;for(;;){let D;try{D=await e.historyRead({sessionId:t,...M})}catch(q){if(E!==w.current||!x.current)return;const B=q.message??"history load failed";c==null||c.push({level:"warn",msg:"chatflow.history.read.error",sessionId:t,meta:{readSeq:E,shown:P,errorCode:q&&typeof q=="object"&&"code"in q?String(q.code):null}}),d(te=>({...te,loading:!1,error:B}));return}if(E!==w.current||!x.current)return;c==null||c.push({level:"info",msg:"chatflow.history.read.result",sessionId:t,meta:{readSeq:E,pageMessages:((A=D.messages)==null?void 0:A.length)??0,total:D.total??0,offset:D.offset??null}}),L&&D.snapshotId&&L!==D.snapshotId&&(j=[],P=!1,R=Number.POSITIVE_INFINITY,d({messages:[],total:0,loading:!0,error:null})),L=D.snapshotId,j=[...D.messages??[],...j];const z=D.total??0,F=typeof D.offset=="number"?D.offset:0,$=F>=R,O=F<=0||$;R=F;const I=i!==void 0&&TG(j,{implicitCloseOnUserText:s})>=i;if(P?d({messages:j,total:z,loading:!1,error:null}):(O||I)&&(P=!0,d({messages:j,total:z,loading:!1,error:null})),O)return;const U=Math.max(0,F-o);M={offset:U,limit:F-U,...L?{snapshotId:L}:{}}}})()},[e,t,r,n,o,i,a,l,c]),u}const AG=["TaskCreate","TaskUpdate","TaskList","TaskGet"];function jG(e){return AG.includes(e)}function ZP(e){return e==="in_progress"||e==="completed"?e:"pending"}function LG(e,t){if(!t||typeof t!="object")return e;const n=t,r=typeof n.subject=="string"&&n.subject?n.subject:typeof n.content=="string"&&n.content?n.content:null;if(!r)return e;const i=typeof n.activeForm=="string"?n.activeForm:void 0,s=typeof n.description=="string"?n.description:void 0;return[...e,{id:String(e.length+1),content:r,status:ZP(n.status),activeForm:i,description:s}]}function DG(e,t){if(!t||typeof t!="object")return e;const n=t,r=typeof n.taskId=="string"&&n.taskId?n.taskId:typeof n.id=="string"&&n.id?n.id:null;if(!r)return e;const i=e.findIndex(a=>a.id===r);if(i<0)return e;const s=[...e],o={...s[i]};return"status"in n&&(o.status=ZP(n.status)),typeof n.subject=="string"&&(o.content=n.subject),typeof n.content=="string"&&(o.content=n.content),typeof n.activeForm=="string"&&(o.activeForm=n.activeForm),typeof n.description=="string"&&(o.description=n.description),s[i]=o,s}function OG(e){let t=[],n=-1;for(let r=0;r<e.length;r++){const i=e[r];if(i.kind==="task-event")switch(n=r,i.name){case"TaskCreate":t=LG(t,i.input);break;case"TaskUpdate":t=DG(t,i.input);break}}return{tasks:t,lastEventIndex:n}}function BG(e){return e==="TodoWrite"}function $G(e){if(!e||typeof e!="object")return null;const t=e;if(!Array.isArray(t.todos))return null;const n=[];for(const r of t.todos){if(!r||typeof r!="object")continue;const i=r,s=typeof i.content=="string"?i.content:"";if(!s)continue;const o=i.status==="in_progress"||i.status==="completed"?i.status:"pending",a=typeof i.activeForm=="string"?i.activeForm:void 0;n.push({content:s,status:o,activeForm:a})}return n}function Hh(e,t,n){var o;const r=[],i=new Map;for(let a=0;a<e.length;a++){const l=e[a],c=typeof l.seq=="number"?l.seq:a;switch(l.kind){case"session_init":r.push({kind:"session-init",seq:c,toolSessionId:l.toolSessionId});break;case"text":fC(r,c,"assistant-text",l.text,l.partialId,l.uuid);break;case"thinking":fC(r,c,"assistant-thinking",l.text,l.partialId);break;case"user_text":{l.meta==="task-notification"?r.push({kind:"agent-notification",seq:c,text:l.text,taskId:l.taskId,parentToolUseId:l.parentToolUseId}):l.meta?r.push({kind:"user-meta",seq:c,metaKind:l.meta,text:l.text}):r.push({kind:"user-text",seq:c,text:l.text,uuid:l.uuid,...l.sender&&(l.sender.principal!=="owner"||KT.test(l.text))?{senderDisplayName:l.sender.displayName}:{},senderPrincipal:((o=l.sender)==null?void 0:o.principal)==="guest"?"guest":"owner"});break}case"tool_call":QP(r,c,l.toolUseId,l.tool,l.input,l.toolKind);break;case"tool_result":{const u=i.get(l.toolUseId);if(u!==void 0){if(l.askQuestionAnswers){const f=r[u];f.submittedAnswers=l.askQuestionAnswers}i.delete(l.toolUseId);break}const d={kind:"tool-result",seq:c,toolUseId:l.toolUseId,output:l.output,error:l.error};l.toolResultExtra&&(d.toolResultExtra=l.toolResultExtra),r.push(d);break}case"attachment_memories":r.push({kind:"memory-callout",seq:c,memories:l.memories});break;case"permission_request":{if(!t||l.requestId!==t)break;r.push({kind:"permission-inline",seq:c,requestId:l.requestId,tool:l.tool,input:l.input});break}case"ask_user_question":i.set(l.toolUseId,r.length),r.push({kind:"question-card",seq:c,toolUseId:l.toolUseId,questions:l.questions});break;case"turn_end":{const u={kind:"turn-end",seq:c};l.durationMs!==void 0&&(u.durationMs=l.durationMs),l.reason!==void 0&&(u.reason=l.reason),l.turnId!==void 0&&(u.turnId=l.turnId),r.push(u);break}case"subagent_progress":{const u={kind:"agent-progress",seq:c,toolUseId:l.toolUseId,agentId:l.agentId,status:l.status};l.description&&(u.description=l.description),l.lastToolName&&(u.lastToolName=l.lastToolName),l.prompt&&(u.prompt=l.prompt),l.stats&&(u.stats=l.stats),r.push(u);break}case"error":r.push({kind:"error",seq:c,message:l.message});break}}const s=new Map(e.flatMap((a,l)=>a.turnId?[[a.seq??l,a.turnId]]:[]));for(const a of r){const l=s.get(a.seq);l&&(a.turnId=l)}for(let a=1;a<r.length;a++){const l=r[a],c=r[a-1];if(l.kind!=="session-init"||!l.turnId||c.kind!=="turn-end"||c.reason!=="interrupted"||c.turnId)continue;let u=a-1;for(;u>0&&r[u-1].kind!=="turn-end";)u--;for(;u<a-1&&r[u].kind==="session-init";)u++;const d=r.slice(u,a);if(!d.some(f=>f.turnId&&f.turnId!==l.turnId)){for(const f of d)f.turnId=l.turnId;r.splice(a,1),a--}}return r}function QP(e,t,n,r,i,s){if(BG(r)){const o=$G(i);if(o){e.push({kind:"todo-checklist",seq:t,toolUseId:n,todos:o});return}}if(r==="Agent"){const o=i??{},a=typeof o.description=="string"&&o.description?o.description:typeof o.subagent_type=="string"&&o.subagent_type?o.subagent_type:"Subagent";e.push({kind:"agent-call",seq:t,toolUseId:n,description:a,input:i});return}if(jG(r)){e.push({kind:"task-event",seq:t,toolUseId:n,name:r,input:i});return}e.push({kind:"tool-call",seq:t,toolUseId:n,tool:r,toolKind:s,input:i})}function fC(e,t,n,r,i,s){let o=-1;for(let c=e.length-1;c>=0;c--)if(e[c].kind===n){o=c;break}const a=o>=0?e[o]:null;if(i){if(a&&a.partialId===i){const u=n==="assistant-text"?{kind:n,seq:a.seq,text:a.text+r,partialId:i,...s?{uuid:s}:{}}:{kind:n,seq:a.seq,text:a.text+r,partialId:i};e[o]=u;return}const c=n==="assistant-text"?{kind:n,seq:t,text:r,partialId:i,...s?{uuid:s}:{}}:{kind:n,seq:t,text:r,partialId:i};e.push(c);return}if(a&&a.partialId){const c=n==="assistant-text"?{kind:n,seq:a.seq,text:r,...s?{uuid:s}:{}}:{kind:n,seq:a.seq,text:r};e[o]=c;return}const l=n==="assistant-text"?{kind:n,seq:t,text:r,...s?{uuid:s}:{}}:{kind:n,seq:t,text:r};e.push(l)}const zG="AskUserQuestion";function K_(e,t=0,n){var o;const r=[],i=new Map;let s=t;for(const a of e){const l=s++,c=a.toolUseId??`hist-${l}`;switch(a.kind){case"user-text":if(a.meta==="task-notification")r.push({kind:"agent-notification",seq:l,text:a.text??"",taskId:a.taskId,parentToolUseId:a.parentToolUseId});else if(a.meta)r.push({kind:"user-meta",seq:l,metaKind:a.meta,text:a.text??""});else{const u=KT.exec(a.text??""),d=(o=X$.exec(a.text??""))==null?void 0:o[1],f=(u==null?void 0:u[2])??d,p=(u==null?void 0:u[1])==="guest"||d?"guest":"owner";r.push({kind:"user-text",seq:l,text:a.text??"",uuid:a.uuid,...f?{senderDisplayName:f}:{},senderPrincipal:p})}break;case"assistant-text":r.push({kind:"assistant-text",seq:l,text:a.text??"",uuid:a.uuid});break;case"tool_call":{if(a.tool===zG){const u=a.input??{},d=Array.isArray(u.questions)?u.questions:[];i.set(c,r.length),r.push({kind:"question-card",seq:l,toolUseId:c,questions:d});break}QP(r,l,c,a.tool??"",a.input,n);break}case"tool_result":{const u=i.get(c);if(u!==void 0){if(a.askQuestionAnswers){const f=r[u];f.submittedAnswers=a.askQuestionAnswers}i.delete(c);break}const d={kind:"tool-result",seq:l,toolUseId:c,output:a.output};a.error!==void 0&&(d.error=a.error),a.toolResultExtra&&(d.toolResultExtra=a.toolResultExtra),r.push(d);break}case"attachment_memories":a.memories&&a.memories.length>0&&r.push({kind:"memory-callout",seq:l,memories:a.memories});break;case"summary":break;case"turn-end":{const u={kind:"turn-end",seq:l};typeof a.durationMs=="number"&&(u.durationMs=a.durationMs),typeof a.turnId=="string"&&(u.turnId=a.turnId),r.push(u);break}}}return r}const FG=5e5;function HG(e){const t=FG-e.length;return e.map(n=>({...n,seq:n.seq+t}))}const pC=/\[attachment:(image|file):([^\]]+)\]/g;function mC(e){try{return decodeURIComponent(e)}catch{return e}}function UG(e){var n,r;if(e.startsWith("data:")){const i=e.slice(5,e.indexOf(",")),s=(n=/;name=([^;]+)/i.exec(i))==null?void 0:n[1];if(s)return mC(s);const o=(r=i.split(";")[0])==null?void 0:r.toLowerCase(),a={"text/plain":"txt","application/pdf":"pdf","image/png":"png","image/jpeg":"jpg","image/gif":"gif","image/webp":"webp"}[o??""];return(o!=null&&o.startsWith("image/")?"图片":"附件")+(a?"."+a:"")}const t=e.split(/[?#]/,1)[0];return mC(t.split("/").pop()||"附件")}function Jf(e){const t=[];let n;for(;(n=pC.exec(e))!==null;){const i=n[2],s=UG(i);t.push({type:n[1],url:i,fileName:s})}const r=e.replace(pC,"").trim();return{attachments:t,text:r}}function WG(e,t){const n=t.filter(i=>i.status==="done"&&i.url);return n.length===0?e:n.map(i=>`[attachment:${i.mimeType.startsWith("image/")?"image":"file"}:${i.url}]`).join(`
537
537
  `)+`
538
538
  `+e}const br=e=>typeof e=="string"?e:"",gC=e=>Array.isArray(e)?e.filter(t=>typeof t=="string"):[];function qG(e){var s;if(e.type==="userMessage"){const a=(Array.isArray(e.content)?e.content:[]).map(c=>c.type==="text"?br(c.text):c.type==="image"?`[attachment:image:${br(c.url)}]`:c.type==="localImage"?`[图片](${br(c.path)})`:"").filter(Boolean).join(`
539
539
  `),l=Z$(a);return K_([{kind:"user-text",text:a,uuid:e.id,...l?{meta:l==="task"?"dispatch-task":"dispatch-result"}:{}}],0,"codex")}if(e.type==="agentMessage")return[{kind:"assistant-text",seq:0,text:br(e.text),uuid:e.id}];if(e.type==="reasoning")return[{kind:"assistant-thinking",seq:0,text:[...gC(e.summary),...gC(e.content)].join(`
@@ -4,7 +4,7 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>Clawd 分享</title>
7
- <script type="module" crossorigin src="/share-ui/assets/guest-BFjcLxuc.js"></script>
7
+ <script type="module" crossorigin src="/share-ui/assets/guest-Ds44rEDW.js"></script>
8
8
  <link rel="stylesheet" crossorigin href="/share-ui/assets/guest-CpO_mWH7.css">
9
9
  </head>
10
10
  <body style="margin: 0">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clawos-dev/clawd",
3
- "version": "0.2.716",
3
+ "version": "0.2.717",
4
4
  "description": "Standalone clawd daemon — Claude Code (and future Codex) session server over WebSocket",
5
5
  "type": "module",
6
6
  "license": "MIT",