@bryanhu/codexly 0.13.0 → 0.15.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 +17 -0
- package/README.md +1 -1
- package/README.zh-CN.md +1 -1
- package/dist/{chunk-HHFZB7H6.js → chunk-47AJCGF6.js} +70 -76
- package/dist/{chunk-OVQSIEIK.js → chunk-I74DBIGI.js} +1 -1
- package/dist/{chunk-G4BIMVEW.js → chunk-P3ZQ3QOJ.js} +2 -176
- package/dist/{chunk-TVRHN6RY.js → chunk-PJNYCTFC.js} +1 -1
- package/dist/cli.js +5 -5
- package/dist/client/index.js +2 -2
- package/dist/protocol/index.js +1 -1
- package/dist/providers/codex/index.js +2 -2
- package/dist/server/index.js +4 -4
- package/dist/web/.vite/manifest.json +74 -74
- package/dist/web/.vite/manifest.json.br +0 -0
- package/dist/web/.vite/manifest.json.gz +0 -0
- package/dist/web/assets/{button-group-CaIXhcq-.js → button-group-BXsWRHx1.js} +1 -1
- package/dist/web/assets/button-group-BXsWRHx1.js.br +0 -0
- package/dist/web/assets/button-group-BXsWRHx1.js.gz +0 -0
- package/dist/web/assets/{context-menu-C6o4ShKC.js → context-menu-D28EIDXC.js} +1 -1
- package/dist/web/assets/context-menu-D28EIDXC.js.br +0 -0
- package/dist/web/assets/context-menu-D28EIDXC.js.gz +0 -0
- package/dist/web/assets/{file-review-dialog-Cd_FWDJj.js → file-review-dialog-D5uAITDY.js} +1 -1
- package/dist/web/assets/file-review-dialog-D5uAITDY.js.br +0 -0
- package/dist/web/assets/file-review-dialog-D5uAITDY.js.gz +0 -0
- package/dist/web/assets/{git-history-panel-CkQhJ-Tz.js → git-history-panel-CJ0YniVw.js} +1 -1
- package/dist/web/assets/git-history-panel-CJ0YniVw.js.br +0 -0
- package/dist/web/assets/git-history-panel-CJ0YniVw.js.gz +0 -0
- package/dist/web/assets/{global-settings-dialog-B9ACq0CT.js → global-settings-dialog-DxUssxBm.js} +1 -1
- package/dist/web/assets/global-settings-dialog-DxUssxBm.js.br +0 -0
- package/dist/web/assets/global-settings-dialog-DxUssxBm.js.gz +0 -0
- package/dist/web/assets/index-BfZBHCrX.css +2 -0
- package/dist/web/assets/index-BfZBHCrX.css.br +0 -0
- package/dist/web/assets/index-BfZBHCrX.css.gz +0 -0
- package/dist/web/assets/index-DU2EMreA.js +4 -0
- package/dist/web/assets/index-DU2EMreA.js.br +0 -0
- package/dist/web/assets/index-DU2EMreA.js.gz +0 -0
- package/dist/web/assets/initial-deps-Dr1AWuHB.js +1 -0
- package/dist/web/assets/initial-deps-Dr1AWuHB.js.br +0 -0
- package/dist/web/assets/initial-deps-Dr1AWuHB.js.gz +0 -0
- package/dist/web/assets/{installed-skills-pane-BmjTd0Qn.js → installed-skills-pane-B2bwKvYB.js} +1 -1
- package/dist/web/assets/installed-skills-pane-B2bwKvYB.js.br +0 -0
- package/dist/web/assets/installed-skills-pane-B2bwKvYB.js.gz +0 -0
- package/dist/web/assets/{lazy-message-response-Cnc-bbSf.js → lazy-message-response-CD-7ydp6.js} +2 -2
- package/dist/web/assets/lazy-message-response-CD-7ydp6.js.br +0 -0
- package/dist/web/assets/lazy-message-response-CD-7ydp6.js.gz +0 -0
- package/dist/web/assets/{mcp-management-pane-CQPXfAO3.js → mcp-management-pane-Bu90n81z.js} +1 -1
- package/dist/web/assets/mcp-management-pane-Bu90n81z.js.br +0 -0
- package/dist/web/assets/mcp-management-pane-Bu90n81z.js.gz +0 -0
- package/dist/web/assets/{message-response-CamC0ebm.js → message-response-4TUNdrGf.js} +1 -1
- package/dist/web/assets/message-response-4TUNdrGf.js.br +0 -0
- package/dist/web/assets/message-response-4TUNdrGf.js.gz +0 -0
- package/dist/web/assets/{official-plugins-pane-BqGBX0cD.js → official-plugins-pane-BAplGO76.js} +1 -1
- package/dist/web/assets/official-plugins-pane-BAplGO76.js.br +0 -0
- package/dist/web/assets/official-plugins-pane-BAplGO76.js.gz +0 -0
- package/dist/web/assets/{project-file-popup-page-DCct78Pu.js → project-file-popup-page-Dad56YW6.js} +1 -1
- package/dist/web/assets/project-file-popup-page-Dad56YW6.js.br +0 -0
- package/dist/web/assets/project-file-popup-page-Dad56YW6.js.gz +0 -0
- package/dist/web/assets/{project-source-panel-BC6YVLSp.js → project-source-panel-DdnLauha.js} +1 -1
- package/dist/web/assets/project-source-panel-DdnLauha.js.br +0 -0
- package/dist/web/assets/project-source-panel-DdnLauha.js.gz +0 -0
- package/dist/web/assets/{prompt-input-FNZNBIXc.js → prompt-input-BLHOBOyz.js} +1 -1
- package/dist/web/assets/prompt-input-BLHOBOyz.js.br +0 -0
- package/dist/web/assets/prompt-input-BLHOBOyz.js.gz +0 -0
- package/dist/web/assets/{prompt-input-controls-BTOpD8Y-.js → prompt-input-controls-Bu3i8AYj.js} +1 -1
- package/dist/web/assets/prompt-input-controls-Bu3i8AYj.js.br +0 -0
- package/dist/web/assets/prompt-input-controls-Bu3i8AYj.js.gz +0 -0
- package/dist/web/assets/{scheduled-task-date-time-picker-CL9Xb-R5.js → scheduled-task-date-time-picker-DbSm8_GZ.js} +1 -1
- package/dist/web/assets/scheduled-task-date-time-picker-DbSm8_GZ.js.br +0 -0
- package/dist/web/assets/scheduled-task-date-time-picker-DbSm8_GZ.js.gz +0 -0
- package/dist/web/assets/scheduled-task-schedule-Cfuv_Kyf.js +1 -0
- package/dist/web/assets/scheduled-task-schedule-Cfuv_Kyf.js.br +0 -0
- package/dist/web/assets/scheduled-task-schedule-Cfuv_Kyf.js.gz +0 -0
- package/dist/web/assets/scheduled-tasks-container-mdJsjyAO.js +2 -0
- package/dist/web/assets/scheduled-tasks-container-mdJsjyAO.js.br +0 -0
- package/dist/web/assets/scheduled-tasks-container-mdJsjyAO.js.gz +0 -0
- package/dist/web/assets/{sheet-CJD6cMoi.js → sheet-fQvy64oz.js} +1 -1
- package/dist/web/assets/sheet-fQvy64oz.js.br +0 -0
- package/dist/web/assets/sheet-fQvy64oz.js.gz +0 -0
- package/dist/web/assets/{skills-market-container-B8Mss3fh.js → skills-market-container-D6fr7HYq.js} +2 -2
- package/dist/web/assets/skills-market-container-D6fr7HYq.js.br +0 -0
- package/dist/web/assets/skills-market-container-D6fr7HYq.js.gz +0 -0
- package/dist/web/assets/{third-party-marketplace-pane-BsSxaqQR.js → third-party-marketplace-pane-DH6UbCFu.js} +1 -1
- package/dist/web/assets/third-party-marketplace-pane-DH6UbCFu.js.br +0 -0
- package/dist/web/assets/third-party-marketplace-pane-DH6UbCFu.js.gz +0 -0
- package/dist/web/assets/workbench-composer-CB04rkAG.js +10 -0
- package/dist/web/assets/workbench-composer-CB04rkAG.js.br +0 -0
- package/dist/web/assets/workbench-composer-CB04rkAG.js.gz +0 -0
- package/dist/web/assets/{workbench-inspector-changes-DcJkQFAH.js → workbench-inspector-changes-DB14OhYw.js} +1 -1
- package/dist/web/assets/workbench-inspector-changes-DB14OhYw.js.br +0 -0
- package/dist/web/assets/workbench-inspector-changes-DB14OhYw.js.gz +0 -0
- package/dist/web/assets/{workbench-pet-canvas-BR5AhUVL.js → workbench-pet-canvas-B8-i2EYj.js} +1 -1
- package/dist/web/assets/workbench-pet-canvas-B8-i2EYj.js.br +0 -0
- package/dist/web/assets/workbench-pet-canvas-B8-i2EYj.js.gz +0 -0
- package/dist/web/assets/{workbench-shell-5F-GWLMO.js → workbench-shell-BqIxxcmn.js} +3 -3
- package/dist/web/assets/workbench-shell-BqIxxcmn.js.br +0 -0
- package/dist/web/assets/workbench-shell-BqIxxcmn.js.gz +0 -0
- package/dist/web/index.html +3 -3
- package/dist/web/index.html.br +0 -0
- package/dist/web/index.html.gz +0 -0
- package/package.json +1 -1
- package/dist/web/assets/button-group-CaIXhcq-.js.br +0 -0
- package/dist/web/assets/button-group-CaIXhcq-.js.gz +0 -0
- package/dist/web/assets/context-menu-C6o4ShKC.js.br +0 -0
- package/dist/web/assets/context-menu-C6o4ShKC.js.gz +0 -0
- package/dist/web/assets/file-review-dialog-Cd_FWDJj.js.br +0 -0
- package/dist/web/assets/file-review-dialog-Cd_FWDJj.js.gz +0 -0
- package/dist/web/assets/git-history-panel-CkQhJ-Tz.js.br +0 -0
- package/dist/web/assets/git-history-panel-CkQhJ-Tz.js.gz +0 -0
- package/dist/web/assets/global-settings-dialog-B9ACq0CT.js.br +0 -0
- package/dist/web/assets/global-settings-dialog-B9ACq0CT.js.gz +0 -0
- package/dist/web/assets/index-CergXz2m.js +0 -4
- package/dist/web/assets/index-CergXz2m.js.br +0 -0
- package/dist/web/assets/index-CergXz2m.js.gz +0 -0
- package/dist/web/assets/index-jg-dNJI1.css +0 -2
- package/dist/web/assets/index-jg-dNJI1.css.br +0 -0
- package/dist/web/assets/index-jg-dNJI1.css.gz +0 -0
- package/dist/web/assets/initial-deps-Ds-edw-P.js +0 -1
- package/dist/web/assets/initial-deps-Ds-edw-P.js.br +0 -0
- package/dist/web/assets/initial-deps-Ds-edw-P.js.gz +0 -0
- package/dist/web/assets/installed-skills-pane-BmjTd0Qn.js.br +0 -0
- package/dist/web/assets/installed-skills-pane-BmjTd0Qn.js.gz +0 -0
- package/dist/web/assets/lazy-message-response-Cnc-bbSf.js.br +0 -0
- package/dist/web/assets/lazy-message-response-Cnc-bbSf.js.gz +0 -0
- package/dist/web/assets/mcp-management-pane-CQPXfAO3.js.br +0 -0
- package/dist/web/assets/mcp-management-pane-CQPXfAO3.js.gz +0 -0
- package/dist/web/assets/message-response-CamC0ebm.js.br +0 -0
- package/dist/web/assets/message-response-CamC0ebm.js.gz +0 -0
- package/dist/web/assets/official-plugins-pane-BqGBX0cD.js.br +0 -0
- package/dist/web/assets/official-plugins-pane-BqGBX0cD.js.gz +0 -0
- package/dist/web/assets/project-file-popup-page-DCct78Pu.js.br +0 -0
- package/dist/web/assets/project-file-popup-page-DCct78Pu.js.gz +0 -0
- package/dist/web/assets/project-source-panel-BC6YVLSp.js.br +0 -0
- package/dist/web/assets/project-source-panel-BC6YVLSp.js.gz +0 -0
- package/dist/web/assets/prompt-input-FNZNBIXc.js.br +0 -0
- package/dist/web/assets/prompt-input-FNZNBIXc.js.gz +0 -0
- package/dist/web/assets/prompt-input-controls-BTOpD8Y-.js.br +0 -0
- package/dist/web/assets/prompt-input-controls-BTOpD8Y-.js.gz +0 -0
- package/dist/web/assets/scheduled-task-date-time-picker-CL9Xb-R5.js.br +0 -0
- package/dist/web/assets/scheduled-task-date-time-picker-CL9Xb-R5.js.gz +0 -0
- package/dist/web/assets/scheduled-task-schedule-DfXHCkgb.js +0 -1
- package/dist/web/assets/scheduled-task-schedule-DfXHCkgb.js.br +0 -0
- package/dist/web/assets/scheduled-task-schedule-DfXHCkgb.js.gz +0 -0
- package/dist/web/assets/scheduled-tasks-container-Bn6tqtCc.js +0 -2
- package/dist/web/assets/scheduled-tasks-container-Bn6tqtCc.js.br +0 -0
- package/dist/web/assets/scheduled-tasks-container-Bn6tqtCc.js.gz +0 -0
- package/dist/web/assets/sheet-CJD6cMoi.js.br +0 -0
- package/dist/web/assets/sheet-CJD6cMoi.js.gz +0 -0
- package/dist/web/assets/skills-market-container-B8Mss3fh.js.br +0 -0
- package/dist/web/assets/skills-market-container-B8Mss3fh.js.gz +0 -0
- package/dist/web/assets/third-party-marketplace-pane-BsSxaqQR.js.br +0 -0
- package/dist/web/assets/third-party-marketplace-pane-BsSxaqQR.js.gz +0 -0
- package/dist/web/assets/workbench-composer-Co9mAWP_.js +0 -10
- package/dist/web/assets/workbench-composer-Co9mAWP_.js.br +0 -0
- package/dist/web/assets/workbench-composer-Co9mAWP_.js.gz +0 -0
- package/dist/web/assets/workbench-inspector-changes-DcJkQFAH.js.br +0 -0
- package/dist/web/assets/workbench-inspector-changes-DcJkQFAH.js.gz +0 -0
- package/dist/web/assets/workbench-pet-canvas-BR5AhUVL.js.br +0 -0
- package/dist/web/assets/workbench-pet-canvas-BR5AhUVL.js.gz +0 -0
- package/dist/web/assets/workbench-shell-5F-GWLMO.js.br +0 -0
- package/dist/web/assets/workbench-shell-5F-GWLMO.js.gz +0 -0
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-CNC7AqOf.js";import{i as t,t as n}from"./react-runtime-DaCTDC27.js";import{a as r,b as i,f as a,l as o,o as s,s as c}from"./initial-deps-CTprc_pY.js";import{c as l,l as u,s as d}from"./initial-deps-BsEyuMB0.js";import{d as f,f as p,l as m,m as h,n as g,p as _,u as v}from"./initial-deps-Ds-edw-P.js";import{B as y,E as b,H as x,O as S,Q as C,U as w,V as T,W as E,at as D,b as ee,g as te,j as O,n as ne,nt as k,p as A,q as j,s as M,t as N,u as P,v as F}from"./initial-deps-DqJTHr9A.js";import{t as re}from"./file-pen-line-B05lVjWh.js";import{_ as I,a as ie,b as L,c as R,d as z,f as B,g as V,h as ae,i as H,l as U,n as oe,o as se,p as W,r as G,s as ce,t as le,u as ue,x as de}from"./prompt-input-controls-BTOpD8Y-.js";import{i as fe,n as pe,r as me,t as he}from"./prompt-input-FNZNBIXc.js";import{t as ge}from"./sparkles-BLY9rqMO.js";import{G as _e,K as ve,U as ye,W as be,at as xe,ct as Se,dt as Ce,ft as we,gt as Te,ht as Ee,it as De,lt as Oe,ot as ke,pt as Ae,st as je,ut as Me}from"./initial-deps-CQxWMuPh.js";import{$ as Ne,A as Pe,B as K,D as Fe,E as Ie,F as Le,G as Re,H as ze,I as Be,J as Ve,K as He,M as Ue,Mt as We,N as q,O as Ge,Ot as Ke,P as qe,Q as J,R as Je,T as Ye,U as Xe,V as Y,X as Ze,Y as Qe,Z as $e,at as et,bt as tt,c as nt,et as rt,fn as it,ht as at,j as X,k as ot,l as st,mt as Z,o as ct,ot as lt,q as ut,rn as dt,rt as ft,s as pt,tt as mt,yt as ht,z as gt}from"./index-CergXz2m.js";import{t as _t}from"./prompt-reference-token-Cxx6C-IR.js";var vt=C(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),yt=C(`box`,[[`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`,key:`hh9hay`}],[`path`,{d:`m3.3 7 8.7 5 8.7-5`,key:`g66t2b`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}]]),bt=C(`bug`,[[`path`,{d:`M12 20v-9`,key:`1qisl0`}],[`path`,{d:`M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z`,key:`uouzyp`}],[`path`,{d:`M14.12 3.88 16 2`,key:`qol33r`}],[`path`,{d:`M21 21a4 4 0 0 0-3.81-4`,key:`1b0z45`}],[`path`,{d:`M21 5a4 4 0 0 1-3.55 3.97`,key:`5cxbf6`}],[`path`,{d:`M22 13h-4`,key:`1jl80f`}],[`path`,{d:`M3 21a4 4 0 0 1 3.81-4`,key:`1fjd4g`}],[`path`,{d:`M3 5a4 4 0 0 0 3.55 3.97`,key:`1d7oge`}],[`path`,{d:`M6 13H2`,key:`82j7cp`}],[`path`,{d:`m8 2 1.88 1.88`,key:`fmnt4t`}],[`path`,{d:`M9 7.13V6a3 3 0 1 1 6 0v1.13`,key:`1vgav8`}]]),xt=C(`chevrons-up-down`,[[`path`,{d:`m7 15 5 5 5-5`,key:`1hf1tw`}],[`path`,{d:`m7 9 5-5 5 5`,key:`sgt6xg`}]]),St=C(`circle-gauge`,[[`path`,{d:`M15.6 2.7a10 10 0 1 0 5.7 5.7`,key:`1e0p6d`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}],[`path`,{d:`M13.4 10.6 19 5`,key:`1kr7tw`}]]),Ct=C(`clock-3`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6h4`,key:`135r8i`}]]),wt=C(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),Tt=C(`folder-kanban`,[[`path`,{d:`M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z`,key:`1fr9dc`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M12 10v2`,key:`hh53o1`}],[`path`,{d:`M16 10v6`,key:`1d6xys`}]]),Et=C(`git-branch`,[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`,key:`1cii5b`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}]]),Dt=C(`lightbulb`,[[`path`,{d:`M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5`,key:`1gvzjb`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]),Ot=C(`message-circle-question-mark`,[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`,key:`1sd12s`}],[`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`}]]),kt=C(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),At=C(`save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]),jt=C(`send-horizontal`,[[`path`,{d:`M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z`,key:`117uat`}],[`path`,{d:`M6 12h16`,key:`s4cdu5`}]]),Mt=C(`target`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`circle`,{cx:`12`,cy:`12`,r:`6`,key:`1vlfrh`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]),Nt=C(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]),Q=e(t(),1),$=n(),Pt=Object.defineProperty,Ft=(e,t)=>Pt(e,`name`,{value:t,configurable:!0}),It=`Popover`,[Lt,Rt]=we(It,[ve]),zt=ve(),[Bt,Vt]=Lt(It),Ht=Ft(e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=zt(t),c=Q.useRef(null),[l,u]=Q.useState(!1),[d,f]=Me({prop:r,defaultProp:i??!1,onChange:a,caller:It});return(0,$.jsx)(_e,{...s,children:(0,$.jsx)(Bt,{scope:t,contentId:Se(),triggerRef:c,open:d,onOpenChange:f,onOpenToggle:Q.useCallback(()=>f(e=>!e),[f]),hasCustomAnchor:l,onCustomAnchorAdd:Q.useCallback(()=>u(!0),[]),onCustomAnchorRemove:Q.useCallback(()=>u(!1),[]),modal:o,children:n})})},`Popover`),Ut=`PopoverTrigger`,Wt=Q.forwardRef(Ft(function(e,t){let{__scopePopover:n,...r}=e,i=Vt(Ut,n),a=zt(n),o=Te(t,i.triggerRef),s=(0,$.jsx)(Ae.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":tn(i.open),...r,ref:o,onClick:Ce(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,$.jsx)(ye,{asChild:!0,...a,children:s})},`PopoverTrigger`)),Gt=`PopoverPortal`,[Kt,qt]=Lt(Gt,{forceMount:void 0}),Jt=Ft(e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=Vt(Gt,t);return(0,$.jsx)(Kt,{scope:t,forceMount:n,children:(0,$.jsx)(Oe,{present:n||a.open,children:(0,$.jsx)(xe,{asChild:!0,container:i,children:r})})})},`PopoverPortal`),Yt=`PopoverContent`,Xt=Q.forwardRef(Ft(function(e,t){let n=qt(Yt,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=Vt(Yt,e.__scopePopover);return(0,$.jsx)(Oe,{present:r||a.open,children:a.modal?(0,$.jsx)(Qt,{...i,ref:t}):(0,$.jsx)($t,{...i,ref:t})})},`PopoverContent`)),Zt=Ee(`PopoverContent.RemoveScroll`),Qt=Q.forwardRef(Ft(function(e,t){let n=Vt(Yt,e.__scopePopover),r=Q.useRef(null),i=Te(t,r),a=Q.useRef(!1);return Q.useEffect(()=>{let e=r.current;if(e)return N(e)},[]),(0,$.jsx)(ne,{as:Zt,allowPinchZoom:!0,children:(0,$.jsx)(en,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Ce(e.onCloseAutoFocus,e=>{e.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:Ce(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;a.current=r},{checkForDefaultPrevented:!1}),onFocusOutside:Ce(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})},`PopoverContentModal`)),$t=Q.forwardRef(Ft(function(e,t){let n=Vt(Yt,e.__scopePopover),r=Q.useRef(!1),i=Q.useRef(!1);return(0,$.jsx)(en,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})},`PopoverContentNonModal`)),en=Q.forwardRef(Ft(function(e,t){let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onInteractOutside:u,...d}=e,f=Vt(Yt,n),p=zt(n);return De(),(0,$.jsx)(ke,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,$.jsx)(je,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>f.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,$.jsx)(be,{"data-state":tn(f.open),role:`dialog`,id:f.contentId,...p,...d,ref:t,style:{...d.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})},`PopoverContentImpl`));function tn(e){return e?`open`:`closed`}Ft(tn,`getState`);var nn=Ht,rn=Wt,an=Jt,on=Xt;function sn(e,t){return cn([...t.flatMap(e=>[{skill:e,type:`skill`},{text:` `,type:`text`}]),...e===``?[]:[{text:e,type:`text`}]])}function cn(e){let t=[];for(let n of e){if(n.type===`text`){if(n.text===``)continue;let e=t.at(-1);e?.type===`text`?t[t.length-1]={text:e.text+n.text,type:`text`}:t.push(n);continue}t.push(n)}return t}function ln(e){return`$${e.name}`}function un(e){return`${e.rootId}\u0000${e.path}`}function dn(e){let t=e.rootPath.includes(`\\`)&&!e.rootPath.includes(`/`),n=t?`\\`:`/`;return`@${e.rootPath.replace(/[\\/]+$/u,``)}${n}${t?e.path.replace(/\//gu,`\\`).replace(/^\\+/u,``):e.path.replace(/\\/gu,`/`).replace(/^\/+/u,``)}`}function fn(e){return e.type===`text`?e.text.length:e.type===`skill`?ln(e.skill).length:dn(e.file).length}function pn(e,t){let n=[],r=[],i=0;for(let a of e){let e=fn(a),o=i+e;if(t<=i)r.push(a);else if(t>=o)n.push(a);else if(a.type===`text`){let e=t-i;n.push({text:a.text.slice(0,e),type:`text`}),r.push({text:a.text.slice(e),type:`text`})}else(t-i<e/2?r:n).push(a);i=o}return[cn(n),cn(r)]}function mn(e,t){let n=0;for(let r of e){let e=n+fn(r);if(t.start>=n&&t.end<=e)return r.type===`text`;n=e}return!1}function hn(e,t,n){let[r]=pn(e,t.start),[,i]=pn(e,t.end),a=e.some(e=>e.type===`skill`&&e.skill.id===n.id);return cn([...r,...a?[]:[{skill:n,type:`skill`}],...i])}function gn(e,t,n){let[r]=pn(e,t.start),[,i]=pn(e,t.end),a=e.some(e=>e.type===`file`&&un(e.file)===un(n));return cn([...r,...a?[]:[{file:n,type:`file`}],...i])}function _n(e,t){if(e.some(e=>e.type===`file`&&un(e.file)===un(t)))return e;let n=Sn(e);return cn([...e,...n===``||/\s$/u.test(n)?[]:[{text:` `,type:`text`}],{file:t,type:`file`}])}function vn(e,t){let n=new Map(t.map(e=>[e.name,e])),r=new Set(e.flatMap(e=>e.type===`skill`?[e.skill.id]:[])),i=[],a=!1;for(let t of e){if(t.type!==`text`){i.push(t);continue}let e=0;for(let o of t.text.matchAll(/\$([^\s$]+)/gu)){let s=o.index,c=o[1],l=t.text[s-1],u=c===void 0?void 0:n.get(c);if(u===void 0||l!==void 0&&!/\s/u.test(l))continue;let d=s+o[0].length;i.push({text:t.text.slice(e,s),type:`text`}),r.has(u.id)||(i.push({skill:u,type:`skill`}),r.add(u.id)),e=d,a=!0}i.push({text:t.text.slice(e),type:`text`})}return a?cn(i):e}function yn(e,t){let[n]=pn(e,t.start),[,r]=pn(e,t.end);return cn([...n,...r])}function bn(e,t){return cn(e.filter(e=>e.type!==`skill`||e.skill.id!==t))}function xn(e,t){let n=un(t);return cn(e.filter(e=>e.type!==`file`||un(e.file)!==n))}function Sn(e){return e.map(e=>e.type===`text`?e.text:e.type===`skill`?ln(e.skill):dn(e.file)).join(``)}function Cn(e){let t=[],n=``,r=!1;for(let i of e){if(i.type===`skill`){t.push(i.skill);continue}let e=i.type===`file`?dn(i.file):i.text;e!==``&&((i.type===`file`&&n!==``&&!/\s$/u.test(n)||r&&!/^\s/u.test(e))&&(n+=` `),n+=e,r=i.type===`file`)}return{skills:t,text:n.trim()}}function wn(e){let t=Cn(e);return t.text===``&&t.skills.length===0}var Tn=e=>Symbol.iterator in e,En=e=>`entries`in e,Dn=(e,t)=>{let n=e instanceof Map?e:new Map(e.entries()),r=t instanceof Map?t:new Map(t.entries());if(n.size!==r.size)return!1;for(let[e,t]of n)if(!r.has(e)||!Object.is(t,r.get(e)))return!1;return!0},On=(e,t)=>{let n=e[Symbol.iterator](),r=t[Symbol.iterator](),i=n.next(),a=r.next();for(;!i.done&&!a.done;){if(!Object.is(i.value,a.value))return!1;i=n.next(),a=r.next()}return!!i.done&&!!a.done};function kn(e,t){return Object.is(e,t)?!0:typeof e!=`object`||!e||typeof t!=`object`||!t||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?!1:Tn(e)&&Tn(t)?En(e)&&En(t)?Dn(e,t):On(e,t):Dn({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}function An(e){let t=Q.useRef(void 0);return n=>{let r=e(n);return kn(t.current,r)?t.current:t.current=r}}var jn=[];function Mn(e,t){let n=e.questions??[],r=t.trim();for(let e=0;e<n.length;e++){let t=n[e];if(t===void 0)return!1;let i=t.title,a=`${e===0?i.trimStart():i}\n`;if(!r.startsWith(a))return!1;r=r.slice(a.length);let o=n[e+1];if(o===void 0)return r.trim().length>0;let s=r.indexOf(`\n\n${o.title}\n`);if(s<1||r.slice(0,s).trim()===``)return!1;r=r.slice(s+2)}return!1}function Nn(e){let t=[];for(let n of e.turnIds)for(let r of e.itemKeysByTurnId[n]??[]){let n=e.itemStoresByKey.get(r)?.peek();if(n?.type===`message`){if(n.role===`assistant`&&(n.questions?.length??0)>0)t.push({key:r,item:n});else if(n.role===`user`){let e=t.findLastIndex(e=>Mn(e.item,n.text));e>=0&&t.splice(e,1)}}}return t}function Pn(e){let t=-1,n,r=jn;return{subscribe:t=>e?.subscribe(t)??(()=>void 0),getSnapshot:()=>{let i=e?.getState();if(i===void 0)return jn;if(t===i.itemStructureRevision&&n===i.itemStoresByKey)return r;t=i.itemStructureRevision,n=i.itemStoresByKey;let a=Nn(i);return(a.length!==r.length||a.some((e,t)=>e.key!==r[t]?.key||e.item!==r[t].item))&&(r=a),r}}}var Fn=()=>l(()=>({drafts:new Map})),In=(0,Q.createContext)(null);function Ln({children:e,enabled:t,submit:n}){let[r]=(0,Q.useState)(Fn),i=(0,Q.useMemo)(()=>({enabled:t,store:r,submit:n}),[t,r,n]);return(0,$.jsx)(In,{value:i,children:e})}var Rn=()=>(0,Q.useContext)(In);function zn(e,t,n){e.setState(e=>{let r=new Map(e.drafts);if(r.delete(t),r.set(t,n),r.size>128){for(let[e,n]of r)if(e!==t&&n.status!==`sending`){r.delete(e);break}}return{drafts:r}})}function Bn({item:e}){let{t}=k(`conversation`),n=Rn(),[r]=(0,Q.useState)(Fn),i=n?.store??r,a=d(i,t=>t.drafts.get(e.id)),[o]=(0,Q.useState)(()=>({answers:(e.questions??[]).map(e=>({choice:e.options===null?null:0,text:``})),status:`editing`,error:!1})),s=a??o,c=(0,Q.useId)(),l=e.questions??[],u=n?.enabled!==!0||s.status!==`editing`,f=l.map((e,t)=>{let n=s.answers[t];return n?.choice===null?n.text.trim():e.options?.[n?.choice??0]??``}),p=l.map((e,t)=>`${e.title}\n${f[t]??``}`).join(`
|
|
2
|
-
|
|
3
|
-
`),m=f.every(e=>e.length>0)&&p.length<=1e5,h=(t,n)=>{zn(i,e.id,{...s,error:!1,answers:s.answers.map((e,r)=>r===t?{...e,...n}:e)})},g=async()=>{let t=i.getState().drafts.get(e.id)?.status??`editing`;if(!m||n?.enabled!==!0||t!==`editing`)return;zn(i,e.id,{...s,status:`sending`,error:!1});let r=!1;try{r=await n.submit(p)}catch{}zn(i,e.id,{...s,status:r?`sent`:`editing`,error:!r})};return(0,$.jsxs)(`form`,{className:`min-w-0 space-y-4 border-l-2 border-brand pl-3`,onSubmit:e=>{e.preventDefault(),u||g()},children:[l.map((e,n)=>{let r=s.answers[n];return(0,$.jsxs)(`fieldset`,{className:`min-w-0 space-y-2`,disabled:u,children:[(0,$.jsx)(`legend`,{className:`mb-2 w-full min-w-0 whitespace-pre-wrap [overflow-wrap:anywhere] text-body font-medium`,children:e.title}),e.options?.map((e,t)=>(0,$.jsxs)(`label`,{className:`flex min-w-0 cursor-pointer items-start gap-2 text-body`,children:[(0,$.jsx)(`input`,{className:`mt-1 shrink-0 accent-brand`,type:`radio`,name:`${c}-${String(n)}`,checked:r?.choice===t,onChange:()=>{h(n,{choice:t})}}),(0,$.jsx)(`span`,{className:`min-w-0 whitespace-pre-wrap [overflow-wrap:anywhere]`,children:e})]},t)),e.options===null?null:(0,$.jsxs)(`label`,{className:`flex items-center gap-2 text-body`,children:[(0,$.jsx)(`input`,{className:`accent-brand`,type:`radio`,name:`${c}-${String(n)}`,checked:r?.choice===null,onChange:()=>{h(n,{choice:null})}}),t(`asyncQuestions.other`)]}),(0,$.jsx)(`textarea`,{"aria-label":t(`asyncQuestions.answer`,{question:e.title}),className:`block min-h-16 w-full resize-y rounded-control border border-separator bg-control px-2 py-1.5 text-body outline-none focus:border-brand disabled:opacity-60`,maxLength:4e3,rows:2,value:r?.text??``,onChange:e=>{h(n,{choice:null,text:e.currentTarget.value})}})]},n)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(Z,{disabled:u||!m,type:`submit`,size:`sm`,children:[s.status===`sending`?(0,$.jsx)(b,{className:`size-3.5 animate-spin`}):s.status===`sent`?(0,$.jsx)(E,{className:`size-3.5`}):(0,$.jsx)(A,{className:`size-3.5`}),t(s.status===`sent`?`asyncQuestions.sent`:`asyncQuestions.send`)]}),s.error?(0,$.jsx)(`span`,{className:`text-label text-danger`,role:`alert`,children:t(`asyncQuestions.failed`)}):null]})]})}function Vn({taskStore:e}){let t=Rn(),n=(0,Q.useMemo)(()=>Pn(e),[e]),r=(0,Q.useSyncExternalStore)(n.subscribe,n.getSnapshot);return t===null?null:(0,$.jsx)(Hn,{entries:r,session:t})}function Hn({entries:e,session:t}){let{t:n}=k(`conversation`),r=d(t.store,An(t=>e.filter(e=>t.drafts.get(e.item.id)?.status!==`sent`))),[i,a]=(0,Q.useState)(),[o,s]=(0,Q.useState)(!1),c=(0,Q.useId)(),l=Math.max(0,r.findIndex(e=>e.key===i)),u=r[l];return u===void 0?null:(0,$.jsxs)(`section`,{"aria-label":n(`asyncQuestions.pending`),className:`shrink-0 min-w-0 bg-content px-5 pb-2`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 border-t border-separator pt-2 pb-1`,children:[(0,$.jsx)(Ot,{"aria-hidden":`true`,className:`size-3.5 shrink-0 text-brand`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-label font-medium`,children:n(`asyncQuestions.pendingCount`,{count:r.length})}),r.length<2?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Un,{label:n(`asyncQuestions.previous`),disabled:l===0,onClick:()=>{a(r[l-1]?.key)},children:(0,$.jsx)(x,{className:`size-3.5`})}),(0,$.jsxs)(`span`,{className:`min-w-12 text-center text-caption tabular-nums`,children:[l+1,`/`,r.length]}),(0,$.jsx)(Un,{label:n(`asyncQuestions.next`),disabled:l===r.length-1,onClick:()=>{a(r[l+1]?.key)},children:(0,$.jsx)(T,{className:`size-3.5`})})]}),(0,$.jsxs)(gt,{children:[(0,$.jsx)(Y,{asChild:!0,children:(0,$.jsx)(Z,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-controls":c,"aria-expanded":!o,"aria-label":n(o?`asyncQuestions.expand`:`asyncQuestions.collapse`),onClick:()=>{s(e=>!e)},children:o?(0,$.jsx)(y,{className:`size-3.5`}):(0,$.jsx)(w,{className:`size-3.5`})})}),(0,$.jsx)(K,{children:n(o?`asyncQuestions.expand`:`asyncQuestions.collapse`)})]})]}),(0,$.jsx)(`div`,{id:c,hidden:o,className:`max-h-[min(32vh,20rem)] overflow-y-auto overscroll-contain py-2`,children:(0,$.jsx)(Bn,{item:u.item},u.key)})]})}function Un({label:e,disabled:t,onClick:n,children:r}){return(0,$.jsxs)(gt,{children:[(0,$.jsx)(Y,{asChild:!0,children:(0,$.jsx)(Z,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":e,disabled:t,onClick:n,children:r})}),(0,$.jsx)(K,{children:e})]})}function Wn({enabled:e,activeTurnId:t,submit:n,taskStore:r}){return(0,$.jsx)(Ln,{enabled:e,submit:e=>n({files:[],text:e},[],{clearInputOnSuccess:!1,composerMode:null,forceAction:t===void 0?`start`:`steer`}),children:(0,$.jsx)(Vn,{taskStore:r})})}function Gn({routeScope:e,fastModeSelected:t,onSettingsChange:n,isCurrentScope:r,setSettingsOverride:i,setMutationError:a}){let o=(0,Q.useRef)(0);return(s,c)=>{let l=++o.current;i({scope:e,settings:s}),a(null),Promise.resolve(n(s,c,t)).catch(t=>{r(e)&&o.current===l&&(i(void 0),a(t instanceof Error?t:Error(`Task settings update failed`)))})}}function Kn({closeCommandMenu:e,closeFileMenu:t,commandMenuOpen:n,commandSurfaceRef:r,fileMenuOpen:i,turnControlsDisabled:a}){(0,Q.useEffect)(()=>{a&&(e(),t())},[e,t,a]),(0,Q.useEffect)(()=>{if(!n&&!i)return;let a=n=>{n.key===`Escape`&&(n.preventDefault(),e(),t())},o=n=>{let i=n.target;i instanceof Node&&!r.current?.contains(i)&&(e(),t())};return document.addEventListener(`keydown`,a,!0),document.addEventListener(`pointerdown`,o,!0),()=>{document.removeEventListener(`keydown`,a,!0),document.removeEventListener(`pointerdown`,o,!0)}},[e,t,n,r,i])}function qn(e,t,n,r,i){let a=new Map(i.map(e=>[e.id,e]));return{files:e.attachments.map(e=>({attachment:e,...e,previewUrl:r(t,n,e.id),source:`host`})),id:e.id,skills:e.skills.map(e=>a.get(e.id)??{description:``,displayName:e.name,id:e.id,name:e.name,scope:`repo`}),status:e.status,text:e.text}}function Jn(e,t,n){let r={files:t.files,id:t.id??n(),skills:t.skills,status:`awaiting-response`,text:t.text,turnId:t.turnId,userMessageIds:t.userMessageIds};return t.id===void 0||!e.some(e=>e.id===t.id)?[...e,r]:e.map(e=>e.id===t.id?r:e)}function Yn(e){return e.flatMap(e=>e.type===`message`&&e.role===`user`?[e.id]:[])}function Xn(e,t){return t===void 0?[]:Yn((e.itemKeysByTurnId[t]??[]).flatMap(t=>{let n=e.getItemByKey(t);return n===void 0?[]:[n]}))}function Zn(e,t){if(e.status!==`awaiting-response`)return!1;let n=new Set(e.userMessageIds);return t.some(e=>!n.has(e))}function Qn(e,t,n){return n===`interrupted`||Zn(e,t)}function $n(e,t){return e.status===`awaiting-response`&&Qn(e,Xn(t,e.turnId),t.turnsById[e.turnId]?.status)}function er(e){return e.status===`queued`||e.status===`editing`?{files:e.files,skills:e.skills,text:e.text}:void 0}function tr(e,t){let n=t?.model??e.model,r=t?.reasoningEffort??e.reasoningEffort;return n===e.model&&r===e.reasoningEffort?e:{...e,model:n,reasoningEffort:r}}var nr=1e3,rr=`Pasted text.txt`;function ir(e){return e===void 0?D.t(`composer.placeholder`,{ns:`workbench`}):D.t(`composer.followUpPlaceholder`,{ns:`workbench`})}function ar(e,t,n=u){return e?.fingerprint===t?e:{fingerprint:t,key:n()}}function or(e,t){if(e!==void 0)return e.supportedReasoningEfforts.some(e=>e.id===t)?t:e.defaultReasoningEffort}function sr(e){return me(e)}function cr(e,t){return pe(e,t)}function lr(e,t){return{canInterrupt:e?.turns.interrupt??!1,canSubmit:e?.turns.start===!0&&(t||e.tasks.start),canSteer:e?.turns.steer===!0&&t}}function ur(e,t,n,r){return e===`running`?t?n===`queue`?`queue`:r?`steer`:`blocked`:`interrupt`:t?`start`:`blocked`}function dr(e){return e.isSubmitting===!0?`submitting`:e.connectionState===`closed`||e.connectionState===`connecting`||e.connectionState===`reconnecting`?`reconnecting`:e.activeTurnId===void 0?e.mutationFailed===!0?`failed`:`idle`:`running`}function fr(e){return{attachmentsDisabled:e===`submitting`,draftInputDisabled:e===`submitting`,turnControlsDisabled:e===`reconnecting`||e===`submitting`}}async function pr(e,t){let n=t.taskId,r;if(n===void 0){let i=t.idempotencyKeys.startTask;if(i===void 0)throw Error(`Task creation requires an idempotency key`);let a=await e.startTask(t.projectId,{idempotencyKey:i});r=a.task,n=a.task.id,t.onTaskCreated?.(a.task)}let i=await e.startTurn(t.projectId,n,t.input,t.turnOptions,{idempotencyKey:t.idempotencyKeys.startTurn});return{checkpoint:i.checkpoint,...r===void 0?{}:{createdTask:r},taskId:n,turn:i.turn}}async function mr(e,t){let n=t.taskId,r;if(n===void 0){let i=await e.startTask(t.projectId,{idempotencyKey:t.idempotencyKey});r=i.task,n=i.task.id,t.onTaskCreated?.(i.task)}let i=await e.startReview(t.projectId,n,{target:t.target},{idempotencyKey:t.idempotencyKey});return{...r===void 0?{}:{createdTask:r},taskId:n,turn:i.turn}}function hr(e,t,n,r,i){return e.interruptTurn(t,n,r,{idempotencyKey:i})}function gr(e,t,n,r,i,a){return e.steerTurn(t,n,r,i,{idempotencyKey:a})}var _r=_t;function vr({className:e=``,displayName:t,name:n,...r}){return(0,$.jsxs)(`span`,{className:`${_r} ${e}`,...r,children:[(0,$.jsx)(yt,{"aria-hidden":`true`,className:`size-4 shrink-0`}),(0,$.jsx)(`span`,{className:`truncate`,children:t??`$${n}`})]})}var yr=new Set([`DIV`,`P`]);function br(e){return e.nextSibling!==null||e.previousSibling===null?!1:e.nodeType===Node.TEXT_NODE?e.textContent===`
|
|
4
|
-
`&&e.previousSibling.textContent?.endsWith(`
|
|
5
|
-
`)===!0:e instanceof HTMLElement&&e.tagName===`BR`&&(e.previousSibling.nodeName===`BR`||e.previousSibling.textContent?.endsWith(`
|
|
6
|
-
`)===!0)}function xr(e,t){let n=document.createElement(`span`);if(n.className=`${_r} relative top-0.5 cursor-pointer select-none hover:bg-control-hover`,n.contentEditable=`false`,n.dataset.promptSkillId=e.id,n.dataset.promptSkillName=e.name,n.dataset.serializedText=ln(e),n.setAttribute(`aria-label`,D.t(`skillEditor.tokenLabel`,{name:e.displayName,ns:`workbench`,text:ln(e)})),n.setAttribute(`role`,`button`),n.tabIndex=-1,t!==null){let e=t.cloneNode(!0);e.classList.remove(`hidden`),n.append(e)}let r=document.createElement(`span`);return r.className=`truncate`,r.textContent=e.displayName,n.append(r),n}function Sr(e,t){let n=document.createElement(`span`);if(n.className=`${_r} relative top-0.5 cursor-pointer select-none hover:bg-control-hover`,n.contentEditable=`false`,n.dataset.promptFilePath=e.path,n.dataset.promptFileRootId=e.rootId,n.dataset.serializedText=dn(e),n.setAttribute(`aria-label`,dn(e)),n.setAttribute(`role`,`button`),n.tabIndex=-1,t!==null){let e=t.cloneNode(!0);e.classList.remove(`hidden`),n.append(e)}let r=document.createElement(`span`);return r.className=`truncate`,r.textContent=e.name,n.append(r),n}function Cr(){let e=document.createElement(`span`);return e.dataset.promptCaretAnchor=``,e.textContent=``,e}function wr(e,t,n,r){let i=[];for(let e of t)e.type===`text`?i.push(document.createTextNode(e.text)):e.type===`skill`?i.push(xr(e.skill,n),Cr()):i.push(Sr(e.file,r),Cr());e.replaceChildren(...i),e.dataset.empty=String(t.length===0),e.dataset.serializedValue=Sn(t)}function Tr(e,t,n){let r=[],i=e=>{e!==``&&r.push({text:e,type:`text`})},a=e=>{if(e.nodeType===Node.TEXT_NODE){br(e)||i(e.textContent??``);return}if(!(e instanceof HTMLElement))return;let o=e.dataset.promptSkillId;if(o!==void 0){let e=t.get(o);e!==void 0&&r.push({skill:e,type:`skill`});return}let s=e.dataset.promptFilePath,c=e.dataset.promptFileRootId;if(s!==void 0&&c!==void 0){let e=n.get(un({path:s,rootId:c}));e!==void 0&&r.push({file:e,type:`file`});return}if(e.dataset.promptCaretAnchor!==void 0){let t=e.textContent;i(t.startsWith(``)?t.slice(1):t);return}if(e.tagName===`BR`){br(e)||i(`
|
|
7
|
-
`);return}yr.has(e.tagName)&&r.length>0&&i(`
|
|
8
|
-
`),e.childNodes.forEach(a)};return e.childNodes.forEach(a),cn(r)}function Er(e){if(e.nodeType===Node.TEXT_NODE)return br(e)?0:e.textContent?.length??0;if(!(e instanceof HTMLElement))return 0;let t=e.dataset.serializedText;if(t!==void 0)return t.length;if(e.dataset.promptCaretAnchor!==void 0){let t=e.textContent;return t.startsWith(``)?t.length-1:t.length}return e.tagName===`BR`?+!br(e):[...e.childNodes].reduce((e,t)=>e+Er(t),0)}function Dr(e,t,n){if(t===null||!e.contains(t))return;let r=0,i=!1,a=e=>{if(!i){if(e===t){if(e.nodeType===Node.TEXT_NODE){let t=e.textContent??``,i=e.parentElement?.dataset.promptCaretAnchor!==void 0&&t.startsWith(``)?1:0;r+=Math.max(0,Math.min(n,t.length)-i)}else r+=[...e.childNodes].slice(0,n).reduce((e,t)=>e+Er(t),0);i=!0;return}if(e instanceof Element&&e.contains(t)){e.childNodes.forEach(a);return}r+=Er(e)}};return e.childNodes.forEach(a),r}function Or(e){let t=document.getSelection();return Dr(e,t?.anchorNode??null,t?.anchorOffset??0)??e.dataset.serializedValue?.length??0}function kr(e,t){let n=Math.max(0,t);for(let[t,r]of[...e.childNodes].entries()){let i=Er(r);if(n===0){if(r instanceof HTMLElement&&r.dataset.promptCaretAnchor!==void 0){let e=r.firstChild;if(e!==null)return[e,1]}return[e,t]}if(r.nodeType===Node.TEXT_NODE&&n<=i)return[r,n];if(n<i)return n<i/2?[e,t]:[e,t+1];n-=i}return[e,e.childNodes.length]}function Ar(e,t){let[n,r]=kr(e,t),i=document.createRange();i.setStart(n,r),i.collapse(!0);let a=document.getSelection();a?.removeAllRanges(),a?.addRange(i)}function jr(e,t){e.focus(),document.execCommand(`insertText`,!1,t)}function Mr(e){e.focus(),document.execCommand(`insertLineBreak`)}var Nr=(0,Q.forwardRef)(function({className:e=``,content:t,disabled:n=!1,onChange:r,onClick:i,onKeyDown:a,onPaste:o,placeholder:s,skills:c,scope:l,...u},d){let f=(0,Q.useRef)(null),p=(0,Q.useRef)(null),m=(0,Q.useRef)(null),h=(0,Q.useRef)(t),g=(0,Q.useRef)(c),_=(0,Q.useRef)(new Map),v=(0,Q.useRef)(new Map),y=(0,Q.useRef)(void 0),b=(0,Q.useCallback)(e=>{for(let t of e)t.type===`skill`?_.current.set(t.skill.id,t.skill):t.type===`file`&&v.current.set(un(t.file),t.file)},[]);g.current=c;for(let e of c)_.current.set(e.id,e);b(t);let x=()=>{let e=f.current;if(e===null)return;let t=Tr(e,_.current,v.current),n=vn(t,g.current),i=Or(e);n!==t&&(wr(e,n,p.current,m.current),Ar(e,Math.min(i,Sn(n).length))),h.current=n,e.dataset.empty=String(n.length===0);let a=Sn(n);e.dataset.serializedValue=a,r(n,a,Or(e))},S=(0,Q.useCallback)((e,t)=>{let n=f.current;n!==null&&(b(e),h.current=e,wr(n,e,p.current,m.current),n.dataset.empty=String(e.length===0),n.dataset.serializedValue=Sn(e),t!==void 0&&Ar(n,t))},[b]);(0,Q.useImperativeHandle)(d,()=>({focus(e){let t=f.current;t?.focus(),t!==null&&e!==void 0&&Ar(t,e)},getContent(){let e=f.current;return e===null?h.current:Tr(e,_.current,v.current)},replace:S}),[S]),(0,Q.useLayoutEffect)(()=>{y.current!==l&&(y.current=l,S(t))},[t,S,l]),(0,Q.useLayoutEffect)(()=>{let e=f.current;if(e===null||c.length===0)return;let t=Tr(e,_.current,v.current),n=vn(t,c);if(n===t)return;let i=Or(e);wr(e,n,p.current,m.current),document.activeElement===e&&Ar(e,Math.min(i,Sn(n).length)),h.current=n;let a=Sn(n);e.dataset.serializedValue=a,r(n,a,Or(e))},[r,c]);let C=(e,t)=>{let n=[...e.childNodes].slice(0,[...e.childNodes].indexOf(t)).reduce((e,t)=>e+Er(t),0),r=t.dataset.promptSkillId,i=t.dataset.promptFilePath,a=t.dataset.promptFileRootId,o=r===void 0?i!==void 0&&a!==void 0?xn(h.current,{path:i,rootId:a}):h.current:bn(h.current,r);S(o,n),x()},w=e=>{let t=e.target,n=t instanceof Element?t.closest(`[data-prompt-skill-id], [data-prompt-file-path]`):null;if(n===null)return!1;e.preventDefault();let r=f.current;return r===null||C(r,n),!0},T=e=>{o?.(e),!(e.defaultPrevented||n)&&(e.clipboardData.files.length>0||(e.preventDefault(),jr(e.currentTarget,e.clipboardData.getData(`text/plain`))))},E=e=>{if(a?.(e),!(e.defaultPrevented||ae(e.nativeEvent)||n)){if(e.key===`End`&&!(e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)){let t=e.currentTarget,n=document.getSelection(),r=Sn(h.current),i=h.current.at(-1),a=i!==void 0&&i.type!==`text`?r.length-fn(i):void 0,o=Or(t);if(n?.isCollapsed===!0&&a!==void 0&&o<=a&&r.slice(o,a).trim()===``){e.preventDefault(),Ar(t,r.length);return}}if(e.key===`Backspace`){let t=document.getSelection(),n=t?.anchorNode,r=n?.parentElement,i=r?.previousElementSibling,a=i instanceof HTMLElement&&(i.dataset.promptSkillId!==void 0||i.dataset.promptFilePath!==void 0);if(t?.isCollapsed===!0&&t.anchorOffset===1&&r?.dataset.promptCaretAnchor!==void 0&&n?.textContent?.startsWith(``)===!0&&i instanceof HTMLElement&&a){e.preventDefault(),C(e.currentTarget,i);return}}e.key===`Enter`&&(e.preventDefault(),V(e)?(Mr(e.currentTarget),x()):e.currentTarget.closest(`form`)?.requestSubmit())}};return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(yt,{"aria-hidden":`true`,className:`hidden size-4 shrink-0`,ref:p}),(0,$.jsx)(O,{"aria-hidden":`true`,className:`hidden size-4 shrink-0`,ref:m}),(0,$.jsx)(`div`,{...u,"aria-disabled":n||void 0,"aria-multiline":`true`,className:`max-h-40 min-h-12 w-full overflow-y-auto whitespace-pre-wrap break-words bg-transparent px-1 py-1 text-sm leading-5 text-foreground outline-none before:pointer-events-none before:text-muted-foreground/60 data-[empty=true]:before:content-[attr(data-placeholder)] ${n?`cursor-not-allowed opacity-60`:``} ${e}`,contentEditable:!n,"data-empty":t.length===0,"data-placeholder":s,"data-prompt-skill-editor":``,onClick:e=>{w(e)||i?.(e)},onCopy:e=>{let t=f.current,n=document.getSelection();if(t===null||n===null||n.rangeCount===0)return;let r=n.getRangeAt(0);if(!t.contains(r.commonAncestorContainer))return;let i=Sn(Tr(t,_.current,v.current)),a=Dr(t,r.startContainer,r.startOffset),o=Dr(t,r.endContainer,r.endOffset);a===void 0||o===void 0||a===o||(e.preventDefault(),e.clipboardData.setData(`text/plain`,i.slice(a,o)))},onInput:x,onKeyDown:E,onPaste:T,ref:f,role:`textbox`,spellCheck:`true`,suppressContentEditableWarning:!0,tabIndex:n?-1:0})]})}),Pr=(e,t)=>[`projects`,e,t,`git-status`],Fr=(e,t)=>[`projects`,e,t,`git-worktrees`];function Ir(e,t,n,r){e.setQueryData([`projects`],e=>dt(e,r.project)),e.setQueryData(Fr(t,n),e=>{let t=e?.worktrees??[],n=t.findIndex(e=>e.path===r.worktree.path);return{worktrees:n<0?[...t,r.worktree]:t.map((e,t)=>t===n?r.worktree:e)}})}async function Lr(e,t,n,r,i,a){if(i.repositoryMode!==`root`||i.branch===a||!i.branches.includes(a))return!1;let o=Pr(n,r);await t.cancelQueries({exact:!0,queryKey:o});let s=await e.switchProjectBranch(n,r,{branch:a,expectedSnapshot:i.snapshot});return t.setQueryData(o,s),!0}async function Rr(e,t,n,r,i,a){let o=a.trim();if(i.repositoryMode!==`root`||o.length===0||i.branches.includes(o))return!1;let s=Pr(n,r);await t.cancelQueries({exact:!0,queryKey:s});let c=await e.createProjectBranch(n,r,{branch:o,expectedSnapshot:i.snapshot});return t.setQueryData(s,c),!0}async function zr(e,t,n,r,i,a){let o=a.trim();if(i.repositoryMode!==`root`||o.length===0)return;let s=await e.createProjectWorktree(n,r,{branch:o,expectedSnapshot:i.snapshot});return Ir(t,n,r,s),await t.invalidateQueries({exact:!0,queryKey:Pr(n,r),refetchType:`none`}),s.project}async function Br(e,t,n,r,i,a){if(i.find(e=>e.path===a&&!e.current)===void 0)return;let o=await e.switchProjectWorktree(n,r,{path:a});return Ir(t,n,r,o),o.project}function Vr({client:e,gitStatus:t,isCurrentScope:n,projectId:r,routeScope:a,rootPath:c}){let l=i(),u=o(),{projects:d}=We(),f=(0,Q.useRef)(Ke()),[p,m]=(0,Q.useState)(),[h,g]=(0,Q.useState)(),[_,v]=(0,Q.useState)(),[y,b]=(0,Q.useState)(),[x,S]=(0,Q.useState)(),C=p!==void 0||h!==void 0||_!==void 0||y!==void 0,w=s({enabled:t?.repositoryMode===`root`,queryFn:({signal:t})=>e.listProjectWorktrees(r,c,{signal:t}),queryKey:Fr(r,c),staleTime:5e3}).data?.worktrees??[];return(0,Q.useEffect)(()=>{let e=x?.routeScope===a?x.projectId:void 0;e===void 0||!d.some(t=>t.id===e)||l({params:{projectId:e},to:`/p/$projectId`})},[l,d,a,x]),(0,Q.useEffect)(()=>{m(void 0),g(void 0),v(void 0),b(void 0),S(void 0)},[a]),{createBranch:async i=>{let o=a;return t===void 0||C?!1:await f.current.run(async()=>{m(i);try{let n=await Rr(e,u,r,c,t,i);return n&&tt(),n}catch(e){return ht(e),await u.invalidateQueries({exact:!0,queryKey:Pr(r,c)}).catch(()=>void 0),!1}finally{n(o)&&m(void 0)}})??!1},creatingBranch:p,createWorktree:async i=>{let o=a;return t===void 0||C?!1:await f.current.run(async()=>{g(i);try{let n=await zr(e,u,r,c,t,i);return n===void 0?!1:(tt(),S({projectId:n.id,routeScope:o}),!0)}catch(e){return ht(e),await u.invalidateQueries({exact:!0,queryKey:Fr(r,c)}).catch(()=>void 0),!1}finally{n(o)&&g(void 0)}})??!1},creatingWorktree:h,switchBranch:async i=>{let o=a;t===void 0||C||await f.current.run(async()=>{v(i);try{await Lr(e,u,r,c,t,i)&&tt()}catch(e){ht(e),await u.invalidateQueries({exact:!0,queryKey:Pr(r,c)}).catch(()=>void 0)}finally{n(o)&&v(void 0)}})},switchingBranch:_,switchWorktree:async t=>{let i=a;C||await f.current.run(async()=>{b(t);try{let n=await Br(e,u,r,c,w,t);if(n===void 0)return;tt(),S({projectId:n.id,routeScope:i})}catch(e){ht(e),await u.invalidateQueries({exact:!0,queryKey:Fr(r,c)}).catch(()=>void 0)}finally{n(i)&&b(void 0)}})},switchingWorktree:y,worktrees:w}}async function Hr(e,t,n,r){let i=[],a;do{let o=await e.listQueuedSubmissions(t,n,{...a===void 0?{}:{cursor:a},limit:100},{signal:r});i.push(...o.data),a=o.nextCursor??void 0}while(a!==void 0);return i}function Ur({activeTurnId:e,client:t,handleAttachmentsChange:n,projectId:r,replacePromptContent:i,routeScope:a,runtime:c,skillEditorRef:l,skills:d,taskId:f}){let p=o(),m=it(r,f??``),h=s({enabled:f!==void 0,queryFn:({signal:e})=>Hr(t,r,f??``,e),queryKey:m,staleTime:1/0}),[g,_]=(0,Q.useState)([]),v=(0,Q.useMemo)(()=>f===void 0?[]:(h.data??[]).map(e=>qn(e,r,f,t.getTaskAttachmentUrl.bind(t),d)),[t,r,h.data,d,f]),y=g.filter(e=>e.scope===a).map(e=>e.prompt),b=new Set(y.map(e=>e.id)),x=v.find(e=>e.status===`editing`)?.id,S=[...v.filter(e=>!b.has(e.id)),...y];(0,Q.useEffect)(()=>{let e=c?.store;if(e!==void 0)return e.subscribe(e=>{_(t=>t.filter(t=>t.scope!==a||t.prompt.status!==`awaiting-response`||!$n(t.prompt,e)))})},[a,c?.store]);let C=async()=>{await p.invalidateQueries({exact:!0,queryKey:m})},w=async(n,i)=>f===void 0?!1:(x===void 0?await t.addQueuedSubmission(r,f,n,i,{idempotencyKey:u()}):(await t.updateQueuedSubmission(r,f,x,n,`queued`,{idempotencyKey:u()}),e===void 0&&await t.startQueuedSubmission(r,f,x,{idempotencyKey:u()})),await C(),!0),T=async e=>{f!==void 0&&(await t.deleteQueuedSubmission(r,f,e,{idempotencyKey:u()}),await C())},E=async e=>{let a=er(e);if(a===void 0)return;let o=sn(a.text,a.skills);if(f===void 0||e.status!==`queued`)return;let s=t.updateQueuedSubmission(r,f,e.id,{attachments:a.files.flatMap(e=>e.source===`host`?[{id:e.attachment.id}]:[]),skills:a.skills.map(({id:e,name:t})=>({id:e,name:t})),text:a.text,type:`prompt`},`editing`,{idempotencyKey:u()});i(o,Sn(o).length),n(a.files),requestAnimationFrame(()=>{l.current?.focus(Sn(o).length)}),await s,await C()},D=e=>{_(t=>{let n=Jn(t.filter(e=>e.scope===a).map(e=>e.prompt),e,u);return[...t.filter(e=>e.scope!==a),...n.map(e=>({prompt:e,scope:a}))]})};return{editQueuedPrompt:E,editingId:x,moveQueuedPrompt:async(e,n)=>{if(f===void 0)return;let i=v.map(e=>e.id),a=i.indexOf(e),o=a+n;if(a<0||o<0||o>=i.length)return;let s=i[a],c=i[o];s===void 0||c===void 0||(i[a]=c,i[o]=s,await t.reorderQueuedSubmissions(r,f,i,{idempotencyKey:u()}),await C())},onSteerAccepted:D,queueError:h.error,queuedPrompts:S,removeQueuedPrompt:T,saveQueuedSubmission:w,sendQueuedPrompt:async(n,i)=>{let a=v.findIndex(e=>e.id===n.id),o=v.findIndex(e=>e.status===`editing`);if(n.status!==`queued`||f===void 0||o>=0&&a>=o)return;if(e!==void 0){if(!await i({files:n.files,text:n.text},n.skills,{clearInputOnSuccess:!1,forceAction:`steer`,queuedPromptId:n.id,requestTimelineScroll:!1}))return;await T(n.id);return}let s=await t.startQueuedSubmission(r,f,n.id,{idempotencyKey:u()});D({files:n.files,id:n.id,skills:n.skills,text:n.text,turnId:s.turn.id,userMessageIds:[]}),await C()}}}function Wr(e,t){let n=ct(),r=pt(e),[i,a]=(0,Q.useState)(t!==void 0&&n.read(e,t)!==void 0?{projectId:e,todoId:t}:void 0),o=i?.projectId===e?i.todoId:void 0;(0,Q.useEffect)(()=>{a(t!==void 0&&n.read(e,t)!==void 0?{projectId:e,todoId:t}:void 0)},[t,e,n]);let s=()=>{a(void 0)};return{complete:s,discardIfEmpty:t=>{o===void 0||t||(n.discardWorking(e,o),s())},editingTodoId:o,projectTodos:n,remove:t=>{n.remove(e,t),o===t&&s()},restore:(t,r)=>{n.read(e,t)!==void 0&&(o===void 0&&r(),a({projectId:e,todoId:t}))},todos:r}}function Gr({projectToolsEnabled:e=!0}={}){let t=e=>D.t(e,{ns:`workbench`}),n=[{action:`review`,description:t(`promptCommand.review.description`),id:`review-code`,keywords:[`review`,`code review`,`审查`,`代码审查`],label:t(`promptCommand.review.label`)},{action:`initialize`,description:t(`promptCommand.initialize.description`),id:`initialize`,keywords:[`init`,`initialize`,`初始化`,`AGENTS.md`],label:t(`promptCommand.initialize.label`)},{action:`compact`,description:t(`promptCommand.compact.description`),id:`compact`,keywords:[`compact`,`context`,`压缩`,`上下文`],label:t(`promptCommand.compact.label`)},{action:`fork`,description:t(`promptCommand.fork.description`),id:`copy-task`,keywords:[`fork`,`copy`,`复制`,`任务`],label:t(`promptCommand.fork.label`)},{action:`plan`,description:t(`promptCommand.plan.description`),id:`plan`,keywords:[`plan`,`planning`,`计划`,`规划`],label:t(`promptCommand.plan.label`)},{action:`goal`,description:t(`promptCommand.goal.description`),id:`goal`,keywords:[`goal`,`objective`,`目标`,`长期任务`],label:t(`promptCommand.goal.label`)}];return e?n:n.filter(e=>e.action!==`review`&&e.action!==`initialize`)}function Kr(e,t,n){return t===void 0?{available:!1,reason:D.t(`promptCommand.availability.notReady`,{ns:`workbench`})}:e.action!==`initialize`&&e.action!==`goal`&&e.action!==`plan`&&e.action!==`review`&&!n?{available:!1,reason:D.t(`promptCommand.availability.noTask`,{ns:`workbench`})}:(e.action===`initialize`?t.turns.start&&(n||t.tasks.start):e.action===`review`?t.turns.review&&(n||t.tasks.start):e.action===`compact`?t.turns.compact:e.action===`goal`?t.goals.update&&t.turns.start:e.action===`plan`?t.turns.start:t.tasks.fork)?{available:!0}:{available:!1,reason:D.t(`promptCommand.availability.unsupported`,{ns:`workbench`})}}function qr(e,t,n){if(t<0||t>e.length)return null;let r=e.slice(0,t),i=r.lastIndexOf(n);if(i<0)return null;let a=r[i-1],o=r.slice(i+1);return a!==void 0&&!/\s/u.test(a)||/\s/u.test(o)?null:{end:t,query:o,start:i}}function Jr(e,t){return qr(e,t,`/`)}function Yr(e,t){return qr(e,t,`@`)}function Xr(e,t){let n=t.trim().toLocaleLowerCase();return n===``?e:e.filter(e=>[e.label,...e.keywords].some(e=>e.toLocaleLowerCase().includes(n)))}function Zr(e,t){let n=t.trim().toLocaleLowerCase();return n===``?e:e.filter(e=>[e.displayName,e.name,e.description].some(e=>e.toLocaleLowerCase().includes(n)))}function Qr(e,t,n){return n===0?0:(e+t+n)%n}function $r({capabilities:e,client:t,onRequestNotificationPermission:n,onTaskCreated:r,onTaskStarted:i,projectId:a,session:o,submitPrompt:s,t:c,taskId:l}){let{activeCommandIndex:u,activeTaskId:d,baseBranches:f,closeCommandMenu:p,commandSlashCommand:m,composerController:h,filteredCommands:g,filteredSkills:_,pendingTask:v,promptContent:y,replacePromptContent:b,reviewMenuMode:x,routeScope:S,selectActiveFileReference:C,setActiveCommandIndex:w,setCommandMenuOpen:T,setCommandQuery:E,setCommandSlashCommand:D,setComposerModeState:ee,setReviewMenuMode:te,skillEditorRef:O,state:ne}=o,{actionLock:k,commandAttempts:A,isCurrentScope:j,setIsSubmitting:M,setMutationError:N,setPendingTaskState:P,setSubmittedTurnState:F}=h,re=e=>{requestAnimationFrame(()=>{O.current?.focus(e)})},I=t=>{let n=Kr(t,e,d!==void 0);return n.available&&ne===`running`?{available:!1,reason:c(`composer.taskRunning`)}:n},ie=async e=>{let r=S;if(I(e).available){if(e.action===`plan`||e.action===`goal`){let t=m;if(t===void 0)return;let n=O.current?.getContent()??y;b(yn(n,t),t.start),ee({mode:e.action,scope:S}),p(),re(t.start);return}if(E(``),D(void 0),b([]),e.action===`review`){w(0),te(`scopes`);return}if(T(!1),te(null),e.action===`initialize`){await s({files:[],text:c(`composer.initializingAgentsPrompt`)},[]);return}d!==void 0&&await k.run(async()=>{e.action===`compact`&&n(),M(!0),N(null);let o=ar(A.current.get(e.action),`${e.action}:${d}`);A.current.set(e.action,o);try{e.action===`compact`?(await t.compactTask(a,d,{idempotencyKey:o.key}),j(r)&&tt(c(`composer.compacting`))):i((await t.forkTask(a,d,{},{idempotencyKey:o.key})).task),j(r)&&A.current.delete(e.action)}catch(e){j(r)&&N(e instanceof Error?e:Error(`Task command failed`))}finally{j(r)&&M(!1)}})}},L=e=>k.run(async()=>{let o=S;n(),p(),M(!0),N(null);let s=ar(A.current.get(`review`),JSON.stringify({target:e,taskId:d??a}));A.current.set(`review`,s);try{let n=await mr(t,{idempotencyKey:s.key,onTaskCreated(e){j(o)&&(P({scope:o,task:e}),r?.(e))},projectId:a,target:e,...d===void 0?{}:{taskId:d}});if(j(o)&&(A.current.delete(`review`),F({scope:o,turnId:n.turn.id}),tt(c(`composer.reviewStarted`)),l===void 0)){let e=n.createdTask??v;e!==void 0&&i(e,n.turn)}}catch(e){j(o)&&N(e instanceof Error?e:Error(`Review command failed`))}finally{j(o)&&M(!1)}}),R=e=>{let t=m;if(t===void 0)return;let n=hn(O.current?.getContent()??y,t,e),r=t.start+`$${e.name}`.length;b(n,r),T(!1),E(``),D(void 0),re(r)};return{executePromptCommand:ie,executeReviewTarget:L,getCommandAvailability:I,selectActiveCommandItem:()=>{if(C())return;if(x===`scopes`){u===0?L({type:`uncommitted_changes`}):u===1&&f.length>0&&(w(0),te(`branches`));return}if(x===`branches`){let e=f[u];e!==void 0&&L({branch:e,type:`base_branch`});return}let e=g[u];if(e!==void 0){ie(e);return}let t=_[u-g.length];t!==void 0&&R(t)},selectSkill:R}}function ei(e,t,n,r,i){return{...e,...r===`plan`?{collaborationMode:`plan`}:{},...r===`goal`?{goalMode:!0}:{},...i?{fastMode:!0}:{},model:t,reasoningEffort:n??e.reasoningEffort}}async function ti(e,t){return e.source===`host`?e.attachment:t(e)}async function ni(e,t,n){let r=Array(t.length),i=0;return await Promise.all(Array.from({length:Math.min(2,t.length)},async()=>{for(;i<t.length;){let a=i;i+=1;let o=t[a];if(o===void 0)continue;let s=await ti(o,n);r[a]={attachment:s,...s,previewUrl:s.kind===`image`?g(``,e,s.id):``,source:`host`}}})),r}function ri({actionLock:e,attachments:t,clearComposerInput:n,client:r,editingTodoId:i,fallbackError:a,hasComposerInput:o,isCurrentScope:s,isSubmitting:c,onEditingComplete:l,projectId:d,projectTodos:f,promptContent:p,routeScope:m,setIsSubmitting:h,setMutationError:g,skillEditorRef:_,submitPrompt:v,uploadAttempts:y={current:new Map},uploadedAttachments:b={current:new Map}}){let x=async e=>{let t=b.current.get(e.id);if(t!==void 0)return t;let n=y.current.get(e.id)??u();y.current.set(e.id,n);let i=await r.uploadAttachment(d,{content:e.file,kind:e.kind,name:e.name},{idempotencyKey:n});return b.current.set(e.id,i.attachment),i.attachment};return{save:async()=>{!o||c||await e.run(async()=>{h(!0),g(null);try{let e={attachments:await ni(d,t,x),content:_.current?.getContent()??p};if(i===void 0)f.create(d,e),s(m)&&n();else{if(f.save(d,i,e)===void 0)throw Error(`Project todo is unavailable`);s(m)&&l()}}catch(e){s(m)&&g(e instanceof Error?e:Error(a))}finally{s(m)&&h(!1)}})},submit:async e=>{await v(e)&&i!==void 0&&(f.remove(d,i),l())}}}var ii={attachments:[],content:[]};function ai(e,t){return JSON.stringify([e,`project-todo`,t])}function oi(e,t){return e.routeScope!==t.routeScope||e.storageScope!==t.storageScope}function si({composerDrafts:e,editingTodoId:t,projectId:n,projectTodos:r,taskId:i}){if(t===void 0){let t=nt(n,i);return{clear:()=>{e.clear(t)},read:()=>e.read(t),scope:t,update:n=>{e.update(t,n)}}}let a=ai(n,t),o=()=>{let e=r.read(n,t);return e?.workingDraft??e?.draft??ii};return{clear:()=>{r.updateWorking(n,t,ii)},read:o,scope:a,update:e=>{r.updateWorking(n,t,e(o()))}}}function ci(e,t){return e===t}function li(e,t){let[n,r]=(0,Q.useState)(!1),[i,a]=(0,Q.useState)(null),[o,s]=(0,Q.useState)(),[c,l]=(0,Q.useState)(),u=(0,Q.useRef)(e);u.current=e;let d=(0,Q.useRef)(void 0),f=(0,Q.useRef)(void 0),p=(0,Q.useRef)(void 0),m=(0,Q.useRef)(void 0),h=(0,Q.useRef)(new Map),g=(0,Q.useRef)(new Map),_=(0,Q.useRef)(new Map),v=(0,Q.useMemo)(()=>Ke(),[e]);(0,Q.useEffect)(()=>{t?.(n)},[n,t]),(0,Q.useEffect)(()=>()=>{t?.(!1)},[t]);let y=(0,Q.useCallback)(e=>ci(u.current,e),[]),b=(0,Q.useCallback)(e=>{a(e),e!==null&&ht(e)},[]);return{actionLock:v,commandAttempts:_,interruptAttempt:m,isCurrentScope:y,isSubmitting:n,mutationError:i,pendingTaskState:o,reset:(0,Q.useCallback)(e=>{r(!1),b(null),e&&(s(void 0),l(void 0)),d.current=void 0,f.current=void 0,p.current=void 0,m.current=void 0,h.current.clear(),g.current.clear(),_.current.clear()},[b]),setIsSubmitting:r,setMutationError:b,setPendingTaskState:s,setSubmittedTurnState:l,startTaskAttempt:d,startTurnAttempt:f,steerTurnAttempt:p,submittedTurnState:c,uploadAttempts:g,uploadedAttachments:h}}function ui(e,t,n,i,o,s){return r({enabled:s,placeholderData:a,queryFn:({signal:r})=>e.searchProjectFiles(t,n,o,i,{signal:r}),queryKey:[`projects`,t,n,`file-search`,i,o],staleTime:3e4})}function di(e,t,n,r){e.stopProjectFileSearch(t,n,r).catch(()=>void 0)}function fi(e,t,n,r,i){let a=(0,Q.useMemo)(()=>({enabled:i,id:u(),projectId:t,rootPath:n}),[i,t,n]).id,[o,c]=(0,Q.useState)({enabled:!1,query:r});(0,Q.useEffect)(()=>{if(!i){c(e=>!e.enabled&&e.query===r?e:{enabled:!1,query:r});return}let e=setTimeout(()=>{c({enabled:!0,query:r})},150);return()=>{clearTimeout(e)}},[i,r]),(0,Q.useEffect)(()=>{if(i)return()=>{di(e,t,n,a)}},[e,i,t,n,a]);let l=o.enabled&&o.query===r;return s(ui(e,t,n,a,o.query,i&&l))}function pi(e,t){let n=new Map(t.map(e=>[e.name,e])),r=[];for(let t=e.turnIds.length-1;t>=0;--t){let i=e.turnIds[t];if(i===void 0)continue;let a=e.itemKeysByTurnId[i]??[];for(let t=a.length-1;t>=0;--t){let i=a[t];mi(r,i===void 0?void 0:e.getItemByKey(i),n)}}return r}function mi(e,t,n){if(t?.type!==`message`||t.role!==`user`)return;let r=t.skills??[];if(t.text===``&&r.length===0)return;let i=[];for(let[e,a]of r.entries()){let o=n.get(a.name);i.push(o===void 0?{text:`$${a.name}`,type:`text`}:{skill:o,type:`skill`}),(e<r.length-1||t.text!==``)&&i.push({text:` `,type:`text`})}t.text!==``&&i.push({text:t.text,type:`text`}),e.push(cn(i))}function hi(e,t,n){return n===0||e===null&&t===`next`?null:e===null?0:t===`previous`?Math.min(e+1,n-1):e===0?null:e-1}function gi(e,t,n){let r=Math.max(0,Math.min(t,e.length));if(n===`previous`){let t=e.indexOf(`
|
|
9
|
-
`);return t<0||r<=t}return r>=e.lastIndexOf(`
|
|
10
|
-
`)+1}var _i=[];function vi({capabilities:e,composerDraftId:t,client:n,editingTodoId:r,gitStatus:i,models:a,initialDraft:o,onSubmissionStateChange:s,projectId:c,projectPath:l,projectToolsEnabled:u,projectTodos:d,runtime:f,settings:p,skills:m,taskId:h}){let g=`${c}:${t??h??`draft`}:${l}`,_=st(),v=(0,Q.useMemo)(()=>si({composerDrafts:_,editingTodoId:r,projectId:c,projectTodos:d,taskId:t??h}),[t,_,r,c,d,h]),y=v.scope,b=o??v.read(),[x,S]=(0,Q.useState)(),[C,w]=(0,Q.useState)(0),[T,E]=(0,Q.useState)(b.attachments),[D,ee]=(0,Q.useState)(),[te,O]=(0,Q.useState)(!1),[ne,k]=(0,Q.useState)(!1),[A,j]=(0,Q.useState)(),[M,N]=(0,Q.useState)(``),[P,F]=(0,Q.useState)(null),[re,I]=(0,Q.useState)(``),[ie,L]=(0,Q.useState)(),[R,z]=(0,Q.useState)(b.content),[B,V]=(0,Q.useState)(null),[ae,H]=(0,Q.useState)(),U=li(g,s),{isSubmitting:oe,mutationError:se,pendingTaskState:W,reset:G,setIsSubmitting:ce,setMutationError:le,setPendingTaskState:ue,setSubmittedTurnState:de,submittedTurnState:fe}=U,pe=(0,Q.useId)(),me=(0,Q.useRef)(null),he=(0,Q.useRef)(null),ge=(0,Q.useRef)(b.content),_e=(0,Q.useRef)(g),ve=(0,Q.useRef)(y),ye=fe?.scope===g?fe.turnId:void 0,be=W?.scope===g?W.task:void 0,xe=ye===void 0?void 0:f?.store?.getState().turnsById[ye]?.status,Se=f?.activeTurnId??(ye!==void 0&&(xe===void 0||xe===`running`)?ye:void 0),Ce=h??be?.id,{canInterrupt:we,canSubmit:Te,canSteer:Ee}=lr(e,Ce!==void 0),De=f?.connectionState??`connected`,Oe=dr({activeTurnId:Se,connectionState:De,isSubmitting:oe,mutationFailed:se!==null||f?.error!==null}),ke=Cn(R),Ae=f?.metadata?.threadConfiguration,je=(0,Q.useMemo)(()=>x?.scope===g?x.settings:tr(p,Ae),[g,p,x,Ae]),Me=ae?.scope===g?ae.mode:void 0,Ne=a.find(e=>e.id===je.model)??a.find(e=>e.isDefault)??a[0],Pe=or(Ne,je.reasoningEffort),K=f?.metadata?.contextUsage,Fe=(0,Q.useMemo)(()=>f?.store===void 0?[]:pi(f.store.getState(),m),[f,m]),Ie=T.length,{attachmentsDisabled:Le,draftInputDisabled:Re,turnControlsDisabled:ze}=fr(Oe),Be=fi(n,c,l,M,ne&&u&&!ze),Ve=Be.data?.data??_i,He=Zr(e?.skills.use===!0?m:[],re),Ue=Xr(Gr({projectToolsEnabled:u}),re),We=i?.baseBranches??[],q=ne?Ve.length:P===`scopes`?2:P===`branches`?We.length:He.length+Ue.length,Ge=!te&&!ne||q===0?void 0:`${pe}-item-${String(C)}`,Ke=(0,Q.useCallback)(e=>{E(e),v.update(t=>({...t,attachments:e}))},[v]),qe=(0,Q.useCallback)(()=>{O(!1),I(``),L(void 0),F(null)},[]),J=(0,Q.useCallback)(()=>{k(!1),j(void 0),N(``)},[]),Je=(0,Q.useCallback)((e,t)=>{z(e),v.update(t=>({...t,content:e})),he.current?.replace(e,t)},[v]),Ye=(0,Q.useCallback)(e=>{let t=hi(B,e,Fe.length);if(t===null&&B===null)return!1;B===null&&(ge.current=he.current?.getContent()??R);let n=t===null?ge.current:Fe[t];return n===void 0?!1:(V(t),Je(n,Sn(n).length),!0)},[R,Fe,B,Je]),Xe=(0,Q.useCallback)(e=>{if(A===void 0)return;let t=gn(he.current?.getContent()??R,A,e),n=A.start+dn(e).length;Je(t,n),J(),requestAnimationFrame(()=>{he.current?.focus(n)})},[J,A,R,Je]),Y=(0,Q.useCallback)(e=>{let t=_n(he.current?.getContent()??R,e),n=Sn(t).length;qe(),J(),V(null),Je(t,n),requestAnimationFrame(()=>{he.current?.focus(n)})},[qe,J,R,Je]),Ze=(0,Q.useCallback)(()=>{if(!ne)return!1;let e=Ve[C];return e!==void 0&&Xe(e),!0},[C,ne,Ve,Xe]),Qe=(0,Q.useCallback)((e,t,n)=>{z(e),V(null),v.update(t=>({...t,content:e}));let r=Yr(t,n);if(u&&r!==null&&mn(e,r)){w(0),O(!1),I(``),L(void 0),F(null),k(!0),j(r),N(r.query);return}J();let i=Jr(t,n);if(i===null){O(!1),F(null),I(``),L(void 0);return}w(0),O(!0),F(null),I(i.query),L(i)},[J,v,u]),$e=(0,Q.useCallback)(()=>{z([]),V(null),ge.current=[],E([]),he.current?.replace([]),v.clear()},[v]);return(0,Q.useLayoutEffect)(()=>{if(!oi({routeScope:_e.current,storageScope:ve.current},{routeScope:g,storageScope:y}))return;_e.current=g;let e=ve.current!==y;if(e){ve.current=y;let e=v.read();z(e.content),V(null),ge.current=e.content,E(e.attachments),ee(void 0),he.current?.replace(e.content),S(void 0),H(void 0),w(0),O(!1),k(!1),j(void 0),N(``),F(null),I(``),L(void 0)}G(e)},[v,y,G,g]),{activeCommandIndex:C,activeCommandItemId:Ge,activeSettings:je,activeTaskId:Ce,activeTurnId:Se,attachmentCount:Ie,attachmentPickerKind:D,attachments:T,attachmentsDisabled:Le,baseBranches:We,canInterrupt:we,canSteer:Ee,canSubmit:Te,clearComposerInput:$e,closeCommandMenu:qe,closeFileMenu:J,commandMenuId:pe,commandMenuOpen:te,commandSlashCommand:ie,commandSurfaceRef:me,composerController:U,composerScope:y,connectionState:De,contextUsage:K,draftInputDisabled:Re,filteredCommands:Ue,filteredSkills:He,fileMenuOpen:ne,fileMention:A,fileQuery:M,fileSearchError:Be.error,fileSearchPending:Be.isPending,fileSearchResults:Ve,handleAttachmentsChange:Ke,handlePromptChange:Qe,isSubmitting:oe,menuItemCount:q,mutationError:se,navigatePromptHistory:Ye,pendingTask:be,composerMode:Me,promptContent:R,promptSubmission:ke,referenceProjectPath:Y,replacePromptContent:Je,reviewMenuMode:P,routeScope:g,selectedModel:Ne,selectedReasoningEffort:Pe,selectActiveFileReference:Ze,selectFileReference:Xe,setActiveCommandIndex:w,setAttachmentPickerKind:ee,setAttachments:E,setCommandMenuOpen:O,setFileMenuOpen:k,setFileMention:j,setFileQuery:N,setCommandQuery:I,setCommandSlashCommand:L,setIsSubmitting:ce,setMutationError:le,setPendingTaskState:ue,setComposerModeState:H,setPromptContent:z,setReviewMenuMode:F,setSettingsOverride:S,setSubmittedTurnState:de,skillEditorRef:he,state:Oe,turnControlsDisabled:ze}}function yi({activeUserMessageIds:e,activeSettings:t,activeTaskId:n,activeTurnId:r,canSteer:i,canSubmit:a,clearComposerInput:o,client:s,controller:c,followUpBehavior:l,editingQueuedSubmission:d,fastMode:f,onDirectSubmission:p,onCaptureSubmission:m,onRequestNotificationPermission:h,onTaskCreated:g,onTaskStarted:_,onTurnStarted:v,pendingTask:y,composerMode:b,onGoalStarted:x,onSteerAccepted:S,projectId:C,promptContent:w,routeScope:T,saveQueuedSubmission:E,selectedModel:D,selectedReasoningEffort:ee,skillEditorRef:te,state:O,taskId:ne,t:k,turnControlsDisabled:A}){let{actionLock:j,isCurrentScope:M,setIsSubmitting:N,setMutationError:P,setPendingTaskState:F,setSubmittedTurnState:re,startTaskAttempt:I,startTurnAttempt:ie,steerTurnAttempt:L,uploadAttempts:R,uploadedAttachments:z}=c,B=async(c,j,B={})=>{let V=T,ae=j===void 0?Cn(te.current?.getContent()??w):void 0,H=(ae?.text??c.text).trim(),U=B.composerMode===null?void 0:B.composerMode??b;if(U===`goal`&&(H.length===0||H.length>4e3))return P(Error(k(H.length===0?`composer.goalObjectiveRequired`:`composer.goalObjectiveTooLong`))),!1;let oe=j??ae?.skills??[];if(U===`goal`&&(c.files.length>0||oe.length>0))return P(Error(k(`composer.goalStructuredInputUnsupported`))),!1;let se=H!==``||c.files.length>0||oe.length>0,W=B.forceAction??(d?`queue`:ur(O,se,l,i));if(W===`blocked`||W===`interrupt`||!se||D===void 0||ee===void 0||A||m===void 0&&W!==`steer`&&!a||W===`steer`&&(!i||n===void 0||r===void 0))return!1;m===void 0&&W!==`queue`&&B.requestTimelineScroll!==!1&&p?.(),m===void 0&&h(),N(!0),P(null);let G,ce;try{ce=await Promise.all(c.files.map(e=>ti(e,async e=>{let t=z.current.get(e.id);if(t!==void 0)return t;let n=R.current.get(e.id)??u();R.current.set(e.id,n);let r=await s.uploadAttachment(C,{content:e.file,kind:e.kind,name:e.name},{idempotencyKey:n});return M(V)&&z.current.set(e.id,r.attachment),r.attachment}))),G={attachments:ce.map(e=>({id:e.id})),skills:oe.map(e=>({id:e.id,name:e.name})),text:H,type:`prompt`}}catch(e){return M(V)&&(P(e instanceof Error?e:Error(k(`composer.attachmentUploadFailed`))),N(!1)),!1}let le=ei(t,D.id,ee,U,f);if(m!==void 0)try{return await m(G,le,ce),!0}catch(e){return M(V)&&P(e instanceof Error?e:Error(`Prompt capture failed`)),!1}finally{M(V)&&N(!1)}if(W===`queue`)try{let e=await E(G,u());return e&&M(V)&&(o(),z.current.clear(),R.current.clear()),e}catch(e){return M(V)&&P(e instanceof Error?e:Error(`Prompt queueing failed`)),!1}finally{M(V)&&N(!1)}if(W===`steer`){if(n===void 0||r===void 0)return!1;let t=ar(L.current,JSON.stringify({input:G,taskId:n,turnId:r}));L.current=t;try{return await gr(s,C,n,r,G,t.key),M(V)&&(S({files:c.files,...B.queuedPromptId===void 0?{}:{id:B.queuedPromptId},skills:oe,text:H,turnId:r,userMessageIds:e}),B.clearInputOnSuccess!==!1&&o(),L.current=void 0,z.current.clear(),R.current.clear()),!0}catch(e){return M(V)&&P(e instanceof Error?e:Error(`Prompt steering failed`)),!1}finally{M(V)&&N(!1)}}let ue=ar(ie.current,JSON.stringify({input:G,options:le}));ie.current=ue;let de=n===void 0?ar(I.current,C):void 0;I.current=de;try{let e=await pr(s,{idempotencyKeys:{...de===void 0?{}:{startTask:de.key},startTurn:ue.key},input:G,onTaskCreated(e){M(V)&&(F({scope:V,task:e}),I.current=void 0,g?.(e))},projectId:C,...n===void 0?{}:{taskId:n},turnOptions:le});if(M(V)&&(B.clearInputOnSuccess!==!1&&o(),le.goalMode===!0&&x(),re({scope:V,turnId:e.turn.id})),v?.(e.turn,G,ce),M(V)&&(ie.current=void 0,z.current.clear(),R.current.clear()),ne===void 0){let t=e.createdTask??y;t!==void 0&&_(t,e.turn,G,le,ce,e.checkpoint)}return!0}catch(e){return M(V)&&P(e instanceof Error?e:Error(`Prompt submission failed`)),!1}finally{M(V)&&N(!1)}};return(e,t,n={})=>j.run(()=>B(e,t,n)).then(e=>e??!1)}function bi({directoryStates:e,entries:t,expandedPaths:n,onRetry:r}){let{t:i}=k(`workbench`);return t.map(t=>{if(t.type===`file`)return(0,$.jsx)(et,{name:t.name,path:t.path},t.path);let a=e.get(t.path),o=n.has(t.path);return(0,$.jsx)(lt,{name:t.name,path:t.path,trailing:o&&a?.isFetching===!0?(0,$.jsx)(b,{"aria-hidden":`true`,className:`size-3.5 animate-spin`}):void 0,children:o?a?.error!==null&&a?.error!==void 0?(0,$.jsxs)(`div`,{className:`flex min-h-9 items-center justify-between gap-2 px-2 py-1`,children:[(0,$.jsx)(`p`,{className:`min-w-0 text-caption text-danger`,role:`alert`,children:i(`hostAttachmentPicker.loadBranchError`)}),(0,$.jsxs)(Z,{className:`shrink-0`,onClick:()=>{r(t.path)},size:`sm`,type:`button`,variant:`ghost`,children:[(0,$.jsx)(te,{"aria-hidden":`true`,"data-icon":`inline-start`}),i(`actions.retry`)]})]}):a?.data===void 0?(0,$.jsx)(`p`,{className:`px-2 py-1.5 text-caption text-muted-foreground`,role:`status`,children:i(`hostAttachmentPicker.loadingBranch`)}):a.data.entries.length===0?(0,$.jsx)(`p`,{className:`px-2 py-1.5 text-caption text-muted-foreground`,children:i(`hostAttachmentPicker.empty`)}):(0,$.jsx)(bi,{directoryStates:e,entries:a.data.entries,expandedPaths:n,onRetry:r}):null},t.path)})}function xi({directoryStates:e,expandedPaths:t,listing:n,onExpandedChange:r,onRetry:i,onSelect:a,selectedPath:o}){let{t:s}=k(`workbench`),c=(0,Q.useMemo)(()=>new Map(e.map(e=>[e.path,e])),[e]);return(0,$.jsx)(ft,{"aria-label":s(`hostAttachmentPicker.treeLabel`),expanded:t,onExpandedChange:r,onSelect:a,...o===void 0?{}:{selectedPath:o},children:(0,$.jsx)(bi,{directoryStates:c,entries:n.entries,expandedPaths:t,onRetry:i})})}function Si({client:e,kind:t,onAdd:n,onClose:r,projectId:i}){let{t:a}=k(`workbench`),[o,l]=(0,Q.useState)(),[u,d]=(0,Q.useState)(),[f,p]=(0,Q.useState)(!1),[m,h]=(0,Q.useState)(()=>new Set),[_,v]=(0,Q.useState)(),[y,x]=(0,Q.useState)(!1),S=(0,Q.useRef)(!1),C=(0,Q.useRef)(void 0),w=s({queryFn:({signal:n})=>e.listHostFiles(t,o,{includeHidden:f,signal:n}),queryKey:[`host-files`,t,o??null,f],staleTime:3e4}),T=w.data,E=(0,Q.useMemo)(()=>[...m],[m]),D=c({queries:E.map(n=>({queryFn:({signal:r})=>e.listHostFiles(t,n,{includeHidden:f,signal:r}),queryKey:[`host-files`,t,n,f],staleTime:3e4}))}),ee=E.map((e,t)=>{let n=D[t];return{...n?.data===void 0?{}:{data:n.data},error:n?.error??null,isFetching:n?.isFetching??!1,path:e}}),O=(0,Q.useMemo)(()=>new Set([T,...ee.map(e=>e.data)].filter(e=>e!==void 0).flatMap(e=>e.entries.flatMap(e=>e.type===`file`?[e.path]:[]))),[ee,T]),ne=u??o??T?.path??``,A=()=>{let e=T?.parentPath;e!=null&&(l(e),d(void 0),h(new Set),v(void 0))},j=e=>{l(e),d(void 0),h(new Set),v(void 0)},M=()=>{let e=ne.trim();e.length!==0&&(l(e),d(void 0),h(new Set),v(void 0))},N=()=>{p(e=>!e),v(void 0)},P=async()=>{if(_===void 0||S.current)return;S.current=!0,x(!0);let r=ar(C.current,`${i}:${t}:${_}`);C.current=r;try{let a=await e.importHostAttachment(i,t,_,{idempotencyKey:r.key});if(a.attachment.kind!==t)throw TypeError(`Imported attachment kind does not match the selection`);n({attachment:a.attachment,...a.attachment,previewUrl:t===`image`?g(``,i,a.attachment.id):``,source:`host`}),C.current=void 0,tt()}catch(e){ht(e)}finally{S.current=!1,x(!1)}};return(0,$.jsx)(Qe,{onOpenChange:e=>{!e&&!y&&r()},open:!0,children:(0,$.jsxs)(Ze,{"aria-labelledby":`host-attachment-picker-title`,className:`grid h-[min(84dvh,42rem)] max-w-2xl grid-rows-[auto_auto_minmax(0,1fr)_auto] gap-0 overflow-hidden p-0`,onEscapeKeyDown:e=>{y&&e.preventDefault()},onInteractOutside:e=>{y&&e.preventDefault()},children:[(0,$.jsxs)(Ne,{className:`px-4 pb-3 pt-4 sm:px-5 sm:pt-5`,children:[(0,$.jsx)(rt,{id:`host-attachment-picker-title`,children:a(t===`image`?`hostAttachmentPicker.imageTitle`:`hostAttachmentPicker.fileTitle`)}),(0,$.jsx)($e,{className:`sr-only`,children:a(`hostAttachmentPicker.description`)})]}),(0,$.jsx)(Je,{disabled:y,includeHidden:f,labels:{filesystemRoot:a(`hostAttachmentPicker.filesystemRoot`),goToPath:a(`hostAttachmentPicker.goToPath`),hideHidden:a(`hostAttachmentPicker.hideHidden`),parent:a(`hostAttachmentPicker.parent`),pathLabel:a(`hostAttachmentPicker.pathLabel`),pathPlaceholder:a(`hostAttachmentPicker.pathPlaceholder`),showHidden:a(`hostAttachmentPicker.showHidden`)},listing:T,onNavigateParent:A,onNavigatePath:M,onNavigateRoot:j,onPathChange:d,onToggleHidden:N,path:ne}),(0,$.jsx)(`div`,{className:`min-h-0 overflow-y-auto px-3 py-2 sm:px-4`,children:w.isPending?(0,$.jsxs)(`p`,{className:`flex min-h-32 items-center justify-center gap-2 text-body-small text-muted-foreground`,role:`status`,children:[(0,$.jsx)(b,{"aria-hidden":`true`,className:`size-4 animate-spin`}),a(`hostAttachmentPicker.loading`)]}):w.error===null?T===void 0?null:T.entries.length===0?(0,$.jsx)(`p`,{className:`grid min-h-32 place-items-center text-body-small text-muted-foreground`,children:a(`hostAttachmentPicker.empty`)}):(0,$.jsx)(xi,{directoryStates:ee,expandedPaths:m,listing:T,onExpandedChange:h,onRetry:e=>{let t=E.indexOf(e);D[t]?.refetch()},onSelect:e=>{O.has(e)&&v(e)},..._===void 0?{}:{selectedPath:_}}):(0,$.jsxs)(`div`,{className:`flex min-h-32 flex-col items-center justify-center gap-3 text-center`,children:[(0,$.jsx)(`p`,{className:`text-body-small text-danger`,role:`alert`,children:a(`hostAttachmentPicker.loadError`)}),(0,$.jsxs)(Z,{onClick:()=>void w.refetch(),type:`button`,variant:`outline`,children:[(0,$.jsx)(te,{"aria-hidden":`true`,"data-icon":`inline-start`}),a(`actions.retry`)]})]})}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-3 border-t border-separator bg-raised px-4 py-3 sm:flex-row sm:items-center sm:px-5`,children:[(0,$.jsx)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:(0,$.jsx)(`p`,{"aria-live":`polite`,className:`truncate font-mono text-caption text-foreground`,title:_,children:_??a(`hostAttachmentPicker.noSelection`)})}),(0,$.jsxs)(J,{className:`w-full flex-col-reverse sm:w-auto sm:flex-row`,children:[(0,$.jsx)(Z,{className:`h-10 w-full sm:h-8 sm:w-auto`,disabled:y,onClick:r,type:`button`,variant:`outline`,children:a(`actions.cancel`)}),(0,$.jsxs)(Z,{className:`h-10 w-full sm:h-8 sm:w-auto`,disabled:_===void 0||y,onClick:()=>void P(),type:`button`,children:[y?(0,$.jsx)(b,{"aria-hidden":`true`,className:`animate-spin`,"data-icon":`inline-start`}):t===`image`?(0,$.jsx)(L,{"aria-hidden":`true`,"data-icon":`inline-start`}):(0,$.jsx)(de,{"aria-hidden":`true`,"data-icon":`inline-start`}),a(y?`hostAttachmentPicker.importing`:`hostAttachmentPicker.add`)]})]})]})]})})}function Ci({active:e,kind:t,onAdd:n,...r}){return t===void 0?null:(0,$.jsx)(Si,{...r,kind:t,onAdd:t=>{e&&(n(t),r.onClose())}})}var wi=(0,Q.createContext)(null);function Ti(){let e=(0,Q.useContext)(wi);if(e===null)throw Error(`Context components must be used within Context`);return e}function Ei({children:e,className:t=``,maxTokens:n,usedTokens:r,...i}){let a=(0,Q.useMemo)(()=>({maxTokens:n,usedTokens:r}),[n,r]);return(0,$.jsx)(wi.Provider,{value:a,children:(0,$.jsx)(`span`,{className:`inline-flex shrink-0 ${t}`,...i,children:e})})}function Di(e){let{maxTokens:t,usedTokens:n}=e;if(t==null||t<=0||n===void 0)return{accessibleLabel:D.t(`agentComponents.contextUnknown`,{ns:`conversation`}),percentage:null,summary:D.t(`agentComponents.contextWaiting`,{ns:`conversation`}),tokenCount:n===void 0?null:`${Oi(n)} tokens`};let r=Math.min(100,Math.max(0,Math.round(n/t*100)));return{accessibleLabel:D.t(`agentComponents.contextPercent`,{ns:`conversation`,percentage:r}),percentage:r,summary:D.t(`agentComponents.contextSummary`,{ns:`conversation`,percentage:r}),tokenCount:`${Oi(n)} / ${Oi(t)} tokens`}}function Oi(e){return new Intl.NumberFormat(`en-US`,{maximumFractionDigits:1,notation:`compact`}).format(e)}var ki=7,Ai=2*Math.PI*ki;function ji(){k(`conversation`);let e=Ai*(1-(Di(Ti()).percentage??0)/100);return(0,$.jsxs)(`svg`,{className:`size-4.5 -rotate-90`,viewBox:`0 0 20 20`,"aria-hidden":`true`,children:[(0,$.jsx)(`circle`,{cx:`10`,cy:`10`,fill:`none`,r:ki,stroke:`currentColor`,strokeOpacity:`0.24`,strokeWidth:`3`}),(0,$.jsx)(`circle`,{cx:`10`,cy:`10`,fill:`none`,r:ki,stroke:`currentColor`,strokeDasharray:Ai,strokeDashoffset:e,strokeLinecap:`round`,strokeWidth:`3`})]})}function Mi({children:e,className:t=``,...n}){return(0,$.jsx)(`span`,{className:`flex flex-col gap-0.5 px-0.5 py-0.5 tabular-nums ${t}`,...n,children:e})}function Ni({children:e,className:t=``,...n}){k(`conversation`);let r=Di(Ti());return(0,$.jsx)(`span`,{className:`contents ${t}`,...n,children:e??(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:`text-body-small font-medium`,children:r.summary}),r.tokenCount===null?null:(0,$.jsx)(`span`,{className:`text-label text-muted-foreground`,children:r.tokenCount})]})})}function Pi({children:e,className:t=``,...n}){k(`conversation`);let r=Di(Ti());return(0,$.jsxs)(gt,{children:[(0,$.jsx)(Y,{asChild:!0,children:(0,$.jsx)(Z,{...n,"aria-label":r.accessibleLabel,className:`tabular-nums ${t}`,size:`toolbar`,type:n.type??`button`,variant:`ghost`,children:e??(0,$.jsxs)($.Fragment,{children:[r.percentage===null?null:(0,$.jsxs)(`span`,{children:[r.percentage,`%`]}),(0,$.jsx)(ji,{})]})})}),(0,$.jsx)(K,{className:`bg-raised text-foreground`,children:(0,$.jsx)(Mi,{children:(0,$.jsx)(Ni,{})})})]})}function Fi({isPending:e,onClose:t,onCreate:n}){let{t:r}=k(`workbench`),[i,a]=(0,Q.useState)(``),o=(0,Q.useRef)(!1),s=i.trim();return(0,$.jsx)(Qe,{onOpenChange:n=>{!n&&!e&&!o.current&&t()},open:!0,children:(0,$.jsx)(Ze,{"aria-labelledby":`create-branch-title`,className:`max-w-96 p-4`,onEscapeKeyDown:t=>{(e||o.current)&&t.preventDefault()},onInteractOutside:t=>{(e||o.current)&&t.preventDefault()},children:(0,$.jsxs)(`form`,{className:`grid gap-4`,onSubmit:e=>{e.preventDefault(),!(s.length===0||o.current)&&(o.current=!0,n(s).then(e=>{o.current=!1,e&&t()}))},children:[(0,$.jsxs)(Ne,{children:[(0,$.jsx)(rt,{id:`create-branch-title`,children:r(`composer.createBranch`)}),(0,$.jsx)($e,{children:r(`composer.createBranchDescription`)})]}),(0,$.jsxs)(`label`,{className:`grid gap-1.5 text-label font-medium text-foreground`,htmlFor:`create-branch-name`,children:[r(`composer.branchName`),(0,$.jsx)(Ve,{autoCapitalize:`none`,autoComplete:`off`,autoCorrect:`off`,autoFocus:!0,disabled:e,id:`create-branch-name`,maxLength:1024,name:`branch`,onChange:e=>{a(e.currentTarget.value)},placeholder:`feat/my-feature`,spellCheck:!1,value:i,variant:`outline`})]}),(0,$.jsxs)(J,{children:[(0,$.jsx)(Z,{disabled:e,onClick:t,type:`button`,variant:`ghost`,children:r(`actions.cancel`)}),(0,$.jsx)(Z,{disabled:e||s.length===0,type:`submit`,children:r(`composer.createAndSwitchBranch`)})]})]})})})}function Ii({isPending:e,onClose:t,onCreate:n}){let{t:r}=k(`workbench`),[i,a]=(0,Q.useState)(``),o=(0,Q.useRef)(!1),s=i.trim();return(0,$.jsx)(Qe,{onOpenChange:n=>{!n&&!e&&!o.current&&t()},open:!0,children:(0,$.jsx)(Ze,{"aria-labelledby":`create-worktree-title`,className:`max-w-96 p-4`,onEscapeKeyDown:t=>{(e||o.current)&&t.preventDefault()},onInteractOutside:t=>{(e||o.current)&&t.preventDefault()},children:(0,$.jsxs)(`form`,{className:`grid gap-4`,onSubmit:e=>{e.preventDefault(),!(s.length===0||o.current)&&(o.current=!0,n(s).then(e=>{o.current=!1,e&&t()}))},children:[(0,$.jsxs)(Ne,{children:[(0,$.jsx)(rt,{id:`create-worktree-title`,children:r(`composer.createWorktree`)}),(0,$.jsx)($e,{children:r(`composer.createWorktreeDescription`)})]}),(0,$.jsxs)(`label`,{className:`grid gap-1.5 text-label font-medium text-foreground`,htmlFor:`create-worktree-branch`,children:[r(`composer.branchName`),(0,$.jsx)(Ve,{autoCapitalize:`none`,autoComplete:`off`,autoCorrect:`off`,autoFocus:!0,disabled:e,id:`create-worktree-branch`,maxLength:1024,name:`branch`,onChange:e=>{a(e.currentTarget.value)},placeholder:`feat/my-feature`,spellCheck:!1,value:i,variant:`outline`})]}),(0,$.jsxs)(J,{children:[(0,$.jsx)(Z,{disabled:e,onClick:t,type:`button`,variant:`ghost`,children:r(`actions.cancel`)}),(0,$.jsx)(Z,{disabled:e||s.length===0,type:`submit`,children:r(`composer.createAndSwitchWorktree`)})]})]})})})}function Li(e,t,n){return{branches:e.filter(e=>e!==t),worktrees:n.filter(e=>!e.current)}}function Ri({creatingBranch:e,creatingWorktree:t,gitStatus:n,onBranchChange:r,onBranchCreate:i,onWorktreeChange:a,onWorktreeCreate:o,switchingBranch:s,switchingWorktree:c,worktrees:l}){let{t:u}=k(`workbench`),[d,f]=(0,Q.useState)(!1),[p,m]=(0,Q.useState)(!1);if(n===void 0||n.repositoryMode===`none`)return null;let h=n.branch,g=n.repositoryMode===`root`&&h!==null,_=h??u(`composer.gitBranchMissing`),v=s!==void 0||e!==void 0||c!==void 0||t!==void 0,y=Li(n.branches,h,l);return g?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(Ye,{children:[(0,$.jsx)(Be,{asChild:!0,children:(0,$.jsxs)(Z,{"aria-label":u(`composer.branchSwitcherLabel`,{branch:h}),className:`inline-flex h-6 max-w-28 min-w-0 items-center gap-1 rounded-control px-1 text-caption text-muted-foreground hover:bg-control-hover hover:text-foreground sm:max-w-40`,disabled:v,type:`button`,variant:`ghost`,children:[v?(0,$.jsx)(b,{"aria-hidden":`true`,className:`size-3 shrink-0 animate-spin`,"data-icon":`inline-start`}):(0,$.jsx)(Et,{"aria-hidden":`true`,className:`size-3 shrink-0`,"data-icon":`inline-start`}),(0,$.jsx)(`span`,{className:`truncate`,children:_}),(0,$.jsx)(xt,{"aria-hidden":`true`,className:`size-3 shrink-0`,"data-icon":`inline-end`})]})}),(0,$.jsxs)(Ie,{align:`start`,className:`max-h-72 w-72 max-w-[calc(100vw-1rem)] overflow-y-auto`,side:`top`,children:[y.branches.length===0?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Fe,{children:(0,$.jsx)(ot,{children:u(`composer.branchSwitcherMenu`)})}),(0,$.jsx)(Pe,{onValueChange:r,children:y.branches.map(e=>(0,$.jsx)(X,{disabled:v,title:e,value:e,children:(0,$.jsx)(`span`,{className:`truncate`,children:e})},e))}),(0,$.jsx)(Ue,{})]}),y.worktrees.length===0?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(Fe,{children:[(0,$.jsx)(ot,{children:u(`composer.worktreeSwitcherMenu`)}),y.worktrees.map(e=>(0,$.jsxs)(Ge,{disabled:v,onSelect:()=>{a(e.path)},title:e.path,children:[(0,$.jsx)(fe,{"aria-hidden":`true`,className:`size-3.5`}),(0,$.jsxs)(`span`,{className:`grid min-w-0 flex-1`,children:[(0,$.jsx)(`span`,{className:`truncate`,children:e.branch??u(`composer.detachedHead`)}),(0,$.jsx)(`span`,{className:`truncate text-caption text-muted-foreground`,children:e.path})]})]},e.path))]}),(0,$.jsx)(Ue,{})]}),(0,$.jsxs)(Ge,{disabled:v,onSelect:()=>{f(!0)},children:[(0,$.jsx)(F,{"aria-hidden":`true`,className:`size-3.5 text-muted-foreground`}),u(`composer.createBranch`)]}),(0,$.jsxs)(Ge,{disabled:v,onSelect:()=>{m(!0)},children:[(0,$.jsx)(fe,{"aria-hidden":`true`,className:`size-3.5 text-muted-foreground`}),u(`composer.createWorktree`)]})]})]}),d?(0,$.jsx)(Fi,{isPending:e!==void 0,onClose:()=>{f(!1)},onCreate:i}):null,p?(0,$.jsx)(Ii,{isPending:t!==void 0,onClose:()=>{m(!1)},onCreate:o}):null]}):(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 shrink items-center gap-1`,children:[(0,$.jsx)(Et,{"aria-hidden":`true`,className:`size-3 shrink-0`}),(0,$.jsx)(`span`,{className:`truncate`,children:_})]})}function zi(){return(0,$.jsx)(At,{"aria-hidden":`true`})}var Bi=`(max-width: 760px)`;function Vi(){let[e,t]=(0,Q.useState)(()=>typeof window>`u`?!1:window.matchMedia(Bi).matches);return(0,Q.useEffect)(()=>{let e=window.matchMedia(Bi),n=()=>{t(e.matches)};return n(),e.addEventListener(`change`,n),()=>{e.removeEventListener(`change`,n)}},[]),e}function Hi({accessibleLabel:e,disabled:t,effortLabel:n,modelLabel:r,...i}){return(0,$.jsxs)(Z,{...i,"aria-label":e,className:`min-w-0 max-w-44 max-workbench:gap-0.5 max-workbench:px-1`,"data-slot":`composer-model-selector`,disabled:t,size:`sm`,type:`button`,variant:`ghost`,children:[(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:r}),n===``?null:(0,$.jsx)(`span`,{className:`shrink-0 text-muted-foreground`,children:n}),(0,$.jsx)(w,{"aria-hidden":`true`,className:`size-3 shrink-0 text-muted-foreground`})]})}function Ui(e,t,n){let r=e.find(e=>e.id===n),i=or(r,t.reasoningEffort);if(!(r===void 0||i===void 0))return{...t,model:r.id,reasoningEffort:i}}function Wi(e,t,n){if(e?.supportedReasoningEfforts.some(e=>e.id===n))return{...t,reasoningEffort:n}}function Gi({activeSettings:e,disabled:t,models:n,modelsPending:r,onSettingsChange:i,selectedModel:a,selectedReasoningEffort:o}){let{t:s}=k([`workbench`,`settings`]),c=Vi(),[l,u]=(0,Q.useState)(!1),d=a?.displayName??s(r?`composer.modelLoading`:`composer.noModels`),f=o===void 0?``:s(`settings:effort.${o}`,{defaultValue:o}),p=t||r||a===void 0,m=s(`composer.modelAndReasoningSelect`,{effort:f,model:d}),h=t=>{let r=Ui(n,e,t);r!==void 0&&i(r,`model`)},g=t=>{let n=Wi(a,e,t);n!==void 0&&i(n,`reasoningEffort`)};return c?(0,$.jsxs)(Qe,{onOpenChange:u,open:l,children:[(0,$.jsx)(mt,{asChild:!0,children:(0,$.jsx)(Hi,{accessibleLabel:m,disabled:p,effortLabel:f,modelLabel:d})}),(0,$.jsxs)(Ze,{className:`w-[calc(100%-1rem)] max-w-xs gap-2 p-3`,children:[(0,$.jsx)(rt,{className:`text-body`,children:s(`composer.modelAndReasoningMenu`)}),(0,$.jsx)($e,{className:`sr-only`,children:m}),(0,$.jsxs)(`div`,{"aria-label":s(`composer.modelSelect`),className:`grid gap-0.5`,role:`radiogroup`,children:[(0,$.jsx)(`div`,{className:`px-2 py-1 text-label font-medium text-muted-foreground`,children:s(`composer.model`)}),n.map(e=>(0,$.jsxs)(Z,{"aria-checked":e.id===a?.id,className:`w-full`,contentAlign:`start`,onClick:()=>{h(e.id),u(!1)},role:`radio`,size:`sm`,type:`button`,variant:`ghost`,children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,title:e.displayName,children:e.displayName}),e.id===a?.id?(0,$.jsx)(E,{"aria-hidden":`true`,className:`size-3.5`}):null]},e.id))]}),(0,$.jsxs)(`div`,{"aria-label":s(`composer.reasonEffortSelect`),className:`grid gap-0.5 border-t border-separator pt-1.5`,role:`radiogroup`,children:[(0,$.jsx)(`div`,{className:`px-2 py-1 text-label font-medium text-muted-foreground`,children:s(`composer.reasoningEffort`)}),a?.supportedReasoningEfforts.map(e=>{let t=s(`settings:effort.${e.id}`,{defaultValue:e.id});return(0,$.jsxs)(Z,{"aria-checked":e.id===o,className:`w-full`,contentAlign:`start`,onClick:()=>{g(e.id),u(!1)},role:`radio`,size:`sm`,type:`button`,variant:`ghost`,children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:t}),e.id===o?(0,$.jsx)(E,{"aria-hidden":`true`,className:`size-3.5`}):null]},e.id)})]})]})]}):(0,$.jsxs)(Ye,{children:[(0,$.jsx)(Be,{asChild:!0,children:(0,$.jsx)(Hi,{accessibleLabel:m,disabled:p,effortLabel:f,modelLabel:d})}),(0,$.jsxs)(Ie,{align:`end`,"aria-label":s(`composer.modelAndReasoningMenu`),className:`w-40`,side:`top`,children:[(0,$.jsxs)(q,{children:[(0,$.jsxs)(Le,{"aria-label":s(`composer.modelSelect`),children:[(0,$.jsx)(`span`,{className:`font-medium`,children:s(`composer.model`)}),(0,$.jsx)(`span`,{className:`ml-auto max-w-28 truncate text-muted-foreground`,children:d})]}),(0,$.jsx)(qe,{"aria-label":s(`composer.modelSelect`),className:`w-40 max-w-[calc(100vw-1rem)]`,children:(0,$.jsx)(Pe,{onValueChange:h,...a===void 0?{}:{value:a.id},children:n.map(e=>(0,$.jsx)(X,{indicator:`check`,value:e.id,children:(0,$.jsx)(`span`,{className:`min-w-0 truncate`,title:e.displayName,children:e.displayName})},e.id))})})]}),(0,$.jsxs)(q,{children:[(0,$.jsxs)(Le,{"aria-label":s(`composer.reasonEffortSelect`),children:[(0,$.jsx)(`span`,{className:`font-medium`,children:s(`composer.reasoningEffort`)}),(0,$.jsx)(`span`,{className:`ml-auto truncate text-muted-foreground`,children:f})]}),(0,$.jsx)(qe,{"aria-label":s(`composer.reasonEffortSelect`),className:`min-w-28 w-28 max-w-[calc(100vw-1rem)]`,children:(0,$.jsx)(Pe,{onValueChange:g,...o===void 0?{}:{value:o},children:a?.supportedReasoningEfforts.map(e=>(0,$.jsx)(X,{indicator:`check`,value:e.id,children:(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:s(`settings:effort.${e.id}`,{defaultValue:e.id})})},e.id))})})]})]})]})}function Ki(e){return(0,$.jsx)(nn,{"data-slot":`popover`,...e})}function qi(e){return(0,$.jsx)(rn,{"data-slot":`popover-trigger`,...e})}function Ji({align:e=`start`,children:t,className:n,collisionPadding:r=8,sideOffset:i=4,...a}){let o=(0,$.jsx)(on,{align:e,className:at(`z-50 rounded-surface border border-separator-strong bg-raised text-foreground shadow-floating outline-none`,n),collisionPadding:r,"data-slot":`popover-content`,sideOffset:i,...a,children:t});return typeof document>`u`?o:(0,$.jsx)(an,{children:o})}function Yi(e,t){return Sn(e.draft.content).trim()||t}function Xi({disabled:e,editing:t,onSave:n}){let{t:r}=k(`workbench`),i=r(t?`composer.saveTodoChanges`:`composer.saveAsTodo`);return(0,$.jsxs)(gt,{children:[(0,$.jsx)(Y,{asChild:!0,children:(0,$.jsx)(G,{"aria-label":i,disabled:e,onClick:n,children:(0,$.jsx)(t?re:de,{"aria-hidden":`true`,className:`size-3.5`})})}),(0,$.jsx)(K,{children:i})]})}function Zi({composerHasInput:e,onDelete:t,onRestore:n,projectName:r,todos:i}){let{t:a,i18n:o}=k(`workbench`),[s,c]=(0,Q.useState)(!1),[l,u]=(0,Q.useState)();if(i.length===0)return null;let d=t=>{c(!1),e?u(t):n(t)};return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(Ki,{onOpenChange:c,open:s,children:[(0,$.jsx)(qi,{asChild:!0,children:(0,$.jsx)(Z,{"aria-label":a(`composer.todoCount`,{count:i.length}),className:`h-6 px-1.5 text-caption`,size:`toolbar`,type:`button`,variant:`ghost`,children:a(`composer.todoCount`,{count:i.length})})}),(0,$.jsxs)(Ji,{"aria-label":a(`composer.todoList`,{project:r}),className:`w-96 max-w-[calc(100vw-2rem)] overflow-hidden p-0`,role:`dialog`,side:`top`,children:[(0,$.jsx)(`div`,{className:`border-b border-separator px-3 py-2 text-label font-medium`,children:a(`composer.todoList`,{project:r})}),(0,$.jsx)(`div`,{className:`max-h-72 overflow-y-auto p-1`,role:`list`,children:i.map(e=>{let n=Yi(e,a(`composer.attachmentCount`,{count:e.draft.attachments.length}));return(0,$.jsxs)(`div`,{className:`group flex h-11 min-w-0 items-center gap-1`,role:`listitem`,children:[(0,$.jsx)(Z,{"aria-label":n,className:`h-full min-w-0 flex-1 px-2 py-1`,contentAlign:`start`,onClick:()=>{d(e.id)},type:`button`,variant:`ghost`,children:(0,$.jsxs)(`span`,{className:`min-w-0 flex-1 overflow-hidden`,children:[(0,$.jsx)(`span`,{className:`block truncate text-body-small text-foreground`,children:n}),(0,$.jsxs)(`span`,{className:`mt-px flex min-w-0 items-center gap-2 text-caption text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:`truncate`,children:new Date(e.updatedAt).toLocaleString(o.language)}),e.workingDraft===void 0?null:(0,$.jsx)(`span`,{className:`shrink-0 text-brand`,children:a(`composer.todoHasChanges`)})]})]})}),(0,$.jsx)(Z,{"aria-label":a(`composer.deleteTodo`,{summary:n}),className:`mr-1 shrink-0 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100`,onClick:()=>{t(e.id)},size:`icon-sm`,type:`button`,variant:`ghost`,children:(0,$.jsx)(P,{"aria-hidden":`true`,className:`size-3.5`})})]},e.id)})})]})]}),(0,$.jsx)(Qe,{onOpenChange:e=>{e||u(void 0)},open:l!==void 0,children:(0,$.jsxs)(Ze,{className:`max-w-96 p-4`,children:[(0,$.jsxs)(Ne,{children:[(0,$.jsx)(rt,{children:a(`composer.applyTodoTitle`)}),(0,$.jsx)($e,{children:a(`composer.applyTodoDescription`)})]}),(0,$.jsxs)(J,{children:[(0,$.jsx)(Z,{onClick:()=>{u(void 0)},type:`button`,variant:`ghost`,children:a(`actions.cancel`)}),(0,$.jsx)(Z,{onClick:()=>{let e=l;u(void 0),e!==void 0&&n(e)},type:`button`,children:a(`composer.applyTodo`)})]})]})})]})}function Qi({disabled:e,onSettingsChange:t,sandboxModeSelectable:n,settings:r}){let{t:i}=k([`workbench`,`settings`]);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(z,{"aria-label":i(`composer.approvalMode`),className:`max-workbench:px-0.5`,disabled:e,onChange:e=>{t(cr(r,e.currentTarget.value),`approvalPolicy`)},value:sr(r),children:[(0,$.jsx)(`option`,{value:`on-request`,children:i(`settings:approval.onRequest`)}),(0,$.jsx)(`option`,{value:`auto-review`,children:i(`settings:approval.autoReview`)}),(0,$.jsx)(`option`,{value:`never`,children:i(`settings:approval.never`)})]}),n?(0,$.jsx)($.Fragment,{children:(0,$.jsxs)(z,{"aria-label":i(`composer.sandboxMode`),className:`max-workbench:px-0.5`,disabled:e,onChange:e=>{t({...r,sandboxMode:e.currentTarget.value},`sandboxMode`)},value:r.sandboxMode,children:[(0,$.jsx)(`option`,{value:`read-only`,children:i(`settings:sandbox.readOnly`)}),(0,$.jsx)(`option`,{value:`workspace-write`,children:i(`settings:sandbox.workspaceWrite`)}),(0,$.jsx)(`option`,{value:`danger-full-access`,children:i(`settings:sandbox.dangerFullAccess`)})]})}):null]})}function $i(e){return e.split(/[\\/]/u).filter(Boolean).at(-1)??e}function ea({onChange:e,roots:t,value:n}){let{t:r}=k(`workbench`);if(t.length<2)return null;let i=t.find(e=>e.id===n)??t[0];return i===void 0?null:(0,$.jsxs)(ze,{onValueChange:e,value:n,children:[(0,$.jsxs)(He,{"aria-label":r(`shell.selectProjectRoot`),className:`min-w-0 max-w-28 shrink border-0 bg-transparent shadow-none hover:bg-control-hover sm:max-w-40`,size:`toolbar`,title:i.path,children:[(0,$.jsx)(Tt,{"aria-hidden":`true`}),(0,$.jsx)(ut,{children:$i(i.path)})]}),(0,$.jsx)(Xe,{position:`popper`,children:t.map((e,t)=>(0,$.jsx)(Re,{textValue:e.path,value:e.id,children:(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,$.jsx)(`span`,{className:`truncate`,children:$i(e.path)}),(0,$.jsxs)(`span`,{className:`truncate font-mono text-caption text-muted-foreground`,children:[t===0?`${r(`projectPicker.primaryRoot`)} · `:``,e.path]})]})},e.id))})]})}var ta=(0,Q.createContext)(void 0);function na(){let e=(0,Q.useContext)(ta);if(e===void 0)throw Error(`Attachment components must be used inside Attachment`);return e}function ra({className:e=``,...t}){return(0,$.jsx)(`div`,{className:`flex max-w-full flex-wrap gap-1.5 px-1 pb-1 ${e}`,"data-attachments":`true`,...t})}function ia({className:e=``,data:t,onRemove:n,...r}){return(0,$.jsx)(ta.Provider,{value:{data:t,...n===void 0?{}:{onRemove:n}},children:(0,$.jsx)(`div`,{className:`flex h-10 max-w-56 items-center gap-2 rounded-control bg-control px-1.5 text-label text-foreground ${e}`,...r})})}function aa({className:e=``,...t}){let{data:n}=na();return(0,$.jsx)(`div`,{className:`grid size-7 shrink-0 place-items-center overflow-hidden rounded-control bg-raised ${e}`,"data-attachment-preview":n.mediaType.startsWith(`image/`)?`image`:`file`,...t,children:n.mediaType.startsWith(`image/`)?(0,$.jsx)(`img`,{alt:``,className:`size-full object-cover`,height:28,src:n.previewUrl,width:28}):(0,$.jsx)(wt,{className:`size-4 text-muted-foreground`,"aria-hidden":`true`})})}function oa({className:e=``,...t}){let{data:n}=na(),r=n.size<1024?`${String(n.size)} B`:n.size<1024*1024?`${(n.size/1024).toFixed(1)} KB`:`${(n.size/(1024*1024)).toFixed(1)} MB`;return(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 ${e}`,...t,children:[(0,$.jsx)(`div`,{className:`truncate font-medium`,children:n.name}),(0,$.jsx)(`div`,{className:`text-caption text-muted-foreground`,children:r})]})}function sa({children:e,className:t=``,onClick:n,type:r=`button`,...i}){let{data:a,onRemove:o}=na(),{t:s}=k(`conversation`);return(0,$.jsx)(Z,{variant:`ghost`,"aria-label":s(`agentComponents.removeAttachment`,{name:a.name}),className:`grid size-6 shrink-0 place-items-center rounded-control text-muted-foreground hover:bg-control-hover hover:text-foreground ${t}`,onClick:e=>{n?.(e),e.defaultPrevented||o?.()},type:r,...i,children:e??(0,$.jsx)(M,{className:`size-3.5`,"aria-hidden":`true`})})}function ca({action:e}){let t=`size-4 shrink-0 text-brand`;switch(e){case`review`:return(0,$.jsx)(bt,{"aria-hidden":`true`,className:t});case`initialize`:return(0,$.jsx)(de,{"aria-hidden":`true`,className:t});case`compact`:return(0,$.jsx)(St,{"aria-hidden":`true`,className:t});case`fork`:return(0,$.jsx)(fe,{"aria-hidden":`true`,className:t});case`plan`:return(0,$.jsx)(Dt,{"aria-hidden":`true`,className:t});case`goal`:return(0,$.jsx)(Mt,{"aria-hidden":`true`,className:t})}}function la({disabled:e,mode:t,onRemove:n}){let{t:r}=k(`workbench`),i=t===`goal`,a=r(i?`composer.goalMode`:`composer.planMode`),o=r(i?`composer.cancelGoalMode`:`composer.cancelPlanMode`),s=i?Mt:Dt;return(0,$.jsxs)(gt,{children:[(0,$.jsx)(Y,{asChild:!0,children:(0,$.jsxs)(G,{"aria-label":o,className:`group/composer-mode gap-1 px-1.5 text-foreground max-workbench:gap-0.5`,...i?{"data-goal-mode":``}:{"data-plan-mode":``},disabled:e,onClick:n,children:[(0,$.jsx)(s,{"aria-hidden":`true`,className:`size-3.5 shrink-0 text-brand`}),(0,$.jsx)(`span`,{className:`max-workbench:hidden`,children:a}),(0,$.jsx)(M,{"aria-hidden":`true`,className:`size-3 shrink-0 opacity-0 transition-opacity group-hover/composer-mode:opacity-100 group-focus-visible/composer-mode:opacity-100`})]})}),(0,$.jsx)(K,{children:o})]})}function ua({goal:e}){let{t}=k(`workbench`);if(e.status===`complete`)return null;let n=t(`composer.goalStatus.${e.status}`);return(0,$.jsxs)(gt,{children:[(0,$.jsx)(Y,{asChild:!0,children:(0,$.jsxs)(`span`,{"aria-label":t(`composer.goalStatusLabel`,{objective:e.objective,status:n}),className:`inline-flex h-8 min-w-0 items-center gap-1 px-1.5 text-body-small text-foreground max-workbench:gap-0.5`,"data-goal-status":e.status,children:[(0,$.jsx)(Mt,{"aria-hidden":`true`,className:`size-3.5 shrink-0 text-brand`}),(0,$.jsx)(`span`,{className:`max-workbench:hidden`,children:n})]})}),(0,$.jsx)(K,{className:`max-w-72 break-words`,children:e.objective})]})}function da({disabled:e,enabled:t,onChange:n}){let{t:r}=k(`workbench`),i=r(t?`composer.disableFastMode`:`composer.enableFastMode`);return(0,$.jsxs)(gt,{children:[(0,$.jsx)(Y,{asChild:!0,children:(0,$.jsx)(G,{"aria-label":i,"aria-pressed":t,className:t?`text-brand`:`text-muted-foreground`,"data-fast-mode":``,disabled:e,onClick:()=>{n(!t)},children:(0,$.jsx)(Nt,{"aria-hidden":`true`,className:`size-3.5`})})}),(0,$.jsx)(K,{children:i})]})}function fa(){let{t:e}=k(`workbench`),t=I();return t.files.length===0?null:(0,$.jsx)(ue,{children:(0,$.jsx)(ra,{"aria-label":e(`composer.addedAttachments`),children:t.files.map(e=>(0,$.jsxs)(ia,{data:e,onRemove:()=>{t.remove(e.id)},children:[(0,$.jsx)(aa,{}),(0,$.jsx)(oa,{}),(0,$.jsx)(sa,{disabled:t.disabled})]},e.id))})})}function pa({props:e}){let{t}=k(`workbench`);return!e.commandMenuOpen||e.turnControlsDisabled?null:(0,$.jsx)(H,{"aria-label":t(`composer.commandInput`),className:`absolute inset-x-0 bottom-full z-20 mb-2`,id:e.commandMenuId,children:(0,$.jsx)(R,{children:e.reviewMenuMode===`scopes`?(0,$.jsxs)(se,{label:t(`composer.reviewScopeGroup`),children:[(0,$.jsxs)(ce,{active:e.activeCommandIndex===0,id:`${e.commandMenuId}-item-0`,onClick:()=>{e.onExecuteReview({type:`uncommitted_changes`})},children:[(0,$.jsx)(bt,{"aria-hidden":`true`,className:`size-4 shrink-0 text-brand`}),(0,$.jsx)(`span`,{className:`font-medium`,children:t(`composer.reviewUncommitted`)})]}),(0,$.jsxs)(ce,{active:e.activeCommandIndex===1,"aria-description":e.baseBranches.length===0?t(`composer.noBaseBranch`):e.baseBranches[0],disabled:e.baseBranches.length===0,id:`${e.commandMenuId}-item-1`,onClick:e.onOpenReviewBranches,children:[(0,$.jsx)(Et,{"aria-hidden":`true`,className:`size-4 shrink-0 text-brand`}),(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,$.jsx)(`span`,{className:`font-medium`,children:t(`composer.baseBranchReview`)}),(0,$.jsx)(`span`,{className:`truncate text-caption text-muted-foreground`,children:e.baseBranches[0]??t(`composer.noBaseBranch`)})]})]})]}):e.reviewMenuMode===`branches`?(0,$.jsx)(se,{label:t(`composer.reviewBaseBranchGroup`),children:e.baseBranches.map((t,n)=>(0,$.jsxs)(ce,{active:e.activeCommandIndex===n,id:`${e.commandMenuId}-item-${String(n)}`,onClick:()=>{e.onExecuteReview({branch:t,type:`base_branch`})},children:[(0,$.jsx)(Et,{"aria-hidden":`true`,className:`size-4 shrink-0 text-brand`}),(0,$.jsx)(`span`,{className:`truncate font-medium`,children:t})]},t))}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(se,{label:t(`composer.commandGroup`),children:e.filteredCommands.map((t,n)=>{let r=e.getCommandAvailability(t);return(0,$.jsxs)(ce,{active:n===e.activeCommandIndex,"aria-description":r.reason,disabled:!r.available,id:`${e.commandMenuId}-item-${String(n)}`,onClick:()=>{e.onExecuteCommand(t)},children:[(0,$.jsx)(ca,{action:t.action}),(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,$.jsx)(`span`,{className:`font-medium`,children:t.label}),(0,$.jsx)(`span`,{className:`text-caption text-muted-foreground`,children:r.reason??t.description})]})]},t.id)})}),e.filteredSkills.length===0?null:(0,$.jsx)(se,{label:`Skills`,children:e.filteredSkills.map((t,n)=>{let r=e.filteredCommands.length+n;return(0,$.jsxs)(ce,{active:r===e.activeCommandIndex,id:`${e.commandMenuId}-item-${String(r)}`,onClick:()=>{e.onSelectSkill(t)},children:[(0,$.jsx)(ge,{"aria-hidden":`true`,className:`size-4 shrink-0 text-brand`}),(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,$.jsx)(`span`,{className:`font-medium text-brand`,children:t.displayName}),(0,$.jsxs)(`span`,{className:`block max-w-full truncate text-caption text-muted-foreground`,children:[`/`,t.name,` · `,t.description]})]})]},t.id)})}),e.menuItemCount===0?(0,$.jsx)(ie,{children:t(`composer.commandNoMatch`)}):null]})})})}function ma(e,t){let n=e.slice(0,Math.max(0,e.length-t.length)).replace(/\/$/u,``);return n===``?`.`:n}function ha({props:e}){let{t}=k(`workbench`);return!e.fileMenuOpen||e.turnControlsDisabled?null:(0,$.jsx)(H,{"aria-label":t(`composer.fileSearch`),className:`absolute inset-x-0 bottom-full z-20 mb-2`,id:e.commandMenuId,children:(0,$.jsx)(R,{children:e.fileSearchPending?(0,$.jsx)(ie,{children:t(`composer.fileSearchLoading`)}):e.fileSearchError===null?e.fileSearchResults.length===0?(0,$.jsx)(ie,{children:t(`composer.fileSearchEmpty`)}):(0,$.jsx)(se,{label:t(`composer.fileSearchGroup`),children:e.fileSearchResults.map((t,n)=>(0,$.jsxs)(ce,{active:n===e.activeCommandIndex,id:`${e.commandMenuId}-item-${String(n)}`,onClick:()=>{e.onSelectFileReference(t)},children:[(0,$.jsx)(O,{"aria-hidden":`true`,className:`size-4 shrink-0 text-muted-foreground`}),(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[(0,$.jsx)(`span`,{className:`shrink-0 font-medium text-foreground`,children:t.name}),(0,$.jsx)(`span`,{className:`min-w-0 truncate text-caption text-muted-foreground`,children:ma(t.path,t.name)})]})]},t.path))}):(0,$.jsx)(ie,{children:t(`composer.fileSearchFailed`)})})})}function ga(e,t){return e.text||e.skills.map(e=>`$${e.name}`).join(` `)||t}function _a({disabled:e,onOpen:t,projectPath:n}){let{t:r}=k(`workbench`),i=r(`composer.openProjectFolder`);return(0,$.jsxs)(gt,{children:[(0,$.jsx)(Y,{asChild:!0,children:(0,$.jsxs)(Z,{"aria-label":i,className:`h-6 w-fit min-w-0 max-w-full shrink gap-1 rounded-control px-1 text-caption text-muted-foreground hover:bg-control-hover hover:text-foreground`,contentAlign:`start`,disabled:e,onClick:t,type:`button`,variant:`ghost`,children:[(0,$.jsx)(S,{"aria-hidden":`true`,className:`size-3 shrink-0`}),(0,$.jsx)(`span`,{className:`truncate`,children:n})]})}),(0,$.jsx)(K,{children:i})]})}function va({onOpen:e,onRootChange:t,projectPath:n,projectPathOpenDisabled:r,roots:i,selectedRootId:a}){return(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-1`,"data-composer-project-root-controls":``,children:[(0,$.jsx)(ea,{onChange:t,roots:i,value:a}),(0,$.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,$.jsx)(_a,{disabled:r,onOpen:e,projectPath:n})})]})}function ya(e){let{t}=k([`workbench`,`settings`]),n=e.queuedPrompts.findIndex(e=>e.status===`editing`);return(0,$.jsxs)(`section`,{className:`shrink-0 bg-content px-1 pb-2 max-[360px]:px-0 sm:px-5`,"aria-label":t(`composer.landmark`),children:[(0,$.jsxs)(`div`,{className:`relative mx-auto w-full max-w-content`,ref:e.commandSurfaceRef,children:[(0,$.jsx)(pa,{props:e}),(0,$.jsx)(ha,{props:e}),e.queuedPrompts.length===0?null:(0,$.jsx)(`div`,{"aria-label":t(`composer.queuedMessages`),className:`mb-2 space-y-1.5`,role:`list`,children:e.queuedPrompts.map((r,i)=>{let a=n>=0&&i>=n,o=ga(r,t(`composer.attachmentCount`,{count:r.files.length}));return(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 rounded-control border border-separator bg-control px-2 py-1.5`,role:`listitem`,children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-label text-foreground`,children:o}),r.status===`awaiting-response`?(0,$.jsxs)(`span`,{"aria-label":t(`composer.waitingToSend`),className:`inline-flex shrink-0 items-center gap-1 text-caption text-muted-foreground`,role:`status`,children:[(0,$.jsx)(b,{"aria-hidden":`true`,className:`size-3.5 animate-spin`}),t(`composer.waitingToSend`)]}):r.status===`editing`?(0,$.jsxs)(`span`,{"aria-label":t(`composer.editingQueued`),className:`inline-flex shrink-0 items-center gap-1 text-caption text-brand`,role:`status`,children:[(0,$.jsx)(ee,{"aria-hidden":`true`,className:`size-3.5`}),t(`composer.editingQueued`)]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(gt,{children:[(0,$.jsx)(Y,{asChild:!0,children:(0,$.jsx)(Z,{"aria-label":t(`composer.moveQueuedUp`,{summary:o}),disabled:e.isSubmitting||a||i===0,onClick:()=>{e.moveQueuedPrompt(r.id,-1)},size:`icon-sm`,type:`button`,variant:`ghost`,children:(0,$.jsx)(j,{"aria-hidden":`true`,className:`size-3.5`})})}),(0,$.jsx)(K,{children:t(`composer.moveQueuedUpTooltip`)})]}),(0,$.jsxs)(gt,{children:[(0,$.jsx)(Y,{asChild:!0,children:(0,$.jsx)(Z,{"aria-label":t(`composer.moveQueuedDown`,{summary:o}),disabled:e.isSubmitting||i===e.queuedPrompts.length-1||a,onClick:()=>{e.moveQueuedPrompt(r.id,1)},size:`icon-sm`,type:`button`,variant:`ghost`,children:(0,$.jsx)(vt,{"aria-hidden":`true`,className:`size-3.5`})})}),(0,$.jsx)(K,{children:t(`composer.moveQueuedDownTooltip`)})]}),(0,$.jsxs)(gt,{children:[(0,$.jsx)(Y,{asChild:!0,children:(0,$.jsx)(Z,{"aria-label":t(`composer.editQueued`,{summary:o}),disabled:e.isSubmitting||n>=0,onClick:()=>{e.editQueuedPrompt(r)},size:`icon-sm`,type:`button`,variant:`ghost`,children:(0,$.jsx)(ee,{"aria-hidden":`true`,className:`size-3.5`})})}),(0,$.jsx)(K,{children:t(`composer.editQueuedTooltip`)})]}),(0,$.jsxs)(gt,{children:[(0,$.jsx)(Y,{asChild:!0,children:(0,$.jsx)(Z,{"aria-label":t(`composer.steerNow`,{summary:o}),className:`hover:text-brand`,disabled:e.isSubmitting||a||e.taskId===void 0||(e.activeTurnId===void 0?!e.canSubmit:!e.canSteer),onClick:()=>{e.steerQueuedPrompt(r)},size:`icon-sm`,type:`button`,variant:`ghost`,children:(0,$.jsx)(jt,{"aria-hidden":`true`,className:`size-3.5`})})}),(0,$.jsx)(K,{children:t(`composer.steerNowTooltip`)})]}),(0,$.jsxs)(gt,{children:[(0,$.jsx)(Y,{asChild:!0,children:(0,$.jsx)(Z,{"aria-label":t(`composer.cancelQueued`,{summary:o}),className:`hover:text-danger`,disabled:e.isSubmitting,onClick:()=>{e.removeQueuedPrompt(r.id)},size:`icon-sm`,type:`button`,variant:`ghost`,children:(0,$.jsx)(M,{"aria-hidden":`true`,className:`size-3.5`})})}),(0,$.jsx)(K,{children:t(`composer.cancelQueuedTooltip`)})]})]})]},r.id)})}),(0,$.jsxs)(he,{attachments:e.attachments,"aria-busy":e.state===`submitting`||e.state===`reconnecting`,className:`w-full`,"data-state":e.state,disabled:e.attachmentsDisabled,fileAccept:m,globalDrop:!0,imageAccept:v,largePasteCharacterThreshold:nr,maxFileSize:f,maxFileTotalSize:p,maxImageSize:_,maxImages:20,maxImageTotalSize:h,multiple:!0,onAttachmentsChange:e.onAttachmentsChange,onError:t=>{e.onViewError(Error(t.message))},onSubmit:e.onSubmit,pastedTextFileName:rr,children:[(0,$.jsx)(fa,{}),(0,$.jsxs)(oe,{children:[(0,$.jsx)(`input`,{name:`message`,type:`hidden`,value:e.promptSubmissionText}),(0,$.jsx)(Nr,{"aria-activedescendant":e.activeCommandItemId,"aria-controls":e.commandMenuOpen||e.fileMenuOpen?e.commandMenuId:void 0,"aria-expanded":e.commandMenuOpen||e.fileMenuOpen,"aria-haspopup":`listbox`,"aria-label":t(`composer.taskInput`),content:e.promptContent,disabled:e.draftInputDisabled,onChange:e.onPromptChange,onKeyDown:t=>{if(!ae(t.nativeEvent)){if(e.commandMenuOpen||e.fileMenuOpen){if(t.key===`ArrowDown`||t.key===`ArrowUp`){t.preventDefault(),e.setActiveCommandIndex(n=>Qr(n,t.key===`ArrowDown`?1:-1,e.menuItemCount));return}t.key===`Enter`&&!V(t)&&(t.preventDefault(),e.onSelectActiveCommand());return}if((t.key===`ArrowDown`||t.key===`ArrowUp`)&&!(t.altKey||t.ctrlKey||t.metaKey||t.shiftKey)){let n=document.getSelection(),r=t.key===`ArrowUp`?`previous`:`next`,i=t.currentTarget.dataset.serializedValue??``;n?.isCollapsed===!0&&t.currentTarget.contains(n.anchorNode)&&gi(i,Or(t.currentTarget),r)&&e.onPromptHistoryNavigate(r)&&t.preventDefault()}}},placeholder:ir(e.taskId),ref:e.skillEditorRef,skills:e.skills,scope:e.composerScope})]}),(0,$.jsxs)(U,{className:`max-workbench:gap-0.5 max-workbench:px-1 max-[360px]:!gap-0 max-[360px]:!px-0`,children:[(0,$.jsxs)(W,{className:`max-workbench:shrink-0 max-workbench:gap-0.5 max-[360px]:!gap-0`,children:[(0,$.jsx)(le,{className:`max-workbench:w-8 max-workbench:min-w-8 max-workbench:px-0 max-[360px]:!w-6 max-[360px]:!min-w-6`,disabled:e.attachmentsDisabled,onSelectKind:e.onSelectAttachmentKind}),(0,$.jsx)(Qi,{disabled:e.turnControlsDisabled,onSettingsChange:e.onSettingsChange,sandboxModeSelectable:e.sandboxModeSelectable,settings:e.activeSettings}),e.composerMode===void 0?null:(0,$.jsx)(la,{disabled:e.turnControlsDisabled,mode:e.composerMode,onRemove:e.onComposerModeRemove}),e.goal===null||e.goal===void 0?null:(0,$.jsx)(ua,{goal:e.goal}),e.fastModeAvailable?(0,$.jsx)(da,{disabled:e.turnControlsDisabled,enabled:e.fastModeEnabled,onChange:e.onFastModeChange}):null]}),(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1 max-workbench:shrink-0 max-workbench:gap-0.5 max-[360px]:!gap-0`,children:[(0,$.jsx)(Gi,{activeSettings:e.activeSettings,disabled:e.turnControlsDisabled,models:e.models,modelsPending:e.modelsPending,onSettingsChange:e.onSettingsChange,selectedModel:e.selectedModel,selectedReasoningEffort:e.selectedReasoningEffort}),e.projectToolsEnabled&&!e.captureMode?(0,$.jsx)(Xi,{disabled:!e.hasComposerInput||e.isSubmitting,editing:e.editingTodoId!==void 0,onSave:e.onProjectTodoSave}):null,e.captureSubmitVisible?(0,$.jsx)(B,{"aria-label":e.captureMode?t(`actions.save`):e.submitAction===`queue`?t(`composer.queueMessage`):e.submitAction===`steer`?t(`composer.sendSteer`):e.submitAction===`interrupt`?t(`composer.stop`):t(`composer.submit`),disabled:e.turnControlsDisabled||e.submitAction===`blocked`||e.submitAction===`start`&&(!e.captureMode&&!e.canSubmit||e.selectedModel===void 0||e.selectedReasoningEffort===void 0)||e.submitAction===`interrupt`&&(!e.canInterrupt||e.activeTurnId===void 0),className:`max-workbench:w-8 max-workbench:min-w-8 max-[360px]:!w-6 max-[360px]:!min-w-6`,onClick:e.submitAction===`interrupt`?e.onInterrupt:void 0,status:e.state===`running`&&e.hasComposerInput?`idle`:e.state,type:e.submitAction===`interrupt`?`button`:`submit`,children:e.captureMode?(0,$.jsx)(zi,{}):void 0}):null]})]})]})]}),e.modelsError===null?null:(0,$.jsx)(`p`,{className:`mx-auto mt-1 w-full max-w-content px-1 text-caption text-danger`,role:`alert`,children:t(`composer.modelListFailed`)}),e.footerVisible?(0,$.jsxs)(`div`,{className:`mx-auto mt-1.5 flex h-9 w-full max-w-content min-w-0 items-center gap-3 px-1 text-caption text-muted-foreground`,children:[e.projectToolsEnabled?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`flex min-w-0 shrink items-center gap-0.5`,children:(0,$.jsx)(Ri,{creatingBranch:e.creatingBranch,creatingWorktree:e.creatingWorktree,gitStatus:e.gitStatus,onBranchChange:e.onBranchChange,onBranchCreate:e.onBranchCreate,onWorktreeChange:e.onWorktreeChange,onWorktreeCreate:e.onWorktreeCreate,switchingBranch:e.switchingBranch,switchingWorktree:e.switchingWorktree,worktrees:e.worktrees})}),(0,$.jsx)(va,{onOpen:e.onOpenProjectPath,onRootChange:e.onProjectRootChange,projectPath:e.projectPath,projectPathOpenDisabled:e.projectPathOpenDisabled,roots:e.projectRoots,selectedRootId:e.selectedProjectRootId})]}):null,(0,$.jsxs)(`div`,{className:`ml-auto flex shrink-0 items-center gap-1`,children:[e.projectToolsEnabled&&!e.captureMode?(0,$.jsx)(Zi,{composerHasInput:e.hasComposerInput,onDelete:e.onProjectTodoDelete,onRestore:e.onProjectTodoRestore,projectName:e.projectName,todos:e.projectTodos}):null,(0,$.jsx)(Ei,{maxTokens:e.contextUsage?.contextWindow,usedTokens:e.contextUsage?.usedTokens,children:(0,$.jsx)(Pi,{})})]})]}):null]})}function ba({composerRef:e,capabilities:t,captureSubmitVisible:n=!0,client:r,composerDraftId:i,fastModeAvailable:a,fastModeDefault:o,followUpBehavior:s,footerVisible:c=!0,initialDraft:l,initialTodoId:u,models:d,modelsError:f,modelsPending:p,onDirectSubmission:m,onCaptureSubmission:h,onFastModeChange:g,onInputStateChange:_,onOpenProjectPath:v,onProjectRootChange:y,onRequestNotificationPermission:b,onSettingsChange:x,onSubmissionStateChange:S,onTaskCreated:C,onTaskStarted:w,onTurnStarted:T,projectId:E,projectName:D,projectPath:ee,projectPathOpenDisabled:te,projectRoots:O,projectToolsEnabled:ne=!0,selectedProjectRootId:A,gitStatus:j,runtime:M,settings:N,skills:P,taskId:F}){let{t:re}=k([`workbench`,`settings`]),I=Wr(E,u),{editingTodoId:ie,projectTodos:L,todos:R}=I,z=vi({capabilities:t,composerDraftId:i,client:r,editingTodoId:ie,gitStatus:j,models:d,initialDraft:l,onSubmissionStateChange:S,projectId:E,projectPath:ee,projectToolsEnabled:ne,projectTodos:L,runtime:M,settings:N,skills:P,taskId:F}),{activeCommandIndex:B,activeCommandItemId:V,activeSettings:ae,activeTaskId:H,activeTurnId:U,attachmentCount:oe,attachmentPickerKind:se,attachments:W,attachmentsDisabled:G,baseBranches:ce,canInterrupt:le,canSteer:ue,canSubmit:de,clearComposerInput:fe,closeCommandMenu:pe,closeFileMenu:me,commandMenuId:he,commandMenuOpen:ge,commandSurfaceRef:_e,composerMode:ve,composerController:ye,composerScope:be,contextUsage:xe,draftInputDisabled:Se,filteredCommands:Ce,filteredSkills:we,fileMenuOpen:Te,fileSearchError:Ee,fileSearchPending:De,fileSearchResults:Oe,handleAttachmentsChange:ke,handlePromptChange:Ae,isSubmitting:je,menuItemCount:Me,navigatePromptHistory:Ne,pendingTask:Pe,promptContent:K,promptSubmission:Fe,referenceProjectPath:Ie,reviewMenuMode:Le,routeScope:Re,selectedModel:ze,selectedReasoningEffort:Be,selectFileReference:Ve,setActiveCommandIndex:He,setAttachmentPickerKind:Ue,setIsSubmitting:We,setMutationError:q,setComposerModeState:Ge,setReviewMenuMode:Ke,setSettingsOverride:qe,skillEditorRef:J,state:Je,turnControlsDisabled:Ye}=z,[Xe,Y]=(0,Q.useState)(),Ze=Xe?.scope===be?Xe.enabled:o,Qe=a&&Ze,{actionLock:$e,interruptAttempt:et,isCurrentScope:tt,uploadAttempts:nt,uploadedAttachments:rt}=ye,it=Gn({routeScope:Re,fastModeSelected:Ze,onSettingsChange:x,isCurrentScope:tt,setSettingsOverride:qe,setMutationError:q}),at=Vr({client:r,gitStatus:j,isCurrentScope:tt,projectId:E,rootPath:ee,routeScope:Re});Kn({closeCommandMenu:pe,closeFileMenu:me,commandMenuOpen:ge,commandSurfaceRef:_e,fileMenuOpen:Te,turnControlsDisabled:Ye});let X=Ur({activeTurnId:U,client:r,handleAttachmentsChange:ke,projectId:E,replacePromptContent:z.replacePromptContent,routeScope:Re,runtime:M,skillEditorRef:J,skills:P,taskId:F});(0,Q.useEffect)(()=>{X.queueError!==null&&q(X.queueError)},[X.queueError,q]);let ot=yi({activeUserMessageIds:M?.store===void 0?[]:Xn(M.store.getState(),U),activeSettings:ae,activeTaskId:H,activeTurnId:U,canSteer:ue,canSubmit:de,clearComposerInput:fe,client:r,controller:ye,composerMode:ve,editingQueuedSubmission:X.editingId!==void 0,followUpBehavior:s,fastMode:Qe,onDirectSubmission:m,onCaptureSubmission:h,onGoalStarted:()=>{Ge(void 0)},onSteerAccepted:X.onSteerAccepted,onRequestNotificationPermission:b,onTaskCreated:C,onTaskStarted:w,onTurnStarted:T,pendingTask:Pe,projectId:E,promptContent:K,routeScope:Re,selectedModel:ze,selectedReasoningEffort:Be,saveQueuedSubmission:X.saveQueuedSubmission,skillEditorRef:J,state:Je,taskId:F,t:re,turnControlsDisabled:Ye});(0,Q.useImperativeHandle)(e,()=>({buildPlan:()=>(Ge(void 0),ot({files:[],text:re(`composer.buildPlanPrompt`)},[],{composerMode:null,forceAction:`start`})),referenceProjectPath:Ie,submitCurrent:()=>ot({files:W,text:Fe.text})}));let{executePromptCommand:st,executeReviewTarget:Z,getCommandAvailability:ct,selectActiveCommandItem:lt,selectSkill:ut}=$r({capabilities:t,client:r,onRequestNotificationPermission:b,onTaskCreated:C,onTaskStarted:w,projectId:E,session:z,submitPrompt:ot,t:re,taskId:F}),dt=async()=>{let e=Re;!le||H===void 0||U===void 0||Ye||await $e.run(async()=>{let t=`${H}:${U}`;We(!0),q(null);let n=ar(et.current,t);et.current=n;try{await hr(r,E,H,U,n.key)}catch(t){tt(e)&&q(t instanceof Error?t:Error(`Turn interruption failed`))}finally{tt(e)&&We(!1)}})},ft=!wn(K)||oe>0;(0,Q.useEffect)(()=>_?.(ft),[ft,_]);let pt=ri({actionLock:$e,attachments:W,clearComposerInput:fe,client:r,editingTodoId:ie,fallbackError:re(`composer.saveTodoFailed`),hasComposerInput:ft,isCurrentScope:tt,isSubmitting:je,onEditingComplete:I.complete,projectId:E,projectTodos:L,promptContent:K,routeScope:Re,setIsSubmitting:We,setMutationError:q,skillEditorRef:J,submitPrompt:ot,uploadAttempts:nt,uploadedAttachments:rt}),mt=X.editingId===void 0?ur(Je,ft,s,ue):`queue`,ht=(0,$.jsx)(ya,{activeCommandIndex:B,activeCommandItemId:V,activeSettings:ae,activeTurnId:U,attachments:W,attachmentsDisabled:G,baseBranches:ce,canInterrupt:le,canSteer:ue,canSubmit:de,captureMode:h!==void 0,captureSubmitVisible:n,commandMenuId:he,commandMenuOpen:ge,commandSurfaceRef:_e,composerMode:ve,composerScope:be,contextUsage:xe,creatingBranch:at.creatingBranch,creatingWorktree:at.creatingWorktree,draftInputDisabled:Se,editingTodoId:ie,filteredCommands:Ce,filteredSkills:we,fileMenuOpen:Te,fileSearchError:Ee,fileSearchPending:De,fileSearchResults:Oe,fastModeAvailable:a,fastModeEnabled:Qe,footerVisible:c,getCommandAvailability:ct,gitStatus:j,goal:M?.metadata?.goal,hasComposerInput:ft,isSubmitting:je,menuItemCount:Me,moveQueuedPrompt:(e,t)=>{X.moveQueuedPrompt(e,t).catch(q)},models:d,modelsError:f,modelsPending:p,editQueuedPrompt:e=>{X.editQueuedPrompt(e).catch(q)},onComposerModeRemove:()=>{Ge(void 0)},onProjectTodoDelete:e=>{I.remove(e)},onProjectTodoRestore:e=>{I.restore(e,fe)},onProjectTodoSave:()=>{pt.save()},onAttachmentsChange:e=>{ke(e),I.discardIfEmpty(e.length>0||!wn(K))},onBranchCreate:at.createBranch,onBranchChange:e=>{at.switchBranch(e)},onWorktreeChange:e=>{at.switchWorktree(e)},onWorktreeCreate:at.createWorktree,onExecuteCommand:e=>{st(e)},onExecuteReview:e=>{Z(e)},onFastModeChange:e=>{Y({enabled:e,scope:be}),Promise.resolve(g(e,ae)).catch(()=>void 0)},onInterrupt:()=>{dt()},onOpenProjectPath:v,onProjectRootChange:y,onOpenReviewBranches:()=>{He(0),Ke(`branches`)},onPromptChange:(e,t,n)=>{Ae(e,t,n),I.discardIfEmpty(W.length>0||!wn(e))},onPromptHistoryNavigate:Ne,onSelectActiveCommand:lt,onSelectAttachmentKind:Ue,onSelectFileReference:Ve,onSelectSkill:ut,onSettingsChange:it,onSubmit:e=>void pt.submit(e),onViewError:e=>{q(e)},projectPath:ee,projectPathOpenDisabled:te,projectRoots:O,projectToolsEnabled:ne,projectName:D??E,projectTodos:R,promptContent:K,promptSubmissionText:Fe.text,queuedPrompts:X.queuedPrompts,removeQueuedPrompt:e=>{X.removeQueuedPrompt(e).catch(q)},reviewMenuMode:Le,sandboxModeSelectable:!0,selectedModel:ze,selectedReasoningEffort:Be,selectedProjectRootId:A,setActiveCommandIndex:He,skills:P,skillEditorRef:J,state:Je,steerQueuedPrompt:e=>{X.sendQueuedPrompt(e,ot).catch(q)},submitAction:mt,switchingBranch:at.switchingBranch,switchingWorktree:at.switchingWorktree,taskId:F,turnControlsDisabled:Ye,worktrees:at.worktrees});return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Wn,{activeTurnId:U,enabled:!Ye,submit:ot,taskStore:M?.store},be),ht,(0,$.jsx)(Ci,{active:tt(Re),client:r,kind:se,onAdd:e=>{ke([...W,e])},onClose:()=>{Ue(void 0)},projectId:E})]})}export{ra as a,Xn as c,At as d,kt as f,vt as g,xt as h,aa as i,sn as l,Ct as m,ia as n,Yi as o,wt as p,oa as r,vr as s,ba as t,Mt as u};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|