@qredence/fleet 0.8.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +90 -0
- package/dist/web/client/assets/DialogTitle-BlVq-tcv.js +1 -0
- package/dist/web/client/assets/FloatingPortal-D8-EPDs2.js +1 -0
- package/dist/web/client/assets/activity-BPIKUzOU.js +1 -0
- package/dist/web/client/assets/agents-BMQXA18L.js +2 -0
- package/dist/web/client/assets/agents-page-D2soW46O.js +1 -0
- package/dist/web/client/assets/alert-CzWGeumf.js +1 -0
- package/dist/web/client/assets/alert-dialog-D-e1Pr4q.js +1 -0
- package/dist/web/client/assets/artifacts-panel-6JEdy6jU.js +1 -0
- package/dist/web/client/assets/badge-CzQFgmVK.js +1 -0
- package/dist/web/client/assets/chat-command-palette-Bxr5EkO6.js +1 -0
- package/dist/web/client/assets/chat-hpzV6IA6.js +57 -0
- package/dist/web/client/assets/chat-queries-ty76G6rK.js +3 -0
- package/dist/web/client/assets/clock-3-BwWCSCm_.js +1 -0
- package/dist/web/client/assets/{command-imgUMV3r.js → command-xo-NK4xO.js} +1 -1
- package/dist/web/client/assets/connectors-E4KW6hBL.js +2 -0
- package/dist/web/client/assets/connectors-page-CDzzjCIJ.js +1 -0
- package/dist/web/client/assets/create-project-dialog-Db-WhUmP.js +1 -0
- package/dist/web/client/assets/dialog-CK8dym6z.js +1 -0
- package/dist/web/client/assets/{fork-picker-dialog-Cgi48NnT.js → fork-picker-dialog-DSaFeUii.js} +1 -1
- package/dist/web/client/assets/globals-DDDleTbS.css +2 -0
- package/dist/web/client/assets/index-Cf8tRpHL.js +13 -0
- package/dist/web/client/assets/{input-7g8_nw-Z.js → input-CBoTMPC_.js} +1 -1
- package/dist/web/client/assets/{input-group-Nq03Qums.js → input-group-BFubAtz9.js} +1 -1
- package/dist/web/client/assets/mcp-connections-section-BsNhp1b2.js +2 -0
- package/dist/web/client/assets/message-queue-Btjt9wK2.js +1 -0
- package/dist/web/client/assets/{model-selector-list-Cp687pdm.js → model-selector-list-CbDAT0Rw.js} +1 -1
- package/dist/web/client/assets/mutation-Da9zdeWr.js +1 -0
- package/dist/web/client/assets/notify-BIL0-CGy.js +1 -0
- package/dist/web/client/assets/open-panel-action-message-SdA1VU42.js +1 -0
- package/dist/web/client/assets/openui-renderer-DG-iML7M.js +291 -0
- package/dist/web/client/assets/pencil-Cbgq3ybX.js +1 -0
- package/dist/web/client/assets/plus-DUP2JPVG.js +1 -0
- package/dist/web/client/assets/product-page-header-Ck6I13CE.js +1 -0
- package/dist/web/client/assets/provider-catalog-CLEDlH_v.js +1 -0
- package/dist/web/client/assets/provider-label-BItazQ6H.js +1 -0
- package/dist/web/client/assets/right-panel-context-CjX-HkDO.js +1 -0
- package/dist/web/client/assets/right-panel-registry-BAJ6TuEY.js +2 -0
- package/dist/web/client/assets/rotate-ccw-DLkfsmG9.js +1 -0
- package/dist/web/client/assets/routes--tnF7d6H.js +14 -0
- package/dist/web/client/assets/select-DYh951qi.js +1 -0
- package/dist/web/client/assets/{session-activity-panel-Bc4-HSfb.js → session-activity-panel-DwaXiSrS.js} +1 -1
- package/dist/web/client/assets/{session-insights-panel-D0v_DKcb.js → session-insights-panel-BXEmuJKf.js} +1 -1
- package/dist/web/client/assets/{session-tool-renderer-C7mYeUOs.js → session-tool-renderer-DEABxZG3.js} +25 -25
- package/dist/web/client/assets/{session-tree-panel-By9m9tGB.js → session-tree-panel-5QgMvXoX.js} +1 -1
- package/dist/web/client/assets/settings-dialog-BomLOETY.js +3 -0
- package/dist/web/client/assets/sparkles-CASAe1AI.js +1 -0
- package/dist/web/client/assets/{subagent-chat-panel-DsPmLZSf.js → subagent-chat-panel-R2RoX1Yt.js} +1 -1
- package/dist/web/client/assets/subagent-transcript-DVZhMo7a.js +1 -0
- package/dist/web/client/assets/{subagents-panel-gQ9BLfV3.js → subagents-panel-CMMRUP8F.js} +1 -1
- package/dist/web/client/assets/switch-BrxDfsX6.js +1 -0
- package/dist/web/client/assets/toast-BNWkgZ0u.js +1 -0
- package/dist/web/client/assets/{tool-output-normalizer-CADgEiI4.js → tool-output-normalizer-DDU09Zc6.js} +1 -1
- package/dist/web/client/assets/tool-part-normalizer-CF6bmJ0s.js +4 -0
- package/dist/web/client/assets/tool-result-7qREIVv_.js +5 -0
- package/dist/web/client/assets/tool-timeline-CGhwMeNl.js +2 -0
- package/dist/web/client/assets/trash-sm2UyOxe.js +1 -0
- package/dist/web/client/assets/types-gIgIxnnG.js +1 -0
- package/dist/web/client/assets/useNavigate-CVhM7pag.js +1 -0
- package/dist/web/client/assets/useRender-CzJUrRlB.js +1 -0
- package/dist/web/client/assets/useScrollLock-BcsteNzT.js +1 -0
- package/dist/web/client/assets/with-selector-B_VDO56x.js +1 -0
- package/dist/web/client/bundle-budget.json +6 -6
- package/dist/web/server/{_tanstack-start-manifest_v-BiNPG4xt-BZTMSM2I.js → _tanstack-start-manifest_v-Io433TLr-YWPNQWQI.js} +44 -23
- package/dist/web/server/agents-DOgCHixY-KUZP2VDO.js +22 -0
- package/dist/web/server/agents-page-BdiR9H8w-M6X6SXMF.js +215 -0
- package/dist/web/server/{artifacts-panel-CqGBNU4q-UHNMC7PK.js → artifacts-panel-cYqS54cM-K6SF3K6W.js} +27 -17
- package/dist/web/server/{chat-command-palette-B94-zIEz-ES2ZB4ZF.js → chat-command-palette-BDnwcymZ-DSTFIAOD.js} +22 -13
- package/dist/web/server/chunk-2ETDIMNM.js +40 -0
- package/dist/web/server/{chunk-K67IDUAI.js → chunk-2OC2FKHR.js} +42 -32
- package/dist/web/server/{chunk-2VKVSL6Y.js → chunk-35RIM6VP.js} +128 -127
- package/dist/web/server/{chunk-5GUEYYYO.js → chunk-37EK2TYH.js} +4591 -13688
- package/dist/web/server/chunk-5MOXRFX6.js +826 -0
- package/dist/web/server/chunk-6GYLXDX3.js +588 -0
- package/dist/web/server/chunk-7DQQMT5V.js +8993 -0
- package/dist/web/server/chunk-APOS34PW.js +8965 -0
- package/dist/web/server/{chunk-YQO36OP6.js → chunk-AXN2OBPF.js} +2 -4
- package/dist/web/server/chunk-BD7YKYWL.js +1007 -0
- package/dist/web/server/chunk-BLGKLQJG.js +432 -0
- package/dist/web/server/{chunk-BAHZXA4D.js → chunk-BZ2EAUZZ.js} +10 -12
- package/dist/web/server/chunk-C5XHGLET.js +193 -0
- package/dist/web/server/chunk-CE7U5QB2.js +42 -0
- package/dist/web/server/{chunk-E6T36NM5.js → chunk-FI3UF2GW.js} +36 -353
- package/dist/web/server/{chunk-LTTBT3J7.js → chunk-FNV3WZXL.js} +5 -9
- package/dist/web/server/{chunk-2FHYWKDN.js → chunk-FSQWWR2M.js} +46 -16
- package/dist/web/server/chunk-FT7HNDR5.js +143 -0
- package/dist/web/server/chunk-GNXIDE26.js +44 -0
- package/dist/web/server/{chunk-EAKPTSWR.js → chunk-HAFELESQ.js} +5 -7
- package/dist/web/server/{chunk-WSK55TKE.js → chunk-KBMRRJQN.js} +96 -10
- package/dist/web/server/chunk-KSGGSGOA.js +50 -0
- package/dist/web/server/{chunk-SGAQVAYL.js → chunk-NSFKPEFI.js} +2 -2
- package/dist/web/server/chunk-NZCEQWK2.js +6891 -0
- package/dist/web/server/chunk-OO7NBFQQ.js +15 -0
- package/dist/web/server/{chunk-EL2JCDAM.js → chunk-PQVTLG3E.js} +9 -9
- package/dist/web/server/{chunk-LQM6QR7S.js → chunk-Q4ECIATK.js} +61 -47
- package/dist/web/server/chunk-QOZCYKMA.js +769 -0
- package/dist/web/server/{chunk-CZLGB3NE.js → chunk-R4BS3KYI.js} +2 -4
- package/dist/web/server/{chunk-FB2QLQTN.js → chunk-RHJEOG37.js} +12 -13
- package/dist/web/server/chunk-RX2ZJARF.js +73 -0
- package/dist/web/server/chunk-TXZDDJCT.js +5115 -0
- package/dist/web/server/{chunk-OAYEN3JV.js → chunk-VDEUVEWL.js} +2253 -1
- package/dist/web/server/{chunk-ABMGW6QH.js → chunk-W2GI7NRX.js} +16140 -15708
- package/dist/web/server/{chunk-SI5IQSG4.js → chunk-W7GGECTL.js} +8 -7
- package/dist/web/server/connectors-Dv_uPdv0-2X5VWQXK.js +22 -0
- package/dist/web/server/connectors-page-DW75T-uH-EKRHUZ6K.js +66 -0
- package/dist/web/server/{create-project-dialog-CFPX6Ihl-EO4XTINS.js → create-project-dialog-BS5Sva46-BO4RLW2Q.js} +25 -14
- package/dist/web/server/{fork-picker-dialog-B2RBFzoZ-R6GXPSPL.js → fork-picker-dialog-DFpKOdAw-JPLJSYYU.js} +7 -10
- package/dist/web/server/{markdown-BvCfOB26-VDH4YOQD.js → markdown-Cc8V9dOF-JTNTJKQU.js} +5 -6
- package/dist/web/server/{markdown-code-SYc-BQvp-MR4FXT5C.js → markdown-code-gaRnbgNM-V5LIRYCD.js} +7 -8
- package/dist/web/server/{message-queue-D32rLiJo-HEBRGH5B.js → message-queue-nQ2_kU82-KKSLYR4S.js} +7 -14
- package/dist/web/server/{model-selector-list-DKzt_xEN-5ZPU6XDY.js → model-selector-list-By_G7_Hr-GXT27BZO.js} +12 -14
- package/dist/web/server/{openui-renderer-CeVtOdYl-PY37PCJI.js → openui-renderer-Q31y65CQ-QNVSP4NN.js} +20 -13
- package/dist/web/server/{prompt-suggestions-CpTK_fHV-Q4ILLZKC.js → prompt-suggestions-B67Uy5Rk-5SMTSIFQ.js} +5 -4
- package/dist/web/server/{repl-panel-1kSS1UGd-DDM5ADGZ.js → repl-panel-1kSS1UGd-POXRYDDJ.js} +2 -3
- package/dist/web/server/{resources-panel-S4NHlpz7-NF7WYYSR.js → resources-panel-CH8sG0Od-4BZN6SLY.js} +18 -10
- package/dist/web/server/router-8EzTM9Eq-COVGJKKX.js +23 -0
- package/dist/web/server/routes-88H0fiN3-WIAZJ3RT.js +124 -0
- package/dist/web/server/server.js +3 -3
- package/dist/web/server/{session-activity-panel-Bz2GrdMk-PCOXG46X.js → session-activity-panel-CgSOde03-B5RCAGB4.js} +18 -10
- package/dist/web/server/{session-insights-panel-CfMX2NRu-6HWZTTAC.js → session-insights-panel-BiVObm_6-AP4FITT7.js} +2 -12
- package/dist/web/server/{session-reasoning-panel-CpiTdyQz-O3B5CDKS.js → session-reasoning-panel-Dmny6YTk-D3HQV2YB.js} +17 -9
- package/dist/web/server/session-tool-renderer-BrnTO2w3-V6EE6AB2.js +34 -0
- package/dist/web/server/{session-tree-panel-CzkE0RFB-P4KWA7S2.js → session-tree-panel-BEqR_cAJ-TZS7VRCB.js} +18 -11
- package/dist/web/server/{settings-dialog-BUgVNpr1-THSYIOZL.js → settings-dialog-DkesVBrS-BAAA3YNU.js} +238 -847
- package/dist/web/server/{subagent-chat-panel-mw3kEFfK-CDYX7LST.js → subagent-chat-panel-Bfmt1bCE-DKDVH3NJ.js} +23 -15
- package/dist/web/server/{subagents-panel-2ZJfYrXG-NDJKHJHD.js → subagents-panel-ChJDDvad-GNCHDTPB.js} +24 -17
- package/dist/web/server/{workspace-panel-xznrPDLt-QCJRZOF3.js → workspace-panel-Cij_JylD-WPYSV5FA.js} +23 -15
- package/package.json +1 -1
- package/dist/web/client/assets/DialogTitle-RY2UDuCY.js +0 -1
- package/dist/web/client/assets/FloatingPortal-XC0MCNnD.js +0 -1
- package/dist/web/client/assets/action-swap-BWRUNKQA.js +0 -1
- package/dist/web/client/assets/alert-dialog-DGNvg0B1.js +0 -1
- package/dist/web/client/assets/artifacts-panel-BGXpKRJ7.js +0 -1
- package/dist/web/client/assets/badge-DM06QVqB.js +0 -57
- package/dist/web/client/assets/chat-command-palette-PenyaZBw.js +0 -1
- package/dist/web/client/assets/create-project-dialog-C00d5yCq.js +0 -1
- package/dist/web/client/assets/dialog-zCNOQI63.js +0 -1
- package/dist/web/client/assets/globals-BuMuB_ea.css +0 -2
- package/dist/web/client/assets/index-BqBdQGWs.js +0 -13
- package/dist/web/client/assets/message-queue-sSljtjYz.js +0 -1
- package/dist/web/client/assets/mutation-DOi2Qgfa.js +0 -1
- package/dist/web/client/assets/notify-Cqdu6EV8.js +0 -1
- package/dist/web/client/assets/openui-renderer-BdYTcn-_.js +0 -291
- package/dist/web/client/assets/provider-label-QrVOwKBO.js +0 -1
- package/dist/web/client/assets/right-panel-context-DHKWoetk.js +0 -1
- package/dist/web/client/assets/right-panel-registry-BaLZiKny.js +0 -2
- package/dist/web/client/assets/routes-BkFkhfO3.js +0 -16
- package/dist/web/client/assets/select-BhV4ikeN.js +0 -1
- package/dist/web/client/assets/settings-dialog-Dpt4Ha_m.js +0 -2
- package/dist/web/client/assets/sparkles-BwVa9zQJ.js +0 -1
- package/dist/web/client/assets/subagent-transcript-CNQ9wGk2.js +0 -1
- package/dist/web/client/assets/switch-C7Myu-Dt.js +0 -1
- package/dist/web/client/assets/toast-DlbKi6K-.js +0 -1
- package/dist/web/client/assets/tool-part-normalizer-CYK62WZM.js +0 -4
- package/dist/web/client/assets/tool-result-bjAGZ2qm.js +0 -5
- package/dist/web/client/assets/tool-timeline-eNqH1zj7.js +0 -2
- package/dist/web/client/assets/types-D5hZ8IyV.js +0 -1
- package/dist/web/client/assets/useRender-Bbk_fl72.js +0 -1
- package/dist/web/server/chunk-2PAW6K4Q.js +0 -56
- package/dist/web/server/chunk-7L5PCCYR.js +0 -2287
- package/dist/web/server/chunk-FB3UHLLN.js +0 -49
- package/dist/web/server/chunk-OSPDNT7S.js +0 -25404
- package/dist/web/server/router-DVKxZik_-254GZAJW.js +0 -30
- package/dist/web/server/routes-BTxAklRp-UM7ZTLLP.js +0 -140
- package/dist/web/server/session-tool-renderer-BZiOxtt1-T3ZGAQKX.js +0 -26
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/model-selector-list-Cp687pdm.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-imgUMV3r.js","assets/search-Cb6fFWew.js","assets/dist-BJJVCio8.js","assets/react-dom-B7th3XGm.js","assets/dialog-zCNOQI63.js","assets/FloatingPortal-XC0MCNnD.js","assets/useButton-CvcmqA2s.js","assets/createBaseUIEventDetails-DIxvaz-Y.js","assets/DialogTitle-RY2UDuCY.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-Nq03Qums.js","assets/input-7g8_nw-Z.js","assets/useControlled-CkQSkSv1.js","assets/session-tool-renderer-C7mYeUOs.js","assets/use-reduced-motion-CFEp5oKr.js","assets/use-presence-BPZ36pcg.js","assets/arrow-up-right-CG9RNk4p.js","assets/tool-result-bjAGZ2qm.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/action-swap-BWRUNKQA.js","assets/useRender-Bbk_fl72.js","assets/chevron-right-BPCB1mOg.js","assets/file-text-cqOanUYv.js","assets/ipython-tool-bieUhw9K.js","assets/tool-output-normalizer-CADgEiI4.js","assets/shield-check-7HDd-2Fn.js","assets/safe-external-url-D3PJJIcM.js","assets/eye-iNSvs0UA.js","assets/git-branch-DZEh2mM2.js","assets/sparkles-BwVa9zQJ.js","assets/dist-CprW0Qol.js","assets/space-separated-tokens-Ciu5hotc.js","assets/character-entities-legacy-Wut6vMuj.js","assets/lib-BvGd2E-G.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-sSljtjYz.js","assets/notify-Cqdu6EV8.js","assets/toast-DlbKi6K-.js","assets/triangle-alert-BuzmrrqI.js","assets/chat-command-palette-PenyaZBw.js","assets/right-panel-registry-BaLZiKny.js","assets/bot-DETalD3q.js","assets/folder-COBtkKZa.js","assets/package-BkC-HSi-.js","assets/right-panel-context-DHKWoetk.js","assets/skeleton-B_Lq2XFl.js","assets/sun-C7zg8Oas.js","assets/square-BbTF3gLc.js","assets/settings-dialog-Dpt4Ha_m.js","assets/select-BhV4ikeN.js","assets/provider-label-QrVOwKBO.js","assets/plug-wCz-036u.js","assets/hard-drive-B3opVeEB.js","assets/refresh-cw-CqPE3kNY.js","assets/ui-preferences-B-PNDkyY.js","assets/safe-storage-s25GrfpH.js","assets/switch-C7Myu-Dt.js","assets/spinner-B5TaKP7k.js","assets/alert-dialog-DGNvg0B1.js","assets/fork-picker-dialog-Cgi48NnT.js","assets/create-project-dialog-C00d5yCq.js","assets/arrow-up-DCwrqIrK.js","assets/chat-helpers-Bj7_hES7.js","assets/types-D5hZ8IyV.js","assets/subagent-chat-panel-DsPmLZSf.js","assets/prompt-input-CoV1gTUQ.js","assets/subagent-transcript-CNQ9wGk2.js","assets/tool-part-normalizer-CYK62WZM.js","assets/openui-utils-DawGoQNp.js","assets/reasoning-line-DGdPUMwT.js","assets/prime-agent-artifacts-C-g1VPiW.js","assets/tool-timeline-eNqH1zj7.js","assets/session-activity-panel-Bc4-HSfb.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{t as r}from"./jsx-runtime-NZYk81nU.js";import{D as i,O as a,S as o,T as s,_ as c,b as l,c as u,d,i as f,l as p,m,n as h,o as g,s as _,w as v,x as y,y as b}from"./mutation-DOi2Qgfa.js";import{$ as x,C as S,D as C,G as w,K as T,N as E,O as D,Q as O,T as k,W as A,Z as j,at as M,b as N,d as P,et as F,f as I,g as L,j as R,m as ee,nt as z,o as B,p as te,rt as V,t as H,tt as ne,u as U,v as re,w as W,y as ie}from"./FloatingPortal-XC0MCNnD.js";import{t as G}from"./utils-oBThwhjm.js";import{Rt as ae,et as oe}from"./is-ref-object-h-bjS8Eq.js";import{c as se,d as K,l as ce,n as le,o as ue,r as de,s as fe,t as pe,u as q}from"./ease-DYVhTl2n.js";import{n as me,t as he}from"./use-reduced-motion-CFEp5oKr.js";import{F as ge,I as _e,M as ve,N as ye,O as be,P as xe,_ as Se,a as Ce,b as we,c as Te,i as Ee,j as De,n as Oe,o as ke,r as Ae,t as je,y as Me}from"./useButton-CvcmqA2s.js";import{D as Ne,E as Pe,c as Fe,d as Ie,f as Le,i as Re,m as ze,o as Be,s as Ve,t as He,v as Ue,x as We,y as Ge}from"./createBaseUIEventDetails-DIxvaz-Y.js";import{A as Ke,B as qe,C as Je,D as Ye,E as Xe,F as Ze,I as Qe,L as $e,M as et,N as tt,O as nt,R as rt,S as it,T as at,U as ot,V as st,X as ct,Y as lt,Z as ut,a as dt,b as ft,c as pt,d as mt,g as ht,h as gt,j as _t,k as vt,l as yt,m as bt,p as xt,q as St,s as Ct,u as wt,w as Tt,x as Et,z as Dt}from"./DialogTitle-RY2UDuCY.js";import{M as Ot,S as kt,b as At,d as jt,f as Mt,i as Nt,l as Pt,n as Ft,o as It,p as Lt,s as Rt,t as zt,u as Bt,x as Vt,y as Ht}from"./select-BhV4ikeN.js";import{n as Ut,r as Wt,t as Gt}from"./useBaseUiId-lKfDDIcw.js";import{t as Kt}from"./createLucideIcon-CQY2ECfR.js";import{i as qt,n as Jt,r as Yt,t as Xt}from"./right-panel-registry-BaLZiKny.js";import{a as Zt,i as Qt,n as $t,s as en,t as tn}from"./provider-label-QrVOwKBO.js";import{r as nn}from"./resource-helpers-CKbSmzpw.js";import{t as rn}from"./bot-DETalD3q.js";import{t as an}from"./check-BTwIaCtI.js";import{t as on}from"./chevron-down-Bse1ggZM.js";import{a as sn,c as cn,d as ln,h as un,i as dn,l as fn,m as pn,n as mn,o as hn,r as gn,s as _n,t as vn,u as yn}from"./tool-part-normalizer-CYK62WZM.js";import{n as bn}from"./useRender-Bbk_fl72.js";import{t as xn}from"./chevron-right-BPCB1mOg.js";import{n as Sn,t as Cn}from"./file-text-cqOanUYv.js";import{n as wn,t as Tn}from"./file-code-corner-BkDULqko.js";import{a as En,i as Dn}from"./tool-output-normalizer-CADgEiI4.js";import{a as On,c as kn,d as An,f as jn,i as Mn,l as Nn,r as Pn,t as Fn,u as In}from"./layout-constants-BWf8QAZ6.js";import{a as Ln,c as Rn,f as zn,i as Bn,n as Vn,o as Hn,s as Un,t as Wn}from"./chat-helpers-Bj7_hES7.js";import{_ as Gn,a as Kn,b as qn,c as Jn,d as Yn,g as Xn,h as Zn,i as Qn,m as $n,n as er,o as tr,p as nr,r as rr,s as ir,t as ar,u as or,v as sr,y as cr}from"./types-D5hZ8IyV.js";import{t as lr}from"./folder-COBtkKZa.js";import{t as ur}from"./gauge-0Nn96wfZ.js";import{n as dr,t as fr}from"./sparkles-BwVa9zQJ.js";import{t as pr}from"./loader-circle-BmKYM_C4.js";import{t as mr}from"./package-BkC-HSi-.js";import{n as hr,t as gr}from"./notify-Cqdu6EV8.js";import{a as _r,i as vr,n as yr,t as br}from"./right-panel-context-DHKWoetk.js";import{t as xr}from"./refresh-cw-CqPE3kNY.js";import{t as Sr}from"./search-Cb6fFWew.js";import{t as Cr}from"./triangle-alert-BuzmrrqI.js";import{t as wr}from"./x-DEU6H3M-.js";import{t as Tr}from"./button-CWYjn8Zk.js";import{t as Er}from"./dist-BogNzeK9.js";import{n as Dr,r as Or,t as kr}from"./safe-storage-s25GrfpH.js";import{i as Ar}from"./ui-preferences-B-PNDkyY.js";import{t as jr}from"./preload-helper-BLdHbfdN.js";import{t as Mr}from"./prime-agent-artifacts-C-g1VPiW.js";import{B as Nr,C as Pr,D as Fr,E as Ir,F as Lr,H as Rr,K as J,L as Y,M as zr,N as Br,O as Vr,P as Hr,Q as Ur,R as Wr,S as Gr,T as Kr,U as X,V as qr,_ as Jr,a as Yr,b as Xr,c as Zr,d as Qr,f as $r,g as ei,h as ti,i as ni,j as ri,k as ii,l as ai,m as oi,n as si,o as ci,p as li,q as ui,s as di,t as fi,u as pi,v as mi,w as hi,y as gi,z as _i}from"./badge-DM06QVqB.js";import{a as vi,i as yi,n as bi,o as xi,r as Si,t as Ci}from"./dialog-zCNOQI63.js";import{a as wi,c as Ti,i as Ei,l as Di,n as Oi,o as ki,r as Ai,s as ji,t as Mi}from"./input-7g8_nw-Z.js";import{a as Ni,c as Pi,i as Fi,n as Ii,o as Li,r as Ri,s as zi,t as Bi}from"./surfaces-BUjUJTyD.js";import{t as Vi}from"./useControlled-CkQSkSv1.js";import{t as Hi}from"./openui-utils-DawGoQNp.js";import{n as Ui,t as Wi}from"./action-swap-BWRUNKQA.js";import{a as Gi,c as Ki,d as qi,i as Ji,l as Yi,n as Xi,r as Zi,s as Qi,t as $i,u as ea}from"./tokens-DinEQBG4.js";import{a as ta,i as na,n as ra,o as ia,r as aa,t as oa}from"./prompt-input-CoV1gTUQ.js";import{n as sa}from"./workspace-path-nav-D-77sJ_A.js";import{n as ca}from"./reasoning-line-DGdPUMwT.js";import{t as la}from"./use-hover-capable-CLq8BADD.js";import{a as ua,i as da,n as fa,o as pa,r as ma,s as ha,t as ga}from"./alert-dialog-DGNvg0B1.js";var _a=class extends u{#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p=new Set;constructor(e,t){super(),this.options=t,this.#e=e,this.#o=null,this.bindMethods(),this.setOptions(t)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),ya(this.#t,this.options)?this.#m():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return ba(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return ba(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof l(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!y(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&xa(this.#t,n,this.options,t)&&this.#m(),this.updateResult(),r&&(this.#t!==n||l(this.options.enabled,this.#t)!==l(t.enabled,this.#t)||l(this.options.staleTime,this.#t)!==l(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||l(this.options.enabled,this.#t)!==l(t.enabled,this.#t)||i!==this.#f)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return y(this.getCurrentResult(),n)||(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),Reflect.get(e,n))})}trackProp(e){this.#p.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t),r=()=>{},i,a=new Promise(e=>{i=e,r=this.#e.getQueryCache().subscribe(i=>{i.type===`updated`&&i.query.queryHash===n.queryHash&&n.state.data!==void 0&&(r(),e(this.createResult(n,t)))})});return Promise.race([n.fetch().then(()=>{let e=this.createResult(n,t);return i?.(e),e}).finally(()=>{r()}),a])}fetch(e){return this.#m({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#m(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(c)),t}#h(e){return!p()&&l(this.options.enabled,this.#t)!==!1&&m(e)}#g(){this.#b();let e=l(this.options.staleTime,this.#t);if(this.#r.isStale||!this.#h(e))return;let t=v(this.#r.dataUpdatedAt,e)+1;this.#u=s.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return l(this.options.refetchInterval,this.#t)??!1}#v(e){this.#x(),this.#f=e,!(this.#f===0||!this.#h(this.#f))&&(this.#d=s.setInterval(()=>{(this.options.refetchIntervalInBackground||_.isFocused())&&this.#m()},this.#f))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#u!==void 0&&(s.clearTimeout(this.#u),this.#u=void 0)}#x(){this.#d!==void 0&&(s.clearInterval(this.#d),this.#d=void 0)}createResult(e,t){let n=this.#t,r=this.options,i=this.#r,a=this.#i,o=this.#a,s=e===n?this.#n:e.state,{state:c}=e,u={...c},d=!1,p;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&ya(e,t),o=i&&xa(e,n,t,r);(a||o)&&(u={...u,...f(c.data,e.options)}),t._optimisticResults===`isRestoring`&&(u.fetchStatus=`idle`)}let{error:m,errorUpdatedAt:h,status:g}=u;p=u.data;let _=!1;if(t.placeholderData!==void 0&&p===void 0&&g===`pending`){let e;i?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(e=i.data,_=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#l?.state.data,this.#l):t.placeholderData,e!==void 0&&(g=`success`,p=b(i?.data,e,t),d=!0)}if(t.select&&p!==void 0&&!_){if(i&&p===a?.data&&t.select===this.#s)p=this.#c;else try{this.#s=t.select,p=t.select(p),p=b(i?.data,p,t),this.#c=p,this.#o=null}catch(e){this.#o=e}}else p===void 0&&(this.#o=null);this.#o&&(m=this.#o,p=this.#c,h=Date.now(),g=`error`,d=!1);let v=u.fetchStatus===`fetching`,y=g===`pending`,x=g===`error`,S=y&&v,C=p!==void 0;return{status:g,fetchStatus:u.fetchStatus,isPending:y,isSuccess:g===`success`,isError:x,isInitialLoading:S,isLoading:S,data:p,dataUpdatedAt:u.dataUpdatedAt,error:m,errorUpdatedAt:h,failureCount:u.fetchFailureCount,failureReason:u.fetchFailureReason,errorUpdateCount:u.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:u.dataUpdateCount>s.dataUpdateCount||u.errorUpdateCount>s.errorUpdateCount,isFetching:v,isRefetching:v&&!y,isLoadingError:x&&!C,isPaused:u.fetchStatus===`paused`,isPlaceholderData:d,isRefetchError:x&&C,isStale:Sa(e,t),refetch:this.refetch,isEnabled:l(t.enabled,e)!==!1}}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);if(this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#l=this.#t),y(t,e))return;this.#r=t;let n=(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#p.size)return!0;let r=new Set(n??this.#p);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})();g.batch(()=>{n&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}};function va(e,t){return l(t.enabled,e)!==!1&&e.state.data===void 0&&(e.state.status!==`error`||l(t.retryOnMount,e)!==!1)}function ya(e,t){return va(e,t)||e.state.data!==void 0&&ba(e,t,t.refetchOnMount)}function ba(e,t,n){if(l(t.enabled,e)!==!1&&l(t.staleTime,e)!==`static`){let r=l(n,e);return r===`always`||r!==!1&&Sa(e,t)}return!1}function xa(e,t,n,r){return(e!==t||l(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&Sa(e,n)}function Sa(e,t){return l(t.enabled,e)!==!1&&e.isStaleByTime(l(t.staleTime,e))}var Ca=class extends u{#e;#t=void 0;#n;#r;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#i()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),y(this.options,t)||this.#e.getMutationCache().notify({type:`observerOptionsUpdated`,mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&d(t.mutationKey)!==d(this.options.mutationKey)?this.reset():this.#n?.state.status===`pending`&&this.#n.setOptions(this.options)}onSubscribe(){this.listeners.size===1&&this.#n&&(this.#n.addObserver(this),this.#i())}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(e){this.#i(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#i(),this.#a()}mutate(e,t){return this.#r=t,this.#n?.removeObserver(this),this.#n=this.#e.getMutationCache().build(this.#e,this.options),this.#n.addObserver(this),this.#n.execute(e)}#i(){let e=this.#n?.state??h();this.#t={...e,isPending:e.status===`pending`,isSuccess:e.status===`success`,isError:e.status===`error`,isIdle:e.status===`idle`,mutate:this.mutate,reset:this.reset}}#a(e){g.batch(()=>{let t=this.#r;if(t&&this.hasListeners()){let n=this.#t.variables,r=this.#t.context,i={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type===`success`){try{t.onSuccess?.(e.data,n,r,i)}catch(e){Promise.reject(e)}try{t.onSettled?.(e.data,null,n,r,i)}catch(e){Promise.reject(e)}}else if(e?.type===`error`){try{t.onError?.(e.error,n,r,i)}catch(e){Promise.reject(e)}try{t.onSettled?.(void 0,e.error,n,r,i)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#t)})})}},Z=e(t(),1),wa=Z.createContext(!1),Ta=()=>Z.useContext(wa);wa.Provider;var Q=r();function Ea(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var Da=Z.createContext(Ea()),Oa=()=>Z.useContext(Da),ka=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?o(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||r)&&(t.isReset()||(e.retryOnMount=!1))},Aa=e=>{Z.useEffect(()=>{e.clearReset()},[e])},ja=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||o(n,[e.error,r])),Ma=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},Na=(e,t)=>e?.suspense&&t.isPending,Pa=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function Fa(e,t,n){let r=Ta(),a=Oa(),o=i(n),s=o.defaultQueryOptions(e),l=o.getQueryCache().get(s.queryHash),u=e.subscribed!==!1;s._optimisticResults=r?`isRestoring`:u?`optimistic`:void 0,Ma(s),ka(s,a,l),Aa(a);let[d]=Z.useState(()=>new t(o,s)),f=d.getOptimisticResult(s),p=!r&&u;if(Z.useSyncExternalStore(Z.useCallback(e=>{let t=p?d.subscribe(g.batchCalls(e)):c;return d.updateResult(),t},[d,p]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),Z.useEffect(()=>{d.setOptions(s)},[s,d]),Na(s,f))throw Pa(s,d,a);if(ja({result:f,errorResetBoundary:a,throwOnError:s.throwOnError,query:l,suspense:s.suspense}))throw f.error;return s.notifyOnChangeProps?f:d.trackResult(f)}function Ia(e,t){return Fa(e,_a,t)}function La(e,t){let n=i(t),[r]=Z.useState(()=>new Ca(n,e));Z.useEffect(()=>{r.setOptions(e)},[r,e]);let a=Z.useSyncExternalStore(Z.useCallback(e=>r.subscribe(g.batchCalls(e)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),s=Z.useCallback((...e)=>{r.mutate(e[0],e[1]).catch(c)},[r]);if(a.error&&o(r.options.throwOnError,[a.error]))throw a.error;return{...a,mutate:s,mutateAsync:a.mutate}}var Ra=e=>!e.isLayoutDirty&&e.willUpdate(!1);function za(){let e=new Set,t=new WeakMap,n=()=>e.forEach(Ra);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 Ba=(0,Z.createContext)(null);function Va(){let e=(0,Z.useRef)(!1);return K(()=>(e.current=!0,()=>{e.current=!1}),[]),e}function Ha(){let e=Va(),[t,n]=(0,Z.useState)(0),r=(0,Z.useCallback)(()=>{e.current&&n(t+1)},[t]);return[(0,Z.useCallback)(()=>oe.postRender(r),[r]),t]}var Ua=e=>e===!0,Wa=e=>Ua(e===!0)||e===`id`,Ga=({children:e,id:t,inherit:n=!0})=>{let r=(0,Z.useContext)(ae),i=(0,Z.useContext)(Ba),[a,o]=Ha(),s=(0,Z.useRef)(null),c=r.id||i;s.current===null&&(Wa(n)&&c&&(t=t?c+`-`+t:c),s.current={id:t,group:Ua(n)&&r.group||za()});let l=(0,Z.useMemo)(()=>({...s.current,forceRender:a}),[o]);return(0,Q.jsx)(ae.Provider,{value:l,children:e})};function Ka(e,t){return t!=null&&!ot(t)?0:typeof e==`function`?e():e}function qa(e,t,n){let r=Ka(e,n);return typeof r==`number`?r:r?.[t]}function Ja(e){return typeof e==`function`?e():e}function Ya(e,t){return t||e===`click`||e===`mousedown`}function Xa(e){return e?.includes(`mouse`)&&e!==`mousedown`}var Za=M();function Qa(e){let t=Z.useCallback(t=>e===void 0?_e:e.subscribeStore(t),[e]),n=Z.useCallback(()=>e===void 0?void 0:e.store,[e]);return(0,Za.useSyncExternalStore)(t,n,()=>e?.serverStore)}var $a=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 j,this.restTimeout=new j,this.handleCloseOptions=void 0}static create(){return new e}dispose=()=>{this.openChangeTimeout.clear(),this.restTimeout.clear()};disposeEffect=()=>this.dispose},eo=new WeakMap;function to(e){if(!e.performedPointerEventsMutation)return;let t=e.pointerEventsScopeElement;t&&eo.get(t)===e&&(e.pointerEventsScopeElement?.style.removeProperty(`pointer-events`),e.pointerEventsReferenceElement?.style.removeProperty(`pointer-events`),e.pointerEventsFloatingElement?.style.removeProperty(`pointer-events`),eo.delete(t)),e.performedPointerEventsMutation=!1,e.pointerEventsScopeElement=null,e.pointerEventsReferenceElement=null,e.pointerEventsFloatingElement=null}function no(e,t){let{scopeElement:n,referenceElement:r,floatingElement:i}=t,a=eo.get(n);a&&a!==e&&to(a),to(e),e.performedPointerEventsMutation=!0,e.pointerEventsScopeElement=n,e.pointerEventsReferenceElement=r,e.pointerEventsFloatingElement=i,eo.set(n,e),n.style.pointerEvents=`none`,r.style.pointerEvents=`auto`,i.style.pointerEvents=`auto`}function ro(e){let t=e.context.dataRef.current,n=ye(()=>t.hoverInteractionState??$a.create()).current;return t.hoverInteractionState||=n,Ne(t.hoverInteractionState.disposeEffect),t.hoverInteractionState}function io(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=st(),d=qe(),f=ro(a),p=O(),m=be(()=>Ya(l.current.openEvent?.type,f.interactedInside)),h=be(()=>Xa(l.current.openEvent?.type)),g=be(()=>{to(f)});ve(()=>{o||(f.pointerType=void 0,f.restTimeoutPending=!1,f.interactedInside=!1,g())},[o,f,g]),Z.useEffect(()=>g,[g]),ve(()=>{if(n&&o&&f.handleCloseOptions?.blockPointerEvents&&h()&&Me(c)&&s){let e=c,t=s,n=x(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 no(f,{scopeElement:o,referenceElement:e,floatingElement:t}),()=>{g()}}},[n,o,c,s,f,h,u,d,g]),Z.useEffect(()=>{if(!n)return;function e(){return!!(u&&d&&St(u.nodesRef.current,d).length>0)}function t(e){let t=qa(r,`close`,f.pointerType),n=()=>{a.setOpen(!1,He(ze,e)),u?.events.emit(`floating.closed`,e)};t?f.openChangeTimeout.start(t,n):(f.openChangeTimeout.clear(),n())}function o(e){let t=T(e);if(!R(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(E(n.relatedTarget,a.context.triggerElements))return;let r=l.current.floatingContext?.nodeId??i,o=n.relatedTarget;if(!(u&&r&&Me(o)&&St(u.nodesRef.current,r,!1).some(e=>w(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,He(ze,t)),u.events.emit(`floating.closed`,t)})}let y=s;return F(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 ao=e(n(),1),oo={current:null};function so(e,t={}){let{enabled:n=!0,delay:r=0,handleClose:i=null,mouseOnly:a=!1,restMs:o=0,move:s=!0,triggerElementRef:c=oo,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=st(l),y=ro(h),b=Z.useRef(!1),S=Wt(i),C=Wt(r),D=Wt(o),O=Wt(n),k=Wt(p),A=Wt(f),j=be(()=>Ya(g.current.openEvent?.type,y.interactedInside)),M=be(()=>k.current?.()!==!1),N=be((e,t,n)=>{let r=h.context.triggerElements;if(r.hasElement(t))return!e||!w(e,t);if(!Me(n))return!1;let i=n;return r.hasMatchingElement(e=>w(e,i))&&(!e||!w(e,i))}),P=be(()=>{y.handler&&=(x(h.select(`domReferenceElement`)).removeEventListener(`mousemove`,y.handler),void 0)}),I=be(()=>{to(y)});return u&&(y.handleCloseOptions=i?.__options),Z.useEffect(()=>P,[P]),Z.useEffect(()=>{if(!n)return;function e(e){e.open?b.current=!1:(b.current=e.reason===ze,P(),y.openChangeTimeout.clear(),y.restTimeout.clear(),y.blockMouseMove=!0,y.restTimeoutPending=!1)}return _.on(`openchange`,e),()=>{_.off(`openchange`,e)}},[n,_,y,P]),Z.useEffect(()=>{if(!n)return;function e(e,t=!0){let n=qa(C.current,`close`,y.pointerType);n?y.openChangeTimeout.start(n,()=>{h.setOpen(!1,He(ze,e)),v?.events.emit(`floating.closed`,e)}):t&&(y.openChangeTimeout.clear(),h.setOpen(!1,He(ze,e)),v?.events.emit(`floating.closed`,e))}let t=c.current??(u?h.select(`domReferenceElement`):null);if(!Me(t))return;function r(e){if(y.openChangeTimeout.clear(),y.blockMouseMove=!1,a&&!ot(y.pointerType))return;let t=Ja(D.current),n=qa(C.current,`open`,y.pointerType),r=T(e),i=e.currentTarget??null,o=h.select(`domReferenceElement`),s=i;if(Me(r)&&!h.context.triggerElements.hasElement(r)){for(let e of h.context.triggerElements.elements())if(w(e,r)){s=e;break}}Me(i)&&Me(o)&&!h.context.triggerElements.hasElement(i)&&w(i,o)&&(s=o);let c=s!=null&&N(o,s,r),l=h.select(`open`),u=A.current?.()??h.select(`transitionStatus`)===`ending`,d=!l&&u&&b.current,f=!c&&Me(s)&&Me(o)&&w(o,s)&&d,p=t>0&&!n,m=c&&(l||d)||f,g=!l||c;if(m){M()&&h.setOpen(!0,He(ze,e,s));return}p||(n?y.openChangeTimeout.start(n,()=>{g&&M()&&h.setOpen(!0,He(ze,e,s))}):g&&M()&&h.setOpen(!0,He(ze,e,s)))}function i(t){if(j()){I();return}P();let n=h.select(`domReferenceElement`),r=x(n);y.restTimeout.clear(),y.restTimeoutPending=!1;let i=g.current.floatingContext??d?.();if(!E(t.relatedTarget,h.context.triggerElements)){if(S.current&&i){h.select(`open`)||y.openChangeTimeout.clear();let n=c.current;y.handler=S.current({...i,tree:v,x:t.clientX,y:t.clientY,onClose(){I(),P(),O.current&&!j()&&n===h.select(`domReferenceElement`)&&e(t,!0)}}),r.addEventListener(`mousemove`,y.handler),y.handler(t);return}(y.pointerType!==`touch`||!w(h.select(`floatingElement`),t.relatedTarget))&&e(t)}}function o(e){w(t,e.relatedTarget)||(y.openChangeTimeout.clear(),y.restTimeout.clear(),y.restTimeoutPending=!1)}let l=m?Pe(t,`mouseout`,o):void 0;return s?F(Pe(t,`mousemove`,r,{once:!0}),Pe(t,`mouseenter`,r),Pe(t,`mouseleave`,i),l):F(Pe(t,`mouseenter`,r),Pe(t,`mouseleave`,i),l)},[P,I,g,C,h,n,S,y,u,N,j,a,s,D,c,v,O,d,A,M,m]),Z.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=N(r,n,e.target);if(a&&!ot(y.pointerType))return;if(i&&o&&y.handleCloseOptions?.blockPointerEvents){let e=h.select(`floatingElement`);if(e){let t=y.handleCloseOptions?.getScope?.()??n.ownerDocument.body;no(y,{scopeElement:t,referenceElement:n,floatingElement:e})}}let s=Ja(D.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,j())return;let e=h.select(`open`);!y.blockMouseMove&&(!e||o)&&M()&&h.setOpen(!0,He(ze,t,n))}y.pointerType===`touch`?ao.flushSync(()=>{c()}):o&&i?c():(y.restTimeoutPending=!0,y.restTimeout.start(s,c))}}},[n,y,j,N,a,h,D,M])}var co=.1,lo=co*co,uo=.5;function fo(e,t,n,r,i,a){return r>=t!=a>=t&&e<=(i-n)*(t-r)/(a-r)+n}function po(e,t,n,r,i,a,o,s,c,l){let u=!1;return fo(e,t,n,r,i,a)&&(u=!u),fo(e,t,i,a,o,s)&&(u=!u),fo(e,t,o,s,c,l)&&(u=!u),fo(e,t,c,l,n,r)&&(u=!u),u}function mo(e,t,n){return e>=n.x&&e<=n.x+n.width&&t>=n.y&&t<=n.y+n.height}function ho(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 go(e={}){let{blockPointerEvents:t=!1}=e,n=new j,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*lo;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=T(r),g=r.type===`mouseleave`,_=w(u,h),v=w(a,h);if(_&&(l=!0,!g))return;if(v&&(l=!1,!g)){l=!0;return}if(g&&Me(r.relatedTarget)&&w(u,r.relatedTarget))return;function y(){return!!(s&&St(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,E=t>S.bottom-S.height/2,D=S.width>x.width,O=S.height>x.height,k=(D?x:S).left,A=(D?x:S).right,j=(O?x:S).top,M=(O?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 N=!1;switch(c){case`top`:N=ho(d,f,k,x.top+1,A,S.bottom-1);break;case`bottom`:N=ho(d,f,k,S.top+1,A,x.bottom-1);break;case`left`:N=ho(d,f,S.right-1,M,x.left+1,j);break;case`right`:N=ho(d,f,x.right-1,M,S.left+1,j)}if(N)return;if(l&&!mo(d,f,x)){b();return}if(!g&&p(d,f)){b();return}let P=!1;switch(c){case`top`:{let n=D?uo/2:uo*4,r=D||C?e+n:e-n,i=D?e-n:C?e+n:e-n,a=t+uo+1,o=C||D?S.bottom-uo:S.top,s=C?D?S.bottom-uo:S.top:S.bottom-uo;P=po(d,f,r,a,i,a,S.left,o,S.right,s);break}case`bottom`:{let n=D?uo/2:uo*4,r=D||C?e+n:e-n,i=D?e-n:C?e+n:e-n,a=t-uo,o=C||D?S.top+uo:S.bottom,s=C?D?S.top+uo:S.bottom:S.top+uo;P=po(d,f,r,a,i,a,S.left,o,S.right,s);break}case`left`:{let n=O?uo/2:uo*4,r=O||E?t+n:t-n,i=O?t-n:E?t+n:t-n,a=e+uo+1,o=E||O?S.right-uo:S.left,s=E?O?S.right-uo:S.left:S.right-uo;P=po(d,f,o,S.top,s,S.bottom,a,r,a,i);break}case`right`:{let n=O?uo/2:uo*4,r=O||E?t+n:t-n,i=O?t-n:E?t+n:t-n,a=e-uo,o=E||O?S.left+uo:S.right,s=E?O?S.left+uo:S.right:S.left+uo;P=po(d,f,a,r,a,i,o,S.top,s,S.bottom);break}}P?l||n.start(40,b):b()}};return r.__options={...e,blockPointerEvents:t},r}var _o={name:`arrow-right`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]};_o.node;var vo=Kt(_o),yo={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`}]]};yo.node;var bo=Kt(yo),xo={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`]};xo.node;var So=Kt(xo),Co={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`]};Co.node;var wo=Kt(Co),To={name:`clock-3`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6h4`,key:`135r8i`}]]};To.node;var Eo=Kt(To),Do={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`}]]};Do.node;var Oo=Kt(Do),ko={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`]};ko.node;var Ao=Kt(ko),jo={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`}]]};jo.node;var Mo=Kt(jo),No={name:`message-square-text`,size:24,node:[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M7 11h10`,key:`1twpyw`}],[`path`,{d:`M7 15h6`,key:`d9of3u`}],[`path`,{d:`M7 7h8`,key:`af5zfr`}]]};No.node;var Po=Kt(No),Fo={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`}]]};Fo.node;var Io=Kt(Fo),Lo={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`}]]};Lo.node;var Ro=Kt(Lo),zo={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`}]]};zo.node;var Bo=Kt(zo),Vo={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`]};Vo.node;var Ho=Kt(Vo),Uo={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`}]]};Uo.node;var Wo=Kt(Uo),Go={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`}]]};Go.node;var Ko=Kt(Go),qo={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`}]]};qo.node;var Jo=Kt(qo),Yo=`Fleet Prime is not connected to the Prime Agent runtime. Start or reconnect the runtime, then try again.`;function Xo(e){return e.type===`text`}function Zo(e){return e.type===`payload`}function Qo(e){return e.type.startsWith(`tool-`)}function $o(e){return e.trimStart().startsWith(`/`)?!0:/(?:^|\s)@[^\s@]*$/.test(e)}function es(e){return e.trim().replace(/\s+/g,` `)}function ts(e,t,n=`append`){if(!t)return;let r=es(t);if(n===`replace`)return r.length>0?r:void 0;let i=es(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}var ns=Z.createContext(void 0);function rs(e=!1){let t=Z.useContext(ns);if(!t&&!e)throw Error(De(86));return t}Object.keys(ji);function is(e,t){return e.matches(`:disabled`)?!1:!t||e.form===t||e.form===null&&!e.hasAttribute(`form`)}var as=Z.createContext({disabled:!1});function os(){return Z.useContext(as)}function ss(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:Yo}:{title:`Request failed`,message:e.message.replace(/\s+(?:Socket|Daemon log):\s*[^\n]*(?:\s+(?:Socket|Daemon log):\s*[^\n]*)*/gi,``)}}var cs=[{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 ls({disabled:e,onSelect:t}){return(0,Q.jsxs)(`section`,{"aria-labelledby":`welcome-title`,className:`flex w-full flex-col items-center gap-6 text-center`,children:[(0,Q.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,Q.jsx)(`div`,{role:`group`,"aria-label":`Suggested prompts`,className:`flex w-full flex-wrap justify-center gap-2`,children:cs.map(n=>(0,Q.jsx)(Tr,{type:`button`,variant:`outline`,size:`compact`,disabled:e||n.disabled,onClick:()=>t(n),className:qi,children:n.label},n.id))})]})}var us=[`·`,`•`,`●`,`•`];function ds({label:e,isActive:t,className:n}){let[r,i]=(0,Z.useState)(0),[a,o]=(0,Z.useState)(0);return(0,Z.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,Q.jsxs)(`div`,{className:G(`flex items-center gap-2 px-chat-context py-1 text-xs text-foreground/70`,n),children:[(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:`font-mono text-primary`,children:us[a%us.length]}),(0,Q.jsx)(`span`,{className:`sr-only`,"aria-live":`polite`,children:e}),(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:`truncate`,children:e}),(0,Q.jsxs)(`span`,{"aria-hidden":`true`,className:`tabular-nums text-foreground/50`,children:[r,`s`]})]})}function fs(e,t){return(0,Z.useMemo)(()=>{if(!t||!e.startsWith(`/`))return[];let n=e.slice(1).toLowerCase();return t.filter(e=>e.name.startsWith(n))},[t,e])}function ps(e,t){return(0,Z.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 ms({open:e,align:t=`start`,className:n,...r}){return(0,Q.jsx)(`div`,{"data-slot":`composer-menu`,"data-open":e||void 0,className:G(Fi,`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 hs({active:e=!1,className:t,...n}){return(0,Q.jsx)(`button`,{type:`button`,"data-slot":`composer-menu-item`,"data-active":e||void 0,tabIndex:-1,className:G(`flex w-full items-center gap-2.5 rounded-[10px] px-2.5 py-2 text-body transition-colors`,e?Ri:`hover:bg-foreground/[0.04]`,t),...n})}function gs(e,t){return t.icon?t.icon:e===`mention`?t.metadata?.kind===`folder`?(0,Q.jsx)(lr,{"aria-hidden":`true`,className:`size-4`}):(0,Q.jsx)(jn,{"aria-hidden":`true`,className:`size-4`}):(0,Q.jsx)(Oo,{"aria-hidden":`true`,className:`size-4`})}function _s(e,t){return e&&e.length>0?e.flatMap(e=>e.items):t?[...t]:[]}var vs=(0,Z.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,Z.useMemo)(()=>_s(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,Q.jsxs)(hs,{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:G(`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,Q.jsx)(`span`,{className:`mt-0.5 shrink-0 text-muted-foreground`,children:gs(t,e)}),(0,Q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`span`,{className:`block truncate text-sm font-medium`,children:e.label}),e.description?(0,Q.jsx)(`span`,{className:`mt-0.5 block truncate text-xs text-muted-foreground`,children:e.description}):null]}),r?(0,Q.jsx)(xn,{"aria-hidden":`true`,className:`mt-1 size-3.5 shrink-0 text-muted-foreground`}):null]},e.id)};return e?(0,Q.jsxs)(ms,{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:G(`inset-x-0 z-50 mb-2 w-auto overflow-hidden rounded-xl border bg-popover text-popover-foreground shadow-xl`,l),children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 border-b px-3 py-2 text-xs text-muted-foreground`,children:[c?(0,Q.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,Q.jsx)(un,{"aria-hidden":`true`,className:`size-3.5`})}):null,(0,Q.jsx)(fr,{"aria-hidden":`true`,className:`size-3.5`}),(0,Q.jsx)(`span`,{className:`font-medium`,children:d??(t===`slash`?`Commands`:`Workspace`)}),n?(0,Q.jsx)(`span`,{className:`ms-auto max-w-[50%] truncate font-mono text-caption`,children:n}):null]}),(0,Q.jsxs)(`div`,{className:`max-h-[min(42dvh,360px)] overflow-y-auto overscroll-contain p-1.5`,children:[p.length===0?(0,Q.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,Q.jsxs)(`div`,{role:`group`,"aria-label":e.label,children:[(0,Q.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}),ys=`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`,bs=(0,Z.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,Q.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:G(ys,!a&&`pointer-events-none`,l),...d,title:d.title??(typeof e==`string`?e:void 0),disabled:!a||!!d.disabled,children:[t?(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:`shrink-0 [&_svg]:size-3.5`,children:t}):null,(0,Q.jsx)(`span`,{className:`min-w-0 truncate font-medium`,children:e}),n,i?(0,Q.jsx)(on,{"aria-hidden":`true`,className:`size-3 shrink-0 text-foreground/70`}):null]})}),xs=Z.createContext(void 0);function Ss(e){let t=Z.useContext(xs);if(t===void 0&&!e)throw Error(De(47));return t}var Cs={...Et,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},ws=class extends ne{constructor(e,t,n){let r=new it;super(Ts(e,r,t,n),Es(r),Cs)}setOpen=(e,t)=>{let n=t.reason===ze,r=t.reason===`trigger-press`&&t.event.detail===0,i=!e&&(t.reason===`escape-key`||t.reason==null),a=at(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=Ye(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)}),ao.flushSync(s)):s();let c;r?c=`click`:i?c=`dismiss`:t.reason===`focus-out`&&(c=`focus`),this.set(`instantType`,c)}};function Ts(e,t,n,r=!1){let i={...ft(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 Es(e){return{popupRef:Z.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerFocusTargetRef:Z.createRef(),beforeContentFocusGuardRef:Z.createRef(),stickIfOpenTimeout:new j,triggerElements:e}}var Ds=z(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=ks(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),et(u,d),nt(u);let{forceUnmount:m}=vt(d,u,()=>{u.update({stickIfOpen:!0,openChangeReason:null})});u.useSyncedValues({modal:o}),Z.useEffect(()=>{d||u.context.stickIfOpenTimeout.clear()},[u,d]),Z.useImperativeHandle(e.actionsRef,()=>({unmount:m,close:()=>u.setOpen(!1,He(Ve))}),[m,u]);let h=d||f;return(0,Q.jsxs)(xs.Provider,{value:u,children:[s&&(0,Q.jsx)(Tt,{handle:s,store:u}),h&&(0,Q.jsx)(As,{store:u,modal:o}),typeof t==`function`?t({payload:p}):t]})});function Os(e){return Ss(!0)?(0,Q.jsx)(Ds,{props:e}):(0,Q.jsx)(rt,{children:(0,Q.jsx)(Ds,{props:e})})}function ks(e,t){let n=_t((e,n)=>new ws(t,e,n));return Z.useEffect(()=>n.context.stickIfOpenTimeout.disposeEffect(),[n]),n}function As({store:e,modal:t}){let n=e.useState(`floatingRootContext`),r=Ze(n,{outsidePressEvent:{mouse:t===`trap-focus`?`sloppy`:`intentional`,touch:`sloppy`}}),i=r.reference,a=r.floating;return Ke(e,{activeTriggerProps:i,inactiveTriggerProps:i,popupProps:a}),null}function js(e,t){let n=Z.useRef(null);function r(t){ao.flushSync(()=>{e.setOpen(!1,He(Be,t.nativeEvent,t.currentTarget))}),ie(n.current)?.focus()}function i(n){let r=e.select(`positionerElement`);if(r&&N(n,r))e.context.beforeContentFocusGuardRef.current?.focus();else{ao.flushSync(()=>{e.setOpen(!1,He(Be,n.nativeEvent,n.currentTarget))});let i=re(e.context.triggerFocusTargetRef.current||t.current);for(;i!==null&&w(r,i);){let e=i;if(i=L(i),i===e)break}i?.focus()}}return{preFocusGuardRef:n,handlePreFocusGuardFocus:r,handleFocusTargetFocus:i}}var Ms=V(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=Ss(!0),h=Qa(s)??m;if(!h)throw Error(De(74));let g=Gt(f),_=h.useState(`isTriggerActive`,g),v=h.useState(`floatingRootContext`),y=h.useState(`isOpenedByTrigger`,g),b=h.useState(`triggerPopupId`,g),x=Z.useRef(null),{registerTrigger:S,isMountedByThisTrigger:C}=tt(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=so(v,{enabled:!a&&l&&(E!==`touch`||w!==`trigger-press`),mouseOnly:!0,move:!1,handleClose:go(),restMs:u,delay:{close:d},triggerElementRef:x,isActiveTrigger:_,isClosing:()=>h.select(`transitionStatus`)===`ending`}),k=Ot(v,{stickIfOpen:T}),A=Lt(()=>h.select(`open`),e=>{h.set(`openMethod`,e)}),j=h.useState(`triggerProps`,C),{getButtonProps:M,buttonRef:N}=je({disabled:a,native:o}),P={open(e){return e&&w===`trigger-press`?ct.open(e):ut.open(e)}},{preFocusGuardRef:F,handlePreFocusGuardFocus:L,handleFocusTargetFocus:R}=js(h,x),ee=Ce(`button`,e,{state:{disabled:a,open:y},ref:[N,t,S,x],props:[k.reference,O,j,A,{[B]:``,id:g,"aria-haspopup":`dialog`,"aria-expanded":y,"aria-controls":b},p,M],stateAttributesMapping:P}),z=(0,Q.jsx)(Z.Fragment,{children:ee},g);return C&&!D?(0,Q.jsxs)(Z.Fragment,{children:[(0,Q.jsx)(I,{ref:F,onFocus:L}),z,(0,Q.jsx)(I,{ref:h.context.triggerFocusTargetRef,onFocus:R})]}):z}),Ns=Z.createContext(void 0);function Ps(){let e=Z.useContext(Ns);if(e===void 0)throw Error(De(45));return e}var Fs=Z.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e;return Ss().useState(`mounted`)||n?(0,Q.jsx)(Ns.Provider,{value:n,children:(0,Q.jsx)(H,{ref:t,...r})}):null}),Is=Z.createContext(void 0);function Ls(){let e=Z.useContext(Is);if(!e)throw Error(De(46));return e}var Rs=Z.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=U,..._}=e,v=Ss(),y=Ps(),b=Dt(),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=Z.useRef(null),N=Ge(O),F=Vt({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}),I=x.useState(`domReferenceElement`);ve(()=>{let e=I,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()}}},[I,N,v]);let L=E===!0&&w!==`trigger-hover`;It(C&&L,D===`touch`,O,T);let R=v.useStateSetter(`positionerElement`),ee={open:C,side:F.side,align:F.align,anchorHidden:F.anchorHidden,instant:k},z=Ht(e,ee,{styles:F.positionerStyles,transitionStatus:A,props:_,refs:[t,R],hidden:!S,inert:!C});return(0,Q.jsxs)(Is.Provider,{value:F,children:[S&&L&&(0,Q.jsx)(dt,{inert:P(!C),cutout:T}),(0,Q.jsx)($e,{id:b,children:z})]})}),zs=Z.createContext(void 0);function Bs(){let[e,t]=Z.useState(0),n=be(()=>(t(e=>e+1),()=>{t(e=>Math.max(0,e-1))}));return{context:Z.useMemo(()=>({register:n}),[n]),hasClosePart:e>0}}var Vs=Z.forwardRef(function(e,t){let{render:n,className:r,style:i,initialFocus:a,finalFocus:o,...s}=e,c=Ss(),l=Ls(),u=Nt(!0)!=null,{context:d,hasClosePart:f}=Bs(),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`);Ue({open:p,ref:c.context.popupRef,onComplete(){p&&c.context.onOpenChangeComplete?.(!0)}}),io(w,{enabled:D&&!E,closeDelay:O});let k=a===void 0?Xe(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=Ce(`div`,e,{state:M,ref:[t,c.context.popupRef,j],props:[_,{id:T,role:`dialog`,...Je,"aria-labelledby":v,"aria-describedby":y,onKeyDown(e){u&&mt.has(e.key)&&e.stopPropagation()}},At(g),s],stateAttributesMapping:lt});return(0,Q.jsx)(Qe,{context:w,openInteractionType:m,modal:A,disabled:!x||S===`trigger-hover`,initialFocus:k,returnFocus:o,restoreFocus:`popup`,previousFocusableElement:we(C)?C:void 0,nextFocusableElement:c.context.triggerFocusTargetRef,beforeContentFocusGuardRef:c.context.beforeContentFocusGuardRef,children:(0,Q.jsx)(zs.Provider,{value:d,children:N})})}),Hs=2;function Us({...e}){return(0,Q.jsx)(Os,{"data-slot":`popover`,...e})}function Ws({...e}){return(0,Q.jsx)(Ms,{"data-slot":`popover-trigger`,...e})}function Gs({className:e,children:t,align:n=`center`,alignOffset:r=0,side:i=`bottom`,sideOffset:a=4,...o}){let s=Pi(),c=Math.min(s+Hs,8);return(0,Q.jsx)(Fs,{children:(0,Q.jsx)(Rs,{align:n,alignOffset:r,side:i,sideOffset:a,className:`isolate z-50`,children:(0,Q.jsx)(Vs,{"data-slot":`popover-content`,className:G(`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`,zi(c,3),Ii,e),...o,children:(0,Q.jsx)(Bi,{value:c,children:t})})})})}function Ks({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,Z.useId)(),f=n??d,[p,m]=(0,Z.useState)(i??!1),h=r??p;return(0,Q.jsxs)(Us,{open:h,onOpenChange:e=>{r===void 0&&m(e),a?.(e)},children:[(0,Z.isValidElement)(e)?(0,Q.jsx)(Ws,{render:e,"aria-controls":f,className:`inline-flex items-center`}):(0,Q.jsx)(Ws,{render:(0,Q.jsx)(Tr,{type:`button`,variant:`ghost`,children:e}),"aria-controls":f,className:`inline-flex items-center`}),u&&h?(0,Q.jsx)(`div`,{className:`fixed inset-0 z-40 bg-black/20`,"aria-hidden":`true`}):null,(0,Q.jsx)(Gs,{id:f,side:o,align:s,sideOffset:c,className:G(`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 qs=[{id:`agent`,label:`Agent`,icon:rn,description:`Default coding agent`},{id:`plan`,label:`Plan`,icon:En,description:`Plan before executing`},{id:`harness`,label:`Harness`,icon:Bo,description:`Harness-aware turn`}],Js=(0,Z.memo)(function({modes:e,value:t,defaultValue:n,onChange:r,className:i}){let a=t!==void 0,[o,s]=(0,Z.useState)(n),c=a?t:o,l=e.find(e=>e.id===c)??e[0],[u,d]=(0,Z.useState)(!1),f=(0,Z.useId)(),p=(0,Z.useRef)([]),m=(0,Z.useCallback)((e,t)=>{a||s(e),r?.(e),t&&d(!1)},[a,r]),h=(0,Z.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,Z.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,Q.jsx)(bs,{ariaLabel:y?`Select mode, ${y}`:`Select mode`,label:y,leadingIcon:_?(0,Q.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,Q.jsx)(Ks,{contentId:f,open:u,onOpenChange:d,side:`top`,align:`start`,trigger:b,children:u?(0,Q.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,Q.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:G(`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,Q.jsx)(`span`,{"aria-hidden":`true`,className:`mt-0.5 shrink-0`,children:(0,Q.jsx)(r,{className:`size-3.5`})}):null,(0,Q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`span`,{className:`block truncate font-medium`,children:e.label}),e.description?(0,Q.jsx)(`span`,{className:`block truncate text-foreground/70`,children:e.description}):null]}),n?(0,Q.jsx)(an,{"aria-hidden":`true`,className:`mt-0.5 size-3.5 shrink-0 text-foreground/60`}):null]},e.id)})}):null}):b});function Ys(e){if(!e)return null;for(let t of e.elements){let e=t.tagName;if(e===`BUTTON`||e===`INPUT`){let e=t;if(e.type===`submit`)return e}}return null}var Xs=`data-checked`,Zs=`data-unchecked`;function Qs(e){return{checked(t){return e.indeterminate?{}:t?{[Xs]:``}:{[Zs]:``}},...Ti}}var $s=Z.createContext(void 0);function ec(){return Z.useContext($s)}var tc=Z.createContext(void 0);function nc(){let e=Z.useContext(tc);if(e===void 0)throw Error(De(14));return e}var rc=`data-parent`,ic=Z.forwardRef(function(e,t){let{checked:n,className:r,defaultChecked:i=!1,"aria-labelledby":a,disabled:o=!1,form:s,id:c,indeterminate:l=!1,inputRef:u,name:d,onCheckedChange:f,parent:p=!1,readOnly:m=!1,render:h,required:g=!1,uncheckedValue:_,value:v,nativeButton:y=!1,style:b,...x}=e,{clearErrors:S}=wi(),{disabled:C,name:w,setDirty:T,setFilled:E,setFocused:D,setTouched:O,state:k,validationMode:A,validityData:j,validation:M}=ki(),N=os(),{labelId:P,registerControlId:F,getDescriptionProps:I}=Ei(),L=ec(),R=L?.allValues===void 0?void 0:L.parent,z=R!==void 0,B=C||N.disabled||L?.disabled||o,V=w??d,H=v??V,ne=Gt(),U=L?.registerControlId!==F,re=Ai({id:c||void 0,enabled:U}),W=y?re:ne,ie={};z&&(p?ie=R.getParentProps():H!==void 0&&(ie=R.getChildProps(H)));let{checked:G=n,indeterminate:ae=l,onCheckedChange:oe,...se}=ie,K=L?.value,ce=Z.useRef(null),{getButtonProps:le,buttonRef:ue}=je({disabled:B,native:y}),de=L?.validation??M,[fe,pe]=Vi({controlled:H!==void 0&&K!==void 0&&!p?K.includes(H):G,default:i,name:`Checkbox`,state:`checked`}),q=z?!!G:fe,me=z&&ae||l;Oi(ce,ne,fe,void 0,!L&&!B,d);let he=R?.registerChildId,_e=Z.useRef(null),ye=de.registerInput,be=L?H:void 0,xe=Z.useCallback(e=>ye(e,{controlRef:ce,value:be}),[ye,be]),we=Te(u,_e,p?void 0:xe),Ee=jt(a,P,_e,!y,re);ve(()=>{_e.current&&(_e.current.indeterminate=me),L||E(fe)},[fe,me,L,E]),Di(fe,()=>{L||(S(V),T(fe!==j.initialValue),de.change(fe))});let De=ke({checked:fe,disabled:B,form:s,name:p?void 0:V,id:y?void 0:re,required:g,ref:we,style:V?ee:te,tabIndex:-1,type:`checkbox`,"aria-hidden":!0,onChange(e){if(e.nativeEvent.defaultPrevented)return;if(m){e.preventDefault();return}let t=e.currentTarget.checked,n=He(Le,e.nativeEvent);if(f?.(t,n),!n.isCanceled&&(oe?.(t,n),!n.isCanceled&&(pe(t),H!==void 0&&L!==void 0&&!p&&!z))){let e=t?[...L.value,H]:L.value.filter(e=>e!==H);L.setValue(e,n)}},onClick(e){e.stopPropagation()},onFocus(){ce.current?.focus()}},v===void 0?ge:{value:(L?fe&&v:v)||``},I,e=>de.getValidationProps(B,e));Z.useEffect(()=>{if(!R||H===void 0)return;let e=R.disabledStatesRef.current;return e.set(H,B),()=>{e.delete(H)}},[R,B,H]);let Ae=Z.useMemo(()=>({...k,checked:q,disabled:B,readOnly:m,required:g,indeterminate:me}),[k,q,B,m,g,me]),Me=Qs(Ae),Ne=Ce(`span`,e,{state:Ae,ref:[ue,ce,t],props:[{id:W,role:`checkbox`,"aria-checked":me?`mixed`:q,"aria-readonly":m||void 0,"aria-required":g||void 0,"aria-labelledby":Ee,[rc]:p?``:void 0,onFocus(){B||D(!0)},onBlur(){let e=_e.current;e&&(O(!0),D(!1),A===`onBlur`&&de.commit(L?K:e.checked))},onKeyDown(e){if(e.key!==`Enter`||(e.preventBaseUIHandler(),e.defaultPrevented))return;let t=_e.current?.form??null,n=e.currentTarget,r=e.nativeEvent,i=e.preventDefault,a=r.preventDefault,o=!1;e.preventDefault=()=>{o=!0,i.call(e)},r.preventDefault=()=>{o=!0,a.call(r)},a.call(r),Se(n).queueMicrotask(()=>{e.preventDefault=i,r.preventDefault=a,o||Ys(t)?.click()})},onClick(e){if(m||B)return;e.preventDefault();let t=_e.current;t&&Oe(t,e)}},x,se,le,I,e=>de.getValidationProps(B,e)],stateAttributesMapping:Me}),Pe=Ne.props.id;return ve(()=>{if(!(!he||p||H===void 0||Pe===void 0))return he(H,Pe)},[he,p,H,Pe]),(0,Q.jsxs)(tc.Provider,{value:Ae,children:[Ne,!fe&&!L&&V&&!p&&_!==void 0&&(0,Q.jsx)(`input`,{type:`hidden`,form:s,name:V,value:_,disabled:B}),(0,Q.jsx)(`input`,{...De,suppressHydrationWarning:!0})]})}),ac=Z.forwardRef(function(e,t){let{render:n,className:r,style:i,keepMounted:a=!1,...o}=e,s=nc(),c=s.checked||s.indeterminate,{mounted:l,transitionStatus:u,setMounted:d}=Ut(c),f=Z.useRef(null),p={...s,transitionStatus:u};Ue({batch:!0,enabled:!c,open:c,ref:f,onComplete(){c||d(!1)}});let m={...Qs(s),...We},h=a||l,g=Ce(`span`,e,{ref:[t,f],state:p,stateAttributesMapping:m,props:o});return h?g:null});function oc({className:e,...t}){return(0,Q.jsx)(ic,{"data-slot":`checkbox`,className:G(`peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-input transition-colors outline-none group-has-disabled/field:opacity-50 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary`,e),...t,children:(0,Q.jsx)(ac,{"data-slot":`checkbox-indicator`,className:`grid place-content-center text-current transition-none [&>svg]:size-3.5`,children:(0,Q.jsx)(an,{})})})}var sc=`data-checked`,cc=`data-unchecked`,lc={checked(e){return e?{[sc]:``}:{[cc]:``}},...We,...Ti},uc=`data-composite-item-active`;function dc(e={}){let{highlightItemOnHover:t,highlightedIndex:n,onHighlightedIndexChange:r}=Ee(),{ref:i,index:a}=Ft(e),o=n===a,s=Z.useRef(null),c=Te(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}}function fc(e){let{render:t,className:n,style:r,state:i=ge,props:a=xe,refs:o=xe,metadata:s,stateAttributesMapping:c,tag:l=`div`,...u}=e,{compositeProps:d,compositeRef:f}=dc({metadata:s});return Ce(l,e,{state:i,ref:[f,...o],props:[d,...a,u],stateAttributesMapping:c})}var pc=Z.createContext(void 0);function mc(){return Z.useContext(pc)}var hc=Z.createContext(void 0);function gc(){let e=Z.useContext(hc);if(e===void 0)throw Error(De(52));return e}var _c=Z.forwardRef(function(e,t){let{render:n,className:r,disabled:i=!1,readOnly:a=!1,required:o=!1,"aria-labelledby":s,value:c,inputRef:l,nativeButton:u=!1,id:d,style:f,...p}=e,m=mc(),{disabled:h,readOnly:g,required:_,form:v,checkedValue:y,touched:b=!1,validation:x,name:S,setCheckedValue:C=_e,setTouched:w=_e,registerInputRef:T=_e}=m??{},{setTouched:E,setFilled:D,state:O,disabled:k}=ki(),A=os(),{labelId:j,getDescriptionProps:M}=Ei(),N=k||A.disabled||h||i,P=g||a,F=_||o,I=v,L=m?y===c:c===``,R=Z.useRef(null),z=Z.useRef(null),B=x?.registerInput,V=Z.useCallback(e=>B?.(e,{controlRef:R,value:void 0}),[B]),H=Te(l,z,T,V);ve(()=>{z.current?.checked&&D(!0)},[D]),ve(()=>{if(z.current){if(N&&L){T(null);return}T(z.current)}},[L,N,T]);let ne=Gt(),U=Ai({id:d}),re=u?void 0:U,W={role:`radio`,"aria-checked":L,"aria-labelledby":jt(s,j,z,!u,re),[uc]:L?``:void 0,id:u?U:ne,onKeyDown(e){e.key===`Enter`&&e.preventDefault()},onClick(e){if(e.defaultPrevented||N||P)return;e.preventDefault();let t=z.current;t&&Oe(t,e)},onFocus(e){e.defaultPrevented||N||P||!b||(z.current?.click(),w(!1))}},{getButtonProps:ie,buttonRef:G}=je({disabled:N,native:u,composite:!1}),ae={type:`radio`,ref:H,form:I,id:re,name:S,tabIndex:-1,style:S?ee:te,"aria-hidden":!0,...c===void 0?ge:{value:Pt(c)},disabled:N,checked:L,required:F,readOnly:P,onChange(e){if(e.nativeEvent.defaultPrevented||N||P||c===void 0)return;let t=He(Le,e.nativeEvent);C(c,t),!t.isCanceled&&E(!0)},onClick(e){e.stopPropagation()},onFocus(){R.current?.focus()}},oe=Z.useMemo(()=>({...O,required:F,disabled:N,readOnly:P,checked:L}),[O,N,P,L,F]),se=oe,K=m!==void 0,ce=[t,R,G],le=[W,p,ie,M,x?e=>x.getValidationProps(N,e):ge],ue=Ce(`span`,e,{enabled:!K,state:oe,ref:ce,props:le,stateAttributesMapping:lc});return(0,Q.jsxs)(hc.Provider,{value:se,children:[K?(0,Q.jsx)(fc,{tag:`span`,render:n,className:r,style:f,state:oe,refs:ce,props:le,stateAttributesMapping:lc}):ue,(0,Q.jsx)(`input`,{...ae,suppressHydrationWarning:!0})]})}),vc=Z.forwardRef(function(e,t){let{render:n,className:r,style:i,keepMounted:a=!1,...o}=e,s=gc(),c=s.checked,{mounted:l,transitionStatus:u,setMounted:d}=Ut(c),f={...s,transitionStatus:u},p=Z.useRef(null),m=a||l,h=Ce(`span`,e,{ref:[t,p],state:f,props:o,stateAttributesMapping:lc});return Ue({batch:!0,enabled:!c,open:c,ref:p,onComplete(){c||d(!1)}}),m?h:null});function yc(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=xe}=e,[p,m]=Z.useState(0),h=r!=null,g=Z.useRef(null),_=Te(g,c),v=Z.useRef([]),y=Z.useRef(!1),b=Z.useRef(null),x=o??p,w=be((e,t=!1)=>{if(b.current=v.current[e]??null,(s??m)(e),t){let t=v.current[e];ht(g.current,t,a,n)}}),E=be(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||D(e,x,d)?w(bc(e,d)):b.current=t}else t!==x&&w(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)w(i);else if(D(t,x,d)){let e=S(t,{disabledIndices:d});C(t,e)||w(e)}ht(g.current,r,a,n)});ve(()=>{if(d==null||o!=null||!y.current)return;let e=v.current;if(D(e,x,d)){let t=S(e,{disabledIndices:d});C(e,t)||w(t)}},[d,o,x,v,w]);let O=be((e,t,n)=>i?i(e,t,n,v):n),A=be(e=>{let o=e.key===`Home`||e.key===`End`;if(!mt.has(e.key)||!l&&o||xc(e,f)||!g.current)return;let s=a===`rtl`,c=s?pt:yt,p=s?yt:pt,m=n===`vertical`?Ct:c,_=n===`vertical`?wt:p,y=T(e.nativeEvent);if(y!=null&>(y)&&!Bt(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,E=k(v,d),D=W(v,d);r!=null&&(b=r({disabledIndices:d,elementsRef:v,event:e,highlightedIndex:x,loopFocus:t,maxIndex:D,minIndex:E,onLoop:O,orientation:n,rtl:s}));let A=n!==`vertical`&&e.key===c||n!==`horizontal`&&e.key===`ArrowDown`,j=n!==`vertical`&&e.key===p||n!==`horizontal`&&e.key===`ArrowUp`;l&&(e.key===`Home`?b=E:e.key===`End`&&(b=D)),b===x&&(A||j)&&(t&&b===D&&A?(b=E,i&&(b=i(e,x,b,v))):t&&b===E&&j?(b=D,i&&(b=i(e,x,b,v))):b=S(v.current,{startingIndex:b,decrement:j,disabledIndices:d})),b!==x&&!C(v.current,b)&&(u&&e.stopPropagation(),(h||o||A||j)&&e.preventDefault(),w(b,!0),queueMicrotask(()=>{v.current[b]?.focus()}))});return{props:{ref:_,onFocus(e){let t=g.current,n=T(e.nativeEvent);!t||n==null||!gt(n)||n.setSelectionRange(0,n.value.length)},onKeyDown:A},highlightedIndex:x,onHighlightedIndexChange:w,elementsRef:v,onMapChange:E,relayKeyboardEvent:A}}function bc(e,t){let n=-1;for(let r=0;r<e.length;r+=1){let i=e[r];if(!(!i||D(e,r,t))){if(i.hasAttribute(`data-composite-item-active`))return r;n===-1&&(n=r)}}return Math.max(n,0)}function xc(e,t){for(let n of xt)if(!t.includes(n)&&e.getModifierState(n))return!0;return!1}function Sc(e){let{render:t,className:n,style:r,refs:i=xe,props:a=xe,state:o=ge,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}=yc({grid:d,loopFocus:f,onLoop:p,orientation:u,highlightedIndex:c,onHighlightedIndexChange:l,rootRef:_,stopEventPropagation:g,enableHomeAndEndKeys:m,direction:kt(),disabledIndices:v,modifierKeys:y}),k=Ce(x,e,{state:o,ref:i,props:[C,...a,S],stateAttributesMapping:s}),A=Z.useMemo(()=>({highlightedIndex:w,onHighlightedIndexChange:T,highlightItemOnHover:b,relayKeyboardEvent:O}),[w,T,b,O]);return(0,Q.jsx)(Ae.Provider,{value:A,children:(0,Q.jsx)(Rt,{elementsRef:E,onMapChange:e=>{h?.(e),D(e)},children:k})})}var Cc=[bt],wc=Z.forwardRef(function(e,t){let{render:n,className:r,disabled:i,readOnly:a,required:o,onValueChange:s,value:c,defaultValue:l,form:u,name:d,inputRef:f,id:p,style:m,...h}=e,{setTouched:g,setFocused:_,validationMode:v,name:y,disabled:b,state:x,validation:S,setDirty:C,setFilled:T,validityData:E}=ki(),{labelId:D}=Ei(),{clearErrors:O,elementRef:k}=wi(),A=rs(!0),j=b||i,M=y??d,N=Gt(p),[P,F]=Vi({controlled:c,default:l,name:`RadioGroup`,state:`value`}),[I,L]=Z.useState(!1),R=be((e,t)=>{s?.(e,t),!t.isCanceled&&F(e)}),ee=S.getInputControl,z=Z.useMemo(()=>({get current(){return ee()}}),[ee]),B=Z.useRef(null),te=Z.useRef(null);function V(e){let t;return f&&(typeof f==`function`?t=f(e):f.current=e),B.current=e,t}let H=be(e=>{if(!e||e.disabled)return;te.current||=e;let t=B.current,n=e.checked||t==null||t.disabled?V(e):void 0;return()=>{te.current===e&&(te.current=null),B.current===e?n?(n(),B.current=null):V(null):n?.()}}),ne=be(()=>{let e=k.current;if(!e)return P??null;for(let t of S.registeredInputs.keys())if(t.checked&&is(t,e))return P??null;return null});Oi(z,N,P??null,ne,!j,d),Di(P,()=>{O(M),C(P!==E.initialValue),T(P!=null),S.change(P);let e=te.current;P==null&&e&&!e.disabled&&V(e)});let U=D??A?.legendId,re={...x,disabled:j??!1,required:o??!1,readOnly:a??!1},W=Z.useMemo(()=>({checkedValue:P,disabled:j,form:u,validation:S,name:M,readOnly:a,registerInputRef:H,required:o,setCheckedValue:R,setTouched:L,touched:I}),[P,j,u,S,M,a,H,o,R,L,I]),ie={id:p,role:`radiogroup`,"aria-required":o||void 0,"aria-disabled":j||void 0,"aria-readonly":a||void 0,"aria-labelledby":U,onFocus(){_(!0)},onBlur(e){w(e.currentTarget,e.relatedTarget)||(g(!0),_(!1),v===`onBlur`&&S.commit(P))},onKeyDownCapture(e){e.key.startsWith(`Arrow`)&&(L(!0),_(!0))}};return(0,Q.jsx)(pc.Provider,{value:W,children:(0,Q.jsx)(Sc,{render:n,className:r,style:m,state:re,props:[ie,h,e=>S.getValidationProps(j??!1,e)],refs:[t],stateAttributesMapping:Ti,enableHomeAndEndKeys:!1,modifierKeys:Cc})})});function Tc({className:e,...t}){return(0,Q.jsx)(wc,{"data-slot":`radio-group`,className:G(`grid w-full gap-2`,e),...t})}function Ec({className:e,...t}){return(0,Q.jsx)(_c,{"data-slot":`radio-group-item`,className:G(`group/radio-group-item peer relative flex aspect-square size-4 shrink-0 rounded-full border border-input outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary`,e),...t,children:(0,Q.jsx)(vc,{"data-slot":`radio-group-indicator`,className:`flex size-4 items-center justify-center`,children:(0,Q.jsx)(`span`,{className:`absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary-foreground`})})})}var Dc={selected:[],custom:``};function Oc(e){return e===`submitting`?`Submitting`:e===`approved`?`Approved`:e===`rejected`?`Rejected`:e===`changes-requested`?`Changes requested`:e===`answered`?`Response submitted`:`Input required`}function kc(e){return e===`approved`||e===`answered`?`text-success`:e===`rejected`?`text-destructive`:e===`changes-requested`?`text-warning`:`text-muted-foreground`}function Ac(e){return e===`pending`||e===`changes-requested`?`border-warning/30 bg-warning/10 text-warning`:e===`submitting`?`border-primary/30 bg-primary/10 text-primary`:e===`approved`||e===`answered`?`border-success/30 bg-success/10 text-success`:`border-destructive/30 bg-destructive/10 text-destructive`}function jc(e){return e.selected.length>0||!!e.custom?.trim()}function Mc({question:e,answer:t,disabled:n,onChange:r,onSingleSelect:i}){let a=t.custom??``,o=new Set(t.selected);return(0,Q.jsxs)(`div`,{className:`mt-3`,children:[e.options?.length?e.multiple?(0,Q.jsx)(`div`,{className:`grid gap-0.5`,children:e.options.map(e=>(0,Q.jsxs)(Mt,{className:G(`flex min-h-9 cursor-pointer items-center gap-3 rounded-lg px-1.5 py-1 font-normal`,(n||e.disabled)&&`cursor-not-allowed opacity-60`),children:[(0,Q.jsx)(oc,{checked:o.has(e.value),disabled:n||e.disabled,onCheckedChange:n=>r({...t,selected:n?[...t.selected,e.value]:t.selected.filter(t=>t!==e.value)})}),(0,Q.jsx)(`span`,{className:`select-none text-sm text-foreground`,children:e.label})]},e.value))}):(0,Q.jsx)(Tc,{value:t.selected[0]??``,onValueChange:e=>{r({selected:[e],custom:``}),i?.()},className:`gap-0.5`,disabled:n,children:e.options.map(e=>(0,Q.jsxs)(Mt,{className:G(`flex min-h-9 cursor-pointer items-center gap-3 rounded-lg px-1.5 py-1 font-normal`,(n||e.disabled)&&`cursor-not-allowed opacity-60`),children:[(0,Q.jsx)(Ec,{value:e.value,disabled:n||e.disabled}),(0,Q.jsx)(`span`,{className:`select-none text-sm text-foreground`,children:e.label})]},e.value))}):null,e.allowCustom?(0,Q.jsx)(Mi,{value:a,disabled:n,placeholder:e.customPlaceholder??`Add another response…`,onChange:n=>r({selected:e.multiple?t.selected:[],custom:n.target.value}),className:G(`h-10 rounded-xl border-0 bg-background/70 px-3 text-sm focus-visible:bg-background`,e.options?.length&&`mt-1.5`)}):null]})}function Nc({current:e,ids:t}){return(0,Q.jsxs)(`span`,{className:`flex gap-1.5`,children:[(0,Q.jsxs)(`span`,{className:`sr-only`,children:[`Question `,e+1,` of `,t.length]}),t.map((t,n)=>(0,Q.jsx)(q.span,{"aria-hidden":`true`,initial:{scale:n===e?1:.75,opacity:n<=e?1:.35},animate:{scale:n===e?1:.75,opacity:n<=e?1:.35},transition:se,className:`size-1.5 rounded-full bg-foreground`},t))]})}function Pc({title:e=`Approval required`,description:t,children:n,questions:r=[],status:i=`pending`,answers:a,defaultAnswers:o={},onAnswersChange:s,step:c,defaultStep:l=0,onStepChange:u,onSubmit:d,onApprove:f,onReject:p,onRequestChanges:m,onDismiss:h,approveLabel:g=`Approve`,submitLabel:_=`Submit response`,result:v,className:y}){let b=he()??!1,[x,S]=(0,Z.useState)(o),[C,w]=(0,Z.useState)(l),T=(0,Z.useRef)(void 0),E=a??x,D=Math.min(Math.max(0,c??C),Math.max(0,r.length-1)),O=r[D],k=r.length>0,A=i===`pending`,j=i===`submitting`,M=A||j,N=O?E[O.id]??Dc:Dc,P=O?.title??e,F=O?.id??String(i),I=Oc(i),L=(0,Z.useCallback)(()=>{T.current!==void 0&&(window.clearTimeout(T.current),T.current=void 0)},[]);(0,Z.useEffect)(()=>L,[L]);let R=(0,Z.useCallback)(e=>{a===void 0&&S(e),s?.(e)},[a,s]),ee=e=>{L(),c===void 0&&w(e),u?.(e)};return(0,Q.jsx)(`div`,{"data-state":i,"aria-busy":j,className:G(`w-full overflow-hidden rounded-2xl bg-muted p-4 text-sm`,y),children:(0,Q.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:G(`grid size-5 shrink-0 place-items-center text-muted-foreground`,kc(i)),children:j?(0,Q.jsx)(pr,{className:G(`size-4`,!b&&`animate-spin`)}):M?k?(0,Q.jsx)(So,{className:`size-4`}):(0,Q.jsx)(Po,{className:`size-4`}):i===`rejected`?(0,Q.jsx)(wr,{className:`size-4`}):(0,Q.jsx)(an,{className:`size-4`})}),(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[(0,Q.jsx)(`h3`,{className:`min-w-0 flex-1 text-base font-medium leading-5 text-foreground`,children:(0,Q.jsx)(Wi,{value:F,children:P})}),k&&M?(0,Q.jsxs)(`span`,{className:`shrink-0 text-xs tabular-nums text-muted-foreground/65`,children:[D+1,`/`,r.length]}):(0,Q.jsx)(`span`,{className:G(`shrink-0 rounded-full border px-2 py-0.5 text-caption font-medium transition-colors`,Ac(i)),children:I}),h?(0,Q.jsx)(`button`,{type:`button`,"aria-label":`Dismiss`,onClick:h,className:`grid size-5 shrink-0 place-items-center rounded-full text-muted-foreground outline-none transition-colors hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring`,children:(0,Q.jsx)(wr,{className:`size-4`})}):null]}),(0,Q.jsxs)(Ui,{open:M,children:[(0,Q.jsx)(me,{initial:!1,mode:`wait`,children:k&&O?(0,Q.jsxs)(q.div,{initial:b?{opacity:1}:{opacity:0,x:8},animate:{opacity:1,x:0},exit:b?{opacity:0}:{opacity:0,x:-6},transition:{duration:b?0:.2,ease:de},children:[O.description?(0,Q.jsx)(`p`,{className:`mt-1 leading-5 text-muted-foreground`,children:O.description}):null,(0,Q.jsx)(Mc,{question:O,answer:N,disabled:j,onChange:e=>{O&&R({...E,[O.id]:e})},onSingleSelect:()=>{!O||O.multiple||O.autoAdvance===!1||D>=r.length-1||j||(L(),T.current=window.setTimeout(()=>{ee(D+1)},240))}})]},O.id):(0,Q.jsxs)(q.div,{initial:!1,children:[t?(0,Q.jsx)(`p`,{className:`mt-1 leading-5 text-muted-foreground`,children:t}):null,n?(0,Q.jsx)(`div`,{className:`mt-3`,children:n}):null]},`description`)}),k?(0,Q.jsxs)(`div`,{className:`mt-4 flex items-center gap-3`,children:[(0,Q.jsx)(Tr,{variant:`ghost`,size:`icon`,"aria-label":`Previous question`,disabled:j||D===0,onClick:()=>ee(D-1),className:`rounded-full`,children:(0,Q.jsx)(en,{className:`size-4`})}),(0,Q.jsx)(Nc,{current:D,ids:r.map(e=>e.id)}),(0,Q.jsx)(Tr,{size:D===r.length-1?`sm`:`icon`,"aria-label":D===r.length-1?`Submit response`:`Next question`,disabled:j||!jc(N),onClick:()=>{if(D<r.length-1){ee(D+1);return}d?.(E)},className:`ml-auto rounded-full`,children:j?(0,Q.jsx)(pr,{className:G(`size-4`,!b&&`animate-spin`)}):D===r.length-1?(0,Q.jsxs)(Q.Fragment,{children:[_,(0,Q.jsx)(vo,{className:`size-3.5`})]}):(0,Q.jsx)(vo,{className:`size-4`})})]}):(0,Q.jsxs)(`div`,{className:`mt-4 flex flex-wrap items-center gap-2`,children:[(0,Q.jsx)(Tr,{size:`compact`,disabled:j,onClick:f,className:`rounded-full`,children:g}),m?(0,Q.jsx)(Tr,{variant:`secondary`,size:`compact`,disabled:j,onClick:m,className:`rounded-full`,children:`Request changes`}):null,p?(0,Q.jsx)(Tr,{variant:`ghost`,size:`compact`,disabled:j,onClick:p,className:`rounded-full text-muted-foreground hover:text-destructive`,children:`Reject`}):null]})]}),M?null:(0,Q.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:v??I})]})]})})}function Fc({questionBar:e,navigation:t,roundedTop:n,onDismiss:r}){let{totalQuestions:i,clampedQuestionIndex:a,activeQuestion:o,showQuestionNavigation:s,canGoPrev:c,canGoNext:l,goToPreviousQuestion:u,goToNextQuestion:d,advanceQuestionIndex:f}=t;if(!o)return null;let p={id:o.id??`question-${a}`,title:o.title,description:o.description,multiple:o.kind===`multi`,allowCustom:o.kind===`text`||o.allowCustom,customPlaceholder:o.customPlaceholder??o.placeholder,options:o.options?.map(e=>({value:e.id??e.value??e.label,label:e.label}))};return(0,Q.jsxs)(`div`,{className:G(`w-full border-x border-t border-border`,n?`rounded-t-chat-input`:null),children:[(0,Q.jsxs)(`div`,{className:`flex h-7 items-center justify-between border-b border-border px-3 text-xs text-muted-foreground`,children:[(0,Q.jsxs)(`div`,{className:`inline-flex items-center gap-1.5`,children:[(0,Q.jsx)(Dn,{"aria-hidden":`true`,className:`size-3.5`}),`Question`]}),s&&(0,Q.jsxs)(`div`,{className:`inline-flex items-center gap-1`,children:[(0,Q.jsx)(`button`,{type:`button`,onClick:u,disabled:!c,className:G(`relative after:absolute after:inset-x-0 after:-top-1.5 after:-bottom-1.5`,`inline-flex size-6 items-center justify-center rounded-[4px] transition-[background-color,transform] duration-150 hover:bg-secondary focus-visible:ring-2 focus-visible:ring-ring active:scale-[0.96] disabled:opacity-40 disabled:active:scale-100`),"aria-label":`Previous question`,children:(0,Q.jsx)(bn,{"aria-hidden":`true`,className:`size-3.5`})}),(0,Q.jsxs)(`span`,{className:`tabular-nums`,children:[a,` of `,i]}),(0,Q.jsx)(`button`,{type:`button`,onClick:d,disabled:!l,className:G(`relative after:absolute after:inset-x-0 after:-top-1.5 after:-bottom-1.5`,`inline-flex size-6 items-center justify-center rounded-[4px] transition-[background-color,transform] duration-150 hover:bg-secondary focus-visible:ring-2 focus-visible:ring-ring active:scale-[0.96] disabled:opacity-40 disabled:active:scale-100`),"aria-label":`Next question`,children:(0,Q.jsx)(on,{"aria-hidden":`true`,className:`size-3.5`})})]})]}),(0,Q.jsx)(Pc,{title:`Fleet Prime question`,questions:[p],submitLabel:e.submitLabel??`Continue`,status:`pending`,onSubmit:t=>{let n=t[p.id];if(!n)return;let s=n.custom?.trim()||void 0,c=n.selected.filter(e=>e!==`__custom__`),l=o.kind===`text`?{kind:`text`,questionId:o.id,text:s}:{kind:o.kind,questionId:o.id,selectedIds:c,text:s};e.onSubmit(l),a>=i?r(e.id):f()},className:`rounded-none bg-background p-0`},`${a}-${o.title}`),e.allowSkip?(0,Q.jsx)(`div`,{className:`border-t border-border bg-background px-3 py-2`,children:(0,Q.jsx)(`button`,{type:`button`,onClick:()=>{e.onSkip?.(),e.onSubmit({kind:`skip`,questionId:o.id}),r(e.id)},className:`text-xs text-muted-foreground underline-offset-2 hover:text-foreground hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,children:e.skipLabel??`Skip`})}):null]})}function Ic(e){let[t,n]=(0,Z.useState)(1),r=e?.questions??[],i=r.length>0,a=i?r.length:1,o=e?.totalQuestions??a,s=e?.onPreviousQuestion||e?.onNextQuestion?e?.questionIndex??1:t,c=Math.max(1,Math.min(s,o)),l=i?r[c-1]:void 0,u=o>1,d=c>1,f=c<o;return{questionSet:r,totalQuestions:o,clampedQuestionIndex:c,activeQuestion:l,showQuestionNavigation:u,canGoPrev:d,canGoNext:f,goToPreviousQuestion:(0,Z.useCallback)(()=>{if(d){if(e?.onPreviousQuestion){e.onPreviousQuestion();return}n(e=>Math.max(1,e-1))}},[d,e]),goToNextQuestion:(0,Z.useCallback)(()=>{if(f){if(e?.onNextQuestion){e.onNextQuestion();return}n(e=>Math.min(o,e+1))}},[f,e,o]),advanceQuestionIndex:(0,Z.useCallback)(()=>{n(e=>Math.min(o,e+1))},[o])}}var Lc=[],Rc=300;function zc(e){return e?Array.isArray(e)?e:e.items:[]}function Bc(e){return(e.value??e.id).trim().replace(/^\/+/,``).split(/\s+/,1)[0]??e.id}function Vc(e){return e.metadata?.argumentHint?.trim()||(e.value?.trim()??``).match(/^\/\S+\s+(.+)$/)?.[1]}function Hc({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=Lc,workspaceSuggestions:h,onWorkspaceReferenceSelect:g,onRemoveWorkspaceReference:_,controlled:v,disabled:y,questionBar:b,attachments:x,slashCommands:S}){let[C,w]=(0,Z.useState)(``),[T,E]=(0,Z.useState)(null),[D,O]=(0,Z.useState)(!1),k=v?.value??C,A=v?.onChange??w,j=t===`streaming`||t===`submitted`,M=Ic(b),N=zc(S),P=zc(h),F=(0,Z.useMemo)(()=>N.map(e=>({name:Bc(e),description:[e.description,Vc(e)].filter(Boolean).join(` `),icon:fr})),[N]),I=(0,Z.useMemo)(()=>P.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`})),[P]),L=k.match(/^\/([^\s/]*)$/),R=k.match(/(?:^|\s)@([^\s@]*)$/),ee=L?.[1]?.toLowerCase()??(D?``:void 0),z=R?.[1]?.toLowerCase(),B=z===void 0?L||D?`slash`:void 0:`mention`,te=fs(k,F),V=(0,Z.useMemo)(()=>{if(D&&!k.startsWith(`/`))return N;let e=new Set(te.map(e=>e.name));return N.filter(t=>e.has(Bc(t)))},[N,te,D,k]),H=ps(k,I),ne=(0,Z.useMemo)(()=>{let e=new Set(H.map(e=>e.id).filter(e=>!!e));return P.filter(t=>e.has(t.id))},[H,P]),U=B===`slash`?V:ne,[re,W]=(0,Z.useState)(0);(0,Z.useEffect)(()=>{W(0)},[B,ee,z,U.length]);let ie=(0,Z.useCallback)((e,t=!1)=>{if(s?.(e)===!0){A(``);return}a({role:`user`,content:e,altKey:t}),A(``)},[s,a,A]);(0,Z.useEffect)(()=>{if(!c)return;let e=setTimeout(()=>c(k),Rc);return()=>clearTimeout(e)},[c,k]);let G=(0,Z.useCallback)(e=>{if(!e)return k;let t=e[0].length-e[0].trimStart().length,n=k.length-e[0].length+t;return k.slice(0,n)},[k]),ae=(0,Z.useCallback)(()=>{if(D){O(!1);return}if(B===`slash`&&L){A(G(L));return}B===`mention`&&R&&A(G(R))},[G,A,L,D,B,R]),oe=(0,Z.useCallback)(e=>{if(O(!1),o?.(e)===!0){A(``);return}A(e.value??e.label)},[o,A]),se=(0,Z.useCallback)(e=>{O(!1),g?.(e),A(G(R))},[g,G,A,R]),[K,ce]=(0,Z.useState)(null),[le,ue]=(0,Z.useState)(ra),de=(0,Z.useRef)(!1),fe=(0,Z.useRef)(null),[pe,q]=(0,Z.useState)(void 0),me=(0,Z.useCallback)(()=>K?{start:K.selectionStart??0,end:K.selectionEnd??0}:null,[K]);(0,Z.useEffect)(()=>{if(!K)return;let e=()=>{if(de.current)return;let e={focused:document.activeElement===K,composing:!1,caretStart:K.selectionStart??null,caretEnd:K.selectionEnd??null};ue(t=>ta(t,e)?t:e)},t=()=>{de.current=!0,ue(e=>e.composing&&e.focused===(document.activeElement===K)?e:{focused:document.activeElement===K,composing:!0,caretStart:e.caretStart,caretEnd:e.caretEnd})},n=()=>{de.current=!1;let e={focused:document.activeElement===K,composing:!1,caretStart:K.selectionStart??null,caretEnd:K.selectionEnd??null};ue(t=>ta(t,e)?t:e)},r=[`keyup`,`click`,`mouseup`,`select`,`focus`,`blur`,`scroll`];for(let t of r)K.addEventListener(t,e);return K.addEventListener(`compositionstart`,t),K.addEventListener(`compositionend`,n),e(),()=>{for(let t of r)K.removeEventListener(t,e);K.removeEventListener(`compositionstart`,t),K.removeEventListener(`compositionend`,n)}},[K]);let he=!!(B&&!j&&!y),ge=(0,Z.useMemo)(()=>na({completion:l,value:k,editing:le,streaming:j,disabled:!!y,triggerOpen:he,dismissed:pe}),[pe,y,le,l,j,he,k]),_e=(0,Z.useCallback)(()=>{ge&&q({forValue:k,text:ge.text}),l?.onDismiss?.()},[l,ge,k]),ve=(0,Z.useCallback)(()=>{if(!ge)return;let e=me();if(!e||e.start!==e.end||e.start!==k.length)return;let t=ia(k,ge.text,ge.mode);A(t),fe.current=t.length,l?.onAccept?.(t)},[l,ge,me,A,k]);(0,Z.useLayoutEffect)(()=>{let e=fe.current;e!==null&&(fe.current=null,K&&(K.selectionStart!==e||K.selectionEnd!==e)&&K.setSelectionRange(e,e))},[K,k]);let ye=(0,Z.useCallback)(e=>{let t=!j&&!y&&B!==void 0;if(e.key===`Backspace`&&k.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(),ae();return}if(t&&U.length>0){if(e.key===`Tab`&&!e.shiftKey){e.preventDefault();let t=U[re];t&&(B===`slash`?oe(t):se(t));return}if(e.key===`ArrowDown`){e.preventDefault(),W(e=>(e+1)%U.length);return}if(e.key===`ArrowUp`){e.preventDefault(),W(e=>(e-1+U.length)%U.length);return}if(e.key===`Enter`){e.preventDefault();let t=U[re];t&&(B===`slash`?oe(t):se(t));return}}if(!e.nativeEvent.isComposing){if(e.key===`Tab`&&!e.shiftKey&&ge){e.preventDefault(),ve();return}if(e.key===`Escape`&&ge){e.preventDefault(),_e();return}}if(e.key===`Enter`&&e.altKey&&!e.shiftKey){e.preventDefault();let t=k.trim();t&&!y&&ie(t,!0)}},[ve,re,ae,y,_e,j,ge,_,oe,se,ie,U,B,k,m]),be=b&&b.id!==T,xe=x?.files??[],Se=x?.images??[],Ce=(0,Z.useMemo)(()=>{if(B!==`slash`)return[];let e=new Map;for(let t of V){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,Vc(e)].filter(Boolean).join(` · `)}))}))},[V,B]),we=(0,Z.useMemo)(()=>e.filter(e=>e.available!==!1).map(e=>({id:e.id,name:e.name,provider:e.provider,providerLabel:tn(e.provider),modelId:e.modelId,icon:(0,Q.jsx)($t,{provider:e.provider,className:`size-4`}),disabled:e.available===!1,reasoning:e.reasoning,keywords:[e.provider,e.modelId,e.id],efforts:Wn(e).map(e=>({id:e,name:Hn(e)}))})),[e]),Te=u===!0||f===!0,Ee=(0,Z.useCallback)(e=>{d?.(e),p?.(e)},[p,d]),De=(0,Z.useCallback)(t=>{let a=e.find(e=>e.id===t);r(t),a&&i?.(Vn(n,Wn(a)))},[e,r,i,n]),Oe=(0,Z.useCallback)(()=>{j||y||(O(!0),W(0),document.getElementById(`composer-prompt`)?.focus({preventScroll:!0}))},[y,j]);return(0,Z.useEffect)(()=>{L&&O(!1)},[L]),(0,Z.useEffect)(()=>{(j||y)&&O(!1)},[y,j]),(0,Z.useEffect)(()=>{if(!he)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||ae()};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[ae,he]),{activeTriggerIndex:re,attachTextarea:ce,ghostText:aa(k,ge),combinedPickerOpen:Te,commandGroups:Ce,files:xe,handleCombinedPickerOpenChange:Ee,handlePromptKeyDown:ye,handleSelectorModelChange:De,images:Se,isStreaming:j,navigation:M,openSlashMenu:Oe,closeTriggerMenu:ae,selectorModels:we,removeTriggerToken:G,selectCommand:oe,selectWorkspaceReference:se,send:ie,setActiveTriggerIndex:W,setDismissedQuestionId:E,setValue:A,showQuestion:be,triggerItems:U,triggerKind:B,triggerOpen:he,slashMatch:L,slashQuery:ee,workspaceMentionMatch:R,workspaceQuery:z,filteredCommands:V,filteredWorkspaceItems:ne,value:k}}var Uc=(0,Z.lazy)(()=>jr(async()=>{let{ModelSelectorList:e}=await import(`./model-selector-list-Cp687pdm.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])).then(({ModelSelectorList:e})=>({default:e})));function Wc(e){return(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(`div`,{className:`h-24 animate-pulse rounded-md bg-muted/40 p-1.5`,"aria-label":`Loading models`,role:`status`}),children:(0,Q.jsx)(Uc,{...e})})}var Gc=(0,Z.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,Z.useState)(!1),p=(0,Z.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,Q.jsx)(bs,{ariaLabel:b,label:v,leadingIcon:g?.icon,suffix:y?(0,Q.jsxs)(`span`,{className:`hidden shrink-0 text-foreground/70 xl:inline`,children:[`· `,y]}):null,open:m,combobox:!0,popupId:p,className:l});return(0,Q.jsx)(Ks,{contentId:p,open:m,onOpenChange:h,side:`top`,align:`start`,className:G(`w-[min(24rem,calc(100vw-2rem))] max-h-[min(55dvh,28rem)] overflow-hidden p-0`,u),trigger:x,children:m?(0,Q.jsx)(Wc,{models:e,selectedModel:g,selectedEffort:_,effortLabel:c,onModelChange:a,onEffortChange:o}):null})}),Kc=[],qc=[...qs];function Jc(e){return(0,Q.jsx)(Yc,{...e})}function Yc({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=Kc,workspaceSuggestions:b,onWorkspaceReferenceSelect:x,onRemoveWorkspaceReference:S,controlled:C,disabled:w,autoFocus:T,placeholder:E,attachments:D,questionBar:O,slashCommands:k,className:A}){let{activeTriggerIndex:j,attachTextarea:M,combinedPickerOpen:N,commandGroups:P,files:F,ghostText:I,handleCombinedPickerOpenChange:L,handlePromptKeyDown:R,handleSelectorModelChange:ee,images:z,isStreaming:B,navigation:te,openSlashMenu:V,filteredWorkspaceItems:H,selectCommand:ne,selectWorkspaceReference:U,selectorModels:re,send:W,setActiveTriggerIndex:ie,setDismissedQuestionId:ae,setValue:oe,showQuestion:se,slashQuery:K,triggerItems:ce,triggerKind:le,triggerOpen:ue,value:de,workspaceQuery:fe}=Hc({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,questionBar:O,attachments:D,slashCommands:k}),pe=(0,Z.useCallback)(e=>a?.(e),[a]),q=(0,Z.useCallback)(e=>c?.(e),[c]);return(0,Q.jsx)(`div`,{className:G(`shrink-0 pb-[max(0.75rem,env(safe-area-inset-bottom))]`,$i,A),children:(0,Q.jsxs)(`div`,{className:`relative flex w-full flex-col gap-3`,children:[(0,Q.jsx)(ds,{label:r??void 0,isActive:B}),z.length>0||F.length>0?(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-2 rounded-xl border bg-muted/40 p-2`,children:[z.map(e=>(0,Q.jsxs)(`div`,{className:`group relative`,children:[(0,Q.jsx)(`img`,{src:e.url,alt:e.filename,width:64,height:64,loading:`lazy`,className:`size-16 rounded-lg border object-cover`}),(0,Q.jsx)(Tr,{type:`button`,variant:`outline`,size:`icon-compact`,"aria-label":`Remove ${e.filename}`,onClick:()=>D?.onRemoveImage?.(e.id),className:G(Ki,`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,Q.jsx)(wr,{"data-icon":`inline-start`,"aria-hidden":`true`,className:`size-3`})})]},e.id)),F.map(e=>(0,Q.jsx)(dn,{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,Q.jsx)(`div`,{className:`flex flex-wrap gap-1.5 rounded-xl border bg-muted/40 p-2`,children:y.map(e=>(0,Q.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,Q.jsx)(Tn,{"aria-hidden":`true`,className:`size-3.5 shrink-0 text-muted-foreground`}),(0,Q.jsxs)(`span`,{className:`max-w-[min(28rem,70vw)] truncate`,title:`@${e.relativePath}`,children:[`@`,e.relativePath]}),(0,Q.jsx)(`button`,{type:`button`,"aria-label":`Remove workspace reference ${e.relativePath}`,onClick:()=>S?.(e.relativePath),className:G(Ki,`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,Q.jsx)(wr,{"aria-hidden":`true`,className:`size-3`})})]},e.relativePath))}):null,(0,Q.jsxs)(`div`,{className:`relative w-full`,children:[se?(0,Q.jsx)(Fc,{questionBar:O,navigation:te,roundedTop:!0,onDismiss:ae}):null,(0,Q.jsx)(vs,{open:ue,kind:le??`slash`,query:le===`slash`?K:fe,items:le===`mention`?H:void 0,groups:le===`slash`?P:void 0,activeIndex:j,onActiveIndexChange:ie,onSelect:e=>{le===`slash`?ne(e):U(e)},title:le===`slash`?`Commands`:`Workspace references`,listId:`composer-trigger-list`}),(0,Q.jsx)(oa,{id:`composer-prompt`,name:`prompt`,value:de,onValueChange:oe,onSubmit:e=>W(e),loading:B,submitWhileLoading:!0,onStop:l,disabled:w,autoFocus:T,placeholder:E??`Send a message…`,onPaste:D?.onPaste,"aria-controls":ue?`composer-trigger-list`:void 0,"aria-expanded":ue,"aria-haspopup":`listbox`,"aria-activedescendant":ue&&ce[j]?`composer-trigger-list-${ce[j].id.replace(/[^a-zA-Z0-9_-]/g,`-`)}`:void 0,onKeyDown:R,onTextareaRef:M,ghostText:I,leadingAction:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Tr,{type:`button`,variant:`outline`,size:`icon`,disabled:w||B,"aria-label":`Open slash commands`,"data-slot":`composer-add`,onClick:V,className:Qi,children:(0,Q.jsx)(_r,{"aria-hidden":`true`,className:`size-4`})}),(0,Q.jsx)(Js,{modes:qc,value:i,onChange:pe}),(0,Q.jsx)(Gc,{models:re,value:e,effort:s,onModelChange:ee,onEffortChange:q,open:N,onOpenChange:L,placeholder:`Model`})]})})]})]})})}function Xc({active:e=!1,children:t,label:n,onClick:r}){let i=he()??!1;return(0,Q.jsx)(q.button,{type:`button`,"aria-label":n,"aria-pressed":e||void 0,title:n,onClick:r,whileTap:i?void 0:{scale:.96},transition:fe,className:G(`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 Zc({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=he()??!1,[p,m]=(0,Z.useState)(!1),[h,g]=(0,Z.useState)(a),_=(0,Z.useRef)(void 0),v=i??h,y=t===`streaming`,b=t===`complete`,x=!!(n||r),S=c&&!y&&(x||b);(0,Z.useEffect)(()=>()=>{_.current&&window.clearTimeout(_.current)},[]);let C=(0,Z.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,Q.jsxs)(`div`,{"data-state":t,"aria-busy":y,className:G(`w-full`,l),children:[(0,Q.jsx)(`div`,{"aria-live":s?`polite`:`off`,className:G(`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,Q.jsx)(me,{initial:!1,children:S?(0,Q.jsx)(q.div,{initial:f?{opacity:0}:{opacity:0,y:4},animate:{opacity:1,y:0},exit:{opacity:0},transition:{duration:f?.12:.22,ease:de},className:`mt-3`,children:(0,Q.jsxs)(`div`,{className:G(`flex items-center gap-0.5`,d),children:[x?(0,Q.jsx)(Xc,{label:p?`Copied`:`Copy response`,onClick:C,children:p?(0,Q.jsx)(an,{className:`size-3.5`}):(0,Q.jsx)(wn,{className:`size-3.5`})}):null,b?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Xc,{label:`Helpful`,active:v===`up`,onClick:()=>w(`up`),children:(0,Q.jsx)(Ko,{className:`size-3.5`})}),(0,Q.jsx)(Xc,{label:`Not helpful`,active:v===`down`,onClick:()=>w(`down`),children:(0,Q.jsx)(Wo,{className:`size-3.5`})})]}):null]})}):null})]})}var Qc=[{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 $c(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 el({label:e=`Churning`,elapsedSeconds:t,initialSeconds:n=0,running:r=!0,className:i}){let a=he()??!1,[o,s]=(0,Z.useState)(n);(0,Z.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,Q.jsxs)(`span`,{role:`status`,"aria-label":`${e}, in progress`,className:G(`inline-flex items-center gap-2.5 text-sm text-muted-foreground`,i),children:[(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:`grid size-5 shrink-0 grid-cols-3 gap-[2px]`,children:Qc.map(({id:e,delay:t})=>(0,Q.jsx)(q.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:le,repeat:1/0,delay:t}},e))}),(0,Q.jsx)(`span`,{className:`font-medium text-foreground/80`,children:e}),(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:G(Ni,`tabular-nums text-muted-foreground/70`),children:$c(c)})]})}function tl({label:e,className:t}){let n=he();if(!e?.trim())return null;let{kind:r,title:i,detail:a}=nl(e),o=rl(r),s=r===`queue`||r===`retry`||r===`compaction`;return(0,Q.jsxs)(q.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:G(`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,Q.jsx)(el,{label:i,running:!0,className:`min-w-0 text-xs`}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(o,{className:G(`mt-0.5 size-3.5 shrink-0`,r===`recovery`&&`text-warning`)}),(0,Q.jsx)(`strong`,{className:`font-medium text-foreground/90`,children:i})]}),a?(0,Q.jsx)(`span`,{className:`min-w-0 leading-relaxed`,children:a}):null]})}function nl(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 rl(e){switch(e){case`queue`:return Mo;case`retry`:return dr;case`compaction`:return ur;case`recovery`:return Sn;case`notice`:return Eo;default:return e}}var il=(0,Z.lazy)(()=>jr(async()=>{let{SessionToolRenderer:e}=await import(`./session-tool-renderer-C7mYeUOs.js`).then(e=>e.n);return{SessionToolRenderer:e}},__vite__mapDeps([28,1,2,3,4,5,6,29,30,16,8,31,32,7,33,34,35,36,37,38,39,40,21,22,23,41,42,43,44,45,46,11,47,48,49,50,51,20,52,53,54,55,24,56,17,13,19,27,57,58,59])).then(({SessionToolRenderer:e})=>({default:e})));function al(e){return(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(`div`,{className:`h-7 animate-pulse rounded-md bg-muted/40`,role:`status`,"aria-label":`Loading tool`}),children:(0,Q.jsx)(il,{...e})})}var ol=(0,Z.lazy)(()=>jr(async()=>{let{SessionReasoningPanel:e}=await import(`./session-reasoning-panel-CjJJK_bq.js`);return{SessionReasoningPanel:e}},__vite__mapDeps([60,1,2,3,34,8,37,59,4,43,56,16,17,13,19,27])).then(({SessionReasoningPanel:e})=>({default:e})));function sl(e){return(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(`div`,{className:`mb-2 h-6 animate-pulse rounded-md bg-muted/40`,role:`status`,"aria-label":`Loading reasoning`}),children:(0,Q.jsx)(ol,{...e})})}var cl=(0,Z.lazy)(()=>jr(async()=>{let{PromptSuggestions:e}=await import(`./prompt-suggestions-CAY5JI-C.js`);return{PromptSuggestions:e}},__vite__mapDeps([61,3,1,4,62,22,23])).then(({PromptSuggestions:e})=>({default:e})));function ll(e){return(0,Q.jsx)(`div`,{className:`min-h-8`,children:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(`div`,{className:`h-8 animate-pulse rounded-full bg-muted/40`,role:`status`,"aria-label":`Loading suggestions`}),children:(0,Q.jsx)(cl,{...e})})})}var ul=(0,Z.lazy)(()=>jr(async()=>{let{MessageQueue:e}=await import(`./message-queue-sSljtjYz.js`);return{MessageQueue:e}},__vite__mapDeps([63,1,2,3,4,64,65,13,15,16,17,8,34,37,66,20,21,22,23,62])).then(({MessageQueue:e})=>({default:e})));function dl(e){return(0,Q.jsx)(Z.Suspense,{fallback:null,children:(0,Q.jsx)(ul,{...e})})}function fl(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 pl(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function ml(e){for(let t of[...e].reverse())for(let e of[...t.parts??[]].reverse()){let t=pl(e);if(t?.type!==`tool-FleetReasoning`)continue;let n=pl(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 hl(e){let t=new Set,n=e.flatMap(e=>(e.parts??[]).flatMap(e=>{let t=pl(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=pl(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 gl({messages:e,isLast:t,isStreaming:n,suppressQuestionTool:r,toolRenderers:i,onOpenUIAction:a,activityLabel:o,artifactRuns:s,onOpenArtifact:c,onOpenUIArtifactReady:l,animateIn:u}){let d=t&&n,f=(0,Z.useMemo)(()=>{let e=s?.flatMap(e=>e.artifacts)??[];return new Map(e.flatMap(e=>e.sourceToolCallId?[[e.sourceToolCallId,e]]:[]))},[s]),p=(0,Z.useMemo)(()=>hl(e).flatMap((n,o)=>sn(vn((n.parts??[]).filter(e=>e.type!==`tool-FleetReasoning`&&e.type!==`tool-Thinking`)),{messageId:n.id,isLast:t&&o===e.length-1,isStreaming:d,suppressQuestionTool:r,suppressTextWhenPlanWrite:!0,ToolRendererComponent:al,TextRendererComponent:pn,toolRenderers:i,onOpenUIAction:a,onOpenUIArtifactReady:l,onOpenArtifact:c,artifactByToolCallId:f,onOpenToolArtifact:c})),[t,d,e,c,f,a,l,r,i]),m=e.flatMap(e=>{let t=fl(e);return t?[t]:[]}).join(`
|
|
5
|
-
|
|
6
|
-
`),h=(0,Z.useMemo)(()=>ml(e),[e]),g=!!h&&!e.some(e=>e.parts.some(e=>e.type===`reasoning`)),_=t&&!g&&yl(o);return(0,Q.jsx)(_n,{from:`assistant`,animateIn:u,children:(0,Q.jsx)(yn,{children:(0,Q.jsx)(cn,{variant:`ghost`,layout:!1,children:(0,Q.jsxs)(fn,{children:[(0,Q.jsx)(`div`,{"data-testid":`turn-progress`,className:`flex flex-col gap-[var(--density-gap)]`,children:g&&h?(0,Q.jsx)(sl,{presentation:h}):_?(0,Q.jsx)(tl,{label:o}):null}),(0,Q.jsx)(Zc,{status:d?`streaming`:`complete`,copyText:m||void 0,announce:!1,contentClassName:`flex flex-col gap-[var(--density-gap)]`,children:p})]})})})})}function _l(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}var vl=(0,Z.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,Q.jsxs)(`div`,{className:G(`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,Q.jsx)(_n,{from:`user`,animateIn:s,children:(0,Q.jsx)(yn,{children:(0,Q.jsx)(gn,{message:e.user})})}):null,e.assistants.length>0?(0,Q.jsx)(gl,{messages:e.assistants,isLast:t.isLast,isStreaming:t.isStreaming,suppressQuestionTool:t.suppressQuestionTool,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&&_l(e.turn.assistants,t.turn.assistants)&&e.state.isLast===t.state.isLast&&e.state.isStreaming===t.state.isStreaming&&e.state.suppressQuestionTool===t.state.suppressQuestionTool&&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 yl(e){return e?/queued|steered|retry|compact|reset|recover|sign in/i.test(e):!1}function bl(e){return Array.isArray(e)?e:e?.items??[]}function xl({inputBar:e,status:t,suggestions:n,onSend:r,onStop:i,isEmpty:a,draftSetterRef:o}){let[s,c]=(0,Z.useState)(``);return(0,Z.useEffect)(()=>{o.current=c},[o]),(0,Q.jsx)(Jc,{...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 Sl=(0,Z.memo)(xl);function Cl(e,t){return e.user?.id??e.assistants[0]?.id??`assistant-turn-${t}`}function wl({toolRenderers:e,suggestions:t,status:n,onStop:r,onSend:i,inputBar:a,className:o,messages:s,error:c,suppressQuestionTool:l=!1,onOpenUIAction:u,activityLabel:d,presentation:f,artifactRuns:p,onOpenArtifact:m,onOpenUIArtifactReady:h,queue:g,onDeleteQueuedMessage:_,onEditQueuedMessage:v,highlightedMessageId:y}){let b=(0,Z.useRef)(null),x=(0,Z.useRef)(null),S=(0,Z.useRef)(new Set),{transcript:C}=Ar(),w=(0,Z.useCallback)(e=>b.current?.(e),[]),T=(0,Z.useMemo)(()=>ca(s),[s]),E=bl(t),D=(0,Z.useMemo)(()=>E.flatMap(e=>e.disabled?[]:[e.value??e.label]),[E]),O=D.join(`\0`),[k,A]=(0,Z.useState)(null),[j,M]=(0,Z.useState)(O);j!==O&&(M(O),A(null));let N=n===`streaming`||n===`submitted`,P=(0,Z.useMemo)(()=>({toolRenderers:e,onOpenUIAction:u,onOpenUIArtifactReady:h,onOpenArtifact:m}),[m,u,h,e]),F=(0,Z.useMemo)(()=>({isLast:!0,isStreaming:N,suppressQuestionTool:l}),[N,l]),I=(0,Z.useMemo)(()=>({isLast:!1,isStreaming:!1,suppressQuestionTool:l}),[l]),L=(0,Z.useMemo)(()=>({label:d,presentation:f,artifactRuns:p}),[d,p,f]),R=(0,Z.useMemo)(()=>({label:void 0,presentation:void 0,artifactRuns:void 0}),[]),ee=T.length>=16;T.length===0&&S.current.size>0&&S.current.clear();let z=(0,Z.useCallback)((e,t)=>{let n=t===T.length-1,r=Cl(e,t),i=!S.current.has(r);return i&&S.current.add(r),(0,Q.jsx)(vl,{turn:e,state:n?F:I,rendering:P,activity:n?L:R,windowed:ee,animateIn:i&&!(n&&N),highlightedMessageId:y})},[L,R,y,N,P,F,I,T.length,ee]),B=T.length===0&&!c,te=c?ss(c):null,V=(0,Q.jsx)(Sl,{inputBar:a,status:n,suggestions:t,onSend:i,onStop:r,isEmpty:B,draftSetterRef:b});return(0,Q.jsxs)(`div`,{className:G(`agent-chat flex h-full min-h-0 flex-col bg-background`,o),children:[(0,Q.jsxs)(hn,{className:`flex-1`,busy:N,followOutput:C===`follow`,viewportRef:x,smooth:!N,contentClassName:G($i,`flex flex-col gap-[var(--density-gap)]`,B?`min-h-full items-center justify-center py-8`:`py-6`),children:[B?(0,Q.jsx)(ls,{disabled:N,onSelect:e=>w(e.value??e.label)}):null,(0,Q.jsx)(mn,{estimateSize:400,getItemKey:Cl,itemGap:20,items:T,renderItem:z,viewportRef:x}),te?(0,Q.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,Q.jsx)(Sn,{className:`mt-0.5 size-4 shrink-0`}),(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`p`,{className:`font-medium`,children:te.title}),(0,Q.jsx)(`p`,{className:`mt-1 text-xs opacity-90`,children:te.message})]})]}):null,T.length>0&&D.length>0&&!N&&!c?(0,Q.jsx)(ll,{suggestions:D,selectedSuggestion:k,cycle:T.length,onSuggestion:e=>{A(e),w(e)},className:`px-0`}):null]}),V,g&&(g.steering.length>0||g.followUp.length>0)?(0,Q.jsx)(dl,{queue:g,onDelete:_,onEdit:v}):null]})}function Tl({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,suppressQuestionTool:m,inputBar:h,onSend:g,onOpenUIAction:_,onStop:v}){let y=(0,Z.useCallback)(e=>{g(e.content,e.altKey)},[g]);return(0,Q.jsx)(`div`,{className:`contents`,"data-fleet-chat-focus":!0,children:(0,Q.jsx)(Ur,{children:(0,Q.jsx)(wl,{messages:e,highlightedMessageId:t,status:n,onSend:y,onOpenUIAction:_,onStop:v,workspaceName:i,activityLabel:a,presentation:o,artifactRuns:s,queue:c,onDeleteQueuedMessage:l,onEditQueuedMessage:u,onOpenArtifact:d,onOpenUIArtifactReady:f,suppressQuestionTool:m,error:r??void 0,suggestions:p,inputBar:h})})})}var El=X({key:J(),provider:J(),id:J(),name:J(),version:J().optional(),reasoning:Wr(),input:Y(Lr([`text`,`image`])),contextWindow:Rr().optional(),maxTokens:Rr().optional(),available:Wr(),defaultThinkingLevel:ei.optional(),thinkingLevels:Y(ei).optional()}).openapi({description:`Chat model info`}),Dl=X({models:Y(El),selectedModelKey:J().optional(),defaultProvider:J().optional(),defaultModel:J().optional(),defaultThinkingLevel:ei.optional(),diagnostics:Y(J())}).openapi({description:`Chat models response`}),Ol=X({providerId:J().min(1).max(128)}).openapi({description:`Discover models for a provider`}),kl=X({providerId:J(),models:Y(El)}).openapi({description:`Discovered models for a provider`}),Al=X({activationStatus:Lr([`active`,`staged`,`reload-required`]).optional(),name:J(),description:J().optional(),installedInWorkspace:Wr().optional(),path:J().optional(),source:J().optional(),workspacePath:J().optional(),argumentHint:J().optional()}).openapi({description:`Chat resource info`}),jl=X({packages:Y(Al),skills:Y(Al),prompts:Y(Al),extensions:Y(Al),themes:Y(Al),agentsFiles:Y(Al),diagnostics:Y(J())}).openapi({description:`Chat resources response`}),Ml=Nr(()=>X({name:J(),path:J(),type:Lr([`directory`,`file`]),children:Y(Ml).optional()})),Nl=X({root:J(),nodes:Y(Ml),diagnostics:Y(J())}).openapi({description:`Workspace tree response`}),Pl=X({path:J(),name:J(),content:J(),mediaType:Lr([`text/markdown`,`text/plain`,`application/octet-stream`]),size:Rr().optional(),status:Lr([`ok`,`too-large`,`unsupported`]).optional()}).openapi({description:`Workspace file preview response`}),Fl=X({name:J(),path:J()}).openapi({description:`Directory entry in the project-folder picker`});X({path:J(),parent:J().nullable(),entries:Y(Fl)}).openapi({description:`Workspace directory browse response`});var Il=X({id:J(),name:J(),isConfigured:Wr(),envVarName:J(),authType:Lr([`apiKey`,`oauth`]).optional(),supportsOAuth:Wr().optional(),providerFamily:J().optional(),displayName:J().optional(),api:Lr([`openai-completions`,`openai-responses`,`anthropic-messages`,`google-genai`]).optional(),baseUrl:J().optional(),modelIds:Y(J().max(4096)).max(64).optional(),discoverable:Wr().optional()}).openapi({description:`Chat provider info`}),Ll=X({providers:Y(Il)}).openapi({description:`Chat providers response`}),Rl=X({providerId:J(),apiKey:J().max(4096),baseUrl:J().max(4096).optional(),modelId:J().max(4096).optional(),displayName:J().max(256).optional(),createOccInstance:Wr().optional(),api:Lr([`openai-completions`,`openai-responses`,`anthropic-messages`,`google-genai`]).optional(),models:Y(J().max(4096)).max(64).optional()}).openapi({description:`Chat provider update request`}),zl=X({success:Wr(),providers:Y(Il),reloadRequired:Wr().optional()}).openapi({description:`Chat provider update response`}),Bl=X({providerId:J()}).openapi({description:`Chat provider remove request`});zl.openapi({description:`Chat provider remove response`});var Vl=Lr([`waiting`,`success`,`error`]).openapi({description:`OAuth login status`}),Hl=X({message:J(),placeholder:J().optional(),allowEmpty:Wr().optional()}).openapi({description:`Interactive OAuth prompt`}),Ul=X({providerId:J().min(1),loginId:J().min(1).optional(),promptAnswer:J().max(8192).optional(),cancel:Wr().optional()}).openapi({description:`Chat provider OAuth login request`}),Wl=X({status:Vl,loginId:J().optional(),authUrl:J().optional(),userCode:J().optional(),instructions:J().optional(),prompt:Hl.optional(),error:J().optional(),providers:Y(Il).optional()}).openapi({description:`Chat provider OAuth login response`}),Gl=X({name:J(),description:J().optional(),argumentHint:J().optional(),source:Lr([`builtin`,`extension`,`prompt`,`skill`]),passThrough:Wr().optional()}).openapi({description:`Chat slash command info`}),Kl=X({commands:Y(Gl),diagnostics:Y(J())}).openapi({description:`Chat slash commands response`}),ql=Lr([`session`,`corpus`]).openapi({description:`Where a completion came from: this session or another session`});Lr([`append`,`replace`]).openapi({description:`Whether accepting appends the completion or replaces the draft with it`}),X({text:mi.max(2e3),sessionId:mi.max(200).optional(),projectId:Ir.optional()}).openapi({description:`Composer ghost-text completion request`}),X({completion:J().min(1).max(2e3).optional(),confidence:Rr().min(0).max(1).optional(),source:ql.optional()}).openapi({description:`Composer ghost-text completion from history; a verbatim string that always extends the draft, never model prose`});var Jl=Lr([`unconfigured`,`unverified`,`ready`,`error`]).openapi({description:`Coarse readiness of the optional composer intent classifier`}),Yl=Lr([`disabled`,`not_ready`,`empty`,`no_match`,`code_task`,`below_floor`,`unavailable`,`rate_limited`]).openapi({description:`Why a routing attempt produced no action`}),Xl=Lr([`settings`,`environment`,`none`]).openapi({description:`Which key the classifier is using; never the key itself`}),Zl=Lr([`execute`,`suggest`]).openapi({description:`Whether a matched command may run automatically or is only offered`});X({text:mi.max(2e3),projectId:Ir.optional()}).openapi({description:`Composer free-text intent routing request`}),X({enabled:Wr(),outcome:Lr([`none`,`matched`]),command:J().min(1).max(64).optional(),confidence:Rr().min(0).max(1).optional(),disposition:Zl.optional(),reason:Yl.optional(),model:J().max(120).optional(),latencyMs:Rr().nonnegative().optional()}).openapi({description:`Composer intent routing decision; never carries model prose or error text`}),X({enabled:Wr(),status:Jl,keySource:Xl}).openapi({description:`Composer intent routing availability; never reveals the key or a raw error`}),X({apiKey:mi.max(400).nullable()}).openapi({description:`Set or clear the stored classifier key; write-only`}),X({enabled:Wr()}).openapi({description:`Enable or disable composer intent routing`});var Ql=/^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/,$l=/^[A-Za-z_][A-Za-z0-9_]*$/,eu=J().regex(Ql,`MCP server names must be 1-64 letters, numbers, underscores, or hyphens and start with a letter or number.`),tu=J().regex($l,`Environment variable names must be letters, digits, or underscores.`),nu=Lr([`builtin`,`user`]),ru=Lr([`http`,`stdio`]),iu=Lr([`connected`,`needs_auth`,`disabled`,`anonymous`]),au=X({child:tu,source:tu}).openapi({description:`Stdio env mapping as CHILD=SOURCE variable names only`}),ou=X({name:eu,label:mi,source:nu,transport:ru,url:J().optional(),commandPreview:J().optional(),cwdPreview:J().optional(),usesOAuth:Wr(),enabled:Wr(),status:iu,bearerTokenEnvVar:J().optional(),envBindings:Y(au).optional(),error:J().optional()}).openapi({description:`Browser-safe MCP connection row; never includes tokens or env values`}),su=X({connections:Y(ou)}).openapi({description:`MCP connection list`}),cu=X({name:eu,transport:qr(`http`),url:mi,oauth:Wr().optional(),bearerTokenEnvVar:tu.optional(),force:Wr().optional()}),lu=X({name:eu,transport:qr(`stdio`),command:mi,args:Y(J().min(1).max(1024)).max(32).optional(),cwd:J().min(1).max(1024).optional(),env:Y(au).max(32).optional(),force:Wr().optional()}),uu=_i(`transport`,[cu,lu]).openapi({description:`Add or replace a user MCP server`}),du=X({name:eu}).openapi({description:`Remove a user MCP server`}),fu=Lr([`login`,`logout`,`reconnect`]),pu=X({name:eu,action:fu.optional(),loginId:J().min(1).optional(),promptAnswer:J().max(8192).optional(),cancel:Wr().optional()}).openapi({description:`MCP OAuth login, logout, or reconnect`}),mu=X({status:Vl,loginId:J().optional(),authUrl:J().optional(),userCode:J().optional(),instructions:J().optional(),prompt:Hl.optional(),error:J().optional(),connections:Y(ou).optional()}).openapi({description:`MCP OAuth login snapshot`});X({message:J()}).openapi({description:`Error response`}),X({status:qr(`ok`)}).openapi({description:`Health check response`});var hu=Lr([`user`,`assistant`,`system`,`unknown`]),gu=Lr([`message`,`system`,`other`]),_u=Nr(()=>X({id:J().min(1),parentId:J().min(1).optional(),kind:gu,role:hu.optional(),label:J(),preview:J(),isLeaf:Wr(),isOnActiveBranch:Wr(),messageIndex:Rr().int().nonnegative().optional(),children:Y(_u)}).openapi({description:`Browser-safe session tree node`})),vu=X({sessionId:ri,leafId:J().min(1).nullable(),nodes:Y(_u)}).openapi({description:`Session entry tree snapshot for the active branch and branches`}),yu=X({snapshot:vu}).openapi({description:`Session tree read response`}),bu=X({sessionId:ri,targetEntryId:J().min(1).max(256),expectedLeafId:J().min(1).max(256).optional()}).openapi({description:`Navigate the live session tree to an earlier entry`}),xu=X({snapshot:vu}).openapi({description:`Session tree navigate response with authoritative snapshot`}),Su=mi.max(1024),Cu=Y(Su),wu=Cu.max(100),Tu=X({source:mi,extensions:Y(mi).optional(),skills:Y(mi).optional(),prompts:Y(mi).optional(),themes:Y(mi).optional()}),Eu=ui([mi,Tu]),Du=Y(Eu),Ou=Du.max(100),ku=X({compaction:X({enabled:Wr(),reserveTokens:Xr,keepRecentTokens:Xr}),defaultModel:J().optional(),defaultProvider:J().optional(),defaultThinkingLevel:ei.optional(),enableSkillCommands:Wr(),enabledModels:Y(mi).optional(),extensions:Cu,followUpMode:ti,packages:Du,prompts:Cu,retry:X({enabled:Wr(),maxRetries:gi,baseDelayMs:gi}),skills:Cu,steeringMode:ti,themes:Cu,transport:Jr}).openapi({description:`Editable Pi settings`}),Au=X({compaction:ku.shape.compaction.partial().optional(),defaultModel:J().optional(),defaultProvider:J().optional(),defaultThinkingLevel:ei.optional(),enableSkillCommands:Wr().optional(),enabledModels:Y(mi).nullable().optional(),extensions:wu.optional(),followUpMode:ti.optional(),packages:Ou.optional(),prompts:wu.optional(),retry:ku.shape.retry.partial().optional(),skills:wu.optional(),steeringMode:ti.optional(),themes:wu.optional(),transport:Jr.optional()}).strict().openapi({description:`Pi settings update`}),ju=X({compaction:ku.shape.compaction.partial().optional(),defaultModel:J().optional(),defaultProvider:J().optional(),defaultThinkingLevel:ei.optional(),enableSkillCommands:Wr().optional(),enabledModels:Y(mi).nullable().optional(),extensions:Cu.optional(),followUpMode:ti.optional(),packages:Du.optional(),prompts:Cu.optional(),retry:ku.shape.retry.partial().optional(),skills:Cu.optional(),steeringMode:ti.optional(),themes:Cu.optional(),transport:Jr.optional()}).strict(),Mu=X({settings:Au}).openapi({description:`Pi settings update request`}),Nu=X({diagnostics:Y(J()),effective:ku,project:ju,projectPath:J(),updateImpact:X({newSessionRecommended:Wr(),resourceReloadRequired:Wr()})}).openapi({description:`Pi settings response`}),Pu=[`/api/health`,`/api/chat`,`/api/projects`,`/api/workspace`];function Fu(){return``}function Iu(e){return Pu.some(t=>e===t||e.startsWith(`${t}?`)||e.startsWith(`${t}/`))}function Lu(e){let t=Fu();if(!t)return e;let[n]=e.split(`?`);return Iu(n)?`${t}${e}`:e}var Ru=class extends Error{status;body;code;remediation;constructor(e,t){super(Vu(e,t)),this.name=`ChatRequestError`,this.status=e,this.body=t;let n=Bu(t);this.code=n?.code,this.remediation=n?.remediation}};function zu(e){return typeof e==`object`&&!!e&&typeof e.action==`string`&&typeof e.label==`string`}function Bu(e){let t=e.trim();if(!t)return null;try{let e=JSON.parse(t);if(typeof e.code==`string`)return{code:e.code,remediation:zu(e.remediation)?e.remediation:void 0}}catch{}return null}function Vu(e,t){let n=t.trim();if(!n)return`Request failed (${e})`;try{let e=JSON.parse(n);if(typeof e.message==`string`&&e.message.length>0)return e.message}catch{}return n}function Hu(e){return(e instanceof Ru?e.body:e instanceof Error?e.message:String(e)).includes(`Session belongs to another user`)}function Uu(e){return e instanceof Ru&&e.status===404}function Wu(e){return e instanceof Error?e.code===`NETWORK_DISCONNECTED`||/daemon is not connected/i.test(e.message)||/cannot send daemon command/i.test(e.message):!1}function Gu(e){let t=Error(e.message);return e.code&&(t.code=e.code),t}async function Ku(e,t){let n=Lu(e),r=new Headers(t?.headers),i=await fetch(n,{...t,headers:r});if(!i.ok){let e=await i.text();throw new Ru(i.status,e)}return await i.json()}async function $(e,t,n){return Ju(t,await Ku(e,n),`Response from ${e}`)}async function qu(e,t){let n=e.body?.getReader();if(!n)throw Error(`Chat response did not include a stream`);let r=new TextDecoder,i=``,a=new Map;function o(e,t,n){let r=a.get(`${e}:${t}`)??0;n>r+1&&console.warn(`[chat-sequence] Gap detected in ${t} sequence for session ${e}: expected ${r+1}, got ${n}`),a.set(`${e}:${t}`,n)}let s=e=>{let n=e.trim();if(!n)return;let r=JSON.parse(n),i=typeof r==`object`&&r?`type`in r&&r.type:void 0,a=typeof r==`object`&&r&&`sessionId`in r?String(r.sessionId):void 0,s=typeof r==`object`&&r&&`sequenceNumber`in r?Number(r.sequenceNumber):void 0;if(i===`start`||i===`done`||i===`error`||i===`plan`||i===`state`||i===`tool`||i===`queue`||i===`reasoning`||i===`reasoning_text`||i===`compaction`||i===`retry`||i===`payload`||i===`session_snapshot`){let e=Ju(oi,r,`Chat stream event`);a&&s!==void 0&&o(a,String(e.type),s),t(e)}else t(r)};for(;;){let{value:e,done:t}=await n.read();if(t)break;let a=r.decode(e,{stream:!0});i+=a;let o=i.indexOf(`
|
|
7
|
-
`);for(;o>=0;)s(i.slice(0,o)),i=i.slice(o+1),o=i.indexOf(`
|
|
8
|
-
`)}i+=r.decode(),s(i)}function Ju(e,t,n){let r=e.safeParse(t);if(r.success)return r.data;throw Error(`${n} did not match the expected contract`)}function Yu(e){let t=new URLSearchParams;return e.sessionId&&t.set(`sessionId`,e.sessionId),e.projectId&&t.set(`projectId`,e.projectId),e.openUI&&t.set(`openUI`,`true`),t.toString()}function Xu(e){switch(e){case`agent_start`:return`Working`;case`turn_start`:return`Waiting`;case`message_start`:return`Thinking`;case`message_end`:return`Writing`;case`tool_start`:case`tool_execution_start`:case`tool_execution`:return`Executing`;case`tool_end`:case`tool_execution_end`:return`Writing`;case`turn_end`:return`Turn finished`;case`agent_end`:return;default:return}}function Zu(e){Wu(e)||gr.error(e instanceof Error?e.message:String(e))}function Qu(e){Promise.resolve().then(e).catch(Zu)}function $u(){let[e,t]=(0,Z.useState)(`agent`),[n,r]=(0,Z.useState)([]),[i,a]=(0,Z.useState)([]),[o,s]=(0,Z.useState)(!1),[c,l]=(0,Z.useState)(!1);return{chatMode:e,effortPickerOpen:c,modelPickerOpen:o,setChatMode:t,setEffortPickerOpen:l,setModelPickerOpen:s,setUploadedAttachments:r,setWorkspaceAttachments:a,uploadedAttachments:n,workspaceAttachments:i}}function ed(e,t){return{modelKey:e.modelKey,models:e.models,infoDescription:e.infoDescription,slashCommands:e.slashCommands,questionBar:e.pendingQuestionBar,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:Lu(`/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 td(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,pendingQuestionBar:m,removeUploadedAttachment:h,removeWorkspaceAttachment:g,setChatMode:_,setEffortPickerOpen:v,setModelKey:y,setModelPickerOpen:b,setThinkingLevel:x,slashCommands:S,thinkingLevel:C,uploadedAttachments:w,workspaceAttachments:T,workspaceReferenceSuggestions:E}=e;return(0,Z.useMemo)(()=>ed({addWorkspaceAttachment:n,chatMode:r,effortPickerOpen:i,handleAttach:a,handleLocalSlashSubmit:o,handleSlashCommandSelect:s,infoDescription:c,inlineCompletion:l,modelKey:u,modelPickerOpen:d,models:f,onComposerDraftChange:p,pendingQuestionBar:m,removeUploadedAttachment:h,removeWorkspaceAttachment:g,setChatMode:_,setEffortPickerOpen:v,setModelKey:y,setModelPickerOpen:b,setThinkingLevel:x,slashCommands:S,thinkingLevel:C,uploadedAttachments:w,workspaceAttachments:T,workspaceReferenceSuggestions:E},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,E])}var nd=X({project:ii}),rd={async abortSession(e){await Ku(`/api/chat/abort`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)})},async answerQuestion(e){return $(`/api/chat/question`,Zr,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)})},async mutateQueuedMessage(e){let t=ai.parse(e);return $(`/api/chat/session`,pi,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)})},async deleteQueuedMessage(e){return this.mutateQueuedMessage({...e,mutation:e.mutation??{type:`delete`}})},async createSession(e,t){return $(`/api/chat/new`,$r,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({openUI:!0,...e?{projectId:e}:{}}),signal:t})},async listProjects(){return $(`/api/projects`,Fr)},async createProject(e){let t=Gr.parse(e);return(await $(`/api/projects`,nd,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)})).project},async renameProject(e,t){let n=Vr.parse({name:t});return(await $(`/api/projects?projectId=${encodeURIComponent(e)}`,nd,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)})).project},async unregisterProject(e){return(await $(`/api/projects?projectId=${encodeURIComponent(e)}`,nd,{method:`DELETE`})).project},async browseProjectDirectories(e){let t=new URLSearchParams;e?.path&&t.set(`path`,e.path),e?.token&&t.set(`token`,e.token);let n=t.toString();return $(`/api/projects/browse${n?`?${n}`:``}`,Pr)},async forkSessionIntoProject(e,t){let n=hi.parse({sessionId:e,targetProjectId:t});return $(`/api/projects/fork`,Kr,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)})},async getModels(e){let t=new URLSearchParams;e?.scope===`all`&&t.set(`scope`,`all`),e?.projectId&&t.set(`projectId`,e.projectId);let n=t.toString();return $(`/api/chat/models${n?`?${n}`:``}`,Dl)},async discoverModels(e){return $(`/api/chat/models/discover`,kl,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(Ol.parse(e))})},async getResources(e){return $(`/api/chat/resources${e?`?projectId=${encodeURIComponent(e)}`:``}`,jl)},async getCommands(e){return $(`/api/chat/commands${e?`?projectId=${encodeURIComponent(e)}`:``}`,Kl)},async getSettings(e){return $(`/api/chat/settings${e?`?projectId=${encodeURIComponent(e)}`:``}`,Nu)},async getWorkspaceTree(e){return $(`/api/workspace/tree${e?`?projectId=${encodeURIComponent(e)}`:``}`,Nl)},async getWorkspaceFile(e,t,n){let r=new URLSearchParams({path:e});return t&&r.set(`projectId`,t),$(`/api/workspace/file?${r}`,Pl,n?{signal:n}:void 0)},async listSessions(e){return(await $(`/api/chat/sessions${e?`?projectId=${encodeURIComponent(e)}`:``}`,li)).sessions},async renameSession(e,t){await Ku(`/api/chat/sessions`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({sessionId:e,title:t})})},async deleteSession(e){await Ku(`/api/chat/sessions`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify({sessionId:e})})},async uploadAttachments(e,t){let n=new FormData;n.set(`sessionId`,e);for(let e of t)n.append(`files`,e);let r=await fetch(Lu(`/api/chat/session`),{method:`POST`,body:n});if(!r.ok)throw new Ru(r.status,await r.text());return X({attachments:Y(zr)}).parse(await r.json()).attachments},async getSessionTree(e){return $(`/api/chat/session-tree?${new URLSearchParams({sessionId:e})}`,yu).then(e=>e.snapshot)},async navigateSessionTree(e){let t=bu.parse(e);return $(`/api/chat/session-tree`,xu,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)}).then(e=>e.snapshot)},async loadSession(e){return $(`/api/chat/session?${Yu({...e,openUI:!0})}`,$r)},async loadSubagentSession(e,t){return $(`/api/chat/session?${new URLSearchParams({parentSessionId:e,childId:t})}`,$r)},openSubagentEvents(e,t,n){let r=new URLSearchParams({parentSessionId:e,childId:t});return n?.streamGeneration&&r.set(`streamGeneration`,n.streamGeneration),n?.lastEventId&&n.lastEventId>0&&r.set(`lastEventId`,String(n.lastEventId)),Lu(`/api/chat/events?${r}`)},async upsertPlanPresentation(e){let t=di.parse(e);return $(`/api/chat/session`,X({presentation:ci}),{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)}).then(e=>e.presentation)},async upsertOpenUIArtifact(e){let t=ni.parse(e);return $(`/api/chat/artifacts`,Yr,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)})},async resumeSession(e){return $(`/api/chat/resume`,$r,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({...e,openUI:!0})})},async updateSettings(e,t){let n=Mu.parse(e);return $(`/api/chat/settings${t?`?projectId=${encodeURIComponent(t)}`:``}`,Nu,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)})},async streamMessage(e,t,n){let r=await fetch(Lu(`/api/chat`),{method:`POST`,headers:new Headers({"Content-Type":`application/json`}),body:JSON.stringify(e),signal:n});if(!r.ok){let e=await r.text();throw new Ru(r.status,e)}await qu(r,t)},async getMcpConnections(){return $(`/api/chat/mcp`,su)},async upsertMcpConnection(e){let t=uu.parse(e);return $(`/api/chat/mcp`,su,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)})},async removeMcpConnection(e){let t=du.parse(e);return $(`/api/chat/mcp`,su,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)})},async mcpOAuth(e){let t=pu.parse(e);return $(`/api/chat/mcp/oauth`,mu,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)})},async getProviders(){return $(`/api/chat/providers`,Ll)},async oauthLoginProvider(e){let t=Ul.parse(e);return $(`/api/chat/providers/oauth`,Wl,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)})},async updateProvider(e){let t=Rl.parse(e);return $(`/api/chat/providers`,zl,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)})},async removeProvider(e){let t=Bl.parse(e);return $(`/api/chat/providers`,zl,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)})}},id={models:e=>[`chat`,`models`,e??`default`],modelCatalog:e=>[`chat`,`models`,`catalog`,e??`default`],providers:[`chat`,`providers`],mcp:[`chat`,`mcp`],resources:e=>[`chat`,`resources`,e??`default`],commands:e=>[`chat`,`commands`,e??`default`],settings:e=>[`chat`,`settings`,e??`default`],workspace:e=>[`workspace`,`tree`,e??`default`],projects:[`projects`]},ad=id;function od(e){return Ia({queryKey:ad.models(e),queryFn:()=>rd.getModels({projectId:e}),enabled:!!e})}function sd(){return Ia({queryKey:ad.projects,queryFn:()=>rd.listProjects(),staleTime:5e3})}function cd(e){return Ia({queryKey:ad.modelCatalog(e?.projectId),queryFn:()=>rd.getModels({scope:`all`,projectId:e?.projectId}),enabled:!!e?.projectId&&e?.enabled!==!1})}function ld(){let e=i();return La({mutationFn:e=>rd.discoverModels({providerId:e}),onSuccess:()=>{e.invalidateQueries({queryKey:[`chat`,`models`]})}})}function ud(e){return Ia({queryKey:ad.resources(e),queryFn:()=>rd.getResources(e),enabled:!!e})}function dd(e){return Ia({queryKey:ad.commands(e),queryFn:()=>rd.getCommands(e),enabled:!!e})}function fd(e){return Ia({queryKey:ad.settings(e),queryFn:()=>rd.getSettings(e),enabled:!!e})}function pd(){let e=i();return La({mutationFn:e=>rd.updateSettings(e.request,e.projectId),onSuccess:(t,n)=>{e.setQueryData(ad.settings(n.projectId),t),e.invalidateQueries({queryKey:[`chat`,`models`]}),e.invalidateQueries({queryKey:[`chat`,`resources`]}),e.invalidateQueries({queryKey:[`chat`,`commands`]})}})}function md(e,t){return Ia({queryKey:ad.workspace(e),queryFn:()=>rd.getWorkspaceTree(e),enabled:!!e&&t?.enabled!==!1})}function hd(){return Ia({queryKey:ad.mcp,queryFn:()=>rd.getMcpConnections()})}function gd(){let e=i();return La({mutationFn:e=>rd.upsertMcpConnection(e),onSuccess:t=>{e.setQueryData(ad.mcp,t),e.invalidateQueries({queryKey:[`chat`,`resources`]})}})}function _d(){let e=i();return La({mutationFn:e=>rd.removeMcpConnection(e),onSuccess:t=>{e.setQueryData(ad.mcp,t),e.invalidateQueries({queryKey:[`chat`,`resources`]})}})}function vd(){let e=i();return La({mutationFn:e=>rd.mcpOAuth(e),onSuccess:t=>{t.status!==`success`||!t.connections||(e.setQueryData(ad.mcp,{connections:t.connections}),e.invalidateQueries({queryKey:[`chat`,`resources`]}))}})}function yd(){return Ia({queryKey:ad.providers,queryFn:()=>rd.getProviders()})}function bd(){let e=i();return La({mutationFn:e=>rd.updateProvider(e),onSuccess:t=>{e.setQueryData(ad.providers,{providers:t.providers}),e.invalidateQueries({queryKey:[`chat`,`models`]}),e.invalidateQueries({queryKey:[`chat`,`settings`]})}})}function xd(){let e=i();return La({mutationFn:e=>rd.oauthLoginProvider(e),onSuccess:t=>{t.status!==`success`||!t.providers||(e.setQueryData(ad.providers,{providers:t.providers}),e.invalidateQueries({queryKey:[`chat`,`models`]}),e.invalidateQueries({queryKey:[`chat`,`settings`]}))}})}function Sd(){let e=i();return La({mutationFn:e=>rd.removeProvider(e),onSuccess:t=>{e.setQueryData(ad.providers,{providers:t.providers}),e.invalidateQueries({queryKey:[`chat`,`models`]}),e.invalidateQueries({queryKey:[`chat`,`settings`]})}})}var Cd=32,wd=3e5;function Td(e){return e.trim().length<4?!1:!$o(e)}function Ed(e){return e.trim().replace(/\s+/g,` `).toLowerCase()}function Dd(e,t){return`${e??``}\u0000${Ed(t)}`}function Od({available:e,sessionId:t}){let n=(0,Z.useRef)(new Map),r=(0,Z.useRef)(``),i=(0,Z.useRef)(null),[a,o]=(0,Z.useState)(void 0),s=(0,Z.useCallback)((e,t)=>{for(n.current.set(e,{completion:t,at:Date.now()});n.current.size>Cd;){let e=n.current.keys().next();if(e.done)break;n.current.delete(e.value)}},[]),c=(0,Z.useCallback)(e=>{let t=n.current.get(e);if(t){if(Date.now()-t.at>wd){n.current.delete(e);return}return t}},[]),l=(0,Z.useCallback)(async e=>{let n=Dd(t,e);i.current?.abort();let a=new AbortController;i.current=a;try{let c=await fetch(Lu(`/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 l=await c.json();if(l.completion&&s(n,l.completion),i.current!==a||r.current!==e)return;o(l.completion?{key:n,forValue:e,text:l.completion}:void 0)}catch{}},[s,t]),u=(0,Z.useCallback)(n=>{if(r.current=n,!e||!Td(n)){i.current?.abort(),i.current=null,o(void 0);return}let a=Dd(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),l(n)},[e,l,c,t]);(0,Z.useEffect)(()=>()=>{i.current?.abort(),i.current=null},[]),(0,Z.useEffect)(()=>{r.current&&u(r.current)},[u]);let d=a&&a.key===Dd(t,a.forValue)?a:void 0,f=d?ts(d.forValue,d.text,`append`):void 0;return{onDraftChange:u,inlineCompletion:d&&f?{forValue:d.forValue,text:f,mode:`append`,onDismiss:()=>o(void 0)}:void 0}}var kd=300,Ad=32,jd=3e5,Md=4;function Nd(e){return e.trim().replace(/\s+/g,` `).toLowerCase()}function Pd(e){let t=e.trim();return!(t.length<Md||t.startsWith(`/`)||t.startsWith(`@`)&&!t.includes(` `))}function Fd(e,t){if(e.outcome!==`matched`||!e.command)return;let n=Hr(e.command);if(n)return{forValue:t,command:n.id}}function Id(e){let t=(0,Z.useRef)(new Map),n=(0,Z.useRef)(void 0),r=(0,Z.useRef)(null),i=(0,Z.useRef)(``),a=(0,Z.useRef)(void 0),[o,s]=(0,Z.useState)(void 0),c=(0,Z.useCallback)(e=>{let n=t.current.get(e);if(n){if(Date.now()-n.at>jd){t.current.delete(e);return}return n.response}},[]),l=(0,Z.useCallback)((e,n)=>{for(t.current.set(e,{response:n,at:Date.now()});t.current.size>Ad;){let e=t.current.keys().next();if(e.done)break;t.current.delete(e.value)}},[]),u=(0,Z.useCallback)((e,t,n)=>{if(a.current!==n)return Fd(e,t)},[]),d=(0,Z.useCallback)(async e=>{let t=Nd(e);r.current?.abort();let n=new AbortController;r.current=n;try{let r=await fetch(Lu(`/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(l(t,a),i.current!==e)return;s(u(a,e,t))}catch{}},[u,l]),f=(0,Z.useCallback)(t=>{i.current=t,n.current!==void 0&&(clearTimeout(n.current),n.current=void 0);let r=Nd(t);if(a.current!==void 0&&a.current!==r&&(a.current=void 0),!e||!Pd(t)){s(void 0);return}let o=c(r);if(o){s(u(o,t,r));return}s(void 0),n.current=setTimeout(()=>{n.current=void 0,d(t)},kd)},[e,d,u,c]),p=(0,Z.useCallback)(t=>{if(!e)return null;let n=Nd(t);if(a.current===n)return null;let r=c(n);return!r||r.outcome!==`matched`||r.disposition!==`execute`?null:r},[e,c]),m=(0,Z.useCallback)(()=>{a.current=Nd(i.current),s(void 0)},[]);return(0,Z.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,Z.useEffect)(()=>{e&&i.current&&f(i.current)},[e,f]),(0,Z.useEffect)(()=>()=>{n.current!==void 0&&clearTimeout(n.current),r.current?.abort()},[]),{onDraftChange:f,takeCached:p,command:o,dismissCommand:m}}function Ld(){let[e,t]=(0,Z.useState)({available:!1,enabled:!1,keySource:`none`,status:`loading`}),n=(0,Z.useRef)(0),r=(0,Z.useCallback)(()=>{let e=++n.current;(async()=>{try{let r=await fetch(Lu(`/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,Z.useEffect)(()=>{r()},[r]),(0,Z.useMemo)(()=>({...e,refresh:r}),[r,e])}var Rd=[{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`}],zd={clear:`new`,usage:`context`,thinking:`effort`,rename:`name`,side:`btw`};function Bd(e){let t=ei.safeParse(e.trim().toLowerCase());return t.success?t.data:void 0}function Vd(e){return zd[e]??e}function Hd(e){return Gd(Vd(e))}function Ud(e){let t=e.trim().match(/^\/(\S+)(?:\s+(.*))?$/);if(!t)return null;let[,n=``,r=``]=t;return{command:n,args:r.trim()}}function Wd(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 Gd(e,t=``){let n=Vd(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=Bd(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:Wd(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?Wd(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 Kd(e){let t=e.trim().replace(/\s+/g,`-`);return/^[\w.-]+$/.test(t)?t:``}function qd(e){return`/${e} `}function Jd(e){let t=e.argumentHint?.trim();return{id:e.name,label:`/${e.name}`,value:qd(e.name),description:e.description,category:e.category??`builtin`,...t?{metadata:{argumentHint:t}}:{}}}function Yd(e){return e.metadata?.argumentHint?.trim()?!0:!!Rd.find(t=>t.name===e.id)?.argumentHint?.trim()}function Xd(e,t,n){let r=new Map;for(let e of Rd)r.set(e.name,Jd(e));for(let e of n?.commands??[])r.has(e.name)||r.set(e.name,Jd({...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=Kd(e.name);if(!n||r.has(n))continue;let i=e.argumentHint?.trim();r.set(n,{id:n,label:`/${n}`,value:qd(n),description:e.description,category:t,...i?{metadata:{argumentHint:i}}:{}})}return Array.from(r.values())}var Zd=`workspace:`;function Qd(e,t=[]){for(let n of e)t.push(n),n.children&&Qd(n.children,t);return t}function $d(e){return e?Qd(e.nodes).map(e=>({id:`${Zd}${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 ef(e){if(!e.id.startsWith(Zd))return null;let t=e.id.slice(10);if(!t)return null;let n=Br.safeParse(t);return n.success?n.data:null}function tf(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 nf(e){return e?.role!==`assistant`||!Array.isArray(e.parts)?!1:e.parts.some(e=>tf(e))}function rf({messages:e,answerQuestion:t}){let n=(0,Z.useRef)(new Map);return(0,Z.useMemo)(()=>{let r=af(e);if(!r){n.current.clear();return}let{part:i}=r,a=i.input?.questions??[];if(a.length===0){n.current.clear();return}let o=a.map((e,t)=>of(e,t)),s=i.toolCallId,c=s??`pending-question`;for(let e of Array.from(n.current.keys()))e!==c&&n.current.delete(e);let l=o.map((e,t)=>e.id??`question-${t+1}`);return{id:c,questions:o,submitLabel:`Continue`,allowSkip:!0,onSubmit:e=>{if(e.kind===`skip`){n.current.delete(c),t({toolCallId:s,answer:{kind:`skip`,...e.questionId?{questionId:e.questionId}:{}}});return}let r=n.current.get(c),i=r??new Map;r||n.current.set(c,i);let a=typeof e.questionId==`string`&&e.questionId?e.questionId:l.find(e=>!i.has(e));if(!a){t({toolCallId:s,answer:e});return}if(i.set(a,sf(e)),!l.every(e=>i.has(e)))return;let o={};for(let e of l){let t=i.get(e);t!==void 0&&(o[e]=t)}n.current.delete(c),t({toolCallId:s,answer:{kind:`questions`,answers:o}})}}},[e,t])}function af(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(!(n.role!==`assistant`||!Array.isArray(n.parts)))for(let e=n.parts.length-1;e>=0;e--){let t=n.parts[e];if(t?.type===`tool-Question`&&tf(t))return{part:t}}}}function of(e,t){let n=(e.options??[]).map(e=>{let t=e.value??e.label;if(typeof t==`string`)return{id:t,value:t,label:e.label??t,description:e.description}}).filter(e=>e!==void 0),r=e.kind??(n.length>0?`single`:`text`);return{id:typeof e.id==`string`&&e.id.trim()?e.id:`question-${t+1}`,kind:r,title:e.question??e.prompt??e.title??``,options:n.length>0?n:void 0,allowCustom:e.allowOther??e.allowCustom}}function sf(e){if(e.kind===`multi`){let t=Array.isArray(e.selectedIds)?[...e.selectedIds]:[];return typeof e.text==`string`&&e.text.trim()&&t.push(e.text.trim()),t}return e.kind===`text`?typeof e.text==`string`?e.text:``:e.selectedIds?.[0]??e.text??``}var cf=`fleet-prime:v1:chat-session`;function lf(){let[e,t]=(0,Z.useState)(()=>uf()),n=(0,Z.useCallback)(e=>{t(e)},[]);return(0,Z.useEffect)(()=>{pf(e)},[e]),{sessionMetadata:e,setSessionMetadata:n}}function uf(){let e=kr(cf);if(!e)return df();try{return ff(JSON.parse(e))}catch{return df()}}function df(){let e=kr(`fleet-prime:v1:chat-sessions`);if(!e)return{};try{return ff(JSON.parse(e)?.normal)}catch{return{}}}function ff(e){let t=Qr.safeParse(e);return t.success?t.data:{}}function pf(e){if(!e.sessionId&&!e.projectId){Dr(cf),Dr(`fleet-prime:v1:chat-sessions`);return}Or(cf,JSON.stringify(e))}function mf({messages:e,resources:t,workspaceTree:n}){return(0,Z.useMemo)(()=>hf({messages:e,resources:t,workspaceTree:n}),[e,t,n])}function hf({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[_f(`overview`,`Summarize this project`),_f(`frontend`,a?`Find a skill "frontend"`:`Explore available skills`),_f(`docs`,r?`Read AGENTS.md`:`Tell me about this project`)];let o=[...e].reverse().find(e=>e.role===`assistant`),s=vf([...e].reverse().find(e=>e.role===`user`)).toLowerCase(),c=vf(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[_f(`review-changes`,`Review the changes to ${e.split(`/`).pop()??e}`),_f(`run-tests`,`Run the tests`),_f(`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[_f(`summarize-file`,`Summarize ${e.split(`/`).pop()??e}`),_f(`suggest-improvements`,`Suggest improvements`),_f(`find-related`,`Find related files`)]}return l.has(`tool-Bash`)?[_f(`explain-output`,`Explain the output`),_f(`fix-issues`,`Fix any issues found`),_f(`run-again`,`Run it again with different options`)]:l.has(`tool-PlanWrite`)?[_f(`execute-plan`,`Execute this plan`),_f(`refine-plan`,`Refine the plan`),_f(`explain-plan`,`Explain the plan in detail`)]:l.has(`tool-resource_install`)?[_f(`use-resource`,`Use the installed resource`),_f(`list-resources`,`List all available resources`),_f(`workspace`,`Show workspace files`)]:gf(o)?[_f(`fix-error`,`Fix the error`),_f(`explain-error`,`Explain what went wrong`),_f(`suggest-alternative`,`Suggest an alternative approach`)]:s.includes(`what can you do`)||s.includes(`help`)?[_f(`frontend`,`Find a skill "frontend"`),_f(`agents`,r?`Read AGENTS.md`:`Read the repo docs`),_f(`workspace`,`Show workspace files`)]:s.includes(`skill`)?[_f(`frontend-skill`,`Find a skill "frontend"`),_f(`memory-skill`,`Find a skill "memory"`),_f(`skill-docs`,r?`Read AGENTS.md`:`Show workspace files`)]:c?[_f(`go-deeper`,`Go deeper on this`),_f(`next-steps`,`What should I do next?`),_f(`workspace`,`Show workspace files`)]:[_f(`overview`,`Summarize this project`),_f(`workspace`,`Show workspace files`),_f(`docs`,r?`Read AGENTS.md`:`Tell me about this project`)]}function gf(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 _f(e,t){return{id:e,label:t,value:t}}function vf(e){return e?e.parts.filter(e=>e.type===`text`&&typeof e.text==`string`).map(e=>e.text).join(` `):``}function yf(e,t){return e.sessionId!==t.sessionId||e.projectId!==t.projectId}function bf(e,t){return!!e.sessionId||t!==void 0&&t!==e.projectId}function xf({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,Z.useCallback)(()=>{l([]),u([])},[l,u]),m=(0,Z.useRef)(null),h=(0,Z.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=bf({...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,Z.useCallback)(async(t,r)=>{let a=t.projectId===void 0&&e?{...t,projectId:e}:t,o=yf(n(),a),s=await i(a,r);return s&&o&&p(),s},[e,p,n,i]),_=(0,Z.useCallback)(async(e,t)=>{await g(e,t)},[g]),v=(0,Z.useCallback)(async e=>{let t=o.filter(t=>t.projectId===e).sort((e,t)=>t.updatedAt.localeCompare(e.updatedAt))[0],i=yf(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,Z.useCallback)(async e=>{s(e),c(null),await h({projectId:e}),await r()},[r,s,c,h]),b=(0,Z.useCallback)(async e=>{let r=n().sessionId===e;await t(e)&&r&&p()},[p,t,n]),x=(0,Z.useCallback)(async e=>{let t=await rd.createProject(e);await r(),await v(t.projectId)},[r,v]),S=(0,Z.useCallback)(async(e,t)=>{await rd.renameProject(e,t),await r()},[r]),C=(0,Z.useCallback)(async t=>{await rd.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,Z.useCallback)(e=>rd.browseProjectDirectories(e),[]),T=(0,Z.useCallback)(async(e,t)=>{await rd.forkSessionIntoProject(e,t),await r()},[r]);(0,Z.useEffect)(()=>{a&&r()},[r,a]);let E=(0,Z.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 rd.uploadAttachments(r,t);l(e=>[...e,...i])})().catch(e=>{Zu(e)})},e.click()},[n,l,h]),D=(0,Z.useCallback)(e=>{l(t=>t.filter(t=>t.attachmentId!==e))},[l]),O=(0,Z.useCallback)(()=>l([]),[l]),k=(0,Z.useCallback)(()=>u([]),[u]),A=(0,Z.useCallback)((e,t)=>{e.length>0&&l(t=>[...e,...t]),t.length>0&&u(e=>[...t,...e])},[l,u]);return{addWorkspaceAttachment:(0,Z.useCallback)(e=>{let t=ef(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:O,clearWorkspaceAttachments:k,createProject:x,deleteSessionForWorkspace:b,forkSessionIntoProject:T,handleAttach:E,removeUploadedAttachment:D,removeWorkspaceAttachment:(0,Z.useCallback)(e=>{u(t=>t.filter(t=>t.relativePath!==e))},[u]),renameProject:S,restoreAttachments:A,resumeSessionForWorkspace:_,resumeSessionForWorkspaceWithResult:g,selectProject:v,startNewSessionForWorkspace:h,startNewSessionInProject:y,unregisterProject:C}}function Sf(e,t,n=crypto.randomUUID()){return{id:n,role:e,createdAt:Date.now(),parts:[{type:`text`,text:t}]}}function Cf(e){return{...Sf(`user`,e),optimistic:!0}}function wf(e,t){return e.filter(e=>e.id!==t||e.optimistic!==!0)}function Tf(e,t){return e.map(e=>{if(e.id!==t||e.optimistic!==!0)return e;let n={...e};return delete n.optimistic,n})}function Ef(e,t){let n=e.findIndex(Xo);if(n===-1)return[...e,{type:`text`,text:t}];let r=e[n];if(!r||!Xo(r))return e;let i=[...e];return i[n]={type:`text`,text:`${r.text}${t}`},i}function Df(e,t){let n=e.findIndex(e=>Qo(e)&&e.toolCallId===t.toolCallId&&e.type===t.type);if(n===-1){let n=e.findIndex(Xo);return n===-1?[...e,t]:[...e.slice(0,n),t,...e.slice(n)]}let r=e[n],i=[...e];return i[n]=r&&Qo(r)?{...r,...t}:t,i}function Of(e,t){let n=e.findIndex(e=>Zo(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&&Zo(r)?{...r,...t}:t,i}function kf({messageId:e,presentation:t}){return{type:`tool-FleetReasoning`,toolCallId:`${e}-reasoning`,state:t.streaming?`input-streaming`:`output-available`,input:t}}function Af(e,t,n){return e.map(e=>e.id===t?{...e,parts:Ef(e.parts,n)}:e)}function jf(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 Mf(e,t,n){return e.map(e=>e.id===t?{...e,parts:Df(e.parts,n)}:e)}function Nf(e,t,n){return e.map(e=>e.id===t?{...e,parts:Of(e.parts,n)}:e)}function Pf(e,t,n){return Mf(e,t,kf({messageId:t,presentation:n}))}function Ff(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 If(e){return e.parts.filter(e=>e.type===`text`).map(e=>e.text).join(``)}var Lf=`/api/chat/command`,Rf=`MCP usage: /mcp, /mcp list, /mcp login <name>, /mcp logout <name>.`;function zf(e){return e.sessionId?.trim()||void 0}function Bf({sessionId:e,name:t}){let n=e.trim()||`none`;return[t?`Session: ${t}`:`Session`,` id: ${n}`].join(`
|
|
9
|
-
`)}function Vf(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 Hf(e){let{entry:t}=e;if(t.type===`message`&&t.message){let e=t.message.role??`message`,n=Vf(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 Uf(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} ${Hf(a)}`),r(a.children,i+1)}};return r(e,0),n}function Wf(e,t){let n=Uf(e,t);return n.length>0?n.join(`
|
|
10
|
-
`):`(empty session tree)`}function Gf(e){let t=[],n=[],r=e=>{for(let i of e){if(i.entry.type===`message`){let e={id:i.entry.id,preview:Hf(i)};t.push(e),i.entry.message?.role===`user`&&n.push(e)}r(i.children)}};return r(e),n.length>0?n:t}function Kf(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n?.role!==`assistant`||n.source===`local`)continue;let r=If(n).trim();if(r)return r}}function qf(e){return e.flatMap(e=>{if(e.source===`local`)return[];let t=If(e).trim(),n=`**${e.role}**\n\n${t}`;return n.trim().length>0?[n]:[]}).join(`
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
`)}function Jf({appendLocalMessage:e,getMessages:t,getSessionMetadata:n,modelKey:r,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 _=i(),v=(0,Z.useCallback)(async(e,t=``)=>{let r=zf(n());if(!r)return{ok:!1,error:`No active session — start a new one first.`};try{let n=await fetch(Lf,{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,Z.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(gr.success(r(a)),a.newSessionId!==`?`){await l({sessionId:a.newSessionId});return}e(r(a))},[e,l]),b=(0,Z.useCallback)(i=>{switch(i.type){case`open-model-picker`:return i.modelKey&&a.some(e=>e.id===i.modelKey)?(f(i.modelKey),gr.success(`Model set to ${i.modelKey}`),!0):(d(!1),p(!0),!0);case`open-effort-picker`:return i.unknownLevel&&gr.error(`Unknown thinking level '${i.unknownLevel}'.`),p(!1),d(!0),!0;case`set-thinking-level`:{let e=a.find(e=>e.id===r),t=Wn(e);return t.includes(i.level)?(m(i.level),gr.success(`Effort set to ${Hn(i.level)}`),!0):(gr.error(`Unknown thinking level '${i.level}'. Available: ${t.join(`, `)}`),p(!1),d(!0),!0)}case`open-settings`:return s(i.tab),!0;case`new-session`:return Qu(async()=>h()),!0;case`openui-request`:return i.request?(c(i.request),!0):(e(`Usage: /openui <request>`),!0);case`session-info`:return(async()=>{let t=zf(n()),r=await v(`session`);if(!r.ok||!t){e(Bf({sessionId:t??`none`,name:null}));return}e(Bf({sessionId:t,name:typeof r.payload.name==`string`?r.payload.name:null}))})(),!0;case`session-rename`:return i.name?((async()=>{let t=await v(`name`,i.name??``);e(t.ok?`Session renamed to "${i.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`,i.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 i.args?(y(v(`fork`,i.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)?Gf(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`,i.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(Wf(n.tree,n.leafId??null))})(),!0;case`session-share`:return(async()=>{let n=qf(t());if(!n.trim()){e(`Nothing to share yet.`);return}await navigator.clipboard.writeText(n),gr.success(`Transcript copied`),e(`Copied the transcript to the clipboard. GitHub Gist upload is TUI-only in this port.`)})().catch(e=>{gr.error(`Share failed: ${e instanceof Error?e.message:String(e)}`)}),!0;case`session-import`:return e(i.path?`/import ${i.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(i.question?`/btw is not wired in the web port. Side question was not sent:\n${i.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(`
|
|
15
|
-
`)}`),!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=i.args.trim().split(/\s+/).filter(Boolean),n=t[0],r=t.slice(1).join(` `);return!n||n===`list`||(n===`login`||n===`reconnect`)&&!r?!0:(n===`login`||n===`reconnect`)&&r?(e(`Open Settings → MCP and sign in to "${r}".`),!0):n===`logout`&&r?((async()=>{try{let t=await rd.mcpOAuth({name:r,action:`logout`});t.connections&&_.setQueryData(id.mcp,{connections:t.connections}),_.invalidateQueries({queryKey:[`chat`,`resources`]}),e(`Signed out of MCP connection "${r}".`)}catch(t){e(t instanceof Error?t.message:`Could not sign out of "${r}".`)}})(),!0):(e(Rf),!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=Kf(t());if(!e){gr.error(`No assistant message to copy`);return}await navigator.clipboard.writeText(e),gr.success(`Last assistant message copied`)})().catch(e=>{gr.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,r,a,o,s,c,_,u,d,f,p,m,h]),x=(0,Z.useCallback)(e=>{if(Yd(e))return!1;let t=Gd(e.id);return t?b(t):!1},[b]),S=(0,Z.useCallback)(e=>{let t=Ud(e);if(t){let e=Gd(t.command,t.args);return e?b(e):!1}let n=g?.(e);if(!n?.command)return!1;let r=Hd(n.command);return r?b(r):!1},[b,g]);return{applyLocalSlashAction:b,forkFromEntry:(0,Z.useCallback)(e=>{y(v(`fork`,e),`Fork`,e=>`Forked → session ${e.newSessionId}. Selected text: ${e.selectedText}`)},[v,y]),handleLocalSlashSubmit:S,handleSlashCommandSelect:x}}var Yf={steering:[],followUp:[]};function Xf(e){let t=e.sessionId?.trim()||void 0,n=e.projectId?.trim()||void 0;return t||n?{...t?{sessionId:t}:{},...n?{projectId:n}:{}}:{}}function Zf(e,t){let n=t.sessionId?.trim()||e.sessionId,r=t.projectId?.trim()||e.projectId;return{...n?{sessionId:n}:{},...r?{projectId:r}:{}}}function Qf(e){return(e.parts??[]).some(e=>e.type!==`text`||typeof e.text==`string`&&e.text.trim().length>0)}function $f(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,Sf(`assistant`,``,t)]}}}function ep(e,t){return e.some(e=>e.id===t.id)?e.map(e=>e.id===t.id?t:e):[...e,t]}function tp(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 np(e,t,n){if(!Qf(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=>Qf(e));if(r)return ep(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 rp(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:Yf,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=$f(e,t.message.id);return{assistantId:n.assistantId,snapshot:{...n.snapshot,messages:np(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,Sf(`assistant`,``,t.id)],sessionMetadata:Zf(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`?$f(e,t.messageId):e,{assistantId:r,snapshot:i}=n;if(t.type===`reasoning_text`&&r)return{assistantId:r,snapshot:{...i,messages:jf(i.messages,r,t)}};if(t.type===`delta`&&r)return{assistantId:r,snapshot:{...i,messages:Af(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:Pf(i.messages,r,t.presentation)}};if(t.type===`tool`&&r)return{assistantId:r,snapshot:{...i,messages:Mf(i.messages,r,t.part)}};if(t.type===`payload`&&r)return{assistantId:r,snapshot:{...i,messages:Nf(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:Xu(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=Ff(t.message),n=tp(i.messages,e,r),a=np(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=>Ff(e)),queue:Yf,presentation:o,sessionMetadata:Zf(i.sessionMetadata,{sessionId:t.sessionId})}}}return n}var ip=`plan-mode-decision`;function ap(e,t){return{enabled:e.mode===`plan`,executing:e.executing,todos:e.todos.map(e=>({...e})),pendingDecision:e.pendingDecision,pendingDecisionToolCallId:e.pendingDecision?`${ip}-${t}`:void 0}}function op(e,t){return sp(e,ap(t,e))}function sp(e,t){if(t.todos.length===0)return;let n=lp(t),r=t.pendingDecision?`awaiting_approval`:n.total>0&&n.completed===n.total?`completed`:`approved`;return{type:`tool-PlanWrite`,toolCallId:t.pendingDecisionToolCallId??`${ip}-${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:up(t),status:r,todos:n.todos}}}}function cp(e){return!!e?.startsWith(ip)}function lp(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 up(e){let t=lp(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(`
|
|
16
|
-
`)}function dp(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?op(e.id,t.state):void 0;return r?{...e,parts:Df(e.parts,r)}:e})}function fp(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 pp(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 mp(e,t,n){if(!cp(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:pp(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 hp(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 gp(e){e.setSessionMetadataSynced({}),e.setMessagesSynced([]),e.setQueueSynced(Yf),e.setActivityLabelSynced(void 0),e.setPlanLabelSynced(void 0),e.setPresentationSynced({revision:0,userBash:[],rlmChildren:[],refinements:[],artifactRuns:[]}),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 _p(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`),Zu(t)}return!0}async function vp(e,t,n){return _p(e,Hu,t,n)}async function yp(e,t,n){return _p(e,Uu,t,n)}function bp({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,Z.useEffect)(()=>{if(n.current)return;n.current=!0;let p=new AbortController,m=!1;f(`ready`),o(null),u(Yf),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(dp(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 vp(e,r,t)||await yp(e,r,t)||p.signal.aborted)return;let n=e instanceof Error?e:Error(String(e));o(n),f(`error`),Zu(n)}).finally(()=>{m=!0}),()=>{p.abort(),m||(n.current=!1)}},[e,t,n,r,i,a,o,s,c,l,u,d,f])}function xp({client:e,presentationRef:t,sessionId:n,sessionMetadataRef:r,setActivityLabelSynced:i,setAdapterCapabilities:a,setMessagesSynced:o,setPresentationSynced:s,setQueueSynced:c,setSessionMetadataSynced:l,statusRef:u}){(0,Z.useEffect)(()=>{if(!n||typeof window>`u`)return;let d=`pi:sse:last-event-id:${n}`,f={current:void 0},p,m=0,h=kr(d,`session`);if(h){if(h.startsWith(`{`))try{let e=JSON.parse(h);typeof e.generation==`string`&&e.generation.length>0&&(p=e.generation),typeof e.lastEventId==`number`&&Number.isInteger(e.lastEventId)&&e.lastEventId>0&&(m=e.lastEventId)}catch{m=0}else{let e=Number.parseInt(h,10);!Number.isNaN(e)&&e>0&&(m=e)}}let g=(e,t=p)=>{m=e,p=t,t?Or(d,JSON.stringify({generation:t,lastEventId:e}),`session`):Or(d,String(e),`session`)},_=null,v=null,y=0,b=!1,x=0,S=!1,C,w=(d,h)=>{let _;try{_=JSON.parse(d.data)}catch{return}_.type===`start`&&(C=_.id),_.type===`done`&&(C=void 0);let v=u.current;if(_.type===`presentation`){_.presentation.revision>(t.current?.revision??-1)&&s(_.presentation);return}if(_.type===`rlm`){if(!Number.isNaN(h)&&h>0){if(h<=x)return;x=h}let e=t.current,n=e.rlmChildren.find(e=>e.id===_.child.id);if(n&&n.timestamp>_.child.timestamp)return;s({...e,rlmChildren:[...e.rlmChildren.filter(e=>e.id!==_.child.id),_.child],..._.tree?{rlmTree:_.tree}:{}});return}if(_.type===`tool`&&_.part?.type===`tool-Question`){o(e=>{let t=_.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=_.messageId?e.findIndex(e=>e.id===_.messageId&&e.role===`assistant`):-1;if(r<0&&C&&(r=e.findIndex(e=>e.id===C&&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=_.part.state===`input-streaming`?t>=0?t:i:i>=0?i:t}let i={..._.part,type:`tool-Question`};return r<0?[...e,{id:_.messageId??crypto.randomUUID(),role:`assistant`,parts:[i],createdAt:new Date().toISOString()}]:e.flatMap((e,a)=>{if(a===r)return[{...e,parts:Df(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}let y=_;if(y.type===`connected`){f.current=y.adapterCapabilities,a(y.adapterCapabilities),typeof y.streamGeneration==`string`&&y.streamGeneration.length>0&&(p=y.streamGeneration),y.cursorReset?(x=0,g(0,p)):p&&m>0&&g(m,p);return}if(u.current!==`streaming`&&u.current!==`submitted`){if(_.type===`reasoning_text`&&_.messageId){let e=_.messageId;o(t=>jf(t.some(t=>t.id===e)?t:[...t,Sf(`assistant`,``,e)],e,_));return}if(_.type===`reasoning`){let e=_.messageId;if(!f.current?.features.includes(`reasoning-summary-v1`)||!e)return;o(t=>Pf(t,e,_.presentation));return}if(_.type===`state`){if(i(_.state?.name===`agent_settled`||_.state?.message===`resync-required`?void 0:typeof _.state?.message==`string`?_.state.message:void 0),_.state?.name===`agent_settled`){if(v===`streaming`||v===`submitted`)return;let t=r.current.sessionId;e.loadSession({sessionId:n}).then(e=>{S||r.current.sessionId!==n||r.current.sessionId===t&&u.current!==`streaming`&&u.current!==`submitted`&&(o(dp(e.messages,e.planPresentations)),s(e.presentation),l(e.session),c(Yf))}).catch(()=>void 0)}return}_.type===`queue`&&c({steering:_.steering,followUp:_.followUp})}},T=()=>{let e=new URLSearchParams({sessionId:n});p&&e.set(`streamGeneration`,p),m>0&&e.set(`lastEventId`,String(m)),_?.close();let t=new EventSource(Lu(`/api/chat/events?${e}`));_=t,t.onmessage=e=>{if(S||_!==t)return;let n=Number.parseInt(e.lastEventId??``,10);!Number.isNaN(n)&&n>0&&g(n,p),y>0&&(y=0,b&&(b=!1,u.current!==`streaming`&&u.current!==`submitted`&&i(void 0))),w(e,n)},t.onerror=()=>{S||_!==t||(t.close(),y+=1,y>1&&u.current!==`streaming`&&u.current!==`submitted`&&(b=!0,i(y>2?`Reconnecting… (attempt ${y})`:`Reconnecting…`)),v&&clearTimeout(v),v=setTimeout(T,Math.min(2e3,250*2**Math.min(y,3))))}};return T(),()=>{S=!0,_?.close(),v&&clearTimeout(v)}},[e,t,n,r,i,a,o,s,c,l,u])}function Sp(){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))}}}var Cp=Promise.resolve();function wp({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:h,setPresentationSynced:g,setPlanLabelSynced:_,setQueueSynced:v,setSessionMetadataSynced:y,setStatus:b,status:x}){let S=(0,Z.useRef)(null),C=(0,Z.useRef)(new Set),w=(0,Z.useRef)(Cp),T=(0,Z.useRef)(void 0),E=(0,Z.useRef)(o);(0,Z.useEffect)(()=>{E.current=o},[o]);let D=(0,Z.useCallback)(e=>{for(let t of C.current)if(t.sessionId===e)return t},[]),O=(0,Z.useCallback)(e=>{for(let t of[...C.current])t.sessionId===e&&(C.current.delete(t),t.reject(Error(`Chat stream stopped before admission`)))},[]),k=(0,Z.useCallback)(e=>{T.current=e},[]),A=(0,Z.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&&h(dp(n.messages,n.planPresentations)),g(n.presentation),y(n.session),v({steering:[],followUp:[]}),_(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,h,_,g,v,y]),j=(0,Z.useCallback)(async e=>{if(e?.aborted)throw Error(`Session creation was aborted`);let n=d.current;if(n.sessionId)return n;let r=S.current;if(r)return r;let i=t.createSession(E.current,e).then(t=>{if(e?.aborted)throw Error(`Session creation was aborted`);return y(t.session),g(t.presentation),d.current=t.session,u(),t.session}).finally(()=>{S.current===i&&(S.current=null)});return S.current=i,i},[t,u,d,g,y]),M=(0,Z.useCallback)((t,i,a,o)=>{if(t.type===`error`)throw Gu(t);if(t.type===`done`&&t.sessionReset){a!==d.current.sessionId&&u();return}if(t.type===`start`){let e=D(a);e&&(C.current.delete(e),e.resolve())}if(a!==d.current.sessionId){t.type===`done`&&u();return}let l=rp({assistantId:i.current,snapshot:{adapterCapabilities:T.current,activityLabel:e.current,messages:n.current,presentation:r.current,planLabel:s.current,queue:c.current,sessionMetadata:d.current}},t);i.current=l.assistantId,T.current=l.snapshot.adapterCapabilities,h(l.snapshot.messages),l.snapshot.presentation&&g(l.snapshot.presentation),y(l.snapshot.sessionMetadata),v(l.snapshot.queue),p(l.snapshot.activityLabel),_(l.snapshot.planLabel),t.type===`start`&&b(`streaming`),t.type===`done`&&(b(`ready`),u())},[e,D,n,r,s,c,u,d,p,h,g,_,v,y,b]),N=(0,Z.useCallback)(async(e,n=`steer`,r)=>{let a=d.current.sessionId??(await j()).sessionId;if(!a)throw Error(`Unable to queue a message without a session`);let o=Cf(e);h(e=>[...e,o]),m(null);let s=w.current,c=Sp(),l=s.catch(()=>void 0).then(async()=>{try{await D(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;h(t=>Tf(t.some(t=>t.id===e.message.id)?t:[...t,e.message],o.id));return}if(e.type===`queue`&&(c.resolve(),v({steering:e.steering,followUp:e.followUp}),p(n===`steer`?`Steered`:`Follow-up queued`)),e.type===`error`)throw Gu(e)}),c.resolve()}catch(e){throw c.reject(e),h(e=>wf(e,o.id)),e}try{await u()}catch{}});w.current=c.promise.catch(()=>void 0),await l},[t,j,D,i,u,d,p,m,h,v]);return{enqueueDuringStream:N,handleStreamEvent:M,resetStreamAdmission:O,sendMessage:(0,Z.useCallback)(async({text:e,attachments:n,openUI:r,openUIArtifact:o,planAction:s,mode:c,altKey:g})=>{let _=e.trim();if(!_)return!1;if(x===`submitted`||x===`streaming`||D(d.current.sessionId)!==void 0)try{return await N(_,g?`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),Zu(t),!1}m(null),p(void 0),b(`submitted`);let v=Cf(_);h(e=>[...e,v]);let y={current:null},S=Sp();S.sessionId=d.current.sessionId,C.current.add(S);let w=new AbortController;a.current=w;let T,E=!1;try{let e=await j(w.signal);if(w.signal.aborted)return!1;let a=e.sessionId;if(!a)throw Error(`Unable to start a session stream`);T=a,S.sessionId=a,f.current.set(a,w),await t.streamMessage({message:_,attachments:n,openUI:r,openUIArtifact:o,model:i,planAction:s,mode:c,sessionId:a,streamingBehavior:g?`followUp`:`steer`},e=>{e.type===`done`&&!e.sessionReset&&(E=!0),M(e,y,a,c),e.type===`done`&&e.requestKind===`session-command`&&d.current.sessionId===a&&h(e=>Tf(e,v.id))},w.signal);let l=!1;try{l=await A(a)}catch{}return d.current.sessionId===a&&(E||!l)&&b(`ready`),!0}catch(e){if(C.current.delete(S)&&S.reject(e),h(e=>wf(e,v.id)),w.signal.aborted)return!1;if(T&&d.current.sessionId!==T)return u(),!1;let t={setError:m,setStatus:b};if(await vp(e,l,t)||await yp(e,l,t))return!1;let n=e instanceof Error?e:Error(String(e));return m(n),b(`error`),Zu(n),!1}finally{C.current.delete(S)&&S.reject(Error(`Chat stream ended before admission`)),w.signal.aborted&&h(e=>wf(e,v.id)),a.current===w&&(a.current=null),T&&w&&f.current.get(T)===w&&f.current.delete(T)}},[t,j,N,D,M,A,i,a,u,l,d,p,m,h,b,f,x]),setAdapterCapabilities:k}}function Tp(e,t){let{client:n=rd,initialSessionMetadata:r,persistSession:i,projectId:a}=t,[o,s]=(0,Z.useState)([]),[c,l]=(0,Z.useState)(`ready`),[u,d]=(0,Z.useState)(null),[f,p]=(0,Z.useState)(()=>r),[m,h]=(0,Z.useState)([]),[g,_]=(0,Z.useState)(),[v,y]=(0,Z.useState)(),[b,x]=(0,Z.useState)(Yf),[S,C]=(0,Z.useState)(()=>({revision:0,userBash:[],rlmChildren:[],refinements:[],artifactRuns:[]})),w=(0,Z.useRef)(r),T=(0,Z.useRef)(a),E=(0,Z.useRef)(o),D=(0,Z.useRef)(f),O=(0,Z.useRef)(g),k=(0,Z.useRef)(v),A=(0,Z.useRef)(b),j=(0,Z.useRef)(0),M=(0,Z.useRef)(null),N=(0,Z.useRef)(S),P=(0,Z.useRef)(null),F=(0,Z.useRef)(new Map),I=(0,Z.useRef)(null),L=(0,Z.useRef)(0),R=(0,Z.useRef)(c),ee=(0,Z.useRef)(!1),z=(0,Z.useRef)(()=>Promise.resolve(!1)),B=(0,Z.useCallback)(e=>{let t=typeof e==`function`?e(E.current):e;E.current=t,s(t)},[]),te=(0,Z.useCallback)(e=>{B(t=>[...t,{id:crypto.randomUUID(),role:`assistant`,source:`local`,createdAt:Date.now(),parts:[{type:`text`,text:e}]}])},[B]),V=(0,Z.useCallback)(e=>{let t=D.current,n=Xf(e);(t.sessionId!==n.sessionId||t.projectId!==n.projectId)&&(j.current+=1,D.current=n,p(n),i(n))},[i]),H=(0,Z.useCallback)(e=>{O.current=e,_(e)},[]),ne=(0,Z.useCallback)(e=>{k.current=e,y(e)},[]),U=(0,Z.useCallback)(e=>{j.current+=1,A.current=e,x(e)},[]),re=(0,Z.useCallback)(()=>{j.current+=1},[]),W=(0,Z.useCallback)(e=>{N.current=e,C(e)},[]),ie=(0,Z.useCallback)(async e=>{let t=D.current.sessionId;if(!t)return;let r=await n.upsertOpenUIArtifact({sessionId:t,...e});return D.current.sessionId===t&&W(r.presentation),r.artifact.id},[n,W]);(0,Z.useEffect)(()=>{T.current=a},[a]);let G=(0,Z.useCallback)(async()=>{let e=I.current;if(e)return e;let t=n.listSessions().then(e=>(h(e),e));I.current=t;try{return await t}finally{I.current===t&&(I.current=null)}},[n]),ae=(0,Z.useCallback)(e=>gp({client:n,projectId:e??T.current,refreshSessions:G,setActivityLabelSynced:H,setError:d,setMessagesSynced:B,setPlanLabelSynced:ne,setPresentationSynced:W,setQueueSynced:U,setSessionMetadataSynced:V,setStatus:l}),[n,G,H,B,ne,W,U,V]),oe=(0,Z.useCallback)(async({toolCallId:e,answer:t})=>{if(cp(e)){let r=mp(E.current,e,t);B(r);let i=fp(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 z.current({text:`Execute the approved plan.`,mode:`agent`,planAction:`execute`,openUI:!0});let t=fp(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&&B(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 z.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 z.current({text:r.message,planAction:r.planAction}),r},[n,B]),se=(0,Z.useCallback)(e=>hp(e,oe),[oe]);(0,Z.useEffect)(()=>{D.current=f},[f]),(0,Z.useEffect)(()=>{R.current=c},[c]),(0,Z.useEffect)(()=>{w.current=r},[r]),(0,Z.useEffect)(()=>{let e=F.current;return()=>{P.current?.abort(),P.current=null;for(let t of e.values())t.abort();e.clear()}},[]),bp({client:n,initialSessionMetadataRef:w,initializedRef:ee,recoverFromForbiddenSession:ae,refreshSessions:G,setActivityLabelSynced:H,setError:d,setMessagesSynced:B,setPlanLabelSynced:ne,setPresentationSynced:W,setQueueSynced:U,setSessionMetadataSynced:V,setStatus:l});let{resetStreamAdmission:K,sendMessage:ce,setAdapterCapabilities:le}=wp({activityLabelRef:O,client:n,messagesRef:E,presentationRef:N,model:e,pendingSendControllerRef:P,projectId:a,planLabelRef:k,queueRef:A,recoverFromForbiddenSession:ae,refreshSessions:G,sessionMetadataRef:D,setActivityLabelSynced:H,setError:d,setMessagesSynced:B,setPresentationSynced:W,setPlanLabelSynced:ne,setQueueSynced:U,setSessionMetadataSynced:V,setStatus:l,streamControllersRef:F,status:c}),ue=(0,Z.useCallback)(()=>{let e=D.current;K(e.sessionId),P.current?.abort(),P.current=null,e.sessionId&&n.abortSession(e).catch(()=>void 0),e.sessionId&&(F.current.get(e.sessionId)?.abort(),F.current.delete(e.sessionId)),re(),l(`ready`),U(Yf),H(void 0)},[n,re,K,H,U]),de=(0,Z.useCallback)((e,t,r,i,a)=>{let o=D.current.sessionId,s=j.current,c=(e===`steering`?A.current.steering:A.current.followUp).filter(e=>e===r).length,l=(M.current??Promise.resolve()).catch(()=>void 0).then(async()=>{if(!o||D.current.sessionId!==o)return!1;let l=e=>(!e&&a?.staleMessage&&Zu(Error(a.staleMessage)),!1),u=A.current,d=e===`steering`?u.steering:u.followUp,f;if(j.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(j.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)};U(p);let m=j.current;try{let t=await n.mutateQueuedMessage({sessionId:o,lane:e,index:f,expectedText:r,mutation:i});return D.current.sessionId!==o||j.current!==m||U(t.queue),t.status===`applied`}catch(e){throw D.current.sessionId===o&&j.current===m&&A.current===p&&U(u),e}});return M.current=l.then(()=>void 0,()=>void 0),l},[n,U]),fe=(0,Z.useCallback)((e,t,n)=>de(e,t,n,{type:`delete`},{staleMessage:`The queued message changed before it could be deleted.`}),[de]),pe=(0,Z.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]),q=(0,Z.useCallback)(async e=>{let t=L.current+1;L.current=t;let r=()=>L.current===t;e?.preserveRunning===!1?ue():(re(),l(`ready`));let i=await n.createSession(e?.projectId??T.current??a);r()&&(V(i.session),B([]),W(i.presentation),U(Yf),H(void 0),ne(void 0),gr.success(`New session started`),await G())},[n,G,H,B,W,ne,U,V,re,ue,a]),me=(0,Z.useCallback)(async(e,t)=>{let r=L.current+1;L.current=r;let i=()=>L.current===r;re();try{t?.preserveRunning===!1&&ue();let r=await n.resumeSession(e);return!(!i()||(V(r.session),B(dp(r.messages,r.planPresentations)),W(r.presentation),U(Yf),H(r.sessionReset?`Started a fresh Pi session`:void 0),ne(void 0),l(F.current.has(r.session.sessionId??``)?`streaming`:`ready`),await G(),!i()))}catch(t){if(!i())return!1;let n={setError:d,setStatus:l},r=()=>ae(e.projectId),a=await vp(t,r,n)||await yp(t,r,n);if(!i()||a)return!1;let o=t instanceof Error?t:Error(String(t));return d(o),l(`error`),Zu(o),!1}},[n,ae,G,H,B,W,ne,U,V,re,ue]),he=(0,Z.useCallback)(async(e,t)=>t?me({sessionId:t,projectId:e},{preserveRunning:!0}):(re(),V({projectId:e}),B([]),W({revision:0,userBash:[],rlmChildren:[],refinements:[],artifactRuns:[]}),U(Yf),H(void 0),ne(void 0),l(`ready`),!0),[me,H,B,ne,W,U,V,re]);(0,Z.useEffect)(()=>{z.current=ce},[ce]),xp({client:n,presentationRef:N,sessionId:f.sessionId,sessionMetadataRef:D,setActivityLabelSynced:H,setAdapterCapabilities:le,setMessagesSynced:B,setPresentationSynced:W,setQueueSynced:U,setSessionMetadataSynced:V,statusRef:R});let ge=(0,Z.useMemo)(()=>se(o),[o,se]),_e=(0,Z.useCallback)(async(e,t)=>{try{return await n.renameSession(e,t),await G(),!0}catch(e){return Zu(e),!1}},[n,G]),ve=(0,Z.useCallback)(async e=>{D.current.sessionId===e&&ue();try{await n.deleteSession(e)}catch(e){return Zu(e),!1}return D.current.sessionId===e&&(V({}),B([]),W({revision:0,userBash:[],rlmChildren:[],refinements:[],artifactRuns:[]})),await G(),!0},[n,G,B,W,V,ue]),ye=oe,be=(0,Z.useCallback)(()=>D.current,[]);return{activityLabel:g,answerQuestion:ye,appendLocalMessage:te,deleteQueuedMessage:fe,editQueuedMessage:pe,deleteSession:ve,error:u,getMessages:(0,Z.useCallback)(()=>E.current,[]),getSessionMetadata:be,messages:ge,planLabel:v,presentation:S,persistOpenUIArtifact:ie,queue:b,renameSession:_e,refreshSessions:G,resumeSession:me,sendMessage:ce,sessionMetadata:f,sessions:m,setError:d,startNewSession:q,status:c,stop:ue,switchProject:he}}function Ep(e){let t=window.matchMedia(Fn);return t.addEventListener(`change`,e),()=>t.removeEventListener(`change`,e)}function Dp(){return window.matchMedia(Fn).matches}function Op(){return!1}function kp(){return(0,Z.useSyncExternalStore)(Ep,Dp,Op)}var Ap=`b`,jp={duration:.36,ease:pe},Mp={type:`spring`,stiffness:380,damping:35,mass:.75},Np={duration:.16,ease:de},Pp=[`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex='-1'])`].join(`,`),Fp=(0,Z.createContext)(null),Ip=(0,Z.createContext)(null);function Lp(){let e=(0,Z.useContext)(Fp);if(!e)throw Error(`useAnimatedSidebar must be used inside AnimatedSidebarProvider.`);return e}function Rp(){let e=(0,Z.useContext)(Ip);if(!e)throw Error(`Animated Sidebar parts must be used inside AnimatedSidebar.`);return e}function zp({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,Z.useState)(n),[f,p]=(0,Z.useState)(a),m=kp(),h=he()??!1,g=(0,Z.useId)(),_=(0,Z.useRef)(null),v=t??u,y=i??f,b=(0,Z.useCallback)(e=>{t===void 0&&d(e),r?.(e)},[r,t]),x=(0,Z.useCallback)(e=>{i===void 0&&p(e),o?.(e)},[o,i]),S=(0,Z.useCallback)(()=>{m?x(!y):b(!v)},[v,m,y,b,x]),C=(0,Z.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,Z.useEffect)(()=>{let e=e=>{e.key.toLowerCase()===Ap&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),S())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[S]),(0,Q.jsx)(Fp.Provider,{value:C,children:(0,Q.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:G(`group/sidebar-wrapper flex min-h-svh w-full min-w-0`,s),children:e})})}function Bp({children:e,className:t,sidebarWidth:n=On,style:r,...i}){return(0,Q.jsx)(zp,{...i,style:{...r,"--sidebar-width":n},className:G(`min-h-0 w-full overflow-hidden rounded-2xl border border-border bg-background`,t),children:e})}function Vp({ariaLabel:e,children:t,className:n,side:r}){let i=Lp(),a=(0,Z.useRef)(null),[o,s]=(0,Z.useState)(!1),c=(0,Z.useMemo)(()=>({collapsed:!1,collapsible:`none`,side:r}),[r]);return(0,Z.useEffect)(()=>s(!0),[]),(0,Z.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(Pp)??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,ao.createPortal)((0,Q.jsxs)(`div`,{className:G(`pointer-events-none fixed inset-0 z-50 md:hidden`,i.openMobile?`visible`:`invisible`),children:[(0,Q.jsx)(q.button,{type:`button`,"aria-label":`Close sidebar`,tabIndex:i.openMobile?0:-1,initial:!1,animate:{opacity:+!!i.openMobile},transition:i.reduce?Np:jp,onClick:()=>i.setOpenMobile(!1),className:G(`absolute inset-0 bg-black/40`,i.openMobile?`pointer-events-auto`:`pointer-events-none`)}),(0,Q.jsx)(q.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?Np:jp,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(Pp)):[];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:G(`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,Q.jsx)(Ip.Provider,{value:c,children:t})})]}),document.body):null}var Hp=(0,Z.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=Lp(),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,Z.useMemo)(()=>({collapsed:d,collapsible:n,side:e}),[d,n,e]);return u.isMobile?(0,Q.jsx)(Vp,{ariaLabel:r,className:a,side:e,children:i}):(0,Q.jsx)(q.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}:Mp,layout:`size`,style:{...s,width:m},className:G(`group/sidebar relative hidden h-auto shrink-0 md:block will-change-transform`,`peer`,e===`right`&&`order-last`,a),children:(0,Q.jsx)(q.div,{initial:!1,animate:{opacity:+!f,x:f?e===`left`?`-120%`:`120%`:`0%`},transition:u.reduce?Np:jp,className:G(`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,Q.jsx)(Ip.Provider,{value:h,children:i})})})}),Up=(0,Z.forwardRef)(function({className:e,onClick:t,type:n=`button`,...r},i){let a=Lp(),o=a.isMobile?a.openMobile:a.open;return(0,Q.jsx)(Tr,{...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:G(`focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background`,e)})}),Wp=(0,Z.forwardRef)(function({className:e,onClick:t,type:n=`button`,...r},i){let a=Lp(),o=Rp();return(0,Q.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:G(`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)})}),Gp=(0,Z.forwardRef)(function({className:e,...t},n){return(0,Q.jsx)(q.main,{...t,ref:n,"data-slot":`sidebar-inset`,className:G(`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)})}),Kp=(0,Z.forwardRef)(function({className:e,...t},n){return(0,Q.jsx)(`div`,{...t,ref:n,"data-slot":`sidebar-header`,className:G(`flex shrink-0 flex-col gap-2 p-3`,e)})}),qp=(0,Z.forwardRef)(function({className:e,...t},n){return(0,Q.jsx)(`div`,{...t,ref:n,"data-slot":`sidebar-content`,className:G(`flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto overflow-x-hidden overscroll-contain px-2 py-2`,e)})}),Jp=(0,Z.forwardRef)(function({className:e,...t},n){return(0,Q.jsx)(`div`,{...t,ref:n,"data-slot":`sidebar-footer`,className:G(`flex shrink-0 flex-col gap-2 border-border border-t p-3 pb-[max(0.75rem,env(safe-area-inset-bottom))]`,e)})}),Yp=(0,Z.forwardRef)(function({className:e,...t},n){return(0,Q.jsx)(`div`,{...t,ref:n,"data-slot":`sidebar-group`,className:G(`flex w-full min-w-0 flex-col px-1 py-1.5`,e)})}),Xp=(0,Z.forwardRef)(function({children:e,className:t,...n},r){let{collapsed:i}=Rp();return(0,Q.jsx)(`div`,{...n,ref:r,"aria-hidden":i,"data-slot":`sidebar-group-label`,className:G(`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})}),Zp=(0,Z.forwardRef)(function({className:e,...t},n){return(0,Q.jsx)(`div`,{...t,ref:n,"data-slot":`sidebar-group-content`,className:G(`w-full min-w-0`,e)})});function Qp({active:e=!1,ariaLabel:t,className:n,title:r,...i}){return(0,Q.jsx)(Tr,{...i,type:`button`,variant:`ghost`,size:`compact`,className:G(Ji,e?Zi:Gi,n),"aria-label":t,title:r??t})}var $p=Z.createContext(void 0);function em(){let e=Z.useContext($p);if(e===void 0)throw Error(De(64));return e}var tm=`data-activation-direction`,nm={tabActivationDirection:e=>({[tm]:e})},rm=Z.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=Z.useRef([]),[f,p]=Z.useState(()=>new Map),[m,h]=Vi({controlled:s,default:r,name:`Tabs`,state:`value`}),g=s!==void 0,[_,v]=Z.useState(()=>new Map),y=Z.useRef(void 0),b=Z.useCallback(e=>im(_,e),[_]),[x,S]=Z.useState(()=>({previousValue:m,tabActivationDirection:`none`})),{previousValue:C,tabActivationDirection:w}=x,T=w,E=!1;C!==m&&(T=am(C,m,a,_),E=C!=null&&m!=null&&b(m)==null);let D=E?C:m,O=C!==D||w!==T;ve(()=>{O&&S({previousValue:D,tabActivationDirection:T})},[D,O,T]);let k=be((e,t)=>{t.activationDirection=am(m,e,a,_),i?.(e,t),!t.isCanceled&&h(e)}),A=be((e,t)=>{i?.(e,He(t,void 0,void 0,{activationDirection:`none`}))}),j=be((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=Z.useCallback(e=>f.get(e),[f]),N=Z.useCallback(e=>{for(let t of _.values())if(e===t.value)return t.id},[_]),P=Z.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=Z.useMemo(()=>{for(let e of _.values())if(e.value===m)return e},[_,m]),I=Z.useMemo(()=>{for(let e of _.values())if(!e.disabled)return e.value},[_]),L=Z.useRef(!u),R=Z.useRef(r),ee=Z.useRef(u),z=Z.useRef(!1);ve(()=>{if(g)return;function e(e,t){h(e),S({previousValue:e,tabActivationDirection:`none`}),A(e,t),L.current=!1}if(_.size===0){z.current&&m!==null&&!y.current?.isConnected&&e(null,Ie);return}z.current=!0,y.current=_.keys().next().value;let t=F?.disabled,n=F==null&&m!==null;if(!t&&m===R.current&&(ee.current=!1),ee.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=Ie;r?i=Fe:t&&(i=Re),e(n,i);return}r&&F!=null&&(A(m,Fe),L.current=!1)},[I,g,A,F,h,_,m]);let B=Ce(`div`,e,{state:{orientation:a,tabActivationDirection:T},ref:t,props:l,stateAttributesMapping:nm});return(0,Q.jsx)($p.Provider,{value:P,children:(0,Q.jsx)(Rt,{elementsRef:d,children:B})})});function im(e,t){for(let[n,r]of e.entries())if(t===r.value)return n;return null}function am(e,t,n,r){if(e==null||t==null)return`none`;let[i,a,o]=n===`horizontal`?[`left`,`left`,`right`]:[`top`,`up`,`down`],s=im(r,e),c=im(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 om=Z.createContext(void 0);function sm(){let e=Z.useContext(om);if(e===void 0)throw Error(De(65));return e}var cm=Z.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}=em(),{activateOnFocus:h,registerTabResizeObserverElement:g,tabsListElement:_}=sm(),{highlightedIndex:v,onHighlightedIndexChange:y}=Ee(),b=Gt(o),{compositeProps:S,compositeRef:C,index:T}=dc({metadata:Z.useMemo(()=>({disabled:r,id:b,value:a}),[r,b,a])}),E=a===u,D=Z.useRef(!1),O=Z.useRef(null),k=be(e=>{O.current?.(),O.current=e?g(e):null});ve(()=>{if(D.current){D.current=!1;return}if(!(E&&T>-1&&v!==T))return;let e=_;if(e!=null){let t=A(x(e));if(t&&w(e,t))return}r||y(T)},[E,T,v,y,r,_]);let{getButtonProps:j,buttonRef:M}=je({disabled:r,native:s,focusableWhenDisabled:!0}),N=d(a),P=Z.useRef(!1),F=Z.useRef(!1);function I(e){f(a,He(Le,e.nativeEvent,void 0,{activationDirection:`none`}))}function L(e){E||r||I(e)}function R(e){E||r||h&&(!P.current||F.current)&&I(e)}function ee(e){if(E||r)return;P.current=!0,F.current=e.button===0;let t=x(e.currentTarget);function n(){P.current=!1,F.current=!1,t.removeEventListener(`pointerup`,n),t.removeEventListener(`pointercancel`,n)}t.addEventListener(`pointerup`,n),t.addEventListener(`pointercancel`,n)}return Ce(`button`,e,{state:{disabled:r,active:E,orientation:p,tabActivationDirection:m},ref:[t,M,C,k],props:[S,{role:`tab`,"aria-controls":N,"aria-selected":E,id:b,onClick:L,onFocus:R,onPointerDown:ee,[uc]:E?``:void 0,onKeyDownCapture(){D.current=!0}},l,j],stateAttributesMapping:nm})}),lm=Z.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}=em(),[d,f]=Z.useState(0),[p,m]=Z.useState(null),h=Z.useRef(new Set),g=Z.useRef(new Set),_=Z.useRef(null);ve(()=>{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=be(e=>(h.current.add(e),()=>{h.current.delete(e)})),y=be(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=Z.useMemo(()=>({activateOnFocus:n,registerIndicatorUpdateListener:v,registerTabResizeObserverElement:y,tabsListElement:p}),[n,v,y,p]);return(0,Q.jsx)(om.Provider,{value:S,children:(0,Q.jsx)(Sc,{render:a,className:r,style:o,state:b,refs:[t,m],props:[x,s],stateAttributesMapping:nm,highlightedIndex:d,enableHomeAndEndKeys:!0,loopFocus:i,orientation:c,onHighlightedIndexChange:f,onMapChange:l,disabledIndices:xe})})});function um({className:e,orientation:t=`horizontal`,...n}){return(0,Q.jsx)(rm,{"data-slot":`tabs`,"data-orientation":t,className:G(`group/tabs flex gap-2 data-horizontal:flex-col`,e),...n})}var dm=Er(`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 fm({className:e,variant:t=`default`,...n}){return(0,Q.jsx)(lm,{"data-slot":`tabs-list`,"data-variant":t,className:G(dm({variant:t}),e),...n})}function pm({className:e,...t}){return(0,Q.jsx)(cm,{"data-slot":`tabs-trigger`,className:G(`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 mm(e,t={}){let{axis:n=`y`}=t,r=(0,Z.useRef)(new Map),i=(0,Z.useRef)(new Map),[a,o]=(0,Z.useState)(null),[s,c]=(0,Z.useState)([]),l=(0,Z.useRef)([]),u=(0,Z.useRef)(null),d=(0,Z.useRef)(null),f=(0,Z.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,Z.useCallback)(()=>{d.current!==null&&cancelAnimationFrame(d.current),d.current=requestAnimationFrame(()=>{d.current=null,f()})},[f]),m=(0,Z.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,Z.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,Z.useCallback)(()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),o(null)},[]);return(0,Z.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,Z.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 hm=`bg-background shadow-sm`,gm=`rounded-full border border-border/70 bg-sidebar p-0.5 shadow-sm backdrop-blur`,_m=`rounded-full`;function vm(e,t){return t?e?`text-foreground/75`:`text-foreground`:e?`text-foreground/55`:`text-muted-foreground`}var ym=(0,Z.createContext)(null);function bm(){let e=(0,Z.useContext)(ym);if(!e)throw Error(`useTabsSubtle must be used within a TabsSubtle`);return e}function xm({selectedRect:e,hoverRect:t,focusRect:n,isHovering:r,isHoveringSelected:i}){let a=he()?{duration:0}:void 0;return(0,Q.jsxs)(Q.Fragment,{children:[e?(0,Q.jsx)(q.div,{className:G(`pointer-events-none absolute`,hm,_m),layout:!0,initial:!1,style:{left:e.left,top:e.top,width:e.width,height:e.height},animate:{opacity:r?.8:1},transition:a??{...ce.moderate.enter,opacity:{duration:.08}}}):null,(0,Q.jsx)(me,{children:t&&!i?(0,Q.jsx)(q.div,{className:G(`pointer-events-none absolute`,hm,_m),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??ce.fast.exit},transition:a??{...ce.fast.enter,opacity:{duration:.08}}}):null}),(0,Q.jsx)(me,{children:n?(0,Q.jsx)(q.div,{className:G(`pointer-events-none absolute z-20 border border-ring`,_m),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??ce.fast.exit},transition:a??{...ce.fast.enter,opacity:{duration:.08}}}):null})]})}var Sm=(0,Z.forwardRef)(({children:e,selectedIndex:t,onSelect:n,idPrefix:r,activeLabel:i=!1,variant:a=`default`,className:o,...s},c)=>{let l=(0,Z.useRef)(null),u=(0,Z.useRef)(!1),d=a===`pill`,{activeIndex:f,setActiveIndex:p,itemRects:m,onMouseMove:h,onMouseLeave:g,registerItem:_}=mm(l,{axis:`x`}),v=(0,Z.useCallback)((e,t)=>{_(e,t)},[_]),y=(0,Z.useCallback)(e=>{u.current=!0,h(e)},[h]),b=(0,Z.useCallback)(()=>{u.current=!1,g()},[g]),[x,S]=(0,Z.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,Z.useMemo)(()=>({registerTab:v,hoveredIndex:f,selectedIndex:t,idPrefix:r,activeLabel:i,variant:a,onSelect:n}),[v,f,t,r,i,a,n]);return(0,Q.jsx)(ym.Provider,{value:O,children:(0,Q.jsx)(um,{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,Q.jsxs)(fm,{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:G(`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?gm:`-mx-1 -my-1 px-1 py-1`,o),...s,children:[(0,Q.jsx)(xm,{selectedRect:C,hoverRect:w,focusRect:T,isHovering:D,isHoveringSelected:E}),e]})})})});Sm.displayName=`TabsSubtle`;var Cm=(0,Z.forwardRef)(({icon:e,label:t,index:n,badge:r,className:i,"aria-label":a,onClick:o,...s},c)=>{let l=(0,Z.useRef)(null),{registerTab:u,hoveredIndex:d,selectedIndex:f,idPrefix:p,activeLabel:m,variant:h,onSelect:g}=bm();(0,Z.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=vm(x,v),C=a??(y&&!b?t:void 0),w=(0,Q.jsxs)(`span`,{className:G(`inline-grid whitespace-nowrap`,x?`text-label font-medium`:`text-title`),children:[(0,Q.jsx)(`span`,{className:`invisible col-start-1 row-start-1 font-[550] [text-box:trim-both_cap_alphabetic]`,"aria-hidden":`true`,children:t}),(0,Q.jsx)(`span`,{className:G(`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,Q.jsxs)(pm,{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:G(`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`,_m,i),...s,onClick:e=>{o?.(e),_&&g(n)},children:[e?(0,Q.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1`,children:[(0,Q.jsx)(e,{"data-icon":`inline-start`,size:x?14:16,strokeWidth:v?2:1.5,className:G(`shrink-0 transition-[color,stroke-width] duration-80`,S)}),r===void 0?null:(0,Q.jsx)(`span`,{className:G(`text-caption tabular-nums transition-colors duration-80`,S),children:r})]}):null,y?null:w,(0,Q.jsx)(me,{initial:!1,children:y&&b?(0,Q.jsx)(q.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:{...ce.fast.enter,opacity:{duration:.06}},children:w},`label`):null})]})});Cm.displayName=`TabsSubtleItem`;var wm=`[&_[data-proximity-index]]:!h-7 [&_[data-proximity-index]]:!px-2 [&_[data-proximity-index]]:!text-caption`;function Tm({compact:e=!1}={}){let{reopenRightPanel:t,rightPanel:n}=yr();return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{className:`min-[960px]:hidden`,children:(0,Q.jsx)(Em,{compact:e,idPrefix:`right-panel-mobile`})}),(0,Q.jsx)(`div`,{className:`hidden min-[960px]:block`,children:n===null?(0,Q.jsx)(Dm,{compact:e,onOpen:t}):null})]})}function Em({compact:e=!1,idPrefix:t=`right-panel`}){let{artifactRuns:n,transcriptSummary:r,rightPanel:i,setRightPanel:a,resources:o}=yr(),{workspaceTree:s}=vr();return(0,Q.jsx)(Om,{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 Dm({compact:e=!1,onOpen:t}){return(0,Q.jsx)(Qp,{ariaLabel:`Open side panel`,className:e?`!size-7 !rounded-[7px] !px-0`:`size-9 justify-center px-0`,onClick:t,children:(0,Q.jsx)(Io,{className:`size-4`})})}function Om({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=nn(n,o).reduce((e,t)=>e+t.items.length,0),u=(0,Z.useMemo)(()=>{let e=i+a;return e>0?e:void 0},[a,i]),d=(0,Z.useMemo)(()=>Xt.map(e=>({...e,badge:e.badgeSource===`resources`?l||void 0:e.badgeSource===`artifacts`?u:e.badgeSource===`repl`&&r||void 0})),[r,u,l]),f=d.findIndex(t=>t.id===e),p=(0,Z.useMemo)(()=>d.map(e=>({value:e.id,label:e.title,icon:e.icon})),[d]);return(0,Q.jsx)(km,{"data-testid":`right-panel-inline-launcher`,"data-active-panel":e??`closed`,activePanel:e,options:p,panelOptions:d,idPrefix:s,selectedIndex:f,onSelect:n=>{let r=d.at(n)?.id;r&&t(r===e?null:r)},compact:c})}function km({activePanel:e,className:t,compact:n=!1,idPrefix:r,onSelect:i,options:a,panelOptions:o,selectedIndex:s,...c}){let l=(0,Z.useRef)(null),u=(0,Z.useRef)(null),[d,f]=(0,Z.useState)(!1),p=(0,Z.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,Z.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,Z.useCallback)(e=>{let t=o.findIndex(t=>t.id===e);t>=0&&i(t)},[i,o]);return(0,Q.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,Q.jsx)(zt,{"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,Q.jsx)(Sm,{activeLabel:!0,className:`w-fit max-w-full ${n?wm:``}`,idPrefix:r,selectedIndex:s,onSelect:i,children:o.map((e,t)=>(0,Q.jsx)(Cm,{index:t,icon:e.icon,label:e.title,badge:e.badge,"aria-label":e.ariaLabel},e.id))}),(0,Q.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,Q.jsx)(Sm,{activeLabel:!0,className:`w-max max-w-none ${n?wm:``}`,idPrefix:`${r}-measurement`,selectedIndex:s,onSelect:()=>void 0,children:o.map((e,t)=>(0,Q.jsx)(Cm,{index:t,icon:e.icon,label:e.title,badge:e.badge,"aria-label":e.ariaLabel},e.id))})})]})}function Am({children:e,dataTestid:t,headerActions:n,icon:r,onClose:i,open:a,title:o}){let s=(0,Z.useRef)(null),c=(0,Z.useId)(),l=(0,Z.useRef)(!1),u=(0,Z.useEffectEvent)(e=>{s.current&&e.target===s.current&&s.current.close()});return(0,Z.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,Z.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,Q.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))] ${ea} backdrop:bg-black/20 ${Pn}`,"aria-labelledby":c,onClose:()=>{if(l.current){l.current=!1;return}i?.()},children:(0,Q.jsxs)(`div`,{className:`flex h-full min-h-0 min-w-0 flex-col overflow-hidden`,children:[(0,Q.jsx)(`span`,{id:c,className:`sr-only`,children:o??`Panel`}),o&&(0,Q.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,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 text-label font-medium text-foreground/80`,children:[r&&(0,Q.jsx)(r,{className:`size-3.5 shrink-0`}),(0,Q.jsx)(`span`,{className:`truncate`,children:o})]}),(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[n,i&&(0,Q.jsx)(Tr,{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,Q.jsx)(wr,{"data-icon":`inline-start`,className:`size-3.5`})})]})]}),(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overscroll-contain px-[var(--density-pad-x)] py-4`,children:e})]})}):null}function jm(e){return`agent-tab-${encodeURIComponent(e)}`}function Mm(e){return`agent-tab-panel-${encodeURIComponent(e)}`}function Nm(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 Pm(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 Fm({tabs:e,value:t,onValueChange:n,onClose:r,onNewSession:i}){let a=(0,Z.useRef)(new Map),o=(0,Z.useCallback)((e,t)=>{t?a.current.set(e,t):a.current.delete(e)},[]);(0,Z.useEffect)(()=>{for(let t of a.current.keys())e.some(e=>e.id===t)||a.current.delete(t)},[e]);let s=(0,Z.useCallback)(t=>{let r=e[t];r&&(a.current.get(r.id)?.focus(),n(r.id))},[n,e]),c=(0,Z.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,Q.jsxs)(`div`,{className:`flex min-w-0 max-w-full items-center gap-1`,"data-testid":`agent-tab-bar`,children:[(0,Q.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=Nm(e.status);return(0,Q.jsxs)(`div`,{className:`group/tab relative min-w-0 flex-1 max-w-[164px] basis-[164px]`,"data-tab-id":e.id,children:[(0,Q.jsxs)(Tr,{ref:t=>o(e.id,t),"aria-controls":Mm(e.id),"aria-selected":i,"aria-label":`${e.label}, ${a}`,className:G(`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:jm(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,Q.jsx)(qt,{"aria-hidden":`true`,className:`size-3.5 shrink-0`}):e.kind===`main`?(0,Q.jsx)(rn,{"aria-hidden":`true`,className:`size-3.5 shrink-0`}):(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:G(`size-1.5 shrink-0 rounded-full`,Pm(e.status))}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-start`,children:e.label})]}),e.kind===`subagent`&&r?(0,Q.jsx)(Tr,{"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,Q.jsx)(wr,{"aria-hidden":`true`,className:`size-3`})}):null]},e.id)})}),i?(0,Q.jsx)(Tr,{"aria-label":`New chat`,className:G(Yi,`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,Q.jsx)(_r,{"aria-hidden":`true`,className:`size-3.5`})}):null]})}var Im=`https://docs.qredence.ai`;function Lm({className:e}){return(0,Q.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,Q.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 Rm({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,Q.jsx)(`div`,{className:G(`flex min-w-0 items-center gap-2`,r),children:(0,Q.jsxs)(Ks,{side:`bottom`,align:`start`,trigger:(0,Q.jsxs)(Qp,{ariaLabel:`Open account menu`,className:G(`min-w-0 border-transparent shadow-none`,t?`size-8 justify-center px-2`:`w-full justify-start px-2 text-start`),children:[(0,Q.jsx)(Lm,{className:`size-3.5 shrink-0`}),(0,Q.jsx)(`span`,{className:t?`sr-only`:`text-body font-medium tracking-[-0.01em] whitespace-nowrap`,children:n}),(0,Q.jsx)(on,{className:`size-3.5 shrink-0 text-foreground/35`})]}),children:[(0,Q.jsxs)(`a`,{href:Im,target:`_blank`,rel:`noreferrer`,className:i,children:[(0,Q.jsx)(bo,{className:`size-3.5 shrink-0 text-foreground/50`}),(0,Q.jsx)(`span`,{className:`truncate`,children:`Documentation`})]}),e&&(0,Q.jsxs)(`button`,{type:`button`,className:i,onClick:e,children:[(0,Q.jsx)(Zt,{className:`size-3.5 shrink-0 text-foreground/50`}),(0,Q.jsx)(`span`,{className:`truncate`,children:`Settings`})]})]})})}function zm({activeTabId:e,tabs:t,onCloseTab:n,onNewSession:r,onSelectTab:i,onOpenSettings:o}){return a(),{left:(0,Q.jsx)(Up,{"aria-label":`Toggle conversations`,className:`!size-7 !rounded-[7px] border border-border/70 bg-background shadow-sm`,children:(0,Q.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,Q.jsx)(Rm,{className:`w-full`,label:`Qredence`,onOpenSettings:o}),center:(0,Q.jsx)(Fm,{tabs:t,value:e,onValueChange:i,onClose:n,onNewSession:r}),right:(0,Q.jsx)(Tm,{compact:!0})}}function Bm(){let[e,t]=(0,Z.useState)(!1),[n,r]=(0,Z.useState)(void 0),[i,a]=(0,Z.useState)(null);return{forkPickerEntries:i,setForkPickerEntries:a,setSettingsDialogOpen:t,setSettingsInitialTab:r,settingsDialogOpen:e,settingsInitialTab:n}}var Vm=(0,Z.lazy)(()=>jr(async()=>{let{ChatCommandPalette:e}=await import(`./chat-command-palette-PenyaZBw.js`);return{ChatCommandPalette:e}},__vite__mapDeps([67,1,2,3,8,68,69,70,50,71,72,38,39,73,4,74,75,10,7,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27])).then(({ChatCommandPalette:e})=>({default:e}))),Hm=(0,Z.lazy)(()=>jr(async()=>{let{SettingsDialog:e}=await import(`./settings-dialog-Dpt4Ha_m.js`);return{SettingsDialog:e}},__vite__mapDeps([76,1,2,3,15,13,16,17,4,65,8,34,37,66,20,21,22,23,77,18,19,7,33,26,27,24,78,69,50,51,79,47,43,49,80,74,64,72,81,11,82,83,84,14,25,62,85,86])).then(({SettingsDialog:e})=>({default:e}))),Um=(0,Z.lazy)(()=>jr(async()=>{let{ForkPickerDialog:e}=await import(`./fork-picker-dialog-Cgi48NnT.js`);return{ForkPickerDialog:e}},__vite__mapDeps([87,3,1,14,15,2,13,16,17,4,18,19,20,8,21,22,23,24])).then(({ForkPickerDialog:e})=>({default:e})));function Wm({chrome:e,conversation:t,dialogs:n,panels:r,session:i}){return(0,Q.jsx)(Q.Fragment,{children:n.commandPaletteOpen?(0,Q.jsx)(Z.Suspense,{fallback:null,children:(0,Q.jsx)(Vm,{open:!0,onOpenChange:n.setCommandPaletteOpen,onNewSession:()=>Qu(()=>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 Gm({dialogs:e}){let{forkFromEntry:t,forkPickerEntries:n,setForkPickerEntries:r,setSettingsDialogOpen:i,setSettingsInitialTab:a,settingsDialogOpen:o,settingsInitialTab:s}=e,[c,l]=(0,Z.useState)(o),[u,d]=(0,Z.useState)(n!==null);(0,Z.useEffect)(()=>{o&&l(!0)},[o]),(0,Z.useEffect)(()=>{n!==null&&d(!0)},[n]);let f=(0,Z.useCallback)(e=>{i(e),e||a(void 0)},[i,a]);return(0,Q.jsxs)(Q.Fragment,{children:[c?(0,Q.jsx)(Z.Suspense,{fallback:null,children:(0,Q.jsx)(Hm,{open:o,onOpenChange:f,initialTab:s})}):null,u?(0,Q.jsx)(Z.Suspense,{fallback:null,children:(0,Q.jsx)(Um,{entries:n,onOpenChange:e=>{e||r(null)},onPick:t})}):null]})}var Km=`fleet-prime:v1:right-panel-width`,qm=`fleet-prime:v1:theme-preference`;function Jm(){return typeof window>`u`?320:Xm(Math.floor(window.innerWidth*Mn))}function Ym(){if(typeof window>`u`)return 320;let e=Number.parseFloat(window.getComputedStyle(document.documentElement).fontSize),t=kn(Number.isFinite(e)&&e>0?e:16);return Math.max(320,window.innerWidth-t-360)}function Xm(e){return Math.min(Ym(),Math.max(320,Math.round(e)))}function Zm(){return In(Km,Jm(),Xm)}function Qm(e){An(Km,Xm(e))}function $m(){if(typeof window>`u`)return`system`;let e=kr(qm);return e===`light`||e===`dark`||e===`system`?e:`system`}function eh(e){Or(qm,e)}function th(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()}))}function nh(e,t){let{sessionMetadata:n,setSessionMetadata:r}=t,i=(0,Z.useMemo)(()=>e?.models.map(Un)??[],[e]),[a,o]=(0,Z.useState)(),[s,c]=(0,Z.useState)(),[l,u]=(0,Z.useState)(null),d=(0,Z.useRef)(`workspace`),[f,p]=(0,Z.useState)(null),[m,h]=(0,Z.useState)(null),[g,_]=(0,Z.useState)(!1),[v,y]=(0,Z.useState)(()=>$m()),[b,x]=(0,Z.useState)(()=>Zm());(0,Z.useEffect)(()=>{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]),(0,Z.useEffect)(()=>{let t=i.find(e=>e.id===a);if(!t)return;let n=Wn(t);c(t=>Vn(t??e?.defaultThinkingLevel,n))},[i,a,e?.defaultThinkingLevel]),(0,Z.useEffect)(()=>{if(th(v),v!==`system`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`),t=()=>th(`system`);return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[v]);let S=(0,Z.useRef)(null);(0,Z.useEffect)(()=>{let e=S.current;if(S.current=l,!l||e!==null)return;let t=Jm();x(t),Qm(t)},[l]),(0,Z.useEffect)(()=>{l===null&&h(null)},[l]),(0,Z.useEffect)(()=>{if(!l)return;let e=()=>{x(e=>{let t=Xm(e);return Qm(t),t})};return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[l]);let C=(0,Z.useCallback)(e=>{y(e),eh(e),th(e)},[]),w=(0,Z.useCallback)(e=>{let t=Xm(e);x(t),Qm(t)},[]),T=(0,Z.useCallback)(e=>{Nn({event:e,startWidth:b,getNextWidth:(e,t,n)=>Xm(n-(e-t)),onWidthChange:e=>{x(e),Qm(e)}})},[b]),E=(0,Z.useCallback)(()=>{u(d.current)},[]),D=(0,Z.useCallback)(e=>{if(e!==null&&(d.current=e),u(e),e===null){p(null);return}h(t=>{if(!t)return t;let n=sa(t);return!n||n.panel===e?t:null})},[]),O=(0,Z.useCallback)((e,t=`artifacts`)=>{p(e),D(t)},[D]),k=(0,Z.useCallback)(e=>{let t=sa(e);t&&(D(t.panel),h(t.path))},[D]),A=(0,Z.useCallback)(e=>{let t=e.panel===`artifacts`&&e.relativePath?`workspace`:e.panel,n=t===`workspace`||t===`artifacts`;D(t),h(n?e.relativePath??null:null),e.focus&&window.requestAnimationFrame(()=>{document.querySelector(`[data-fleet-panel-focus]`)?.focus({preventScroll:!0})})},[D]),j=(0,Z.useCallback)(e=>{r(e)},[r]),M=i.find(e=>e.id===a),N=Vn(s??e?.defaultThinkingLevel,Wn(M)),P=(0,Z.useCallback)(e=>{let t=i.find(e=>e.id===a);c(Vn(e,Wn(t)))},[a,i]);return{commandPaletteOpen:g,handleResourceCanvasResizeStart:T,handleResourceCanvasWidthChange:w,handleThemePreferenceChange:C,initialSessionMetadata:n,modelKey:a,modelSelection:(0,Z.useMemo)(()=>Rn(M,N),[N,M]),models:i,openWorkspacePath:k,openPanelAction:A,persistSession:j,reopenRightPanel:E,resourceCanvasWidth:b,rightPanel:l,selectedArtifactId:f,selectedWorkspacePath:m,setCommandPaletteOpen:_,setModelKey:o,setRightPanel:D,openArtifact:O,setSelectedWorkspacePath:h,setThinkingLevel:P,themePreference:v,thinkingLevel:N}}var rh=/^root\s*=\s*([A-Za-z][A-Za-z0-9]*)/,ih=/"((?:\\.|[^"\\]){1,80})"/;function ah(e){return ih.exec(e)?.[1]??rh.exec(e)?.[1]??`Interface`}function oh(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 Hi(e.text))r.type===`openui`&&t.push({blockId:`${n.id}:${r.id}`,content:r.content,component:ah(r.content),ordinal:t.length+1})}return t}function sh(e){let t=0,n=0;for(let r of e)r.role===`assistant`?t+=1:n+=1;return{assistantMessageCount:t,openUIBlocks:oh(e),userMessageCount:n}}function ch(e){return e===`streaming`||e===`submitted`}function lh(e,t,n){let r=ch(t),i=(0,Z.useRef)(e);i.current=e;let[a,o]=(0,Z.useState)(e),[s,c]=(0,Z.useState)(n),[l,u]=(0,Z.useState)(r);return s!==n&&(c(n),o(e)),l!==r&&(u(r),r&&o(e)),(0,Z.useEffect)(()=>{if(!r)return;let e=window.setInterval(()=>{o(i.current)},250);return()=>window.clearInterval(e)},[r]),r?a:e}function uh(e,t,n){let r=ch(t),i=(0,Z.useRef)(e);i.current=e;let[a,o]=(0,Z.useState)(()=>sh(e)),[s,c]=(0,Z.useState)(n),[l,u]=(0,Z.useState)(r);s!==n&&(c(n),o(sh(e))),l!==r&&(u(r),r&&o(sh(e))),(0,Z.useEffect)(()=>{if(!r)return;let e=window.setInterval(()=>{o(sh(i.current))},250);return()=>window.clearInterval(e)},[r]);let d=(0,Z.useMemo)(()=>sh(e),[e]);return r?a:d}function dh({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,onOAuthLogin:x,onRemoveMcp:S,onRemoveProvider:C,onUpdateMcp:w,onUpdateProvider:T,openWorkspacePath:E,planLabel:D,presentation:O,mcpConnections:k,providers:A,queue:j,refreshResources:M,refreshWorkspace:N,resources:P,resourcesError:F,resourcesLoading:I,rightPanel:L,reopenRightPanel:R,saveSettings:ee,selectedArtifactId:z,sessionId:B,selectedWorkspacePath:te,setRightPanel:V,setSelectedWorkspacePath:H,settings:ne,settingsError:U,settingsLoading:re,status:W,thinkingLevel:ie,themePreference:G,workspaceError:ae,workspaceLoading:oe,workspaceTree:se,sessionTreeSnapshot:K,sessionTreeLoading:ce,sessionTreeError:le,selectedSessionTreeEntryId:ue,isSessionTreeStreaming:de,refreshSessionTree:fe,selectSessionTreeEntry:pe,rewindSessionTree:q}){let me=uh(m,W,B??``),he=lh(t,W,B??``),ge=(0,Z.useMemo)(()=>({activityLabel:e,artifactRuns:he,chatMode:n,loadSession:d,loadSubagentSession:f,transcriptSummary:me,onOpenSubagentTab:h,models:_,planLabel:D,presentation:O,queue:j,refreshResources:M,resources:P,resourcesError:F,resourcesLoading:I,reopenRightPanel:R,rightPanel:L,selectedModelKey:g,selectedArtifactId:z,sessionId:B,setRightPanel:V,status:W,thinkingLevel:ie,sessionTreeSnapshot:K,sessionTreeLoading:ce,sessionTreeError:le,selectedSessionTreeEntryId:ue,isSessionTreeStreaming:de,refreshSessionTree:fe,selectSessionTreeEntry:pe,rewindSessionTree:q}),[e,he,n,d,f,me,h,_,D,O,j,M,P,F,I,R,L,g,z,B,V,W,ie,K,ce,le,ue,de,fe,pe,q]),_e=(0,Z.useMemo)(()=>({loadWorkspaceFile:p,openWorkspacePath:E,refreshWorkspace:N,selectedWorkspacePath:te,setSelectedWorkspacePath:H,workspaceError:ae,workspaceLoading:oe,workspaceTree:se}),[p,E,N,te,H,ae,oe,se]);return{chatPanelData:ge,settingsActions:(0,Z.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:k,modelCatalog:v,onComposerIntentChange:i,onComposerIntentKeyChange:a,onDiscoverModels:y,onMcpOAuth:b,onOAuthLogin:x,onRemoveMcp:S,onRemoveProvider:C,onThemePreferenceChange:o,onUpdateMcp:w,onUpdateProvider:T,providers:A,saveSettings:ee,settings:ne,settingsError:U,settingsLoading:re,themePreference:G}),[r,o,s,c,l,u,k,v,i,a,y,b,x,S,C,w,T,A,ee,ne,U,re,G]),workspaceTreeContext:_e}}function fh(e){return e===`running`||e===`recovering`?`streaming`:e===`error`||e===`failed`?`error`:`ready`}function ph(){return{status:`ready`,loading:!1,messages:[]}}function mh(e){return{assistantId:null,snapshot:{messages:e.messages,presentation:e.presentation,queue:Yf,sessionMetadata:e.session}}}function hh(e){return typeof e==`object`&&!!e&&e.type===`connected`&&typeof e.sessionId==`string`}function gh(e){try{let t=kr(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){Dr(e,`session`);return}return{generation:n.generation,lastEventId:n.lastEventId}}catch{Dr(e,`session`);return}}function _h({client:e,enabled:t,child:n,loadSession:r,parentSessionId:i}){let[a,o]=(0,Z.useState)(0),[s,c]=(0,Z.useState)(ph),[l,u]=(0,Z.useState)(!1),d=(0,Z.useRef)(null),f=(0,Z.useRef)(0),p=(0,Z.useRef)(null),m=n?.id,h=n?.activeSessionId,g=n?.status,_=n?.error,v=(0,Z.useCallback)(()=>o(e=>e+1),[]),y=(0,Z.useCallback)(async t=>{let n=t.trim();if(!n||!i||!m||p.current)return;let a=new AbortController;p.current={controller:a,parentSessionId:i,childId:m},u(!0);let o=Cf(n);c(e=>({...e,status:`streaming`,loading:!1,error:void 0,messages:[...e.messages,o]}));try{if(await e.streamMessage({sessionId:i,childId:m,message:n,streamingBehavior:`steer`},e=>{if(!a.signal.aborted){if(e.type===`error`)throw Gu(e);e.type===`start`&&c(e=>({...e,status:`streaming`}))}},a.signal),a.signal.aborted)return;try{let e=await r(i,m);if(a.signal.aborted)return;let t=mh(e);d.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:wf(t.messages,o.id),error:e instanceof Error?e:Error(String(e))}))}finally{p.current?.controller===a&&(p.current=null,u(!1))}},[m,e,r,i]),b=(0,Z.useCallback)(()=>{let t=p.current;t?.controller.abort(),p.current=null;let n=t?.parentSessionId??i,r=t?.childId??m;n&&r&&e.abortSession({sessionId:n,childId:r}).catch(()=>void 0),u(!1),v()},[m,e,i,v]);return(0,Z.useEffect)(()=>{let n=f.current+1;f.current=n;let o=()=>f.current===n;if(a>0&&(d.current=null),!t||!i||!m||!g){d.current=null,c(ph());return}let s=!1,u=null,p=null,y=0,b=!1,x=0,S,C=!1,w=fh(g),T=`pi:sse:cursor:subagent:${`${i}:${m}:${h??``}`}`,E=gh(T);E&&(S=E.generation,x=E.lastEventId);let D=()=>{if(!S){Dr(T,`session`);return}Or(T,JSON.stringify({generation:S,lastEventId:x}),`session`)},O=()=>{x=0,D()},k=()=>{p&&=(clearTimeout(p),null)},A=(e,t,n)=>{s||!o()||(w=t,d.current=e,c({status:t,loading:!1,messages:e.snapshot.messages,presentation:e.snapshot.presentation,...n?{error:n}:{}}))},j=()=>void 0,M=()=>{s||!o()||C||(y+=1,k(),p=setTimeout(j,Math.min(2e3,250*2**Math.min(y,3))))},N=async()=>{if(!(s||!o()||C||b)){b=!0;try{await r(i,m),!s&&o()&&M()}catch(e){if(s||!o())return;if(Uu(e)){C=!0,k();let t=e instanceof Error?e:Error(String(e));c(e=>({...e,status:`error`,loading:!1,error:t}));return}M()}finally{b=!1}}};return(async()=>{c(e=>({...e,loading:!0,error:void 0}));try{let t=await r(i,m);if(s||!o())return;let n=mh(t);if(d.current=n,c({status:w,loading:!1,messages:t.messages,presentation:t.presentation}),g!==`running`&&g!==`recovering`&&!l||typeof window>`u`||typeof EventSource>`u`)return;j=()=>{if(s||!o()||C)return;let t=e.openSubagentEvents(i,m,{...S?{streamGeneration:S}:{},...x>0?{lastEventId:x}:{}});u?.close();try{u=new EventSource(t)}catch{N();return}u.onopen=()=>{y=0},u.onmessage=e=>{if(s||!o()||C)return;let t=Number.parseInt(e.lastEventId??``,10);Number.isFinite(t)&&t>0&&(x=t,D());let n;try{n=JSON.parse(e.data)}catch{return}if(hh(n)){n.streamGeneration&&S!==n.streamGeneration?(S=n.streamGeneration,O()):n.streamGeneration&&(S=n.streamGeneration),n.cursorReset&&O(),D();return}let r;try{r=Ju(oi,n,`Subagent chat stream event`)}catch{return}if(r.type===`state`&&r.state.message===`resync-required`){O(),u?.close(),u=null,v();return}let i=d.current;if(!i)return;let a=rp(i,r);if(r.type===`error`){C=!0,k(),u?.close(),u=null,A(a,`error`,Gu(r));return}if(r.type===`done`){A(a,`ready`);return}if(r.type===`session_snapshot`){let e=r.status===`error`?Error(_??`The subagent thread ended with an error.`):void 0;r.terminal&&(C=!0,k(),u?.close(),u=null),A(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`:w;A(a,e);return}A(a,w)},u.onerror=()=>{u?.close(),u=null,N()}},j()}catch(e){if(s||!o())return;c(t=>({...t,status:`error`,loading:!1,error:e instanceof Error?e:Error(String(e))}))}})(),()=>{s=!0,C=!0,u?.close(),k()}},[h,m,_,g,e,t,r,i,v,a,l]),{...s,refresh:v,sendMessage:y,sending:l,stop:b}}var vh={dismissedChildIds:new Set,scopeKey:``,selectedTabId:`main`};function yh(e,t){return e.scopeKey===t?e:{dismissedChildIds:new Set,scopeKey:t,selectedTabId:`main`}}function bh(e,t){return yh(e,t)}function xh(e,t){if(t.type===`scope`)return yh(e,t.scopeKey);let n=yh(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 Sh(e){return Bn(e.sessionName?.trim()||e.label)||`Subagent`}function Ch({activeProjectId:e,loadSubagentSession:t,presentation:n,rootSessionId:r,client:i=rd}){let a=`${e??``}:${r??``}`,[o,s]=(0,Z.useReducer)(xh,vh);(0,Z.useEffect)(()=>{s({type:`scope`,scopeKey:a})},[a]);let{dismissedChildIds:c,selectedTabId:l}=bh(o,a),u=(0,Z.useMemo)(()=>ln(n.rlmChildren,n.rlmTree),[n.rlmChildren,n.rlmTree]),d=(0,Z.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:Sh(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,Z.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,Z.useCallback)(e=>{e===`main`||!u.some(t=>t.id===e)||s({type:`dismiss`,scopeKey:a,tabId:e})},[u,a]),g=(0,Z.useCallback)(e=>m(e),[m]);return{activeTabId:f,closeTab:h,conversation:_h({client:i,child:p,enabled:f!==`main`&&!!p,loadSession:t,parentSessionId:r}),openChildTab:g,selectedChild:p,selectTab:m,tabs:d}}function wh({sessionMetadata:e,status:t,resumeSession:n,rightPanel:r}){let i=e.sessionId,[a,o]=(0,Z.useState)(null),[s,c]=(0,Z.useState)(!1),[l,u]=(0,Z.useState)(null),[d,f]=(0,Z.useState)(null),[p,m]=(0,Z.useState)(null),h=(0,Z.useRef)(0),g=(0,Z.useCallback)(async()=>{if(!i){o(null),u(null),c(!1);return}let e=h.current;c(!0),u(null);try{let t=await rd.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,Z.useEffect)(()=>{r===`session-tree`&&g()},[g,r]),(0,Z.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,Z.useCallback)((e,t)=>{f(e),m(t??null)},[]),rewindSessionTree:(0,Z.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 rd.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 rd.getSessionTree(a);if(!d())throw Error(`Session changed during rewind.`);o(i),f(i.leafId)}catch(e){if(d())try{let e=await rd.getSessionTree(a);d()&&(o(e),f(e.leafId))}catch{}throw e}finally{d()&&c(!1)}},[n,e,i]),isSessionTreeStreaming:t===`streaming`||t===`submitted`}}var Th=15e3;async function Eh(e,t,n){let r=typeof AbortSignal.timeout==`function`?AbortSignal.timeout(Th):void 0,i=n&&r&&typeof AbortSignal.any==`function`?AbortSignal.any([n,r]):n??r;return rd.getWorkspaceFile(e,t,i)}function Dh(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 Oh(){let{forkPickerEntries:e,setForkPickerEntries:t,setSettingsDialogOpen:n,setSettingsInitialTab:r,settingsDialogOpen:i,settingsInitialTab:a}=Bm(),{chatMode:o,effortPickerOpen:s,modelPickerOpen:c,setChatMode:l,setEffortPickerOpen:u,setModelPickerOpen:d,setUploadedAttachments:f,setWorkspaceAttachments:p,uploadedAttachments:m,workspaceAttachments:h}=$u(),g=lf(),[_,v]=(0,Z.useState)(g.sessionMetadata.projectId??void 0),{data:y,isLoading:b}=yd(),{data:x,isLoading:S}=hd(),{data:C,refetch:w}=sd(),{mutateAsync:T,isPending:E}=bd(),{mutateAsync:D}=xd(),{mutateAsync:O,isPending:k}=Sd(),{mutateAsync:A,isPending:j}=gd(),{mutateAsync:M,isPending:N}=_d(),{mutateAsync:P}=vd(),{data:F}=od(_),{data:I}=cd({enabled:i,projectId:_}),L=ld(),{commandPaletteOpen:R,handleResourceCanvasResizeStart:ee,handleResourceCanvasWidthChange:z,handleThemePreferenceChange:B,initialSessionMetadata:te,modelKey:V,modelSelection:H,models:ne,openArtifact:U,openWorkspacePath:re,openPanelAction:W,persistSession:ie,reopenRightPanel:G,resourceCanvasWidth:ae,rightPanel:oe,selectedArtifactId:se,selectedWorkspacePath:K,setCommandPaletteOpen:ce,setModelKey:le,setRightPanel:ue,setSelectedWorkspacePath:de,setThinkingLevel:fe,themePreference:pe,thinkingLevel:q}=nh(F,g);(0,Z.useEffect)(()=>{if(te.projectId&&te.projectId!==_){v(te.projectId);return}!_&&C?.projects[0]&&(v(C.projects[0].projectId),ie({projectId:C.projects[0].projectId}))},[_,te.projectId,ie,C?.projects]);let{data:me,isLoading:he,error:ge,refetch:_e}=ud(_),{data:ve}=dd(_),{data:ye,isLoading:be,error:xe}=fd(_),Se=pd(),{data:Ce,isLoading:we,error:Te,refetch:Ee}=md(_,{enabled:oe===`workspace`||oe===`resources`}),De=me??null,Oe=Ce??null,ke=(0,Z.useCallback)(()=>{_e()},[_e]),Ae=(0,Z.useCallback)(async e=>{let t=await Se.mutateAsync({request:{settings:e},projectId:_}),n=Dh(ne,t);return n&&le(n),t},[_,ne,le,Se]),je=(0,Z.useCallback)(()=>{Ee()},[Ee]),{activityLabel:Me,answerQuestion:Ne,appendLocalMessage:Pe,deleteQueuedMessage:Fe,editQueuedMessage:Ie,deleteSession:Le,error:Re,getMessages:ze,getSessionMetadata:Be,messages:Ve,planLabel:He,persistOpenUIArtifact:Ue,presentation:We,queue:Ge,renameSession:Ke,resumeSession:qe,sendMessage:Je,sessionMetadata:Ye,sessions:Xe,startNewSession:Ze,switchProject:Qe,status:$e,stop:et}=Tp(H,{initialSessionMetadata:te,projectId:_,persistSession:ie}),tt=(0,Z.useMemo)(()=>Mr(Ve,We,$e),[Ve,We,$e]),nt=(0,Z.useRef)(void 0);(0,Z.useEffect)(()=>{if(!We.thinkingLevel)return;let e=`${Ye.sessionId}:${We.thinkingLevel}`;nt.current!==e&&(nt.current=e,fe(We.thinkingLevel))},[We.thinkingLevel,Ye.sessionId,fe]);let{addWorkspaceAttachment:rt,browseProjectDirectories:it,clearUploadedAttachments:at,clearWorkspaceAttachments:ot,createProject:st,deleteSessionForWorkspace:ct,forkSessionIntoProject:lt,handleAttach:ut,removeUploadedAttachment:dt,removeWorkspaceAttachment:ft,renameProject:pt,restoreAttachments:mt,resumeSessionForWorkspace:ht,resumeSessionForWorkspaceWithResult:gt,selectProject:_t,startNewSessionForWorkspace:vt,startNewSessionInProject:yt,unregisterProject:bt}=xf({activeProjectId:_,deleteSession:Le,getSessionMetadata:Be,refetchProjects:w,resumeSession:qe,sessionId:Ye.sessionId,sessions:Xe,setActiveProjectId:v,setSelectedWorkspacePath:de,setUploadedAttachments:f,setWorkspaceAttachments:p,startNewSession:Ze,switchProject:Qe}),xt=Ln(Ge)??Me??He,St=(0,Z.useCallback)(({toolCallId:e,answer:t})=>{Ne({toolCallId:e,answer:t}).catch(e=>{Zu(e)})},[Ne]),Ct=rf({messages:Ve,answerQuestion:St}),wt=mf({messages:Ve,resources:De,workspaceTree:Oe}),Tt=(0,Z.useMemo)(()=>{if(Ve.length===0||$e===`streaming`||$e===`submitted`)return!1;let e=Ve[Ve.length-1];return e.role===`assistant`&&!nf(e)},[Ve,$e]),Et=(0,Z.useMemo)(()=>Tt?wt:[],[Tt,wt]),Dt=(0,Z.useMemo)(()=>Xd(De,ye?.effective.enableSkillCommands??!1,ve),[ve,De,ye]),Ot=(0,Z.useMemo)(()=>$d(Oe),[Oe]),kt=(0,Z.useCallback)(e=>{if(e.projectId&&e.projectId!==_){gr.error(`This panel action targets a different project.`);return}W(e)},[_,W]),At=(0,Z.useCallback)(e=>{if(!e.projectId||e.projectId===_){W(e);return}_t(e.projectId).then(()=>W(e)).catch(e=>Zu(e))},[_,W,_t]),jt=(0,Z.useCallback)(e=>{r(e),n(!0)},[n,r]),Mt=(0,Z.useCallback)(async e=>{let t=[...h,...m];at(),ot(),await Je({text:e,altKey:!1,mode:o,openUI:!0,openUIArtifact:!0,attachments:t})||mt(m,h)},[o,at,ot,mt,Je,m,h]),Nt=Ld(),{onDraftChange:Pt,takeCached:Ft,command:It,dismissCommand:Lt}=Id(Nt.available),{onDraftChange:Rt,inlineCompletion:zt}=Od({available:!0,sessionId:Ye.sessionId}),Bt=(0,Z.useMemo)(()=>It?{forValue:It.forValue,text:`/${It.command}`,mode:`replace`,onDismiss:()=>{Lt(),zt?.onDismiss?.()}}:zt,[Lt,zt,It]),Vt=(0,Z.useCallback)(e=>{Pt(e),Rt(e)},[Pt,Rt]),{forkFromEntry:Ht,handleLocalSlashSubmit:Ut,handleSlashCommandSelect:Wt}=Jf({appendLocalMessage:Pe,getMessages:ze,getSessionMetadata:Be,modelKey:V,models:ne,onForkPicker:t,onOpenUIRequest:Mt,openSettings:jt,resumeSession:ht,sessions:Xe,setEffortPickerOpen:u,setModelKey:le,setModelPickerOpen:d,setThinkingLevel:fe,startNewSession:vt,takeCachedIntent:Ft}),Gt=(0,Z.useCallback)(async e=>{try{await fetch(Lu(`/api/chat/intent`),{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({enabled:e})})}finally{Nt.refresh()}},[Nt]),Kt=(0,Z.useCallback)(async e=>{try{await Ku(`/api/chat/intent`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({apiKey:e})})}finally{Nt.refresh()}},[Nt]),qt=(0,Z.useMemo)(()=>I?.models.map(Un)??ne,[I,ne]),Jt=(0,Z.useCallback)((e,t)=>Eh(e,_,t),[_]),Yt=(0,Z.useCallback)(e=>rd.loadSession(e),[]),Xt=(0,Z.useCallback)((e,t)=>rd.loadSubagentSession(e,t),[]),Zt=Ch({activeProjectId:_,loadSubagentSession:Xt,presentation:We,rootSessionId:Ye.sessionId}),Qt=wh({sessionMetadata:{sessionId:Ye.sessionId,projectId:Ye.projectId??_},status:$e,resumeSession:gt,rightPanel:oe}),$t=(0,Z.useCallback)(async e=>(await L.mutateAsync(e)).models.map(Un),[L]),{chatPanelData:en,settingsActions:tn,workspaceTreeContext:nn}=dh({activityLabel:Me,artifactRuns:tt,chatMode:o,composerIntent:Nt,onComposerIntentChange:Gt,onComposerIntentKeyChange:Kt,handleThemePreferenceChange:B,isLoadingMcp:S,isLoadingProviders:b,isUpdatingMcp:j||N,isUpdatingProvider:E||k,loadSession:Yt,loadSubagentSession:Xt,loadWorkspaceFile:Jt,messages:Ve,onOpenSubagentTab:Zt.openChildTab,modelKey:V,models:ne,modelCatalog:qt,onDiscoverModels:$t,onMcpOAuth:P,onOAuthLogin:D,onRemoveMcp:M,onRemoveProvider:O,onUpdateMcp:A,onUpdateProvider:T,openWorkspacePath:re,planLabel:He,presentation:We,mcpConnections:x?.connections??[],providers:y?.providers??[],queue:Ge,refreshResources:ke,refreshWorkspace:je,resources:De,resourcesError:ge,resourcesLoading:he,reopenRightPanel:G,rightPanel:oe,saveSettings:Ae,selectedArtifactId:se,sessionId:Ye.sessionId,selectedWorkspacePath:K,setRightPanel:ue,setSelectedWorkspacePath:de,settings:ye??null,settingsError:xe,settingsLoading:be||Se.isPending,status:$e,thinkingLevel:q,themePreference:pe,workspaceError:Te,workspaceLoading:we,workspaceTree:Oe,sessionTreeSnapshot:Qt.sessionTreeSnapshot,sessionTreeLoading:Qt.sessionTreeLoading,sessionTreeError:Qt.sessionTreeError,selectedSessionTreeEntryId:Qt.selectedSessionTreeEntryId,isSessionTreeStreaming:Qt.isSessionTreeStreaming,refreshSessionTree:()=>void Qt.refreshSessionTree(),selectSessionTreeEntry:Qt.selectSessionTreeEntry,rewindSessionTree:Qt.rewindSessionTree}),rn=zm({activeTabId:Zt.activeTabId,tabs:Zt.tabs,onCloseTab:Zt.closeTab,onNewSession:()=>Qu(()=>vt()),onSelectTab:Zt.selectTab,onOpenSettings:()=>jt()});return{session:{activeSessionId:Ye.sessionId,activeProjectId:_,openPanelAction:At,projects:C?.projects??[],projectSessions:Xe,sessions:Xe,browseProjectDirectories:it,createProject:st,deleteSession:ct,forkSessionIntoProject:lt,renameProject:pt,renameSession:Ke,resumeSession:ht,selectProject:_t,startNewSession:vt,startNewSessionInProject:yt,unregisterProject:bt},conversation:{activityLabel:Me,artifactRuns:tt,deleteQueuedMessage:Fe,editQueuedMessage:Ie,error:Re,highlightedTranscriptMessageId:Qt.highlightedTranscriptMessageId,messages:Ve,openArtifact:U,openPanelAction:kt,persistOpenUIArtifact:Ue,presentation:We,queue:Ge,sendMessage:Je,status:$e,stop:et},agentTabs:Zt,composer:{answerQuestion:Ne,chatMode:o,clearUploadedAttachments:at,clearWorkspaceAttachments:ot,effortPickerOpen:s,handleAttach:ut,handleLocalSlashSubmit:Ut,handleQuestionAnswer:St,handleSlashCommandSelect:Wt,infoDescription:xt,inputSuggestionItems:Et,inlineCompletion:Bt,onComposerDraftChange:Vt,workspaceReferenceSuggestions:Ot,modelKey:V,modelPickerOpen:c,models:ne,pendingQuestionBar:Ct,removeUploadedAttachment:dt,removeWorkspaceAttachment:ft,addWorkspaceAttachment:rt,restoreAttachments:mt,setChatMode:l,setEffortPickerOpen:u,setModelKey:le,setModelPickerOpen:d,setThinkingLevel:fe,slashCommands:Dt,thinkingLevel:q,uploadedAttachments:m,workspaceAttachments:h},panels:{chatPanelData:en,handleResourceCanvasResizeStart:ee,handleResourceCanvasWidthChange:z,resourceCanvasWidth:ae,rightPanel:oe,setRightPanel:ue,settingsActions:tn,workspaceTreeContext:nn},dialogs:{commandPaletteOpen:R,forkFromEntry:Ht,forkPickerEntries:e,setCommandPaletteOpen:ce,setForkPickerEntries:t,setSettingsDialogOpen:n,setSettingsInitialTab:r,settingsDialogOpen:i,settingsInitialTab:a},chrome:{handleThemePreferenceChange:B,header:rn,themePreference:pe}}}var kh={"--chat-chrome-top":`52px`,"--chat-header-height":`var(--density-header-height, 44px)`,"--chat-header-top":`0px`};function Ah({children:e,headerCenter:t,headerLeft:n,headerRight:r,panel:i}){return(0,Q.jsxs)(`div`,{className:`flex h-svh min-w-0 overflow-hidden`,"data-testid":`chat-shell`,style:kh,children:[(0,Q.jsxs)(`div`,{className:`relative flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden`,"data-testid":`chat-column`,children:[(0,Q.jsxs)(`header`,{className:G(Xi,`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,Q.jsx)(`div`,{className:`min-w-0 justify-self-start`,children:n}),(0,Q.jsx)(`div`,{className:`flex min-w-0 items-center justify-start gap-1 overflow-visible justify-self-stretch`,children:t}),(0,Q.jsx)(`div`,{className:`min-w-0 justify-self-end`,children:r})]}),(0,Q.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden`,children:e})]}),i]})}var jh=`fleet-prime:v1:panel-keybindings`,Mh={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 Nh(){try{let e=kr(jh);if(!e)return Mh;let t=JSON.parse(e);return{...Mh,...t}}catch{return Mh}}function Ph(e,t){return e.code===t.code&&(e.ctrlKey||e.metaKey)===!!t.ctrlOrMeta&&e.shiftKey===!!t.shift&&e.altKey===!!t.alt}function Fh(){document.querySelector(`[data-fleet-chat-focus] textarea, [data-fleet-chat-focus] [contenteditable='true'], [data-fleet-chat-focus] input`)?.focus({preventScroll:!0})}function Ih({onCommandPaletteToggle:e,onClosePanel:t,rightPanel:n,setRightPanel:r}){(0,Z.useEffect)(()=>{let i=Nh(),a=a=>{let o=e=>Ph(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),Fh()):n&&o(`focusPanel`)?document.querySelector(`[data-fleet-panel-focus]`)?.focus({preventScroll:!0}):o(`focusChat`)?Fh():s=!1,s&&(a.preventDefault(),a.stopPropagation())};return document.addEventListener(`keydown`,a),()=>document.removeEventListener(`keydown`,a)},[e,t,n,r])}function Lh({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=he(),m=(0,Z.useRef)(null);(0,Z.useEffect)(()=>{c&&m.current?.focus({preventScroll:!0})},[c]);let h=Ym();return(0,Q.jsx)(me,{children:c&&(0,Q.jsxs)(q.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,Q.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?.(Xm(f+16))):e.key===`ArrowRight`?(e.preventDefault(),s?.(Xm(f-16))):e.key===`Home`?(e.preventDefault(),s?.(320)):e.key===`End`&&(e.preventDefault(),s?.(h))}}),(0,Q.jsxs)(`div`,{className:`flex h-full min-w-0 flex-1 flex-col overflow-hidden`,children:[(0,Q.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,Q.jsx)(`div`,{className:`min-w-0 flex-1`,children:n??(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 text-body font-medium text-foreground/80`,children:[(0,Q.jsx)(d,{className:`size-3.5 shrink-0`}),(0,Q.jsx)(`span`,{children:u})]})}),(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[l,(0,Q.jsx)(Tr,{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,Q.jsx)(xr,{"data-icon":`inline-start`,className:`size-3.5 ${r?`animate-spin`:``}`})}),(0,Q.jsx)(Tr,{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,Q.jsx)(wr,{"data-icon":`inline-start`,className:`size-3.5`})})]})]}),(0,Q.jsx)(`div`,{className:`flex-1 overflow-y-auto overscroll-contain px-[var(--density-pad-x)] py-4`,children:e})]})]})})}var Rh=`(min-width: 960px)`;function zh(e){if(typeof window>`u`||typeof window.matchMedia!=`function`)return()=>void 0;let t=window.matchMedia(Rh);return t.addEventListener(`change`,e),()=>t.removeEventListener(`change`,e)}function Bh(){return typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(Rh).matches}function Vh(){return!1}function Hh(){return(0,Z.useSyncExternalStore)(zh,Bh,Vh)}function Uh({handleResourceCanvasResizeStart:e,onClose:t,resourceCanvasWidth:n,onResourceCanvasWidthChange:r}){let i=yr(),a=vr(),{rightPanel:o}=i,s=o!==null,c=Hh(),l=o?Jt(o):null,u=l?.component,d=l?.loadingSource===`resources`?i.resourcesLoading:l?.loadingSource===`workspace`&&a.workspaceLoading,f=l?.refreshSource===`resources`?i.refreshResources:l?.refreshSource===`workspace`?a.refreshWorkspace:void 0;return(0,Q.jsx)(Q.Fragment,{children:c?(0,Q.jsx)(Lh,{dataTestid:l?.dataTestid,headerLeading:(0,Q.jsx)(Em,{compact:!0,idPrefix:`right-panel-desktop`}),loading:d,onClose:t,onRefresh:f,onResizeStart:e,onWidthChange:r,open:s,title:l?.title??``,titleIcon:l?.icon??Yt,width:n,children:u?(0,Q.jsx)(u,{}):null}):(0,Q.jsx)(Am,{dataTestid:l?.mobileDataTestid,icon:l?.icon,onClose:t,open:s,title:l?.title??``,children:u?(0,Q.jsx)(u,{}):null})})}function Wh({session:e,onClose:t,onRenameSession:n}){let[r,i]=(0,Z.useState)(()=>Xn(e));return(0,Q.jsx)(ga,{open:!0,onOpenChange:e=>!e&&t(),children:(0,Q.jsxs)(da,{children:[(0,Q.jsx)(ha,{children:`Rename session`}),(0,Q.jsx)(ua,{children:`Choose a local display title for this Fleet Prime session.`}),(0,Q.jsx)(Mi,{value:r,onChange:e=>i(e.target.value),"aria-label":`Session title`,autoFocus:!0}),(0,Q.jsxs)(pa,{children:[(0,Q.jsx)(ma,{onClick:t,children:`Cancel`}),(0,Q.jsx)(fa,{disabled:!r.trim(),onClick:()=>{r.trim()&&(n(e.sessionId,r.trim()),t())},children:`Rename`})]})]})})}function Gh({project:e,onClose:t,onRenameProject:n}){let[r,i]=(0,Z.useState)(e.name);return(0,Q.jsx)(ga,{open:!0,onOpenChange:e=>!e&&t(),children:(0,Q.jsxs)(da,{children:[(0,Q.jsx)(ha,{children:`Rename project`}),(0,Q.jsx)(ua,{children:`This changes the display name only. The registered directory stays the same.`}),(0,Q.jsx)(Mi,{value:r,onChange:e=>i(e.target.value),"aria-label":`Project name`,autoFocus:!0}),(0,Q.jsxs)(pa,{children:[(0,Q.jsx)(ma,{onClick:t,children:`Cancel`}),(0,Q.jsx)(fa,{disabled:!r.trim()||!n,onClick:()=>{r.trim()&&(n?.(e.projectId,r.trim()),t())},children:`Rename`})]})]})})}function Kh({session:e,onClose:t,onDeleteSession:n}){return(0,Q.jsx)(ga,{open:!0,onOpenChange:e=>!e&&t(),children:(0,Q.jsxs)(da,{children:[(0,Q.jsx)(ha,{children:`Delete session?`}),(0,Q.jsx)(ua,{children:`This removes the Fleet Prime session and its managed session artifacts. This cannot be undone.`}),(0,Q.jsxs)(pa,{children:[(0,Q.jsx)(ma,{onClick:t,children:`Cancel`}),(0,Q.jsx)(fa,{className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,onClick:()=>{n(e.sessionId),t()},children:`Delete`})]})]})})}function qh({project:e,onClose:t,onUnregisterProject:n}){return(0,Q.jsx)(ga,{open:!0,onOpenChange:e=>!e&&t(),children:(0,Q.jsxs)(da,{children:[(0,Q.jsx)(ha,{children:`Unregister project?`}),(0,Q.jsx)(ua,{children:`The directory and its sessions remain intact. Existing sessions will move to Unassigned until the directory is registered again.`}),(0,Q.jsxs)(pa,{children:[(0,Q.jsx)(ma,{onClick:t,children:`Cancel`}),(0,Q.jsx)(fa,{className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,onClick:()=>{n?.(e.projectId),t()},children:`Unregister`})]})]})})}function Jh({session:e,projects:t,onClose:n,onForkSessionIntoProject:r}){let i=t.find(t=>t.projectId!==e.projectId)?.projectId,[a,o]=(0,Z.useState)(i),s=(0,Z.useMemo)(()=>t.flatMap(t=>t.projectId===e.projectId?[]:[{value:t.projectId,label:`${t.name} — ${t.pathLabel}`,icon:lr}]),[e.projectId,t]);return(0,Q.jsx)(Ci,{open:!0,onOpenChange:e=>!e&&n(),children:(0,Q.jsxs)(bi,{className:`sm:max-w-md`,children:[(0,Q.jsxs)(vi,{children:[(0,Q.jsx)(xi,{children:`Fork session into project`}),(0,Q.jsx)(Si,{children:`Create a new Fleet Prime session in another registered project.`})]}),(0,Q.jsx)(`div`,{className:`py-2`,children:(0,Q.jsx)(zt,{value:a??null,onValueChange:e=>o(e),options:s,placeholder:`Select a project…`,"aria-label":`Target project`})}),(0,Q.jsxs)(yi,{children:[(0,Q.jsx)(Tr,{type:`button`,variant:`outline`,onClick:n,children:`Cancel`}),(0,Q.jsx)(Tr,{type:`button`,disabled:!a||!r,onClick:()=>{a&&(r?.(e.sessionId,a),n())},children:`Fork session`})]})]})})}function Yh({activeDialog:e,onClose:t,projects:n,onRenameSession:r,onDeleteSession:i,onRenameProject:a,onUnregisterProject:o,onForkSessionIntoProject:s}){if(!e)return null;switch(e.kind){case`rename-session`:return(0,Q.jsx)(Wh,{session:e.session,onClose:t,onRenameSession:r});case`rename-project`:return(0,Q.jsx)(Gh,{project:e.project,onClose:t,onRenameProject:a});case`delete-session`:return(0,Q.jsx)(Kh,{session:e.session,onClose:t,onDeleteSession:i});case`unregister-project`:return(0,Q.jsx)(qh,{project:e.project,onClose:t,onUnregisterProject:o});case`fork-session`:return(0,Q.jsx)(Jh,{session:e.session,projects:n,onClose:t,onForkSessionIntoProject:s});case`create-project`:return null}}function Xh(){return()=>{}}function Zh(){return!0}function Qh(){return!1}function $h(){return(0,Z.useSyncExternalStore)(Xh,Zh,Qh)}var eg=5,tg=[`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex="-1"])`].join(`,`);function ng(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 rg({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,Q.jsxs)(`div`,{ref:c,role:`dialog`,"aria-modal":`true`,"aria-labelledby":n,"aria-hidden":i?void 0:`true`,className:G(`fixed inset-0 z-50 flex items-start justify-center overflow-y-auto sm:items-center`,a&&`pointer-events-none`),children:[(0,Q.jsx)(me,{initial:!1,children:i?(0,Q.jsx)(q.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,Q.jsxs)(`div`,{className:`relative z-10 w-full max-w-5xl px-6 py-8`,children:[(0,Q.jsx)(me,{initial:!1,children:i?(0,Q.jsxs)(q.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,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h2`,{id:n,className:`text-xl font-medium text-foreground`,children:e}),(0,Q.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:t})]}),(0,Q.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,Q.jsx)(wr,{className:`size-4`,"aria-hidden":`true`})})]},`project-files-header`):null}),(0,Q.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,Q.jsx)(q.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 ig({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=he(),g=la(),_=(0,Z.useId)(),v=`${_}-title`,y=(0,Z.useRef)(!1),b=(0,Z.useRef)(!1),x=(0,Z.useRef)(!1),S=(0,Z.useRef)(null),C=(0,Z.useRef)(null),w=(0,Z.useRef)(null),T=$h(),[E,D]=(0,Z.useState)(o),[O,k]=(0,Z.useState)(l),[A,j]=(0,Z.useState)(!1),M=a!==void 0,N=c!==void 0,P=c??O,F=(a??E)||P,I=n.slice(0,eg),L=h?{duration:0}:ue,R=`${r} ${i}${r===1?``:`s`}`,ee=(0,Z.useCallback)(e=>{f||(M||D(e),s?.(e))},[f,s,M]),z=(0,Z.useCallback)(e=>{f||I.length===0||(N||k(e),u?.(e))},[f,N,u,I.length]),B=(0,Z.useCallback)(()=>{j(!1),x.current=!0,requestAnimationFrame(()=>S.current?.focus())},[]),te=(0,Z.useCallback)(()=>{j(!0),ee(!1),z(!1)},[z,ee]),V=(0,Z.useEffectEvent)(te);(0,Z.useEffect)(()=>{h&&A&&B()},[B,A,h]),(0,Z.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(),V();return}if(e.key!==`Tab`||!w.current)return;let t=Array.from(w.current.querySelectorAll(tg)).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 H=()=>{j(!1),z(!0),ee(!0),d?.()},ne=(0,Q.jsx)(rg,{title:e,countText:R,dialogTitleId:v,previewItems:I,isExpanded:P,isClosing:A,reduce:h??!1,transition:L,dialogRef:w,closeButtonRef:C,closeOverlay:te});return(0,Q.jsxs)(Ga,{id:_,children:[(0,Q.jsxs)(q.button,{ref:S,type:`button`,disabled:f,"aria-label":p,"aria-haspopup":`dialog`,"aria-expanded":P,"data-open":F?`true`:`false`,"data-expanded":P?`true`:`false`,tabIndex:P?-1:void 0,onPointerEnter:()=>{g&&(y.current=!0,ee(!0))},onPointerLeave:()=>{g&&(y.current=!1,!P&&!A&&ee(b.current))},onFocus:()=>{if(x.current){x.current=!1,b.current=!1;return}b.current=!0,ee(!0)},onBlur:()=>{b.current=!1,!P&&!A&&ee(y.current)},onClick:H,whileTap:h||f?void 0:{scale:.96},transition:h?{duration:0}:fe,className:G(`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,Q.jsx)(q.span,{"aria-hidden":`true`,animate:{rotateX:F&&!h?15:0},transition:L,className:`absolute inset-0 rounded-2xl border border-foreground/10 bg-background/25 backdrop-blur-xl [transform-origin:center_bottom]`}),(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-0`,children:(0,Q.jsx)(`span`,{className:`absolute left-1/2 top-0 block size-0`,children:(0,Q.jsx)(me,{initial:!1,children:P?null:I.map((e,t)=>{let n=ng(t,I.length);return(0,Q.jsx)(q.span,{layoutId:`file-${e.id}`,initial:!1,animate:F&&!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:L,onLayoutAnimationComplete:()=>{A&&t===0&&B()},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,Q.jsxs)(q.span,{initial:!1,animate:{rotateX:F&&!h?-25:0},transition:L,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,Q.jsx)(`span`,{className:`flex h-16 items-center px-4`,children:(0,Q.jsx)(`span`,{className:`line-clamp-2 text-xl font-medium leading-tight text-foreground`,children:e})}),(0,Q.jsxs)(`span`,{className:`flex h-12 items-center justify-between gap-3 border-t border-foreground/10 px-4`,children:[(0,Q.jsx)(`span`,{className:`shrink-0 text-sm font-medium text-foreground/70`,children:R}),(0,Q.jsx)(`span`,{className:`truncate text-sm text-muted-foreground`,children:t})]})]})]}),T?(0,ao.createPortal)(ne,document.body):null]})}var ag=[],og=[];function sg(e){return e.kind===`folder`||e.kind===`project`}function cg(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,...cg(e.children,t,n+1,e.id)]})}function lg(e,t,n){return e.map(e=>({...e,label:e.id===t?n:e.label,children:e.children?lg(e.children,t,n):void 0}))}function ug(e,t){if(e.kind===`action`)return null;let n=e.kind===`folder`||e.kind===`project`?t?zn:lr:Cn;return(0,Q.jsx)(n,{className:`size-4`})}function dg({active:e,children:t}){let n=he()??!1,r=(0,Z.useRef)(null),i=(0,Z.useRef)(null),[a,o]=(0,Z.useState)(0);(0,Z.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,Q.jsx)(`span`,{ref:r,className:G(`block min-w-0 flex-1 overflow-hidden`,!s&&`truncate`),title:t,children:s?(0,Q.jsxs)(q.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,Q.jsx)(`span`,{ref:i,children:t}),(0,Q.jsx)(`span`,{"aria-hidden":`true`,children:t})]}):(0,Q.jsx)(`span`,{ref:i,children:t})})}function fg({label:e,onCommit:t,onCancel:n}){let[r,i]=(0,Z.useState)(e),a=(0,Z.useRef)(null),o=(0,Z.useRef)(!1);return(0,Z.useEffect)(()=>{o.current=!1,i(e),requestAnimationFrame(()=>{a.current?.focus(),a.current?.select()})},[e]),(0,Q.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 pg({item:e,menuOpen:t,onMenuOpenChange:n,onRenameStart:r,renderMenu:i}){let a=i?.(e,{close:()=>n(!1),rename:()=>{n(!1),r()}})??(0,Q.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,Q.jsx)(hr,{"aria-hidden":`true`,className:`size-3.5`}),`Rename`]});return(0,Q.jsxs)(Us,{open:t,onOpenChange:n,children:[(0,Q.jsx)(Ws,{render:(0,Q.jsx)(Tr,{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,Q.jsx)(Ao,{"aria-hidden":`true`,className:`size-4`})})}),(0,Q.jsx)(Gs,{side:`bottom`,align:`end`,sideOffset:8,className:`w-40 p-1.5`,children:(0,Q.jsx)(`div`,{"data-sidebar-resource-menu":e.id,children:a})})]})}function mg(e,t,n,r,i){return G(`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 hg(e){let t=he()??!1,[n,r]=(0,Z.useState)(!1),i=sg(e.row.item),a=e.renderIcon?.(e.row.item),o=a===void 0?ug(e.row.item,e.expanded):a,{item:s}=e.row;return(0,Q.jsxs)(q.div,{ref:e.setRef,layout:`position`,transition:t?{duration:0}:ue,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:mg(i,e.active,e.containerActive,s.kind,s.disabled),style:{paddingInlineStart:`${8+(e.row.depth+(s.indent??0))*14}px`},children:[o!==null&&(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:`grid size-4 shrink-0 place-items-center`,children:o}),e.renaming?(0,Q.jsx)(fg,{label:s.label,onCommit:e.onRenameCommit,onCancel:e.onRenameCancel}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(dg,{active:n||e.menuOpen,children:s.label}),e.renderSecondaryAction?.(s),!s.disabled&&s.kind!==`action`&&(0,Q.jsx)(pg,{item:s,menuOpen:e.menuOpen,onMenuOpenChange:e.onMenuOpenChange,onRenameStart:e.onRenameStart,renderMenu:e.renderMenu})]})]})}function gg({items:e=ag,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,Z.useState)(e),[m,h]=(0,Z.useState)(()=>new Set(og)),[g,_]=(0,Z.useState)(n),[v,y]=(0,Z.useState)(null),[b,x]=(0,Z.useState)(null),[S,C]=(0,Z.useState)(``),w=(0,Z.useRef)(new Map),T=(0,Z.useMemo)(()=>o===void 0?m:new Set(o),[o,m]);(0,Z.useEffect)(()=>{p(e)},[e]);let E=(0,Z.useMemo)(()=>cg(f,T),[T,f]);(0,Z.useEffect)(()=>{g&&E.some(e=>e.item.id===g)||_(E[0]?.item.id??null)},[E,g]),(0,Z.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,Z.useCallback)(e=>{_(e),requestAnimationFrame(()=>w.current.get(e)?.focus())},[]),O=(0,Z.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,Z.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`&&sg(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(),sg(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,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{role:`tree`,"aria-label":`Projects and sessions`,"aria-multiselectable":`false`,className:G(`relative flex min-w-0 flex-col gap-0.5 [overflow-anchor:none] group-data-[state=collapsed]/sidebar:hidden`,d),children:(0,Q.jsx)(me,{initial:!1,children:E.map(e=>(0,Q.jsx)(hg,{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(lg(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,Q.jsx)(`span`,{className:`sr-only`,"aria-live":`polite`,children:S})]})}function _g(e){return e?.status===`running`?(0,Q.jsx)(pr,{className:`size-3.5 animate-spin`}):e?.status===`failed`?(0,Q.jsx)(Cr,{className:`size-3.5 text-destructive`}):e?.status===`interrupted`?(0,Q.jsx)(wo,{className:`size-3.5 text-muted-foreground`}):null}function vg({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,Q.jsx)(qp,{className:`gap-0 px-2.5 pb-1 pt-2`,children:(0,Q.jsxs)(Yp,{className:`p-0`,children:[(0,Q.jsxs)(`div`,{className:`relative mb-1 h-8`,children:[(0,Q.jsx)(Xp,{className:`mb-0 h-8 pe-20 text-xs font-normal normal-case tracking-normal text-muted-foreground`,children:`Projects`}),(0,Q.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,Q.jsxs)(Ks,{open:e,onOpenChange:t,side:`bottom`,align:`end`,className:`w-44 p-1`,trigger:(0,Q.jsx)(`button`,{type:`button`,"aria-label":`Project actions`,title:`Project actions`,className:G(Yi,`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,Q.jsx)(Ao,{"aria-hidden":`true`,className:`size-3.5`})}),children:[m?(0,Q.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,Q.jsx)(qn,{"aria-hidden":`true`,className:`size-3.5`}),`Add project`]}):null,(0,Q.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,Q.jsx)(on,{"aria-hidden":`true`,className:`size-3.5`}),`Collapse all`]})]}),m?(0,Q.jsx)(`button`,{type:`button`,"aria-label":`Add project`,title:`Add project`,onClick:i,className:G(Yi,`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,Q.jsx)(_r,{"aria-hidden":`true`,className:`size-3.5`})}):null]})]}),(0,Q.jsx)(Zp,{children:a.length===0?(0,Q.jsx)(`div`,{className:`px-2 py-4`,children:(0,Q.jsx)(ig,{title:`Add a project`,description:`Choose a local directory for Fleet Prime.`,count:0,itemLabel:`session`,previews:[{id:`empty-project`,content:(0,Q.jsx)(qn,{className:`size-5 text-muted-foreground`})}],onClick:i,ariaLabel:`Add a project`,className:`w-full`})}):(0,Q.jsx)(gg,{items:s,activeId:l?Gn(l):null,activeContainerId:c?nr(c):null,expandedIds:n,onExpandedIdsChange:r,onActiveChange:h,onContainerSelect:g,onRename:(e,t)=>{let n=or(e.id,ir);n&&p(n,t)},renderMenu:_,renderIcon:e=>{if(or(e.id,`project:`))return(0,Q.jsx)(lr,{className:`size-4`});if(e.id.startsWith(`toggle:`))return e.label===`Show less`?(0,Q.jsx)(bn,{className:`size-4`}):(0,Q.jsx)(on,{className:`size-4`});if(e.kind===`action`)return null;let t=or(e.id,ir);return _g(o.find(e=>e.sessionId===t))},renderSecondaryAction:e=>{let t=or(e.id,tr);return!t||t===`unassigned`?null:(0,Q.jsx)(Tr,{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,Q.jsx)(Ho,{"data-icon":`inline-start`,className:`size-3.5`})})},className:`px-0`})})]})})}function yg({className:e,...t}){return(0,Q.jsx)(`svg`,{"aria-hidden":`true`,viewBox:`0 0 24 24`,fill:`currentColor`,className:e,...t,children:(0,Q.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 bg({className:e,...t}){return(0,Q.jsx)(`svg`,{"aria-hidden":`true`,viewBox:`0 0 24 24`,fill:`currentColor`,className:e,...t,children:(0,Q.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 xg(){try{return`0.8.0`}catch{return`dev`}}function Sg(){let e=xg();return(0,Q.jsxs)(fi,{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 Cg(e,t){return e.filter(e=>e.messageCount>0||e.sessionId===t)}function wg(e){return e.toSorted((e,t)=>Date.parse(t.updatedAt)-Date.parse(e.updatedAt))}function Tg(e,t,n){let r=wg(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 Eg(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 Dg({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,Z.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,Q.jsxs)(`button`,{type:`button`,onClick:()=>{f(e.id),i?.(e.id)},className:G(`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,Q.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[e.pinned&&(0,Q.jsx)(Ro,{className:`text-foreground/30 size-2.5 shrink-0`}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body`,children:e.title})]}),(0,Q.jsx)(`span`,{className:`text-foreground/35 truncate text-xs`,children:e.preview})]},e.id);return(0,Q.jsxs)(`div`,{"data-slot":`thread-search`,className:G(Li,`flex w-full max-w-sm flex-col gap-1.5 rounded-2xl p-3`,a),...o,children:[(0,Q.jsxs)(`div`,{className:G(Ri,`flex items-center gap-2 rounded-xl px-2.5 py-1.5`),children:[(0,Q.jsx)(Sr,{className:`text-foreground/30 size-3.5 shrink-0`}),(0,Q.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,Q.jsxs)(`div`,{className:`flex flex-col`,children:[(0,Q.jsx)(`span`,{className:G(`font-mono text-caption tracking-tight`,`text-foreground/25 px-2 pb-1`),children:`pinned`}),c.map(h)]}),l.map(e=>(0,Q.jsxs)(`div`,{className:`flex flex-col`,children:[(0,Q.jsx)(`span`,{className:G(Ni,`text-foreground/25 px-2 pb-1`),children:e}),s.flatMap(t=>!t.pinned&&t.group===e?[h(t)]:[])]},e)),s.length===0&&(0,Q.jsxs)(`span`,{className:`text-foreground/30 px-2 py-4 text-center text-xs`,children:[`No thread matches “`,t,`”`]})]})}var Og=`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`,kg=`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 Ag({icon:e,label:t,onClick:n,href:r}){return r?(0,Q.jsxs)(`a`,{href:r,target:`_blank`,rel:`noreferrer`,className:Og,children:[(0,Q.jsx)(e,{className:`size-3.5`}),t]}):(0,Q.jsxs)(`button`,{type:`button`,onClick:n,className:Og,children:[(0,Q.jsx)(e,{className:`size-3.5`}),t]})}function jg({children:e}){return(0,Q.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 Mg({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,Z.useMemo)(()=>wg(f).map(e=>({id:e.sessionId,title:Xn(e,f),preview:Zn(e,h),group:sr(e.updatedAt),keywords:e.firstMessage?[Bn(e.firstMessage)]:[]})),[h,f]),A=(0,Z.useMemo)(()=>{let e=i.trim().toLowerCase();return e?m.filter(t=>`${t.name} ${t.pathLabel}`.toLowerCase().includes(e)):m},[i,m]);return(0,Q.jsx)(Hp,{ariaLabel:`Fleet projects and sessions`,collapsible:`offcanvas`,variant:`floating`,className:`text-sidebar-foreground`,children:(0,Q.jsxs)(Bi,{value:2,children:[(0,Q.jsxs)(Kp,{className:`gap-2 border-0 px-2.5 pb-2 pt-2.5`,children:[(0,Q.jsxs)(`div`,{className:`relative flex h-9 min-w-0 items-center justify-between gap-1`,children:[(0,Q.jsxs)(Ks,{open:e,onOpenChange:t,side:`bottom`,align:`start`,trigger:(0,Q.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,Q.jsx)(`span`,{className:`truncate`,children:`Qredence Fleet`}),(0,Q.jsx)(on,{className:`size-3.5 text-muted-foreground`})]}),className:`w-52 p-1`,children:[S?(0,Q.jsx)(Ag,{icon:qn,label:`Add project`,onClick:()=>{t(!1),u()}}):null,(0,Q.jsx)(Ag,{icon:Zt,label:`Settings`,onClick:()=>{t(!1),C?.()}}),(0,Q.jsx)(Ag,{icon:bo,label:`Documentation`,href:er})]}),(0,Q.jsx)(Ks,{open:n,onOpenChange:r,side:`bottom`,align:`end`,className:`w-64 p-0`,trigger:(0,Q.jsx)(Tr,{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,Q.jsx)(Sr,{"data-icon":`inline-start`,className:`size-4`})}),children:(0,Q.jsxs)(`div`,{className:`max-h-[min(32rem,calc(100dvh-5rem))] overflow-y-auto overscroll-contain`,children:[(0,Q.jsx)(Dg,{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,Q.jsxs)(`div`,{className:`border-t border-border/60 px-2 pb-2 pt-1.5`,children:[(0,Q.jsx)(`span`,{className:`px-2 pb-1 font-mono text-micro uppercase tracking-[0.14em] text-muted-foreground/60`,children:`Projects`}),(0,Q.jsxs)(`div`,{className:`mt-1 flex flex-col gap-0.5`,children:[A.map(e=>(0,Q.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,Q.jsx)(lr,{className:`size-3.5 shrink-0 text-muted-foreground/60`}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.name}),(0,Q.jsx)(`span`,{className:`max-w-24 truncate text-micro text-muted-foreground/55`,children:e.pathLabel})]},e.projectId)),A.length===0?(0,Q.jsxs)(`span`,{className:`p-2 text-center text-caption text-muted-foreground/60`,children:[`No project matches “`,i,`”`]}):null]})]}),(0,Q.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,Q.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,Q.jsx)(jg,{children:`↑`}),(0,Q.jsx)(jg,{children:`↓`}),`navigate`]}),(0,Q.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,Q.jsx)(jg,{children:`↵`}),`open`]}),(0,Q.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,Q.jsx)(jg,{children:`esc`}),`close`]})]})]})})]}),(0,Q.jsxs)(`button`,{type:`button`,onClick:v,className:kg,children:[(0,Q.jsx)(Ho,{className:`size-4 shrink-0 text-muted-foreground`}),`New chat`]})]}),(0,Q.jsx)(vg,{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,Q.jsxs)(Jp,{className:`flex-col gap-1 border-sidebar-border px-2.5 py-2 pb-[max(0.5rem,env(safe-area-inset-bottom))]`,children:[(0,Q.jsxs)(`a`,{href:Jn,target:`_blank`,rel:`noreferrer`,className:kg,children:[(0,Q.jsx)(yg,{className:`size-4 shrink-0 text-muted-foreground`}),`Twitter`]}),(0,Q.jsxs)(`a`,{href:ar,target:`_blank`,rel:`noreferrer`,className:kg,children:[(0,Q.jsx)(bg,{className:`size-4 shrink-0 text-muted-foreground`}),`Discord`]}),(0,Q.jsxs)(`div`,{className:`flex w-full flex-row items-center gap-1`,children:[(0,Q.jsx)(`div`,{className:`min-w-0 flex-1`,children:w??(0,Q.jsx)(`span`,{className:`flex h-8 items-center px-2 text-body`,children:`Qredence`})}),(0,Q.jsx)(Sg,{}),(0,Q.jsx)(`a`,{href:er,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,Q.jsx)(So,{className:`size-4`})})]})]}),(0,Q.jsx)(Wp,{})]})})}function Ng(e,t){return t.type===`update`?t.update(e):{...e,[t.field.key]:t.field.value}}function Pg(e){let[t,n]=(0,Z.useReducer)(Ng,e,e=>({brandMenuOpen:!1,projectActionsOpen:!1,searchOpen:!1,query:``,expandedProjectIds:$n(e),revealedProjectIds:new Set,activeDialog:null})),r=(0,Z.useCallback)(function(e,t){n({type:`set`,field:{key:e,value:t}})},[]),i=(0,Z.useCallback)(function(e,t){n({type:`update`,update:n=>({...n,[e]:t(n[e])})})},[]),a=(0,Z.useCallback)(e=>r(`brandMenuOpen`,e),[r]),o=(0,Z.useCallback)(e=>r(`projectActionsOpen`,e),[r]),s=(0,Z.useCallback)(e=>r(`searchOpen`,e),[r]),c=(0,Z.useCallback)(e=>r(`query`,e),[r]),l=(0,Z.useCallback)(e=>typeof e==`function`?i(`expandedProjectIds`,e):r(`expandedProjectIds`,e),[r,i]),u=(0,Z.useCallback)(e=>typeof e==`function`?i(`revealedProjectIds`,e):r(`revealedProjectIds`,e),[r,i]),d=(0,Z.useCallback)(e=>r(`activeDialog`,e),[r]),f=(0,Z.useCallback)(()=>r(`activeDialog`,null),[r]);return{...t,setBrandMenuOpen:a,setProjectActionsOpen:o,setSearchOpen:s,setQuery:c,setExpandedProjectIds:l,setRevealedProjectIds:u,setActiveDialog:d,closeDialog:f}}var Fg=[[`resources`,`Open Resources`,Yt],[`workspace`,`Open Workspace`,lr],[`artifacts`,`Open Artifacts`,mr]];function Ig({icon:e,label:t,destructive:n=!1,onClick:r}){return(0,Q.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,Q.jsx)(e,{className:`size-3.5`}),t]})}function Lg({sessions:e,projects:t=rr,projectSessions:n=e,activeProjectId:r,activeSessionId:i,onNewSession:a,onNewSessionInProject:o,onProjectSelect:s,onResumeSession:c,onForkSessionIntoProject:l,onOpenPanelAction:u,expandedProjectIds:d,revealedProjectIds:f,setExpandedProjectIds:p,setRevealedProjectIds:m,setSearchOpen:h,setActiveDialog:g}){let _=(0,Z.useMemo)(()=>new Map(t.map(e=>[e.projectId,e])),[t]),v=(0,Z.useMemo)(()=>Eg(t,n),[n,t]);(0,Z.useEffect)(()=>{if(!r)return;let e=nr(r);p(t=>t.includes(e)?t:[...t,e])},[r,p]),(0,Z.useEffect)(()=>{Or(Qn,JSON.stringify(d))},[d]);let y=(0,Z.useMemo)(()=>{let e=v.map(e=>{let t=Cg(n.filter(t=>t.projectId===e.projectId),i),r=f.has(e.projectId),a=Tg(t,i,r),o=a.map(e=>({id:Gn(e.sessionId),label:Xn(e,a),kind:`file`,...e.isSubagent?{indent:1}:{}}));if(t.length===0)o.push({id:Yn(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:nr(e.projectId),label:e.name,kind:`project`,children:o}}),t=wg(Cg(n.filter(e=>!e.projectId),i));if(t.length>0){let n=f.has(`unassigned`),r=Tg(t,i,n),a=r.map(e=>({id:Gn(e.sessionId),label:Xn(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,f,v]),b=(0,Z.useCallback)(e=>{o?o(e):(s?.(e),a())},[a,o,s]);return{projectById:_,sortedProjects:v,sidebarItems:y,resumeResource:(0,Z.useCallback)(e=>{let t=or(e,`toggle:`);if(t){m(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n});return}let r=or(e,Kn);if(r){b(r);return}let i=or(e,ir);if(!i)return;let a=n.find(e=>e.sessionId===i);a&&c(a)},[b,c,n,m]),toggleProjectResource:(0,Z.useCallback)(e=>{p(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[p]),selectSearchResult:(0,Z.useCallback)(e=>{let t=or(e,`search-project:`);if(t){let e=nr(t);p(t=>t.includes(e)?t:[...t,e]),s?.(t),h(!1);return}let r=or(e,`search-session:`),i=r?n.find(e=>e.sessionId===r):void 0;if(i){if(i.projectId){let e=nr(i.projectId);p(t=>t.includes(e)?t:[...t,e])}c(i),h(!1)}},[s,c,n,p,h]),renderMenu:(0,Z.useCallback)((e,r)=>{let i=or(e.id,ir),a=or(e.id,`project:`);if(i){let e=n.find(e=>e.sessionId===i);if(!e)return null;let a=e.projectId??void 0;return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Ig,{icon:hr,label:`Rename`,onClick:()=>{r.close(),g({kind:`rename-session`,session:e})}}),l&&t.length>1?(0,Q.jsx)(Ig,{icon:cr,label:`Fork into project`,onClick:()=>{r.close(),g({kind:`fork-session`,session:e})}}):null,u&&a?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{className:`my-1 border-t`}),Fg.map(([e,t,n])=>(0,Q.jsx)(Ig,{icon:n,label:t,onClick:()=>{r.close(),u({panel:e,projectId:a,focus:!0})}},e))]}):null,(0,Q.jsx)(Ig,{icon:Qt,label:`Delete`,destructive:!0,onClick:()=>{r.close(),g({kind:`delete-session`,session:e})}})]})}if(a&&a!==`unassigned`){let e=_.get(a);return e?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Ig,{icon:hr,label:`Rename project`,onClick:()=>{r.close(),g({kind:`rename-project`,project:e})}}),(0,Q.jsx)(Ig,{icon:Jo,label:`Unregister project`,destructive:!0,onClick:()=>{r.close(),g({kind:`unregister-project`,project:e})}}),u?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{className:`my-1 border-t`}),Fg.map(([e,t,n])=>(0,Q.jsx)(Ig,{icon:n,label:t,onClick:()=>{r.close(),u({panel:e,projectId:a,focus:!0})}},e))]}):null]}):null}return null},[l,u,_,n,t.length,g])}}var Rg=(0,Z.lazy)(()=>jr(async()=>{let{SessionSidebarCreateDialog:e}=await import(`./create-project-dialog-C00d5yCq.js`);return{SessionSidebarCreateDialog:e}},__vite__mapDeps([88,1,2,3,89,8,90,91,83,66,21,4,16,22,23,14,15,13,17,18,19,20,24,26,27,10,7,11,12,25,85,37])).then(({SessionSidebarCreateDialog:e})=>({default:e})));function zg({data:e,sessionActions:t,projectActions:n={},navigationActions:r={},slots:i={}}){let{sessions:a,projects:o=rr,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,onForkSessionIntoProject:y}=n,{onOpenPanelAction:b,onBrowseDirectories:x,onOpenSettings:S}=r,{accountMenu:C}=i,w=Pg(c),{projectById:T,sortedProjects:E,sidebarItems:D,resumeResource:O,toggleProjectResource:k,selectSearchResult:A,renderMenu:j}=Lg({sessions:a,projects:o,projectSessions:s,activeProjectId:c,activeSessionId:l,onNewSession:u,onNewSessionInProject:d,onProjectSelect:h,onResumeSession:f,onForkSessionIntoProject:y,onOpenPanelAction:b,expandedProjectIds:w.expandedProjectIds,revealedProjectIds:w.revealedProjectIds,setExpandedProjectIds:w.setExpandedProjectIds,setRevealedProjectIds:w.setRevealedProjectIds,setSearchOpen:w.setSearchOpen,setActiveDialog:w.setActiveDialog}),M=w.setActiveDialog,N=(0,Z.useCallback)(()=>{M({kind:`create-project`})},[M]),P=w.activeDialog?.kind===`create-project`;return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Mg,{brandMenuOpen:w.brandMenuOpen,setBrandMenuOpen:w.setBrandMenuOpen,searchOpen:w.searchOpen,setSearchOpen:w.setSearchOpen,query:w.query,setQuery:w.setQuery,projectActionsOpen:w.projectActionsOpen,setProjectActionsOpen:w.setProjectActionsOpen,expandedProjectIds:w.expandedProjectIds,setExpandedProjectIds:w.setExpandedProjectIds,onOpenCreateProject:N,projects:o,projectSessions:s,sidebarItems:D,sortedProjects:E,projectById:T,activeProjectId:c,activeSessionId:l,onNewSession:u,onNewSessionInProject:d,onProjectSelect:h,onRenameSession:p,onCreateProject:g,onOpenSettings:S,accountMenu:C,resumeResource:O,toggleProjectResource:k,selectSearchResult:A,renderMenu:j}),P?(0,Q.jsx)(Z.Suspense,{fallback:null,children:(0,Q.jsx)(Rg,{open:P,onClose:w.closeDialog,onBrowseDirectories:x,onCreateProject:g})}):null,(0,Q.jsx)(Yh,{activeDialog:w.activeDialog,onClose:w.closeDialog,projects:o,onRenameSession:p,onDeleteSession:m,onRenameProject:_,onUnregisterProject:v,onForkSessionIntoProject:y})]})}var Bg=(0,Z.lazy)(()=>jr(async()=>{let{SubagentChatPanel:e}=await import(`./subagent-chat-panel-DsPmLZSf.js`);return{SubagentChatPanel:e}},__vite__mapDeps([92,3,1,93,2,4,5,6,29,30,89,8,75,21,16,22,23,94,69,95,13,42,43,44,34,35,46,11,47,48,37,20,39,96,62,57,97,59,56,17,19,27,58,28,31,32,7,33,36,38,40,41,45,49,50,51,52,53,54,55,24,81,98,99])).then(({SubagentChatPanel:e})=>({default:e}))),Vg=(0,Z.lazy)(()=>jr(async()=>{let{SessionActivityPanel:e}=await import(`./session-activity-panel-Bc4-HSfb.js`);return{SessionActivityPanel:e}},__vite__mapDeps([100,3,1,8,2,31,34,35,21,4,16,22,23,97,37,59,43,56,17,13,19,27,99,46,11,47,48,39])).then(({SessionActivityPanel:e})=>({default:e})));function Hg(){let{session:e,conversation:t,composer:n,panels:r,dialogs:i,chrome:a,agentTabs:o}=Oh(),s=(0,Z.useCallback)(()=>{i.setCommandPaletteOpen(e=>!e)},[i.setCommandPaletteOpen]),c=(0,Z.useCallback)(()=>{r.setRightPanel(null),window.requestAnimationFrame(()=>Fh())},[r.setRightPanel]);Ih({onCommandPaletteToggle:s,onClosePanel:c,rightPanel:r.rightPanel,setRightPanel:r.setRightPanel});let l=e.projects.find(t=>t.projectId===e.activeProjectId)?.name,u=(0,Z.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),Zu(e)}})()},[n.chatMode,n.clearUploadedAttachments,n.clearWorkspaceAttachments,n.restoreAttachments,n.uploadedAttachments,n.workspaceAttachments,t.sendMessage]),d=(0,Z.useCallback)(e=>{let r=si(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,Z.useCallback)(async e=>{try{return await t.persistOpenUIArtifact(e)}catch(e){gr.error(`Artifact persistence failed: ${e instanceof Error?e.message:String(e)}`);return}},[t.persistOpenUIArtifact]),p=(0,Z.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,Z.useCallback)(()=>Qu(()=>e.startNewSession()),[e.startNewSession]),h=(0,Z.useCallback)(t=>{e.resumeSession({sessionId:t.sessionId})},[e.resumeSession]),g=(0,Z.useCallback)((t,n)=>{e.renameSession(t,n)},[e.renameSession]),_=(0,Z.useCallback)(t=>{e.deleteSession(t)},[e.deleteSession]),v=(0,Z.useCallback)(()=>{i.setSettingsDialogOpen(!0)},[i.setSettingsDialogOpen]),y=(0,Z.useMemo)(()=>({onNewSession:m,onNewSessionInProject:e.startNewSessionInProject,onResumeSession:h,onRenameSession:g,onDeleteSession:_}),[m,e.startNewSessionInProject,h,g,_]),b=(0,Z.useMemo)(()=>({onProjectSelect:e.selectProject,onCreateProject:e.createProject,onRenameProject:e.renameProject,onUnregisterProject:e.unregisterProject,onForkSessionIntoProject:e.forkSessionIntoProject}),[e.selectProject,e.createProject,e.renameProject,e.unregisterProject,e.forkSessionIntoProject]),x=(0,Z.useMemo)(()=>({onOpenPanelAction:e.openPanelAction,onBrowseDirectories:e.browseProjectDirectories,onOpenSettings:v}),[e.openPanelAction,e.browseProjectDirectories,v]),S=(0,Z.useMemo)(()=>({accountMenu:a.header.accountMenu}),[a.header.accountMenu]),C=td(n,e.activeSessionId),w=o.activeTabId===`activity`?(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(`div`,{className:`flex min-h-32 flex-1 items-center justify-center text-xs text-foreground/45`,children:`Loading session activity…`}),children:(0,Q.jsx)(Vg,{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,Q.jsx)(Tl,{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,suppressQuestionTool:!!n.pendingQuestionBar,inputBar:C,onSend:u,onOpenUIAction:d,onStop:t.stop}):(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(`div`,{className:`flex min-h-32 flex-1 items-center justify-center text-xs text-foreground/45`,children:`Loading subagent thread…`}),children:(0,Q.jsx)(Bg,{child:o.selectedChild,parentSessionId:e.activeSessionId,state:o.conversation})});return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Wm,{chrome:a,conversation:t,dialogs:i,panels:r,session:e}),(0,Q.jsxs)(br,{chatPanelData:r.chatPanelData,onOpenUIAction:d,settingsActions:r.settingsActions,workspaceTree:r.workspaceTreeContext,children:[(0,Q.jsxs)(Bp,{className:`h-svh min-h-0 rounded-none border-0`,children:[(0,Q.jsx)(zg,{data:p,sessionActions:y,projectActions:b,navigationActions:x,slots:S}),(0,Q.jsx)(Gp,{className:`h-svh min-h-0 overflow-hidden`,children:(0,Q.jsx)(Ah,{headerLeft:a.header.left,headerCenter:a.header.center,headerRight:a.header.right,panel:(0,Q.jsx)(Ur,{children:(0,Q.jsx)(Uh,{handleResourceCanvasResizeStart:r.handleResourceCanvasResizeStart,onClose:c,onResourceCanvasWidthChange:r.handleResourceCanvasWidthChange,resourceCanvasWidth:r.resourceCanvasWidth})}),children:(0,Q.jsx)(`div`,{"aria-labelledby":jm(o.activeTabId),className:`flex min-h-0 min-w-0 flex-1 flex-col`,"data-testid":`agent-tab-panel`,id:Mm(o.activeTabId),role:`tabpanel`,children:w})})})]}),(0,Q.jsx)(Gm,{dialogs:i})]})]})}var Ug=Hg;export{Ug as component};
|