@qredence/fleet 0.9.0 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/CHANGELOG.md +78 -0
  2. package/bin/prime-runtime.d.mts +19 -0
  3. package/bin/prime-runtime.mjs +42 -5
  4. package/dist/web/client/assets/{agents-CGjUBYX7.js → agents-BMQXA18L.js} +2 -2
  5. package/dist/web/client/assets/{agents-page-CTuFJL9H.js → agents-page-D2soW46O.js} +1 -1
  6. package/dist/web/client/assets/{chat-queries-CfZiupub.js → chat-queries-ty76G6rK.js} +1 -1
  7. package/dist/web/client/assets/{connectors-CFxLqG2x.js → connectors-E4KW6hBL.js} +2 -2
  8. package/dist/web/client/assets/{connectors-page-DQJdoAnl.js → connectors-page-CDzzjCIJ.js} +1 -1
  9. package/dist/web/client/assets/globals-DDDleTbS.css +2 -0
  10. package/dist/web/client/assets/{index-C9FHZDGw.js → index-CEZTSuLf.js} +2 -2
  11. package/dist/web/client/assets/{mcp-connections-section-DEo6Kemv.js → mcp-connections-section-BsNhp1b2.js} +2 -2
  12. package/dist/web/client/assets/routes-EKRITFZz.js +14 -0
  13. package/dist/web/client/assets/settings-dialog-BomLOETY.js +3 -0
  14. package/dist/web/client/bundle-budget.json +5 -5
  15. package/dist/web/server/{_tanstack-start-manifest_v-B6ne-00G-OFX7UD4K.js → _tanstack-start-manifest_v-BiMhF9NX-QUZEGAB6.js} +7 -7
  16. package/dist/web/server/{agents-BwzqhPjK-ANFHE5AG.js → agents-DOgCHixY-KUZP2VDO.js} +2 -2
  17. package/dist/web/server/{agents-page-DEqPV-eG-BR5MR74O.js → agents-page-BdiR9H8w-M6X6SXMF.js} +3 -3
  18. package/dist/web/server/{artifacts-panel-DLO8OfXb-B2ZWCDFP.js → artifacts-panel-BNiaRF83-HDC6VQ66.js} +5 -5
  19. package/dist/web/server/{chat-command-palette-CaDQAMAu-KDH7BTDS.js → chat-command-palette-CT9aJAWG-LV26BDEW.js} +5 -5
  20. package/dist/web/server/{chunk-UDUG3MYZ.js → chunk-27J2LPAW.js} +2 -2
  21. package/dist/web/server/{chunk-V2GCVTDP.js → chunk-3CU2ITG7.js} +33 -48
  22. package/dist/web/server/{chunk-B5FKCW75.js → chunk-3R7XCOWI.js} +4 -4
  23. package/dist/web/server/{chunk-6AFVCERK.js → chunk-4TKPOOIG.js} +4 -4
  24. package/dist/web/server/{chunk-HUHUPGHT.js → chunk-4YQ7RBB7.js} +5 -5
  25. package/dist/web/server/{chunk-5IE54MRG.js → chunk-5XRESJQR.js} +3 -3
  26. package/dist/web/server/{chunk-TOJA3X5N.js → chunk-BLGKLQJG.js} +16 -5
  27. package/dist/web/server/{chunk-TQ2RECTH.js → chunk-C5XHGLET.js} +1 -1
  28. package/dist/web/server/{chunk-TTNONWZZ.js → chunk-LEZMRXSP.js} +923 -697
  29. package/dist/web/server/{chunk-KDCSEISZ.js → chunk-NZCEQWK2.js} +2 -1
  30. package/dist/web/server/{chunk-VM3U6PUU.js → chunk-QOZCYKMA.js} +2 -2
  31. package/dist/web/server/{connectors-C0xm91Ss-DJVBGD73.js → connectors-Dv_uPdv0-2X5VWQXK.js} +2 -2
  32. package/dist/web/server/{connectors-page-B6tJNZ6c-R5K4NSAT.js → connectors-page-DW75T-uH-EKRHUZ6K.js} +4 -4
  33. package/dist/web/server/{create-project-dialog-PFPHHWIV-GH7JR5IK.js → create-project-dialog-EwieT1Vw-X5MYQSZM.js} +5 -5
  34. package/dist/web/server/{openui-renderer-B9D8-Av--LFZP4U5V.js → openui-renderer-DCkg_JoD-4QCKSVY5.js} +4 -4
  35. package/dist/web/server/{resources-panel-CTzOOKPz-5G6RS2D6.js → resources-panel-s0mgyvgQ-FVMBBLJJ.js} +6 -6
  36. package/dist/web/server/{router-CnBux_Ld-YTVBMJFL.js → router-DXxChQOI-B7VVEX3H.js} +2 -2
  37. package/dist/web/server/{routes-BUGzvQoO-WW43X7W2.js → routes-D-g2ILNg-LDYCQ4NU.js} +4 -4
  38. package/dist/web/server/server.js +2 -2
  39. package/dist/web/server/{session-activity-panel-f0d3fCm7-I6L5IKFQ.js → session-activity-panel-wC0jAJvs-QAHJXPAM.js} +6 -6
  40. package/dist/web/server/{session-reasoning-panel-QIt_xjP0-FKJWMNHO.js → session-reasoning-panel-B_K8YgF5-AQPMFM3Y.js} +5 -5
  41. package/dist/web/server/{session-tool-renderer-Cg_ZPHxS-BNQKNJNZ.js → session-tool-renderer-D96BACVh-CH5CV3TS.js} +5 -5
  42. package/dist/web/server/{session-tree-panel-B--el8O5-NZOZJM5L.js → session-tree-panel-CZGXNZIP-FBB3XGMN.js} +5 -5
  43. package/dist/web/server/{settings-dialog-D_eJN2ia-W47Y474K.js → settings-dialog-BrjqiTVe-H7WOTB4I.js} +145 -66
  44. package/dist/web/server/{subagent-chat-panel-C9nWP21E-D5C2TTYD.js → subagent-chat-panel-Dz62jo_m-X4ZRN5KI.js} +8 -8
  45. package/dist/web/server/{subagents-panel-fAKvBNRG-O7QHXNE2.js → subagents-panel-CwpbzJJz-N3ISHODM.js} +8 -8
  46. package/dist/web/server/{workspace-panel-CZMNMU63-SYOSM3B7.js → workspace-panel-C7akv5b9-XUKEHPOP.js} +6 -6
  47. package/package.json +1 -1
  48. package/dist/web/client/assets/globals-DJhWyayo.css +0 -2
  49. package/dist/web/client/assets/routes-ja_liP8Z.js +0 -14
  50. package/dist/web/client/assets/settings-dialog-DiikSLhF.js +0 -1
@@ -0,0 +1,14 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/model-selector-list-CbDAT0Rw.js","assets/rolldown-runtime-hePW80VL.js","assets/react-Cvdyeg_0.js","assets/jsx-runtime-NZYk81nU.js","assets/utils-oBThwhjm.js","assets/ease-DYVhTl2n.js","assets/is-ref-object-h-bjS8Eq.js","assets/check-BTwIaCtI.js","assets/createLucideIcon-CQY2ECfR.js","assets/gauge-0Nn96wfZ.js","assets/command-xo-NK4xO.js","assets/search-Cb6fFWew.js","assets/dist-BJJVCio8.js","assets/react-dom-B7th3XGm.js","assets/dialog-CK8dym6z.js","assets/FloatingPortal-D8-EPDs2.js","assets/with-selector-B_VDO56x.js","assets/useButton-CvcmqA2s.js","assets/createBaseUIEventDetails-DIxvaz-Y.js","assets/DialogTitle-BlVq-tcv.js","assets/useScrollLock-BcsteNzT.js","assets/useBaseUiId-lKfDDIcw.js","assets/x-DEU6H3M-.js","assets/button-CWYjn8Zk.js","assets/dist-BogNzeK9.js","assets/clsx-DB0hHKMi.js","assets/surfaces-BUjUJTyD.js","assets/input-group-BFubAtz9.js","assets/input-CBoTMPC_.js","assets/useControlled-CkQSkSv1.js","assets/session-tool-renderer-DEABxZG3.js","assets/use-reduced-motion-CFEp5oKr.js","assets/use-presence-BPZ36pcg.js","assets/arrow-up-right-CG9RNk4p.js","assets/tool-result-7qREIVv_.js","assets/chevron-down-Bse1ggZM.js","assets/circle-check-DBhaebaM.js","assets/wrench-BXX_Ah2s.js","assets/file-code-corner-BkDULqko.js","assets/loader-circle-BmKYM_C4.js","assets/square-terminal-BLq2bQVF.js","assets/preload-helper-BLdHbfdN.js","assets/code-block-pKKmFZ5w.js","assets/chevron-right-BPCB1mOg.js","assets/file-text-cqOanUYv.js","assets/ipython-tool-bieUhw9K.js","assets/tool-output-normalizer-DDU09Zc6.js","assets/shield-check-7HDd-2Fn.js","assets/safe-external-url-D3PJJIcM.js","assets/eye-iNSvs0UA.js","assets/git-branch-DZEh2mM2.js","assets/sparkles-CASAe1AI.js","assets/rotate-ccw-DLkfsmG9.js","assets/dist-CprW0Qol.js","assets/space-separated-tokens-Ciu5hotc.js","assets/character-entities-legacy-Wut6vMuj.js","assets/lib-BvGd2E-G.js","assets/useRender-CzJUrRlB.js","assets/collapsible-Bk6zCsRX.js","assets/workspace-path-nav-D-77sJ_A.js","assets/use-hover-capable-CLq8BADD.js","assets/trace-IsV5RRvM.js","assets/session-reasoning-panel-CjJJK_bq.js","assets/prompt-suggestions-CAY5JI-C.js","assets/tokens-DinEQBG4.js","assets/message-queue-Btjt9wK2.js","assets/pencil-Cbgq3ybX.js","assets/notify-BIL0-CGy.js","assets/toast-BNWkgZ0u.js","assets/triangle-alert-BuzmrrqI.js","assets/chat-command-palette-Bxr5EkO6.js","assets/sun-C7zg8Oas.js","assets/right-panel-registry-BAJ6TuEY.js","assets/activity-BPIKUzOU.js","assets/bot-DETalD3q.js","assets/folder-COBtkKZa.js","assets/package-BkC-HSi-.js","assets/right-panel-context-CjX-HkDO.js","assets/skeleton-B_Lq2XFl.js","assets/plus-DUP2JPVG.js","assets/square-BbTF3gLc.js","assets/settings-dialog-BomLOETY.js","assets/select-DYh951qi.js","assets/provider-label-BItazQ6H.js","assets/plug-wCz-036u.js","assets/provider-catalog-CLEDlH_v.js","assets/hard-drive-B3opVeEB.js","assets/refresh-cw-CqPE3kNY.js","assets/mcp-connections-section-BsNhp1b2.js","assets/trash-sm2UyOxe.js","assets/alert-CzWGeumf.js","assets/switch-BrxDfsX6.js","assets/spinner-B5TaKP7k.js","assets/ui-preferences-B-PNDkyY.js","assets/safe-storage-s25GrfpH.js","assets/alert-dialog-D-e1Pr4q.js","assets/fork-picker-dialog-DSaFeUii.js","assets/create-project-dialog-Db-WhUmP.js","assets/arrow-up-DCwrqIrK.js","assets/chat-helpers-Bj7_hES7.js","assets/types-gIgIxnnG.js","assets/subagent-chat-panel-R2RoX1Yt.js","assets/prompt-input-CoV1gTUQ.js","assets/subagent-transcript-DVZhMo7a.js","assets/tool-part-normalizer-CF6bmJ0s.js","assets/openui-utils-DawGoQNp.js","assets/reasoning-line-DGdPUMwT.js","assets/prime-agent-artifacts-C-g1VPiW.js","assets/tool-timeline-CGhwMeNl.js","assets/session-activity-panel-DwaXiSrS.js"])))=>i.map(i=>d[i]);
2
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{t}from"./react-Cvdyeg_0.js";import{t as n}from"./react-dom-B7th3XGm.js";import{D as r,O as i}from"./mutation-Da9zdeWr.js";import{t as a}from"./jsx-runtime-NZYk81nU.js";import{n as o}from"./with-selector-B_VDO56x.js";import{t as s}from"./useNavigate-CVhM7pag.js";import{C as c,D as l,E as u,S as d,T as f,_ as p,a as m,b as h,c as g,d as _,f as v,g as y,h as b,i as x,l as S,m as C,n as w,o as T,p as E,r as D,s as O,t as k,u as A,v as j,w as M,x as N,y as P}from"./chat-queries-ty76G6rK.js";import{t as F}from"./utils-oBThwhjm.js";import{Rt as I,et as L}from"./is-ref-object-h-bjS8Eq.js";import{d as R,l as z,n as B,o as ee,r as V,s as te,t as H,u as U}from"./ease-DYVhTl2n.js";import{n as W,t as G}from"./use-reduced-motion-CFEp5oKr.js";import{F as ne,I as K,M as q,N as re,O as J,P as ie,a as ae,b as oe,c as se,i as ce,j as le,r as ue,t as Y,y as de}from"./useButton-CvcmqA2s.js";import{D as fe,E as pe,c as me,d as he,f as ge,i as _e,m as ve,o as ye,s as be,t as xe,v as Se,y as Ce}from"./createBaseUIEventDetails-DIxvaz-Y.js";import{$ as we,C as Te,D as Ee,G as De,K as Oe,N as ke,O as Ae,Q as je,T as Me,W as Ne,Z as Pe,b as Fe,d as Ie,et as Le,f as Re,g as ze,j as Be,nt as Ve,o as He,rt as Ue,t as We,tt as Ge,u as Ke,v as qe,w as Je,y as Ye}from"./FloatingPortal-D8-EPDs2.js";import{A as Xe,B as Ze,C as Qe,D as $e,E as et,L as tt,N as nt,O as rt,S as it,T as at,V as ot,_ as st,a as ct,b as lt,d as ut,f as dt,g as ft,h as pt,i as mt,j as ht,k as gt,l as _t,m as vt,n as yt,o as bt,p as xt,r as St,s as Ct,u as wt,v as Tt,x as Et,y as Dt,z as Ot}from"./useScrollLock-BcsteNzT.js";import{d as kt,f as At,i as jt,l as Mt,m as Nt,n as Pt,o as Ft,p as It,s as Lt,t as Rt,u as zt,w as Bt}from"./select-DYh951qi.js";import{r as Vt,t as Ht}from"./useBaseUiId-lKfDDIcw.js";import{c as Ut,l as Wt}from"./DialogTitle-BlVq-tcv.js";import{t as Gt}from"./createLucideIcon-CQY2ECfR.js";import{t as Kt}from"./activity-BPIKUzOU.js";import{r as qt}from"./resource-helpers-CKbSmzpw.js";import{t as Jt}from"./bot-DETalD3q.js";import{i as Yt,n as Xt,t as Zt}from"./provider-label-BItazQ6H.js";import{t as Qt}from"./check-BTwIaCtI.js";import{t as $t}from"./chevron-down-Bse1ggZM.js";import{a as en,c as tn,d as nn,h as rn,i as an,l as on,m as sn,n as cn,o as ln,r as un,s as dn,t as fn,u as pn}from"./tool-part-normalizer-CF6bmJ0s.js";import{a as mn,i as hn,r as gn,t as _n}from"./open-panel-action-message-SdA1VU42.js";import{t as vn}from"./chevron-right-BPCB1mOg.js";import{n as yn,t as bn}from"./file-text-cqOanUYv.js";import{t as xn}from"./clock-3-BwWCSCm_.js";import{n as Sn,t as Cn}from"./file-code-corner-BkDULqko.js";import{i as wn}from"./tool-output-normalizer-DDU09Zc6.js";import{a as Tn,c as En,d as Dn,f as On,i as kn,l as An,r as jn,t as Mn,u as Nn}from"./layout-constants-BWf8QAZ6.js";import{a as Pn,c as Fn,f as In,i as Ln,n as Rn,o as zn,s as Bn,t as Vn}from"./chat-helpers-Bj7_hES7.js";import{_ as Hn,a as Un,c as Wn,d as Gn,g as Kn,h as qn,i as Jn,m as Yn,n as Xn,o as Zn,p as Qn,r as $n,s as er,t as tr,u as nr,v as rr,y as ir}from"./types-gIgIxnnG.js";import{t as ar}from"./folder-COBtkKZa.js";import{t as or}from"./gauge-0Nn96wfZ.js";import{t as sr}from"./sparkles-CASAe1AI.js";import{a as cr,i as lr,n as ur,r as dr}from"./right-panel-registry-BAJ6TuEY.js";import{t as fr}from"./loader-circle-BmKYM_C4.js";import{t as pr}from"./package-BkC-HSi-.js";import{t as mr}from"./pencil-Cbgq3ybX.js";import{t as hr}from"./plus-DUP2JPVG.js";import{t as gr}from"./refresh-cw-CqPE3kNY.js";import{t as _r}from"./rotate-ccw-DLkfsmG9.js";import{t as vr}from"./search-Cb6fFWew.js";import{t as yr}from"./trash-sm2UyOxe.js";import{t as br}from"./triangle-alert-BuzmrrqI.js";import{t as xr}from"./x-DEU6H3M-.js";import{t as Sr}from"./button-CWYjn8Zk.js";import{t as Cr}from"./dist-BogNzeK9.js";import{n as wr,r as Tr,t as Er}from"./safe-storage-s25GrfpH.js";import{i as Dr}from"./ui-preferences-B-PNDkyY.js";import{t as Or}from"./preload-helper-BLdHbfdN.js";import{c as kr,d as Ar,f as jr,k as Mr,m as Nr}from"./chat-hpzV6IA6.js";import{t as Pr}from"./badge-CzQFgmVK.js";import{t as Fr}from"./prime-agent-artifacts-C-g1VPiW.js";import{t as Ir}from"./input-CBoTMPC_.js";import{a as Lr,c as Rr,i as zr,n as Br,o as Vr,r as Hr,s as Ur,t as Wr}from"./surfaces-BUjUJTyD.js";import{t as Gr}from"./useControlled-CkQSkSv1.js";import{t as Kr}from"./openui-utils-DawGoQNp.js";import{a as qr,c as Jr,d as Yr,i as Xr,l as Zr,n as Qr,r as $r,s as ei,t as ti,u as ni}from"./tokens-DinEQBG4.js";import{a as ri,i as ii,n as ai,o as oi,r as si,t as ci}from"./prompt-input-CoV1gTUQ.js";import{n as li}from"./workspace-path-nav-D-77sJ_A.js";import{n as ui}from"./reasoning-line-DGdPUMwT.js";import{t as di}from"./use-hover-capable-CLq8BADD.js";import{t as fi}from"./notify-BIL0-CGy.js";import{i as pi,n as mi,t as hi}from"./right-panel-context-CjX-HkDO.js";import{a as gi,i as _i,n as vi,o as yi,r as bi,s as xi,t as Si}from"./alert-dialog-D-e1Pr4q.js";var Ci=e=>!e.isLayoutDirty&&e.willUpdate(!1);function wi(){let e=new Set,t=new WeakMap,n=()=>e.forEach(Ci);return{add:r=>{e.add(r),t.set(r,r.addEventListener(`willUpdate`,n))},remove:r=>{e.delete(r);let i=t.get(r);i&&(i(),t.delete(r)),n()},dirty:n}}var X=e(t(),1),Ti=(0,X.createContext)(null);function Ei(){let e=(0,X.useRef)(!1);return R(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function Di(){let e=Ei(),[t,n]=(0,X.useState)(0),r=(0,X.useCallback)(()=>{e.current&&n(t+1)},[t]);return[(0,X.useCallback)(()=>L.postRender(r),[r]),t]}var Z=a(),Oi=e=>e===!0,ki=e=>Oi(e===!0)||e===`id`,Ai=({children:e,id:t,inherit:n=!0})=>{let r=(0,X.useContext)(I),i=(0,X.useContext)(Ti),[a,o]=Di(),s=(0,X.useRef)(null),c=r.id||i;s.current===null&&(ki(n)&&c&&(t=t?c+`-`+t:c),s.current={id:t,group:Oi(n)&&r.group||wi()});let l=(0,X.useMemo)(()=>({...s.current,forceRender:a}),[o]);return(0,Z.jsx)(I.Provider,{value:l,children:e})};function ji(e,t){return t!=null&&!nt(t)?0:typeof e==`function`?e():e}function Mi(e,t,n){let r=ji(e,n);return typeof r==`number`?r:r?.[t]}function Ni(e){return typeof e==`function`?e():e}function Pi(e,t){return t||e===`click`||e===`mousedown`}function Fi(e){return e?.includes(`mouse`)&&e!==`mousedown`}var Ii=o();function Li(e){let t=X.useCallback(t=>e===void 0?K:e.subscribeStore(t),[e]),n=X.useCallback(()=>e===void 0?void 0:e.store,[e]);return(0,Ii.useSyncExternalStore)(t,n,()=>e?.serverStore)}var Ri=class e{constructor(){this.pointerType=void 0,this.interactedInside=!1,this.handler=void 0,this.blockMouseMove=!0,this.performedPointerEventsMutation=!1,this.pointerEventsScopeElement=null,this.pointerEventsReferenceElement=null,this.pointerEventsFloatingElement=null,this.restTimeoutPending=!1,this.openChangeTimeout=new Pe,this.restTimeout=new Pe,this.handleCloseOptions=void 0}static create(){return new e}dispose=()=>{this.openChangeTimeout.clear(),this.restTimeout.clear()};disposeEffect=()=>this.dispose},zi=new WeakMap;function Bi(e){if(!e.performedPointerEventsMutation)return;let t=e.pointerEventsScopeElement;t&&zi.get(t)===e&&(e.pointerEventsScopeElement?.style.removeProperty(`pointer-events`),e.pointerEventsReferenceElement?.style.removeProperty(`pointer-events`),e.pointerEventsFloatingElement?.style.removeProperty(`pointer-events`),zi.delete(t)),e.performedPointerEventsMutation=!1,e.pointerEventsScopeElement=null,e.pointerEventsReferenceElement=null,e.pointerEventsFloatingElement=null}function Vi(e,t){let{scopeElement:n,referenceElement:r,floatingElement:i}=t,a=zi.get(n);a&&a!==e&&Bi(a),Bi(e),e.performedPointerEventsMutation=!0,e.pointerEventsScopeElement=n,e.pointerEventsReferenceElement=r,e.pointerEventsFloatingElement=i,zi.set(n,e),n.style.pointerEvents=`none`,r.style.pointerEvents=`auto`,i.style.pointerEvents=`auto`}function Hi(e){let t=e.context.dataRef.current,n=re(()=>t.hoverInteractionState??Ri.create()).current;return t.hoverInteractionState||=n,fe(t.hoverInteractionState.disposeEffect),t.hoverInteractionState}function Ui(e,t={}){let{enabled:n=!0,closeDelay:r=0,nodeId:i}=t,a=`rootStore`in e?e.rootStore:e,o=a.useState(`open`),s=a.useState(`floatingElement`),c=a.useState(`domReferenceElement`),{dataRef:l}=a.context,u=ht(),d=Xe(),f=Hi(a),p=je(),m=J(()=>Pi(l.current.openEvent?.type,f.interactedInside)),h=J(()=>Fi(l.current.openEvent?.type)),g=J(()=>{Bi(f)});q(()=>{o||(f.pointerType=void 0,f.restTimeoutPending=!1,f.interactedInside=!1,g())},[o,f,g]),X.useEffect(()=>g,[g]),q(()=>{if(n&&o&&f.handleCloseOptions?.blockPointerEvents&&h()&&de(c)&&s){let e=c,t=s,n=we(s),r=u?.nodesRef.current.find(e=>e.id===d)?.context?.elements.floating;r&&(r.style.pointerEvents=``);let i=f.pointerEventsScopeElement===t?null:f.pointerEventsScopeElement,a=r===t?null:r,o=f.handleCloseOptions?.getScope?.()??i??a??e.closest(`[data-rootownerid]`)??n.body;return Vi(f,{scopeElement:o,referenceElement:e,floatingElement:t}),()=>{g()}}},[n,o,c,s,f,h,u,d,g]),X.useEffect(()=>{if(!n)return;function e(){return!!(u&&d&&tt(u.nodesRef.current,d).length>0)}function t(e){let t=Mi(r,`close`,f.pointerType),n=()=>{a.setOpen(!1,xe(ve,e)),u?.events.emit(`floating.closed`,e)};t?f.openChangeTimeout.start(t,n):(f.openChangeTimeout.clear(),n())}function o(e){let t=Oe(e);if(!Be(t)){f.interactedInside=!1;return}f.interactedInside=t?.closest(`[aria-haspopup]`)!=null}function c(){f.openChangeTimeout.clear(),p.clear(),u?.events.off(`floating.closed`,v),g()}function _(n){if(e()&&u){u.events.on(`floating.closed`,v);return}if(ke(n.relatedTarget,a.context.triggerElements))return;let r=l.current.floatingContext?.nodeId??i,o=n.relatedTarget;if(!(u&&r&&de(o)&&tt(u.nodesRef.current,r,!1).some(e=>De(e.context?.elements.floating,o)))){if(f.handler){f.handler(n);return}g(),h()&&!m()&&t(n)}}function v(t){!u||!d||e()||p.start(0,()=>{u.events.off(`floating.closed`,v),a.setOpen(!1,xe(ve,t)),u.events.emit(`floating.closed`,t)})}let y=s;return Le(y&&pe(y,`mouseenter`,c),y&&pe(y,`mouseleave`,_),y&&pe(y,`pointerdown`,o,!0),()=>{u?.events.off(`floating.closed`,v)})},[n,s,a,l,r,i,h,m,g,f,u,d,p])}var Wi=e(n(),1),Gi={current:null};function Ki(e,t={}){let{enabled:n=!0,delay:r=0,handleClose:i=null,mouseOnly:a=!1,restMs:o=0,move:s=!0,triggerElementRef:c=Gi,externalTree:l,isActiveTrigger:u=!0,getHandleCloseContext:d,isClosing:f,shouldOpen:p,guardStaleOpen:m=!1}=t,h=`rootStore`in e?e.rootStore:e,{dataRef:g,events:_}=h.context,v=ht(l),y=Hi(h),b=X.useRef(!1),x=Vt(i),S=Vt(r),C=Vt(o),w=Vt(n),T=Vt(p),E=Vt(f),D=J(()=>Pi(g.current.openEvent?.type,y.interactedInside)),O=J(()=>T.current?.()!==!1),k=J((e,t,n)=>{let r=h.context.triggerElements;if(r.hasElement(t))return!e||!De(e,t);if(!de(n))return!1;let i=n;return r.hasMatchingElement(e=>De(e,i))&&(!e||!De(e,i))}),A=J(()=>{y.handler&&=(we(h.select(`domReferenceElement`)).removeEventListener(`mousemove`,y.handler),void 0)}),j=J(()=>{Bi(y)});return u&&(y.handleCloseOptions=i?.__options),X.useEffect(()=>A,[A]),X.useEffect(()=>{if(!n)return;function e(e){e.open?b.current=!1:(b.current=e.reason===ve,A(),y.openChangeTimeout.clear(),y.restTimeout.clear(),y.blockMouseMove=!0,y.restTimeoutPending=!1)}return _.on(`openchange`,e),()=>{_.off(`openchange`,e)}},[n,_,y,A]),X.useEffect(()=>{if(!n)return;function e(e,t=!0){let n=Mi(S.current,`close`,y.pointerType);n?y.openChangeTimeout.start(n,()=>{h.setOpen(!1,xe(ve,e)),v?.events.emit(`floating.closed`,e)}):t&&(y.openChangeTimeout.clear(),h.setOpen(!1,xe(ve,e)),v?.events.emit(`floating.closed`,e))}let t=c.current??(u?h.select(`domReferenceElement`):null);if(!de(t))return;function r(e){if(y.openChangeTimeout.clear(),y.blockMouseMove=!1,a&&!nt(y.pointerType))return;let t=Ni(C.current),n=Mi(S.current,`open`,y.pointerType),r=Oe(e),i=e.currentTarget??null,o=h.select(`domReferenceElement`),s=i;if(de(r)&&!h.context.triggerElements.hasElement(r)){for(let e of h.context.triggerElements.elements())if(De(e,r)){s=e;break}}de(i)&&de(o)&&!h.context.triggerElements.hasElement(i)&&De(i,o)&&(s=o);let c=s!=null&&k(o,s,r),l=h.select(`open`),u=E.current?.()??h.select(`transitionStatus`)===`ending`,d=!l&&u&&b.current,f=!c&&de(s)&&de(o)&&De(o,s)&&d,p=t>0&&!n,m=c&&(l||d)||f,g=!l||c;if(m){O()&&h.setOpen(!0,xe(ve,e,s));return}p||(n?y.openChangeTimeout.start(n,()=>{g&&O()&&h.setOpen(!0,xe(ve,e,s))}):g&&O()&&h.setOpen(!0,xe(ve,e,s)))}function i(t){if(D()){j();return}A();let n=h.select(`domReferenceElement`),r=we(n);y.restTimeout.clear(),y.restTimeoutPending=!1;let i=g.current.floatingContext??d?.();if(!ke(t.relatedTarget,h.context.triggerElements)){if(x.current&&i){h.select(`open`)||y.openChangeTimeout.clear();let n=c.current;y.handler=x.current({...i,tree:v,x:t.clientX,y:t.clientY,onClose(){j(),A(),w.current&&!D()&&n===h.select(`domReferenceElement`)&&e(t,!0)}}),r.addEventListener(`mousemove`,y.handler),y.handler(t);return}(y.pointerType!==`touch`||!De(h.select(`floatingElement`),t.relatedTarget))&&e(t)}}function o(e){De(t,e.relatedTarget)||(y.openChangeTimeout.clear(),y.restTimeout.clear(),y.restTimeoutPending=!1)}let l=m?pe(t,`mouseout`,o):void 0;return s?Le(pe(t,`mousemove`,r,{once:!0}),pe(t,`mouseenter`,r),pe(t,`mouseleave`,i),l):Le(pe(t,`mouseenter`,r),pe(t,`mouseleave`,i),l)},[A,j,g,S,h,n,x,y,u,k,D,a,s,C,c,v,w,d,E,O,m]),X.useMemo(()=>{if(!n)return;function e(e){y.pointerType=e.pointerType}return{onPointerDown:e,onPointerEnter:e,onMouseMove(e){let{nativeEvent:t}=e,n=e.currentTarget,r=h.select(`domReferenceElement`),i=h.select(`open`),o=k(r,n,e.target);if(a&&!nt(y.pointerType))return;if(i&&o&&y.handleCloseOptions?.blockPointerEvents){let e=h.select(`floatingElement`);if(e){let t=y.handleCloseOptions?.getScope?.()??n.ownerDocument.body;Vi(y,{scopeElement:t,referenceElement:n,floatingElement:e})}}let s=Ni(C.current);if(i&&!o||s===0||!o&&y.restTimeoutPending&&e.movementX**2+e.movementY**2<2)return;y.restTimeout.clear();function c(){if(y.restTimeoutPending=!1,D())return;let e=h.select(`open`);!y.blockMouseMove&&(!e||o)&&O()&&h.setOpen(!0,xe(ve,t,n))}y.pointerType===`touch`?Wi.flushSync(()=>{c()}):o&&i?c():(y.restTimeoutPending=!0,y.restTimeout.start(s,c))}}},[n,y,D,k,a,h,C,O])}var qi=.1,Ji=qi*qi,Q=.5;function Yi(e,t,n,r,i,a){return r>=t!=a>=t&&e<=(i-n)*(t-r)/(a-r)+n}function Xi(e,t,n,r,i,a,o,s,c,l){let u=!1;return Yi(e,t,n,r,i,a)&&(u=!u),Yi(e,t,i,a,o,s)&&(u=!u),Yi(e,t,o,s,c,l)&&(u=!u),Yi(e,t,c,l,n,r)&&(u=!u),u}function Zi(e,t,n){return e>=n.x&&e<=n.x+n.width&&t>=n.y&&t<=n.y+n.height}function Qi(e,t,n,r,i,a){return e>=Math.min(n,i)&&e<=Math.max(n,i)&&t>=Math.min(r,a)&&t<=Math.max(r,a)}function $i(e={}){let{blockPointerEvents:t=!1}=e,n=new Pe,r=({x:e,y:t,placement:r,elements:i,onClose:a,nodeId:o,tree:s})=>{let c=r?.split(`-`)[0],l=!1,u=null,d=null,f=typeof performance<`u`?performance.now():0;function p(e,t){let n=performance.now(),r=n-f;if(u===null||d===null||r===0)return u=e,d=t,f=n,!1;let i=e-u,a=t-d,o=i*i+a*a,s=r*r*Ji;return u=e,d=t,f=n,o<s}function m(){n.clear(),a()}return function(r){n.clear();let a=i.domReference,u=i.floating;if(!a||!u||c==null||e==null||t==null)return;let{clientX:d,clientY:f}=r,h=Oe(r),g=r.type===`mouseleave`,_=De(u,h),v=De(a,h);if(_&&(l=!0,!g))return;if(v&&(l=!1,!g)){l=!0;return}if(g&&de(r.relatedTarget)&&De(u,r.relatedTarget))return;function y(){return!!(s&&tt(s.nodesRef.current,o).length>0)}function b(){y()||m()}if(y())return;let x=a.getBoundingClientRect(),S=u.getBoundingClientRect(),C=e>S.right-S.width/2,w=t>S.bottom-S.height/2,T=S.width>x.width,E=S.height>x.height,D=(T?x:S).left,O=(T?x:S).right,k=(E?x:S).top,A=(E?x:S).bottom;if(c===`top`&&t>=x.bottom-1||c===`bottom`&&t<=x.top+1||c===`left`&&e>=x.right-1||c===`right`&&e<=x.left+1){b();return}let j=!1;switch(c){case`top`:j=Qi(d,f,D,x.top+1,O,S.bottom-1);break;case`bottom`:j=Qi(d,f,D,S.top+1,O,x.bottom-1);break;case`left`:j=Qi(d,f,S.right-1,A,x.left+1,k);break;case`right`:j=Qi(d,f,x.right-1,A,S.left+1,k)}if(j)return;if(l&&!Zi(d,f,x)){b();return}if(!g&&p(d,f)){b();return}let M=!1;switch(c){case`top`:{let n=T?Q/2:Q*4,r=T||C?e+n:e-n,i=T?e-n:C?e+n:e-n,a=t+Q+1,o=C||T?S.bottom-Q:S.top,s=C?T?S.bottom-Q:S.top:S.bottom-Q;M=Xi(d,f,r,a,i,a,S.left,o,S.right,s);break}case`bottom`:{let n=T?Q/2:Q*4,r=T||C?e+n:e-n,i=T?e-n:C?e+n:e-n,a=t-Q,o=C||T?S.top+Q:S.bottom,s=C?T?S.top+Q:S.bottom:S.top+Q;M=Xi(d,f,r,a,i,a,S.left,o,S.right,s);break}case`left`:{let n=E?Q/2:Q*4,r=E||w?t+n:t-n,i=E?t-n:w?t+n:t-n,a=e+Q+1,o=w||E?S.right-Q:S.left,s=w?E?S.right-Q:S.left:S.right-Q;M=Xi(d,f,o,S.top,s,S.bottom,a,r,a,i);break}case`right`:{let n=E?Q/2:Q*4,r=E||w?t+n:t-n,i=E?t-n:w?t+n:t-n,a=e-Q,o=w||E?S.left+Q:S.right,s=w?E?S.left+Q:S.right:S.left+Q;M=Xi(d,f,a,r,a,i,o,S.top,s,S.bottom);break}}M?l||n.start(40,b):b()}};return r.__options={...e,blockPointerEvents:t},r}var ea={name:`book-open-text`,size:24,node:[[`path`,{d:`M12 5v16`,key:`1f6ucr`}],[`path`,{d:`M16 13h2`,key:`weia3s`}],[`path`,{d:`M16 9h2`,key:`1n7gjm`}],[`path`,{d:`M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z`,key:`1fyvmf`}],[`path`,{d:`M6 13h2`,key:`1cckiz`}],[`path`,{d:`M6 9h2`,key:`1k7j9f`}]]};ea.node;var ta=Gt(ea),na={name:`circle-question-mark`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]],aliases:[`help-circle`,`circle-help`]};na.node;var ra=Gt(na),ia={name:`circle-stop`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`rect`,{x:`9`,y:`9`,width:`6`,height:`6`,rx:`1`,key:`1ssd4o`}]],aliases:[`stop-circle`]};ia.node;var aa=Gt(ia),oa={name:`command`,size:24,node:[[`path`,{d:`M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3`,key:`11bfej`}]]};oa.node;var sa=Gt(oa),ca={name:`ellipsis`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]],aliases:[`more-horizontal`]};ca.node;var la=Gt(ca),ua={name:`list-restart`,size:24,node:[[`path`,{d:`M21 5H3`,key:`1fi0y6`}],[`path`,{d:`M7 12H3`,key:`13ou7f`}],[`path`,{d:`M7 19H3`,key:`wbqt3n`}],[`path`,{d:`M12 18a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L11 14`,key:`qth677`}],[`path`,{d:`M11 10v4h4`,key:`172dkj`}]]};ua.node;var da=Gt(ua),fa={name:`panel-right`,size:24,node:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}]]};fa.node;var pa=Gt(fa),ma={name:`pin`,size:24,node:[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`,key:`1nkz8b`}]]};ma.node;var ha=Gt(ma),ga={name:`settings-2`,size:24,node:[[`path`,{d:`M14 17H5`,key:`gfn3mx`}],[`path`,{d:`M19 7h-9`,key:`6i9tg`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}],[`circle`,{cx:`7`,cy:`7`,r:`3`,key:`dfmy0x`}]]};ga.node;var _a=Gt(ga),va={name:`square-pen`,size:24,node:[[`path`,{d:`M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`,key:`1m0v6g`}],[`path`,{d:`M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z`,key:`ohrbg2`}]],aliases:[`pen-box`,`edit`,`pen-square`]};va.node;var ya=Gt(va),ba={name:`thumbs-down`,size:24,node:[[`path`,{d:`M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z`,key:`m61m77`}],[`path`,{d:`M17 14V2`,key:`8ymqnk`}]]};ba.node;var xa=Gt(ba),Sa={name:`thumbs-up`,size:24,node:[[`path`,{d:`M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z`,key:`emmmcr`}],[`path`,{d:`M7 10v12`,key:`1qc93n`}]]};Sa.node;var Ca=Gt(Sa),wa={name:`unplug`,size:24,node:[[`path`,{d:`m19 5 3-3`,key:`yk6iyv`}],[`path`,{d:`m2 22 3-3`,key:`19mgm9`}],[`path`,{d:`M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z`,key:`goz73y`}],[`path`,{d:`M7.5 13.5 10 11`,key:`7xgeeb`}],[`path`,{d:`M10.5 16.5 13 14`,key:`10btkg`}],[`path`,{d:`m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z`,key:`1snsnr`}]]};wa.node;var Ta=Gt(wa),Ea=`Fleet Prime is not connected to the Prime Agent runtime. Start or reconnect the runtime, then try again.`;function Da(e){return e.type===`text`}function Oa(e){return e.type===`payload`}function ka(e){return e.type.startsWith(`tool-`)}function Aa(e){return e.trimStart().startsWith(`/`)?!0:/(?:^|\s)@[^\s@]*$/.test(e)}function ja(e){return e.trim().replace(/\s+/g,` `)}function Ma(e,t,n=`append`){if(!t)return;let r=ja(t);if(n===`replace`)return r.length>0?r:void 0;let i=ja(e);if(r.length<=i.length||!r.toLowerCase().startsWith(i.toLowerCase()))return;let a=r.slice(i.length);return/\s$/.test(e)?a.replace(/^\s+/,``):a}function Na(e){return e.code===`NETWORK_DISCONNECTED`||/Cannot send daemon command/i.test(e.message)||/Prime Agent daemon is not connected/i.test(e.message)||/not connected to the Prime Agent runtime/i.test(e.message)?{title:`Agent unavailable`,message:Ea}:{title:`Request failed`,message:e.message.replace(/\s+(?:Socket|Daemon log):\s*[^\n]*(?:\s+(?:Socket|Daemon log):\s*[^\n]*)*/gi,``)}}var Pa=[{id:`welcome-explore-codebase`,label:`Explore codebase`,value:`Explore this codebase and explain its architecture, important modules, and main entry points.`},{id:`welcome-review-changes`,label:`Review changes`,value:`Review my current changes for bugs, regressions, architecture issues, and code quality problems.`},{id:`welcome-fix-issue`,label:`Fix an issue`,value:`Help me investigate and fix an issue in this project.`},{id:`welcome-plan-feature`,label:`Plan a feature`,value:`Explore the relevant code and create an implementation plan for a new feature before making changes.`}];function Fa({disabled:e,onSelect:t}){return(0,Z.jsxs)(`section`,{"aria-labelledby":`welcome-title`,className:`flex w-full flex-col items-center gap-6 text-center`,children:[(0,Z.jsx)(`h1`,{id:`welcome-title`,className:`text-balance text-2xl font-normal tracking-tight text-foreground sm:text-3xl`,children:`What should Fleet Prime Agent work on?`}),(0,Z.jsx)(`div`,{role:`group`,"aria-label":`Suggested prompts`,className:`flex w-full flex-wrap justify-center gap-2`,children:Pa.map(n=>(0,Z.jsx)(Sr,{type:`button`,variant:`outline`,size:`compact`,disabled:e||n.disabled,onClick:()=>t(n),className:Yr,children:n.label},n.id))})]})}var Ia=[`·`,`•`,`●`,`•`];function La({label:e,isActive:t,className:n}){let[r,i]=(0,X.useState)(0),[a,o]=(0,X.useState)(0);return(0,X.useEffect)(()=>{if(!t){i(0),o(0);return}let e=Date.now(),n=window.setInterval(()=>{i(Math.max(0,Math.floor((Date.now()-e)/1e3))),o(e=>e+1)},500);return()=>window.clearInterval(n)},[t]),!t||!e?null:(0,Z.jsxs)(`div`,{className:F(`flex items-center gap-2 px-chat-context py-1 text-xs text-foreground/70`,n),children:[(0,Z.jsx)(`span`,{"aria-hidden":`true`,className:`font-mono text-primary`,children:Ia[a%Ia.length]}),(0,Z.jsx)(`span`,{className:`sr-only`,"aria-live":`polite`,children:e}),(0,Z.jsx)(`span`,{"aria-hidden":`true`,className:`truncate`,children:e}),(0,Z.jsxs)(`span`,{"aria-hidden":`true`,className:`tabular-nums text-foreground/50`,children:[r,`s`]})]})}function Ra(e,t){return(0,X.useMemo)(()=>{if(!t||!e.startsWith(`/`))return[];let n=e.slice(1).toLowerCase();return t.filter(e=>e.name.startsWith(n))},[t,e])}function za(e,t){return(0,X.useMemo)(()=>{if(!t)return[];let n=/(?:^|\s)@([^\s@]*)$/.exec(e);if(!n)return[];let r=n[1]?.toLowerCase()??``;return t.filter(e=>[e.name,e.id,e.path,e.description].filter(Boolean).join(` `).toLowerCase().includes(r))},[t,e])}function Ba({open:e,align:t=`start`,className:n,...r}){return(0,Z.jsx)(`div`,{"data-slot":`composer-menu`,"data-open":e||void 0,className:F(zr,`absolute bottom-full z-10 mb-2 flex w-72 flex-col gap-0.5 rounded-2xl p-1.5`,t===`start`?`start-0 origin-bottom-left`:`end-0 origin-bottom-right`,`transition-[opacity,scale] duration-200 ease-[cubic-bezier(0.23,1,0.32,1)] motion-reduce:transition-none`,e?`scale-100 opacity-100`:`pointer-events-none scale-[0.97] opacity-0`,n),...r})}function Va({active:e=!1,className:t,...n}){return(0,Z.jsx)(`button`,{type:`button`,"data-slot":`composer-menu-item`,"data-active":e||void 0,tabIndex:-1,className:F(`flex w-full items-center gap-2.5 rounded-[10px] px-2.5 py-2 text-body transition-colors`,e?Hr:`hover:bg-foreground/[0.04]`,t),...n})}function Ha(e,t){return t.icon?t.icon:e===`mention`?t.metadata?.kind===`folder`?(0,Z.jsx)(ar,{"aria-hidden":`true`,className:`size-4`}):(0,Z.jsx)(On,{"aria-hidden":`true`,className:`size-4`}):(0,Z.jsx)(sa,{"aria-hidden":`true`,className:`size-4`})}function Ua(e,t){return e&&e.length>0?e.flatMap(e=>e.items):t?[...t]:[]}var Wa=(0,X.memo)(function({open:e,kind:t,query:n,items:r,groups:i,activeIndex:a=0,onActiveIndexChange:o,onSelect:s,onBack:c,className:l,emptyLabel:u=`No matching items`,title:d,listId:f=`composer-trigger-list`}){let p=(0,X.useMemo)(()=>Ua(i,r),[i,r]);if(!e)return null;let m=!!(i&&i.length>0),h=p[a],g=(e,n)=>{let r=n===a,i=`${f}-${e.id.replace(/[^a-zA-Z0-9_-]/g,`-`)}`;return(0,Z.jsxs)(Va,{id:i,disabled:e.disabled,role:`option`,"aria-selected":r,"data-active":r?`true`:void 0,active:r,onMouseDown:e=>e.preventDefault(),onMouseEnter:()=>o?.(n),onClick:()=>{e.disabled||s(e)},className:F(`flex min-h-10 cursor-pointer items-start gap-2 rounded-lg px-3 py-2 text-start`,r&&`bg-accent text-accent-foreground`),children:[(0,Z.jsx)(`span`,{className:`mt-0.5 shrink-0 text-muted-foreground`,children:Ha(t,e)}),(0,Z.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`span`,{className:`block truncate text-sm font-medium`,children:e.label}),e.description?(0,Z.jsx)(`span`,{className:`mt-0.5 block truncate text-xs text-muted-foreground`,children:e.description}):null]}),r?(0,Z.jsx)(vn,{"aria-hidden":`true`,className:`mt-1 size-3.5 shrink-0 text-muted-foreground`}):null]},e.id)};return e?(0,Z.jsxs)(Ba,{open:!0,id:f,role:`listbox`,"aria-label":d??`Suggestions`,"aria-activedescendant":h?`${f}-${h.id.replace(/[^a-zA-Z0-9_-]/g,`-`)}`:void 0,"data-slot":`composer-trigger-popover`,"data-kind":t,"data-state":`open`,className:F(`inset-x-0 z-50 mb-2 w-auto overflow-hidden rounded-xl border bg-popover text-popover-foreground shadow-xl`,l),children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 border-b px-3 py-2 text-xs text-muted-foreground`,children:[c?(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Back`,onClick:c,className:`grid size-6 place-items-center rounded-md hover:bg-muted focus-visible:ring-2 focus-visible:ring-ring`,children:(0,Z.jsx)(rn,{"aria-hidden":`true`,className:`size-3.5`})}):null,(0,Z.jsx)(sr,{"aria-hidden":`true`,className:`size-3.5`}),(0,Z.jsx)(`span`,{className:`font-medium`,children:d??(t===`slash`?`Commands`:`Workspace`)}),n?(0,Z.jsx)(`span`,{className:`ms-auto max-w-[50%] truncate font-mono text-caption`,children:n}):null]}),(0,Z.jsxs)(`div`,{className:`max-h-[min(42dvh,360px)] overflow-y-auto overscroll-contain p-1.5`,children:[p.length===0?(0,Z.jsx)(`div`,{className:`px-3 py-6 text-center text-sm text-muted-foreground`,children:u}):null,m?i?.map(e=>{let t=0;for(let n of i){if(n.id===e.id)break;t+=n.items.length}return(0,Z.jsxs)(`div`,{role:`group`,"aria-label":e.label,children:[(0,Z.jsx)(`div`,{className:`px-3 pb-1 pt-2 text-micro font-medium uppercase tracking-wide text-muted-foreground`,children:e.label}),e.items.map((e,n)=>g(e,t+n))]},e.id)}):p.map(g)]})]}):null}),Ga=`relative inline-flex h-7 max-w-[18rem] min-w-0 cursor-pointer items-center gap-1.5 rounded-full px-2 text-label leading-4 text-foreground/70 transition-[background-color,transform] duration-150 after:absolute after:inset-x-0 after:-top-1.5 after:-bottom-1.5 hover:bg-foreground/6 hover:text-foreground/85 focus-visible:ring-2 focus-visible:ring-ring active:scale-[0.96] data-[state=open]:bg-foreground/6 data-[state=open]:text-foreground/85`,Ka=(0,X.forwardRef)(function({label:e,leadingIcon:t,suffix:n,open:r=!1,showChevron:i=!0,interactive:a=!0,ariaLabel:o,combobox:s=!1,popupId:c,className:l,type:u=`button`,...d},f){return(0,Z.jsxs)(`button`,{ref:f,type:u,"data-state":r?`open`:`closed`,role:s?`combobox`:void 0,"aria-haspopup":s?`dialog`:void 0,"aria-label":o,"aria-controls":s?c:void 0,"aria-expanded":s?r:void 0,tabIndex:a?void 0:-1,className:F(Ga,!a&&`pointer-events-none`,l),...d,title:d.title??(typeof e==`string`?e:void 0),disabled:!a||!!d.disabled,children:[t?(0,Z.jsx)(`span`,{"aria-hidden":`true`,className:`shrink-0 [&_svg]:size-3.5`,children:t}):null,(0,Z.jsx)(`span`,{className:`min-w-0 truncate font-medium`,children:e}),n,i?(0,Z.jsx)($t,{"aria-hidden":`true`,className:`size-3 shrink-0 text-foreground/70`}):null]})}),qa=X.createContext(void 0);function Ja(e){let t=X.useContext(qa);if(t===void 0&&!e)throw Error(le(47));return t}var Ya={...Wt,disabled:e=>e.disabled,instantType:e=>e.instantType,openMethod:e=>e.openMethod,openChangeReason:e=>e.openChangeReason,modal:e=>e.modal,focusManagerModal:e=>e.focusManagerModal,stickIfOpen:e=>e.stickIfOpen,titleElementId:e=>e.titleElementId,descriptionElementId:e=>e.descriptionElementId,openOnHover:e=>e.openOnHover,closeDelay:e=>e.closeDelay,adaptiveOrigin:e=>e.adaptiveOrigin},Xa=class extends Ge{constructor(e,t,n){let r=new dt;super(Za(e,r,t,n),Qa(r),Ya)}setOpen=(e,t)=>{let n=t.reason===ve,r=t.reason===`trigger-press`&&t.event.detail===0,i=!e&&(t.reason===`escape-key`||t.reason==null),a=pt(t),o=this.select(`activeTriggerId`);if(!e&&t.reason===`close-press`&&t.trigger==null&&o!=null&&(t.trigger=this.context.triggerElements.getById(o)??this.select(`activeTriggerElement`)??void 0),this.context.onOpenChange?.(e,t),t.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(e,t);let s=()=>{let n=st(this.state,e,t.trigger,a());n.openChangeReason=t.reason,this.update(n)};n?(this.set(`stickIfOpen`,!0),this.context.stickIfOpenTimeout.start(500,()=>{this.set(`stickIfOpen`,!1)}),Wi.flushSync(s)):s();let c;r?c=`click`:i?c=`dismiss`:t.reason===`focus-out`&&(c=`focus`),this.set(`instantType`,c)}};function Za(e,t,n,r=!1){let i={...Ut(t,n,r),disabled:!1,modal:!1,focusManagerModal:!1,instantType:void 0,openMethod:null,openChangeReason:null,titleElementId:void 0,descriptionElementId:void 0,stickIfOpen:!0,openOnHover:!1,closeDelay:0,adaptiveOrigin:void 0,...e};return i.open&&e?.mounted===void 0&&(i.mounted=!0),i}function Qa(e){return{popupRef:X.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerFocusTargetRef:X.createRef(),beforeContentFocusGuardRef:X.createRef(),stickIfOpenTimeout:new Pe,triggerElements:e}}var $a=Ve(function({props:e}){let{children:t,open:n,defaultOpen:r=!1,onOpenChange:i,onOpenChangeComplete:a,modal:o=!1,handle:s,triggerId:c,defaultTriggerId:l=null}=e,u=to(s,{modal:o,open:r,openProp:n,activeTriggerId:l,triggerIdProp:c});u.useControlledProp(`openProp`,n),u.useControlledProp(`triggerIdProp`,c);let d=u.useState(`open`),f=u.useState(`mounted`),p=u.useState(`payload`);u.useContextCallback(`onOpenChange`,i),u.useContextCallback(`onOpenChangeComplete`,a),it(u,d),Tt(u);let{forceUnmount:m}=Dt(d,u,()=>{u.update({stickIfOpen:!0,openChangeReason:null})});u.useSyncedValues({modal:o}),X.useEffect(()=>{d||u.context.stickIfOpenTimeout.clear()},[u,d]),X.useImperativeHandle(e.actionsRef,()=>({unmount:m,close:()=>u.setOpen(!1,xe(be))}),[m,u]);let h=d||f;return(0,Z.jsxs)(qa.Provider,{value:u,children:[s&&(0,Z.jsx)(vt,{handle:s,store:u}),h&&(0,Z.jsx)(no,{store:u,modal:o}),typeof t==`function`?t({payload:p}):t]})});function eo(e){return Ja(!0)?(0,Z.jsx)($a,{props:e}):(0,Z.jsx)(rt,{children:(0,Z.jsx)($a,{props:e})})}function to(e,t){let n=Et((e,n)=>new Xa(t,e,n));return X.useEffect(()=>n.context.stickIfOpenTimeout.disposeEffect(),[n]),n}function no({store:e,modal:t}){let n=e.useState(`floatingRootContext`),r=at(n,{outsidePressEvent:{mouse:t===`trap-focus`?`sloppy`:`intentional`,touch:`sloppy`}}),i=r.reference,a=r.floating;return lt(e,{activeTriggerProps:i,inactiveTriggerProps:i,popupProps:a}),null}function ro(e,t){let n=X.useRef(null);function r(t){Wi.flushSync(()=>{e.setOpen(!1,xe(ye,t.nativeEvent,t.currentTarget))}),Ye(n.current)?.focus()}function i(n){let r=e.select(`positionerElement`);if(r&&Fe(n,r))e.context.beforeContentFocusGuardRef.current?.focus();else{Wi.flushSync(()=>{e.setOpen(!1,xe(ye,n.nativeEvent,n.currentTarget))});let i=qe(e.context.triggerFocusTargetRef.current||t.current);for(;i!==null&&De(r,i);){let e=i;if(i=ze(i),i===e)break}i?.focus()}}return{preFocusGuardRef:n,handlePreFocusGuardFocus:r,handleFocusTargetFocus:i}}var io=Ue(function(e,t){let{render:n,className:r,style:i,disabled:a=!1,nativeButton:o=!0,handle:s,payload:c,openOnHover:l=!1,delay:u=300,closeDelay:d=0,id:f,...p}=e,m=Ja(!0),h=Li(s)??m;if(!h)throw Error(le(74));let g=Ht(f),_=h.useState(`isTriggerActive`,g),v=h.useState(`floatingRootContext`),y=h.useState(`isOpenedByTrigger`,g),b=h.useState(`triggerPopupId`,g),x=X.useRef(null),{registerTrigger:S,isMountedByThisTrigger:C}=Qe(g,x,h,{payload:c,disabled:a,openOnHover:l,closeDelay:d}),w=h.useState(`openChangeReason`),T=h.useState(`stickIfOpen`),E=h.useState(`openMethod`),D=h.useState(`focusManagerModal`),O=Ki(v,{enabled:!a&&l&&(E!==`touch`||w!==`trigger-press`),mouseOnly:!0,move:!1,handleClose:$i(),restMs:u,delay:{close:d},triggerElementRef:x,isActiveTrigger:_,isClosing:()=>h.select(`transitionStatus`)===`ending`}),k=Bt(v,{stickIfOpen:T}),A=zt(()=>h.select(`open`),e=>{h.set(`openMethod`,e)}),j=h.useState(`triggerProps`,C),{getButtonProps:M,buttonRef:N}=Y({disabled:a,native:o}),P={open(e){return e&&w===`trigger-press`?Ze.open(e):ot.open(e)}},{preFocusGuardRef:F,handlePreFocusGuardFocus:I,handleFocusTargetFocus:L}=ro(h,x),R=ae(`button`,e,{state:{disabled:a,open:y},ref:[N,t,S,x],props:[k.reference,O,j,A,{[He]:``,id:g,"aria-haspopup":`dialog`,"aria-expanded":y,"aria-controls":b},p,M],stateAttributesMapping:P}),z=(0,Z.jsx)(X.Fragment,{children:R},g);return C&&!D?(0,Z.jsxs)(X.Fragment,{children:[(0,Z.jsx)(Re,{ref:F,onFocus:I}),z,(0,Z.jsx)(Re,{ref:h.context.triggerFocusTargetRef,onFocus:L})]}):z}),ao=X.createContext(void 0);function oo(){let e=X.useContext(ao);if(e===void 0)throw Error(le(45));return e}var so=X.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e;return Ja().useState(`mounted`)||n?(0,Z.jsx)(ao.Provider,{value:n,children:(0,Z.jsx)(We,{ref:t,...r})}):null}),co=X.createContext(void 0);function lo(){let e=X.useContext(co);if(!e)throw Error(le(46));return e}var uo=X.forwardRef(function(e,t){let{render:n,className:r,style:i,anchor:a,positionMethod:o,side:s,align:c,sideOffset:l,alignOffset:u,collisionBoundary:d=`clipping-ancestors`,collisionPadding:f,arrowPadding:p,sticky:m,disableAnchorTracking:h=!1,collisionAvoidance:g=Ke,..._}=e,v=Ja(),y=oo(),b=gt(),x=v.useState(`floatingRootContext`),S=v.useState(`mounted`),C=v.useState(`open`),w=v.useState(`openChangeReason`),T=v.useState(`activeTriggerElement`),E=v.useState(`modal`),D=v.useState(`openMethod`),O=v.useState(`positionerElement`),k=v.useState(`instantType`),A=v.useState(`transitionStatus`),j=v.useState(`adaptiveOrigin`),M=X.useRef(null),N=Ce(O),P=It({anchor:a,floatingRootContext:x,positionMethod:o,mounted:S,side:s,sideOffset:l,align:c,alignOffset:u,arrowPadding:p,collisionBoundary:d,collisionPadding:f,sticky:m,disableAnchorTracking:h,keepMounted:y,nodeId:b,collisionAvoidance:g,adaptiveOrigin:j}),F=x.useState(`domReferenceElement`);q(()=>{let e=F,t=M.current;if(e&&(M.current=e),t&&e&&e!==t){v.set(`instantType`,void 0);let e=new AbortController;return N(()=>{v.set(`instantType`,`trigger-change`)},e.signal),()=>{e.abort()}}},[F,N,v]);let I=E===!0&&w!==`trigger-hover`;Ft(C&&I,D===`touch`,O,T);let L=v.useStateSetter(`positionerElement`),R={open:C,side:P.side,align:P.align,anchorHidden:P.anchorHidden,instant:k},z=kt(e,R,{styles:P.positionerStyles,transitionStatus:A,props:_,refs:[t,L],hidden:!S,inert:!C});return(0,Z.jsxs)(co.Provider,{value:P,children:[S&&I&&(0,Z.jsx)(yt,{inert:Ie(!C),cutout:T}),(0,Z.jsx)($e,{id:b,children:z})]})}),fo=X.createContext(void 0);function po(){let[e,t]=X.useState(0),n=J(()=>(t(e=>e+1),()=>{t(e=>Math.max(0,e-1))}));return{context:X.useMemo(()=>({register:n}),[n]),hasClosePart:e>0}}var mo=X.forwardRef(function(e,t){let{render:n,className:r,style:i,initialFocus:a,finalFocus:o,...s}=e,c=Ja(),l=lo(),u=jt(!0)!=null,{context:d,hasClosePart:f}=po(),p=c.useState(`open`),m=c.useState(`openMethod`),h=c.useState(`instantType`),g=c.useState(`transitionStatus`),_=c.useState(`popupProps`),v=c.useState(`titleElementId`),y=c.useState(`descriptionElementId`),b=c.useState(`modal`),x=c.useState(`mounted`),S=c.useState(`openChangeReason`),C=c.useState(`activeTriggerElement`),w=c.useState(`floatingRootContext`),T=w.useState(`floatingId`),E=c.useState(`disabled`),D=c.useState(`openOnHover`),O=c.useState(`closeDelay`);Se({open:p,ref:c.context.popupRef,onComplete(){p&&c.context.onOpenChangeComplete?.(!0)}}),Ui(w,{enabled:D&&!E,closeDelay:O});let k=a===void 0?ft(c.context.popupRef):a,A=b!==!1&&f;c.useSyncedValue(`focusManagerModal`,A);let j=c.useStateSetter(`popupElement`),M={open:p,side:l.side,align:l.align,instant:h,transitionStatus:g},N=ae(`div`,e,{state:M,ref:[t,c.context.popupRef,j],props:[_,{id:T,role:`dialog`,...xt,"aria-labelledby":v,"aria-describedby":y,onKeyDown(e){u&&Ct.has(e.key)&&e.stopPropagation()}},At(g),s],stateAttributesMapping:Ot});return(0,Z.jsx)(et,{context:w,openInteractionType:m,modal:A,disabled:!x||S===`trigger-hover`,initialFocus:k,returnFocus:o,restoreFocus:`popup`,previousFocusableElement:oe(C)?C:void 0,nextFocusableElement:c.context.triggerFocusTargetRef,beforeContentFocusGuardRef:c.context.beforeContentFocusGuardRef,children:(0,Z.jsx)(fo.Provider,{value:d,children:N})})}),ho=2;function go({...e}){return(0,Z.jsx)(eo,{"data-slot":`popover`,...e})}function _o({...e}){return(0,Z.jsx)(io,{"data-slot":`popover-trigger`,...e})}function vo({className:e,children:t,align:n=`center`,alignOffset:r=0,side:i=`bottom`,sideOffset:a=4,...o}){let s=Rr(),c=Math.min(s+ho,8);return(0,Z.jsx)(so,{children:(0,Z.jsx)(uo,{align:n,alignOffset:r,side:i,sideOffset:a,className:`isolate z-50`,children:(0,Z.jsx)(mo,{"data-slot":`popover-content`,className:F(`z-50 flex w-72 origin-(--transform-origin) flex-col gap-2.5 rounded-lg p-2.5 text-sm outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,Ur(c,3),Br,e),...o,children:(0,Z.jsx)(Wr,{value:c,children:t})})})})}function yo({trigger:e,children:t,contentId:n,open:r,defaultOpen:i,onOpenChange:a,side:o=`top`,align:s=`start`,sideOffset:c=6,className:l,overlay:u=!1}){let d=(0,X.useId)(),f=n??d,[p,m]=(0,X.useState)(i??!1),h=r??p;return(0,Z.jsxs)(go,{open:h,onOpenChange:e=>{r===void 0&&m(e),a?.(e)},children:[(0,X.isValidElement)(e)?(0,Z.jsx)(_o,{render:e,"aria-controls":f,className:`inline-flex items-center`}):(0,Z.jsx)(_o,{render:(0,Z.jsx)(Sr,{type:`button`,variant:`ghost`,children:e}),"aria-controls":f,className:`inline-flex items-center`}),u&&h?(0,Z.jsx)(`div`,{className:`fixed inset-0 z-40 bg-black/20`,"aria-hidden":`true`}):null,(0,Z.jsx)(vo,{id:f,side:o,align:s,sideOffset:c,className:F(`max-h-[min(320px,var(--available-height,320px))] max-w-[calc(100vw-16px)] min-w-[180px] overflow-y-auto overscroll-contain p-1`,l),children:t})]})}var bo=[{id:`agent`,label:`Agent`,icon:Jt,description:`Default coding agent`},{id:`plan`,label:`Plan`,icon:wn,description:`Plan before executing`},{id:`harness`,label:`Harness`,icon:_a,description:`Harness-aware turn`}],xo=(0,X.memo)(function({modes:e,value:t,defaultValue:n,onChange:r,className:i}){let a=t!==void 0,[o,s]=(0,X.useState)(n),c=a?t:o,l=e.find(e=>e.id===c)??e[0],[u,d]=(0,X.useState)(!1),f=(0,X.useId)(),p=(0,X.useRef)([]),m=(0,X.useCallback)((e,t)=>{a||s(e),r?.(e),t&&d(!1)},[a,r]),h=(0,X.useCallback)(t=>{if(e.length===0)return;let n=(t%e.length+e.length)%e.length,r=e[n];r&&(p.current[n]?.focus(),m(r.id,!1))},[m,e]),g=(0,X.useCallback)((t,n)=>{if(e.length===0)return;let r=Math.max(0,e.findIndex(e=>e.id===n));switch(t.key){case`ArrowDown`:case`ArrowRight`:t.preventDefault(),h(r+1);break;case`ArrowUp`:case`ArrowLeft`:t.preventDefault(),h(r-1);break;case`Home`:t.preventDefault(),h(0);break;case`End`:t.preventDefault(),h(e.length-1)}},[h,e]);if(e.length===0)return null;let _=l?.icon,v=e.length>1,y=l?.label??``,b=(0,Z.jsx)(Ka,{ariaLabel:y?`Select mode, ${y}`:`Select mode`,label:y,leadingIcon:_?(0,Z.jsx)(_,{className:`size-3.5 shrink-0`}):void 0,open:u,showChevron:v,interactive:v,"aria-haspopup":v?`dialog`:void 0,"aria-expanded":v?u:void 0,"aria-controls":v?f:void 0,className:i});return v?(0,Z.jsx)(yo,{contentId:f,open:u,onOpenChange:d,side:`top`,align:`start`,trigger:b,children:u?(0,Z.jsx)(`div`,{role:`radiogroup`,"aria-label":`Select mode`,className:`flex flex-col gap-0.5`,children:e.map((e,t)=>{let n=e.id===l?.id,r=e.icon;return(0,Z.jsxs)(`button`,{ref:e=>{p.current[t]=e},type:`button`,role:`radio`,"aria-checked":n,tabIndex:n?0:-1,"data-mode-id":e.id,onClick:()=>m(e.id,!0),onKeyDown:t=>g(t,e.id),className:F(`flex w-full cursor-pointer items-start gap-2 rounded-[6px] px-2 py-2 text-start text-label leading-4 text-foreground transition-[background-color,transform] duration-150 hover:bg-foreground/6 focus-visible:ring-2 focus-visible:ring-ring active:scale-[0.96]`,n&&`bg-foreground/6`),children:[r?(0,Z.jsx)(`span`,{"aria-hidden":`true`,className:`mt-0.5 shrink-0`,children:(0,Z.jsx)(r,{className:`size-3.5`})}):null,(0,Z.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`span`,{className:`block truncate font-medium`,children:e.label}),e.description?(0,Z.jsx)(`span`,{className:`block truncate text-foreground/70`,children:e.description}):null]}),n?(0,Z.jsx)(Qt,{"aria-hidden":`true`,className:`mt-0.5 size-3.5 shrink-0 text-foreground/60`}):null]},e.id)})}):null}):b}),So=[],Co=300;function wo(e){return e?Array.isArray(e)?e:e.items:[]}function To(e){return(e.value??e.id).trim().replace(/^\/+/,``).split(/\s+/,1)[0]??e.id}function Eo(e){return e.metadata?.argumentHint?.trim()||(e.value?.trim()??``).match(/^\/\S+\s+(.+)$/)?.[1]}function Do({models:e,status:t,thinkingLevel:n,onModelChange:r,onThinkingLevelChange:i,onSend:a,onSlashCommandSelect:o,onLocalSlashSubmit:s,onDraftChange:c,inlineCompletion:l,modelPickerOpen:u,onModelPickerOpenChange:d,effortPickerOpen:f,onEffortPickerOpenChange:p,workspaceReferences:m=So,workspaceSuggestions:h,onWorkspaceReferenceSelect:g,onRemoveWorkspaceReference:_,controlled:v,disabled:y,attachments:b,slashCommands:x}){let[S,C]=(0,X.useState)(``),[w,T]=(0,X.useState)(!1),E=v?.value??S,D=v?.onChange??C,O=t===`streaming`||t===`submitted`,k=wo(x),A=wo(h),j=(0,X.useMemo)(()=>k.map(e=>({name:To(e),description:[e.description,Eo(e)].filter(Boolean).join(` `),icon:sr})),[k]),M=(0,X.useMemo)(()=>A.map(e=>({id:e.id,name:e.label,path:e.value??e.label,kind:e.metadata?.kind===`folder`?`folder`:`file`,description:e.description,role:`human`})),[A]),N=E.match(/^\/([^\s/]*)$/),P=E.match(/(?:^|\s)@([^\s@]*)$/),F=N?.[1]?.toLowerCase()??(w?``:void 0),I=P?.[1]?.toLowerCase(),L=I===void 0?N||w?`slash`:void 0:`mention`,R=Ra(E,j),z=(0,X.useMemo)(()=>{if(w&&!E.startsWith(`/`))return k;let e=new Set(R.map(e=>e.name));return k.filter(t=>e.has(To(t)))},[k,R,w,E]),B=za(E,M),ee=(0,X.useMemo)(()=>{let e=new Set(B.map(e=>e.id).filter(e=>!!e));return A.filter(t=>e.has(t.id))},[B,A]),V=L===`slash`?z:ee,[te,H]=(0,X.useState)(0);(0,X.useEffect)(()=>{H(0)},[L,F,I,V.length]);let U=(0,X.useCallback)((e,t=!1)=>{if(s?.(e)===!0){D(``);return}a({role:`user`,content:e,altKey:t}),D(``)},[s,a,D]);(0,X.useEffect)(()=>{if(!c)return;let e=setTimeout(()=>c(E),Co);return()=>clearTimeout(e)},[c,E]);let W=(0,X.useCallback)(e=>{if(!e)return E;let t=e[0].length-e[0].trimStart().length,n=E.length-e[0].length+t;return E.slice(0,n)},[E]),G=(0,X.useCallback)(()=>{if(w){T(!1);return}if(L===`slash`&&N){D(W(N));return}L===`mention`&&P&&D(W(P))},[W,D,N,w,L,P]),ne=(0,X.useCallback)(e=>{if(T(!1),o?.(e)===!0){D(``);return}D(e.value??e.label)},[o,D]),K=(0,X.useCallback)(e=>{T(!1),g?.(e),D(W(P))},[g,W,D,P]),[q,re]=(0,X.useState)(null),[J,ie]=(0,X.useState)(ai),ae=(0,X.useRef)(!1),oe=(0,X.useRef)(null),[se,ce]=(0,X.useState)(void 0),le=(0,X.useCallback)(()=>q?{start:q.selectionStart??0,end:q.selectionEnd??0}:null,[q]);(0,X.useEffect)(()=>{if(!q)return;let e=()=>{if(ae.current)return;let e={focused:document.activeElement===q,composing:!1,caretStart:q.selectionStart??null,caretEnd:q.selectionEnd??null};ie(t=>ri(t,e)?t:e)},t=()=>{ae.current=!0,ie(e=>e.composing&&e.focused===(document.activeElement===q)?e:{focused:document.activeElement===q,composing:!0,caretStart:e.caretStart,caretEnd:e.caretEnd})},n=()=>{ae.current=!1;let e={focused:document.activeElement===q,composing:!1,caretStart:q.selectionStart??null,caretEnd:q.selectionEnd??null};ie(t=>ri(t,e)?t:e)},r=[`keyup`,`click`,`mouseup`,`select`,`focus`,`blur`,`scroll`];for(let t of r)q.addEventListener(t,e);return q.addEventListener(`compositionstart`,t),q.addEventListener(`compositionend`,n),e(),()=>{for(let t of r)q.removeEventListener(t,e);q.removeEventListener(`compositionstart`,t),q.removeEventListener(`compositionend`,n)}},[q]);let ue=!!(L&&!O&&!y),Y=(0,X.useMemo)(()=>ii({completion:l,value:E,editing:J,streaming:O,disabled:!!y,triggerOpen:ue,dismissed:se}),[se,y,J,l,O,ue,E]),de=(0,X.useCallback)(()=>{Y&&ce({forValue:E,text:Y.text}),l?.onDismiss?.()},[l,Y,E]),fe=(0,X.useCallback)(()=>{if(!Y)return;let e=le();if(!e||e.start!==e.end||e.start!==E.length)return;let t=oi(E,Y.text,Y.mode);D(t),oe.current=t.length,l?.onAccept?.(t)},[l,Y,le,D,E]);(0,X.useLayoutEffect)(()=>{let e=oe.current;e!==null&&(oe.current=null,q&&(q.selectionStart!==e||q.selectionEnd!==e)&&q.setSelectionRange(e,e))},[q,E]);let pe=(0,X.useCallback)(e=>{let t=!O&&!y&&L!==void 0;if(e.key===`Backspace`&&E.length===0&&m.length>0){let t=m[m.length-1];if(t){e.preventDefault(),_?.(t.relativePath);return}}if(t&&e.key===`Escape`){e.preventDefault(),G();return}if(t&&V.length>0){if(e.key===`Tab`&&!e.shiftKey){e.preventDefault();let t=V[te];t&&(L===`slash`?ne(t):K(t));return}if(e.key===`ArrowDown`){e.preventDefault(),H(e=>(e+1)%V.length);return}if(e.key===`ArrowUp`){e.preventDefault(),H(e=>(e-1+V.length)%V.length);return}if(e.key===`Enter`){e.preventDefault();let t=V[te];t&&(L===`slash`?ne(t):K(t));return}}if(!e.nativeEvent.isComposing){if(e.key===`Tab`&&!e.shiftKey&&Y){e.preventDefault(),fe();return}if(e.key===`Escape`&&Y){e.preventDefault(),de();return}}if(e.key===`Enter`&&e.altKey&&!e.shiftKey){e.preventDefault();let t=E.trim();t&&!y&&U(t,!0)}},[fe,te,G,y,de,O,Y,_,ne,K,U,V,L,E,m]),me=b?.files??[],he=b?.images??[],ge=(0,X.useMemo)(()=>{if(L!==`slash`)return[];let e=new Map;for(let t of z){let n=t.category??`builtin`,r=e.get(n)??[];r.push(t),e.set(n,r)}let t={builtin:`Built-in`,extension:`Extensions`,prompt:`Prompts`,skill:`Skills`};return[...e.entries()].map(([e,n])=>({id:e,label:t[e]??e,items:n.map(e=>({...e,description:[e.description,Eo(e)].filter(Boolean).join(` · `)}))}))},[z,L]),_e=(0,X.useMemo)(()=>e.filter(e=>e.available!==!1).map(e=>({id:e.id,name:e.name,provider:e.provider,providerLabel:Zt(e.provider),modelId:e.modelId,icon:(0,Z.jsx)(Xt,{provider:e.provider,className:`size-4`}),disabled:e.available===!1,reasoning:e.reasoning,keywords:[e.provider,e.modelId,e.id],efforts:Vn(e).map(e=>({id:e,name:zn(e)}))})),[e]),ve=u===!0||f===!0,ye=(0,X.useCallback)(e=>{d?.(e),p?.(e)},[p,d]),be=(0,X.useCallback)(t=>{let a=e.find(e=>e.id===t);r(t),a&&i?.(Rn(n,Vn(a)))},[e,r,i,n]),xe=(0,X.useCallback)(()=>{O||y||(T(!0),H(0),document.getElementById(`composer-prompt`)?.focus({preventScroll:!0}))},[y,O]);return(0,X.useEffect)(()=>{N&&T(!1)},[N]),(0,X.useEffect)(()=>{(O||y)&&T(!1)},[y,O]),(0,X.useEffect)(()=>{if(!ue)return;let e=e=>{let t=e.target;if(!(t instanceof Node))return;let n=document.getElementById(`composer-trigger-list`),r=document.getElementById(`composer-prompt`);n?.contains(t)||r?.contains(t)||t===r||G()};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[G,ue]),{activeTriggerIndex:te,attachTextarea:re,ghostText:si(E,Y),combinedPickerOpen:ve,commandGroups:ge,files:me,handleCombinedPickerOpenChange:ye,handlePromptKeyDown:pe,handleSelectorModelChange:be,images:he,isStreaming:O,openSlashMenu:xe,closeTriggerMenu:G,selectorModels:_e,removeTriggerToken:W,selectCommand:ne,selectWorkspaceReference:K,send:U,setActiveTriggerIndex:H,setValue:D,triggerItems:V,triggerKind:L,triggerOpen:ue,slashMatch:N,slashQuery:F,workspaceMentionMatch:P,workspaceQuery:I,filteredCommands:z,filteredWorkspaceItems:ee,value:E}}var Oo=(0,X.lazy)(()=>Or(async()=>{let{ModelSelectorList:e}=await import(`./model-selector-list-CbDAT0Rw.js`);return{ModelSelectorList:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29])).then(({ModelSelectorList:e})=>({default:e})));function ko(e){return(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(`div`,{className:`h-24 animate-pulse rounded-md bg-muted/40 p-1.5`,"aria-label":`Loading models`,role:`status`}),children:(0,Z.jsx)(Oo,{...e})})}var Ao=(0,X.memo)(function({models:e,value:t,effort:n,open:r,onOpenChange:i,onModelChange:a,onEffortChange:o,placeholder:s=`Model`,effortLabel:c=`Reasoning effort`,className:l,contentClassName:u}){let[d,f]=(0,X.useState)(!1),p=(0,X.useId)(),m=r??d,h=e=>{r===void 0&&f(e),i?.(e)},g=e.find(e=>e.id===t)??e[0],_=g?.efforts?.find(e=>e.id===n)??g?.efforts?.[0],v=g?.name??s,y=_&&g?.reasoning?_.name:void 0,b=y?`Select model and reasoning effort, ${v}, ${y}`:`Select model and reasoning effort, ${v}`,x=(0,Z.jsx)(Ka,{ariaLabel:b,label:v,leadingIcon:g?.icon,suffix:y?(0,Z.jsxs)(`span`,{className:`hidden shrink-0 text-foreground/70 xl:inline`,children:[`· `,y]}):null,open:m,combobox:!0,popupId:p,className:l});return(0,Z.jsx)(yo,{contentId:p,open:m,onOpenChange:h,side:`top`,align:`start`,className:F(`w-[min(24rem,calc(100vw-2rem))] max-h-[min(55dvh,28rem)] overflow-hidden p-0`,u),trigger:x,children:m?(0,Z.jsx)(ko,{models:e,selectedModel:g,selectedEffort:_,effortLabel:c,onModelChange:a,onEffortChange:o}):null})}),jo=[],Mo=[...bo];function No(e){return(0,Z.jsx)(Po,{...e})}function Po({modelKey:e,models:t,status:n,infoDescription:r,chatMode:i=`agent`,onChatModeChange:a,onModelChange:o,thinkingLevel:s,onThinkingLevelChange:c,onStop:l,onSend:u,onSlashCommandSelect:d,onLocalSlashSubmit:f,onDraftChange:p,inlineCompletion:m,modelPickerOpen:h,onModelPickerOpenChange:g,effortPickerOpen:_,onEffortPickerOpenChange:v,workspaceReferences:y=jo,workspaceSuggestions:b,onWorkspaceReferenceSelect:x,onRemoveWorkspaceReference:S,controlled:C,disabled:w,autoFocus:T,placeholder:E,attachments:D,slashCommands:O,className:k}){let{activeTriggerIndex:A,attachTextarea:j,combinedPickerOpen:M,commandGroups:N,files:P,ghostText:I,handleCombinedPickerOpenChange:L,handlePromptKeyDown:R,handleSelectorModelChange:z,images:B,isStreaming:ee,openSlashMenu:V,filteredWorkspaceItems:te,selectCommand:H,selectWorkspaceReference:U,selectorModels:W,send:G,setActiveTriggerIndex:ne,setValue:K,slashQuery:q,triggerItems:re,triggerKind:J,triggerOpen:ie,value:ae,workspaceQuery:oe}=Do({models:t,status:n,thinkingLevel:s,onModelChange:o,onThinkingLevelChange:c,onSend:u,onSlashCommandSelect:d,onLocalSlashSubmit:f,onDraftChange:p,inlineCompletion:m,modelPickerOpen:h,onModelPickerOpenChange:g,effortPickerOpen:_,onEffortPickerOpenChange:v,workspaceReferences:y,workspaceSuggestions:b,onWorkspaceReferenceSelect:x,onRemoveWorkspaceReference:S,controlled:C,disabled:w,attachments:D,slashCommands:O}),se=(0,X.useCallback)(e=>a?.(e),[a]),ce=(0,X.useCallback)(e=>c?.(e),[c]);return(0,Z.jsx)(`div`,{className:F(`shrink-0 pb-[max(0.75rem,env(safe-area-inset-bottom))]`,ti,k),children:(0,Z.jsxs)(`div`,{className:`relative flex w-full flex-col gap-3`,children:[(0,Z.jsx)(La,{label:r??void 0,isActive:ee}),B.length>0||P.length>0?(0,Z.jsxs)(`div`,{className:`flex flex-wrap gap-2 rounded-xl border bg-muted/40 p-2`,children:[B.map(e=>(0,Z.jsxs)(`div`,{className:`group relative`,children:[(0,Z.jsx)(`img`,{src:e.url,alt:e.filename,width:64,height:64,loading:`lazy`,className:`size-16 rounded-lg border object-cover`}),(0,Z.jsx)(Sr,{type:`button`,variant:`outline`,size:`icon-compact`,"aria-label":`Remove ${e.filename}`,onClick:()=>D?.onRemoveImage?.(e.id),className:F(Jr,`absolute -end-1 -top-1 size-6 rounded-full bg-background opacity-0 shadow-sm transition-opacity group-hover:opacity-100 group-focus-within:opacity-100 focus-visible:opacity-100 [@media(hover:none)]:opacity-100`),children:(0,Z.jsx)(xr,{"data-icon":`inline-start`,"aria-hidden":`true`,className:`size-3`})})]},e.id)),P.map(e=>(0,Z.jsx)(an,{id:e.id,filename:e.filename,size:e.size,onRemove:D?.onRemoveFile?()=>D.onRemoveFile?.(e.id):void 0},e.id))]}):null,y.length>0?(0,Z.jsx)(`div`,{className:`flex flex-wrap gap-1.5 rounded-xl border bg-muted/40 p-2`,children:y.map(e=>(0,Z.jsxs)(`div`,{className:`inline-flex max-w-full items-center gap-1.5 rounded-lg border bg-background px-2 py-1 text-xs text-foreground/75`,children:[(0,Z.jsx)(Cn,{"aria-hidden":`true`,className:`size-3.5 shrink-0 text-muted-foreground`}),(0,Z.jsxs)(`span`,{className:`max-w-[min(28rem,70vw)] truncate`,title:`@${e.relativePath}`,children:[`@`,e.relativePath]}),(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Remove workspace reference ${e.relativePath}`,onClick:()=>S?.(e.relativePath),className:F(Jr,`grid size-6 shrink-0 place-items-center rounded-md text-muted-foreground hover:bg-muted hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring`),children:(0,Z.jsx)(xr,{"aria-hidden":`true`,className:`size-3`})})]},e.relativePath))}):null,(0,Z.jsxs)(`div`,{className:`relative w-full`,children:[(0,Z.jsx)(Wa,{open:ie,kind:J??`slash`,query:J===`slash`?q:oe,items:J===`mention`?te:void 0,groups:J===`slash`?N:void 0,activeIndex:A,onActiveIndexChange:ne,onSelect:e=>{J===`slash`?H(e):U(e)},title:J===`slash`?`Commands`:`Workspace references`,listId:`composer-trigger-list`}),(0,Z.jsx)(ci,{id:`composer-prompt`,name:`prompt`,value:ae,onValueChange:K,onSubmit:e=>G(e),loading:ee,submitWhileLoading:!0,onStop:l,disabled:w,autoFocus:T,placeholder:E??`Send a message…`,onPaste:D?.onPaste,"aria-controls":ie?`composer-trigger-list`:void 0,"aria-expanded":ie,"aria-haspopup":`listbox`,"aria-activedescendant":ie&&re[A]?`composer-trigger-list-${re[A].id.replace(/[^a-zA-Z0-9_-]/g,`-`)}`:void 0,onKeyDown:R,onTextareaRef:j,ghostText:I,leadingAction:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Sr,{type:`button`,variant:`outline`,size:`icon`,disabled:w||ee,"aria-label":`Open slash commands`,"data-slot":`composer-add`,onClick:V,className:ei,children:(0,Z.jsx)(hr,{"aria-hidden":`true`,className:`size-4`})}),(0,Z.jsx)(xo,{modes:Mo,value:i,onChange:se}),(0,Z.jsx)(Ao,{models:W,value:e,effort:s,onModelChange:z,onEffortChange:ce,open:M,onOpenChange:L,placeholder:`Model`})]})})]})]})})}function Fo({active:e=!1,children:t,label:n,onClick:r}){let i=G()??!1;return(0,Z.jsx)(U.button,{type:`button`,"aria-label":n,"aria-pressed":e||void 0,title:n,onClick:r,whileTap:i?void 0:{scale:.96},transition:te,className:F(`relative grid size-7 place-items-center rounded-md text-muted-foreground outline-none transition-colors hover:bg-muted/70 hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring`,e&&`text-foreground`),children:t})}function Io({children:e,status:t=`complete`,copyText:n,onCopy:r,feedback:i,defaultFeedback:a=null,onFeedbackChange:o,announce:s=!0,showActions:c=!0,className:l,contentClassName:u,actionsClassName:d}){let f=G()??!1,[p,m]=(0,X.useState)(!1),[h,g]=(0,X.useState)(a),_=(0,X.useRef)(void 0),v=i??h,y=t===`streaming`,b=t===`complete`,x=!!(n||r),S=c&&!y&&(x||b);(0,X.useEffect)(()=>()=>{_.current&&window.clearTimeout(_.current)},[]);let C=(0,X.useCallback)(async()=>{r?await r():n&&await navigator.clipboard?.writeText(n),m(!0),_.current&&window.clearTimeout(_.current),_.current=window.setTimeout(()=>m(!1),1600)},[n,r]),w=e=>{let t=v===e?null:e;i===void 0&&g(t),o?.(t)};return(0,Z.jsxs)(`div`,{"data-state":t,"aria-busy":y,className:F(`w-full`,l),children:[(0,Z.jsx)(`div`,{"aria-live":s?`polite`:`off`,className:F(`text-sm leading-6 text-foreground/90 [&_a]:font-medium [&_a]:underline [&_a]:underline-offset-4 [&_ol]:my-3 [&_ol]:list-decimal [&_ol]:space-y-1 [&_ol]:pl-5 [&_p+p]:mt-3 [&_ul]:my-3 [&_ul]:list-disc [&_ul]:space-y-1 [&_ul]:pl-5`,u),children:e}),(0,Z.jsx)(W,{initial:!1,children:S?(0,Z.jsx)(U.div,{initial:f?{opacity:0}:{opacity:0,y:4},animate:{opacity:1,y:0},exit:{opacity:0},transition:{duration:f?.12:.22,ease:V},className:`mt-3`,children:(0,Z.jsxs)(`div`,{className:F(`flex items-center gap-0.5`,d),children:[x?(0,Z.jsx)(Fo,{label:p?`Copied`:`Copy response`,onClick:C,children:p?(0,Z.jsx)(Qt,{className:`size-3.5`}):(0,Z.jsx)(Sn,{className:`size-3.5`})}):null,b?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Fo,{label:`Helpful`,active:v===`up`,onClick:()=>w(`up`),children:(0,Z.jsx)(Ca,{className:`size-3.5`})}),(0,Z.jsx)(Fo,{label:`Not helpful`,active:v===`down`,onClick:()=>w(`down`),children:(0,Z.jsx)(xa,{className:`size-3.5`})})]}):null]})}):null})]})}var Lo=[{id:`top-left`,delay:0},{id:`top-center`,delay:.14},{id:`top-right`,delay:.28},{id:`middle-left`,delay:.42},{id:`middle-center`,delay:.56},{id:`middle-right`,delay:.7},{id:`bottom-left`,delay:.84},{id:`bottom-center`,delay:.98},{id:`bottom-right`,delay:1.12}];function Ro(e){let t=Math.max(0,e),n=Math.floor(t/60),r=(t%60).toFixed(1);return n>0?`${n}m ${r}s`:`${r}s`}function zo({label:e=`Churning`,elapsedSeconds:t,initialSeconds:n=0,running:r=!0,className:i}){let a=G()??!1,[o,s]=(0,X.useState)(n);(0,X.useEffect)(()=>{if(t!==void 0||!r)return;let e=performance.now()-n*1e3,i=window.setInterval(()=>{s((performance.now()-e)/1e3)},100);return()=>window.clearInterval(i)},[t,n,r]);let c=t??o;return(0,Z.jsxs)(`span`,{role:`status`,"aria-label":`${e}, in progress`,className:F(`inline-flex items-center gap-2.5 text-sm text-muted-foreground`,i),children:[(0,Z.jsx)(`span`,{"aria-hidden":`true`,className:`grid size-5 shrink-0 grid-cols-3 gap-[2px]`,children:Lo.map(({id:e,delay:t})=>(0,Z.jsx)(U.span,{className:`rounded-[1px] bg-current`,animate:a?{opacity:[.35,.8,.35]}:{opacity:[.28,1,.28],scale:[.72,1,.72]},transition:{duration:1.55,ease:B,repeat:1/0,delay:t}},e))}),(0,Z.jsx)(`span`,{className:`font-medium text-foreground/80`,children:e}),(0,Z.jsx)(`span`,{"aria-hidden":`true`,className:F(Lr,`tabular-nums text-muted-foreground/70`),children:Ro(c)})]})}function Bo({label:e,className:t}){let n=G();if(!e?.trim())return null;let{kind:r,title:i,detail:a}=Vo(e),o=Ho(r),s=r===`queue`||r===`retry`||r===`compaction`;return(0,Z.jsxs)(U.div,{initial:!n&&{opacity:0,y:-4},animate:{opacity:1,y:0},exit:n?void 0:{opacity:0,y:-4},transition:{duration:n?0:.16},role:r===`recovery`?`status`:void 0,"aria-live":r===`recovery`?`polite`:`off`,className:F(`flex items-start gap-2 rounded-lg border border-border/60 bg-muted/45 px-3 py-2 text-xs text-muted-foreground`,t),children:[s?(0,Z.jsx)(zo,{label:i,running:!0,className:`min-w-0 text-xs`}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(o,{className:F(`mt-0.5 size-3.5 shrink-0`,r===`recovery`&&`text-warning`)}),(0,Z.jsx)(`strong`,{className:`font-medium text-foreground/90`,children:i})]}),a?(0,Z.jsx)(`span`,{className:`min-w-0 leading-relaxed`,children:a}):null]})}function Vo(e){let t=e.trim(),n=t.toLowerCase();return n.includes(`queued`)||n.includes(`steered`)?{kind:`queue`,title:`Queued work`,detail:t}:n.includes(`retry`)?{kind:`retry`,title:`Retrying safely`,detail:t}:n.includes(`compact`)?{kind:`compaction`,title:`Managing context`,detail:t}:n.includes(`reset`)||n.includes(`recover`)||n.includes(`sign in`)?{kind:`recovery`,title:`Run needs attention`,detail:t}:{kind:`notice`,title:`Run update`,detail:t}}function Ho(e){switch(e){case`queue`:return da;case`retry`:return _r;case`compaction`:return or;case`recovery`:return yn;case`notice`:return xn;default:return e}}var Uo=(0,X.lazy)(()=>Or(async()=>{let{SessionToolRenderer:e}=await import(`./session-tool-renderer-DEABxZG3.js`).then(e=>e.n);return{SessionToolRenderer:e}},__vite__mapDeps([30,1,2,3,4,5,6,31,32,17,8,33,34,7,35,36,37,38,39,40,41,42,23,24,25,43,44,45,46,11,47,48,49,50,51,52,22,53,54,55,56,57,26,58,18,13,21,29,59,60,61])).then(({SessionToolRenderer:e})=>({default:e})));function Wo(e){return(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(`div`,{className:`h-7 animate-pulse rounded-md bg-muted/40`,role:`status`,"aria-label":`Loading tool`}),children:(0,Z.jsx)(Uo,{...e})})}var Go=(0,X.lazy)(()=>Or(async()=>{let{SessionReasoningPanel:e}=await import(`./session-reasoning-panel-CjJJK_bq.js`);return{SessionReasoningPanel:e}},__vite__mapDeps([62,1,2,3,36,8,39,61,4,43,58,17,18,13,21,29])).then(({SessionReasoningPanel:e})=>({default:e})));function Ko(e){return(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(`div`,{className:`mb-2 h-6 animate-pulse rounded-md bg-muted/40`,role:`status`,"aria-label":`Loading reasoning`}),children:(0,Z.jsx)(Go,{...e})})}var qo=(0,X.lazy)(()=>Or(async()=>{let{PromptSuggestions:e}=await import(`./prompt-suggestions-CAY5JI-C.js`);return{PromptSuggestions:e}},__vite__mapDeps([63,3,1,4,64,24,25])).then(({PromptSuggestions:e})=>({default:e})));function Jo(e){return(0,Z.jsx)(`div`,{className:`min-h-8`,children:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(`div`,{className:`h-8 animate-pulse rounded-full bg-muted/40`,role:`status`,"aria-label":`Loading suggestions`}),children:(0,Z.jsx)(qo,{...e})})})}var Yo=(0,X.lazy)(()=>Or(async()=>{let{MessageQueue:e}=await import(`./message-queue-Btjt9wK2.js`);return{MessageQueue:e}},__vite__mapDeps([65,1,2,3,4,66,8,22,64,24,25,67,68,13,17,18,15,16,36,39,69,23])).then(({MessageQueue:e})=>({default:e})));function Xo(e){return(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(Yo,{...e})})}function Zo(e){return(e.parts??[]).flatMap(e=>typeof e==`object`&&e&&`type`in e&&e.type===`text`&&`text`in e&&typeof e.text==`string`?[e.text]:[]).join(`
3
+
4
+ `)}function Qo(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function $o(e){for(let t of[...e].reverse())for(let e of[...t.parts??[]].reverse()){let t=Qo(e);if(t?.type!==`tool-FleetReasoning`)continue;let n=Qo(t.input);if(!(typeof n?.runId!=`string`||typeof n.phase!=`string`||!Array.isArray(n.steps)||typeof n.visibleSteps!=`number`||typeof n.streaming!=`boolean`||typeof n.startedAt!=`number`||typeof n.restingLabel!=`string`))return n}}function es(e){let t=new Set,n=e.flatMap(e=>(e.parts??[]).flatMap(e=>{let t=Qo(e);return t?.type===`text`&&typeof t.text==`string`?[t.text.replace(/\s+/g,` `).trim()]:[]}));return e.map(e=>({...e,parts:(e.parts??[]).flatMap(e=>{let r=Qo(e);if(r?.type!==`payload`||r.kind!==`agent_message`)return[e];let i=typeof r.id==`string`?`id:${r.id}`:`content:${(e=>{try{return JSON.stringify(e)??``}catch{return String(e)}})([r.title,r.text,r.payload])}`;if(t.has(i))return[];t.add(i);let a=typeof r.text==`string`?r.text.replace(/\s+/g,` `).trim():``;return a.length>20&&n.some(e=>e.includes(a))?[{...r,title:`Details`,text:void 0}]:[e]})}))}function ts({messages:e,isLast:t,isStreaming:n,toolRenderers:r,onOpenUIAction:i,activityLabel:a,artifactRuns:o,onOpenArtifact:s,onOpenUIArtifactReady:c,animateIn:l}){let u=t&&n,d=(0,X.useMemo)(()=>{let e=o?.flatMap(e=>e.artifacts)??[];return new Map(e.flatMap(e=>e.sourceToolCallId?[[e.sourceToolCallId,e]]:[]))},[o]),f=(0,X.useMemo)(()=>es(e).flatMap((n,a)=>en(fn((n.parts??[]).filter(e=>e.type!==`tool-FleetReasoning`&&e.type!==`tool-Thinking`)),{messageId:n.id,isLast:t&&a===e.length-1,isStreaming:u,suppressTextWhenPlanWrite:!0,ToolRendererComponent:Wo,TextRendererComponent:sn,toolRenderers:r,onOpenUIAction:i,onOpenUIArtifactReady:c,onOpenArtifact:s,artifactByToolCallId:d,onOpenToolArtifact:s})),[t,u,e,s,d,i,c,r]),p=e.flatMap(e=>{let t=Zo(e);return t?[t]:[]}).join(`
5
+
6
+ `),m=(0,X.useMemo)(()=>$o(e),[e]),h=!!m&&!e.some(e=>e.parts.some(e=>e.type===`reasoning`)),g=t&&!h&&is(a);return(0,Z.jsx)(dn,{from:`assistant`,animateIn:l,children:(0,Z.jsx)(pn,{children:(0,Z.jsx)(tn,{variant:`ghost`,layout:!1,children:(0,Z.jsxs)(on,{children:[(0,Z.jsx)(`div`,{"data-testid":`turn-progress`,className:`flex flex-col gap-[var(--density-gap)]`,children:h&&m?(0,Z.jsx)(Ko,{presentation:m}):g?(0,Z.jsx)(Bo,{label:a}):null}),(0,Z.jsx)(Io,{status:u?`streaming`:`complete`,copyText:p||void 0,announce:!1,contentClassName:`flex flex-col gap-[var(--density-gap)]`,children:f})]})})})})}function ns(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}var rs=(0,X.memo)(function({turn:e,state:t,rendering:n,activity:r,windowed:i=!1,animateIn:a,highlightedMessageId:o}){let s=a??!t.isStreaming,c=o&&(e.user?.id===o||e.assistants.some(e=>e.id===o))||!1;return(0,Z.jsxs)(`div`,{className:F(`flex flex-col gap-[var(--density-gap)] rounded-lg transition-colors`,c?`bg-foreground/6 ring-1 ring-foreground/15`:void 0),style:i?void 0:{contentVisibility:`auto`,containIntrinsicSize:`auto 400px`},children:[e.user?(0,Z.jsx)(dn,{from:`user`,animateIn:s,children:(0,Z.jsx)(pn,{children:(0,Z.jsx)(un,{message:e.user})})}):null,e.assistants.length>0?(0,Z.jsx)(ts,{messages:e.assistants,isLast:t.isLast,isStreaming:t.isStreaming,toolRenderers:n.toolRenderers,onOpenUIAction:n.onOpenUIAction,onOpenUIArtifactReady:n.onOpenUIArtifactReady,onOpenArtifact:n.onOpenArtifact,activityLabel:r.label,artifactRuns:r.artifactRuns,animateIn:s}):null]})},(e,t)=>e.turn.user===t.turn.user&&ns(e.turn.assistants,t.turn.assistants)&&e.state.isLast===t.state.isLast&&e.state.isStreaming===t.state.isStreaming&&e.rendering.toolRenderers===t.rendering.toolRenderers&&e.rendering.onOpenUIAction===t.rendering.onOpenUIAction&&e.rendering.onOpenUIArtifactReady===t.rendering.onOpenUIArtifactReady&&e.rendering.onOpenArtifact===t.rendering.onOpenArtifact&&e.activity.label===t.activity.label&&e.activity.presentation===t.activity.presentation&&e.activity.artifactRuns===t.activity.artifactRuns&&e.windowed===t.windowed&&e.animateIn===t.animateIn&&e.highlightedMessageId===t.highlightedMessageId);function is(e){return e?/queued|steered|retry|compact|reset|recover|refresh|sign in/i.test(e):!1}function as(e){return Array.isArray(e)?e:e?.items??[]}function os({inputBar:e,status:t,suggestions:n,onSend:r,onStop:i,isEmpty:a,draftSetterRef:o}){let[s,c]=(0,X.useState)(``);return(0,X.useEffect)(()=>{o.current=c},[o]),(0,Z.jsx)(No,{...e,className:e.className,placeholder:a?`Ask Prime to build, investigate, or change something…`:e.placeholder,controlled:{value:s,onChange:c},status:t,suggestions:n,onSend:r,onStop:i})}var ss=(0,X.memo)(os);function cs(e,t){return e.user?.id??e.assistants[0]?.id??`assistant-turn-${t}`}function ls({toolRenderers:e,suggestions:t,status:n,onStop:r,onSend:i,inputBar:a,className:o,messages:s,error:c,onOpenUIAction:l,activityLabel:u,presentation:d,artifactRuns:f,onOpenArtifact:p,onOpenUIArtifactReady:m,queue:h,onDeleteQueuedMessage:g,onEditQueuedMessage:_,highlightedMessageId:v}){let y=(0,X.useRef)(null),b=(0,X.useRef)(null),x=(0,X.useRef)(new Set),{transcript:S}=Dr(),C=(0,X.useCallback)(e=>y.current?.(e),[]),w=(0,X.useMemo)(()=>ui(s),[s]),T=as(t),E=(0,X.useMemo)(()=>T.flatMap(e=>e.disabled?[]:[e.value??e.label]),[T]),D=E.join(`\0`),[O,k]=(0,X.useState)(null),[A,j]=(0,X.useState)(D);A!==D&&(j(D),k(null));let M=n===`streaming`||n===`submitted`,N=(0,X.useMemo)(()=>({toolRenderers:e,onOpenUIAction:l,onOpenUIArtifactReady:m,onOpenArtifact:p}),[p,l,m,e]),P=(0,X.useMemo)(()=>({isLast:!0,isStreaming:M}),[M]),I=(0,X.useMemo)(()=>({isLast:!1,isStreaming:!1}),[]),L=(0,X.useMemo)(()=>({label:u,presentation:d,artifactRuns:f}),[u,f,d]),R=(0,X.useMemo)(()=>({label:void 0,presentation:void 0,artifactRuns:void 0}),[]),z=w.length>=16;w.length===0&&x.current.size>0&&x.current.clear();let B=(0,X.useCallback)((e,t)=>{let n=t===w.length-1,r=cs(e,t),i=!x.current.has(r);return i&&x.current.add(r),(0,Z.jsx)(rs,{turn:e,state:n?P:I,rendering:N,activity:n?L:R,windowed:z,animateIn:i&&!(n&&M),highlightedMessageId:v})},[L,R,v,M,N,P,I,w.length,z]),ee=w.length===0&&!c,V=c?Na(c):null,te=(0,Z.jsx)(ss,{inputBar:a,status:n,suggestions:t,onSend:i,onStop:r,isEmpty:ee,draftSetterRef:y});return(0,Z.jsxs)(`div`,{className:F(`agent-chat flex h-full min-h-0 flex-col bg-background`,o),children:[(0,Z.jsxs)(ln,{className:`flex-1`,busy:M,followOutput:S===`follow`,viewportRef:b,smooth:!M,contentClassName:F(ti,`flex flex-col gap-[var(--density-gap)]`,ee?`min-h-full items-center justify-center py-8`:`py-6`),children:[ee?(0,Z.jsx)(Fa,{disabled:M,onSelect:e=>C(e.value??e.label)}):null,(0,Z.jsx)(cn,{estimateSize:400,getItemKey:cs,itemGap:20,items:w,renderItem:B,viewportRef:b}),V?(0,Z.jsxs)(`div`,{role:`alert`,className:`flex items-start gap-2 rounded-xl border border-destructive/30 bg-destructive/10 p-3 text-sm text-destructive`,children:[(0,Z.jsx)(yn,{className:`mt-0.5 size-4 shrink-0`}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`p`,{className:`font-medium`,children:V.title}),(0,Z.jsx)(`p`,{className:`mt-1 text-xs opacity-90`,children:V.message})]})]}):null,w.length>0&&E.length>0&&!M&&!c?(0,Z.jsx)(Jo,{suggestions:E,selectedSuggestion:O,cycle:w.length,onSuggestion:e=>{k(e),C(e)},className:`px-0`}):null]}),te,h&&(h.steering.length>0||h.followUp.length>0)?(0,Z.jsx)(Xo,{queue:h,onDelete:g,onEdit:_}):null]})}function us({messages:e,highlightedMessageId:t,status:n,error:r,workspaceName:i,activityLabel:a,presentation:o,artifactRuns:s,queue:c,onDeleteQueuedMessage:l,onEditQueuedMessage:u,onOpenArtifact:d,onOpenUIArtifactReady:f,inputSuggestionItems:p,inputBar:m,onSend:h,onOpenUIAction:g,onStop:_}){let v=(0,X.useCallback)(e=>{h(e.content,e.altKey)},[h]);return(0,Z.jsx)(`div`,{className:`contents`,"data-fleet-chat-focus":!0,children:(0,Z.jsx)(hn,{children:(0,Z.jsx)(ls,{messages:e,highlightedMessageId:t,status:n,onSend:v,onOpenUIAction:g,onStop:_,workspaceName:i,activityLabel:a,presentation:o,artifactRuns:s,queue:c,onDeleteQueuedMessage:l,onEditQueuedMessage:u,onOpenArtifact:d,onOpenUIArtifactReady:f,error:r??void 0,suggestions:p,inputBar:m})})})}function ds(e){d(e)||fi.error(e instanceof Error?e.message:String(e))}function fs(e){Promise.resolve().then(e).catch(ds)}function ps(){let[e,t]=(0,X.useState)(`agent`),[n,r]=(0,X.useState)([]),[i,a]=(0,X.useState)([]),[o,s]=(0,X.useState)(!1),[c,l]=(0,X.useState)(!1);return{chatMode:e,effortPickerOpen:c,modelPickerOpen:o,setChatMode:t,setEffortPickerOpen:l,setModelPickerOpen:s,setUploadedAttachments:r,setWorkspaceAttachments:a,uploadedAttachments:n,workspaceAttachments:i}}function ms(e,t){return{modelKey:e.modelKey,models:e.models,infoDescription:e.infoDescription,slashCommands:e.slashCommands,chatMode:e.chatMode,onChatModeChange:e.setChatMode,onModelChange:e.setModelKey,thinkingLevel:e.thinkingLevel,onThinkingLevelChange:e.setThinkingLevel,attachments:{onAttach:e.handleAttach,images:e.uploadedAttachments.flatMap(e=>e.mimeType.startsWith(`image/`)?[{id:e.attachmentId,filename:e.name,size:e.size,url:l(`/api/chat/session?sessionId=${encodeURIComponent(t??``)}&attachmentId=${encodeURIComponent(e.attachmentId)}`)}]:[]),files:e.uploadedAttachments.flatMap(e=>e.mimeType.startsWith(`image/`)?[]:[{id:e.attachmentId,filename:e.name,size:e.size}]),onRemoveImage:e.removeUploadedAttachment,onRemoveFile:e.removeUploadedAttachment},workspaceReferences:e.workspaceAttachments,workspaceSuggestions:e.workspaceReferenceSuggestions,onWorkspaceReferenceSelect:e.addWorkspaceAttachment,onRemoveWorkspaceReference:e.removeWorkspaceAttachment,onSlashCommandSelect:e.handleSlashCommandSelect,onLocalSlashSubmit:e.handleLocalSlashSubmit,onDraftChange:e.onComposerDraftChange,inlineCompletion:e.inlineCompletion,modelPickerOpen:e.modelPickerOpen,onModelPickerOpenChange:e.setModelPickerOpen,effortPickerOpen:e.effortPickerOpen,onEffortPickerOpenChange:e.setEffortPickerOpen}}function hs(e,t){let{addWorkspaceAttachment:n,chatMode:r,effortPickerOpen:i,handleAttach:a,handleLocalSlashSubmit:o,handleSlashCommandSelect:s,infoDescription:c,inlineCompletion:l,modelKey:u,modelPickerOpen:d,models:f,onComposerDraftChange:p,removeUploadedAttachment:m,removeWorkspaceAttachment:h,setChatMode:g,setEffortPickerOpen:_,setModelKey:v,setModelPickerOpen:y,setThinkingLevel:b,slashCommands:x,thinkingLevel:S,uploadedAttachments:C,workspaceAttachments:w,workspaceReferenceSuggestions:T}=e;return(0,X.useMemo)(()=>ms({addWorkspaceAttachment:n,chatMode:r,effortPickerOpen:i,handleAttach:a,handleLocalSlashSubmit:o,handleSlashCommandSelect:s,infoDescription:c,inlineCompletion:l,modelKey:u,modelPickerOpen:d,models:f,onComposerDraftChange:p,removeUploadedAttachment:m,removeWorkspaceAttachment:h,setChatMode:g,setEffortPickerOpen:_,setModelKey:v,setModelPickerOpen:y,setThinkingLevel:b,slashCommands:x,thinkingLevel:S,uploadedAttachments:C,workspaceAttachments:w,workspaceReferenceSuggestions:T},t),[t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T])}var gs=32,_s=3e5;function vs(e){return e.trim().length<4?!1:!Aa(e)}function ys(e){return e.trim().replace(/\s+/g,` `).toLowerCase()}function bs(e,t){return`${e??``}\u0000${ys(t)}`}function xs({available:e,sessionId:t}){let n=(0,X.useRef)(new Map),r=(0,X.useRef)(``),i=(0,X.useRef)(null),[a,o]=(0,X.useState)(void 0),s=(0,X.useCallback)((e,t)=>{for(n.current.set(e,{completion:t,at:Date.now()});n.current.size>gs;){let e=n.current.keys().next();if(e.done)break;n.current.delete(e.value)}},[]),c=(0,X.useCallback)(e=>{let t=n.current.get(e);if(t){if(Date.now()-t.at>_s){n.current.delete(e);return}return t}},[]),u=(0,X.useCallback)(async e=>{let n=bs(t,e);i.current?.abort();let a=new AbortController;i.current=a;try{let c=await fetch(l(`/api/chat/completion`),{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t?{text:e,sessionId:t}:{text:e}),signal:a.signal});if(!c.ok)return;let u=await c.json();if(u.completion&&s(n,u.completion),i.current!==a||r.current!==e)return;o(u.completion?{key:n,forValue:e,text:u.completion}:void 0)}catch{}},[s,t]),d=(0,X.useCallback)(n=>{if(r.current=n,!e||!vs(n)){i.current?.abort(),i.current=null,o(void 0);return}let a=bs(t,n),s=c(a);if(s){i.current?.abort(),i.current=null,o(s.completion?{key:a,forValue:n,text:s.completion}:void 0);return}o(void 0),u(n)},[e,u,c,t]);(0,X.useEffect)(()=>()=>{i.current?.abort(),i.current=null},[]),(0,X.useEffect)(()=>{r.current&&d(r.current)},[d]);let f=a&&a.key===bs(t,a.forValue)?a:void 0,p=f?Ma(f.forValue,f.text,`append`):void 0;return{onDraftChange:d,inlineCompletion:f&&p?{forValue:f.forValue,text:p,mode:`append`,onDismiss:()=>o(void 0)}:void 0}}var Ss=300,Cs=32,ws=3e5,Ts=4;function Es(e){return e.trim().replace(/\s+/g,` `).toLowerCase()}function Ds(e){let t=e.trim();return!(t.length<Ts||t.startsWith(`/`)||t.startsWith(`@`)&&!t.includes(` `))}function Os(e,t){if(e.outcome!==`matched`||!e.command)return;let n=gn(e.command);if(n)return{forValue:t,command:n.id}}function ks(e){let t=(0,X.useRef)(new Map),n=(0,X.useRef)(void 0),r=(0,X.useRef)(null),i=(0,X.useRef)(``),a=(0,X.useRef)(void 0),[o,s]=(0,X.useState)(void 0),c=(0,X.useCallback)(e=>{let n=t.current.get(e);if(n){if(Date.now()-n.at>ws){t.current.delete(e);return}return n.response}},[]),u=(0,X.useCallback)((e,n)=>{for(t.current.set(e,{response:n,at:Date.now()});t.current.size>Cs;){let e=t.current.keys().next();if(e.done)break;t.current.delete(e.value)}},[]),d=(0,X.useCallback)((e,t,n)=>{if(a.current!==n)return Os(e,t)},[]),f=(0,X.useCallback)(async e=>{let t=Es(e);r.current?.abort();let n=new AbortController;r.current=n;try{let r=await fetch(l(`/api/chat/intent`),{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({text:e}),signal:n.signal});if(!r.ok)return;let a=await r.json();if(u(t,a),i.current!==e)return;s(d(a,e,t))}catch{}},[d,u]),p=(0,X.useCallback)(t=>{i.current=t,n.current!==void 0&&(clearTimeout(n.current),n.current=void 0);let r=Es(t);if(a.current!==void 0&&a.current!==r&&(a.current=void 0),!e||!Ds(t)){s(void 0);return}let o=c(r);if(o){s(d(o,t,r));return}s(void 0),n.current=setTimeout(()=>{n.current=void 0,f(t)},Ss)},[e,f,d,c]),m=(0,X.useCallback)(t=>{if(!e)return null;let n=Es(t);if(a.current===n)return null;let r=c(n);return!r||r.outcome!==`matched`||r.disposition!==`execute`?null:r},[e,c]),h=(0,X.useCallback)(()=>{a.current=Es(i.current),s(void 0)},[]);return(0,X.useEffect)(()=>{e||(n.current!==void 0&&(clearTimeout(n.current),n.current=void 0),r.current?.abort(),r.current=null,t.current.clear(),a.current=void 0,s(void 0))},[e]),(0,X.useEffect)(()=>{e&&i.current&&p(i.current)},[e,p]),(0,X.useEffect)(()=>()=>{n.current!==void 0&&clearTimeout(n.current),r.current?.abort()},[]),{onDraftChange:p,takeCached:m,command:o,dismissCommand:h}}function As(){let[e,t]=(0,X.useState)({available:!1,enabled:!1,keySource:`none`,status:`loading`}),n=(0,X.useRef)(0),r=(0,X.useCallback)(()=>{let e=++n.current;(async()=>{try{let r=await fetch(l(`/api/chat/intent`));if(e!==n.current)return;if(!r.ok){t({available:!1,enabled:!1,keySource:`none`,status:`error`});return}let i=await r.json();if(e!==n.current)return;let a=typeof i.status==`string`?i.status:`error`,o=i.enabled===!0;t({available:o&&a===`ready`,enabled:o,keySource:i.keySource??`none`,status:a})}catch{if(e!==n.current)return;t({available:!1,enabled:!1,keySource:`none`,status:`error`})}})()},[]);return(0,X.useEffect)(()=>{r()},[r]),(0,X.useMemo)(()=>({...e,refresh:r}),[r,e])}var js=[{name:`settings`,description:`Open Settings`,source:`builtin`},{name:`model`,description:`Open the model picker`,argumentHint:`[provider/id]`,source:`builtin`},{name:`effort`,description:`Select reasoning/thinking level`,argumentHint:`[level]`,source:`builtin`},{name:`fast`,description:`Toggle OpenAI Fast mode`,source:`builtin`},{name:`scoped-models`,description:`Enable/disable models for cycling`,source:`builtin`},{name:`export`,description:`Export session (HTML default, or .html/.jsonl path)`,argumentHint:`[path]`,source:`builtin`},{name:`import`,description:`Import and resume a session from a JSONL file`,argumentHint:`<path.jsonl>`,source:`builtin`},{name:`share`,description:`Copy the transcript (Gist upload is TUI-only)`,source:`builtin`},{name:`copy`,description:`Copy last agent message to clipboard`,source:`builtin`},{name:`btw`,description:`Ask a side question without adding it to the session`,argumentHint:`<question>`,source:`builtin`},{name:`name`,description:`Set or show the session display name`,argumentHint:`[name]`,source:`builtin`},{name:`session`,description:`Show current session metadata`,source:`builtin`},{name:`system-prompt`,description:`Show the exact system prompt sent to the model`,source:`builtin`},{name:`logs`,description:`Show where daemon and client logs are saved`,source:`builtin`},{name:`traces`,description:`Preview, upload, or configure Fleet Prime traces`,argumentHint:`[status|on|off|preview|upload]`,source:`builtin`},{name:`context`,description:`Show token and context usage`,source:`builtin`},{name:`changelog`,description:`Show changelog entries`,source:`builtin`},{name:`hotkeys`,description:`Show keyboard shortcuts`,source:`builtin`},{name:`fork`,description:`Create a new fork from a previous user message`,argumentHint:`[message-entry-id]`,source:`builtin`},{name:`clone`,description:`Duplicate the current session at the current position`,source:`builtin`},{name:`tree`,description:`Show the session tree (switch branches)`,source:`builtin`},{name:`agents`,description:`List saved sessions (web stand-in for the TUI agent tray)`,source:`builtin`},{name:`login`,description:`Configure provider authentication`,source:`builtin`},{name:`logout`,description:`Remove provider authentication`,source:`builtin`},{name:`mcp`,description:`Open MCP connections in Settings`,argumentHint:`[list|login <name>|logout <name>]`,source:`builtin`},{name:`new`,description:`Start a new chat session`,source:`builtin`},{name:`compact`,description:`Compact the session context`,argumentHint:`[instructions]`,source:`builtin`},{name:`refine`,description:`Refine continual harness prompt notes, skills, and memory`,source:`builtin`},{name:`openui`,description:`Generate a durable OpenUI HTML artifact`,argumentHint:`<request>`,source:`builtin`},{name:`goal`,description:`Set or view a persistent goal`,argumentHint:`[objective]`,source:`builtin`},{name:`autonomous`,description:`Set or view autonomous mode with an optional budget`,argumentHint:`[status|off|on [--max-continuations <n>] [--max-turns <n>] [--max-tokens <n>] [--timeout-ms <n>] [--gate <command>]]`,source:`builtin`},{name:`rlm-max-depth`,description:`Set or view per-chat RLM max depth`,argumentHint:`[<int> [--global]]`,source:`builtin`},{name:`heartbeat`,description:`Set or view a persistent heartbeat`,argumentHint:`[status|pause|resume|stop]`,source:`builtin`},{name:`heartbeats`,description:`View user and agent heartbeats`,source:`builtin`},{name:`reload`,description:`Reload keybindings, extensions, skills, prompts, and themes`,source:`builtin`},{name:`update`,description:`Update Fleet Prime (TUI-only)`,source:`builtin`},{name:`fullscreen`,description:`Toggle fullscreen (TUI-only)`,source:`builtin`},{name:`quit`,description:`Quit (TUI-only; close this tab instead)`,source:`builtin`}],Ms={clear:`new`,usage:`context`,thinking:`effort`,rename:`name`,side:`btw`};function Ns(e){let t=Nr.safeParse(e.trim().toLowerCase());return t.success?t.data:void 0}function Ps(e){return Ms[e]??e}function Fs(e){return Rs(Ps(e))}function Is(e){let t=e.trim().match(/^\/(\S+)(?:\s+(.*))?$/);if(!t)return null;let[,n=``,r=``]=t;return{command:n,args:r.trim()}}function Ls(e){let t=e.trim();if(!t)return;let n=t[0];if(n!==`"`&&n!==`'`)return t;let r=t.indexOf(n,1);return r<0?void 0:t.slice(1,r)}function Rs(e,t=``){let n=Ps(e),r=t.trim();switch(n){case`model`:return{type:`open-model-picker`,modelKey:r?r.replace(/:[\w.-]+$/,``):void 0};case`effort`:{if(!r)return{type:`open-effort-picker`};let e=Ns(r);return e?{type:`set-thinking-level`,level:e}:{type:`open-effort-picker`,unknownLevel:r}}case`models`:case`scoped-models`:return{type:`open-model-picker`};case`settings`:return{type:`open-settings`,tab:`appearance`};case`config`:return{type:`open-settings`,tab:`chat`};case`new`:return{type:`new-session`};case`openui`:return{type:`openui-request`,request:r};case`login`:return{type:`open-providers`};case`logout`:return{type:`open-logout`};case`session`:return{type:`session-info`};case`name`:return{type:`session-rename`,name:r||void 0};case`context`:return{type:`session-context`};case`system-prompt`:return{type:`session-system-prompt`};case`logs`:return{type:`session-logs`};case`export`:return{type:`session-export`,outputPath:Ls(r)};case`fork`:return{type:`session-fork`,args:r};case`clone`:return{type:`session-clone`};case`tree`:return{type:`session-tree`,args:r};case`share`:return{type:`session-share`};case`import`:return{type:`session-import`,path:r?Ls(r)??r:``};case`btw`:return{type:`session-btw`,question:r};case`fast`:return{type:`fast-toggle`};case`reload`:return{type:`reload-resources`};case`mcp`:return{type:`open-mcp`,args:r};case`rlm-max-depth`:return{type:`rlm-max-depth`,args:r};case`heartbeat`:return{type:`heartbeat-manage`,args:r};case`heartbeats`:return{type:`heartbeat-list`};case`traces`:return{type:`session-traces`};case`agents`:return{type:`session-agents`};case`changelog`:return{type:`show-changelog`};case`hotkeys`:return{type:`show-hotkeys`};case`copy`:return{type:`copy-last-reply`};case`update`:return{type:`update-check`,args:r};case`fullscreen`:return{type:`toggle-fullscreen`};case`quit`:return{type:`quit-app`};default:return null}}function zs(e){let t=e.trim().replace(/\s+/g,`-`);return/^[\w.-]+$/.test(t)?t:``}function Bs(e){return`/${e} `}function Vs(e){let t=e.argumentHint?.trim();return{id:e.name,label:`/${e.name}`,value:Bs(e.name),description:e.description,category:e.category??`builtin`,...t?{metadata:{argumentHint:t}}:{}}}function Hs(e){return e.metadata?.argumentHint?.trim()?!0:!!js.find(t=>t.name===e.id)?.argumentHint?.trim()}function Us(e,t,n){let r=new Map;for(let e of js)r.set(e.name,Vs(e));for(let e of n?.commands??[])r.has(e.name)||r.set(e.name,Vs({...e,category:`extension`}));if(!t||!e)return Array.from(r.values());for(let[t,n]of[[`skill`,e.skills],[`prompt`,e.prompts]])for(let e of n){if(e.activationStatus&&e.activationStatus!==`active`)continue;let n=zs(e.name);if(!n||r.has(n))continue;let i=e.argumentHint?.trim();r.set(n,{id:n,label:`/${n}`,value:Bs(n),description:e.description,category:t,...i?{metadata:{argumentHint:i}}:{}})}return Array.from(r.values())}var Ws=`workspace:`;function Gs(e,t=[]){for(let n of e)t.push(n),n.children&&Gs(n.children,t);return t}function Ks(e){return e?Gs(e.nodes).map(e=>({id:`${Ws}${e.path}`,label:e.path,description:e.type===`directory`?`Folder`:`Workspace file`,keywords:[e.name,e.path],metadata:{kind:e.type===`directory`?`folder`:`file`}})):[]}function qs(e){if(!e.id.startsWith(Ws))return null;let t=e.id.slice(10);if(!t)return null;let n=Mr.safeParse(t);return n.success?n.data:null}function Js(e){if(e.type!==`tool-Question`||e.state===`output-available`||e.state===`output-error`)return!1;let t=e.output;return!t||!(t.answer!==void 0&&t.answer!==null||Array.isArray(t.answers)&&t.answers.length>0||typeof t.content==`string`&&t.content.length>0)}function Ys(e,t,n,r){let i=(0,X.useRef)(new Set);(0,X.useEffect)(()=>{if(t!==`streaming`&&t!==`submitted`)return;let a=e.findLastIndex(e=>e.role===`user`);if(!(a<0))for(let t=e.length-1;t>=0&&!(t<=a);--t){let a=e[t];if(!(a?.role!==`assistant`||!Array.isArray(a.parts)))for(let e=a.parts.length-1;e>=0;--e){let t=a.parts[e];if(t?.type!==`tool-Question`||t.state!==`input-available`||!t.toolCallId||!Js(t)||i.current.has(t.toolCallId))continue;let o=t.toolCallId;i.current.add(o),n({toolCallId:o,answer:{kind:`skip`}}).catch(r)}}},[n,e,r,t])}var Xs=`fleet-prime:v1:chat-session`;function Zs(){let[e,t]=(0,X.useState)(()=>Qs()),n=(0,X.useCallback)(e=>{t(e)},[]);return(0,X.useEffect)(()=>{tc(e)},[e]),{sessionMetadata:e,setSessionMetadata:n}}function Qs(){let e=Er(Xs);if(!e)return $s();try{return ec(JSON.parse(e))}catch{return $s()}}function $s(){let e=Er(`fleet-prime:v1:chat-sessions`);if(!e)return{};try{return ec(JSON.parse(e)?.normal)}catch{return{}}}function ec(e){let t=kr.safeParse(e);return t.success?t.data:{}}function tc(e){if(!e.sessionId&&!e.projectId){wr(Xs),wr(`fleet-prime:v1:chat-sessions`);return}Tr(Xs,JSON.stringify(e))}function nc({messages:e,resources:t,workspaceTree:n}){return(0,X.useMemo)(()=>rc({messages:e,resources:t,workspaceTree:n}),[e,t,n])}function rc({messages:e,resources:t,workspaceTree:n}){let r=!!t?.agentsFiles.some(e=>e.name===`AGENTS.md`),i=e=>e.toLowerCase().includes(`frontend`),a=!!(t?.skills.some(e=>i(`${e.name} ${e.description??``}`))||n?.nodes.some(e=>i(JSON.stringify(e))));if(e.length===0)return[$(`overview`,`Summarize this project`),$(`frontend`,a?`Find a skill "frontend"`:`Explore available skills`),$(`docs`,r?`Read AGENTS.md`:`Tell me about this project`)];let o=[...e].reverse().find(e=>e.role===`assistant`),s=ac([...e].reverse().find(e=>e.role===`user`)).toLowerCase(),c=ac(o).toLowerCase(),l=new Set,u=[];if(o){for(let e of o.parts)if(e.type.startsWith(`tool-`)){l.add(e.type);let t=e.input,n=typeof t?.file_path==`string`?t.file_path:typeof t?.path==`string`?t.path:void 0;n&&u.push(n)}}if(l.has(`tool-Write`)||l.has(`tool-Edit`)){let e=u[u.length-1]??`the changed file`;return[$(`review-changes`,`Review the changes to ${e.split(`/`).pop()??e}`),$(`run-tests`,`Run the tests`),$(`explain-changes`,`Explain what was changed and why`)]}if(l.has(`tool-Read`)&&!l.has(`tool-Write`)){let e=u[u.length-1]??`the file`;return[$(`summarize-file`,`Summarize ${e.split(`/`).pop()??e}`),$(`suggest-improvements`,`Suggest improvements`),$(`find-related`,`Find related files`)]}return l.has(`tool-Bash`)?[$(`explain-output`,`Explain the output`),$(`fix-issues`,`Fix any issues found`),$(`run-again`,`Run it again with different options`)]:l.has(`tool-PlanWrite`)?[$(`execute-plan`,`Execute this plan`),$(`refine-plan`,`Refine the plan`),$(`explain-plan`,`Explain the plan in detail`)]:l.has(`tool-resource_install`)?[$(`use-resource`,`Use the installed resource`),$(`list-resources`,`List all available resources`),$(`workspace`,`Show workspace files`)]:ic(o)?[$(`fix-error`,`Fix the error`),$(`explain-error`,`Explain what went wrong`),$(`suggest-alternative`,`Suggest an alternative approach`)]:s.includes(`what can you do`)||s.includes(`help`)?[$(`frontend`,`Find a skill "frontend"`),$(`agents`,r?`Read AGENTS.md`:`Read the repo docs`),$(`workspace`,`Show workspace files`)]:s.includes(`skill`)?[$(`frontend-skill`,`Find a skill "frontend"`),$(`memory-skill`,`Find a skill "memory"`),$(`skill-docs`,r?`Read AGENTS.md`:`Show workspace files`)]:c?[$(`go-deeper`,`Go deeper on this`),$(`next-steps`,`What should I do next?`),$(`workspace`,`Show workspace files`)]:[$(`overview`,`Summarize this project`),$(`workspace`,`Show workspace files`),$(`docs`,r?`Read AGENTS.md`:`Tell me about this project`)]}function ic(e){return e?e.parts.some(e=>{if(e.type===`error`)return!0;if(!e.type.startsWith(`tool-`)||typeof e!=`object`||!e)return!1;let t=e;if(t.state===`output-error`||t.state===`error`||t.state===`failed`)return!0;let n=typeof t.output==`object`&&t.output!==null?t.output:void 0;return!!(t.error||n?.error)}):!1}function $(e,t){return{id:e,label:t,value:t}}function ac(e){return e?e.parts.filter(e=>e.type===`text`&&typeof e.text==`string`).map(e=>e.text).join(` `):``}function oc(e,t){return e.sessionId!==t.sessionId||e.projectId!==t.projectId}function sc(e,t){return!!e.sessionId||t!==void 0&&t!==e.projectId}function cc({activeProjectId:e,deleteSession:t,getSessionMetadata:n,refetchProjects:r,resumeSession:i,sessionId:a,sessions:o,setActiveProjectId:s,setSelectedWorkspacePath:c,setUploadedAttachments:l,setWorkspaceAttachments:u,startNewSession:d,switchProject:f}){let p=(0,X.useCallback)(()=>{l([]),u([])},[l,u]),m=(0,X.useRef)(null),h=(0,X.useCallback)(async t=>{let r=`${t?.projectId??``}::${t?.preserveRunning??``}`,i=m.current;if(i&&i.key===r)return i.promise;let a=(async()=>{let r=n(),i=t?.projectId??e,a=sc({...r,projectId:r.projectId??e},i);return await d(t),a&&p(),n()})().finally(()=>{m.current?.promise===a&&(m.current=null)});return m.current={key:r,promise:a},a},[e,p,n,d]),g=(0,X.useCallback)(async(t,r)=>{let a=t.projectId===void 0&&e?{...t,projectId:e}:t,o=oc(n(),a),s=await i(a,r);return s&&o&&p(),s},[e,p,n,i]),_=(0,X.useCallback)(async(e,t)=>{await g(e,t)},[g]),v=(0,X.useCallback)(async e=>{let t=o.filter(t=>t.projectId===e).sort((e,t)=>t.updatedAt.localeCompare(e.updatedAt))[0],i=oc(n(),{sessionId:t?.sessionId,projectId:e});s(e),c(null),await f(e,t?.sessionId)&&i&&p(),await r()},[p,n,r,s,c,o,f]),y=(0,X.useCallback)(async e=>{s(e),c(null),await h({projectId:e}),await r()},[r,s,c,h]),b=(0,X.useCallback)(async e=>{let r=n().sessionId===e;await t(e)&&r&&p()},[p,t,n]),x=(0,X.useCallback)(async e=>{let t=await j.createProject(e);await r(),await v(t.projectId)},[r,v]),S=(0,X.useCallback)(async(e,t)=>{await j.renameProject(e,t),await r()},[r]),C=(0,X.useCallback)(async t=>{await j.unregisterProject(t);let n=await r();if(e===t){let e=n.data?.projects.find(e=>e.projectId!==t);e?await v(e.projectId):(s(void 0),c(null),await f(``,void 0)&&p())}},[e,p,r,v,s,c,f]),w=(0,X.useCallback)(e=>j.browseProjectDirectories(e),[]);(0,X.useEffect)(()=>{a&&r()},[r,a]);let T=(0,X.useCallback)(()=>{let e=document.createElement(`input`);e.type=`file`,e.multiple=!0,e.accept=`image/*,text/*,application/json,application/pdf`,e.onchange=()=>{(async()=>{let t=Array.from(e.files??[]);if(t.length===0)return;let r=n().sessionId??(await h()).sessionId;if(!r)throw Error(`Unable to create a session for attachments`);let i=await j.uploadAttachments(r,t);l(e=>[...e,...i])})().catch(e=>{ds(e)})},e.click()},[n,l,h]),E=(0,X.useCallback)(e=>{l(t=>t.filter(t=>t.attachmentId!==e))},[l]),D=(0,X.useCallback)(()=>l([]),[l]),O=(0,X.useCallback)(()=>u([]),[u]),k=(0,X.useCallback)((e,t)=>{e.length>0&&l(t=>[...e,...t]),t.length>0&&u(e=>[...t,...e])},[l,u]);return{addWorkspaceAttachment:(0,X.useCallback)(e=>{let t=qs(e);t&&u(e=>e.some(e=>e.relativePath===t)?e:[...e,{kind:`workspace`,relativePath:t,name:t.split(`/`).pop()||t}])},[u]),browseProjectDirectories:w,clearPendingAttachments:p,clearUploadedAttachments:D,clearWorkspaceAttachments:O,createProject:x,deleteSessionForWorkspace:b,handleAttach:T,removeUploadedAttachment:E,removeWorkspaceAttachment:(0,X.useCallback)(e=>{u(t=>t.filter(t=>t.relativePath!==e))},[u]),renameProject:S,restoreAttachments:k,resumeSessionForWorkspace:_,resumeSessionForWorkspaceWithResult:g,selectProject:v,startNewSessionForWorkspace:h,startNewSessionInProject:y,unregisterProject:C}}function lc(e,t,n=crypto.randomUUID()){return{id:n,role:e,createdAt:Date.now(),parts:[{type:`text`,text:t}]}}function uc(e){return{...lc(`user`,e),optimistic:!0}}function dc(e,t){return e.filter(e=>e.id!==t||e.optimistic!==!0)}function fc(e,t){return e.map(e=>{if(e.id!==t||e.optimistic!==!0)return e;let n={...e};return delete n.optimistic,n})}function pc(e,t){let n=e.findIndex(Da);if(n===-1)return[...e,{type:`text`,text:t}];let r=e[n];if(!r||!Da(r))return e;let i=[...e];return i[n]={type:`text`,text:`${r.text}${t}`},i}function mc(e,t){let n=e.findIndex(e=>ka(e)&&e.toolCallId===t.toolCallId&&e.type===t.type);if(n===-1){let n=e.findIndex(Da);return n===-1?[...e,t]:[...e.slice(0,n),t,...e.slice(n)]}let r=e[n],i=[...e];return i[n]=r&&ka(r)?{...r,...t}:t,i}function hc(e,t){let n=e.findIndex(e=>Oa(e)&&(e.id&&t.id?e.id===t.id:e.kind===t.kind&&e.title===t.title));if(n===-1)return[...e,t];let r=e[n],i=[...e];return i[n]=r&&Oa(r)?{...r,...t}:t,i}function gc({messageId:e,presentation:t}){return{type:`tool-FleetReasoning`,toolCallId:`${e}-reasoning`,state:t.streaming?`input-streaming`:`output-available`,input:t}}function _c(e,t,n){return e.map(e=>e.id===t?{...e,parts:pc(e.parts,n)}:e)}function vc(e,t,n){return e.map(e=>{if(e.id!==t)return e;let r=e.parts.findIndex(e=>e.type===`reasoning`&&e.contentIndex===n.contentIndex),i=r<0?void 0:e.parts[r],a=i?.type===`reasoning`?i.text:``,o={type:`reasoning`,contentIndex:n.contentIndex,text:n.phase===`start`?n.text:n.phase===`delta`?a+n.text:n.phase===`end`&&n.text||a,state:n.phase===`end`?`complete`:`streaming`,...n.durationMs===void 0?{}:{durationMs:n.durationMs}},s=[...e.parts];if(r>=0)s[r]=o;else{let e=s.findIndex(e=>e.type===`text`&&!e.text);s.splice(e<0?s.length:e,0,o)}return{...e,parts:s}})}function yc(e,t,n){return e.map(e=>e.id===t?{...e,parts:mc(e.parts,n)}:e)}function bc(e,t,n){return e.map(e=>e.id===t?{...e,parts:hc(e.parts,n)}:e)}function xc(e,t,n){return yc(e,t,gc({messageId:t,presentation:n}))}function Sc(e){if(e.role!==`assistant`)return e;let t=e.parts.filter(e=>e.type!==`tool-Thinking`);return t.length===e.parts.length?e:{...e,parts:t}}function Cc(e){return e.parts.filter(e=>e.type===`text`).map(e=>e.text).join(``)}var wc=`/api/chat/command`,Tc=`MCP usage: /mcp, /mcp list, /mcp login <name>, /mcp logout <name>.`;function Ec(e){return e.sessionId?.trim()||void 0}function Dc({sessionId:e,name:t}){let n=e.trim()||`none`;return[t?`Session: ${t}`:`Session`,` id: ${n}`].join(`
7
+ `)}function Oc(e){return typeof e==`string`?e:Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&e.type===`text`&&typeof e.text==`string`).map(e=>e.text).join(` `):``}function kc(e){let{entry:t}=e;if(t.type===`message`&&t.message){let e=t.message.role??`message`,n=Oc(t.message.content).replace(/\s+/g,` `).trim();return`${e}: ${n.length>72?`${n.slice(0,72)}…`:n}`}return t.label??e.label??t.type}function Ac(e,t){let n=[],r=(e,i)=>{for(let a of e){let e=a.entry.id===t?`*`:` `,o=` `.repeat(i);n.push(`${o}${e} ${a.entry.id} ${kc(a)}`),r(a.children,i+1)}};return r(e,0),n}function jc(e,t){let n=Ac(e,t);return n.length>0?n.join(`
8
+ `):`(empty session tree)`}function Mc(e){let t=[],n=[],r=e=>{for(let i of e){if(i.entry.type===`message`){let e={id:i.entry.id,preview:kc(i)};t.push(e),i.entry.message?.role===`user`&&n.push(e)}r(i.children)}};return r(e),n.length>0?n:t}function Nc(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n?.role!==`assistant`||n.source===`local`)continue;let r=Cc(n).trim();if(r)return r}}function Pc(e){return e.flatMap(e=>{if(e.source===`local`)return[];let t=Cc(e).trim(),n=`**${e.role}**\n\n${t}`;return n.trim().length>0?[n]:[]}).join(`
9
+
10
+ ---
11
+
12
+ `)}function Fc({appendLocalMessage:e,getMessages:t,getSessionMetadata:n,modelKey:i,models:a,onForkPicker:o,openSettings:s,onOpenUIRequest:c,resumeSession:l,sessions:u,setEffortPickerOpen:d,setModelKey:f,setModelPickerOpen:p,setThinkingLevel:m,startNewSession:h,takeCachedIntent:g}){let _=r(),v=(0,X.useCallback)(async(e,t=``)=>{let r=Ec(n());if(!r)return{ok:!1,error:`No active session — start a new one first.`};try{let n=await fetch(wc,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({sessionId:r,command:e,args:t})});if(!n.ok){let e=`HTTP ${n.status}`;try{let t=await n.json();typeof t.message==`string`&&(e=t.message)}catch{}return{ok:!1,error:e}}return{ok:!0,payload:await n.json()}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}},[n]),y=(0,X.useCallback)(async(t,n,r)=>{let i=await t;if(!i.ok){e(`${n} failed: ${i.error}`);return}let a={newSessionId:typeof i.payload.newSessionId==`string`?i.payload.newSessionId:`?`,selectedText:typeof i.payload.selectedText==`string`?i.payload.selectedText:`(none)`};if(fi.success(r(a)),a.newSessionId!==`?`){await l({sessionId:a.newSessionId});return}e(r(a))},[e,l]),b=(0,X.useCallback)(r=>{switch(r.type){case`open-model-picker`:return r.modelKey&&a.some(e=>e.id===r.modelKey)?(f(r.modelKey),fi.success(`Model set to ${r.modelKey}`),!0):(d(!1),p(!0),!0);case`open-effort-picker`:return r.unknownLevel&&fi.error(`Unknown thinking level '${r.unknownLevel}'.`),p(!1),d(!0),!0;case`set-thinking-level`:{let e=a.find(e=>e.id===i),t=Vn(e);return t.includes(r.level)?(m(r.level),fi.success(`Effort set to ${zn(r.level)}`),!0):(fi.error(`Unknown thinking level '${r.level}'. Available: ${t.join(`, `)}`),p(!1),d(!0),!0)}case`open-settings`:return s(r.tab),!0;case`new-session`:return fs(async()=>h()),!0;case`openui-request`:return r.request?(c(r.request),!0):(e(`Usage: /openui <request>`),!0);case`session-info`:return(async()=>{let t=Ec(n()),r=await v(`session`);if(!r.ok||!t){e(Dc({sessionId:t??`none`,name:null}));return}e(Dc({sessionId:t,name:typeof r.payload.name==`string`?r.payload.name:null}))})(),!0;case`session-rename`:return r.name?((async()=>{let t=await v(`name`,r.name??``);e(t.ok?`Session renamed to "${r.name}".`:`Couldn't rename session: ${t.error}`)})(),!0):(e(`Usage: /name <display name>`),!0);case`session-context`:return(async()=>{let t=await v(`context`);if(!t.ok){e(`Couldn't load context: ${t.error}`);return}let n=t.payload.usage;if(!n){e(`Context usage isn't available yet — no model response on this branch.`);return}let{tokens:r,contextWindow:i,percent:a}=n;e(`Context usage: ~${r??`?`}/${i??`?`} tokens${typeof a==`number`?` (${a.toFixed(1)}%)`:``}`)})(),!0;case`session-system-prompt`:return(async()=>{let t=await v(`system-prompt`);if(!t.ok){e(`Couldn't load system prompt: ${t.error}`);return}e(typeof t.payload.systemPrompt==`string`?t.payload.systemPrompt:`(empty)`)})(),!0;case`session-logs`:return e("Daemon and client logs live at `~/.prime/agent/log/`. Use your OS's log viewer or `tail -f` there (TUI parity with /logs)."),!0;case`session-export`:return(async()=>{let t=await v(`export`,r.outputPath??``);if(!t.ok){e(`Export failed: ${t.error}`);return}e(`Session exported to ${typeof t.payload.path==`string`?t.payload.path:`(unknown path)`} (${typeof t.payload.format==`string`?t.payload.format:`html`})`)})(),!0;case`session-fork`:return r.args?(y(v(`fork`,r.args),`Fork`,e=>`Forked → session ${e.newSessionId}. Selected text: ${e.selectedText}`),!0):((async()=>{let t=await v(`tree`);if(!t.ok){e(`Fork picker failed: ${t.error}`);return}let n=t.payload.tree,r=Array.isArray(n?.tree)?Mc(n.tree):[];if(r.length===0){e(`No fork points yet — send a user message first, then run /fork.`);return}o(r)})(),!0);case`session-clone`:return y(v(`clone`),`Clone`,e=>`Cloned → session ${e.newSessionId}.`),!0;case`session-tree`:return(async()=>{let t=await v(`tree`,r.args??``);if(!t.ok){e(`Tree failed: ${t.error}`);return}let n=t.payload.tree;if(!n||!Array.isArray(n.tree)){e(`(no session tree available)`);return}e(jc(n.tree,n.leafId??null))})(),!0;case`session-share`:return(async()=>{let n=Pc(t());if(!n.trim()){e(`Nothing to share yet.`);return}await navigator.clipboard.writeText(n),fi.success(`Transcript copied`),e(`Copied the transcript to the clipboard. GitHub Gist upload is TUI-only in this port.`)})().catch(e=>{fi.error(`Share failed: ${e instanceof Error?e.message:String(e)}`)}),!0;case`session-import`:return e(r.path?`/import ${r.path} is not wired in the web port. Resume a saved conversation from the session picker instead.`:`Usage: /import <path.jsonl> — JSONL import is not wired in the web port. Use the session picker to resume.`),!0;case`session-btw`:return e(r.question?`/btw is not wired in the web port. Side question was not sent:\n${r.question}`:`Usage: /btw <question> — side questions are not wired in the web port.`),!0;case`session-traces`:return e(`Fleet Prime traces (preview / upload / login) are TUI-only. The web port does not upload traces.`),!0;case`session-agents`:return u.length===0?(e(`No saved sessions. The web port has no daemon agent tray — use the conversation picker in the header.`),!0):(e(`Saved sessions (web stand-in for /agents):\n${u.map(e=>`${e.sessionId} ${e.title}`).join(`
13
+ `)}`),!0);case`open-providers`:return s(`providers`),!0;case`open-logout`:return e(`Provider sign-out is managed by Fleet Prime CLI commands.`),!0;case`open-mcp`:{s(`mcp`);let t=r.args.trim().split(/\s+/).filter(Boolean),n=t[0],i=t.slice(1).join(` `);return!n||n===`list`||(n===`login`||n===`reconnect`)&&!i?!0:(n===`login`||n===`reconnect`)&&i?(e(`Open Settings → MCP and sign in to "${i}".`),!0):n===`logout`&&i?((async()=>{try{let t=await j.mcpOAuth({name:i,action:`logout`});t.connections&&_.setQueryData(k.mcp,{connections:t.connections}),_.invalidateQueries({queryKey:[`chat`,`resources`]}),e(`Signed out of MCP connection "${i}".`)}catch(t){e(t instanceof Error?t.message:`Could not sign out of "${i}".`)}})(),!0):(e(Tc),!0)}case`fast-toggle`:return(async()=>{e("/fast toggles OpenAI Fast mode. The web port reads this from ~/.prime/agent/settings.json — flip `fastMode` there or in Settings.")})(),!0;case`reload-resources`:return(async()=>{let t=await v(`reload`);e(t.ok?`Reloaded keybindings, extensions, skills, prompts, and themes.`:`Reload failed: ${t.error}`)})(),!0;case`show-changelog`:return e(`Changelog lives at https://github.com/Qredence/fleet-prime-agent/blob/main/CHANGELOG.md`),!0;case`show-hotkeys`:return e(`Web port hotkeys: Enter=send, Alt+Enter=follow-up while streaming, / = slash menu, ⌘K=command palette.`),!0;case`copy-last-reply`:return(async()=>{let e=Nc(t());if(!e){fi.error(`No assistant message to copy`);return}await navigator.clipboard.writeText(e),fi.success(`Last assistant message copied`)})().catch(e=>{fi.error(`Copy failed: ${e instanceof Error?e.message:String(e)}`)}),!0;case`update-check`:return e(`/update is TUI-only (pulls the latest Fleet Prime release). Use npm/pnpm in your shell to upgrade.`),!0;case`toggle-fullscreen`:return e(`/fullscreen is TUI-only (alternate screen rendering). In the browser, use your OS/browser fullscreen.`),!0;case`quit-app`:return e(`/quit is TUI-only (exits the agent loop). Close this browser tab instead.`),!0;case`rlm-max-depth`:return e(`/rlm-max-depth is not yet wired in the web port.`),!0;case`heartbeat-manage`:case`heartbeat-list`:return e(`/heartbeat(s) are not wired in the web port. Persistent heartbeats remain TUI/session-cron.`),!0;default:return!1}},[e,v,y,t,n,i,a,o,s,c,_,u,d,f,p,m,h]),x=(0,X.useCallback)(e=>{if(Hs(e))return!1;let t=Rs(e.id);return t?b(t):!1},[b]),S=(0,X.useCallback)(e=>{let t=Is(e);if(t){let e=Rs(t.command,t.args);return e?b(e):!1}let n=g?.(e);if(!n?.command)return!1;let r=Fs(n.command);return r?b(r):!1},[b,g]);return{applyLocalSlashAction:b,forkFromEntry:(0,X.useCallback)(e=>{y(v(`fork`,e),`Fork`,e=>`Forked → session ${e.newSessionId}. Selected text: ${e.selectedText}`)},[v,y]),handleLocalSlashSubmit:S,handleSlashCommandSelect:x}}var Ic={steering:[],followUp:[]},Lc=Object.freeze({revision:0,userBash:[],rlmChildren:[],refinements:[],artifactRuns:[]});function Rc(e){let t=e.sessionId?.trim()||void 0,n=e.projectId?.trim()||void 0;return t||n?{...t?{sessionId:t}:{},...n?{projectId:n}:{}}:{}}function zc(e,t){let n=t.sessionId?.trim()||e.sessionId,r=t.projectId?.trim()||e.projectId;return{...n?{sessionId:n}:{},...r?{projectId:r}:{}}}function Bc(e){return(e.parts??[]).some(e=>e.type!==`text`||typeof e.text==`string`&&e.text.trim().length>0)}function Vc(e,t){if(!t)return e;let{assistantId:n,snapshot:r}=e;if(n===t)return e;if(n){let e=r.messages.map(e=>e.id===n&&e.role===`assistant`?{...e,id:t}:e);return{assistantId:t,snapshot:{...r,messages:e}}}return{assistantId:t,snapshot:{...r,messages:[...r.messages,lc(`assistant`,``,t)]}}}function Hc(e,t){return e.some(e=>e.id===t.id)?e.map(e=>e.id===t.id?t:e):[...e,t]}function Uc(e,t,n){let r=[n?e.find(e=>e.id===n&&e.role===`assistant`):void 0,e.find(e=>e.id===t.id&&e.role===`assistant`)].filter(Boolean).slice(0,1).flatMap(e=>e.parts.filter(e=>(e.type===`tool-FleetReasoning`||e.type===`payload`||e.type===`reasoning`)&&!t.parts.some(t=>t.type===e.type?e.type===`reasoning`&&t.type===`reasoning`?t.contentIndex===e.contentIndex:e.type===`payload`&&t.type===`payload`?e.id&&t.id?e.id===t.id:e.kind===t.kind&&e.title===t.title:!0:!1)));return r.length===0?t:{...t,parts:[...r.map(e=>e.type===`reasoning`?{...e,state:`complete`}:e),...t.parts]}}function Wc(e,t,n){if(!Bc(t)){let r=[n?e.find(e=>e.id===n&&e.role===`assistant`):void 0,e.find(e=>e.id===t.id&&e.role===`assistant`)].filter(Boolean).find(e=>Bc(e));if(r)return Hc(e,{...t,parts:r.parts,createdAt:t.createdAt??r.createdAt})}return e.some(e=>e.id===t.id)?e.map(e=>e.id===t.id?t:e):n&&n!==t.id&&e.some(e=>e.id===n&&e.role===`assistant`)?e.map(e=>e.id===n&&e.role===`assistant`?t:e):[...e,t]}function Gc(e,t){if(t.type===`session_snapshot`)return{assistantId:null,snapshot:{...e.snapshot,activityLabel:void 0,messages:t.messages,planLabel:void 0,presentation:t.presentation,queue:Ic,sessionMetadata:t.session}};if(t.type===`done`&&t.sessionReset)return e;if(t.type===`presentation`){let n=e.snapshot.presentation?.revision??-1;return t.presentation.revision<=n?e:{...e,snapshot:{...e.snapshot,presentation:t.presentation}}}if(t.type===`rlm`){let n=e.snapshot.presentation;if(!n)return e;let r=n.rlmChildren.find(e=>e.id===t.child.id);if(r&&r.timestamp>t.child.timestamp)return e;let i=[...n.rlmChildren.filter(e=>e.id!==t.child.id),t.child];return{...e,snapshot:{...e.snapshot,presentation:{...n,rlmChildren:i,...t.tree?{rlmTree:t.tree}:{}}}}}if(t.type===`message`){if(t.message.role===`user`){let n=e.snapshot.messages.findIndex(e=>e.id===t.message.id),r=n>=0?n:e.snapshot.messages.findIndex(e=>e.role===`user`&&e.optimistic===!0),i=r>=0?{...t.message,id:e.snapshot.messages[r].id}:t.message;return{...e,snapshot:{...e.snapshot,messages:r>=0?e.snapshot.messages.map((e,t)=>t===r?i:e):[...e.snapshot.messages,i]}}}let n=Vc(e,t.message.id);return{assistantId:n.assistantId,snapshot:{...n.snapshot,messages:Wc(n.snapshot.messages,t.message,n.assistantId)}}}if(t.type===`start`){let n=e.snapshot.messages.some(e=>e.id===t.id&&e.role===`assistant`);return{assistantId:t.id,snapshot:{...e.snapshot,adapterCapabilities:t.adapterCapabilities,activityLabel:t.sessionReset?`Started a fresh Pi session`:t.diagnostics?.[0],messages:n?e.snapshot.messages:[...e.snapshot.messages,lc(`assistant`,``,t.id)],sessionMetadata:zc(e.snapshot.sessionMetadata,{sessionId:t.sessionId})}}}if(t.type===`thinking`)return e;let n=t.type===`delta`||t.type===`reasoning`||t.type===`reasoning_text`||t.type===`tool`||t.type===`payload`?Vc(e,t.messageId):e,{assistantId:r,snapshot:i}=n;if(t.type===`reasoning_text`&&r)return{assistantId:r,snapshot:{...i,messages:vc(i.messages,r,t)}};if(t.type===`delta`&&r)return{assistantId:r,snapshot:{...i,messages:_c(i.messages,r,t.text)}};if(t.type===`error`)return n;if(t.type===`reasoning`&&r&&i.adapterCapabilities?.features.includes(`reasoning-summary-v1`))return{assistantId:r,snapshot:{...i,messages:xc(i.messages,r,t.presentation)}};if(t.type===`tool`&&r)return{assistantId:r,snapshot:{...i,messages:yc(i.messages,r,t.part)}};if(t.type===`payload`&&r)return{assistantId:r,snapshot:{...i,messages:bc(i.messages,r,t.part)}};if(t.type===`queue`)return{assistantId:r,snapshot:{...i,queue:{steering:t.steering,followUp:t.followUp}}};if(t.type===`plan`)return{assistantId:r,snapshot:{...i,planLabel:t.message}};if(t.type===`state`)return{assistantId:r,snapshot:{...i,activityLabel:f(t.state.name)}};if(t.type===`compaction`)return{assistantId:r,snapshot:{...i,activityLabel:t.phase===`start`?`Compacting session`:`Compaction finished`}};if(t.type===`retry`)return{assistantId:r,snapshot:{...i,activityLabel:t.phase===`start`?`Retrying request ${t.attempt}/${t.maxAttempts}`:t.success?`Retry succeeded`:`Retry failed`}};if(t.type===`done`){let e=Sc(t.message),n=Uc(i.messages,e,r),a=Wc(i.messages,n,r),o=t.presentation&&t.presentation.revision>(i.presentation?.revision??-1)?t.presentation:i.presentation;return{assistantId:null,snapshot:{...i,activityLabel:void 0,messages:a.map(e=>Sc(e)),queue:Ic,presentation:o,sessionMetadata:zc(i.sessionMetadata,{sessionId:t.sessionId})}}}return n}var Kc=`plan-mode-decision`;function qc(e,t){return{enabled:e.mode===`plan`,executing:e.executing,todos:e.todos.map(e=>({...e})),pendingDecision:e.pendingDecision,pendingDecisionToolCallId:e.pendingDecision?`${Kc}-${t}`:void 0}}function Jc(e,t){return Yc(e,qc(t,e))}function Yc(e,t){if(t.todos.length===0)return;let n=Zc(t),r=t.pendingDecision?`awaiting_approval`:n.total>0&&n.completed===n.total?`completed`:`approved`;return{type:`tool-PlanWrite`,toolCallId:t.pendingDecisionToolCallId??`${Kc}-${e}`,state:`output-available`,input:{action:t.pendingDecision?`create`:`update`,pendingDecision:t.pendingDecision,executing:t.executing,completed:n.completed,total:n.total,presentation:n,plan:{id:e,title:n.executing?`Executing plan`:`Execution plan`,summary:Qc(t),status:r,todos:n.todos}}}}function Xc(e){return!!e?.startsWith(Kc)}function Zc(e){let t=e.todos.filter(e=>e.completed).length,n=e.todos.length,r=e.enabled?`plan`:`agent`,i=e.executing?n>0?`Plan progress ${t}/${n}`:`Executing plan`:e.pendingDecision?`Plan ready for review`:e.enabled?`Plan mode`:void 0;return{mode:r,executing:e.executing,pendingDecision:!!e.pendingDecision,completed:t,total:n,todos:e.todos.map(e=>({...e})),message:i}}function Qc(e){let t=Zc(e),n=t.todos.map(e=>`${e.completed?`- [x]`:`- [ ]`} ${e.step}. ${e.text}`);return e.pendingDecision?n.push(``,`Review the steps, then execute, stay in plan mode, or refine.`):t.executing?n.push(``,`Progress: ${t.completed}/${t.total} completed.`):t.total>0&&t.completed===t.total&&n.push(``,`All plan steps are complete.`),n.join(`
14
+ `)}function $c(e,t){let n=new Map(t.map(e=>[e.assistantMessageId,e]));return e.map(e=>{if(e.role!==`assistant`)return e;let t=n.get(e.id),r=t?Jc(e.id,t.state):void 0;return r?{...e,parts:mc(e.parts,r)}:e})}function el(e,t){for(let n of e)for(let e of n.parts){if(e.type!==`tool-PlanWrite`||e.toolCallId!==t||!e.input||typeof e.input!=`object`)continue;let r=e.input.presentation;if(!r||typeof r!=`object`)continue;let i=r;if(!(!Array.isArray(i.todos)||i.mode!==`agent`&&i.mode!==`plan`&&i.mode!==`harness`))return{assistantMessageId:n.id,state:{...i,todos:i.todos.map(e=>({...e}))}}}}function tl(e,t){if(!e||typeof e!=`object`)return;let n=e.presentation;if(!n||typeof n!=`object`)return n;let r=t.selectedIds?.[0],i=n,a=(Array.isArray(i.todos)?i.todos:[]).some(e=>!!(e&&typeof e==`object`&&!e.completed));return{...i,pendingDecision:!1,mode:r===`execute`?`agent`:`plan`,executing:r===`execute`&&a}}function nl(e,t,n){if(!Xc(t))return e;let r=e.map(e=>{let r=e.parts.map(e=>e.type!==`tool-PlanWrite`||e.toolCallId!==t||!e.input||typeof e.input!=`object`?e:{...e,input:{...e.input,approved:n.selectedIds?.[0]===`execute`||n.selectedIds?.[0]===`stay`,pendingDecision:!1,executing:n.selectedIds?.[0]===`execute`,presentation:tl(e.input,n)}});return r.some((t,n)=>t!==e.parts[n])?{...e,parts:r}:e});return r.some((t,n)=>t!==e[n])?r:e}function rl(e,t){let n=e.map(e=>{let n=e.parts.map(e=>{if(e.type!==`tool-PlanWrite`||typeof e.toolCallId!=`string`||!e.input||typeof e.input!=`object`)return e;let n=e.input;return n.pendingDecision!==!0||typeof n.onExecute==`function`&&typeof n.onStay==`function`&&typeof n.onRefine==`function`?e:{...e,input:{...n,onExecute:()=>t({toolCallId:e.toolCallId,answer:{kind:`single`,selectedIds:[`execute`]}}),onStay:()=>t({toolCallId:e.toolCallId,answer:{kind:`single`,selectedIds:[`stay`]}}),onRefine:n=>t({toolCallId:e.toolCallId,answer:n&&n.trim().length>0?{kind:`text`,text:n.trim()}:{kind:`single`,selectedIds:[`refine`]}})}}});return n.some((t,n)=>t!==e.parts[n])?{...e,parts:n}:e});return n.some((t,n)=>t!==e[n])?n:e}async function il(e){e.setSessionMetadataSynced({}),e.setMessagesSynced([]),e.setQueueSynced(Ic),e.setActivityLabelSynced(void 0),e.setPlanLabelSynced(void 0),e.setPresentationSynced(Lc),e.setError(null),e.setStatus(`ready`);let t=await e.client.createSession(e.projectId);e.setSessionMetadataSynced(t.session),e.setMessagesSynced(t.messages),e.setPresentationSynced(t.presentation),e.setActivityLabelSynced(t.sessionReset?`Started a fresh Pi session`:void 0),await e.refreshSessions()}async function al(e,t,n,r){if(!t(e))return!1;try{await n()}catch(e){let t=e instanceof Error?e:Error(String(e));r.setError(t),r.setStatus(`error`),ds(t)}return!0}async function ol(e,t,n){return al(e,c,t,n)}async function sl(e,t,n){return al(e,M,t,n)}function cl({client:e,initialSessionMetadataRef:t,initializedRef:n,recoverFromForbiddenSession:r,refreshSessions:i,setActivityLabelSynced:a,setError:o,setMessagesSynced:s,setPlanLabelSynced:c,setPresentationSynced:l,setQueueSynced:u,setSessionMetadataSynced:d,setStatus:f}){(0,X.useEffect)(()=>{if(n.current)return;n.current=!0;let p=new AbortController,m=!1;f(`ready`),o(null),u(Ic),a(void 0),c(void 0),s([]);let h=t.current;return i().then(t=>{if(p.signal.aborted)return;let n=h.sessionId?t.find(e=>e.sessionId===h.sessionId):void 0,r=n??(h.projectId?t.find(e=>e.projectId===h.projectId):t[0]);if(!r){d(h.projectId?{projectId:h.projectId}:{});return}let i=n?h:{sessionId:r.sessionId,projectId:r.projectId};return e.loadSession(i)}).then(e=>{!e||p.signal.aborted||(d(e.session),s($c(e.messages,e.planPresentations)),l(e.presentation),a(e.sessionReset?`Started a fresh Pi session`:void 0))}).catch(async e=>{if(p.signal.aborted)return;let t={setError:o,setStatus:f};if(await ol(e,r,t)||await sl(e,r,t)||p.signal.aborted)return;let n=e instanceof Error?e:Error(String(e));o(n),f(`error`),ds(n)}).finally(()=>{m=!0}),()=>{p.abort(),m||(n.current=!1)}},[e,t,n,r,i,a,o,s,c,l,u,d,f])}function ll({client:e,recoveryRef:t,presentationRef:n,sessionId:r,sessionMetadataRef:i,setActivityLabelSynced:a,setAdapterCapabilities:o,setMessagesSynced:s,setPresentationSynced:c,setQueueSynced:u,setSessionMetadataSynced:d,statusRef:f}){let p=(0,X.useRef)({active:!1,needsSnapshot:!1}),m=t??p;(0,X.useEffect)(()=>{if(!r||typeof window>`u`)return;!m.current.active&&m.current.sessionId!==r&&(m.current.sessionId=r,m.current.cursor=void 0,m.current.needsSnapshot=!1);let t=`pi:sse:last-event-id:${r}`,p={current:void 0},h,g=0,_=Er(t,`session`);if(_){if(_.startsWith(`{`))try{let e=JSON.parse(_);typeof e.generation==`string`&&e.generation.length>0&&(h=e.generation),typeof e.lastEventId==`number`&&Number.isInteger(e.lastEventId)&&e.lastEventId>0&&(g=e.lastEventId)}catch{g=0}else{let e=Number.parseInt(_,10);!Number.isNaN(e)&&e>0&&(g=e)}}!m.current.cursor&&h&&(m.current.cursor={generation:h,sequence:g});let v=(e,n=h)=>{g=e,h=n,n?Tr(t,JSON.stringify({generation:n,lastEventId:e}),`session`):Tr(t,String(e),`session`)},y=null,b=null,x=0,S=!1,C=0,w=!1,T,E=(t,l)=>{let _;try{_=JSON.parse(t.data)}catch{m.current.active&&(m.current.needsSnapshot=!0);return}if(typeof _==`object`&&_&&`type`in _&&_.type===`connected`){let e=_;p.current=e.adapterCapabilities,o(e.adapterCapabilities),typeof e.streamGeneration==`string`&&e.streamGeneration.length>0&&(m.current.active&&m.current.cursor&&m.current.cursor.generation!==e.streamGeneration?m.current.needsSnapshot=!0:(!m.current.cursor||m.current.cursor.generation!==e.streamGeneration)&&(m.current.cursor={generation:e.streamGeneration,sequence:e.cursorReset?0:g}),h=e.streamGeneration),e.cursorReset&&(C=0,m.current.active?m.current.needsSnapshot=!0:(v(0,h),h&&(m.current.cursor={generation:h,sequence:0}))),m.current.active&&!m.current.needsSnapshot&&a(void 0);return}let y=jr.safeParse(_);if(!y.success){let e=m.current;if(e.active&&e.sessionId===r&&!e.needsSnapshot&&typeof _==`object`&&_&&`type`in _&&(_.type===`reasoning`||_.type===`reasoning_text`)){let t=Ar.safeParse(`eventCursor`in _?_.eventCursor:null),n=e.cursor,r=t.success?t.data:void 0;if(r&&n?.generation===r.generation&&r.sequence===n.sequence+1)e.cursor=r,v(r.sequence,r.generation);else if(r&&n?.generation===r.generation&&r.sequence<=n.sequence)return;else e.needsSnapshot=!0}else e.active&&(e.needsSnapshot=!0);return}let b=y.data;if(m.current.active&&m.current.sessionId===r){let e=b.eventCursor;if(!e||!m.current.applyEvent||m.current.needsSnapshot){m.current.needsSnapshot=!0;return}let t=m.current.cursor;if(t&&t.generation!==e.generation){m.current.needsSnapshot=!0;return}if(t&&e.sequence<=t.sequence)return;if(t&&e.sequence!==t.sequence+1){m.current.needsSnapshot=!0;return}try{m.current.applyEvent?.(b),m.current.cursor=e,v(e.sequence,e.generation),S&&(S=!1,a(void 0))}catch{m.current.needsSnapshot=!0}return}b.type===`start`&&(T=b.id),b.type===`done`&&(T=void 0);let x=f.current;if(b.type===`presentation`){b.presentation.revision>(n.current?.revision??-1)&&c(b.presentation);return}if(b.type===`rlm`){if(!Number.isNaN(l)&&l>0){if(l<=C)return;C=l}let e=n.current,t=e.rlmChildren.find(e=>e.id===b.child.id);if(t&&t.timestamp>b.child.timestamp)return;c({...e,rlmChildren:[...e.rlmChildren.filter(e=>e.id!==b.child.id),b.child],...b.tree?{rlmTree:b.tree}:{}});return}if(b.type===`tool`&&b.part?.type===`tool-Question`){s(e=>{let t=b.part.toolCallId??``;if(!t)return e;let n=e=>e.parts.some(e=>e.type!==`text`&&e.type!==`error`&&`toolCallId`in e&&e.toolCallId===t),r=b.messageId?e.findIndex(e=>e.id===b.messageId&&e.role===`assistant`):-1;if(r<0&&T&&(r=e.findIndex(e=>e.id===T&&e.role===`assistant`)),r<0){let t=-1,i=-1;for(let r=e.length-1;r>=0;--r){let a=e[r];a.role===`assistant`&&(n(a)&&i<0?i=r:t<0&&(t=r))}r=b.part.state===`input-streaming`?t>=0?t:i:i>=0?i:t}let i={...b.part,type:`tool-Question`};return r<0?[...e,{id:b.messageId??crypto.randomUUID(),role:`assistant`,parts:[i],createdAt:new Date().toISOString()}]:e.flatMap((e,a)=>{if(a===r)return[{...e,parts:mc(e.parts,i)}];if(!n(e))return[e];let o=e.parts.filter(e=>!(e.type!==`text`&&e.type!==`error`&&`toolCallId`in e&&e.toolCallId===t));return o.length>0?[{...e,parts:o}]:[]})});return}if(f.current!==`streaming`&&f.current!==`submitted`){if(b.type===`reasoning_text`&&b.messageId){let e=b.messageId;s(t=>vc(t.some(t=>t.id===e)?t:[...t,lc(`assistant`,``,e)],e,b));return}if(b.type===`reasoning`){let e=b.messageId;if(!p.current?.features.includes(`reasoning-summary-v1`)||!e)return;s(t=>xc(t,e,b.presentation));return}if(b.type===`state`){if(a(b.state?.name===`agent_settled`||b.state?.message===`resync-required`?void 0:typeof b.state?.message==`string`?b.state.message:void 0),b.state?.name===`agent_settled`){if(x===`streaming`||x===`submitted`)return;let t=i.current.sessionId;e.loadSession({sessionId:r}).then(e=>{w||i.current.sessionId!==r||i.current.sessionId===t&&f.current!==`streaming`&&f.current!==`submitted`&&(s($c(e.messages,e.planPresentations)),c(e.presentation),d(e.session),u(Ic))}).catch(()=>void 0)}return}b.type===`queue`&&u({steering:b.steering,followUp:b.followUp})}},D=()=>{let e=new URLSearchParams({sessionId:r}),t=m.current.active?m.current.cursor:void 0,n=t?.generation??h,i=t?.sequence??g;n&&e.set(`streamGeneration`,n),i>0&&e.set(`lastEventId`,String(i)),y?.close();let o=new EventSource(l(`/api/chat/events?${e}`));y=o,o.onmessage=e=>{if(w||y!==o)return;let t=Number.parseInt(e.lastEventId??``,10);x>0&&(x=0,S&&(S=!1,f.current!==`streaming`&&f.current!==`submitted`&&a(void 0))),E(e,t),!m.current.active&&f.current!==`streaming`&&f.current!==`submitted`&&!Number.isNaN(t)&&t>0&&(v(t,h),h&&(m.current.cursor={generation:h,sequence:t}))},o.onerror=()=>{w||y!==o||(o.close(),x+=1,x>1&&f.current!==`streaming`&&f.current!==`submitted`&&(S=!0,a(x>2?`Reconnecting… (attempt ${x})`:`Reconnecting…`)),b&&clearTimeout(b),b=setTimeout(D,Math.min(2e3,250*2**Math.min(x,3))))}},O=()=>{w||(b&&clearTimeout(b),b=null,x=0,D())};return m.current.requestReconnect=O,D(),()=>{w=!0,m.current.requestReconnect===O&&(m.current.requestReconnect=void 0),y?.close(),b&&clearTimeout(b)}},[e,m,n,r,i,a,o,s,c,u,d,f])}function ul(){let e,t,n=!1,r=new Promise((n,r)=>{e=n,t=r});return r.catch(()=>void 0),{promise:r,resolve:()=>{n||(n=!0,e())},reject:e=>{n||(n=!0,t(e))}}}function dl(e){return e.aborted?Promise.resolve():new Promise(t=>{let n=()=>{clearTimeout(r),e.removeEventListener(`abort`,n),t()},r=setTimeout(n,2e3);e.addEventListener(`abort`,n,{once:!0})})}var fl=Promise.resolve();function pl({activityLabelRef:e,client:t,messagesRef:n,presentationRef:r,model:i,pendingSendControllerRef:a,projectId:o,planLabelRef:s,queueRef:c,recoverFromForbiddenSession:l,refreshSessions:u,sessionMetadataRef:d,streamControllersRef:f,setActivityLabelSynced:p,setError:m,setMessagesSynced:g,setPresentationSynced:_,setPlanLabelSynced:v,setQueueSynced:y,setSessionMetadataSynced:b,setStatus:x,status:S}){let C=(0,X.useRef)(null),w=(0,X.useRef)(new Set),T=(0,X.useRef)(fl),E=(0,X.useRef)(void 0),D=(0,X.useRef)(o),O=(0,X.useRef)(0),k=(0,X.useRef)(null),A=(0,X.useRef)({active:!1,needsSnapshot:!1}),j=(0,X.useCallback)(()=>{O.current+=1;let e=k.current;k.current=null,e?.abort(),A.current.active=!1,A.current.applyEvent=void 0},[]),M=(0,X.useCallback)(()=>{j(),A.current.cursor=void 0},[j]);(0,X.useEffect)(()=>()=>M(),[M]),(0,X.useEffect)(()=>{D.current=o},[o]);let N=(0,X.useCallback)(e=>{for(let t of w.current)if(t.sessionId===e)return t},[]),F=(0,X.useCallback)(e=>{for(let t of[...w.current])t.sessionId===e&&(w.current.delete(t),t.reject(Error(`Chat stream stopped before admission`)))},[]),I=(0,X.useCallback)(e=>{E.current=e},[]),L=(0,X.useCallback)(async e=>{let[n,r]=await Promise.all([t.loadSession({sessionId:e}),u()]);if(d.current.sessionId!==e)return!1;n.messages.length>0&&g($c(n.messages,n.planPresentations)),_(n.presentation),b(n.session),y({steering:[],followUp:[]}),v(void 0);let i=r.find(t=>t.sessionId===e)?.status===`running`;return i||p(n.sessionReset?`Started a fresh Pi session`:void 0),i},[t,u,d,p,g,v,_,y,b]),R=(0,X.useCallback)((t,i,a,o)=>{if(t.type===`error`)throw h(t);if(t.type===`done`&&t.sessionReset){a!==d.current.sessionId&&u();return}if(t.type===`start`){let e=N(a);e&&(w.current.delete(e),e.resolve())}if(a!==d.current.sessionId){t.type===`done`&&u();return}let l=Gc({assistantId:i.current,snapshot:{adapterCapabilities:E.current,activityLabel:e.current,messages:n.current,presentation:r.current,planLabel:s.current,queue:c.current,sessionMetadata:d.current}},t);i.current=l.assistantId,E.current=l.snapshot.adapterCapabilities,g(l.snapshot.messages),l.snapshot.presentation&&_(l.snapshot.presentation),b(l.snapshot.sessionMetadata),y(l.snapshot.queue),p(l.snapshot.activityLabel),v(l.snapshot.planLabel),t.type===`start`&&x(`streaming`),t.type===`done`&&(x(`ready`),u()),t.eventCursor&&(A.current.cursor=t.eventCursor)},[e,N,n,r,s,c,u,d,p,g,_,v,y,b,x]),z=(0,X.useCallback)(async(e,n,r)=>{j();let i=O.current,a=new AbortController,o=a.signal,s={current:null};k.current=a,A.current.sessionId=e,A.current.active=!0,A.current.needsSnapshot=A.current.cursor===void 0,A.current.applyEvent=t=>{A.current.sessionId===e&&(R(t,s,e,r),t.type===`done`&&(x(`streaming`),p(`Reconnecting…`)))},A.current.requestReconnect?.(),m(null);let c=0,l=()=>O.current===i&&k.current===a&&d.current.sessionId===e&&!o.aborted;try{for(;l();)try{let[r,i]=await Promise.all([t.loadSession({sessionId:e}),u()]);if(!l())return!1;c=0;let a=i.find(t=>t.sessionId===e)?.status;if(_(r.presentation),b(r.session),a===`running`)x(`streaming`),p(`Reconnecting…`);else if(a===`idle`)return r.messages.length>0&&g($c(r.messages,r.planPresentations)),y({steering:[],followUp:[]}),v(void 0),p(r.sessionReset?`Started a fresh Pi session`:void 0),m(null),x(`ready`),!0;else return r.messages.length>0&&g($c(r.messages,r.planPresentations)),p(void 0),m(n),x(`error`),!1;await dl(o)}catch{if(!l())return!1;if(c+=1,c>=3)break;p(`Refreshing conversation…`),await dl(o)}return l()?(p(void 0),m(n),x(`error`),!1):!1}finally{O.current===i&&j()}},[t,R,u,j,d,p,m,g,v,_,y,b,x]),B=(0,X.useCallback)(async e=>{if(e?.aborted)throw Error(`Session creation was aborted`);let n=d.current;if(n.sessionId)return n;let r=C.current;if(r)return r;let i=t.createSession(D.current,e).then(t=>{if(e?.aborted)throw Error(`Session creation was aborted`);return b(t.session),_(t.presentation),d.current=t.session,u(),t.session}).finally(()=>{C.current===i&&(C.current=null)});return C.current=i,i},[t,u,d,_,b]),ee=(0,X.useCallback)(async(e,n=`steer`,r)=>{let a=d.current.sessionId??(await B()).sessionId;if(!a)throw Error(`Unable to queue a message without a session`);let o=uc(e);g(e=>[...e,o]),m(null);let s=T.current,c=ul(),l=s.catch(()=>void 0).then(async()=>{try{await N(a)?.promise,await t.streamMessage({message:e,attachments:r?.attachments,openUI:r?.openUI,openUIArtifact:r?.openUIArtifact,model:i,planAction:r?.planAction,mode:r?.mode,sessionId:a,streamingBehavior:n},e=>{if(e.type===`start`&&e.requestKind===`session-command`&&c.resolve(),e.type===`done`&&e.requestKind===`session-command`){if(d.current.sessionId!==a)return;g(t=>fc(t.some(t=>t.id===e.message.id)?t:[...t,e.message],o.id));return}if(e.type===`queue`&&(c.resolve(),y({steering:e.steering,followUp:e.followUp}),p(n===`steer`?`Steered`:`Follow-up queued`)),e.type===`error`)throw h(e)}),c.resolve()}catch(e){throw c.reject(e),g(e=>dc(e,o.id)),e}try{await u()}catch{}});T.current=c.promise.catch(()=>void 0),await l},[t,B,N,i,u,d,p,m,g,y]);return{cancelStreamRecovery:M,enqueueDuringStream:ee,handleStreamEvent:R,resetStreamAdmission:F,sendMessage:(0,X.useCallback)(async({text:e,attachments:n,openUI:r,openUIArtifact:o,planAction:s,mode:c,altKey:h})=>{let _=e.trim();if(!_)return!1;if(S===`submitted`||S===`streaming`||N(d.current.sessionId)!==void 0)try{return await ee(_,h?`followUp`:`steer`,{attachments:n,mode:c,openUI:r,openUIArtifact:o,planAction:s}),!0}catch(e){let t=e instanceof Error?e:Error(String(e));return m(t),ds(t),!1}m(null),p(void 0),x(`submitted`);let v=uc(_);g(e=>[...e,v]);let y={current:null},b=ul();b.sessionId=d.current.sessionId,w.current.add(b);let C=new AbortController;a.current=C;let T,E=!1,D=!1;try{let e=await B(C.signal);if(C.signal.aborted)return!1;let a=e.sessionId;if(!a)throw Error(`Unable to start a session stream`);T=a,b.sessionId=a,f.current.set(a,C),await t.streamMessage({message:_,attachments:n,openUI:r,openUIArtifact:o,model:i,planAction:s,mode:c,sessionId:a,streamingBehavior:h?`followUp`:`steer`},e=>{e.type===`done`&&!e.sessionReset&&(E=!0),R(e,y,a,c),e.type===`done`&&e.requestKind===`session-command`&&d.current.sessionId===a&&g(e=>fc(e,v.id))},C.signal);let l=!1;try{l=await L(a)}catch{}return d.current.sessionId===a&&(E||!l)&&x(`ready`),!0}catch(e){if(w.current.delete(b)&&b.reject(e),e instanceof P?D=!0:g(e=>dc(e,v.id)),C.signal.aborted)return!1;if(T&&d.current.sessionId!==T)return u(),!1;if(e instanceof P&&T)return A.current.sessionId!==T&&(A.current.cursor=void 0),await z(T,e,c);let t={setError:m,setStatus:x};if(await ol(e,l,t)||await sl(e,l,t))return!1;let n=e instanceof Error?e:Error(String(e));return m(n),x(`error`),ds(n),!1}finally{w.current.delete(b)&&b.reject(Error(`Chat stream ended before admission`)),C.signal.aborted&&!D&&g(e=>dc(e,v.id)),a.current===C&&(a.current=null),T&&C&&f.current.get(T)===C&&f.current.delete(T)}},[t,B,ee,N,R,i,a,l,z,L,u,d,p,m,g,x,f,S]),setAdapterCapabilities:I,streamRecoveryRef:A}}function ml(e,t){let{client:n=j,initialSessionMetadata:r,persistSession:i,projectId:a}=t,[o,s]=(0,X.useState)([]),[c,l]=(0,X.useState)(`ready`),[u,d]=(0,X.useState)(null),[f,p]=(0,X.useState)(()=>r),[m,h]=(0,X.useState)([]),[g,_]=(0,X.useState)(),[v,y]=(0,X.useState)(),[b,x]=(0,X.useState)(Ic),[S,C]=(0,X.useState)(()=>Lc),w=(0,X.useRef)(r),T=(0,X.useRef)(a),E=(0,X.useRef)(o),D=(0,X.useRef)(f),O=(0,X.useRef)(g),k=(0,X.useRef)(v),A=(0,X.useRef)(b),M=(0,X.useRef)(0),N=(0,X.useRef)(null),P=(0,X.useRef)(S),F=(0,X.useRef)(null),I=(0,X.useRef)(new Map),L=(0,X.useRef)(null),R=(0,X.useRef)(0),z=(0,X.useRef)(c),B=(0,X.useRef)(!1),ee=(0,X.useRef)(()=>Promise.resolve(!1)),V=(0,X.useCallback)(e=>{let t=typeof e==`function`?e(E.current):e;E.current=t,s(t)},[]),te=(0,X.useCallback)(e=>{V(t=>[...t,{id:crypto.randomUUID(),role:`assistant`,source:`local`,createdAt:Date.now(),parts:[{type:`text`,text:e}]}])},[V]),H=(0,X.useCallback)(e=>{let t=D.current,n=Rc(e);(t.sessionId!==n.sessionId||t.projectId!==n.projectId)&&(M.current+=1,D.current=n,p(n),i(n))},[i]),U=(0,X.useCallback)(e=>{O.current=e,_(e)},[]),W=(0,X.useCallback)(e=>{k.current=e,y(e)},[]),G=(0,X.useCallback)(e=>{M.current+=1,A.current=e,x(e)},[]),ne=(0,X.useCallback)(()=>{M.current+=1},[]),K=(0,X.useCallback)(e=>{P.current=e,C(e)},[]),q=(0,X.useCallback)(async e=>{let t=D.current.sessionId;if(!t)return;let r=await n.upsertOpenUIArtifact({sessionId:t,...e});return D.current.sessionId===t&&K(r.presentation),r.artifact.id},[n,K]);(0,X.useEffect)(()=>{T.current=a},[a]);let re=(0,X.useCallback)(async()=>{let e=L.current;if(e)return e;let t=n.listSessions().then(e=>(h(e),e));L.current=t;try{return await t}finally{L.current===t&&(L.current=null)}},[n]),J=(0,X.useCallback)(e=>il({client:n,projectId:e??T.current,refreshSessions:re,setActivityLabelSynced:U,setError:d,setMessagesSynced:V,setPlanLabelSynced:W,setPresentationSynced:K,setQueueSynced:G,setSessionMetadataSynced:H,setStatus:l}),[n,re,U,V,W,K,G,H]),ie=(0,X.useCallback)(async({toolCallId:e,answer:t})=>{if(Xc(e)){let r=nl(E.current,e,t);V(r);let i=el(r,e);i&&D.current.sessionId&&await n.upsertPlanPresentation({sessionId:D.current.sessionId,presentation:i}).catch(()=>void 0);let a=t.selectedIds?.[0];if(a===`execute`){await ee.current({text:`Execute the approved plan.`,mode:`agent`,planAction:`execute`,openUI:!0});let t=el(E.current,e);t&&D.current.sessionId&&await n.upsertPlanPresentation({sessionId:D.current.sessionId,presentation:{...t,state:{...t.state,executing:!1}}}).catch(()=>void 0),t&&V(t=>t.map(t=>t.role===`assistant`?{...t,parts:t.parts.map(t=>{if(t.type!==`tool-PlanWrite`||t.toolCallId!==e||!t.input||typeof t.input!=`object`)return t;let n=t.input,r=n.presentation;return!r||typeof r!=`object`?t:{...t,input:{...n,executing:!1,presentation:{...r,executing:!1}}}})}:t))}else(a===`refine`||t.text?.trim())&&await ee.current({text:t.text?.trim()||`Refine the plan.`,mode:`plan`,planAction:`refine`,openUI:!0});return{ok:!0}}let r=await n.answerQuestion({sessionId:D.current.sessionId,toolCallId:e,answer:t});return r.message&&await ee.current({text:r.message,planAction:r.planAction}),r},[n,V]),ae=(0,X.useCallback)(e=>rl(e,ie),[ie]);(0,X.useEffect)(()=>{D.current=f},[f]),(0,X.useEffect)(()=>{z.current=c},[c]),(0,X.useEffect)(()=>{w.current=r},[r]),(0,X.useEffect)(()=>{let e=I.current;return()=>{F.current?.abort(),F.current=null;for(let t of e.values())t.abort();e.clear()}},[]),cl({client:n,initialSessionMetadataRef:w,initializedRef:B,recoverFromForbiddenSession:J,refreshSessions:re,setActivityLabelSynced:U,setError:d,setMessagesSynced:V,setPlanLabelSynced:W,setPresentationSynced:K,setQueueSynced:G,setSessionMetadataSynced:H,setStatus:l});let{cancelStreamRecovery:oe,resetStreamAdmission:se,sendMessage:ce,setAdapterCapabilities:le,streamRecoveryRef:ue}=pl({activityLabelRef:O,client:n,messagesRef:E,presentationRef:P,model:e,pendingSendControllerRef:F,projectId:a,planLabelRef:k,queueRef:A,recoverFromForbiddenSession:J,refreshSessions:re,sessionMetadataRef:D,setActivityLabelSynced:U,setError:d,setMessagesSynced:V,setPresentationSynced:K,setPlanLabelSynced:W,setQueueSynced:G,setSessionMetadataSynced:H,setStatus:l,streamControllersRef:I,status:c}),Y=(0,X.useCallback)(()=>{oe();let e=D.current;se(e.sessionId),F.current?.abort(),F.current=null,e.sessionId&&n.abortSession(e).catch(()=>void 0),e.sessionId&&(I.current.get(e.sessionId)?.abort(),I.current.delete(e.sessionId)),ne(),l(`ready`),G(Ic),U(void 0)},[oe,n,ne,se,U,G]),de=(0,X.useCallback)((e,t,r,i,a)=>{let o=D.current.sessionId,s=M.current,c=(e===`steering`?A.current.steering:A.current.followUp).filter(e=>e===r).length,l=(N.current??Promise.resolve()).catch(()=>void 0).then(async()=>{if(!o||D.current.sessionId!==o)return!1;let l=e=>(!e&&a?.staleMessage&&ds(Error(a.staleMessage)),!1),u=A.current,d=e===`steering`?u.steering:u.followUp,f;if(M.current===s)f=d[t]===r?t:void 0;else{if(c!==1)return l(!0);let e=d.reduce((e,t,n)=>(t===r&&e.push(n),e),[]);f=e.length===1?e[0]:void 0}if(f===void 0)return l(M.current!==s);let p=i.type===`delete`?{...u,[e]:d.filter((e,t)=>t!==f)}:{...u,[e]:d.map((e,t)=>t===f?i.text:e)};G(p);let m=M.current;try{let t=await n.mutateQueuedMessage({sessionId:o,lane:e,index:f,expectedText:r,mutation:i});return D.current.sessionId!==o||M.current!==m||G(t.queue),t.status===`applied`}catch(e){throw D.current.sessionId===o&&M.current===m&&A.current===p&&G(u),e}});return N.current=l.then(()=>void 0,()=>void 0),l},[n,G]),fe=(0,X.useCallback)((e,t,n)=>de(e,t,n,{type:`delete`},{staleMessage:`The queued message changed before it could be deleted.`}),[de]),pe=(0,X.useCallback)((e,t,n,r)=>de(e,t,n,{type:`replace`,text:r,lane:e},{staleMessage:`The queued message changed before it could be updated.`}),[de]),me=(0,X.useCallback)(async e=>{oe();let t=R.current+1;R.current=t;let r=()=>R.current===t;e?.preserveRunning===!1?Y():(ne(),l(`ready`));let i=await n.createSession(e?.projectId??T.current??a);r()&&(H(i.session),V([]),K(i.presentation),G(Ic),U(void 0),W(void 0),fi.success(`New session started`),await re())},[n,re,U,V,K,W,G,H,ne,oe,Y,a]),he=(0,X.useCallback)(async(e,t)=>{oe();let r=R.current+1;R.current=r;let i=()=>R.current===r;ne();try{t?.preserveRunning===!1&&Y();let r=await n.resumeSession(e);return!(!i()||(H(r.session),V($c(r.messages,r.planPresentations)),K(r.presentation),G(Ic),U(r.sessionReset?`Started a fresh Pi session`:void 0),W(void 0),l(I.current.has(r.session.sessionId??``)?`streaming`:`ready`),await re(),!i()))}catch(t){if(!i())return!1;let n={setError:d,setStatus:l},r=()=>J(e.projectId),a=await ol(t,r,n)||await sl(t,r,n);if(!i()||a)return!1;let o=t instanceof Error?t:Error(String(t));return d(o),l(`error`),ds(o),!1}},[n,J,re,U,V,K,W,G,H,ne,oe,Y]),ge=(0,X.useCallback)(async(e,t)=>t?he({sessionId:t,projectId:e},{preserveRunning:!0}):(oe(),ne(),H({projectId:e}),V([]),K(Lc),G(Ic),U(void 0),W(void 0),l(`ready`),!0),[oe,he,U,V,W,K,G,H,ne]);(0,X.useEffect)(()=>{ee.current=ce},[ce]),ll({client:n,presentationRef:P,recoveryRef:ue,sessionId:f.sessionId,sessionMetadataRef:D,setActivityLabelSynced:U,setAdapterCapabilities:le,setMessagesSynced:V,setPresentationSynced:K,setQueueSynced:G,setSessionMetadataSynced:H,statusRef:z});let _e=(0,X.useMemo)(()=>ae(o),[o,ae]),ve=(0,X.useCallback)(async(e,t)=>{try{return await n.renameSession(e,t),await re(),!0}catch(e){return ds(e),!1}},[n,re]),ye=(0,X.useCallback)(async e=>{D.current.sessionId===e&&Y();try{await n.deleteSession(e)}catch(e){return ds(e),!1}return D.current.sessionId===e&&(H({}),V([]),K(Lc)),await re(),!0},[n,re,V,K,H,Y]),be=(0,X.useCallback)(()=>D.current,[]);return{activityLabel:g,answerQuestion:ie,appendLocalMessage:te,deleteQueuedMessage:fe,editQueuedMessage:pe,deleteSession:ye,error:u,getMessages:(0,X.useCallback)(()=>E.current,[]),getSessionMetadata:be,messages:_e,planLabel:v,presentation:S,persistOpenUIArtifact:q,queue:b,renameSession:ve,refreshSessions:re,resumeSession:he,sendMessage:ce,sessionMetadata:f,sessions:m,setError:d,startNewSession:me,status:c,stop:Y,switchProject:ge}}function hl(e){let t=window.matchMedia(Mn);return t.addEventListener(`change`,e),()=>t.removeEventListener(`change`,e)}function gl(){return window.matchMedia(Mn).matches}function _l(){return!1}function vl(){return(0,X.useSyncExternalStore)(hl,gl,_l)}var yl=`b`,bl={duration:.36,ease:H},xl={type:`spring`,stiffness:380,damping:35,mass:.75},Sl={duration:.16,ease:V},Cl=[`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex='-1'])`].join(`,`),wl=(0,X.createContext)(null),Tl=(0,X.createContext)(null);function El(){let e=(0,X.useContext)(wl);if(!e)throw Error(`useAnimatedSidebar must be used inside AnimatedSidebarProvider.`);return e}function Dl(){let e=(0,X.useContext)(Tl);if(!e)throw Error(`Animated Sidebar parts must be used inside AnimatedSidebar.`);return e}function Ol({children:e,open:t,defaultOpen:n=!0,onOpenChange:r,openMobile:i,defaultOpenMobile:a=!1,onOpenMobileChange:o,className:s,style:c,...l}){let[u,d]=(0,X.useState)(n),[f,p]=(0,X.useState)(a),m=vl(),h=G()??!1,g=(0,X.useId)(),_=(0,X.useRef)(null),v=t??u,y=i??f,b=(0,X.useCallback)(e=>{t===void 0&&d(e),r?.(e)},[r,t]),x=(0,X.useCallback)(e=>{i===void 0&&p(e),o?.(e)},[o,i]),S=(0,X.useCallback)(()=>{m?x(!y):b(!v)},[v,m,y,b,x]),C=(0,X.useMemo)(()=>({isMobile:m,layoutId:`${g}-active`,open:v,openMobile:y,reduce:h,setOpen:b,setOpenMobile:x,state:v?`expanded`:`collapsed`,toggleSidebar:S,triggerRef:_}),[v,g,m,y,h,b,x,S]);return(0,X.useEffect)(()=>{let e=e=>{e.key.toLowerCase()===yl&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),S())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[S]),(0,Z.jsx)(wl.Provider,{value:C,children:(0,Z.jsx)(`div`,{...l,"data-slot":`sidebar-wrapper`,"data-state":v?`expanded`:`collapsed`,style:{"--sidebar-width":`16rem`,"--sidebar-width-icon":`4.25rem`,"--sidebar-width-mobile":`18rem`,...c},className:F(`group/sidebar-wrapper flex min-h-svh w-full min-w-0`,s),children:e})})}function kl({children:e,className:t,sidebarWidth:n=Tn,style:r,...i}){return(0,Z.jsx)(Ol,{...i,style:{...r,"--sidebar-width":n},className:F(`min-h-0 w-full overflow-hidden rounded-2xl border border-border bg-background`,t),children:e})}function Al({ariaLabel:e,children:t,className:n,side:r}){let i=El(),a=(0,X.useRef)(null),[o,s]=(0,X.useState)(!1),c=(0,X.useMemo)(()=>({collapsed:!1,collapsible:`none`,side:r}),[r]);return(0,X.useEffect)(()=>s(!0),[]),(0,X.useEffect)(()=>{if(!i.openMobile)return;let e=a.current;if(!e)return;let t=i.triggerRef.current,n=document.body,r=window.scrollY,o={left:n.style.left,overflow:n.style.overflow,position:n.style.position,right:n.style.right,top:n.style.top};n.style.position=`fixed`,n.style.top=`-${r}px`,n.style.left=`0`,n.style.right=`0`,n.style.overflow=`hidden`;let s=requestAnimationFrame(()=>{(e.querySelector(Cl)??e).focus({preventScroll:!0})});return()=>{cancelAnimationFrame(s),n.style.position=o.position,n.style.top=o.top,n.style.left=o.left,n.style.right=o.right,n.style.overflow=o.overflow,window.scrollTo(0,r),t?.focus({preventScroll:!0})}},[i.openMobile,i.triggerRef,o]),o?(0,Wi.createPortal)((0,Z.jsxs)(`div`,{className:F(`pointer-events-none fixed inset-0 z-50 md:hidden`,i.openMobile?`visible`:`invisible`),children:[(0,Z.jsx)(U.button,{type:`button`,"aria-label":`Close sidebar`,tabIndex:i.openMobile?0:-1,initial:!1,animate:{opacity:+!!i.openMobile},transition:i.reduce?Sl:bl,onClick:()=>i.setOpenMobile(!1),className:F(`absolute inset-0 bg-black/40`,i.openMobile?`pointer-events-auto`:`pointer-events-none`)}),(0,Z.jsx)(U.div,{ref:a,role:`dialog`,"aria-modal":`true`,"aria-label":e,"aria-hidden":!i.openMobile,inert:!i.openMobile,tabIndex:-1,"data-mobile":`true`,"data-state":i.openMobile?`expanded`:`collapsed`,"data-side":r,initial:!1,animate:{opacity:i.reduce?+!!i.openMobile:1,x:i.reduce?0:i.openMobile?`0%`:r===`left`?`-100%`:`100%`},transition:i.reduce?Sl:bl,onKeyDown:e=>{if(e.key===`Escape`){e.preventDefault(),i.setOpenMobile(!1);return}if(e.key!==`Tab`)return;let t=a.current?Array.from(a.current.querySelectorAll(Cl)):[];if(t.length===0){e.preventDefault(),a.current?.focus();return}let n=t[0],r=t[t.length-1];e.shiftKey&&document.activeElement===n?(e.preventDefault(),r.focus()):!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n.focus())},className:F(`pointer-events-auto absolute inset-y-0 flex h-dvh w-(--sidebar-width-mobile) max-w-[88vw] flex-col overflow-hidden`,`border-border bg-background shadow-2xl will-change-transform`,r===`left`?`left-0 border-r`:`right-0 border-l`,!i.openMobile&&`pointer-events-none`,n),children:(0,Z.jsx)(Tl.Provider,{value:c,children:t})})]}),document.body):null}var jl=(0,X.forwardRef)(function({side:e=`left`,variant:t=`sidebar`,collapsible:n=`icon`,ariaLabel:r=`Sidebar`,children:i,className:a,panelClassName:o,style:s,...c},l){let u=El(),d=n!==`none`&&!u.open,f=d&&n===`offcanvas`,p=t===`floating`||t===`inset`,m=f?`0px`:d?p?`calc(var(--sidebar-width-icon) + 1rem)`:`var(--sidebar-width-icon)`:p?`calc(var(--sidebar-width) + 1rem)`:`var(--sidebar-width)`,h=(0,X.useMemo)(()=>({collapsed:d,collapsible:n,side:e}),[d,n,e]);return u.isMobile?(0,Z.jsx)(Al,{ariaLabel:r,className:a,side:e,children:i}):(0,Z.jsx)(U.aside,{...c,ref:l,initial:!1,"aria-label":r,"data-slot":`sidebar`,"data-state":d?`collapsed`:`expanded`,"data-collapsible":n,"data-variant":t,"data-side":e,transition:u.reduce?{duration:0}:xl,layout:`size`,style:{...s,width:m},className:F(`group/sidebar relative hidden h-auto shrink-0 md:block will-change-transform`,`peer`,e===`right`&&`order-last`,a),children:(0,Z.jsx)(U.div,{initial:!1,animate:{opacity:+!f,x:f?e===`left`?`-120%`:`120%`:`0%`},transition:u.reduce?Sl:bl,className:F(`sticky top-0 flex h-svh w-full flex-col overflow-hidden`,p&&(d?`w-[var(--sidebar-width-icon)]`:`w-[var(--sidebar-width)]`),n===`offcanvas`&&`w-[var(--sidebar-width)]`,t===`sidebar`&&(e===`left`?`border-border border-r bg-background`:`border-border border-l bg-background`),t===`floating`&&`m-2 h-[calc(100svh-1rem)] rounded-2xl bg-sidebar shadow-surface-3`,t===`inset`&&`m-2 h-[calc(100svh-1rem)] rounded-2xl bg-background`,o),children:(0,Z.jsx)(Tl.Provider,{value:h,children:i})})})}),Ml=(0,X.forwardRef)(function({className:e,onClick:t,type:n=`button`,...r},i){let a=El(),o=a.isMobile?a.openMobile:a.open;return(0,Z.jsx)(Sr,{...r,ref:e=>{a.triggerRef.current=e,typeof i==`function`?i(e):i&&(i.current=e)},type:n,variant:`ghost`,size:`icon`,"aria-label":r[`aria-label`]??`Toggle sidebar`,"aria-expanded":o,"data-slot":`sidebar-trigger`,"data-state":o?`expanded`:`collapsed`,onClick:e=>{t?.(e),e.defaultPrevented||a.toggleSidebar()},className:F(`focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background`,e)})}),Nl=(0,X.forwardRef)(function({className:e,onClick:t,type:n=`button`,...r},i){let a=El(),o=Dl();return(0,Z.jsx)(`button`,{...r,ref:i,type:n,"data-side":o.side,"aria-label":r[`aria-label`]??`Toggle sidebar`,title:`Toggle sidebar`,tabIndex:-1,onClick:e=>{t?.(e),e.defaultPrevented||a.toggleSidebar()},className:F(`absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 outline-none md:block`,`after:absolute after:inset-y-0 after:left-1/2 after:w-px after:bg-transparent after:transition-colors hover:after:bg-border`,`data-[side=right]:right-0 data-[side=right]:translate-x-1/2 data-[side=left]:left-full`,e)})}),Pl=(0,X.forwardRef)(function({className:e,...t},n){return(0,Z.jsx)(U.main,{...t,ref:n,"data-slot":`sidebar-inset`,className:F(`relative flex min-h-svh min-w-0 flex-1 flex-col bg-background`,`md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-2xl md:peer-data-[variant=inset]:shadow-sm`,e)})}),Fl=(0,X.forwardRef)(function({className:e,...t},n){return(0,Z.jsx)(`div`,{...t,ref:n,"data-slot":`sidebar-header`,className:F(`flex shrink-0 flex-col gap-2 p-3`,e)})}),Il=(0,X.forwardRef)(function({className:e,...t},n){return(0,Z.jsx)(`div`,{...t,ref:n,"data-slot":`sidebar-content`,className:F(`flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto overflow-x-hidden overscroll-contain px-2 py-2`,e)})}),Ll=(0,X.forwardRef)(function({className:e,...t},n){return(0,Z.jsx)(`div`,{...t,ref:n,"data-slot":`sidebar-footer`,className:F(`flex shrink-0 flex-col gap-2 border-border border-t p-3 pb-[max(0.75rem,env(safe-area-inset-bottom))]`,e)})}),Rl=(0,X.forwardRef)(function({className:e,...t},n){return(0,Z.jsx)(`div`,{...t,ref:n,"data-slot":`sidebar-group`,className:F(`flex w-full min-w-0 flex-col px-1 py-1.5`,e)})}),zl=(0,X.forwardRef)(function({children:e,className:t,...n},r){let{collapsed:i}=Dl();return(0,Z.jsx)(`div`,{...n,ref:r,"aria-hidden":i,"data-slot":`sidebar-group-label`,className:F(`mb-1 h-7 overflow-hidden px-2 text-micro font-medium uppercase tracking-[0.14em] text-muted-foreground transition-opacity`,i?`opacity-0`:`opacity-100`,t),children:e})}),Bl=(0,X.forwardRef)(function({className:e,...t},n){return(0,Z.jsx)(`div`,{...t,ref:n,"data-slot":`sidebar-group-content`,className:F(`w-full min-w-0`,e)})});function Vl({active:e=!1,ariaLabel:t,className:n,title:r,...i}){return(0,Z.jsx)(Sr,{...i,type:`button`,variant:`ghost`,size:`compact`,className:F(Xr,e?$r:qr,n),"aria-label":t,title:r??t})}var Hl=X.createContext(void 0);function Ul(){let e=X.useContext(Hl);if(e===void 0)throw Error(le(64));return e}var Wl=`data-activation-direction`,Gl={tabActivationDirection:e=>({[Wl]:e})},Kl=X.forwardRef(function(e,t){let{className:n,defaultValue:r=0,onValueChange:i,orientation:a=`horizontal`,render:o,value:s,style:c,...l}=e,u=e.defaultValue!==void 0,d=X.useRef([]),[f,p]=X.useState(()=>new Map),[m,h]=Gr({controlled:s,default:r,name:`Tabs`,state:`value`}),g=s!==void 0,[_,v]=X.useState(()=>new Map),y=X.useRef(void 0),b=X.useCallback(e=>ql(_,e),[_]),[x,S]=X.useState(()=>({previousValue:m,tabActivationDirection:`none`})),{previousValue:C,tabActivationDirection:w}=x,T=w,E=!1;C!==m&&(T=Jl(C,m,a,_),E=C!=null&&m!=null&&b(m)==null);let D=E?C:m,O=C!==D||w!==T;q(()=>{O&&S({previousValue:D,tabActivationDirection:T})},[D,O,T]);let k=J((e,t)=>{t.activationDirection=Jl(m,e,a,_),i?.(e,t),!t.isCanceled&&h(e)}),A=J((e,t)=>{i?.(e,xe(t,void 0,void 0,{activationDirection:`none`}))}),j=J((e,t)=>(p(n=>{let r=new Map(n);return r.set(e,t),r}),()=>{p(n=>{if(n.get(e)!==t)return n;let r=new Map(n);return r.delete(e),r})})),M=X.useCallback(e=>f.get(e),[f]),N=X.useCallback(e=>{for(let t of _.values())if(e===t.value)return t.id},[_]),P=X.useMemo(()=>({getTabElementBySelectedValue:b,getTabIdByPanelValue:N,getTabPanelIdByValue:M,onValueChange:k,orientation:a,registerMountedTabPanel:j,setTabMap:v,tabActivationDirection:T,value:m}),[b,N,M,k,a,j,v,T,m]),F=X.useMemo(()=>{for(let e of _.values())if(e.value===m)return e},[_,m]),I=X.useMemo(()=>{for(let e of _.values())if(!e.disabled)return e.value},[_]),L=X.useRef(!u),R=X.useRef(r),z=X.useRef(u),B=X.useRef(!1);q(()=>{if(g)return;function e(e,t){h(e),S({previousValue:e,tabActivationDirection:`none`}),A(e,t),L.current=!1}if(_.size===0){B.current&&m!==null&&!y.current?.isConnected&&e(null,he);return}B.current=!0,y.current=_.keys().next().value;let t=F?.disabled,n=F==null&&m!==null;if(!t&&m===R.current&&(z.current=!1),z.current&&t&&m===R.current)return;let r=L.current;if(t||n){let n=I??null;if(m===n){L.current=!1;return}let i=he;r?i=me:t&&(i=_e),e(n,i);return}r&&F!=null&&(A(m,me),L.current=!1)},[I,g,A,F,h,_,m]);let ee=ae(`div`,e,{state:{orientation:a,tabActivationDirection:T},ref:t,props:l,stateAttributesMapping:Gl});return(0,Z.jsx)(Hl.Provider,{value:P,children:(0,Z.jsx)(Lt,{elementsRef:d,children:ee})})});function ql(e,t){for(let[n,r]of e.entries())if(t===r.value)return n;return null}function Jl(e,t,n,r){if(e==null||t==null)return`none`;let[i,a,o]=n===`horizontal`?[`left`,`left`,`right`]:[`top`,`up`,`down`],s=ql(r,e),c=ql(r,t);if(s==null||c==null)return s!==c&&(typeof e==`number`||typeof e==`string`)&&typeof e==typeof t?t>e?o:a:`none`;let l=s.getBoundingClientRect()[i],u=c.getBoundingClientRect()[i];return u<l?a:u>l?o:`none`}var Yl=`data-composite-item-active`;function Xl(e={}){let{highlightItemOnHover:t,highlightedIndex:n,onHighlightedIndexChange:r}=ce(),{ref:i,index:a}=Pt(e),o=n===a,s=X.useRef(null),c=se(i,s);return{compositeProps:{tabIndex:o?0:-1,onFocus(){r(a)},onMouseMove(){let e=s.current;if(!t||!e)return;let n=e.hasAttribute(`disabled`)||e.ariaDisabled===`true`;!o&&!n&&e.focus()}},compositeRef:c,index:a}}var Zl=X.createContext(void 0);function Ql(){let e=X.useContext(Zl);if(e===void 0)throw Error(le(65));return e}var $l=X.forwardRef(function(e,t){let{className:n,disabled:r=!1,render:i,value:a,id:o,nativeButton:s=!0,style:c,...l}=e,{value:u,getTabPanelIdByValue:d,onValueChange:f,orientation:p,tabActivationDirection:m}=Ul(),{activateOnFocus:h,registerTabResizeObserverElement:g,tabsListElement:_}=Ql(),{highlightedIndex:v,onHighlightedIndexChange:y}=ce(),b=Ht(o),{compositeProps:x,compositeRef:S,index:C}=Xl({metadata:X.useMemo(()=>({disabled:r,id:b,value:a}),[r,b,a])}),w=a===u,T=X.useRef(!1),E=X.useRef(null),D=J(e=>{E.current?.(),E.current=e?g(e):null});q(()=>{if(T.current){T.current=!1;return}if(!(w&&C>-1&&v!==C))return;let e=_;if(e!=null){let t=Ne(we(e));if(t&&De(e,t))return}r||y(C)},[w,C,v,y,r,_]);let{getButtonProps:O,buttonRef:k}=Y({disabled:r,native:s,focusableWhenDisabled:!0}),A=d(a),j=X.useRef(!1),M=X.useRef(!1);function N(e){f(a,xe(ge,e.nativeEvent,void 0,{activationDirection:`none`}))}function P(e){w||r||N(e)}function F(e){w||r||h&&(!j.current||M.current)&&N(e)}function I(e){if(w||r)return;j.current=!0,M.current=e.button===0;let t=we(e.currentTarget);function n(){j.current=!1,M.current=!1,t.removeEventListener(`pointerup`,n),t.removeEventListener(`pointercancel`,n)}t.addEventListener(`pointerup`,n),t.addEventListener(`pointercancel`,n)}return ae(`button`,e,{state:{disabled:r,active:w,orientation:p,tabActivationDirection:m},ref:[t,k,S,D],props:[x,{role:`tab`,"aria-controls":A,"aria-selected":w,id:b,onClick:P,onFocus:F,onPointerDown:I,[Yl]:w?``:void 0,onKeyDownCapture(){T.current=!0}},l,O],stateAttributesMapping:Gl})});function eu(e){let{loopFocus:t=!0,orientation:n=`both`,grid:r,onLoop:i,direction:a,highlightedIndex:o,onHighlightedIndexChange:s,rootRef:c,enableHomeAndEndKeys:l=!1,stopEventPropagation:u,disabledIndices:d,modifierKeys:f=ie}=e,[p,m]=X.useState(0),h=r!=null,g=X.useRef(null),_=se(g,c),v=X.useRef([]),y=X.useRef(!1),b=X.useRef(null),x=o??p,S=J((e,t=!1)=>{if(b.current=v.current[e]??null,(s??m)(e),t){let t=v.current[e];ut(g.current,t,a,n)}}),C=J(e=>{if(e.size===0)return;if(y.current){let e=v.current,t=e.indexOf(b.current);if(t===-1){let t=e[x];!t||Ae(e,x,d)?S(tu(e,d)):b.current=t}else t!==x&&S(t);return}y.current=!0;let t=Array.from(e.keys()),r=t.find(e=>e?.hasAttribute(`data-composite-item-active`))??null,i=r?e.get(r)?.index??-1:-1;if(i!==-1)S(i);else if(Ae(t,x,d)){let e=Te(t,{disabledIndices:d});Ee(t,e)||S(e)}ut(g.current,r,a,n)});q(()=>{if(d==null||o!=null||!y.current)return;let e=v.current;if(Ae(e,x,d)){let t=Te(e,{disabledIndices:d});Ee(e,t)||S(t)}},[d,o,x,v,S]);let w=J((e,t,n)=>i?i(e,t,n,v):n),T=J(e=>{let o=e.key===`Home`||e.key===`End`;if(!Ct.has(e.key)||!l&&o||nu(e,f)||!g.current)return;let s=a===`rtl`,c=s?mt:ct,p=s?ct:mt,m=n===`vertical`?St:c,_=n===`vertical`?bt:p,y=Oe(e.nativeEvent);if(y!=null&&wt(y)&&!Mt(y)){let t=y.selectionStart,n=y.selectionEnd,r=y.value;if(t==null||e.shiftKey||t!==n||e.key!==_&&t<r.length||e.key!==m&&t>0)return}let b=x,C=Me(v,d),T=Je(v,d);r!=null&&(b=r({disabledIndices:d,elementsRef:v,event:e,highlightedIndex:x,loopFocus:t,maxIndex:T,minIndex:C,onLoop:w,orientation:n,rtl:s}));let E=n!==`vertical`&&e.key===c||n!==`horizontal`&&e.key===`ArrowDown`,D=n!==`vertical`&&e.key===p||n!==`horizontal`&&e.key===`ArrowUp`;l&&(e.key===`Home`?b=C:e.key===`End`&&(b=T)),b===x&&(E||D)&&(t&&b===T&&E?(b=C,i&&(b=i(e,x,b,v))):t&&b===C&&D?(b=T,i&&(b=i(e,x,b,v))):b=Te(v.current,{startingIndex:b,decrement:D,disabledIndices:d})),b!==x&&!Ee(v.current,b)&&(u&&e.stopPropagation(),(h||o||E||D)&&e.preventDefault(),S(b,!0),queueMicrotask(()=>{v.current[b]?.focus()}))});return{props:{ref:_,onFocus(e){let t=g.current,n=Oe(e.nativeEvent);!t||n==null||!wt(n)||n.setSelectionRange(0,n.value.length)},onKeyDown:T},highlightedIndex:x,onHighlightedIndexChange:S,elementsRef:v,onMapChange:C,relayKeyboardEvent:T}}function tu(e,t){let n=-1;for(let r=0;r<e.length;r+=1){let i=e[r];if(!(!i||Ae(e,r,t))){if(i.hasAttribute(`data-composite-item-active`))return r;n===-1&&(n=r)}}return Math.max(n,0)}function nu(e,t){for(let n of _t)if(!t.includes(n)&&e.getModifierState(n))return!0;return!1}function ru(e){let{render:t,className:n,style:r,refs:i=ie,props:a=ie,state:o=ne,stateAttributesMapping:s,highlightedIndex:c,onHighlightedIndexChange:l,orientation:u,grid:d,loopFocus:f,onLoop:p,enableHomeAndEndKeys:m,onMapChange:h,stopEventPropagation:g=!0,rootRef:_,disabledIndices:v,modifierKeys:y,highlightItemOnHover:b=!1,tag:x=`div`,...S}=e,{props:C,highlightedIndex:w,onHighlightedIndexChange:T,elementsRef:E,onMapChange:D,relayKeyboardEvent:O}=eu({grid:d,loopFocus:f,onLoop:p,orientation:u,highlightedIndex:c,onHighlightedIndexChange:l,rootRef:_,stopEventPropagation:g,enableHomeAndEndKeys:m,direction:Nt(),disabledIndices:v,modifierKeys:y}),k=ae(x,e,{state:o,ref:i,props:[C,...a,S],stateAttributesMapping:s}),A=X.useMemo(()=>({highlightedIndex:w,onHighlightedIndexChange:T,highlightItemOnHover:b,relayKeyboardEvent:O}),[w,T,b,O]);return(0,Z.jsx)(ue.Provider,{value:A,children:(0,Z.jsx)(Lt,{elementsRef:E,onMapChange:e=>{h?.(e),D(e)},children:k})})}var iu=X.forwardRef(function(e,t){let{activateOnFocus:n=!1,className:r,loopFocus:i=!0,render:a,style:o,...s}=e,{orientation:c,setTabMap:l,tabActivationDirection:u}=Ul(),[d,f]=X.useState(0),[p,m]=X.useState(null),h=X.useRef(new Set),g=X.useRef(new Set),_=X.useRef(null);q(()=>{if(typeof ResizeObserver>`u`)return;let e=new ResizeObserver(()=>{h.current.forEach(e=>{e()})});return _.current=e,p&&e.observe(p),g.current.forEach(t=>{e.observe(t)}),()=>{e.disconnect(),_.current=null}},[p]);let v=J(e=>(h.current.add(e),()=>{h.current.delete(e)})),y=J(e=>(g.current.add(e),_.current?.observe(e),()=>{g.current.delete(e),_.current?.unobserve(e)})),b={orientation:c,tabActivationDirection:u},x={"aria-orientation":c===`vertical`?`vertical`:void 0,role:`tablist`},S=X.useMemo(()=>({activateOnFocus:n,registerIndicatorUpdateListener:v,registerTabResizeObserverElement:y,tabsListElement:p}),[n,v,y,p]);return(0,Z.jsx)(Zl.Provider,{value:S,children:(0,Z.jsx)(ru,{render:a,className:r,style:o,state:b,refs:[t,m],props:[x,s],stateAttributesMapping:Gl,highlightedIndex:d,enableHomeAndEndKeys:!0,loopFocus:i,orientation:c,onHighlightedIndexChange:f,onMapChange:l,disabledIndices:ie})})});function au({className:e,orientation:t=`horizontal`,...n}){return(0,Z.jsx)(Kl,{"data-slot":`tabs`,"data-orientation":t,className:F(`group/tabs flex gap-2 data-horizontal:flex-col`,e),...n})}var ou=Cr(`group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none`,{variants:{variant:{default:`bg-muted`,line:`gap-1 bg-transparent`}},defaultVariants:{variant:`default`}});function su({className:e,variant:t=`default`,...n}){return(0,Z.jsx)(iu,{"data-slot":`tabs-list`,"data-variant":t,className:F(ou({variant:t}),e),...n})}function cu({className:e,...t}){return(0,Z.jsx)($l,{"data-slot":`tabs-trigger`,className:F(`relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-[color,background-color,border-color,box-shadow] duration-150 group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 aria-disabled:pointer-events-none aria-disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,`group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent`,`data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground`,`after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100`,e),...t})}function lu(e,t={}){let{axis:n=`y`}=t,r=(0,X.useRef)(new Map),i=(0,X.useRef)(new Map),[a,o]=(0,X.useState)(null),[s,c]=(0,X.useState)([]),l=(0,X.useRef)([]),u=(0,X.useRef)(null),d=(0,X.useRef)(null),f=(0,X.useCallback)(()=>{if(!e.current)return;let t=[];r.current.forEach((e,n)=>{t[n]={top:e.offsetTop,height:e.offsetHeight,left:e.offsetLeft,width:e.offsetWidth}});let n=l.current,i=n.length!==t.length;for(let e=0;!i&&e<t.length;e++){let r=n[e],a=t[e];r!==a&&(i=!r||!a||r.top!==a.top||r.left!==a.left||r.width!==a.width||r.height!==a.height)}i&&(l.current=t,c(t))},[e]),p=(0,X.useCallback)(()=>{d.current!==null&&cancelAnimationFrame(d.current),d.current=requestAnimationFrame(()=>{d.current=null,f()})},[f]),m=(0,X.useCallback)((e,t)=>{let n=i.current.get(e);if(n&&(n.disconnect(),i.current.delete(e)),t){if(r.current.set(e,t),typeof ResizeObserver<`u`){let n=new ResizeObserver(()=>p());n.observe(t),i.current.set(e,n)}}else r.current.delete(e);p()},[p]),h=(0,X.useCallback)(t=>{let r=t.clientX,i=t.clientY;u.current!==null&&cancelAnimationFrame(u.current),u.current=requestAnimationFrame(()=>{u.current=null;let t=e.current;if(!t)return;let a=t.getBoundingClientRect(),s=n===`x`?r:i,c=null,d=1/0,f=null,p=l.current,m=n===`x`?t.scrollLeft:t.scrollTop,h=n===`x`?t.clientLeft:t.clientTop,g=n===`x`?a.left:a.top,_=n===`x`?t.offsetWidth:t.offsetHeight,v=n===`x`?a.width:a.height,y=_>0?v/_:1;for(let e=0;e<p.length;e++){let t=p[e];if(!t)continue;let r=g+(h+(n===`x`?t.left:t.top)-m)*y,i=(n===`x`?t.width:t.height)*y,a=r+i;s>=r&&s<=a&&(f=e);let o=r+i/2,l=Math.abs(s-o);l<d&&(d=l,c=e)}o(f??c)})},[n,e]),g=(0,X.useCallback)(()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),o(null)},[]);return(0,X.useEffect)(()=>{let t=e.current;if(!t||typeof ResizeObserver>`u`)return;let n=new ResizeObserver(()=>p());return n.observe(t),()=>n.disconnect()},[e,p]),(0,X.useEffect)(()=>()=>{u.current!==null&&cancelAnimationFrame(u.current),d.current!==null&&cancelAnimationFrame(d.current),i.current.forEach(e=>{e.disconnect()}),i.current.clear()},[]),{activeIndex:a,setActiveIndex:o,itemRects:s,onMouseMove:h,onMouseLeave:g,registerItem:m,measureItems:f}}var uu=`bg-background shadow-sm`,du=`rounded-full border border-border/70 bg-sidebar p-0.5 shadow-sm backdrop-blur`,fu=`rounded-full`;function pu(e,t){return t?e?`text-foreground/75`:`text-foreground`:e?`text-foreground/55`:`text-muted-foreground`}var mu=(0,X.createContext)(null);function hu(){let e=(0,X.useContext)(mu);if(!e)throw Error(`useTabsSubtle must be used within a TabsSubtle`);return e}function gu({selectedRect:e,hoverRect:t,focusRect:n,isHovering:r,isHoveringSelected:i}){let a=G()?{duration:0}:void 0;return(0,Z.jsxs)(Z.Fragment,{children:[e?(0,Z.jsx)(U.div,{className:F(`pointer-events-none absolute`,uu,fu),layout:!0,initial:!1,style:{left:e.left,top:e.top,width:e.width,height:e.height},animate:{opacity:r?.8:1},transition:a??{...z.moderate.enter,opacity:{duration:.08}}}):null,(0,Z.jsx)(W,{children:t&&!i?(0,Z.jsx)(U.div,{className:F(`pointer-events-none absolute`,uu,fu),layout:!0,style:{left:t.left,top:t.top,width:t.width,height:t.height},initial:{opacity:0},animate:{opacity:.4},exit:{opacity:0,transition:a??z.fast.exit},transition:a??{...z.fast.enter,opacity:{duration:.08}}}):null}),(0,Z.jsx)(W,{children:n?(0,Z.jsx)(U.div,{className:F(`pointer-events-none absolute z-20 border border-ring`,fu),layout:!0,initial:!1,style:{left:n.left-2,top:n.top-2,width:n.width+4,height:n.height+4},exit:{opacity:0,transition:a??z.fast.exit},transition:a??{...z.fast.enter,opacity:{duration:.08}}}):null})]})}var _u=(0,X.forwardRef)(({children:e,selectedIndex:t,onSelect:n,idPrefix:r,activeLabel:i=!1,variant:a=`default`,className:o,...s},c)=>{let l=(0,X.useRef)(null),u=(0,X.useRef)(!1),d=a===`pill`,{activeIndex:f,setActiveIndex:p,itemRects:m,onMouseMove:h,onMouseLeave:g,registerItem:_}=lu(l,{axis:`x`}),v=(0,X.useCallback)((e,t)=>{_(e,t)},[_]),y=(0,X.useCallback)(e=>{u.current=!0,h(e)},[h]),b=(0,X.useCallback)(()=>{u.current=!1,g()},[g]),[x,S]=(0,X.useState)(null),C=t>=0?m[t]:void 0,w=f===null?null:m[f],T=x===null?null:m[x],E=f===t,D=f!==null&&!E,O=(0,X.useMemo)(()=>({registerTab:v,hoveredIndex:f,selectedIndex:t,idPrefix:r,activeLabel:i,variant:a,onSelect:n}),[v,f,t,r,i,a,n]);return(0,Z.jsx)(mu.Provider,{value:O,children:(0,Z.jsx)(au,{className:`data-horizontal:!flex-row !gap-0.5`,value:t>=0?t:null,onValueChange:e=>{let t=typeof e==`number`?e:Number(e);Number.isInteger(t)&&n(t)},render:(0,Z.jsxs)(su,{activateOnFocus:!1,variant:`line`,ref:e=>{l.current=e,typeof c==`function`?c(e):c&&(c.current=e)},onMouseMove:y,onMouseLeave:b,onFocus:e=>{let t=e.target.closest(`[data-proximity-index]`)?.getAttribute(`data-proximity-index`);if(t!=null){let n=Number(t);p(n),S(e.target.matches(`:focus-visible`)?n:null)}},onBlur:e=>{l.current?.contains(e.relatedTarget)||(S(null),!u.current&&p(null))},className:F(`relative flex max-w-full [scrollbar-width:none] items-center gap-0.5 overflow-x-auto select-none [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden`,d?du:`-mx-1 -my-1 px-1 py-1`,o),...s,children:[(0,Z.jsx)(gu,{selectedRect:C,hoverRect:w,focusRect:T,isHovering:D,isHoveringSelected:E}),e]})})})});_u.displayName=`TabsSubtle`;var vu=(0,X.forwardRef)(({icon:e,label:t,index:n,badge:r,className:i,"aria-label":a,onClick:o,...s},c)=>{let l=(0,X.useRef)(null),{registerTab:u,hoveredIndex:d,selectedIndex:f,idPrefix:p,activeLabel:m,variant:h,onSelect:g}=hu();(0,X.useEffect)(()=>(u(n,l.current),()=>u(n,null)),[n,u]);let _=f===n,v=d===n||_,y=m&&!!e,b=!y||_,x=h===`pill`,S=pu(x,v),C=a??(y&&!b?t:void 0),w=(0,Z.jsxs)(`span`,{className:F(`inline-grid whitespace-nowrap`,x?`text-label font-medium`:`text-title`),children:[(0,Z.jsx)(`span`,{className:`invisible col-start-1 row-start-1 font-[550] [text-box:trim-both_cap_alphabetic]`,"aria-hidden":`true`,children:t}),(0,Z.jsx)(`span`,{className:F(`col-start-1 row-start-1 transition-[color,font-weight] duration-80 [text-box:trim-both_cap_alphabetic]`,_?`font-[550]`:`font-normal`,S),children:t})]});return(0,Z.jsxs)(cu,{ref:e=>{let t=e;l.current=t,typeof c==`function`?c(t):c&&(c.current=t)},value:n,"data-proximity-index":n,id:p?`${p}-tab-${n}`:void 0,"aria-controls":p?`${p}-panel-${n}`:void 0,"aria-label":C,className:F(`relative z-10 flex flex-none cursor-pointer items-center border-none !bg-transparent !shadow-none outline-none after:hidden`,x?`h-8 px-2.5`:y?`h-8 px-3`:`h-9 gap-2 px-3`,fu,i),...s,onClick:e=>{o?.(e),_&&g(n)},children:[e?(0,Z.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1`,children:[(0,Z.jsx)(e,{"data-icon":`inline-start`,size:x?14:16,strokeWidth:v?2:1.5,className:F(`shrink-0 transition-[color,stroke-width] duration-80`,S)}),r===void 0?null:(0,Z.jsx)(`span`,{className:F(`text-caption tabular-nums transition-colors duration-80`,S),children:r})]}):null,y?null:w,(0,Z.jsx)(W,{initial:!1,children:y&&b?(0,Z.jsx)(U.span,{className:`ml-2 overflow-hidden`,initial:{clipPath:`inset(0 100% 0 0)`,opacity:0},animate:{clipPath:`inset(0 0% 0 0)`,opacity:1},exit:{clipPath:`inset(0 100% 0 0)`,opacity:0},transition:{...z.fast.enter,opacity:{duration:.06}},children:w},`label`):null})]})});vu.displayName=`TabsSubtleItem`;var yu=`[&_[data-proximity-index]]:!h-7 [&_[data-proximity-index]]:!px-2 [&_[data-proximity-index]]:!text-caption`;function bu({compact:e=!1}={}){let{reopenRightPanel:t,rightPanel:n}=mi();return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`min-[960px]:hidden`,children:(0,Z.jsx)(xu,{compact:e,idPrefix:`right-panel-mobile`})}),(0,Z.jsx)(`div`,{className:`hidden min-[960px]:block`,children:n===null?(0,Z.jsx)(Su,{compact:e,onOpen:t}):null})]})}function xu({compact:e=!1,idPrefix:t=`right-panel`}){let{artifactRuns:n,transcriptSummary:r,rightPanel:i,setRightPanel:a,resources:o}=mi(),{workspaceTree:s}=pi();return(0,Z.jsx)(Cu,{activePanel:i,onPanelChange:a,resources:o,replRuns:n.flatMap(e=>e.artifacts).filter(e=>e.kind===`ipython`).length,sessionBlocks:r.openUIBlocks.length,openUIArtifacts:n.flatMap(e=>e.artifacts).filter(e=>e.kind===`openui-html`).length,workspace:s,idPrefix:t,compact:e})}function Su({compact:e=!1,onOpen:t}){return(0,Z.jsx)(Vl,{ariaLabel:`Open side panel`,className:e?`!size-7 !rounded-[7px] !px-0`:`size-9 justify-center px-0`,onClick:t,children:(0,Z.jsx)(pa,{className:`size-4`})})}function Cu({activePanel:e,onPanelChange:t,resources:n,replRuns:r=0,sessionBlocks:i=0,openUIArtifacts:a=0,workspace:o,idPrefix:s=`right-panel`,compact:c=!1}){let l=qt(n,o).reduce((e,t)=>e+t.items.length,0),u=(0,X.useMemo)(()=>{let e=i+a;return e>0?e:void 0},[a,i]),d=(0,X.useMemo)(()=>ur.map(e=>({...e,badge:e.id===`workspace`?u:e.id===`session`?l||void 0:e.id===`repl`&&r||void 0})),[r,u,l]),f=d.find(t=>e!==null&&t.panels.includes(e)),p=f?d.indexOf(f):-1,m=(0,X.useMemo)(()=>d.map(e=>({value:e.id,label:e.title,icon:e.icon})),[d]);return(0,Z.jsx)(wu,{"data-testid":`right-panel-inline-launcher`,"data-active-panel":e??`closed`,activePanel:f?.id??null,options:m,panelOptions:d,idPrefix:s,selectedIndex:p,onSelect:e=>{let n=d.at(e);n&&t(f?.id===n.id?null:n.defaultPanel)},compact:c})}function wu({activePanel:e,className:t,compact:n=!1,idPrefix:r,onSelect:i,options:a,panelOptions:o,selectedIndex:s,...c}){let l=(0,X.useRef)(null),u=(0,X.useRef)(null),[d,f]=(0,X.useState)(!1),p=(0,X.useCallback)(()=>{let e=l.current,t=u.current;if(!e||!t)return;let n=e.parentElement?.clientWidth??0,r=n>0?n:e.clientWidth;if(r<=0)return;let i=t.firstElementChild,a=Math.max(t.scrollWidth,i instanceof HTMLElement?i.scrollWidth:0,t.getBoundingClientRect().width,i instanceof HTMLElement?i.getBoundingClientRect().width:0);a<=0||f(a>r+1)},[]);(0,X.useLayoutEffect)(()=>{p();let e=l.current,t=u.current;if(!e||!t||typeof ResizeObserver>`u`)return;let n=new ResizeObserver(p);return e.parentElement&&n.observe(e.parentElement),n.observe(e),n.observe(t),()=>n.disconnect()},[p,o,s]);let m=(0,X.useCallback)(e=>{let t=o.findIndex(t=>t.id===e);t>=0&&i(t)},[i,o]);return(0,Z.jsxs)(`div`,{ref:l,className:`relative ${d?`w-full`:`w-fit`} min-w-0 max-w-full overflow-hidden ${t??``}`,"data-panel-launcher-mode":d?`dropdown`:`tabs`,...c,children:[d?(0,Z.jsx)(Rt,{"aria-label":`Select panel`,className:`w-full min-w-0 max-w-full rounded-full border-border/70 bg-sidebar ${n?`h-7`:``}`,onValueChange:m,options:a,placeholder:`Open panel`,value:e}):(0,Z.jsx)(_u,{activeLabel:!0,className:`w-fit max-w-full ${n?yu:``}`,idPrefix:r,selectedIndex:s,onSelect:i,children:o.map((e,t)=>(0,Z.jsx)(vu,{index:t,icon:e.icon,label:e.title,badge:e.badge,"aria-label":e.ariaLabel},e.id))}),(0,Z.jsx)(`div`,{ref:u,"aria-hidden":`true`,className:`pointer-events-none invisible absolute top-0 left-0 -z-10 w-max max-w-none`,"data-panel-launcher-measurement":!0,inert:!0,children:(0,Z.jsx)(_u,{activeLabel:!0,className:`w-max max-w-none ${n?yu:``}`,idPrefix:`${r}-measurement`,selectedIndex:s,onSelect:()=>void 0,children:o.map((e,t)=>(0,Z.jsx)(vu,{index:t,icon:e.icon,label:e.title,badge:e.badge,"aria-label":e.ariaLabel},e.id))})})]})}function Tu({children:e,dataTestid:t,headerActions:n,icon:r,onClose:i,open:a,title:o}){let s=(0,X.useRef)(null),c=(0,X.useId)(),l=(0,X.useRef)(!1),u=(0,X.useEffectEvent)(e=>{s.current&&e.target===s.current&&s.current.close()});return(0,X.useEffect)(()=>{if(!a)return;let e=s.current;if(!e)return;let t=e=>u(e);return e.addEventListener(`click`,t),()=>e.removeEventListener(`click`,t)},[a]),(0,X.useEffect)(()=>{let e=s.current;if(!e)return;if(!a){e.open&&(l.current=!0,e.close(),l.current=!1);return}let t=window.matchMedia(`(min-width: 960px)`),n=()=>{if(t.matches){e.open&&(l.current=!0,e.close());return}e.open||(e.showModal(),e.focus())};return n(),t.addEventListener(`change`,n),()=>t.removeEventListener(`change`,n)},[a]),a?(0,Z.jsx)(`dialog`,{ref:s,"data-testid":t,className:`fixed top-[var(--chat-chrome-top)] left-auto m-0 max-h-[calc(100dvh-var(--chat-chrome-top)-max(0.75rem,env(safe-area-inset-bottom)))] h-[calc(100dvh-var(--chat-chrome-top)-max(0.75rem,env(safe-area-inset-bottom)))] [inset-inline-start:auto] [inset-inline-end:max(0.75rem,env(safe-area-inset-right))] ${ni} backdrop:bg-black/20 ${jn}`,"aria-labelledby":c,onClose:()=>{if(l.current){l.current=!1;return}i?.()},children:(0,Z.jsxs)(`div`,{className:`flex h-full min-h-0 min-w-0 flex-col overflow-hidden`,children:[(0,Z.jsx)(`span`,{id:c,className:`sr-only`,children:o??`Panel`}),o&&(0,Z.jsxs)(`div`,{className:`flex h-10 shrink-0 items-center justify-between gap-2 border-b border-border/60 px-[var(--density-pad-x)]`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 text-label font-medium text-foreground/80`,children:[r&&(0,Z.jsx)(r,{className:`size-3.5 shrink-0`}),(0,Z.jsx)(`span`,{className:`truncate`,children:o})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[n,i&&(0,Z.jsx)(Sr,{type:`button`,onClick:()=>{let e=s.current;e&&e.open?e.close():i?.()},variant:`ghost`,size:`icon-compact`,className:`relative after:absolute after:top-1/2 after:left-1/2 after:size-10 after:-translate-x-1/2 after:-translate-y-1/2 text-foreground/40 hover:text-foreground/70`,"aria-label":`Close panel`,title:`Close panel`,children:(0,Z.jsx)(xr,{"data-icon":`inline-start`,className:`size-3.5`})})]})]}),(0,Z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overscroll-contain px-[var(--density-pad-x)] py-4`,children:e})]})}):null}function Eu(e){return`agent-tab-${encodeURIComponent(e)}`}function Du(e){return`agent-tab-panel-${encodeURIComponent(e)}`}function Ou(e){switch(e){case`queued`:return`queued`;case`running`:case`recovering`:return`streaming`;case`error`:case`failed`:return`error`;case`cancelled`:return`cancelled`;case`done`:return`complete`;default:return`ready`}}function ku(e){switch(e){case`running`:case`recovering`:return`bg-success motion-safe:animate-pulse`;case`error`:case`failed`:return`bg-destructive`;case`queued`:return`bg-warning`;case`cancelled`:return`bg-foreground/35`;default:return`bg-foreground/35`}}function Au({tabs:e,value:t,onValueChange:n,onClose:r,onNewSession:i}){let a=(0,X.useRef)(new Map),o=(0,X.useCallback)((e,t)=>{t?a.current.set(e,t):a.current.delete(e)},[]);(0,X.useEffect)(()=>{for(let t of a.current.keys())e.some(e=>e.id===t)||a.current.delete(t)},[e]);let s=(0,X.useCallback)(t=>{let r=e[t];r&&(a.current.get(r.id)?.focus(),n(r.id))},[n,e]),c=(0,X.useCallback)((t,n)=>{let r=e.findIndex(e=>e.id===n);if(r<0)return;let i;t.key===`ArrowRight`&&(i=(r+1)%e.length),t.key===`ArrowLeft`&&(i=(r-1+e.length)%e.length),t.key===`Home`&&(i=0),t.key===`End`&&(i=e.length-1),i!==void 0&&(t.preventDefault(),s(i))},[s,e]);return(0,Z.jsxs)(`div`,{className:`flex min-w-0 max-w-full items-center gap-1`,"data-testid":`agent-tab-bar`,children:[(0,Z.jsx)(`div`,{"aria-label":`Agent conversations`,className:`flex min-w-0 flex-1 items-center gap-1 overflow-x-auto overscroll-contain [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`,role:`tablist`,children:e.map(e=>{let i=e.id===t,a=Ou(e.status);return(0,Z.jsxs)(`div`,{className:`group/tab relative min-w-0 flex-1 max-w-[164px] basis-[164px]`,"data-tab-id":e.id,children:[(0,Z.jsxs)(Sr,{ref:t=>o(e.id,t),"aria-controls":Du(e.id),"aria-selected":i,"aria-label":`${e.label}, ${a}`,className:F(`h-7 w-full min-w-0 justify-start text-start gap-1.5 rounded-[7px] border border-transparent px-2 text-label font-medium leading-none transition-colors motion-reduce:transition-none`,i?`bg-surface-4 text-foreground shadow-none`:`bg-transparent text-foreground/45 hover:bg-foreground/5 hover:text-foreground/75`,e.kind===`subagent`&&r&&`pe-7`),"data-state":i?`active`:`inactive`,id:Eu(e.id),onClick:()=>n(e.id),onKeyDown:t=>c(t,e.id),role:`tab`,size:`compact`,tabIndex:i?0:-1,type:`button`,variant:`ghost`,children:[e.kind===`activity`?(0,Z.jsx)(Kt,{"aria-hidden":`true`,className:`size-3.5 shrink-0`}):e.kind===`main`?(0,Z.jsx)(Jt,{"aria-hidden":`true`,className:`size-3.5 shrink-0`}):(0,Z.jsx)(`span`,{"aria-hidden":`true`,className:F(`size-1.5 shrink-0 rounded-full`,ku(e.status))}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-start`,children:e.label})]}),e.kind===`subagent`&&r?(0,Z.jsx)(Sr,{"aria-label":`Close ${e.label} tab`,className:`absolute top-1/2 left-auto size-5 -translate-y-1/2 rounded-[5px] p-0 text-foreground/35 opacity-0 transition-opacity motion-reduce:transition-none hover:bg-foreground/10 hover:text-foreground/75 focus-visible:opacity-100 group-hover/tab:opacity-100 [inset-inline-start:auto] [inset-inline-end:0.25rem]`,onClick:t=>{t.stopPropagation(),r(e.id)},size:`icon-compact`,title:`Close ${e.label} tab`,type:`button`,variant:`ghost`,children:(0,Z.jsx)(xr,{"aria-hidden":`true`,className:`size-3`})}):null]},e.id)})}),i?(0,Z.jsx)(Sr,{"aria-label":`New chat`,className:F(Zr,`relative z-10 size-7 shrink-0 rounded-[7px] text-foreground/50 hover:bg-foreground/7 hover:text-foreground/85`),"data-testid":`new-chat-tab`,onClick:e=>{e.preventDefault(),e.stopPropagation(),i()},size:`icon-compact`,title:`New chat`,type:`button`,variant:`ghost`,children:(0,Z.jsx)(hr,{"aria-hidden":`true`,className:`size-3.5`})}):null]})}var ju=`https://docs.qredence.ai`;function Mu({className:e}){return(0,Z.jsx)(`svg`,{width:`97`,height:`93`,viewBox:`0 0 97 93`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,className:e,"aria-hidden":`true`,children:(0,Z.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M53.72 0.17C53.27 0.24 52.22 0.43 51.40 0.60C50.58 0.78 49.27 1.11 48.49 1.36C47.71 1.61 46.34 2.17 45.43 2.60C44.52 3.03 43.18 3.79 42.44 4.29C41.71 4.78 40.62 5.62 40.06 6.14C39.47 6.65 38.58 7.54 38.06 8.12C37.53 8.69 36.68 9.81 36.16 10.59C35.65 11.36 34.92 12.65 34.56 13.42C34.20 14.20 33.73 15.38 33.50 16.04C33.29 16.69 32.98 17.83 32.83 18.57C32.67 19.31 32.46 20.65 32.35 21.56C32.26 22.49 32.22 24.04 32.26 25.14C32.31 26.22 32.52 28.03 32.73 29.17C32.93 30.32 33.31 31.97 33.55 32.83C33.79 33.70 34.29 35.24 34.68 36.27C35.07 37.30 35.77 38.97 36.26 40.00C36.76 41.03 37.64 42.67 38.22 43.66C38.80 44.64 39.73 46.12 40.28 46.94C40.83 47.76 41.76 49.05 42.31 49.79C42.88 50.55 44.06 51.99 44.92 53.00C45.79 54.02 46.95 55.36 47.52 55.97C48.07 56.59 50.28 58.93 52.43 61.18C54.58 63.42 58.20 67.08 60.48 69.32C64.30 73.02 64.62 73.38 64.36 73.56C64.21 73.68 63.57 74.02 62.94 74.35C62.30 74.67 61.26 75.14 60.63 75.40C59.99 75.65 58.90 76.04 58.20 76.28C57.49 76.50 56.28 76.83 55.51 77.00C54.73 77.16 53.39 77.41 52.52 77.53C51.57 77.68 49.92 77.77 48.31 77.77C46.65 77.77 45.03 77.68 43.98 77.53C43.06 77.40 41.41 77.07 40.35 76.80C39.29 76.53 37.74 76.07 36.92 75.76C36.10 75.44 34.70 74.83 33.79 74.37C32.87 73.92 31.58 73.20 30.87 72.77C30.17 72.34 28.96 71.49 28.19 70.89C27.41 70.28 26.07 69.08 25.20 68.22C24.33 67.35 23.05 65.87 22.35 64.93C21.65 63.99 20.77 62.71 20.39 62.10C20.02 61.48 19.48 60.51 19.18 59.93C18.90 59.35 18.41 58.27 18.11 57.54C17.80 56.81 17.35 55.53 17.11 54.70C16.85 53.88 16.50 52.48 16.30 51.57C16.11 50.66 15.87 48.88 15.77 47.61C15.63 45.87 15.63 44.73 15.75 42.98C15.85 41.72 16.06 39.97 16.24 39.10C16.42 38.24 16.74 36.92 16.94 36.19C17.15 35.46 17.59 34.18 17.91 33.36C18.24 32.53 18.89 31.13 19.35 30.22C19.81 29.31 20.57 28.01 21.04 27.31C21.48 26.61 22.29 25.50 22.81 24.85C23.33 24.19 24.48 22.92 25.36 22.01C26.31 21.02 27.11 20.05 27.34 19.57C27.56 19.16 27.84 18.38 27.96 17.87C28.08 17.35 28.19 16.56 28.19 16.11C28.19 15.66 28.08 14.86 27.95 14.31C27.83 13.78 27.53 12.98 27.28 12.53C27.04 12.08 26.53 11.38 26.14 10.98C25.74 10.57 25.10 10.02 24.68 9.75C24.27 9.48 23.53 9.11 23.04 8.94C22.54 8.77 21.66 8.59 21.09 8.54C20.40 8.49 19.72 8.55 19.05 8.71C18.48 8.84 17.65 9.12 17.18 9.35C16.59 9.63 15.79 10.26 14.63 11.41C13.69 12.30 12.38 13.71 11.72 14.53C11.05 15.33 10.05 16.60 9.51 17.37C8.97 18.11 8.17 19.29 7.73 19.99C7.30 20.69 6.48 22.13 5.93 23.20C5.37 24.28 4.64 25.80 4.31 26.61C3.97 27.40 3.43 28.85 3.09 29.80C2.76 30.77 2.30 32.34 2.06 33.28C1.82 34.22 1.45 35.94 1.25 37.09C1.04 38.24 0.81 39.95 0.72 40.89C0.64 41.84 0.57 43.75 0.57 45.15C0.57 46.55 0.64 48.46 0.72 49.40C0.81 50.35 1.00 51.96 1.18 52.99C1.34 54.02 1.75 55.87 2.06 57.09C2.37 58.33 2.94 60.21 3.33 61.27C3.72 62.33 4.42 64.05 4.88 65.08C5.34 66.11 6.14 67.65 6.61 68.52C7.09 69.38 8.02 70.86 8.64 71.80C9.29 72.74 10.36 74.22 11.06 75.08C11.75 75.95 12.85 77.22 13.50 77.91C14.14 78.59 15.38 79.80 16.24 80.58C17.11 81.35 18.45 82.49 19.23 83.07C20.01 83.67 21.45 84.68 22.44 85.33C23.42 85.97 25.17 86.98 26.32 87.58C27.47 88.16 29.32 89.01 30.43 89.46C31.53 89.91 33.11 90.48 33.93 90.73C34.76 90.98 36.10 91.36 36.92 91.57C37.74 91.76 39.19 92.07 40.13 92.24C41.07 92.40 42.92 92.64 44.24 92.78C45.55 92.90 47.40 93 48.34 93C49.28 93 51.10 92.90 52.37 92.78C53.64 92.66 55.49 92.42 56.48 92.24C57.46 92.07 58.94 91.76 59.76 91.55C60.58 91.36 61.90 90.98 62.67 90.73C63.45 90.48 64.93 89.94 65.96 89.54C66.99 89.13 68.71 88.36 69.77 87.82L69.80 87.80L69.80 87.80C70.85 87.27 71.95 86.71 72.23 86.54C72.51 86.37 73.47 85.77 74.36 85.21L75.96 84.19C78.34 86.36 80.13 88.00 81.49 89.25C83.14 90.76 84.26 91.67 84.92 92.01C85.46 92.30 86.32 92.64 86.86 92.76C87.40 92.90 88.13 93 88.50 93C88.88 93 89.58 92.90 90.07 92.78C90.56 92.64 91.37 92.34 91.86 92.10C92.36 91.87 93.03 91.45 93.34 91.18C93.67 90.91 94.24 90.28 94.59 89.79C94.95 89.30 95.37 88.54 95.54 88.12C95.68 87.69 95.88 86.88 95.97 86.33C96.06 85.67 96.06 84.95 95.97 84.31C95.88 83.74 95.61 82.85 95.36 82.30C95.10 81.73 94.71 81.04 94.49 80.76C94.25 80.47 92.44 78.74 90.46 76.92C88.49 75.08 86.86 73.56 86.86 73.52C86.86 73.47 87.47 72.52 88.22 71.40C88.97 70.26 90.12 68.26 90.77 66.95C91.44 65.63 92.31 63.74 92.70 62.74C93.10 61.72 93.67 60.11 93.95 59.15C94.25 58.18 94.65 56.69 94.85 55.82C95.04 54.96 95.31 53.64 95.43 52.91C95.57 52.18 95.76 50.49 95.89 49.18C96.01 47.87 96.12 46.12 96.12 45.30C96.12 44.48 96.01 42.70 95.89 41.34C95.77 39.98 95.54 38.10 95.36 37.16C95.19 36.22 94.89 34.77 94.68 33.95C94.48 33.13 94.07 31.73 93.77 30.82C93.49 29.91 93.00 28.53 92.68 27.76C92.37 26.98 91.83 25.73 91.50 24.99C91.16 24.26 90.43 22.84 89.88 21.86C89.34 20.87 88.32 19.23 87.62 18.20C86.94 17.17 85.73 15.53 84.95 14.54C84.16 13.56 82.53 11.77 81.34 10.57C80.14 9.38 78.47 7.84 77.60 7.15C76.74 6.47 75.23 5.38 74.25 4.72C73.26 4.08 71.72 3.18 70.81 2.75C69.90 2.30 68.56 1.73 67.83 1.48C67.09 1.21 65.94 0.88 65.29 0.72C64.63 0.57 63.36 0.35 62.45 0.21C61.35 0.06 59.78 -0.01 57.67 0.00C55.94 0.02 54.16 0.09 53.72 0.17ZM54.24 15.47C54.82 15.33 55.45 15.20 55.66 15.17C55.87 15.13 56.81 15.10 57.75 15.08C58.69 15.08 60.08 15.16 60.81 15.28C61.54 15.38 62.56 15.63 63.05 15.83C63.54 16.04 64.38 16.44 64.91 16.74C65.45 17.04 66.57 17.78 67.41 18.41C68.26 19.04 69.63 20.23 70.48 21.07C71.32 21.92 72.47 23.17 73.04 23.87C73.60 24.58 74.54 25.88 75.14 26.79C75.75 27.70 76.60 29.13 77.07 30.00C77.51 30.86 78.19 32.30 78.55 33.21C78.90 34.12 79.43 35.58 79.68 36.49C79.93 37.40 80.29 38.86 80.46 39.77C80.68 40.89 80.80 42.31 80.84 44.25C80.90 45.97 80.86 47.67 80.75 48.58C80.67 49.40 80.41 50.88 80.22 51.87C80.01 52.85 79.53 54.57 79.16 55.68C78.78 56.78 78.08 58.50 77.60 59.48C77.13 60.47 76.47 61.66 75.59 63.02L73.35 60.81C72.11 59.59 69.30 56.78 67.09 54.56C64.88 52.35 62.12 49.51 60.97 48.29C59.81 47.05 58.17 45.24 57.30 44.25C56.43 43.27 55.28 41.90 54.75 41.19C54.19 40.49 53.28 39.22 52.72 38.36C52.15 37.49 51.39 36.28 51.03 35.67C50.67 35.06 50.09 33.94 49.75 33.21C49.40 32.47 48.88 31.16 48.58 30.29C48.28 29.43 47.89 28.07 47.74 27.26C47.55 26.34 47.45 25.22 47.45 24.13C47.45 23.17 47.55 22.05 47.67 21.52C47.79 21.01 48.10 20.17 48.36 19.65C48.63 19.13 49.24 18.32 49.75 17.80C50.43 17.11 50.98 16.74 51.93 16.29C52.63 15.96 53.66 15.59 54.24 15.47Z`,fill:`currentColor`})})}function Nu({onOpenSettings:e,compact:t=!1,label:n=`Fleet Prime Agent`,className:r}){let i=`flex w-full cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-left text-label leading-4 text-foreground transition-colors hover:bg-foreground/6`;return(0,Z.jsx)(`div`,{className:F(`flex min-w-0 items-center gap-2`,r),children:(0,Z.jsxs)(yo,{side:`bottom`,align:`start`,trigger:(0,Z.jsxs)(Vl,{ariaLabel:`Open account menu`,className:F(`min-w-0 border-transparent shadow-none`,t?`size-8 justify-center px-2`:`w-full justify-start px-2 text-start`),children:[(0,Z.jsx)(Mu,{className:`size-3.5 shrink-0`}),(0,Z.jsx)(`span`,{className:t?`sr-only`:`text-body font-medium tracking-[-0.01em] whitespace-nowrap`,children:n}),(0,Z.jsx)($t,{className:`size-3.5 shrink-0 text-foreground/35`})]}),children:[(0,Z.jsxs)(`a`,{href:ju,target:`_blank`,rel:`noreferrer`,className:i,children:[(0,Z.jsx)(ta,{className:`size-3.5 shrink-0 text-foreground/50`}),(0,Z.jsx)(`span`,{className:`truncate`,children:`Documentation`})]}),e&&(0,Z.jsxs)(`button`,{type:`button`,className:i,onClick:e,children:[(0,Z.jsx)(Yt,{className:`size-3.5 shrink-0 text-foreground/50`}),(0,Z.jsx)(`span`,{className:`truncate`,children:`Settings`})]})]})})}function Pu({activeTabId:e,tabs:t,onCloseTab:n,onNewSession:r,onSelectTab:i,onOpenSettings:a}){return s(),{left:(0,Z.jsx)(Ml,{"aria-label":`Toggle conversations`,className:`!size-7 !rounded-[7px] border border-border/70 bg-background shadow-sm`,children:(0,Z.jsx)(`span`,{"aria-hidden":`true`,"data-icon":`inline-start`,className:`block h-3.5 w-4 rounded-[3px] border border-current before:block before:h-full before:w-1 before:border-r before:border-current`})}),accountMenu:(0,Z.jsx)(Nu,{className:`w-full`,label:`Qredence`,onOpenSettings:a}),center:(0,Z.jsx)(Au,{tabs:t,value:e,onValueChange:i,onClose:n,onNewSession:r}),right:(0,Z.jsx)(bu,{compact:!0})}}function Fu(){let[e,t]=(0,X.useState)(!1),[n,r]=(0,X.useState)(void 0),[i,a]=(0,X.useState)(null);return{forkPickerEntries:i,setForkPickerEntries:a,setSettingsDialogOpen:t,setSettingsInitialTab:r,settingsDialogOpen:e,settingsInitialTab:n}}var Iu=(0,X.lazy)(()=>Or(async()=>{let{ChatCommandPalette:e}=await import(`./chat-command-palette-Bxr5EkO6.js`);return{ChatCommandPalette:e}},__vite__mapDeps([70,1,2,3,8,71,72,73,74,75,50,76,40,41,77,78,4,79,80,10,7,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29])).then(({ChatCommandPalette:e})=>({default:e}))),Lu=(0,X.lazy)(()=>Or(async()=>{let{SettingsDialog:e}=await import(`./settings-dialog-BomLOETY.js`);return{SettingsDialog:e}},__vite__mapDeps([81,1,2,3,4,17,18,13,68,15,16,8,36,39,69,22,23,24,25,82,20,21,7,35,28,29,26,83,74,50,51,84,47,85,43,49,86,71,66,79,87,88,52,89,90,91,64,92,67,11,93,94,14,19,27,77,95])).then(({SettingsDialog:e})=>({default:e}))),Ru=(0,X.lazy)(()=>Or(async()=>{let{ForkPickerDialog:e}=await import(`./fork-picker-dialog-DSaFeUii.js`);return{ForkPickerDialog:e}},__vite__mapDeps([96,3,1,14,4,15,2,13,16,17,18,19,20,21,22,8,23,24,25,26])).then(({ForkPickerDialog:e})=>({default:e})));function zu({chrome:e,conversation:t,dialogs:n,panels:r,session:i}){return(0,Z.jsx)(Z.Fragment,{children:n.commandPaletteOpen?(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(Iu,{open:!0,onOpenChange:n.setCommandPaletteOpen,onNewSession:()=>fs(()=>i.startNewSession()),onStop:t.stop,onResumeSession:e=>void i.resumeSession({sessionId:e.sessionId}),onSetRightPanel:r.setRightPanel,onThemeChange:e.handleThemePreferenceChange,sessions:i.sessions,isStreaming:t.status===`streaming`,themePreference:e.themePreference})}):null})}function Bu({dialogs:e}){let{forkFromEntry:t,forkPickerEntries:n,setForkPickerEntries:r,setSettingsDialogOpen:i,setSettingsInitialTab:a,settingsDialogOpen:o,settingsInitialTab:s}=e,[c,l]=(0,X.useState)(o),[u,d]=(0,X.useState)(n!==null);(0,X.useEffect)(()=>{o&&l(!0)},[o]),(0,X.useEffect)(()=>{n!==null&&d(!0)},[n]);let f=(0,X.useCallback)(e=>{i(e),e||a(void 0)},[i,a]);return(0,Z.jsxs)(Z.Fragment,{children:[c?(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(Lu,{open:o,onOpenChange:f,initialTab:s})}):null,u?(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(Ru,{entries:n,onOpenChange:e=>{e||r(null)},onPick:t})}):null]})}var Vu=`fleet-prime:v1:right-panel-width`,Hu=`fleet-prime:v1:theme-preference`;function Uu(){return typeof window>`u`?320:Gu(Math.floor(window.innerWidth*kn))}function Wu(){if(typeof window>`u`)return 320;let e=Number.parseFloat(window.getComputedStyle(document.documentElement).fontSize),t=En(Number.isFinite(e)&&e>0?e:16);return Math.max(320,window.innerWidth-t-360)}function Gu(e){return Math.min(Wu(),Math.max(320,Math.round(e)))}function Ku(){return Nn(Vu,Uu(),Gu)}function qu(e){Dn(Vu,Gu(e))}function Ju(){if(typeof window>`u`)return`system`;let e=Er(Hu);return e===`light`||e===`dark`||e===`system`?e:`system`}function Yu(e){Tr(Hu,e)}function Xu(e){if(typeof window>`u`)return;let t=window.matchMedia(`(prefers-color-scheme: dark)`).matches,n=e===`dark`||e===`system`&&t,r=document.documentElement,i=r.classList.contains(`dark`)!==n,a;i&&document.head&&(a=document.createElement(`style`),a.textContent=`*,*::before,*::after{-webkit-transition:none!important;transition:none!important}`,document.head.appendChild(a)),r.classList.toggle(`dark`,n),r.dataset.theme=n?`dark`:`light`,a&&(window.getComputedStyle(r).opacity,window.requestAnimationFrame(()=>{a?.remove()}))}var Zu=`fleet:chat:model-selection`;function Qu(e,t){let{sessionMetadata:n,setSessionMetadata:r}=t,i=(0,X.useMemo)(()=>e?.models.map(Bn)??[],[e]),[a,o]=(0,X.useState)(),[s,c]=(0,X.useState)(!1),[l,u]=(0,X.useState)(),[d,f]=(0,X.useState)(null),p=(0,X.useRef)(`workspace`),[m,h]=(0,X.useState)(null),[g,_]=(0,X.useState)(null),[v,y]=(0,X.useState)(!1),[b,x]=(0,X.useState)(()=>Ju()),[S,C]=(0,X.useState)(()=>Ku());(0,X.useEffect)(()=>{o(Er(Zu,`session`)??void 0),c(!0)},[]),(0,X.useEffect)(()=>{if(!s||!e)return;if(i.length===0){a!==void 0&&o(void 0);return}let t=e?.selectedModelKey??i[0].id;if(!a){o(t);return}let n=i.find(e=>e.id===a);(!n||n.available===!1)&&o(t)},[i,a,e,s]),(0,X.useEffect)(()=>{s&&a&&Tr(Zu,a,`session`)},[a,s]),(0,X.useEffect)(()=>{let t=i.find(e=>e.id===a);if(!t)return;let n=Vn(t);u(t=>Rn(t??e?.defaultThinkingLevel,n))},[i,a,e?.defaultThinkingLevel]),(0,X.useEffect)(()=>{if(Xu(b),b!==`system`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`),t=()=>Xu(`system`);return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[b]);let w=(0,X.useRef)(null);(0,X.useEffect)(()=>{let e=w.current;if(w.current=d,!d||e!==null)return;let t=Uu();C(t),qu(t)},[d]),(0,X.useEffect)(()=>{d===null&&_(null)},[d]),(0,X.useEffect)(()=>{if(!d)return;let e=()=>{C(e=>{let t=Gu(e);return qu(t),t})};return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[d]);let T=(0,X.useCallback)(e=>{x(e),Yu(e),Xu(e)},[]),E=(0,X.useCallback)(e=>{let t=Gu(e);C(t),qu(t)},[]),D=(0,X.useCallback)(e=>{An({event:e,startWidth:S,getNextWidth:(e,t,n)=>Gu(n-(e-t)),onWidthChange:e=>{C(e),qu(e)}})},[S]),O=(0,X.useCallback)(()=>{f(p.current)},[]),k=(0,X.useCallback)(e=>{if(e!==null&&(p.current=e),f(e),e===null){h(null);return}_(t=>{if(!t)return t;let n=li(t);return!n||n.panel===e?t:null})},[]),A=(0,X.useCallback)((e,t=`artifacts`)=>{h(e),k(t)},[k]),j=(0,X.useCallback)(e=>{let t=li(e);t&&(k(t.panel),_(t.path))},[k]),M=(0,X.useCallback)(e=>{let t=e.panel===`artifacts`&&e.relativePath?`workspace`:e.panel,n=t===`workspace`||t===`artifacts`;k(t),_(n?e.relativePath??null:null),e.focus&&window.requestAnimationFrame(()=>{document.querySelector(`[data-fleet-panel-focus]`)?.focus({preventScroll:!0})})},[k]),N=(0,X.useCallback)(e=>{r(e)},[r]),P=i.find(e=>e.id===a),F=Rn(l??e?.defaultThinkingLevel,Vn(P)),I=(0,X.useCallback)(e=>{let t=i.find(e=>e.id===a);u(Rn(e,Vn(t)))},[a,i]);return{commandPaletteOpen:v,handleResourceCanvasResizeStart:D,handleResourceCanvasWidthChange:E,handleThemePreferenceChange:T,initialSessionMetadata:n,modelKey:a,modelSelection:(0,X.useMemo)(()=>Fn(P,F),[F,P]),models:i,openWorkspacePath:j,openPanelAction:M,persistSession:N,reopenRightPanel:O,resourceCanvasWidth:S,rightPanel:d,selectedArtifactId:m,selectedWorkspacePath:g,setCommandPaletteOpen:y,setModelKey:o,setRightPanel:k,openArtifact:A,setSelectedWorkspacePath:_,setThinkingLevel:I,themePreference:b,thinkingLevel:F}}var $u=/^root\s*=\s*([A-Za-z][A-Za-z0-9]*)/,ed=/"((?:\\.|[^"\\]){1,80})"/;function td(e){return ed.exec(e)?.[1]??$u.exec(e)?.[1]??`Interface`}function nd(e){let t=[];for(let n of e)if(n.role===`assistant`){for(let e of n.parts)if(!(e.type!==`text`||!(`text`in e)||typeof e.text!=`string`))for(let r of Kr(e.text))r.type===`openui`&&t.push({blockId:`${n.id}:${r.id}`,content:r.content,component:td(r.content),ordinal:t.length+1})}return t}function rd(e){let t=0,n=0;for(let r of e)r.role===`assistant`?t+=1:n+=1;return{assistantMessageCount:t,openUIBlocks:nd(e),userMessageCount:n}}function id(e){return e===`streaming`||e===`submitted`}function ad(e,t,n){let r=id(t),i=(0,X.useRef)(e);i.current=e;let[a,o]=(0,X.useState)(e),[s,c]=(0,X.useState)(n),[l,u]=(0,X.useState)(r);return s!==n&&(c(n),o(e)),l!==r&&(u(r),r&&o(e)),(0,X.useEffect)(()=>{if(!r)return;let e=window.setInterval(()=>{o(i.current)},250);return()=>window.clearInterval(e)},[r]),r?a:e}function od(e,t,n){let r=id(t),i=(0,X.useRef)(e);i.current=e;let[a,o]=(0,X.useState)(()=>rd(e)),[s,c]=(0,X.useState)(n),[l,u]=(0,X.useState)(r);s!==n&&(c(n),o(rd(e))),l!==r&&(u(r),r&&o(rd(e))),(0,X.useEffect)(()=>{if(!r)return;let e=window.setInterval(()=>{o(rd(i.current))},250);return()=>window.clearInterval(e)},[r]);let d=(0,X.useMemo)(()=>rd(e),[e]);return r?a:d}function sd({activityLabel:e,artifactRuns:t,chatMode:n,composerIntent:r,onComposerIntentChange:i,onComposerIntentKeyChange:a,handleThemePreferenceChange:o,isLoadingMcp:s,isLoadingProviders:c,isUpdatingMcp:l,isUpdatingProvider:u,loadSession:d,loadSubagentSession:f,loadWorkspaceFile:p,messages:m,onOpenSubagentTab:h,modelKey:g,models:_,modelCatalog:v,onDiscoverModels:y,onMcpOAuth:b,onRemoveMcp:x,onRemoveProvider:S,onUpdateMcp:C,onUpdateProvider:w,openWorkspacePath:T,planLabel:E,presentation:D,mcpConnections:O,providers:k,queue:A,refreshResources:j,refreshWorkspace:M,resources:N,resourcesError:P,resourcesLoading:F,rightPanel:I,reopenRightPanel:L,saveSettings:R,selectedArtifactId:z,sessionId:B,selectedWorkspacePath:ee,setRightPanel:V,setSelectedWorkspacePath:te,settings:H,settingsError:U,settingsLoading:W,status:G,thinkingLevel:ne,themePreference:K,workspaceError:q,workspaceLoading:re,workspaceTree:J,sessionTreeSnapshot:ie,sessionTreeLoading:ae,sessionTreeError:oe,selectedSessionTreeEntryId:se,isSessionTreeStreaming:ce,refreshSessionTree:le,selectSessionTreeEntry:ue,rewindSessionTree:Y}){let de=od(m,G,B??``),fe=ad(t,G,B??``),pe=(0,X.useMemo)(()=>({activityLabel:e,artifactRuns:fe,chatMode:n,loadSession:d,loadSubagentSession:f,transcriptSummary:de,onOpenSubagentTab:h,models:_,planLabel:E,presentation:D,queue:A,refreshResources:j,resources:N,resourcesError:P,resourcesLoading:F,reopenRightPanel:L,rightPanel:I,selectedModelKey:g,selectedArtifactId:z,sessionId:B,setRightPanel:V,status:G,thinkingLevel:ne,sessionTreeSnapshot:ie,sessionTreeLoading:ae,sessionTreeError:oe,selectedSessionTreeEntryId:se,isSessionTreeStreaming:ce,refreshSessionTree:le,selectSessionTreeEntry:ue,rewindSessionTree:Y}),[e,fe,n,d,f,de,h,_,E,D,A,j,N,P,F,L,I,g,z,B,V,G,ne,ie,ae,oe,se,ce,le,ue,Y]),me=(0,X.useMemo)(()=>({loadWorkspaceFile:p,openWorkspacePath:T,refreshWorkspace:M,selectedWorkspacePath:ee,setSelectedWorkspacePath:te,workspaceError:q,workspaceLoading:re,workspaceTree:J}),[p,T,M,ee,te,q,re,J]);return{chatPanelData:pe,settingsActions:(0,X.useMemo)(()=>({composerIntent:r?{enabled:r.enabled,keySource:r.keySource,status:r.status===`loading`?`unverified`:r.status}:void 0,isLoadingMcp:s,isLoadingProviders:c,isUpdatingMcp:l,isUpdatingProvider:u,mcpConnections:O,modelCatalog:v,onComposerIntentChange:i,onComposerIntentKeyChange:a,onDiscoverModels:y,onMcpOAuth:b,onRemoveMcp:x,onRemoveProvider:S,onThemePreferenceChange:o,onUpdateMcp:C,onUpdateProvider:w,providers:k,saveSettings:R,settings:H,settingsError:U,settingsLoading:W,themePreference:K}),[r,o,s,c,l,u,O,v,i,a,y,b,x,S,C,w,k,R,H,U,W,K]),workspaceTreeContext:me}}function cd(e){return e===`running`||e===`recovering`?`streaming`:e===`error`||e===`failed`?`error`:`ready`}function ld(){return{status:`ready`,loading:!1,messages:[]}}function ud(e){return{assistantId:null,snapshot:{messages:e.messages,presentation:e.presentation,queue:Ic,sessionMetadata:e.session}}}function dd(e){return typeof e==`object`&&!!e&&e.type===`connected`&&typeof e.sessionId==`string`}function fd(e){try{let t=Er(e,`session`);if(!t)return;let n=JSON.parse(t);if(typeof n.generation!=`string`||n.generation.length===0||typeof n.lastEventId!=`number`||!Number.isInteger(n.lastEventId)||n.lastEventId<0){wr(e,`session`);return}return{generation:n.generation,lastEventId:n.lastEventId}}catch{wr(e,`session`);return}}function pd({client:e,enabled:t,child:n,loadSession:r,parentSessionId:i}){let[a,o]=(0,X.useState)(0),[s,c]=(0,X.useState)(ld),[l,d]=(0,X.useState)(!1),f=(0,X.useRef)(null),p=(0,X.useRef)(0),m=(0,X.useRef)(null),g=n?.id,_=n?.activeSessionId,v=n?.status,y=n?.error,b=(0,X.useCallback)(()=>o(e=>e+1),[]),x=(0,X.useCallback)(async t=>{let n=t.trim();if(!n||!i||!g||m.current)return;let a=new AbortController;m.current={controller:a,parentSessionId:i,childId:g},d(!0);let o=uc(n);c(e=>({...e,status:`streaming`,loading:!1,error:void 0,messages:[...e.messages,o]}));try{if(await e.streamMessage({sessionId:i,childId:g,message:n,streamingBehavior:`steer`},e=>{if(!a.signal.aborted){if(e.type===`error`)throw h(e);e.type===`start`&&c(e=>({...e,status:`streaming`}))}},a.signal),a.signal.aborted)return;try{let e=await r(i,g);if(a.signal.aborted)return;let t=ud(e);f.current=t,c({status:`ready`,loading:!1,messages:e.messages,presentation:e.presentation})}catch{c(e=>({...e,status:`ready`,loading:!1}))}}catch(e){if(a.signal.aborted)return;c(t=>({...t,status:`error`,loading:!1,messages:dc(t.messages,o.id),error:e instanceof Error?e:Error(String(e))}))}finally{m.current?.controller===a&&(m.current=null,d(!1))}},[g,e,r,i]),S=(0,X.useCallback)(()=>{let t=m.current;t?.controller.abort(),m.current=null;let n=t?.parentSessionId??i,r=t?.childId??g;n&&r&&e.abortSession({sessionId:n,childId:r}).catch(()=>void 0),d(!1),b()},[g,e,i,b]);return(0,X.useEffect)(()=>{let n=p.current+1;p.current=n;let o=()=>p.current===n;if(a>0&&(f.current=null),!t||!i||!g||!v){f.current=null,c(ld());return}let s=!1,d=null,m=null,x=0,S=!1,C=0,w,T=!1,E=cd(v),D=`pi:sse:cursor:subagent:${`${i}:${g}:${_??``}`}`,O=fd(D);O&&(w=O.generation,C=O.lastEventId);let k=()=>{if(!w){wr(D,`session`);return}Tr(D,JSON.stringify({generation:w,lastEventId:C}),`session`)},A=()=>{C=0,k()},j=()=>{m&&=(clearTimeout(m),null)},N=(e,t,n)=>{s||!o()||(E=t,f.current=e,c({status:t,loading:!1,messages:e.snapshot.messages,presentation:e.snapshot.presentation,...n?{error:n}:{}}))},P=()=>void 0,F=()=>{s||!o()||T||(x+=1,j(),m=setTimeout(P,Math.min(2e3,250*2**Math.min(x,3))))},I=async()=>{if(!(s||!o()||T||S)){S=!0;try{await r(i,g),!s&&o()&&F()}catch(e){if(s||!o())return;if(M(e)){T=!0,j();let t=e instanceof Error?e:Error(String(e));c(e=>({...e,status:`error`,loading:!1,error:t}));return}F()}finally{S=!1}}};return(async()=>{c(e=>({...e,loading:!0,error:void 0}));try{let t=await r(i,g);if(s||!o())return;let n=ud(t);if(f.current=n,c({status:E,loading:!1,messages:t.messages,presentation:t.presentation}),v!==`running`&&v!==`recovering`&&!l||typeof window>`u`||typeof EventSource>`u`)return;P=()=>{if(s||!o()||T)return;let t=e.openSubagentEvents(i,g,{...w?{streamGeneration:w}:{},...C>0?{lastEventId:C}:{}});d?.close();try{d=new EventSource(t)}catch{I();return}d.onopen=()=>{x=0},d.onmessage=e=>{if(s||!o()||T)return;let t=Number.parseInt(e.lastEventId??``,10);Number.isFinite(t)&&t>0&&(C=t,k());let n;try{n=JSON.parse(e.data)}catch{T=!0,j(),d?.close(),d=null,c(e=>({...e,status:`error`,loading:!1,error:Error(`The subagent stream received an invalid event. Reload the conversation to refresh it.`)}));return}if(dd(n)){n.streamGeneration&&w!==n.streamGeneration?(w=n.streamGeneration,A()):n.streamGeneration&&(w=n.streamGeneration),n.cursorReset&&A(),k();return}let r;try{r=u(jr,n,`Subagent chat stream event`)}catch(e){T=!0,j(),d?.close(),d=null,c(t=>({...t,status:`error`,loading:!1,error:e instanceof Error?e:Error(`Invalid subagent stream event`)}));return}if(r.type===`state`&&r.state.message===`resync-required`){A(),d?.close(),d=null,b();return}let i=f.current;if(!i)return;let a=Gc(i,r);if(r.type===`error`){T=!0,j(),d?.close(),d=null,N(a,`error`,h(r));return}if(r.type===`done`){N(a,`ready`);return}if(r.type===`session_snapshot`){let e=r.status===`error`?Error(y??`The subagent thread ended with an error.`):void 0;r.terminal&&(T=!0,j(),d?.close(),d=null),N(a,r.status,e);return}if(r.type===`state`){let e=r.state.name===`agent_start`||r.state.name===`turn_start`?`streaming`:r.state.name===`agent_end`||r.state.name===`turn_end`?`ready`:E;N(a,e);return}N(a,E)},d.onerror=()=>{d?.close(),d=null,I()}},P()}catch(e){if(s||!o())return;c(t=>({...t,status:`error`,loading:!1,error:e instanceof Error?e:Error(String(e))}))}})(),()=>{s=!0,T=!0,d?.close(),j()}},[_,g,y,v,e,t,r,i,b,a,l]),{...s,refresh:b,sendMessage:x,sending:l,stop:S}}var md={dismissedChildIds:new Set,scopeKey:``,selectedTabId:`main`};function hd(e,t){return e.scopeKey===t?e:{dismissedChildIds:new Set,scopeKey:t,selectedTabId:`main`}}function gd(e,t){return hd(e,t)}function _d(e,t){if(t.type===`scope`)return hd(e,t.scopeKey);let n=hd(e,t.scopeKey);if(t.type===`select`)return{...n,selectedTabId:t.tabId};if(t.type===`dismiss`)return{...n,dismissedChildIds:new Set(n.dismissedChildIds).add(t.tabId),selectedTabId:n.selectedTabId===t.tabId?`main`:n.selectedTabId};let r=new Set(n.dismissedChildIds);return r.delete(t.tabId),{...n,dismissedChildIds:r}}function vd(e){return Ln(e.sessionName?.trim()||e.label)||`Subagent`}function yd({activeProjectId:e,loadSubagentSession:t,presentation:n,rootSessionId:r,client:i=j}){let a=`${e??``}:${r??``}`,[o,s]=(0,X.useReducer)(_d,md);(0,X.useEffect)(()=>{s({type:`scope`,scopeKey:a})},[a]);let{dismissedChildIds:c,selectedTabId:l}=gd(o,a),u=(0,X.useMemo)(()=>nn(n.rlmChildren,n.rlmTree),[n.rlmChildren,n.rlmTree]),d=(0,X.useMemo)(()=>[{id:`main`,label:`Main agent`,kind:`main`},{id:`activity`,label:`Activity`,kind:`activity`},...u.filter(e=>!c.has(e.id)).map(e=>({id:e.id,label:vd(e),kind:`subagent`,status:e.status}))],[c,u]),f=d.some(e=>e.id===l)?l:`main`,p=u.find(e=>e.id===f),m=(0,X.useCallback)(e=>{e!==`activity`&&e!==`main`&&!u.some(t=>t.id===e)||(e!==`activity`&&e!==`main`&&s({type:`restore`,scopeKey:a,tabId:e}),s({type:`select`,scopeKey:a,tabId:e}))},[u,a]),h=(0,X.useCallback)(e=>{e===`main`||!u.some(t=>t.id===e)||s({type:`dismiss`,scopeKey:a,tabId:e})},[u,a]),g=(0,X.useCallback)(e=>m(e),[m]);return{activeTabId:f,closeTab:h,conversation:pd({client:i,child:p,enabled:f!==`main`&&!!p,loadSession:t,parentSessionId:r}),openChildTab:g,selectedChild:p,selectTab:m,tabs:d}}function bd({sessionMetadata:e,status:t,resumeSession:n,rightPanel:r}){let i=e.sessionId,[a,o]=(0,X.useState)(null),[s,c]=(0,X.useState)(!1),[l,u]=(0,X.useState)(null),[d,f]=(0,X.useState)(null),[p,m]=(0,X.useState)(null),h=(0,X.useRef)(0),g=(0,X.useCallback)(async()=>{if(!i){o(null),u(null),c(!1);return}let e=h.current;c(!0),u(null);try{let t=await j.getSessionTree(i);if(h.current!==e)return;o(t)}catch(t){if(h.current!==e)return;u(t instanceof Error?t.message:String(t))}finally{h.current===e&&c(!1)}},[i]);return(0,X.useEffect)(()=>{r===`session-tree`&&g()},[g,r]),(0,X.useEffect)(()=>{h.current+=1,c(!1),f(null),m(null),o(null),u(null)},[i]),{sessionTreeSnapshot:a,sessionTreeLoading:s,sessionTreeError:l,selectedSessionTreeEntryId:d,highlightedTranscriptMessageId:p,refreshSessionTree:g,selectSessionTreeEntry:(0,X.useCallback)((e,t)=>{f(e),m(t??null)},[]),rewindSessionTree:(0,X.useCallback)(async(t,r)=>{if(!i)throw Error(`No active session to rewind.`);let a=i,s=e,l=++h.current,d=()=>h.current===l;c(!0),u(null);try{if(await j.navigateSessionTree({sessionId:a,targetEntryId:t,...r?{expectedLeafId:r}:{}}),!d())throw Error(`Session changed during rewind.`);m(null);let e=await n(s);if(!d())throw Error(`Session changed during rewind.`);if(!e)throw Error(`Failed to resume session after rewind.`);let i=await j.getSessionTree(a);if(!d())throw Error(`Session changed during rewind.`);o(i),f(i.leafId)}catch(e){if(d())try{let e=await j.getSessionTree(a);d()&&(o(e),f(e.leafId))}catch{}throw e}finally{d()&&c(!1)}},[n,e,i]),isSessionTreeStreaming:t===`streaming`||t===`submitted`}}var xd=15e3;async function Sd(e,t,n){let r=typeof AbortSignal.timeout==`function`?AbortSignal.timeout(xd):void 0,i=n&&r&&typeof AbortSignal.any==`function`?AbortSignal.any([n,r]):n??r;return j.getWorkspaceFile(e,t,i)}function Cd(e,t){let{defaultProvider:n,defaultModel:r}=t.effective;return e.find(e=>e.provider===n&&e.modelId===r)?.id??(n&&r?`${n}/${r}`:void 0)}function wd(){let{forkPickerEntries:e,setForkPickerEntries:t,setSettingsDialogOpen:n,setSettingsInitialTab:r,settingsDialogOpen:i,settingsInitialTab:a}=Fu(),{chatMode:o,effortPickerOpen:s,modelPickerOpen:c,setChatMode:u,setEffortPickerOpen:d,setModelPickerOpen:f,setUploadedAttachments:h,setWorkspaceAttachments:k,uploadedAttachments:M,workspaceAttachments:P}=ps(),F=Zs(),[I,L]=(0,X.useState)(F.sessionMetadata.projectId??void 0),{data:R,isLoading:z}=O(),{data:B,isLoading:ee}=D(),{data:V,refetch:te}=T(),{mutateAsync:H,isPending:U}=C(),{mutateAsync:W,isPending:G}=v(),{mutateAsync:ne,isPending:K}=y(),{mutateAsync:q,isPending:re}=E(),{mutateAsync:J}=_(),{data:ie}=m(I),{data:ae}=x({enabled:i,projectId:I}),oe=A(),{commandPaletteOpen:se,handleResourceCanvasResizeStart:ce,handleResourceCanvasWidthChange:le,handleThemePreferenceChange:ue,initialSessionMetadata:Y,modelKey:de,modelSelection:fe,models:pe,openArtifact:me,openWorkspacePath:he,openPanelAction:ge,persistSession:_e,reopenRightPanel:ve,resourceCanvasWidth:ye,rightPanel:be,selectedArtifactId:xe,selectedWorkspacePath:Se,setCommandPaletteOpen:Ce,setModelKey:we,setRightPanel:Te,setSelectedWorkspacePath:Ee,setThinkingLevel:De,themePreference:Oe,thinkingLevel:ke}=Qu(ie,F);(0,X.useEffect)(()=>{if(Y.projectId&&Y.projectId!==I){L(Y.projectId);return}!I&&V?.projects[0]&&(L(V.projects[0].projectId),_e({projectId:V.projects[0].projectId}))},[I,Y.projectId,_e,V?.projects]);let{data:Ae,isLoading:je,error:Me,refetch:Ne}=g(I),{data:Pe}=w(I),{data:Fe,isLoading:Ie,error:Le}=S(I),Re=b(),{data:ze,isLoading:Be,error:Ve,refetch:He}=p(I,{enabled:be===`workspace`||be===`resources`}),Ue=Ae??null,We=ze??null,Ge=(0,X.useCallback)(()=>{Ne()},[Ne]),Ke=(0,X.useCallback)(async e=>{let t=await Re.mutateAsync({request:{settings:e},projectId:I}),n=Cd(pe,t);return n&&we(n),t},[I,pe,we,Re]),qe=(0,X.useCallback)(()=>{He()},[He]),{activityLabel:Je,answerQuestion:Ye,appendLocalMessage:Xe,deleteQueuedMessage:Ze,editQueuedMessage:Qe,deleteSession:$e,error:et,getMessages:tt,getSessionMetadata:nt,messages:rt,planLabel:it,persistOpenUIArtifact:at,presentation:ot,queue:st,renameSession:ct,resumeSession:lt,sendMessage:ut,sessionMetadata:dt,sessions:ft,startNewSession:pt,switchProject:mt,status:ht,stop:gt}=ml(fe,{initialSessionMetadata:Y,projectId:I,persistSession:_e}),_t=(0,X.useMemo)(()=>Fr(rt,ot,ht),[rt,ot,ht]),vt=(0,X.useRef)(void 0);(0,X.useEffect)(()=>{if(!ot.thinkingLevel)return;let e=`${dt.sessionId}:${ot.thinkingLevel}`;vt.current!==e&&(vt.current=e,De(ot.thinkingLevel))},[ot.thinkingLevel,dt.sessionId,De]);let{addWorkspaceAttachment:yt,browseProjectDirectories:bt,clearUploadedAttachments:xt,clearWorkspaceAttachments:St,createProject:Ct,deleteSessionForWorkspace:wt,handleAttach:Tt,removeUploadedAttachment:Et,removeWorkspaceAttachment:Dt,renameProject:Ot,restoreAttachments:kt,resumeSessionForWorkspace:At,resumeSessionForWorkspaceWithResult:jt,selectProject:Mt,startNewSessionForWorkspace:Nt,startNewSessionInProject:Pt,unregisterProject:Ft}=cc({activeProjectId:I,deleteSession:$e,getSessionMetadata:nt,refetchProjects:te,resumeSession:lt,sessionId:dt.sessionId,sessions:ft,setActiveProjectId:L,setSelectedWorkspacePath:Ee,setUploadedAttachments:h,setWorkspaceAttachments:k,startNewSession:pt,switchProject:mt}),It=Pn(st)??Je??it;Ys(rt,ht,(0,X.useCallback)(async({toolCallId:e,answer:t})=>{let n=await Ye({toolCallId:e,answer:t});if(!n.ok)throw Error(n.message??`Unable to skip the unsupported questionnaire.`)},[Ye]),(0,X.useCallback)(e=>{gt(),ds(e)},[gt]));let Lt=nc({messages:rt,resources:Ue,workspaceTree:We}),Rt=(0,X.useMemo)(()=>rt.length!==0&&ht!==`streaming`&&ht!==`submitted`&&rt[rt.length-1].role===`assistant`,[rt,ht]),zt=(0,X.useMemo)(()=>Rt?Lt:[],[Rt,Lt]),Bt=(0,X.useMemo)(()=>Us(Ue,Fe?.effective.enableSkillCommands??!1,Pe),[Pe,Ue,Fe]),Vt=(0,X.useMemo)(()=>Ks(We),[We]),Ht=(0,X.useCallback)(e=>{if(e.projectId&&e.projectId!==I){fi.error(`This panel action targets a different project.`);return}ge(e)},[I,ge]),Ut=(0,X.useCallback)(e=>{if(!e.projectId||e.projectId===I){ge(e);return}Mt(e.projectId).then(()=>ge(e)).catch(e=>ds(e))},[I,ge,Mt]),Wt=(0,X.useCallback)(e=>{r(e),n(!0)},[n,r]),Gt=(0,X.useCallback)(async e=>{let t=[...P,...M];xt(),St(),await ut({text:e,altKey:!1,mode:o,openUI:!0,openUIArtifact:!0,attachments:t})||kt(M,P)},[o,xt,St,kt,ut,M,P]),Kt=As(),{onDraftChange:qt,takeCached:Jt,command:Yt,dismissCommand:Xt}=ks(Kt.available),{onDraftChange:Zt,inlineCompletion:Qt}=xs({available:!0,sessionId:dt.sessionId}),$t=(0,X.useMemo)(()=>Yt?{forValue:Yt.forValue,text:`/${Yt.command}`,mode:`replace`,onDismiss:()=>{Xt(),Qt?.onDismiss?.()}}:Qt,[Xt,Qt,Yt]),en=(0,X.useCallback)(e=>{qt(e),Zt(e)},[qt,Zt]),{forkFromEntry:tn,handleLocalSlashSubmit:nn,handleSlashCommandSelect:rn}=Fc({appendLocalMessage:Xe,getMessages:tt,getSessionMetadata:nt,modelKey:de,models:pe,onForkPicker:t,onOpenUIRequest:Gt,openSettings:Wt,resumeSession:At,sessions:ft,setEffortPickerOpen:d,setModelKey:we,setModelPickerOpen:f,setThinkingLevel:De,startNewSession:Nt,takeCachedIntent:Jt}),an=(0,X.useCallback)(async e=>{try{await fetch(l(`/api/chat/intent`),{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({enabled:e})})}finally{Kt.refresh()}},[Kt]),on=(0,X.useCallback)(async e=>{try{await N(`/api/chat/intent`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({apiKey:e})})}finally{Kt.refresh()}},[Kt]),sn=(0,X.useMemo)(()=>ae?.models.map(Bn)??pe,[ae,pe]),cn=(0,X.useCallback)((e,t)=>Sd(e,I,t),[I]),ln=(0,X.useCallback)(e=>j.loadSession(e),[]),un=(0,X.useCallback)((e,t)=>j.loadSubagentSession(e,t),[]),dn=yd({activeProjectId:I,loadSubagentSession:un,presentation:ot,rootSessionId:dt.sessionId}),fn=bd({sessionMetadata:{sessionId:dt.sessionId,projectId:dt.projectId??I},status:ht,resumeSession:jt,rightPanel:be}),pn=(0,X.useCallback)(async e=>{let t=await oe.mutateAsync(e);if(t.error)throw Error(t.error);return t.models.map(Bn)},[oe]),{chatPanelData:mn,settingsActions:hn,workspaceTreeContext:gn}=sd({activityLabel:Je,artifactRuns:_t,chatMode:o,composerIntent:Kt,onComposerIntentChange:an,onComposerIntentKeyChange:on,handleThemePreferenceChange:ue,isLoadingMcp:ee,isLoadingProviders:z,isUpdatingMcp:K||re,isUpdatingProvider:U||G,loadSession:ln,loadSubagentSession:un,loadWorkspaceFile:cn,messages:rt,onOpenSubagentTab:dn.openChildTab,modelKey:de,models:pe,modelCatalog:sn,onDiscoverModels:pn,onMcpOAuth:J,onRemoveMcp:q,onRemoveProvider:W,onUpdateMcp:ne,onUpdateProvider:H,openWorkspacePath:he,planLabel:it,presentation:ot,mcpConnections:B?.connections??[],providers:R?.providers??[],queue:st,refreshResources:Ge,refreshWorkspace:qe,resources:Ue,resourcesError:Me,resourcesLoading:je,reopenRightPanel:ve,rightPanel:be,saveSettings:Ke,selectedArtifactId:xe,sessionId:dt.sessionId,selectedWorkspacePath:Se,setRightPanel:Te,setSelectedWorkspacePath:Ee,settings:Fe??null,settingsError:Le,settingsLoading:Ie||Re.isPending,status:ht,thinkingLevel:ke,themePreference:Oe,workspaceError:Ve,workspaceLoading:Be,workspaceTree:We,sessionTreeSnapshot:fn.sessionTreeSnapshot,sessionTreeLoading:fn.sessionTreeLoading,sessionTreeError:fn.sessionTreeError,selectedSessionTreeEntryId:fn.selectedSessionTreeEntryId,isSessionTreeStreaming:fn.isSessionTreeStreaming,refreshSessionTree:()=>void fn.refreshSessionTree(),selectSessionTreeEntry:fn.selectSessionTreeEntry,rewindSessionTree:fn.rewindSessionTree}),_n=Pu({activeTabId:dn.activeTabId,tabs:dn.tabs,onCloseTab:dn.closeTab,onNewSession:()=>fs(()=>Nt()),onSelectTab:dn.selectTab,onOpenSettings:()=>Wt()});return{session:{activeSessionId:dt.sessionId,activeProjectId:I,openPanelAction:Ut,projects:V?.projects??[],projectSessions:ft,sessions:ft,browseProjectDirectories:bt,createProject:Ct,deleteSession:wt,renameProject:Ot,renameSession:ct,resumeSession:At,selectProject:Mt,startNewSession:Nt,startNewSessionInProject:Pt,unregisterProject:Ft},conversation:{activityLabel:Je,artifactRuns:_t,deleteQueuedMessage:Ze,editQueuedMessage:Qe,error:et,highlightedTranscriptMessageId:fn.highlightedTranscriptMessageId,messages:rt,openArtifact:me,openPanelAction:Ht,persistOpenUIArtifact:at,presentation:ot,queue:st,sendMessage:ut,status:ht,stop:gt},agentTabs:dn,composer:{chatMode:o,clearUploadedAttachments:xt,clearWorkspaceAttachments:St,effortPickerOpen:s,handleAttach:Tt,handleLocalSlashSubmit:nn,handleSlashCommandSelect:rn,infoDescription:It,inputSuggestionItems:zt,inlineCompletion:$t,onComposerDraftChange:en,workspaceReferenceSuggestions:Vt,modelKey:de,modelPickerOpen:c,models:pe,removeUploadedAttachment:Et,removeWorkspaceAttachment:Dt,addWorkspaceAttachment:yt,restoreAttachments:kt,setChatMode:u,setEffortPickerOpen:d,setModelKey:we,setModelPickerOpen:f,setThinkingLevel:De,slashCommands:Bt,thinkingLevel:ke,uploadedAttachments:M,workspaceAttachments:P},panels:{chatPanelData:mn,handleResourceCanvasResizeStart:ce,handleResourceCanvasWidthChange:le,resourceCanvasWidth:ye,rightPanel:be,setRightPanel:Te,settingsActions:hn,workspaceTreeContext:gn},dialogs:{commandPaletteOpen:se,forkFromEntry:tn,forkPickerEntries:e,setCommandPaletteOpen:Ce,setForkPickerEntries:t,setSettingsDialogOpen:n,setSettingsInitialTab:r,settingsDialogOpen:i,settingsInitialTab:a},chrome:{handleThemePreferenceChange:ue,header:_n,themePreference:Oe}}}var Td={"--chat-chrome-top":`52px`,"--chat-header-height":`var(--density-header-height, 44px)`,"--chat-header-top":`0px`};function Ed({children:e,headerCenter:t,headerLeft:n,headerRight:r,panel:i}){return(0,Z.jsxs)(`div`,{className:`flex h-svh min-w-0 overflow-hidden`,"data-testid":`chat-shell`,style:Td,children:[(0,Z.jsxs)(`div`,{className:`relative flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden`,"data-testid":`chat-column`,children:[(0,Z.jsxs)(`header`,{className:F(Qr,`grid h-[var(--chat-header-height)] min-h-[var(--chat-header-height)] shrink-0 grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-2 border-b border-border/70 px-[var(--density-pad-x)] py-2`),"data-testid":`chat-header`,children:[(0,Z.jsx)(`div`,{className:`min-w-0 justify-self-start`,children:n}),(0,Z.jsx)(`div`,{className:`flex min-w-0 items-center justify-start gap-1 overflow-visible justify-self-stretch`,children:t}),(0,Z.jsx)(`div`,{className:`min-w-0 justify-self-end`,children:r})]}),(0,Z.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden`,children:e})]}),i]})}var Dd=`fleet-prime:v1:panel-keybindings`,Od={toggleResources:{code:`Digit1`,ctrlOrMeta:!0,shift:!0},toggleWorkspace:{code:`Digit2`,ctrlOrMeta:!0,shift:!0},toggleArtifacts:{code:`Digit3`,ctrlOrMeta:!0,shift:!0},toggleRepl:{code:`Digit4`,ctrlOrMeta:!0,shift:!0},toggleSubagents:{code:`Digit5`,ctrlOrMeta:!0,shift:!0},toggleCommandPalette:{code:`KeyK`,ctrlOrMeta:!0},closePanel:{code:`Escape`},focusPanel:{code:`KeyP`,ctrlOrMeta:!0,shift:!0},focusChat:{code:`KeyC`,ctrlOrMeta:!0,shift:!0}};function kd(){try{let e=Er(Dd);if(!e)return Od;let t=JSON.parse(e);return{...Od,...t}}catch{return Od}}function Ad(e,t){return e.code===t.code&&(e.ctrlKey||e.metaKey)===!!t.ctrlOrMeta&&e.shiftKey===!!t.shift&&e.altKey===!!t.alt}function jd(){document.querySelector(`[data-fleet-chat-focus] textarea, [data-fleet-chat-focus] [contenteditable='true'], [data-fleet-chat-focus] input`)?.focus({preventScroll:!0})}function Md({onCommandPaletteToggle:e,onClosePanel:t,rightPanel:n,setRightPanel:r}){(0,X.useEffect)(()=>{let i=kd(),a=a=>{let o=e=>Ad(a,i[e]),s=!0;o(`toggleResources`)?r(n===`resources`?null:`resources`):o(`toggleWorkspace`)?r(n===`workspace`?null:`workspace`):o(`toggleArtifacts`)?r(n===`artifacts`?null:`artifacts`):o(`toggleRepl`)?r(n===`repl`?null:`repl`):o(`toggleSubagents`)?r(n===`subagents`?null:`subagents`):e&&o(`toggleCommandPalette`)?e():n&&o(`closePanel`)?t?t():(r(null),jd()):n&&o(`focusPanel`)?document.querySelector(`[data-fleet-panel-focus]`)?.focus({preventScroll:!0}):o(`focusChat`)?jd():s=!1,s&&(a.preventDefault(),a.stopPropagation())};return document.addEventListener(`keydown`,a),()=>document.removeEventListener(`keydown`,a)},[e,t,n,r])}function Nd({children:e,dataTestid:t,headerLeading:n,loading:r,onClose:i,onRefresh:a,onResizeStart:o,onWidthChange:s,open:c,headerActions:l,title:u,titleIcon:d,width:f}){let p=G(),m=(0,X.useRef)(null);(0,X.useEffect)(()=>{c&&m.current?.focus({preventScroll:!0})},[c]);let h=Wu();return(0,Z.jsx)(W,{children:c&&(0,Z.jsxs)(U.aside,{ref:m,initial:!p&&{x:f,opacity:.8},animate:{x:0,opacity:1},exit:p?{opacity:0}:{x:f,opacity:.8},transition:p?{duration:0}:{duration:.2,ease:`easeInOut`},className:`relative h-full shrink-0 border-l border-border/70 bg-background/95 outline-none hidden min-[960px]:flex`,"data-fleet-panel-focus":!0,"data-testid":t,style:{width:f},tabIndex:-1,role:`dialog`,"aria-label":u,onKeyDown:e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),i())},children:[(0,Z.jsx)(`button`,{type:`button`,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize ${u} panel`,"aria-valuenow":Math.round(f),"aria-valuemin":320,"aria-valuemax":h,tabIndex:0,className:`absolute top-0 bottom-0 left-0 z-10 w-2 -translate-x-1 cursor-col-resize touch-none bg-transparent transition-colors outline-none hover:bg-foreground/10 focus-visible:bg-foreground/10 focus-visible:ring-1 focus-visible:ring-ring`,"data-testid":`pi-resources-resize-handle`,onPointerDown:o,onKeyDown:e=>{e.key===`ArrowLeft`?(e.preventDefault(),s?.(Gu(f+16))):e.key===`ArrowRight`?(e.preventDefault(),s?.(Gu(f-16))):e.key===`Home`?(e.preventDefault(),s?.(320)):e.key===`End`&&(e.preventDefault(),s?.(h))}}),(0,Z.jsxs)(`div`,{className:`flex h-full min-w-0 flex-1 flex-col overflow-hidden`,children:[(0,Z.jsxs)(`div`,{className:`flex h-[var(--chat-header-height,var(--density-header-height,44px))] min-h-[var(--chat-header-height,var(--density-header-height,44px))] min-w-0 shrink-0 items-center justify-between gap-2 border-b border-border/60 px-[var(--density-pad-x)] py-1`,children:[(0,Z.jsx)(`div`,{className:`min-w-0 flex-1`,children:n??(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 text-body font-medium text-foreground/80`,children:[(0,Z.jsx)(d,{className:`size-3.5 shrink-0`}),(0,Z.jsx)(`span`,{children:u})]})}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[l,(0,Z.jsx)(Sr,{type:`button`,onClick:a,disabled:!a,variant:`ghost`,size:`icon-compact`,className:`relative after:absolute after:inset-x-0 after:-top-1.5 after:-bottom-1.5 text-foreground/40 hover:text-foreground/70 disabled:cursor-not-allowed disabled:opacity-35`,"aria-label":`Refresh ${u}`,title:`Refresh ${u}`,children:(0,Z.jsx)(gr,{"data-icon":`inline-start`,className:`size-3.5 ${r?`animate-spin`:``}`})}),(0,Z.jsx)(Sr,{type:`button`,onClick:i,variant:`ghost`,size:`icon-compact`,className:`relative after:absolute after:inset-x-0 after:-top-1.5 after:-bottom-1.5 text-foreground/40 hover:text-foreground/70`,"aria-label":`Close panel`,title:`Close panel`,children:(0,Z.jsx)(xr,{"data-icon":`inline-start`,className:`size-3.5`})})]})]}),(0,Z.jsx)(`div`,{className:`flex-1 overflow-y-auto overscroll-contain px-[var(--density-pad-x)] py-4`,children:e})]})]})})}var Pd=`(min-width: 960px)`;function Fd(e){if(typeof window>`u`||typeof window.matchMedia!=`function`)return()=>void 0;let t=window.matchMedia(Pd);return t.addEventListener(`change`,e),()=>t.removeEventListener(`change`,e)}function Id(){return typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(Pd).matches}function Ld(){return!1}function Rd(){return(0,X.useSyncExternalStore)(Fd,Id,Ld)}function zd({handleResourceCanvasResizeStart:e,onClose:t,resourceCanvasWidth:n,onResourceCanvasWidthChange:r}){let i=mi(),a=pi(),{rightPanel:o,setRightPanel:s}=i,c=o!==null,l=Rd(),u=o?dr(o):null,d=u?.component,f=o?lr(o):void 0,p=f&&o?f.panels.indexOf(o):-1,m=(0,Z.jsxs)(Z.Fragment,{children:[f&&f.panels.length>1?(0,Z.jsx)(_u,{"aria-label":`${f.title} views`,className:`mb-3 w-fit`,idPrefix:`right-panel-${f.id}-views`,selectedIndex:p,onSelect:e=>{let t=f.panels[e];t&&s(t)},children:f.panels.map((e,t)=>(0,Z.jsx)(vu,{index:t,label:e===`workspace`?`Files`:e===`session-insights`?`Insights`:e===`session-tree`?`Tree`:e===`resources`?`Skills`:`Artifacts`},e))}):null,d?(0,Z.jsx)(d,{}):null]}),h=u?.loadingSource===`resources`?i.resourcesLoading:u?.loadingSource===`workspace`&&a.workspaceLoading,g=u?.refreshSource===`resources`?i.refreshResources:u?.refreshSource===`workspace`?a.refreshWorkspace:void 0;return(0,Z.jsx)(Z.Fragment,{children:l?(0,Z.jsx)(Nd,{dataTestid:u?.dataTestid,headerLeading:(0,Z.jsx)(xu,{compact:!0,idPrefix:`right-panel-desktop`}),loading:h,onClose:t,onRefresh:g,onResizeStart:e,onWidthChange:r,open:c,title:u?.title??``,titleIcon:u?.icon??cr,width:n,children:m}):(0,Z.jsx)(Tu,{dataTestid:u?.mobileDataTestid,icon:u?.icon,onClose:t,open:c,title:u?.title??``,children:m})})}function Bd({session:e,onClose:t,onRenameSession:n}){let[r,i]=(0,X.useState)(()=>Kn(e));return(0,Z.jsx)(Si,{open:!0,onOpenChange:e=>!e&&t(),children:(0,Z.jsxs)(_i,{children:[(0,Z.jsx)(xi,{children:`Rename session`}),(0,Z.jsx)(gi,{children:`Choose a local display title for this Fleet Prime session.`}),(0,Z.jsx)(Ir,{value:r,onChange:e=>i(e.target.value),"aria-label":`Session title`,autoFocus:!0}),(0,Z.jsxs)(yi,{children:[(0,Z.jsx)(bi,{onClick:t,children:`Cancel`}),(0,Z.jsx)(vi,{disabled:!r.trim(),onClick:()=>{r.trim()&&(n(e.sessionId,r.trim()),t())},children:`Rename`})]})]})})}function Vd({project:e,onClose:t,onRenameProject:n}){let[r,i]=(0,X.useState)(e.name);return(0,Z.jsx)(Si,{open:!0,onOpenChange:e=>!e&&t(),children:(0,Z.jsxs)(_i,{children:[(0,Z.jsx)(xi,{children:`Rename project`}),(0,Z.jsx)(gi,{children:`This changes the display name only. The registered directory stays the same.`}),(0,Z.jsx)(Ir,{value:r,onChange:e=>i(e.target.value),"aria-label":`Project name`,autoFocus:!0}),(0,Z.jsxs)(yi,{children:[(0,Z.jsx)(bi,{onClick:t,children:`Cancel`}),(0,Z.jsx)(vi,{disabled:!r.trim()||!n,onClick:()=>{r.trim()&&(n?.(e.projectId,r.trim()),t())},children:`Rename`})]})]})})}function Hd({session:e,onClose:t,onDeleteSession:n}){return(0,Z.jsx)(Si,{open:!0,onOpenChange:e=>!e&&t(),children:(0,Z.jsxs)(_i,{children:[(0,Z.jsx)(xi,{children:`Delete session?`}),(0,Z.jsx)(gi,{children:`This removes the Fleet Prime session and its managed session artifacts. This cannot be undone.`}),(0,Z.jsxs)(yi,{children:[(0,Z.jsx)(bi,{onClick:t,children:`Cancel`}),(0,Z.jsx)(vi,{className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,onClick:()=>{n(e.sessionId),t()},children:`Delete`})]})]})})}function Ud({project:e,onClose:t,onUnregisterProject:n}){return(0,Z.jsx)(Si,{open:!0,onOpenChange:e=>!e&&t(),children:(0,Z.jsxs)(_i,{children:[(0,Z.jsx)(xi,{children:`Unregister project?`}),(0,Z.jsx)(gi,{children:`The directory and its sessions remain intact. Existing sessions will move to Unassigned until the directory is registered again.`}),(0,Z.jsxs)(yi,{children:[(0,Z.jsx)(bi,{onClick:t,children:`Cancel`}),(0,Z.jsx)(vi,{className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,onClick:()=>{n?.(e.projectId),t()},children:`Unregister`})]})]})})}function Wd({activeDialog:e,onClose:t,onRenameSession:n,onDeleteSession:r,onRenameProject:i,onUnregisterProject:a}){if(!e)return null;switch(e.kind){case`rename-session`:return(0,Z.jsx)(Bd,{session:e.session,onClose:t,onRenameSession:n});case`rename-project`:return(0,Z.jsx)(Vd,{project:e.project,onClose:t,onRenameProject:i});case`delete-session`:return(0,Z.jsx)(Hd,{session:e.session,onClose:t,onDeleteSession:r});case`unregister-project`:return(0,Z.jsx)(Ud,{project:e.project,onClose:t,onUnregisterProject:a});case`create-project`:return null}}function Gd(){return()=>{}}function Kd(){return!0}function qd(){return!1}function Jd(){return(0,X.useSyncExternalStore)(Gd,Kd,qd)}var Yd=5,Xd=[`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex="-1"])`].join(`,`);function Zd(e,t){let n=e-(t-1)/2,r=Math.abs(n),i=Math.max(0,2-r)*8;return{x:n*44,y:8-i,rotate:n*6,scale:r===0?1.04:r===1?.95:.88,opacity:r===0?1:r===1?.78:.58,zIndex:10-r}}function Qd({title:e,countText:t,dialogTitleId:n,previewItems:r,isExpanded:i,isClosing:a,reduce:o,transition:s,dialogRef:c,closeButtonRef:l,closeOverlay:u}){return!i&&!a?null:(0,Z.jsxs)(`div`,{ref:c,role:`dialog`,"aria-modal":`true`,"aria-labelledby":n,"aria-hidden":i?void 0:`true`,className:F(`fixed inset-0 z-50 flex items-start justify-center overflow-y-auto sm:items-center`,a&&`pointer-events-none`),children:[(0,Z.jsx)(W,{initial:!1,children:i?(0,Z.jsx)(U.button,{type:`button`,tabIndex:-1,"aria-label":`Close file overlay`,onClick:u,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:o?{duration:0}:{duration:.18},className:`absolute inset-0 cursor-default bg-background/80 backdrop-blur-xl`},`project-files-backdrop`):null}),(0,Z.jsxs)(`div`,{className:`relative z-10 w-full max-w-5xl px-6 py-8`,children:[(0,Z.jsx)(W,{initial:!1,children:i?(0,Z.jsxs)(U.div,{initial:{opacity:0,y:o?0:8},animate:{opacity:1,y:0},exit:{opacity:0,y:o?0:-8},transition:o?{duration:0}:{duration:.18},className:`mb-6 flex items-center justify-between gap-4`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h2`,{id:n,className:`text-xl font-medium text-foreground`,children:e}),(0,Z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:t})]}),(0,Z.jsx)(`button`,{ref:l,type:`button`,onClick:u,"aria-label":`Close ${e}`,className:`flex size-10 items-center justify-center rounded-full border border-foreground/10 bg-background/50 text-muted-foreground backdrop-blur-xl transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,children:(0,Z.jsx)(xr,{className:`size-4`,"aria-hidden":`true`})})]},`project-files-header`):null}),(0,Z.jsx)(`div`,{className:`grid grid-cols-2 place-items-center gap-3 sm:grid-cols-3 lg:grid-cols-5`,children:i?r.map(e=>(0,Z.jsx)(U.div,{layoutId:`file-${e.id}`,transition:s,className:`aspect-[3/4] w-full max-w-40 overflow-hidden rounded-xl border border-foreground/10 bg-background/50 backdrop-blur-xl`,children:e.content},e.id)):null})]})]})}function $d({title:e,description:t=`Updated recently`,previews:n=[],count:r=n.length,itemLabel:i=`file`,open:a,defaultOpen:o=!1,onOpenChange:s,expanded:c,defaultExpanded:l=!1,onExpandedChange:u,onClick:d,disabled:f=!1,ariaLabel:p,className:m}){let h=G(),g=di(),_=(0,X.useId)(),v=`${_}-title`,y=(0,X.useRef)(!1),b=(0,X.useRef)(!1),x=(0,X.useRef)(!1),S=(0,X.useRef)(null),C=(0,X.useRef)(null),w=(0,X.useRef)(null),T=Jd(),[E,D]=(0,X.useState)(o),[O,k]=(0,X.useState)(l),[A,j]=(0,X.useState)(!1),M=a!==void 0,N=c!==void 0,P=c??O,I=(a??E)||P,L=n.slice(0,Yd),R=h?{duration:0}:ee,z=`${r} ${i}${r===1?``:`s`}`,B=(0,X.useCallback)(e=>{f||(M||D(e),s?.(e))},[f,s,M]),V=(0,X.useCallback)(e=>{f||L.length===0||(N||k(e),u?.(e))},[f,N,u,L.length]),H=(0,X.useCallback)(()=>{j(!1),x.current=!0,requestAnimationFrame(()=>S.current?.focus())},[]),ne=(0,X.useCallback)(()=>{j(!0),B(!1),V(!1)},[V,B]),K=(0,X.useEffectEvent)(ne);(0,X.useEffect)(()=>{h&&A&&H()},[H,A,h]),(0,X.useEffect)(()=>{if(!P)return;let e=document.body.style.overflow,t=requestAnimationFrame(()=>C.current?.focus());document.body.style.overflow=`hidden`;let n=e=>{if(e.key===`Escape`){e.preventDefault(),K();return}if(e.key!==`Tab`||!w.current)return;let t=Array.from(w.current.querySelectorAll(Xd)).filter(e=>e.tabIndex>=0),n=t[0],r=t.at(-1);!n||!r||(e.shiftKey&&document.activeElement===n?(e.preventDefault(),r.focus()):!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n.focus()))};return document.addEventListener(`keydown`,n),()=>{cancelAnimationFrame(t),document.body.style.overflow=e,document.removeEventListener(`keydown`,n)}},[P]);let q=()=>{j(!1),V(!0),B(!0),d?.()},re=(0,Z.jsx)(Qd,{title:e,countText:z,dialogTitleId:v,previewItems:L,isExpanded:P,isClosing:A,reduce:h??!1,transition:R,dialogRef:w,closeButtonRef:C,closeOverlay:ne});return(0,Z.jsxs)(Ai,{id:_,children:[(0,Z.jsxs)(U.button,{ref:S,type:`button`,disabled:f,"aria-label":p,"aria-haspopup":`dialog`,"aria-expanded":P,"data-open":I?`true`:`false`,"data-expanded":P?`true`:`false`,tabIndex:P?-1:void 0,onPointerEnter:()=>{g&&(y.current=!0,B(!0))},onPointerLeave:()=>{g&&(y.current=!1,!P&&!A&&B(b.current))},onFocus:()=>{if(x.current){x.current=!1,b.current=!1;return}b.current=!0,B(!0)},onBlur:()=>{b.current=!1,!P&&!A&&B(y.current)},onClick:q,whileTap:h||f?void 0:{scale:.96},transition:h?{duration:0}:te,className:F(`relative block h-56 w-72 select-none rounded-2xl text-left outline-none [perspective:1200px] focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-4 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50`,m),children:[(0,Z.jsx)(U.span,{"aria-hidden":`true`,animate:{rotateX:I&&!h?15:0},transition:R,className:`absolute inset-0 rounded-2xl border border-foreground/10 bg-background/25 backdrop-blur-xl [transform-origin:center_bottom]`}),(0,Z.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-0`,children:(0,Z.jsx)(`span`,{className:`absolute left-1/2 top-0 block size-0`,children:(0,Z.jsx)(W,{initial:!1,children:P?null:L.map((e,t)=>{let n=Zd(t,L.length);return(0,Z.jsx)(U.span,{layoutId:`file-${e.id}`,initial:!1,animate:I&&!h?{x:n.x*1.4,y:n.y-8,rotate:n.rotate*1.3,scale:n.scale*1.02,opacity:Math.min(1,n.opacity+.18)}:{x:n.x,y:n.y,rotate:n.rotate,scale:n.scale,opacity:n.opacity},transition:R,onLayoutAnimationComplete:()=>{A&&t===0&&H()},className:`absolute left-0 top-0 -ml-12 block h-40 w-24 overflow-hidden rounded-lg border border-foreground/10 bg-background/45 backdrop-blur-lg`,style:{zIndex:n.zIndex},children:e.content},e.id)})})})}),(0,Z.jsxs)(U.span,{initial:!1,animate:{rotateX:I&&!h?-25:0},transition:R,className:`absolute inset-x-0 bottom-0 z-20 overflow-hidden rounded-2xl border border-foreground/10 bg-background/60 backdrop-blur-2xl [backface-visibility:hidden] [transform-origin:center_bottom]`,children:[(0,Z.jsx)(`span`,{className:`flex h-16 items-center px-4`,children:(0,Z.jsx)(`span`,{className:`line-clamp-2 text-xl font-medium leading-tight text-foreground`,children:e})}),(0,Z.jsxs)(`span`,{className:`flex h-12 items-center justify-between gap-3 border-t border-foreground/10 px-4`,children:[(0,Z.jsx)(`span`,{className:`shrink-0 text-sm font-medium text-foreground/70`,children:z}),(0,Z.jsx)(`span`,{className:`truncate text-sm text-muted-foreground`,children:t})]})]})]}),T?(0,Wi.createPortal)(re,document.body):null]})}var ef=[],tf=[];function nf(e){return e.kind===`folder`||e.kind===`project`}function rf(e,t,n=0,r=null){return e.flatMap(e=>{let i={item:e,depth:n,parentId:r};return!e.children?.length||!t.has(e.id)?[i]:[i,...rf(e.children,t,n+1,e.id)]})}function af(e,t,n){return e.map(e=>({...e,label:e.id===t?n:e.label,children:e.children?af(e.children,t,n):void 0}))}function of(e,t){if(e.kind===`action`)return null;let n=e.kind===`folder`||e.kind===`project`?t?In:ar:bn;return(0,Z.jsx)(n,{className:`size-4`})}function sf({active:e,children:t}){let n=G()??!1,r=(0,X.useRef)(null),i=(0,X.useRef)(null),[a,o]=(0,X.useState)(0);(0,X.useEffect)(()=>{let e=()=>{let e=r.current,t=i.current;!e||!t||o(t.scrollWidth>e.clientWidth?t.scrollWidth+24:0)};e();let t=new ResizeObserver(e);return r.current&&t.observe(r.current),i.current&&t.observe(i.current),()=>t.disconnect()},[]);let s=e&&a>0&&!n;return(0,Z.jsx)(`span`,{ref:r,className:F(`block min-w-0 flex-1 overflow-hidden`,!s&&`truncate`),title:t,children:s?(0,Z.jsxs)(U.span,{className:`flex w-max items-center gap-6 whitespace-nowrap`,animate:{x:[0,-a]},transition:{duration:Math.max(2.4,a/34),ease:`linear`,repeat:1/0,repeatDelay:2},children:[(0,Z.jsx)(`span`,{ref:i,children:t}),(0,Z.jsx)(`span`,{"aria-hidden":`true`,children:t})]}):(0,Z.jsx)(`span`,{ref:i,children:t})})}function cf({label:e,onCommit:t,onCancel:n}){let[r,i]=(0,X.useState)(e),a=(0,X.useRef)(null),o=(0,X.useRef)(!1);return(0,X.useEffect)(()=>{o.current=!1,i(e),requestAnimationFrame(()=>{a.current?.focus(),a.current?.select()})},[e]),(0,Z.jsx)(`input`,{ref:a,value:r,"aria-label":`Rename ${e}`,onChange:e=>i(e.target.value),onClick:e=>e.stopPropagation(),onDoubleClick:e=>e.stopPropagation(),onBlur:()=>{o.current||t(r)},onKeyDown:e=>{e.stopPropagation(),e.key===`Enter`&&(o.current=!0,t(r)),e.key===`Escape`&&(o.current=!0,n())},className:`mx-1 h-7 min-w-0 flex-1 rounded-md border border-border bg-background px-2 text-base text-foreground outline-none focus-visible:ring-2 focus-visible:ring-ring md:text-sm`})}function lf({item:e,menuOpen:t,onMenuOpenChange:n,onRenameStart:r,renderMenu:i}){let a=i?.(e,{close:()=>n(!1),rename:()=>{n(!1),r()}})??(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{n(!1),r()},className:`flex h-8 w-full items-center gap-2 rounded-lg px-2.5 text-start text-xs text-foreground outline-none transition-colors hover:bg-muted focus-visible:bg-muted focus-visible:ring-2 focus-visible:ring-ring`,children:[(0,Z.jsx)(mr,{"aria-hidden":`true`,className:`size-3.5`}),`Rename`]});return(0,Z.jsxs)(go,{open:t,onOpenChange:n,children:[(0,Z.jsx)(_o,{render:(0,Z.jsx)(Sr,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":`Actions for ${e.label}`,onClick:e=>e.stopPropagation(),className:`size-8 shrink-0 opacity-0 outline-none transition-opacity hover:bg-foreground/5 focus-visible:opacity-100 group-hover/resource:opacity-100 group-data-[menu-open=true]/resource:opacity-100`,children:(0,Z.jsx)(la,{"aria-hidden":`true`,className:`size-4`})})}),(0,Z.jsx)(vo,{side:`bottom`,align:`end`,sideOffset:8,className:`w-40 p-1.5`,children:(0,Z.jsx)(`div`,{"data-sidebar-resource-menu":e.id,children:a})})]})}function uf(e,t,n,r,i){return F(`group/resource relative flex min-h-8 min-w-0 cursor-pointer items-center gap-2 rounded-sm pe-0 text-body outline-none`,`text-muted-foreground transition-colors hover:bg-muted hover:text-foreground`,`focus-visible:bg-muted/70 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset`,`data-[menu-open=true]:bg-muted data-[menu-open=true]:text-foreground`,!e&&t&&`bg-muted text-foreground`,e&&n&&`bg-muted/55 text-foreground ring-1 ring-border/70`,r===`action`&&`text-xs text-muted-foreground`,i&&`cursor-not-allowed opacity-45`)}function df(e){let t=G()??!1,[n,r]=(0,X.useState)(!1),i=nf(e.row.item),a=e.renderIcon?.(e.row.item),o=a===void 0?of(e.row.item,e.expanded):a,{item:s}=e.row;return(0,Z.jsxs)(U.div,{ref:e.setRef,layout:`position`,transition:t?{duration:0}:ee,role:`treeitem`,"aria-level":e.row.depth+1,"aria-selected":i?void 0:e.active,"aria-expanded":i?e.expanded:void 0,"aria-disabled":s.disabled||void 0,tabIndex:e.focused?0:-1,"data-menu-open":e.menuOpen||void 0,"data-kind":s.kind,onFocus:e.onFocus,onKeyDown:e.onKeyDown,onClick:t=>{t.defaultPrevented||e.renaming||s.disabled||(i?e.onContainerSelect():e.onSelect())},onDoubleClick:t=>{i||s.kind===`action`||s.disabled||(t.preventDefault(),e.onRenameStart())},onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),className:uf(i,e.active,e.containerActive,s.kind,s.disabled),style:{paddingInlineStart:`${8+(e.row.depth+(s.indent??0))*14}px`},children:[o!==null&&(0,Z.jsx)(`span`,{"aria-hidden":`true`,className:`grid size-4 shrink-0 place-items-center`,children:o}),e.renaming?(0,Z.jsx)(cf,{label:s.label,onCommit:e.onRenameCommit,onCancel:e.onRenameCancel}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(sf,{active:n||e.menuOpen,children:s.label}),e.renderSecondaryAction?.(s),!s.disabled&&s.kind!==`action`&&(0,Z.jsx)(lf,{item:s,menuOpen:e.menuOpen,onMenuOpenChange:e.onMenuOpenChange,onRenameStart:e.onRenameStart,renderMenu:e.renderMenu})]})]})}function ff({items:e=ef,onRename:t,activeId:n=null,activeContainerId:r,onActiveChange:i,onContainerSelect:a,expandedIds:o,onExpandedIdsChange:s,renderIcon:c,renderSecondaryAction:l,renderMenu:u,className:d}){let[f,p]=(0,X.useState)(e),[m,h]=(0,X.useState)(()=>new Set(tf)),[g,_]=(0,X.useState)(n),[v,y]=(0,X.useState)(null),[b,x]=(0,X.useState)(null),[S,C]=(0,X.useState)(``),w=(0,X.useRef)(new Map),T=(0,X.useMemo)(()=>o===void 0?m:new Set(o),[o,m]);(0,X.useEffect)(()=>{p(e)},[e]);let E=(0,X.useMemo)(()=>rf(f,T),[T,f]);(0,X.useEffect)(()=>{g&&E.some(e=>e.item.id===g)||_(E[0]?.item.id??null)},[E,g]),(0,X.useEffect)(()=>{if(!v)return;let e=requestAnimationFrame(()=>{Array.from(document.querySelectorAll(`[data-sidebar-resource-menu]`)).find(e=>e.dataset.sidebarResourceMenu===v)?.querySelector(`button, a[href]`)?.focus()});return()=>cancelAnimationFrame(e)},[v]);let D=(0,X.useCallback)(e=>{_(e),requestAnimationFrame(()=>w.current.get(e)?.focus())},[]),O=(0,X.useCallback)(e=>{let t=new Set(T);t.has(e)?t.delete(e):t.add(e),o===void 0&&h(t),s?.([...t])},[o,T,s]),k=(0,X.useCallback)((e,t)=>{let n=E.findIndex(({item:e})=>e.id===t.item.id),r=E[n-1],o=E[n+1];if(e.key===`ArrowDown`&&o){e.preventDefault(),D(o.item.id);return}if(e.key===`ArrowUp`&&r){e.preventDefault(),D(r.item.id);return}if(e.key===`Home`&&E[0]){e.preventDefault(),D(E[0].item.id);return}if(e.key===`End`&&E.at(-1)){e.preventDefault(),D(E.at(-1)?.item.id??t.item.id);return}if(t.item.disabled){e.key===`ArrowLeft`&&t.parentId?(e.preventDefault(),D(t.parentId)):([`ArrowRight`,`Enter`,` `,`F2`,`ContextMenu`].includes(e.key)||e.shiftKey&&e.key===`F10`)&&e.preventDefault();return}e.key===`ArrowRight`&&nf(t.item)?(e.preventDefault(),T.has(t.item.id)?o?.parentId===t.item.id&&D(o.item.id):O(t.item.id)):e.key===`ArrowLeft`?(e.preventDefault(),T.has(t.item.id)?O(t.item.id):t.parentId&&D(t.parentId)):e.key===`Enter`||e.key===` `?(e.preventDefault(),nf(t.item)?a?a(t.item.id):O(t.item.id):i?.(t.item.id)):e.key===`F2`&&t.item.kind!==`action`?(e.preventDefault(),x(t.item.id)):(e.key===`ContextMenu`||e.shiftKey&&e.key===`F10`)&&(e.preventDefault(),y(t.item.id))},[T,E,D,i,a,O]);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{role:`tree`,"aria-label":`Projects and sessions`,"aria-multiselectable":`false`,className:F(`relative flex min-w-0 flex-col gap-0.5 [overflow-anchor:none] group-data-[state=collapsed]/sidebar:hidden`,d),children:(0,Z.jsx)(W,{initial:!1,children:E.map(e=>(0,Z.jsx)(df,{row:e,active:n===e.item.id,containerActive:r===e.item.id,expanded:T.has(e.item.id),focused:g===e.item.id,menuOpen:v===e.item.id,renaming:b===e.item.id,onFocus:()=>_(e.item.id),onSelect:()=>i?.(e.item.id),onContainerSelect:()=>{a?a(e.item.id):O(e.item.id)},onKeyDown:t=>k(t,e),onRenameStart:()=>x(e.item.id),onRenameCancel:()=>x(null),onRenameCommit:n=>{let r=n.trim();if(x(null),!r||r===e.item.label)return;let i=f;p(af(i,e.item.id,r)),Promise.resolve(t?.(e.item,r)).catch(()=>{p(i),C(`Rename failed. ${e.item.label} was restored.`)})},onMenuOpenChange:t=>{y(t?e.item.id:null),t||D(e.item.id)},renderIcon:c,renderSecondaryAction:l,renderMenu:u,setRef:t=>{t?w.current.set(e.item.id,t):w.current.delete(e.item.id)}},e.item.id))})}),(0,Z.jsx)(`span`,{className:`sr-only`,"aria-live":`polite`,children:S})]})}function pf(e){return e?.status===`running`?(0,Z.jsx)(fr,{className:`size-3.5 animate-spin`}):e?.status===`failed`?(0,Z.jsx)(br,{className:`size-3.5 text-destructive`}):e?.status===`interrupted`?(0,Z.jsx)(aa,{className:`size-3.5 text-muted-foreground`}):null}function mf({projectActionsOpen:e,setProjectActionsOpen:t,expandedProjectIds:n,setExpandedProjectIds:r,onOpenCreateProject:i,projects:a,projectSessions:o,sidebarItems:s,activeProjectId:c,activeSessionId:l,onNewSession:u,onNewSessionInProject:d,onProjectSelect:f,onRenameSession:p,onCreateProject:m,resumeResource:h,toggleProjectResource:g,renderMenu:_}){return(0,Z.jsx)(Il,{className:`gap-0 px-2.5 pb-1 pt-2`,children:(0,Z.jsxs)(Rl,{className:`p-0`,children:[(0,Z.jsxs)(`div`,{className:`relative mb-1 h-8`,children:[(0,Z.jsx)(zl,{className:`mb-0 h-8 pe-20 text-xs font-normal normal-case tracking-normal text-muted-foreground`,children:`Projects`}),(0,Z.jsxs)(`div`,{className:`absolute inset-y-0 left-auto flex items-center gap-0.5 [inset-inline-start:auto] [inset-inline-end:0]`,children:[(0,Z.jsxs)(yo,{open:e,onOpenChange:t,side:`bottom`,align:`end`,className:`w-44 p-1`,trigger:(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Project actions`,title:`Project actions`,className:F(Zr,`inline-flex size-8 items-center justify-center rounded-md text-muted-foreground outline-none transition-colors hover:bg-muted hover:text-foreground focus-visible:ring-2 focus-visible:ring-sidebar-ring`),children:(0,Z.jsx)(la,{"aria-hidden":`true`,className:`size-3.5`})}),children:[m?(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{t(!1),i()},className:`flex h-8 w-full items-center gap-2 rounded-md px-2 text-xs outline-none hover:bg-muted focus-visible:bg-muted`,children:[(0,Z.jsx)(ir,{"aria-hidden":`true`,className:`size-3.5`}),`Add project`]}):null,(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{t(!1),r([])},className:`flex h-8 w-full items-center gap-2 rounded-md px-2 text-xs outline-none hover:bg-muted focus-visible:bg-muted`,children:[(0,Z.jsx)($t,{"aria-hidden":`true`,className:`size-3.5`}),`Collapse all`]})]}),m?(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Add project`,title:`Add project`,onClick:i,className:F(Zr,`inline-flex size-8 items-center justify-center rounded-md text-muted-foreground outline-none transition-colors hover:bg-muted hover:text-foreground focus-visible:ring-2 focus-visible:ring-sidebar-ring`),children:(0,Z.jsx)(hr,{"aria-hidden":`true`,className:`size-3.5`})}):null]})]}),(0,Z.jsx)(Bl,{children:a.length===0?(0,Z.jsx)(`div`,{className:`px-2 py-4`,children:(0,Z.jsx)($d,{title:`Add a project`,description:`Choose a local directory for Fleet Prime.`,count:0,itemLabel:`session`,previews:[{id:`empty-project`,content:(0,Z.jsx)(ir,{className:`size-5 text-muted-foreground`})}],onClick:i,ariaLabel:`Add a project`,className:`w-full`})}):(0,Z.jsx)(ff,{items:s,activeId:l?Hn(l):null,activeContainerId:c?Qn(c):null,expandedIds:n,onExpandedIdsChange:r,onActiveChange:h,onContainerSelect:g,onRename:(e,t)=>{let n=nr(e.id,er);n&&p(n,t)},renderMenu:_,renderIcon:e=>{if(nr(e.id,`project:`))return(0,Z.jsx)(ar,{className:`size-4`});if(e.id.startsWith(`toggle:`))return e.label===`Show less`?(0,Z.jsx)(mn,{className:`size-4`}):(0,Z.jsx)($t,{className:`size-4`});if(e.kind===`action`)return null;let t=nr(e.id,er);return pf(o.find(e=>e.sessionId===t))},renderSecondaryAction:e=>{let t=nr(e.id,Zn);return!t||t===`unassigned`?null:(0,Z.jsx)(Sr,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":`New chat in ${e.label}`,title:`New chat in ${e.label}`,onClick:e=>{e.stopPropagation(),d?d(t):(f?.(t),u())},className:`size-8 shrink-0 opacity-0 group-hover/resource:opacity-100 group-focus-within/resource:opacity-100 focus-visible:opacity-100 [@media(hover:none)]:opacity-100`,children:(0,Z.jsx)(ya,{"data-icon":`inline-start`,className:`size-3.5`})})},className:`px-0`})})]})})}function hf({className:e,...t}){return(0,Z.jsx)(`svg`,{"aria-hidden":`true`,viewBox:`0 0 24 24`,fill:`currentColor`,className:e,...t,children:(0,Z.jsx)(`path`,{d:`M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.744l7.727-8.835L1.254 2.25H8.08l4.253 5.622L18.244 2.25zm-1.161 17.52h1.833L7.084 4.126H5.117L17.083 19.77z`})})}function gf({className:e,...t}){return(0,Z.jsx)(`svg`,{"aria-hidden":`true`,viewBox:`0 0 24 24`,fill:`currentColor`,className:e,...t,children:(0,Z.jsx)(`path`,{d:`M20.317 4.37a19.8 19.8 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.3 18.3 0 0 0-5.487 0 12.6 12.6 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.7 19.7 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.08.08 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028 14 14 0 0 0 1.226-1.994.076.076 0 0 0-.041-.106 13.1 13.1 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.3 12.3 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.8 19.8 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.06.06 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z`})})}function _f(){try{return`0.10.1`}catch{return`dev`}}function vf(){let e=_f();return(0,Z.jsxs)(Pr,{variant:`secondary`,title:`Fleet ${e}`,"aria-label":`Fleet version ${e}`,className:`shrink-0 font-mono text-micro font-normal text-muted-foreground`,children:[`v`,e]})}function yf(e,t){return e.filter(e=>e.messageCount>0||e.sessionId===t)}function bf(e){return e.toSorted((e,t)=>Date.parse(t.updatedAt)-Date.parse(e.updatedAt))}function xf(e,t,n){let r=bf(e);if(n||r.length<=5)return r;let i=r.slice(0,5),a=r.find(e=>e.sessionId===t);return a&&!i.some(e=>e.sessionId===a.sessionId)&&(i[4]=a),i}function Sf(e,t){let n=new Map(e.map((e,t)=>[e.projectId,t])),r=new Map;for(let e of t){if(!e.projectId)continue;let t=Date.parse(e.updatedAt);r.set(e.projectId,Math.max(r.get(e.projectId)??0,t))}return e.toSorted((e,t)=>{let i=r.get(e.projectId)??0,a=r.get(t.projectId)??0;return i===a?(n.get(e.projectId)??0)-(n.get(t.projectId)??0):a-i})}function Cf({threads:e,query:t,activeId:n,onQueryChange:r,onSelect:i,className:a,...o}){let s=e.filter(e=>`${e.title} ${e.preview} ${(e.keywords??[]).join(` `)}`.toLowerCase().includes(t.toLowerCase())),c=s.filter(e=>e.pinned),l=[...new Set(s.flatMap(e=>e.pinned?[]:[e.group]))],u=[...c,...l.flatMap(e=>s.filter(t=>!t.pinned&&t.group===e))],[d,f]=(0,X.useState)(null),p=e=>{if(u.length===0)return;let t=u.findIndex(e=>e.id===d),n=u[((t===-1?e>0?-1:0:t)+e+u.length)%u.length];f(n?n.id:null)},m=e=>{e.nativeEvent.isComposing||(e.key===`ArrowDown`?(e.preventDefault(),p(1)):e.key===`ArrowUp`?(e.preventDefault(),p(-1)):e.key===`Enter`&&d&&(e.preventDefault(),i?.(d)))},h=e=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{f(e.id),i?.(e.id)},className:F(`flex flex-col gap-0.5 rounded-xl px-2 py-1 text-start transition-colors`,e.id===d?`bg-foreground/[0.05]`:e.id===n?`bg-foreground/[0.02] hover:bg-foreground/[0.03]`:`hover:bg-foreground/[0.03]`),children:[(0,Z.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[e.pinned&&(0,Z.jsx)(ha,{className:`text-foreground/30 size-2.5 shrink-0`}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body`,children:e.title})]}),(0,Z.jsx)(`span`,{className:`text-foreground/35 truncate text-xs`,children:e.preview})]},e.id);return(0,Z.jsxs)(`div`,{"data-slot":`thread-search`,className:F(Vr,`flex w-full max-w-sm flex-col gap-1.5 rounded-2xl p-3`,a),...o,children:[(0,Z.jsxs)(`div`,{className:F(Hr,`flex items-center gap-2 rounded-xl px-2.5 py-1.5`),children:[(0,Z.jsx)(vr,{className:`text-foreground/30 size-3.5 shrink-0`}),(0,Z.jsx)(`input`,{value:t,onChange:e=>{f(null),r?.(e.target.value)},onKeyDown:m,placeholder:`Search threads`,"aria-label":`Search threads`,className:`text-foreground/85 placeholder:text-foreground/30 min-w-0 flex-1 bg-transparent text-base outline-none md:text-body`})]}),c.length>0&&(0,Z.jsxs)(`div`,{className:`flex flex-col`,children:[(0,Z.jsx)(`span`,{className:F(`font-mono text-caption tracking-tight`,`text-foreground/25 px-2 pb-1`),children:`pinned`}),c.map(h)]}),l.map(e=>(0,Z.jsxs)(`div`,{className:`flex flex-col`,children:[(0,Z.jsx)(`span`,{className:F(Lr,`text-foreground/25 px-2 pb-1`),children:e}),s.flatMap(t=>!t.pinned&&t.group===e?[h(t)]:[])]},e)),s.length===0&&(0,Z.jsxs)(`span`,{className:`text-foreground/30 px-2 py-4 text-center text-xs`,children:[`No thread matches “`,t,`”`]})]})}var wf=`flex h-8 w-full items-center gap-2 rounded-md px-2 text-label outline-none transition-colors hover:bg-muted focus-visible:bg-muted`,Tf=`flex h-8 w-full items-center justify-start gap-2 rounded-lg px-2 text-body font-normal text-sidebar-foreground outline-none transition-colors hover:bg-sidebar-accent focus-visible:bg-sidebar-accent focus-visible:ring-2 focus-visible:ring-sidebar-ring`;function Ef({icon:e,label:t,onClick:n,href:r,to:a}){return a?(0,Z.jsxs)(i,{to:a,className:wf,onClick:n,children:[e?(0,Z.jsx)(e,{className:`size-3.5`}):null,t]}):r?(0,Z.jsxs)(`a`,{href:r,target:`_blank`,rel:`noreferrer`,className:wf,children:[e?(0,Z.jsx)(e,{className:`size-3.5`}):null,t]}):(0,Z.jsxs)(`button`,{type:`button`,onClick:n,className:wf,children:[e?(0,Z.jsx)(e,{className:`size-3.5`}):null,t]})}function Df({children:e}){return(0,Z.jsx)(`kbd`,{className:`rounded border border-border/60 bg-muted/60 px-1 font-mono text-micro leading-4 text-muted-foreground`,children:e})}function Of({brandMenuOpen:e,setBrandMenuOpen:t,searchOpen:n,setSearchOpen:r,query:i,setQuery:a,projectActionsOpen:o,setProjectActionsOpen:s,expandedProjectIds:c,setExpandedProjectIds:l,onOpenCreateProject:u,projects:d,projectSessions:f,sidebarItems:p,sortedProjects:m,projectById:h,activeProjectId:g,activeSessionId:_,onNewSession:v,onNewSessionInProject:y,onProjectSelect:b,onRenameSession:x,onCreateProject:S,onOpenSettings:C,accountMenu:w,resumeResource:T,toggleProjectResource:E,selectSearchResult:D,renderMenu:O}){let k=(0,X.useMemo)(()=>bf(f).map(e=>({id:e.sessionId,title:Kn(e,f),preview:qn(e,h),group:rr(e.updatedAt),keywords:e.firstMessage?[Ln(e.firstMessage)]:[]})),[h,f]),A=(0,X.useMemo)(()=>{let e=i.trim().toLowerCase();return e?m.filter(t=>`${t.name} ${t.pathLabel}`.toLowerCase().includes(e)):m},[i,m]);return(0,Z.jsx)(jl,{ariaLabel:`Fleet projects and sessions`,collapsible:`offcanvas`,variant:`floating`,className:`text-sidebar-foreground`,children:(0,Z.jsxs)(Wr,{value:2,children:[(0,Z.jsxs)(Fl,{className:`gap-2 border-0 px-2.5 pb-2 pt-2.5`,children:[(0,Z.jsxs)(`div`,{className:`relative flex h-9 min-w-0 items-center justify-between gap-1`,children:[(0,Z.jsxs)(yo,{open:e,onOpenChange:t,side:`bottom`,align:`start`,trigger:(0,Z.jsxs)(`button`,{type:`button`,className:`flex h-8 w-fit shrink-0 items-center gap-1 rounded-lg px-2 text-start text-body font-medium outline-none transition-colors hover:bg-sidebar-accent focus-visible:ring-2 focus-visible:ring-sidebar-ring`,children:[(0,Z.jsx)(`span`,{className:`truncate`,children:`Qredence Fleet`}),(0,Z.jsx)($t,{className:`size-3.5 text-muted-foreground`})]}),className:`w-52 p-1`,children:[S?(0,Z.jsx)(Ef,{icon:ir,label:`Add project`,onClick:()=>{t(!1),u()}}):null,(0,Z.jsx)(Ef,{icon:Yt,label:`Settings`,onClick:()=>{t(!1),C?.()}}),(0,Z.jsx)(Ef,{label:`Agents`,to:`/agents`}),(0,Z.jsx)(Ef,{label:`Connectors`,to:`/connectors`}),(0,Z.jsx)(Ef,{icon:ta,label:`Documentation`,href:Xn})]}),(0,Z.jsx)(yo,{open:n,onOpenChange:r,side:`bottom`,align:`end`,className:`w-64 p-0`,trigger:(0,Z.jsx)(Sr,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":`Search projects and sessions`,title:`Search projects and sessions`,className:`shrink-0 text-muted-foreground hover:bg-sidebar-accent`,children:(0,Z.jsx)(vr,{"data-icon":`inline-start`,className:`size-4`})}),children:(0,Z.jsxs)(`div`,{className:`max-h-[min(32rem,calc(100dvh-5rem))] overflow-y-auto overscroll-contain`,children:[(0,Z.jsx)(Cf,{threads:k,query:i,activeId:_??``,onQueryChange:a,onSelect:e=>D(`search-session:${e}`),className:`max-w-none rounded-none border-0 p-2 shadow-none`}),(0,Z.jsxs)(`div`,{className:`border-t border-border/60 px-2 pb-2 pt-1.5`,children:[(0,Z.jsx)(`span`,{className:`px-2 pb-1 font-mono text-micro uppercase tracking-[0.14em] text-muted-foreground/60`,children:`Projects`}),(0,Z.jsxs)(`div`,{className:`mt-1 flex flex-col gap-0.5`,children:[A.map(e=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>D(`search-project:${e.projectId}`),className:`flex w-full min-w-0 items-center gap-2 rounded-xl px-2 py-1.5 text-start text-label outline-none transition-colors hover:bg-foreground/[0.03] focus-visible:ring-2 focus-visible:ring-ring`,children:[(0,Z.jsx)(ar,{className:`size-3.5 shrink-0 text-muted-foreground/60`}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.name}),(0,Z.jsx)(`span`,{className:`max-w-24 truncate text-micro text-muted-foreground/55`,children:e.pathLabel})]},e.projectId)),A.length===0?(0,Z.jsxs)(`span`,{className:`p-2 text-center text-caption text-muted-foreground/60`,children:[`No project matches “`,i,`”`]}):null]})]}),(0,Z.jsxs)(`div`,{className:`flex items-center justify-end gap-3 border-t border-border/60 px-3 py-2 text-micro text-muted-foreground/70`,children:[(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,Z.jsx)(Df,{children:`↑`}),(0,Z.jsx)(Df,{children:`↓`}),`navigate`]}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,Z.jsx)(Df,{children:`↵`}),`open`]}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,Z.jsx)(Df,{children:`esc`}),`close`]})]})]})})]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:v,className:Tf,children:[(0,Z.jsx)(ya,{className:`size-4 shrink-0 text-muted-foreground`}),`New chat`]})]}),(0,Z.jsx)(mf,{projectActionsOpen:o,setProjectActionsOpen:s,expandedProjectIds:c,setExpandedProjectIds:l,onOpenCreateProject:u,projects:d,projectSessions:f,sidebarItems:p,activeProjectId:g,activeSessionId:_,onNewSession:v,onNewSessionInProject:y,onProjectSelect:b,onRenameSession:x,onCreateProject:S,resumeResource:T,toggleProjectResource:E,renderMenu:O}),(0,Z.jsxs)(Ll,{className:`flex-col gap-1 border-sidebar-border px-2.5 py-2 pb-[max(0.5rem,env(safe-area-inset-bottom))]`,children:[(0,Z.jsxs)(`a`,{href:Wn,target:`_blank`,rel:`noreferrer`,className:Tf,children:[(0,Z.jsx)(hf,{className:`size-4 shrink-0 text-muted-foreground`}),`Twitter`]}),(0,Z.jsxs)(`a`,{href:tr,target:`_blank`,rel:`noreferrer`,className:Tf,children:[(0,Z.jsx)(gf,{className:`size-4 shrink-0 text-muted-foreground`}),`Discord`]}),(0,Z.jsxs)(`div`,{className:`flex w-full flex-row items-center gap-1`,children:[(0,Z.jsx)(`div`,{className:`min-w-0 flex-1`,children:w??(0,Z.jsx)(`span`,{className:`flex h-8 items-center px-2 text-body`,children:`Qredence`})}),(0,Z.jsx)(vf,{}),(0,Z.jsx)(`a`,{href:Xn,target:`_blank`,rel:`noreferrer`,"aria-label":`Open Qredence documentation`,title:`Help`,className:`grid size-8 shrink-0 place-items-center rounded-lg text-muted-foreground outline-none transition-colors hover:bg-sidebar-accent hover:text-foreground focus-visible:ring-2 focus-visible:ring-sidebar-ring`,children:(0,Z.jsx)(ra,{className:`size-4`})})]})]}),(0,Z.jsx)(Nl,{})]})})}function kf(e,t){return t.type===`update`?t.update(e):{...e,[t.field.key]:t.field.value}}function Af(e){let[t,n]=(0,X.useReducer)(kf,e,e=>({brandMenuOpen:!1,projectActionsOpen:!1,searchOpen:!1,query:``,expandedProjectIds:Yn(e),revealedProjectIds:new Set,activeDialog:null})),r=(0,X.useCallback)(function(e,t){n({type:`set`,field:{key:e,value:t}})},[]),i=(0,X.useCallback)(function(e,t){n({type:`update`,update:n=>({...n,[e]:t(n[e])})})},[]),a=(0,X.useCallback)(e=>r(`brandMenuOpen`,e),[r]),o=(0,X.useCallback)(e=>r(`projectActionsOpen`,e),[r]),s=(0,X.useCallback)(e=>r(`searchOpen`,e),[r]),c=(0,X.useCallback)(e=>r(`query`,e),[r]),l=(0,X.useCallback)(e=>typeof e==`function`?i(`expandedProjectIds`,e):r(`expandedProjectIds`,e),[r,i]),u=(0,X.useCallback)(e=>typeof e==`function`?i(`revealedProjectIds`,e):r(`revealedProjectIds`,e),[r,i]),d=(0,X.useCallback)(e=>r(`activeDialog`,e),[r]),f=(0,X.useCallback)(()=>r(`activeDialog`,null),[r]);return{...t,setBrandMenuOpen:a,setProjectActionsOpen:o,setSearchOpen:s,setQuery:c,setExpandedProjectIds:l,setRevealedProjectIds:u,setActiveDialog:d,closeDialog:f}}var jf=[[`resources`,`Open Resources`,cr],[`workspace`,`Open Workspace`,ar],[`artifacts`,`Open Artifacts`,pr]];function Mf({icon:e,label:t,destructive:n=!1,onClick:r}){return(0,Z.jsxs)(`button`,{type:`button`,onClick:r,className:n?`flex h-8 w-full items-center gap-2 rounded-lg px-2.5 text-left text-xs text-destructive hover:bg-destructive/10`:`flex h-8 w-full items-center gap-2 rounded-lg px-2.5 text-left text-xs hover:bg-muted`,children:[(0,Z.jsx)(e,{className:`size-3.5`}),t]})}function Nf({sessions:e,projects:t=$n,projectSessions:n=e,activeProjectId:r,activeSessionId:i,onNewSession:a,onNewSessionInProject:o,onProjectSelect:s,onResumeSession:c,onOpenPanelAction:l,expandedProjectIds:u,revealedProjectIds:d,setExpandedProjectIds:f,setRevealedProjectIds:p,setSearchOpen:m,setActiveDialog:h}){let g=(0,X.useMemo)(()=>new Map(t.map(e=>[e.projectId,e])),[t]),_=(0,X.useMemo)(()=>Sf(t,n),[n,t]);(0,X.useEffect)(()=>{if(!r)return;let e=Qn(r);f(t=>t.includes(e)?t:[...t,e])},[r,f]),(0,X.useEffect)(()=>{Tr(Jn,JSON.stringify(u))},[u]);let v=(0,X.useMemo)(()=>{let e=_.map(e=>{let t=yf(n.filter(t=>t.projectId===e.projectId),i),r=d.has(e.projectId),a=xf(t,i,r),o=a.map(e=>({id:Hn(e.sessionId),label:Kn(e,a),kind:`file`,...e.isSubagent?{indent:1}:{}}));if(t.length===0)o.push({id:Gn(e.projectId),label:`Start first chat`,kind:`action`});else if(t.length>5){let n=t.length-a.length;o.push({id:`toggle:${e.projectId}`,label:r?`Show less`:`Show ${n} more`,kind:`action`})}return{id:Qn(e.projectId),label:e.name,kind:`project`,children:o}}),t=bf(yf(n.filter(e=>!e.projectId),i));if(t.length>0){let n=d.has(`unassigned`),r=xf(t,i,n),a=r.map(e=>({id:Hn(e.sessionId),label:Kn(e,t),kind:`file`,...e.isSubagent?{indent:1}:{}}));if(t.length>5){let e=t.length-r.length;a.push({id:`toggle:unassigned`,label:n?`Show less`:`Show ${e} more`,kind:`action`})}e.push({id:`project:unassigned`,label:`Unassigned`,kind:`folder`,children:a})}return e},[i,n,d,_]),y=(0,X.useCallback)(e=>{o?o(e):(s?.(e),a())},[a,o,s]);return{projectById:g,sortedProjects:_,sidebarItems:v,resumeResource:(0,X.useCallback)(e=>{let t=nr(e,`toggle:`);if(t){p(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n});return}let r=nr(e,Un);if(r){y(r);return}let i=nr(e,er);if(!i)return;let a=n.find(e=>e.sessionId===i);a&&c(a)},[y,c,n,p]),toggleProjectResource:(0,X.useCallback)(e=>{f(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[f]),selectSearchResult:(0,X.useCallback)(e=>{let t=nr(e,`search-project:`);if(t){let e=Qn(t);f(t=>t.includes(e)?t:[...t,e]),s?.(t),m(!1);return}let r=nr(e,`search-session:`),i=r?n.find(e=>e.sessionId===r):void 0;if(i){if(i.projectId){let e=Qn(i.projectId);f(t=>t.includes(e)?t:[...t,e])}c(i),m(!1)}},[s,c,n,f,m]),renderMenu:(0,X.useCallback)((e,t)=>{let r=nr(e.id,er),i=nr(e.id,`project:`);if(r){let e=n.find(e=>e.sessionId===r);if(!e)return null;let i=e.projectId??void 0;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Mf,{icon:mr,label:`Rename`,onClick:()=>{t.close(),h({kind:`rename-session`,session:e})}}),l&&i?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`my-1 border-t`}),jf.map(([e,n,r])=>(0,Z.jsx)(Mf,{icon:r,label:n,onClick:()=>{t.close(),l({panel:e,projectId:i,focus:!0})}},e))]}):null,(0,Z.jsx)(Mf,{icon:yr,label:`Delete`,destructive:!0,onClick:()=>{t.close(),h({kind:`delete-session`,session:e})}})]})}if(i&&i!==`unassigned`){let e=g.get(i);return e?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Mf,{icon:mr,label:`Rename project`,onClick:()=>{t.close(),h({kind:`rename-project`,project:e})}}),(0,Z.jsx)(Mf,{icon:Ta,label:`Unregister project`,destructive:!0,onClick:()=>{t.close(),h({kind:`unregister-project`,project:e})}}),l?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`my-1 border-t`}),jf.map(([e,n,r])=>(0,Z.jsx)(Mf,{icon:r,label:n,onClick:()=>{t.close(),l({panel:e,projectId:i,focus:!0})}},e))]}):null]}):null}return null},[l,g,n,h])}}var Pf=(0,X.lazy)(()=>Or(async()=>{let{SessionSidebarCreateDialog:e}=await import(`./create-project-dialog-Db-WhUmP.js`);return{SessionSidebarCreateDialog:e}},__vite__mapDeps([97,1,2,3,8,98,99,100,94,69,23,4,17,24,25,14,15,13,16,18,19,20,21,22,26,28,29,10,7,11,12,27,92,39])).then(({SessionSidebarCreateDialog:e})=>({default:e})));function Ff({data:e,sessionActions:t,projectActions:n={},navigationActions:r={},slots:i={}}){let{sessions:a,projects:o=$n,projectSessions:s=a,activeProjectId:c,activeSessionId:l}=e,{onNewSession:u,onNewSessionInProject:d,onResumeSession:f,onRenameSession:p,onDeleteSession:m}=t,{onProjectSelect:h,onCreateProject:g,onRenameProject:_,onUnregisterProject:v}=n,{onOpenPanelAction:y,onBrowseDirectories:b,onOpenSettings:x}=r,{accountMenu:S}=i,C=Af(c),{projectById:w,sortedProjects:T,sidebarItems:E,resumeResource:D,toggleProjectResource:O,selectSearchResult:k,renderMenu:A}=Nf({sessions:a,projects:o,projectSessions:s,activeProjectId:c,activeSessionId:l,onNewSession:u,onNewSessionInProject:d,onProjectSelect:h,onResumeSession:f,onOpenPanelAction:y,expandedProjectIds:C.expandedProjectIds,revealedProjectIds:C.revealedProjectIds,setExpandedProjectIds:C.setExpandedProjectIds,setRevealedProjectIds:C.setRevealedProjectIds,setSearchOpen:C.setSearchOpen,setActiveDialog:C.setActiveDialog}),j=C.setActiveDialog,M=(0,X.useCallback)(()=>{j({kind:`create-project`})},[j]),N=C.activeDialog?.kind===`create-project`;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Of,{brandMenuOpen:C.brandMenuOpen,setBrandMenuOpen:C.setBrandMenuOpen,searchOpen:C.searchOpen,setSearchOpen:C.setSearchOpen,query:C.query,setQuery:C.setQuery,projectActionsOpen:C.projectActionsOpen,setProjectActionsOpen:C.setProjectActionsOpen,expandedProjectIds:C.expandedProjectIds,setExpandedProjectIds:C.setExpandedProjectIds,onOpenCreateProject:M,projects:o,projectSessions:s,sidebarItems:E,sortedProjects:T,projectById:w,activeProjectId:c,activeSessionId:l,onNewSession:u,onNewSessionInProject:d,onProjectSelect:h,onRenameSession:p,onCreateProject:g,onOpenSettings:x,accountMenu:S,resumeResource:D,toggleProjectResource:O,selectSearchResult:k,renderMenu:A}),N?(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(Pf,{open:N,onClose:C.closeDialog,onBrowseDirectories:b,onCreateProject:g})}):null,(0,Z.jsx)(Wd,{activeDialog:C.activeDialog,onClose:C.closeDialog,onRenameSession:p,onDeleteSession:m,onRenameProject:_,onUnregisterProject:v})]})}var If=(0,X.lazy)(()=>Or(async()=>{let{SubagentChatPanel:e}=await import(`./subagent-chat-panel-R2RoX1Yt.js`);return{SubagentChatPanel:e}},__vite__mapDeps([101,3,1,102,2,4,5,6,31,32,98,8,80,23,17,24,25,103,74,104,13,43,44,36,37,46,11,47,48,39,22,41,57,105,64,59,106,61,58,18,21,29,60,30,33,34,7,35,38,40,42,45,49,50,51,52,53,54,55,56,26,87,107,108])).then(({SubagentChatPanel:e})=>({default:e}))),Lf=(0,X.lazy)(()=>Or(async()=>{let{SessionActivityPanel:e}=await import(`./session-activity-panel-DwaXiSrS.js`);return{SessionActivityPanel:e}},__vite__mapDeps([109,3,1,8,2,33,36,37,23,4,17,24,25,106,39,61,43,58,18,13,21,29,108,46,11,47,48,41])).then(({SessionActivityPanel:e})=>({default:e})));function Rf(){let{session:e,conversation:t,composer:n,panels:r,dialogs:i,chrome:a,agentTabs:o}=wd(),s=(0,X.useCallback)(()=>{i.setCommandPaletteOpen(e=>!e)},[i.setCommandPaletteOpen]),c=(0,X.useCallback)(()=>{r.setRightPanel(null),window.requestAnimationFrame(()=>jd())},[r.setRightPanel]);Md({onCommandPaletteToggle:s,onClosePanel:c,rightPanel:r.rightPanel,setRightPanel:r.setRightPanel});let l=e.projects.find(t=>t.projectId===e.activeProjectId)?.name,u=(0,X.useCallback)((e,r)=>{let i=[...n.uploadedAttachments],a=[...n.workspaceAttachments],o=[...a,...i];n.clearUploadedAttachments(),n.clearWorkspaceAttachments(),(async()=>{try{await t.sendMessage({text:e,altKey:r,mode:n.chatMode,openUI:!0,attachments:o})||n.restoreAttachments(i,a)}catch(e){n.restoreAttachments(i,a),ds(e)}})()},[n.chatMode,n.clearUploadedAttachments,n.clearWorkspaceAttachments,n.restoreAttachments,n.uploadedAttachments,n.workspaceAttachments,t.sendMessage]),d=(0,X.useCallback)(e=>{let r=_n(e);if(r){t.openPanelAction(r);return}t.sendMessage({text:e,altKey:!1,mode:n.chatMode,openUI:!0})},[n.chatMode,t.openPanelAction,t.sendMessage]),f=(0,X.useCallback)(async e=>{try{return await t.persistOpenUIArtifact(e)}catch(e){fi.error(`Artifact persistence failed: ${e instanceof Error?e.message:String(e)}`);return}},[t.persistOpenUIArtifact]),p=(0,X.useMemo)(()=>({sessions:e.sessions,projects:e.projects,projectSessions:e.projectSessions,activeProjectId:e.activeProjectId,activeSessionId:e.activeSessionId}),[e.sessions,e.projects,e.projectSessions,e.activeProjectId,e.activeSessionId]),m=(0,X.useCallback)(()=>fs(()=>e.startNewSession()),[e.startNewSession]),h=(0,X.useCallback)(t=>{e.resumeSession({sessionId:t.sessionId})},[e.resumeSession]),g=(0,X.useCallback)((t,n)=>{e.renameSession(t,n)},[e.renameSession]),_=(0,X.useCallback)(t=>{e.deleteSession(t)},[e.deleteSession]),v=(0,X.useCallback)(()=>{i.setSettingsDialogOpen(!0)},[i.setSettingsDialogOpen]),y=(0,X.useMemo)(()=>({onNewSession:m,onNewSessionInProject:e.startNewSessionInProject,onResumeSession:h,onRenameSession:g,onDeleteSession:_}),[m,e.startNewSessionInProject,h,g,_]),b=(0,X.useMemo)(()=>({onProjectSelect:e.selectProject,onCreateProject:e.createProject,onRenameProject:e.renameProject,onUnregisterProject:e.unregisterProject}),[e.selectProject,e.createProject,e.renameProject,e.unregisterProject]),x=(0,X.useMemo)(()=>({onOpenPanelAction:e.openPanelAction,onBrowseDirectories:e.browseProjectDirectories,onOpenSettings:v}),[e.openPanelAction,e.browseProjectDirectories,v]),S=(0,X.useMemo)(()=>({accountMenu:a.header.accountMenu}),[a.header.accountMenu]),C=hs(n,e.activeSessionId),w=o.activeTabId===`activity`?(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(`div`,{className:`flex min-h-32 flex-1 items-center justify-center text-xs text-foreground/45`,children:`Loading session activity…`}),children:(0,Z.jsx)(Lf,{artifactRuns:t.artifactRuns,childAgents:t.presentation.rlmChildren,messages:t.messages,onOpenArtifact:t.openArtifact,onSelectChild:o.openChildTab,streaming:t.status===`streaming`||t.status===`submitted`})}):o.activeTabId===`main`||!o.selectedChild?(0,Z.jsx)(us,{messages:t.messages,highlightedMessageId:t.highlightedTranscriptMessageId??void 0,status:t.status,error:t.error??void 0,workspaceName:l,activityLabel:t.activityLabel,presentation:t.presentation,artifactRuns:t.artifactRuns,queue:t.queue,onDeleteQueuedMessage:t.deleteQueuedMessage,onEditQueuedMessage:t.editQueuedMessage,onOpenArtifact:t.openArtifact,onOpenUIArtifactReady:f,inputSuggestionItems:n.inputSuggestionItems,inputBar:C,onSend:u,onOpenUIAction:d,onStop:t.stop}):(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(`div`,{className:`flex min-h-32 flex-1 items-center justify-center text-xs text-foreground/45`,children:`Loading subagent thread…`}),children:(0,Z.jsx)(If,{child:o.selectedChild,parentSessionId:e.activeSessionId,state:o.conversation})});return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(zu,{chrome:a,conversation:t,dialogs:i,panels:r,session:e}),(0,Z.jsxs)(hi,{chatPanelData:r.chatPanelData,onOpenUIAction:d,settingsActions:r.settingsActions,workspaceTree:r.workspaceTreeContext,children:[(0,Z.jsxs)(kl,{className:`h-svh min-h-0 rounded-none border-0`,children:[(0,Z.jsx)(Ff,{data:p,sessionActions:y,projectActions:b,navigationActions:x,slots:S}),(0,Z.jsx)(Pl,{className:`h-svh min-h-0 overflow-hidden`,children:(0,Z.jsx)(Ed,{headerLeft:a.header.left,headerCenter:a.header.center,headerRight:a.header.right,panel:(0,Z.jsx)(hn,{children:(0,Z.jsx)(zd,{handleResourceCanvasResizeStart:r.handleResourceCanvasResizeStart,onClose:c,onResourceCanvasWidthChange:r.handleResourceCanvasWidthChange,resourceCanvasWidth:r.resourceCanvasWidth})}),children:(0,Z.jsx)(`div`,{"aria-labelledby":Eu(o.activeTabId),className:`flex min-h-0 min-w-0 flex-1 flex-col`,"data-testid":`agent-tab-panel`,id:Du(o.activeTabId),role:`tabpanel`,children:w})})})]}),(0,Z.jsx)(Bu,{dialogs:i})]})]})}var zf=Rf;export{zf as component};