@oneworks/client 0.1.0-alpha.0 → 0.1.0-beta.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/dist/assets/ActionSearchToolbar-8q-bk3mu.js +1 -0
- package/dist/assets/ActionSearchToolbar-CMBns0Zm.css +1 -0
- package/dist/assets/AgentRoomRoute-DfSI_dFH.js +1 -0
- package/dist/assets/AgentRoomSessionRoute-DH9PdjZm.js +3 -0
- package/dist/assets/ArchiveRoute-E9-htB4H.js +1 -0
- package/dist/assets/{AuthenticatedApp-BTs4l2pB.js → AuthenticatedApp-CgBrvMuc.js} +236 -224
- package/dist/assets/AuthenticatedApp-scWyvbOf.css +1 -0
- package/dist/assets/AutomationRoute-Bw2xw5bx.js +1 -0
- package/dist/assets/BenchmarkRoute-3VS17jHr.js +21 -0
- package/dist/assets/ChatRoute-CBQ3j4Je.js +2 -0
- package/dist/assets/Collapse-B-oCiEx4.js +10 -0
- package/dist/assets/{ComposerLanding-Cl6zfbOm.js → ComposerLanding-SZn_zRGX.js} +4 -4
- package/dist/assets/ConfigEditors-BuDavOAj.css +1 -0
- package/dist/assets/ConfigRoute-Dv-7BRGG.js +28 -0
- package/dist/assets/ConfigRoute-TW2qRRNP.css +1 -0
- package/dist/assets/InteractionStructureRoute-FDl9jRvT.js +1 -0
- package/dist/assets/KnowledgeRoute-C5em_VSL.js +1 -0
- package/dist/assets/LauncherApp-olYmK_zO.js +2 -0
- package/dist/assets/LauncherRoute-NsK8KCzb.css +1 -0
- package/dist/assets/LauncherRoute-Qt8dQkIk.js +2 -0
- package/dist/assets/MobileAwareSelect-BmK6WApn.js +37 -0
- package/dist/assets/MobileAwareSelect-BySpAJpa.css +1 -0
- package/dist/assets/{ModuleManagementRoute-DQACRan1.js → ModuleManagementRoute-B1I_8JKc.js} +3 -3
- package/dist/assets/NotFoundRoute-Bj6_YY3I.js +1 -0
- package/dist/assets/PluginStoreRoute-B847PAZ5.js +1 -0
- package/dist/assets/PluginStoreRoute-Cfalv335.css +1 -0
- package/dist/assets/RouteContainerPanelTabs-BnIptVwq.js +11 -0
- package/dist/assets/RouteContainerPanelTabs-DAjUmk7i.css +1 -0
- package/dist/assets/SchemaObjectEditor-B9fPfDyT.js +1 -0
- package/dist/assets/StandaloneMobileDebugRoute-BR4w_LeM.js +1 -0
- package/dist/assets/StandaloneMobileDebugRoute-DuOLjUb9.css +1 -0
- package/dist/assets/WorkspaceApp-BNmtIdn4.js +9 -0
- package/dist/assets/agent-room-session-paths-CYMSFD9m.css +32 -0
- package/dist/assets/agent-room-session-paths-Dca8S6NN.js +537 -0
- package/dist/assets/{arc-BXsvCKst.js → arc-JBUpUV6M.js} +1 -1
- package/dist/assets/azure-C6wcxVWu.ico +0 -0
- package/dist/assets/{blockDiagram-c4efeb88-hc-xNCrG.js → blockDiagram-c4efeb88-DKhNwgEQ.js} +2 -2
- package/dist/assets/{c4Diagram-c83219d4-DVHTOuVr.js → c4Diagram-c83219d4-CWODEGms.js} +2 -2
- package/dist/assets/channel-BsuHYNQO.js +1 -0
- package/dist/assets/classDiagram-beda092f-DlghsOqF.js +2 -0
- package/dist/assets/classDiagram-v2-2358418a-CrSR8gWz.js +2 -0
- package/dist/assets/client-build-info-bcijLdfD.js +1 -0
- package/dist/assets/clone-BKV6leIk.js +1 -0
- package/dist/assets/{createText-1719965b-x3Mhf0Jh.js → createText-1719965b-CLlPr73k.js} +1 -1
- package/dist/assets/cssMode-Bt_74RVV.js +1 -0
- package/dist/assets/customParseFormat-DwjB960X.js +1 -0
- package/dist/assets/dockPanelConstants-4XXOUD0A.css +1 -0
- package/dist/assets/dockPanelConstants-BWuu_DJp.js +8 -0
- package/dist/assets/{edges-96097737-COVuSxRY.js → edges-96097737-L_gy1fky.js} +1 -1
- package/dist/assets/{erDiagram-0228fc6a-WcgqCWce.js → erDiagram-0228fc6a-X1QMD6me.js} +2 -2
- package/dist/assets/{flowDb-c6c81e3f-nYly38YN.js → flowDb-c6c81e3f-DNdWK0Po.js} +1 -1
- package/dist/assets/{flowDiagram-50d868cf-DLYALlBY.js → flowDiagram-50d868cf-C2khStgw.js} +2 -2
- package/dist/assets/flowDiagram-v2-4f6560a1-DW5hyUju.js +1 -0
- package/dist/assets/{flowchart-elk-definition-6af322e1-Da8rP8k4.js → flowchart-elk-definition-6af322e1-C89sxd2D.js} +2 -2
- package/dist/assets/{freemarker2-OWISI6Bb.js → freemarker2-DZ1XIuHj.js} +2 -2
- package/dist/assets/ganttDiagram-a2739b55-Ba3rPNKd.js +257 -0
- package/dist/assets/gemini-B9inYaVW.png +0 -0
- package/dist/assets/{gitGraphDiagram-82fe8481-DCk8Jny9.js → gitGraphDiagram-82fe8481-DTEFHHtN.js} +2 -2
- package/dist/assets/{graph-DvFQr_wY.js → graph-BPujwFoF.js} +1 -1
- package/dist/assets/handlebars-lOgsnnQw.js +1 -0
- package/dist/assets/html-DLHadu9L.js +1 -0
- package/dist/assets/htmlMode-VeiQ-IsQ.js +1 -0
- package/dist/assets/{index-5325376f-CRF6GGjL.js → index-5325376f-Cx2RM6pk.js} +1 -1
- package/dist/assets/{index-BnZLa3J3.js → index-CBFCjoHv.js} +2 -2
- package/dist/assets/index-CJEVYkL9.js +1 -0
- package/dist/assets/index-CWmEuVWV.js +36 -0
- package/dist/assets/index-Cp4GfHnF.js +727 -0
- package/dist/assets/index-D4eelxQF.js +13 -0
- package/dist/assets/index-DBUG8CzV.js +3 -0
- package/dist/assets/index-jfuA2A4w.css +1 -0
- package/dist/assets/index-sFqkb8xv.js +13 -0
- package/dist/assets/{infoDiagram-8eee0895-dVa2Kh9_.js → infoDiagram-8eee0895-Bj9hWnDg.js} +2 -2
- package/dist/assets/interaction-panel-mobile-debug-pages-1Gdivksn.js +113 -0
- package/dist/assets/interaction-panel-mobile-debug-pages-8AAd4Csf.css +1 -0
- package/dist/assets/javascript-CXJw-bvU.js +1 -0
- package/dist/assets/{journeyDiagram-c64418c1-BJCT1TJ7.js → journeyDiagram-c64418c1-BXAycrrn.js} +2 -2
- package/dist/assets/{jsonMode-RsjNGxUQ.js → jsonMode-DmUNJfpX.js} +4 -4
- package/dist/assets/{layout-BMZRkCUf.js → layout-Bp8GVMnq.js} +1 -1
- package/dist/assets/{line-C99msl9T.js → line-olpPNgnh.js} +1 -1
- package/dist/assets/{linear-CJHB38BG.js → linear-flh_7ux_.js} +1 -1
- package/dist/assets/liquid-BiVpRgBP.js +1 -0
- package/dist/assets/{lspLanguageFeatures-D8zjArb3.js → lspLanguageFeatures-olWF83eX.js} +1 -1
- package/dist/assets/mdx-B5dr7YB-.js +1 -0
- package/dist/assets/{mermaid.core-DWzpZH_g.js → mermaid.core-NVIiXnRA.js} +4 -4
- package/dist/assets/micu-dUcmmgZZ.png +0 -0
- package/dist/assets/{mindmap-definition-8da855dc-DulNL_Ks.js → mindmap-definition-8da855dc-BOCh8K8K.js} +2 -2
- package/dist/assets/minimax-B5WRVrUt.png +0 -0
- package/dist/assets/openai-ABb0YGGa.svg +71 -0
- package/dist/assets/openrouter-CsJ_bD5Q.ico +0 -0
- package/dist/assets/{pieDiagram-a8764435-CHfubQBm.js → pieDiagram-a8764435-CCitKBQK.js} +3 -3
- package/dist/assets/project-file-tree-icons-DXkdVC0r.css +1 -0
- package/dist/assets/project-file-tree-icons-DqqhgvoI.js +2 -0
- package/dist/assets/python-BkEOPIle.js +1 -0
- package/dist/assets/{quadrantDiagram-1e28029f-CFHca9nu.js → quadrantDiagram-1e28029f-C_FvcHzZ.js} +2 -2
- package/dist/assets/qwen-Cla2cGrM.svg +107 -0
- package/dist/assets/razor-BCMQgdis.js +1 -0
- package/dist/assets/requesty-DAzbbw8F.ico +0 -0
- package/dist/assets/{requirementDiagram-08caed73-ClrFG92W.js → requirementDiagram-08caed73-B001ugYd.js} +2 -2
- package/dist/assets/route-plugin-chrome-B-Goj3vG.js +1 -0
- package/dist/assets/sankeyDiagram-a04cb91d-BnkC9YW5.js +8 -0
- package/dist/assets/{sequenceDiagram-c5b8d532-ZoeuLa-n.js → sequenceDiagram-c5b8d532-BGiFCs5z.js} +2 -2
- package/dist/assets/shortcutUtils-20iqPDwh.js +27 -0
- package/dist/assets/stateDiagram-1ecb1508-Uk4XxTkP.js +1 -0
- package/dist/assets/stateDiagram-v2-c2b004d7-Db6Ouywh.js +1 -0
- package/dist/assets/{styles-b4e223ce-0VFG2Z9W.js → styles-b4e223ce-CfG45yIm.js} +1 -1
- package/dist/assets/{styles-ca3715f6-DaJIsB-N.js → styles-ca3715f6-BGGbMvKc.js} +1 -1
- package/dist/assets/{styles-d45a18b0-DT8DH24o.js → styles-d45a18b0-mHteeqS2.js} +1 -1
- package/dist/assets/{svgDrawCommon-b86b1483-DxTZXiLW.js → svgDrawCommon-b86b1483-BAMR2PsF.js} +1 -1
- package/dist/assets/{timeline-definition-faaaa080-lu3ppiNq.js → timeline-definition-faaaa080-DLBoPuJD.js} +2 -2
- package/dist/assets/{tsMode-B6pOKC1l.js → tsMode-BTzZ8Zos.js} +2 -2
- package/dist/assets/typescript-_rLmAd51.js +1 -0
- package/dist/assets/use-app-preferences-gyulV-hA.js +1 -0
- package/dist/assets/use-chat-session-actions-DDZ5KCua.js +2 -0
- package/dist/assets/{vendor-react-BNJ5yonH.js → vendor-react-CnooHTJc.js} +1 -1
- package/dist/assets/vendor-state-BYwEPTaO.js +1 -0
- package/dist/assets/worker-BZxxbL_z.js +1 -0
- package/dist/assets/workspace-file-openers-BwZ5cSeq.js +1 -0
- package/dist/assets/workspace-file-openers-fM4AQXug.css +1 -0
- package/dist/assets/xml-BAU8TJ-c.js +1 -0
- package/dist/assets/{xychartDiagram-f5964ef8-DvmrNK0s.js → xychartDiagram-f5964ef8-CNfcxTsi.js} +2 -2
- package/dist/assets/yaml-_cphTIn0.js +1 -0
- package/dist/assets/yunwu-C0h7koCA.png +0 -0
- package/dist/assets/zhipu-CWmkm5qz.png +0 -0
- package/dist/index.html +4 -4
- package/dist/sw.js +5 -3
- package/package.json +20 -15
- package/dist/assets/AgentRoomRoute-rNmmPMvh.js +0 -1
- package/dist/assets/AgentRoomSessionRoute-Dg8yQRY_.js +0 -1
- package/dist/assets/ArchiveRoute-BWE_JVjl.js +0 -1
- package/dist/assets/AuthenticatedApp-Bop-GglJ.css +0 -1
- package/dist/assets/AutomationRoute-CoJ8YGK2.js +0 -1
- package/dist/assets/BenchmarkRoute-BcRZ1AFC.js +0 -21
- package/dist/assets/ChatRoute-DBN4uo7j.js +0 -1
- package/dist/assets/Collapse-DDrFhfKr.js +0 -8
- package/dist/assets/ConfigEditors-jcXiTWRg.css +0 -1
- package/dist/assets/ConfigRoute-D5zxs-kv.css +0 -1
- package/dist/assets/ConfigRoute-z5Dj1ihn.js +0 -2
- package/dist/assets/ConfigSectionPanel-DHIwutHm.js +0 -13
- package/dist/assets/DockPanel-DuxVeJzf.js +0 -11
- package/dist/assets/DockPanel-HEMeJ1MR.css +0 -1
- package/dist/assets/InteractionStructureRoute-B8yJdycA.js +0 -1
- package/dist/assets/KnowledgeRoute-BPYnBocT.js +0 -1
- package/dist/assets/LauncherApp-BqKOigOK.js +0 -2
- package/dist/assets/LauncherRoute-C1g-gjbs.js +0 -2
- package/dist/assets/LauncherRoute-DtjtKtXc.css +0 -1
- package/dist/assets/PluginStoreRoute-Bny2x-oC.css +0 -1
- package/dist/assets/PluginStoreRoute-CGIBez_4.js +0 -3
- package/dist/assets/SchemaObjectEditor-BdzgIkYh.js +0 -1
- package/dist/assets/WorkspaceApp-DGL3CHCp.js +0 -46
- package/dist/assets/agent-room-session-paths-Bl0JdX79.js +0 -153
- package/dist/assets/agent-room-session-paths-CCE5rS0K.css +0 -32
- package/dist/assets/channel-X7k9544o.js +0 -1
- package/dist/assets/classDiagram-beda092f-C--_J0De.js +0 -2
- package/dist/assets/classDiagram-v2-2358418a-VLoB_o-4.js +0 -2
- package/dist/assets/client-build-info-CUyezPn4.js +0 -37
- package/dist/assets/client-build-info-CgBKDSmG.css +0 -1
- package/dist/assets/clone-BsR4Dtrm.js +0 -1
- package/dist/assets/copy-OJ_6Pvs2.js +0 -28
- package/dist/assets/cssMode-Dg95dCSS.js +0 -1
- package/dist/assets/flowDiagram-v2-4f6560a1-DZXqc8d3.js +0 -1
- package/dist/assets/ganttDiagram-a2739b55-SFoaaNUl.js +0 -257
- package/dist/assets/handlebars-DvhbIeVz.js +0 -1
- package/dist/assets/html-B6ANaoGC.js +0 -1
- package/dist/assets/htmlMode-CA_KA1J8.js +0 -1
- package/dist/assets/index-BfLbHhFR.js +0 -13
- package/dist/assets/index-C9FQLbWu.js +0 -1
- package/dist/assets/index-DA1kZA8X.css +0 -1
- package/dist/assets/index-Dn-Bbs_z.js +0 -705
- package/dist/assets/javascript-qaeO24NX.js +0 -1
- package/dist/assets/liquid-yYJuHMAu.js +0 -1
- package/dist/assets/mdx-CrAkCLhE.js +0 -1
- package/dist/assets/python-h0Aqhxqi.js +0 -1
- package/dist/assets/razor-DalkOWO-.js +0 -1
- package/dist/assets/sankeyDiagram-a04cb91d-C9DgEVjM.js +0 -8
- package/dist/assets/stateDiagram-1ecb1508-DDRxhJDf.js +0 -1
- package/dist/assets/stateDiagram-v2-c2b004d7-CIob4OCF.js +0 -1
- package/dist/assets/typescript-Bn-lx_lA.js +0 -1
- package/dist/assets/use-app-preferences-B4K999VJ.js +0 -1
- package/dist/assets/use-chat-session-actions-5N-NQ9my.js +0 -2
- package/dist/assets/use-project-theme-preview-sources-5CPt1X2N.js +0 -1
- package/dist/assets/vendor-state-CBVXPiKY.js +0 -1
- package/dist/assets/workspace-file-openers-DAuX65xw.js +0 -1
- package/dist/assets/workspace-file-openers-erSFu-UO.css +0 -1
- package/dist/assets/xml-C1SO5DSd.js +0 -1
- package/dist/assets/yaml-DihjE03_.js +0 -1
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-DWzpZH_g.js","assets/index-Dn-Bbs_z.js","assets/vendor-react-BNJ5yonH.js","assets/vendor-state-CBVXPiKY.js","assets/index-DA1kZA8X.css","assets/AuthenticatedApp-BTs4l2pB.js","assets/client-build-info-CUyezPn4.js","assets/client-build-info-CgBKDSmG.css","assets/use-app-preferences-B4K999VJ.js","assets/copy-OJ_6Pvs2.js","assets/WorkspaceApp-DGL3CHCp.js","assets/WorkspaceApp-3wrApX0a.css","assets/AuthenticatedApp-Bop-GglJ.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{j as a,r as m,i as vs,k as Cr,R as lt,u as ii}from"./vendor-react-BNJ5yonH.js";import{f as wd,$ as Sd,a0 as kd,a1 as xd,R as Cd,i as Nd,a2 as bp,a3 as fn,V as Ts,n as xo,a4 as gt,a5 as Td,a6 as pn,a7 as Co,a8 as yp,a9 as wp,S as Ed,aa as Sp,ab as kp,ac as mi,ad as gi,m as xp,ae as Ul,D as Cp,af as Np,ag as Tp,ah as Ep,ai as Md,aj as Pd,ak as ql,C as Mp,al as Pp,am as Rp,an as jp,ao as Ip,ap as Rd,aq as cr,ar as Os,as as Vl,at as jd,au as Id,av as Dd,aw as Dp,U as Nr,ax as rs,ay as Tr,az as Ni,j as xi,aA as Gl,k as Lp,aB as Ap,X as Ld,aC as Bp,o as Op,aD as Fp,q as Wp,p as $p,aE as Pa,aF as Hp,aG as Ad,c as Kp,e as zp,aH as Up,aI as qp,aJ as Ra,aK as Bd,aL as Od,aM as Vp,aN as Gp,aO as Yp,aP as Xp,aQ as Jp,aR as Fd,aS as Wd,aT as Zp,aU as Qp,aV as e_,aW as t_,aX as Yl,aY as s_,aZ as i_,l as n_,a_ as hr,a$ as ja,b0 as r_,u as o_,b1 as a_}from"./AuthenticatedApp-BTs4l2pB.js";import{u as Z,d as l_,g as Ri,c as Qt,b as c_}from"./vendor-state-CBVXPiKY.js";import{bL as h_,aM as d_,aW as zt,av as Oe,aT as ns,ch as u_,_ as m_,ci as f_}from"./index-Dn-Bbs_z.js";import{v as p_,w as __,a as Ia,k as g_,m as v_,u as b_,x as y_}from"./use-app-preferences-B4K999VJ.js";import{a as $d,F as w_}from"./ComposerLanding-Cl6zfbOm.js";import{c as S_,u as k_,b as Da,d as x_,e as C_,f as N_}from"./use-chat-session-actions-5N-NQ9my.js";import{T as ze,m as $s,n as T_,M as Hd,E as ms}from"./client-build-info-CUyezPn4.js";import{c as xn,D as Cs,S as E_,e as M_,i as P_}from"./copy-OJ_6Pvs2.js";import{M as La,I as Kt,f as dr,S as Kd}from"./WorkspaceApp-DGL3CHCp.js";import{a as R_,g as Xl,i as j_,d as I_}from"./workspace-file-openers-DAuX65xw.js";/* empty css */import{C as D_}from"./ConfigSectionPanel-DHIwutHm.js";import{R as Aa,D as zd}from"./DockPanel-DuxVeJzf.js";async function L_(e,t){const s=h_("/api/webpage/metadata");return s.searchParams.set("url",e),d_(s,t)}function _E({children:e,isReady:t=!0,title:s}){const{t:i}=Z(),{openRouteSidebar:n}=wd(),r=Sd("chat");return kd("chat"),xd("chat"),a.jsx(Cd,{className:"chat-route-layout chat-route-layout--status",bodyClassName:"chat-route-layout__body",header:a.jsx(Nd,{actionItems:r,icon:"chat_bubble",onOpenSidebar:n,title:s??i("chat.newSessionTitle")}),children:a.jsx("div",{className:`chat-container ${t?"ready":""}`,children:e})})}const A_={completed:"completed",failed:"failed",running:"running",stopped:"terminated",waiting:"waiting_input"},B_=e=>({id:e.sessionId,status:A_[e.status],summary:e.latestSummary,title:e.title,updatedAtLabel:e.updatedAtLabel});function O_({runs:e,onOpenRun:t}){const{t:s}=Z(),i=(n,r)=>{if(n==="waiting_input")return a.jsx("div",{className:"waiting-input-indicator",title:r,"aria-label":r});const o=n==="completed"?"check_circle":n==="failed"?"cancel":n==="terminated"?"remove_circle":"sync";return a.jsx("span",{className:`material-symbols-rounded status-icon agent-room-run-list__status-icon agent-room-run-list__status-icon--${n} ${n==="running"?"spin":""}`,title:r,"aria-label":r,children:o})};return e.length===0?a.jsx("div",{className:"agent-room-run-list agent-room-run-list--empty",children:s("agentRoom.roster.noRuns")}):a.jsx("div",{className:"agent-room-run-list",children:e.map(n=>{const r=B_(n),o=t!=null,l=s("agentRoom.actions.openRun"),c=r.title===""?s("common.newChat"):r.title,h=c===""?l:`${l}: ${c}`,u=s(`common.status.${r.status}`),d=r.updatedAtLabel!=null&&r.updatedAtLabel!==""?r.updatedAtLabel:u;return a.jsx(bp,{as:"article",className:`agent-room-run-list__session-card agent-room-run-list__session-card--${n.status} session-item session-item--compact`,dataSessionCardSource:"agent-room-run",dataSessionId:r.id,leading:a.jsx("div",{className:"session-leading",children:a.jsx("div",{className:"status-indicator",children:i(r.status,u)})}),title:o?a.jsx("button",{type:"button",className:"agent-room-run-list__title-button session-title-text","aria-label":h,title:h,onClick:()=>t(n),children:c}):a.jsx("span",{className:"session-title-text",children:c}),headerSide:a.jsx("span",{className:"time-display",children:d}),lastMessage:r.summary!=null&&r.summary!==""&&a.jsx("div",{className:"last-message",children:r.summary})},n.runKey)})})}const F_=e=>e.trim().replace(/^@+/,""),W_=e=>{var s;const t=(s=e.avatarLabel)==null?void 0:s.trim();return t===""?void 0:t},$_=e=>`agent-room:${e.memberKey}`;function H_({defaultExpandedMemberKeys:e=[],members:t,layout:s,onOpenRun:i,showHeader:n=!0}){const{t:r}=Z(),o=m.useId(),[l,c]=m.useState(()=>new Set(e)),h=d=>{c(p=>{const f=new Set(p);return f.has(d)?f.delete(d):f.add(d),f})},u=a.jsx("div",{className:"agent-room-roster__members",children:t.map(d=>{const p=F_(d.label),f=W_(d),_=l.has(d.memberKey),g=d.runs.length>0,v=`${o}-${d.memberKey}-runs`;return a.jsxs("section",{className:`agent-room-roster__member agent-room-roster__member--${d.status}`,children:[a.jsxs("div",{className:"agent-room-roster__member-head",children:[a.jsx("div",{className:["agent-room-roster__avatar",f==null?"agent-room-roster__avatar--pixel":""].filter(Boolean).join(" "),"aria-hidden":"true",children:f??a.jsx(fn,{className:"agent-room-roster__avatar-pixel",seed:$_(d)})}),a.jsxs("div",{className:"agent-room-roster__member-copy",children:[a.jsx("div",{className:"agent-room-roster__member-name",children:p}),d.subtitle!=null&&d.subtitle!==""&&a.jsx("div",{className:"agent-room-roster__member-subtitle",children:d.subtitle})]}),a.jsx("span",{className:"agent-room-roster__status",children:r(`agentRoom.status.member.${d.status}`)})]}),d.latestSummary!=null&&d.latestSummary!==""&&a.jsx("div",{className:"agent-room-roster__summary",children:d.latestSummary}),g&&a.jsxs("button",{type:"button",className:`agent-room-roster__runs-toggle ${_?"is-expanded":""}`,"aria-expanded":_,"aria-controls":v,onClick:()=>h(d.memberKey),children:[a.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:"chevron_right"}),a.jsx("span",{children:r(_?"agentRoom.roster.collapseRuns":"agentRoom.roster.expandRuns")})]}),g&&_&&a.jsx("div",{id:v,className:"agent-room-roster__runs-panel",children:a.jsx(O_,{runs:d.runs,onOpenRun:i})})]},d.memberKey)})});return s==="compact"?a.jsxs("details",{className:"agent-room-roster agent-room-roster--compact",open:!0,children:[a.jsxs("summary",{className:"agent-room-roster__compact-trigger",children:[a.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:"groups"}),a.jsx("span",{children:r("agentRoom.roster.compactTitle",{count:t.length})})]}),u]}):a.jsxs("aside",{className:"agent-room-roster agent-room-roster--desktop","aria-label":r("agentRoom.roster.title"),children:[n&&a.jsxs("div",{className:"agent-room-roster__header",children:[a.jsxs("div",{children:[a.jsx("div",{className:"agent-room-roster__eyebrow",children:r("agentRoom.roster.eyebrow")}),a.jsx("h2",{children:r("agentRoom.roster.title")})]}),a.jsx("span",{children:r("agentRoom.roster.memberCount",{count:t.length})})]}),u]})}const Zr=(e,t)=>e.reduce((s,i)=>s+i.runs.filter(t).length,0),K_=(e,t)=>(e==null?void 0:t.get(e))??t.get("host")??t.get("leader")??[...t.values()].find(s=>s.kind==="host"),z_=(e,t)=>{const s=K_(e.memberKey,t);return{memberKey:e.memberKey??(s==null?void 0:s.memberKey)??"host",kind:"host",label:"leader",...(s==null?void 0:s.avatarLabel)!=null&&s.avatarLabel!==""?{avatarLabel:s.avatarLabel}:{},...(s==null?void 0:s.subtitle)!=null&&s.subtitle!==""?{subtitle:s.subtitle}:{},status:(s==null?void 0:s.status)??"active",pendingCount:(s==null?void 0:s.pendingCount)??0,activeRunCount:(s==null?void 0:s.activeRunCount)??0,latestSummary:s==null?void 0:s.latestSummary,runs:(s==null?void 0:s.runs)??[]}},U_=e=>{var t;return e.kind==="assignment"||e.memberKey==="host"||((t=e.memberKey)==null?void 0:t.startsWith("host:"))};function Ud(e){const t=new Map(e.members.map(n=>[n.memberKey,n])),s=new Map(e.members.flatMap(n=>n.runs.map(r=>[r.runKey,r]))),i=e.messages.map(n=>{const r=n.runKey==null?void 0:s.get(n.runKey),o=n.memberKey??(r==null?void 0:r.memberKey),l=U_(n)?z_(n,t):o==null?void 0:t.get(o);return{...n,member:l,run:r}});return{...e,messages:i,attentionCount:e.members.reduce((n,r)=>n+r.pendingCount,0),runningRunCount:Zr(e.members,n=>n.status==="running"),completedRunCount:Zr(e.members,n=>n.status==="completed"),failedRunCount:Zr(e.members,n=>n.status==="failed")}}const q_=220,V_=e=>{if(typeof globalThis.requestAnimationFrame=="function"){const s=globalThis.requestAnimationFrame(e);return()=>globalThis.cancelAnimationFrame(s)}const t=setTimeout(e,16);return()=>clearTimeout(t)},Jl=e=>{const[t,s]=m.useState(e),[i,n]=m.useState(e);return m.useEffect(()=>{if(e)return s(!0),V_(()=>n(!0));n(!1);const r=setTimeout(()=>s(!1),q_);return()=>clearTimeout(r)},[e]),{isVisible:i,shouldRender:t}},Zl=e=>{const t=e.trim().replace(/^@+/,"");return t===""?e:`@${t}`},G_=e=>e.status==="pending"?"pending_actions":"check_circle";function Y_({batch:e}){const{t}=Z(),s=e.runTitle===""?Zl(e.memberLabel):`${Zl(e.memberLabel)} / ${e.runTitle}`,i=e.latest.status==="pending"?t("agentRoom.approvalBatch.pending"):t("agentRoom.approvalBatch.handled"),n=[{icon:"rule",label:t("agentRoom.approvalBatch.total",{count:e.totalCount}),value:e.totalCount},{icon:"pending_actions",label:t("agentRoom.approvalBatch.pendingCount",{count:e.pendingCount}),value:e.pendingCount},{icon:"check_circle",label:t("agentRoom.approvalBatch.handledCount",{count:e.handledCount}),value:e.handledCount},...e.actionCount>0?[{icon:"done_all",label:t("agentRoom.approvalBatch.actionCount",{count:e.actionCount}),value:e.actionCount}]:[]],r=[...e.items].reverse(),o=[...e.actions].reverse(),l=e.items.length+e.actions.length,[c,h]=m.useState(!1),u=t("agentRoom.approvalBatch.history",{count:l}),d=e.latest.status==="pending",p=Jl(d),f=Jl(c&&l>1);return a.jsxs("section",{className:"agent-room-approval-batch",children:[a.jsxs("header",{className:"agent-room-approval-batch__header",children:[a.jsx("span",{className:"material-symbols-rounded agent-room-approval-batch__icon","aria-hidden":"true",children:"rule"}),a.jsxs("div",{className:"agent-room-approval-batch__title-block",children:[a.jsx("div",{className:"agent-room-approval-batch__title",children:t("agentRoom.approvalBatch.title")}),a.jsx("div",{className:"agent-room-approval-batch__target",children:s})]}),l>1&&a.jsx("button",{type:"button",className:"agent-room-approval-batch__history-toggle","aria-label":u,title:u,"aria-expanded":c,onClick:()=>h(_=>!_),children:a.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:c?"keyboard_arrow_up":"keyboard_arrow_down"})})]}),a.jsx("div",{className:"agent-room-approval-batch__metrics","aria-label":t("agentRoom.approvalBatch.summary"),children:n.map(_=>a.jsxs("span",{className:"agent-room-approval-batch__metric","aria-label":_.label,title:_.label,children:[a.jsx("span",{className:"material-symbols-rounded agent-room-approval-batch__metric-icon","aria-hidden":"true",children:_.icon}),a.jsx("span",{className:"agent-room-approval-batch__metric-count",children:_.value})]},_.icon))}),p.shouldRender&&a.jsx("div",{className:["agent-room-approval-batch__current",p.isVisible?"agent-room-approval-batch__current--visible":""].filter(Boolean).join(" "),"aria-hidden":!p.isVisible,children:a.jsx("div",{className:"agent-room-approval-batch__current-shell",children:a.jsxs("div",{className:"agent-room-approval-batch__current-content",children:[a.jsxs("div",{className:"agent-room-approval-batch__current-head",children:[a.jsx("span",{children:t("agentRoom.approvalBatch.currentRequest")}),a.jsx("span",{className:`agent-room-approval-batch__status agent-room-approval-batch__status--${e.latest.status}`,children:i})]}),a.jsx("div",{className:"agent-room-approval-batch__request-text",children:e.latest.content})]})})}),f.shouldRender&&l>1&&a.jsx("div",{className:["agent-room-approval-batch__history",f.isVisible?"agent-room-approval-batch__history--visible":""].filter(Boolean).join(" "),"aria-hidden":!f.isVisible,"aria-label":f.isVisible?u:void 0,children:a.jsx("div",{className:"agent-room-approval-batch__history-shell",children:a.jsxs("div",{className:"agent-room-approval-batch__history-list",children:[o.map(_=>a.jsxs("div",{className:"agent-room-approval-batch__history-item",children:[a.jsx("span",{className:"material-symbols-rounded agent-room-approval-batch__history-icon agent-room-approval-batch__history-icon--action","aria-hidden":"true",children:"done_all"}),a.jsxs("div",{className:"agent-room-approval-batch__history-body",children:[a.jsxs("div",{className:"agent-room-approval-batch__history-meta",children:[a.jsx("span",{children:t("agentRoom.approvalBatch.handledByLeader")}),_.createdAtLabel!=null&&a.jsx("span",{children:_.createdAtLabel}),_.interactionIds.map(g=>a.jsx("span",{children:g},g))]}),a.jsx("div",{className:"agent-room-approval-batch__history-text",children:_.content})]})]},_.id)),r.map(_=>a.jsxs("div",{className:"agent-room-approval-batch__history-item",children:[a.jsx("span",{className:`material-symbols-rounded agent-room-approval-batch__history-icon agent-room-approval-batch__history-icon--${_.status}`,"aria-hidden":"true",children:G_(_)}),a.jsxs("div",{className:"agent-room-approval-batch__history-body",children:[a.jsxs("div",{className:"agent-room-approval-batch__history-meta",children:[a.jsx("span",{children:_.status==="pending"?t("agentRoom.approvalBatch.pending"):t("agentRoom.approvalBatch.handled")}),_.createdAtLabel!=null&&a.jsx("span",{children:_.createdAtLabel}),_.interactionId!=null&&a.jsx("span",{children:_.interactionId})]}),a.jsx("div",{className:"agent-room-approval-batch__history-text",children:_.content})]})]},_.id))]})})})]})}const X_=new Set(["bash","zsh","sh","fish"]),J_=e=>{var s;const t=/`([^`]+)`/u.exec(e);return(s=t==null?void 0:t[1])==null?void 0:s.trim()},Z_=e=>{const t=[];let s="",i=null,n=!1;for(const r of e){if(n){s+=r,n=!1;continue}if(r==="\\"&&i!=="'"){n=!0;continue}if(i!=null){r===i?i=null:s+=r;continue}if(r==='"'||r==="'"){i=r;continue}if(/\s/u.test(r)){s!==""&&(t.push(s),s="");continue}s+=r}return n&&(s+="\\"),s!==""&&t.push(s),t},Q_=e=>{if(e==null||e==="")return;const t=e.split("/").filter(Boolean).at(-1);return t!=null&&X_.has(t)?e:void 0},eg=(e,t)=>{var h;const s=J_(e);if(s==null||s===""||!(((h=t.subjectLabel)==null?void 0:h.trim().toLowerCase())==="bash"||/bash|shell|command|命令|执行/iu.test(e)))return;const r=Z_(s),o=Q_(r[0]),l=o!=null?r.findIndex((u,d)=>d>0&&u.startsWith("-")&&u.includes("c")):-1,c=l>=0?r[l+1]:void 0;return{command:s,shell:o,args:o!=null?r.slice(1,l>=0?l+1:void 0):[],script:c==null||c===""?void 0:c}},Ql=new Set(["allow_once","allow_session","deny_once"]),tg=e=>{switch(e){case"allow_once":return{icon:"task_alt",tone:"allow"};case"allow_session":return{icon:"history_toggle_off",tone:"allow"};case"allow_project":return{icon:"folder_managed",tone:"allow"};case"deny_once":return{icon:"cancel",tone:"deny"};case"deny_session":return{icon:"block",tone:"deny"};case"deny_project":return{icon:"folder_off",tone:"deny"};default:return{icon:"help",tone:"neutral"}}},sg=e=>{if(e!=null)return Array.isArray(e)?e.join(", "):e};function ig({content:e,request:t,onRespondInteraction:s}){const{t:i}=Z(),[n,r]=m.useState(null),[o,l]=m.useState(!1),c=t.status==="pending",h=c&&s!=null,u=sg(t.response),d=eg(e,t),p=i(`agentRoom.interactionRequest.status.${t.status}`),f=t.subjectLabel==null?i("agentRoom.interactionRequest.title"):i("chat.permissionRequestTitleWithTool",{tool:t.subjectLabel}),_=t.options.map((y,S)=>({option:y,index:S,meta:tg(y.value)})),g=_.filter(({option:y})=>Ql.has(y.value??"")),v=_.filter(({option:y})=>!Ql.has(y.value??"")),b=g.length>0&&v.length>0,x=!b||o?_:g,P=async y=>{r(y);try{await(s==null?void 0:s(t.interactionId,y))}finally{r(null)}};return a.jsxs("section",{className:`agent-room-interaction-request agent-room-interaction-request--${t.status}`,children:[a.jsxs("div",{className:"agent-room-interaction-request__header",children:[a.jsx("span",{className:"agent-room-interaction-request__icon material-symbols-rounded","aria-hidden":"true",children:"admin_panel_settings"}),a.jsxs("div",{className:"agent-room-interaction-request__title-block",children:[a.jsx("div",{className:"agent-room-interaction-request__title",children:f}),a.jsxs("div",{className:"agent-room-interaction-request__meta",children:[a.jsx("span",{children:p}),a.jsx("span",{children:i(`agentRoom.interactionRequest.kind.${t.requestKind}`)})]})]})]}),d==null?a.jsx("div",{className:"agent-room-interaction-request__question",children:e}):a.jsxs("div",{className:"agent-room-interaction-request__structured-question",children:[a.jsx("div",{className:"agent-room-interaction-request__question",children:i("agentRoom.interactionRequest.command.summary")}),a.jsxs("div",{className:"agent-room-interaction-request__command-panel",children:[a.jsxs("div",{className:"agent-room-interaction-request__command-header",children:[a.jsx("span",{children:i("agentRoom.interactionRequest.command.title")}),d.shell!=null&&a.jsx("span",{className:"agent-room-interaction-request__command-chip",children:i("agentRoom.interactionRequest.command.shell",{shell:d.shell})})]}),d.args.length>0&&a.jsx("div",{className:"agent-room-interaction-request__command-meta",children:i("agentRoom.interactionRequest.command.arguments",{arguments:d.args.join(" ")})}),a.jsx("div",{className:"agent-room-interaction-request__command-label",children:d.script==null?i("agentRoom.interactionRequest.command.fullCommand"):i("agentRoom.interactionRequest.command.script")}),a.jsx("pre",{className:"agent-room-interaction-request__command-code",children:a.jsx("code",{children:d.script??d.command})}),d.script!=null&&a.jsxs("details",{className:"agent-room-interaction-request__command-details",children:[a.jsx("summary",{children:i("agentRoom.interactionRequest.command.fullCommand")}),a.jsx("pre",{className:"agent-room-interaction-request__command-code agent-room-interaction-request__command-code--full",children:a.jsx("code",{children:d.command})})]})]})]}),c&&t.options.length>0&&a.jsxs("div",{className:"agent-room-interaction-request__options","aria-label":i("agentRoom.interactionRequest.options"),children:[x.map(({option:y,meta:S})=>{const T=y.value??y.label,j=n===T;return a.jsxs("button",{type:"button",className:`agent-room-interaction-request__option agent-room-interaction-request__option--${S.tone}`,disabled:!h||n!=null,title:y.description,onClick:()=>{P(T)},children:[a.jsx("span",{className:"agent-room-interaction-request__option-icon material-symbols-rounded","aria-hidden":"true",children:S.icon}),a.jsxs("span",{className:"agent-room-interaction-request__option-copy",children:[a.jsx("span",{className:"agent-room-interaction-request__option-label",children:y.label}),y.description!=null&&y.description!==""&&a.jsx("span",{className:"agent-room-interaction-request__option-description",children:y.description})]}),j&&a.jsx("span",{className:"agent-room-interaction-request__option-spinner","aria-hidden":"true"})]},`${y.label}:${T}`)}),b&&a.jsxs("button",{type:"button",className:"agent-room-interaction-request__option-toggle",onClick:()=>l(y=>!y),children:[a.jsx("span",{children:i(o?"chat.permissionCollapseOptions":"chat.permissionExpandOptions")}),a.jsx("span",{className:"agent-room-interaction-request__option-toggle-icon material-symbols-rounded","aria-hidden":"true",children:o?"expand_less":"expand_more"})]})]}),!c&&a.jsx("div",{className:"agent-room-interaction-request__result",children:u==null||u===""?p:i("agentRoom.interactionRequest.response",{response:u})})]})}const Qr=240,ng={assignment:"assignment_ind",attention:"help",reply:"reply",completion:"task_alt",failure:"error",system:"info",message:"smart_toy"},rg={attention:"waiting",completion:"completed",failure:"failed"},og=e=>ng[e.kind],qd=e=>e==null?"":e.trim().replace(/^@+/,""),ag=e=>{var s,i;const t=(i=(s=e.member)==null?void 0:s.avatarLabel)==null?void 0:i.trim();return t===""?void 0:t},lg=e=>{var t,s;return`agent-room:${((t=e.member)==null?void 0:t.memberKey)??e.memberKey??((s=e.run)==null?void 0:s.memberKey)??e.id}`},cg=e=>{var t,s;return((t=e.interactionRequest)==null?void 0:t.status)==="handled"?"completed":((s=e.interactionRequest)==null?void 0:s.status)==="expired"?"failed":rg[e.kind]},hg=(e,t)=>t(`agentRoom.reaction.${e.kind}By`,{agent:Vd(e,t)}),dg=e=>e.kind==="completed"?"✅":"👀",Vd=(e,t)=>{var i;const s=(i=e.agentLabel)==null?void 0:i.trim();return s==null||s===""?t("agentRoom.message.agent"):e.isHost===!0?s.replace(/^@+/,""):Gd(s)??s},Gd=e=>{const t=e==null?void 0:e.trim().replace(/^@+/,"");return t==null||t===""?void 0:`@${t}`},ug=(e,t)=>{var i;const s=(i=e.authorLabel)==null?void 0:i.trim();return s!=null&&s!==""?e.role==="user"?s:qd(s)||s:e.role==="user"?t("agentRoom.message.you"):e.role==="system"?t("agentRoom.message.system"):t("agentRoom.message.agent")},mg=(e,t)=>e.interactionRequest!=null&&typeof e.content=="string"?a.jsx(ig,{content:e.content,request:e.interactionRequest,onRespondInteraction:t}):e.approvalBatch!=null?a.jsx(Y_,{batch:e.approvalBatch}):typeof e.content=="string"?a.jsx(Ts,{content:e.content}):e.content,fg=(e,t)=>{var s;return((s=e.systemMessage)==null?void 0:s.kind)==="memberJoined"?t("agentRoom.system.memberJoined",{member:e.systemMessage.memberLabel}):e.content},pg=(e,t,s,i)=>{if(t||s||e.kind==="completion")return!1;if(i)return!0;if(typeof e.content!="string")return!1;const n=e.content.trim();return n.length>=120||n.includes(`
|
|
3
|
-
`)};function _g({message:e,showAvatar:t=!0,showAuthor:s=!0,onOpenHostSession:i,onOpenRun:n,onReplyToRun:r,onRespondInteraction:o,onSelectHostTarget:l,onSelectMemberTarget:c}){var Qe,Xe,it;const{t:h}=Z(),u=m.useRef(null),[d,p]=m.useState(!1),[f,_]=m.useState(Qr),[g,v]=m.useState(!1),b=e.approvalBatch!=null,x=e.interactionRequest!=null,y=!b&&!x&&g,S=y&&!d,T=pg(e,e.role==="user",b,g);if(m.useEffect(()=>{p(!1)},[e.id]),m.useEffect(()=>{const Ie=u.current;if(Ie==null)return;const Ee=()=>{const q=Ie.scrollHeight;_(Math.max(q,Qr)),v(q>Qr+1)};Ee();const et=globalThis.ResizeObserver;if(et==null)return;const ot=new et(Ee);return ot.observe(Ie),()=>ot.disconnect()},[e.content,e.id]),e.role==="system")return a.jsx("div",{id:`message-${e.id}`,className:"agent-room-bubble agent-room-bubble--system","data-message-id":e.id,children:a.jsxs("span",{className:"agent-room-bubble__system-surface",children:[a.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:og(e)}),a.jsx("span",{children:fg(e,h)})]})});const j=e.role==="user",I=qd((Qe=e.member)==null?void 0:Qe.label),R=!j&&(((Xe=e.member)==null?void 0:Xe.kind)==="host"||I.toLowerCase()==="leader"),O=e.member==null||I===""?h("agentRoom.message.agent"):I,k=j||(it=e.member)==null?void 0:it.subtitle,N=e.run,C=N!=null&&N.sessionId!==""&&n!=null,w=R&&i!=null,M=w||C,E=R&&l!=null,D=!R&&e.member!=null&&c!=null,A=!R&&!D&&N!=null&&r!=null,B=Gd(e.targetLabel),H=B!=null&&C,U=ag(e),W=lg(e),z=h("agentRoom.actions.openRun"),F=h("agentRoom.actions.openHostSession"),te=(N==null?void 0:N.title)==null||N.title===""?z:`${z}: ${N.title}`,ie=w?F:te,ue=h("agentRoom.actions.messageRun",{target:O}),pe=cg(e),Y=pe==null?void 0:h(`agentRoom.status.run.${pe}`),be=Y==null?void 0:`message-${e.id}-status`,ye=e.reactions??[],he=ye.length>0?`reaction-${e.id}`:void 0,$=e.replyTo,de=$==null?void 0:ug($,h),oe=$==null||de==null?void 0:h("agentRoom.message.replyingTo",{author:de,content:$.content}),_e=h(d?"agentRoom.message.collapseLong":"agentRoom.message.expandLong"),ce=[be,he].filter(Ie=>Ie!=null).join(" "),We=!j&&t,we=!j&&!t,Se=!j&&s,me=typeof e.content=="string"&&e.approvalBatch==null&&e.interactionRequest==null,Ge=y?{"--agent-room-bubble-content-max-height":`${f}px`}:void 0,ae=()=>{N!=null&&(n==null||n(N))},ee=()=>{if(w){i==null||i();return}ae()},Re=()=>{r==null||r(e)},Ve=()=>{e.member!=null&&(c==null||c(e.member))},Ue=()=>{l==null||l()};return a.jsxs("article",{id:`message-${e.id}`,className:["agent-room-bubble",`agent-room-bubble--${e.role}`,`agent-room-bubble--${e.kind}`,R?"agent-room-bubble--leader":"",we?"agent-room-bubble--avatar-hidden":"",b?"agent-room-bubble--approval-batch":"",x?"agent-room-bubble--interaction-request":"",y?"agent-room-bubble--content-overflowing":"",T?"agent-room-bubble--wide-content":"",$!=null?"agent-room-bubble--has-quote":"",ye.length>0?"agent-room-bubble--has-reactions":"",pe==null?"":`agent-room-bubble--status-${pe}`].filter(Boolean).join(" "),"data-message-id":e.id,"data-status":pe,title:Y,"aria-describedby":ce===""?void 0:ce,children:[We&&(M?a.jsx("button",{type:"button",className:["agent-room-bubble__avatar",U==null?"agent-room-bubble__avatar--pixel":"","agent-room-bubble__avatar-button"].filter(Boolean).join(" "),"aria-label":ie,title:ie,onClick:ee,children:U??a.jsx(fn,{className:"agent-room-bubble__avatar-pixel",seed:W})}):a.jsx("div",{className:["agent-room-bubble__avatar",U==null?"agent-room-bubble__avatar--pixel":""].filter(Boolean).join(" "),"aria-hidden":"true",children:U??a.jsx(fn,{className:"agent-room-bubble__avatar-pixel",seed:W})})),we&&a.jsx("span",{className:"agent-room-bubble__avatar-spacer","aria-hidden":"true"}),a.jsxs("div",{className:"agent-room-bubble__stack",children:[Se&&a.jsxs("div",{className:"agent-room-bubble__meta",children:[A?a.jsx("button",{type:"button",className:"agent-room-bubble__author agent-room-bubble__author-button","aria-label":ue,title:ue,onClick:Re,children:O}):D?a.jsx("button",{type:"button",className:"agent-room-bubble__author agent-room-bubble__author-button","aria-label":O,onClick:Ve,children:O}):E?a.jsx("button",{type:"button",className:"agent-room-bubble__author agent-room-bubble__author-button","aria-label":O,onClick:Ue,children:O}):M?a.jsx("button",{type:"button",className:"agent-room-bubble__author agent-room-bubble__author-button","aria-label":ie,title:ie,onClick:ee,children:O}):a.jsx("span",{className:"agent-room-bubble__author",children:O}),k!=null&&k!==""&&a.jsx("span",{className:"agent-room-bubble__subtitle",children:k})]}),a.jsx("div",{className:"agent-room-bubble__message-row",children:a.jsxs("div",{className:"agent-room-bubble__surface",children:[Y!=null&&a.jsx("span",{id:be,className:"agent-room-bubble__status-text",children:Y}),$!=null&&de!=null&&a.jsxs("a",{className:"agent-room-bubble__quote",href:`#message-${$.id}`,"aria-label":oe,title:oe,children:[a.jsx("span",{className:"agent-room-bubble__quote-author",children:de}),a.jsx("span",{className:"agent-room-bubble__quote-text",children:$.content})]}),a.jsx("div",{className:"agent-room-bubble__content-shell",children:a.jsxs("div",{ref:u,style:Ge,className:["agent-room-bubble__content",S?"agent-room-bubble__content--collapsed":"agent-room-bubble__content--expanded",B==null?"":"agent-room-bubble__content--targeted"].filter(Boolean).join(" "),children:[B!=null&&(H?a.jsx("button",{type:"button",className:"agent-room-bubble__mention agent-room-bubble__mention-button","aria-label":te,title:te,onClick:ae,children:B}):a.jsx("span",{className:"agent-room-bubble__mention",children:B})),a.jsx("div",{className:["agent-room-bubble__content-text",me?"agent-room-bubble__content-text--markdown":"agent-room-bubble__content-text--plain"].join(" "),children:mg(e,o)})]})}),y&&a.jsx("button",{type:"button",className:"agent-room-bubble__expand","aria-label":_e,title:_e,"aria-expanded":d,onClick:()=>p(Ie=>!Ie),children:a.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:d?"keyboard_arrow_up":"keyboard_arrow_down"})}),ye.length>0&&a.jsx("div",{id:he,className:"agent-room-bubble__reactions",children:ye.map((Ie,Ee)=>{const et=Vd(Ie,h),ot=Ie.run!=null&&n!=null,q=Ie.isHost===!0&&i!=null,Ae=ot||q,Pe=h("agentRoom.reaction.openTarget",{agent:et}),tt=()=>{if(q){i==null||i();return}Ie.run!=null&&(n==null||n(Ie.run))};return a.jsxs("span",{className:`agent-room-bubble__reaction agent-room-bubble__reaction--${Ie.kind}`,"aria-label":hg(Ie,h),children:[a.jsx("span",{className:"agent-room-bubble__reaction-emoji","aria-hidden":"true",children:dg(Ie)}),Ae?a.jsx("button",{type:"button",className:"agent-room-bubble__reaction-agent agent-room-bubble__reaction-agent-button","aria-label":Pe,title:Pe,onClick:tt,children:et}):a.jsx("span",{className:"agent-room-bubble__reaction-agent",children:et})]},`${Ie.kind}:${et}:${Ee}`)})})]})})]})]})}const ur=e=>{var t,s;if(e.role==="agent")return((t=e.member)==null?void 0:t.memberKey)??e.memberKey??((s=e.run)==null?void 0:s.memberKey)??void 0},gg=(e,t)=>{const s=e[t];if(s==null||s.role!=="agent")return!1;const i=ur(s);if(i==null)return!0;const n=e[t+1];return(n==null?void 0:n.role)!=="agent"||ur(n)!==i},vg=(e,t)=>{const s=e[t];if(s==null||s.role!=="agent")return!1;const i=ur(s);if(i==null)return!0;const n=e[t-1];return(n==null?void 0:n.role)!=="agent"||ur(n)!==i};function bg({messages:e,variant:t="standalone",onOpenHostSession:s,onOpenRun:i,onReplyToRun:n,onRespondInteraction:r,onSelectHostTarget:o,onSelectMemberTarget:l}){return a.jsx("div",{className:`agent-room-message-list agent-room-message-list--${t}`,children:e.map((c,h)=>a.jsx(_g,{message:c,showAvatar:gg(e,h),showAuthor:vg(e,h),onOpenHostSession:s,onOpenRun:i,onReplyToRun:n,onRespondInteraction:r,onSelectHostTarget:o,onSelectMemberTarget:l},c.id))})}function yg({room:e,onOpenHostSession:t,onOpenRun:s,onReplyToRun:i,onRespondInteraction:n,onSelectHostTarget:r,onSelectMemberTarget:o}){const{t:l}=Z(),c=m.useMemo(()=>Ud(e),[e]);return a.jsx("section",{className:"agent-room-transcript","aria-label":l("agentRoom.transcript.ariaLabel",{title:c.title}),children:c.messages.length>0?a.jsx(bg,{messages:c.messages,variant:"transcript",showTimelineSeparators:!0,onOpenHostSession:t,onOpenRun:s,onReplyToRun:i,onRespondInteraction:n,onSelectHostTarget:r,onSelectMemberTarget:o}):a.jsx("div",{className:"agent-room-transcript__empty",children:l("agentRoom.transcript.empty")})})}const wg=80;function Sg({contentVersion:e}){const t=m.useRef(null),s=m.useRef(null),i=m.useRef(null),n=m.useRef(0),r=m.useRef(null),[o,l]=m.useState(!1),[c,h]=m.useState(0),[u,d]=m.useState(!1),p=m.useCallback(()=>{const g=s.current;if(!g)return;const v=g.scrollTop,b=g.scrollHeight-(g.scrollTop+g.clientHeight);Math.abs(n.current-v)>.5&&(n.current=v,h(x=>x+1)),l(g.scrollHeight-g.clientHeight>1),d(b>wg)},[]),f=m.useCallback(()=>{r.current!=null&&(window.clearTimeout(r.current),r.current=null)},[]),_=m.useCallback((g="smooth")=>{f(),r.current=window.setTimeout(()=>{const v=s.current;r.current=null,v&&v.scrollTo({top:v.scrollHeight,behavior:g})},50)},[f]);return m.useEffect(()=>{const g=s.current;if(!g)return;p();const v=()=>p();g.addEventListener("scroll",v,{passive:!0});const b=typeof ResizeObserver>"u"?null:new ResizeObserver(()=>p());return b==null||b.observe(g),i.current!=null&&(b==null||b.observe(i.current)),()=>{b==null||b.disconnect(),g.removeEventListener("scroll",v)}},[p]),m.useEffect(()=>{const g=window.requestAnimationFrame(p);return()=>{window.cancelAnimationFrame(g)}},[e,p]),m.useEffect(()=>f,[f]),{hasScrollableContent:o,messagesEndRef:t,messagesContainerRef:s,messagesContentRef:i,scrollVersion:c,showScrollBottom:u,scrollToBottom:_}}const vi={externalLinkTarget:"newTab",workspaceFileTarget:"fileTab",workspaceFileOpener:"auto",imageLinkMode:"inlinePreview",plainWorkspacePathMode:"link"},kg=new Set(["auto","vscode","cursor","windsurf","zed","intellij","webstorm","pycharm","goland","textedit"]),xg=e=>({externalLinkTarget:(e==null?void 0:e.externalLinkTarget)==="currentTab"?"currentTab":vi.externalLinkTarget,workspaceFileTarget:(e==null?void 0:e.workspaceFileTarget)==="defaultLink"?"defaultLink":(e==null?void 0:e.workspaceFileTarget)==="externalIde"?"externalIde":vi.workspaceFileTarget,workspaceFileOpener:(e==null?void 0:e.workspaceFileOpener)!=null&&kg.has(e.workspaceFileOpener)?e.workspaceFileOpener:vi.workspaceFileOpener,imageLinkMode:(e==null?void 0:e.imageLinkMode)==="link"?"link":vi.imageLinkMode,plainWorkspacePathMode:(e==null?void 0:e.plainWorkspacePathMode)==="text"?"text":vi.plainWorkspacePathMode});function mr({className:e,summary:t,summaryClassName:s,bodyClassName:i,progress:n,children:r,expanded:o=!0,onToggle:l,narrow:c=!1}){const h=["chat-composer-card",c?"chat-composer-card--narrow":"",o?"is-expanded":"is-collapsed",e??""].filter(Boolean).join(" "),u=["chat-composer-card__summary",s??""].filter(Boolean).join(" "),d=["chat-composer-card__body",i??""].filter(Boolean).join(" "),p=r!=null;return a.jsxs("section",{className:h,children:[l!=null?a.jsx("button",{type:"button",className:u,onClick:l,children:t}):a.jsx("div",{className:u,children:t}),n,p&&a.jsx("div",{className:"chat-composer-card__content","aria-hidden":!o,children:a.jsx("div",{className:d,children:r})})]})}const Cg=new Set(["SetTodoList","set_todo_list","adapter:kimi:SetTodoList","adapter:kimi:set_todo_list"]),Ng=e=>e==="completed"?"check_circle":e==="in_progress"?"progress_activity":"radio_button_unchecked",Tg=e=>e==="high"?"keyboard_double_arrow_up":e==="medium"?"remove":"keyboard_double_arrow_down",Eg=e=>e==="TodoWrite"||e==="todo_write"||e==="adapter:claude-code:TodoWrite"||e==="adapter:claude-code:todo_write"||Cg.has(e),Mg=e=>e==="completed"||e==="done"?"completed":e==="in_progress"?"in_progress":"pending",ec=e=>Array.isArray(e)?e.map(t=>{if(t==null||typeof t!="object"||Array.isArray(t))return;const s=t,i=typeof s.content=="string"&&s.content.trim()!==""?s.content.trim():typeof s.title=="string"&&s.title.trim()!==""?s.title.trim():void 0;if(i==null)return;const n=s.priority==="high"||s.priority==="medium"||s.priority==="low"?s.priority:void 0;return{...typeof s.id=="string"&&s.id.trim()!==""?{id:s.id.trim()}:{},content:i,status:Mg(s.status),...n!=null?{priority:n}:{}}}).filter(t=>t!=null):[],Pg=e=>{if(e==null||typeof e!="object"||Array.isArray(e))return[];const t=e;return ec(t.todos).concat(ec(t.items))};function Rg({messages:e}){const{t}=Z(),[s,i]=m.useState(!1);let n=[];for(let d=e.length-1;d>=0;d--){const p=e[d];if(p.role==="assistant"&&Array.isArray(p.content)){const f=p.content.find(_=>_!=null&&_.type==="tool_use"&&Eg(_.name));if(f!=null&&f.type==="tool_use"&&f.input!=null&&typeof f.input=="object"){const _=Pg(f.input);if(_.length>0){n=_;break}}}}if(n.length===0)return null;const r=n.filter(d=>d.status==="completed").length,o=n.filter(d=>d.status==="in_progress").length,l=n.length,c=l-r-o,h=l>0?r/l*100:0;if(l===0)return a.jsx("div",{className:"current-todo-container empty",children:a.jsx(mr,{className:"current-todo-panel",summaryClassName:"current-todo-summary current-todo-summary--empty",summary:a.jsxs(a.Fragment,{children:[a.jsx("span",{className:"material-symbols-rounded",children:"assignment_late"}),a.jsx("span",{className:"current-todo-summary__text",children:t("chat.todo.noTasks")})]}),narrow:!0})});const u=[c>0?{icon:"radio_button_unchecked",count:c,className:"current-todo-summary__stat"}:null,o>0?{icon:"progress_activity",count:o,className:"current-todo-summary__stat current-todo-summary__stat--active"}:null,r>0?{icon:"check_circle",count:r,className:"current-todo-summary__stat current-todo-summary__stat--done"}:null].filter(d=>d!=null);return a.jsx("div",{className:`current-todo-container ${s?"expanded":""}`,children:a.jsx(mr,{className:"current-todo-panel",summaryClassName:"current-todo-summary",expanded:s,onToggle:()=>i(!s),progress:a.jsx("div",{className:"current-todo-progress",children:a.jsx("div",{className:"current-todo-progress__fill",style:{width:`${h}%`}})}),narrow:!0,summary:a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"current-todo-summary__headline",children:[a.jsx("span",{className:"material-symbols-rounded current-todo-summary__icon",children:"checklist"}),a.jsx("span",{className:"current-todo-summary__text",children:t("chat.todo.progress",{completed:r,total:l})})]}),a.jsxs("div",{className:"current-todo-summary__meta",children:[u.map(({icon:d,count:p,className:f})=>a.jsxs("span",{className:f,children:[a.jsx("span",{className:"material-symbols-rounded",children:d}),a.jsx("span",{children:p})]},`${d}-${p}`)),a.jsx("span",{className:"material-symbols-rounded current-todo-summary__chevron",children:s?"expand_less":"expand_more"})]})]}),children:a.jsx("ol",{className:"current-todo-list",children:n.map((d,p)=>a.jsxs("li",{className:`current-todo-item current-todo-item--${d.status}`,children:[a.jsx("span",{className:"material-symbols-rounded current-todo-item__status",children:Ng(d.status)}),a.jsxs("span",{className:"current-todo-item__index",children:[p+1,"."]}),a.jsxs("div",{className:"current-todo-item__body",children:[a.jsx("span",{className:"current-todo-item__text",children:d.content}),d.priority!=null&&d.priority!==""&&a.jsx("span",{className:`material-symbols-rounded current-todo-item__priority current-todo-item__priority--${d.priority}`,title:d.priority,children:Tg(d.priority)})]})]},d.id||p))})})})}const Ns=e=>(e==null?void 0:e.trim())??"",jg=e=>e.split(/[\\/]/).filter(Boolean).at(-1)??e,Ig=e=>Array.from(new Set(e)),Yd=e=>e.startsWith(".")||e.startsWith("/")||e.includes("\\")||e.includes(".oo/")||e.includes("node_modules/")||/\.[a-z0-9]+$/i.test(e),Dg=e=>{const t=Ns(e);if(t!=="")return Yd(t)?{attachmentPath:t}:t.includes("/")?{mention:`规则:${t}`}:{attachmentPath:`.oo/rules/${t}.md`}},Lg=e=>{const t=Ns(e);if(t!=="")return Yd(t)?{attachmentPath:t}:t.includes("/")?{mention:`技能:${t}`}:{attachmentPath:`.oo/skills/${t}/SKILL.md`}},Xd=e=>e==="agent"?"entity":e??"default",Ag=e=>{const t=Xd(e.mode);if(t==="default")return{...xo};const s=Ns(e.target),i=Ns(e.targetLabel),n=Ns(e.targetDescription);return{type:t,...s!==""?{name:s}:{},...i!==""?{label:i}:s!==""?{label:s}:{},...n!==""?{description:n}:{}}},Bg=e=>{const t=e.worktree;if(t==null)return;const s={};if(typeof t.create=="boolean"&&(s.createWorktree=t.create),t.environment!==void 0){const i=Ns(t.environment);s.worktreeEnvironment=i===""?void 0:i}if(t.branch!=null){const i=Ns(t.branch.name);s.branch=i===""?void 0:{name:i,kind:t.branch.kind,mode:t.branch.mode??"checkout"}}return Object.keys(s).length>0?s:void 0},Og=e=>{const t=[],s=[];for(const l of e.files??[]){const c=Ns(l);c!==""&&t.push(c)}for(const l of e.rules??[]){const c=Dg(l);(c==null?void 0:c.attachmentPath)!=null&&t.push(c.attachmentPath),(c==null?void 0:c.mention)!=null&&s.push(c.mention)}for(const l of e.skills??[]){const c=Lg(l);(c==null?void 0:c.attachmentPath)!=null&&t.push(c.attachmentPath),(c==null?void 0:c.mention)!=null&&s.push(c.mention)}const i=[],n=Ns(e.prompt);n!==""&&i.push(n),s.length>0&&i.push(["请优先结合以下规则与技能:",...s.map(l=>`- ${l}`)].join(`
|
|
4
|
-
`));const r=[],o=i.join(`
|
|
5
|
-
|
|
6
|
-
`).trim();o!==""&&r.push({type:"text",text:o});for(const l of Ig(t))r.push({type:"file",path:l,name:jg(l)});return r.length>0?r:void 0},Jd=e=>Array.from(new Set(e)),Fg=(e,t,s)=>{const i=[];for(const n of Jd(e))if(t.has(n)&&(i.push(n),i.length>=s))break;return i},tc=(e,t)=>{if(t.length===0)return e;const s=new Map(t.map((i,n)=>[i,n]));return[...e].sort((i,n)=>{const r=s.get(i.key),o=s.get(n.key);return r!=null&&o!=null?r-o:r!=null?-1:o!=null?1:i.order-n.order})},Ht=e=>(e==null?void 0:e.trim())??"",Wg=e=>{var i,n,r,o;const t=(n=(i=e==null?void 0:e.sources)==null?void 0:i.merged)==null?void 0:n.general,s=(o=(r=e==null?void 0:e.sources)==null?void 0:r.merged)==null?void 0:o.conversation;return{announcements:(t==null?void 0:t.announcements)??[],startupPresets:(s==null?void 0:s.startupPresets)??[],builtinActions:(s==null?void 0:s.builtinActions)??[]}},sc=(e,t,s)=>{const i=Ht(e.id);if(i!=="")return`${t}:${i}`;const n=[Ht(e.title),Ht(e.target),Ht(e.prompt)].filter(r=>r!=="");return n.length>0?`${t}:${n.join("|")}`:`${t}:index:${s}`},$g=(e,t)=>{let s=0;return[...e.map((i,n)=>({key:sc(i,"startupPresets",n),order:s++,source:"startupPresets",sourceIndex:n,starter:i})),...t.map((i,n)=>({key:sc(i,"builtinActions",n),order:s++,source:"builtinActions",sourceIndex:n,starter:i}))]},Hg=e=>e.trim().toLowerCase(),Kg=e=>{var s,i,n;const{starter:t}=e;return[Ht(t.title),Ht(t.description),Ht(t.prompt),Ht(t.target),Ht(t.targetLabel),Ht(t.targetDescription),Ht(t.model),...((s=t.files)==null?void 0:s.map(r=>Ht(r)))??[],...((i=t.rules)==null?void 0:i.map(r=>Ht(r)))??[],...((n=t.skills)==null?void 0:n.map(r=>Ht(r)))??[]].filter(r=>r!=="").join(" ").toLowerCase()},zg=({items:e,favoriteKeys:t,recentKeys:s,query:i,remainingLimit:n})=>{const r=Hg(i);if(r!==""){const v=r.split(/\s+/).filter(x=>x!==""),b=e.filter(x=>{const P=Kg(x);return v.every(y=>P.includes(y))});return{isSearchMode:!0,recentKeys:[],visibleRemaining:b,totalRemainingCount:b.length,hiddenRemainingCount:0}}const o=new Set(Jd(t)),l=new Map(e.map(v=>[v.key,v])),c=Fg(s,new Set(l.keys()),3),h=tc(e.filter(v=>o.has(v.key)),c),u=new Set(h.map(v=>v.key)),d=c.filter(v=>!u.has(v)),p=new Set([...u,...d]),f=tc(e.filter(v=>!p.has(v.key)),[]),_=Math.max(0,n),g=[...h,...d.map(v=>l.get(v)).filter(Boolean),...f];return{isSearchMode:!1,recentKeys:c,visibleRemaining:g.slice(0,_),totalRemainingCount:g.length,hiddenRemainingCount:Math.max(0,g.length-_)}},Ba=e=>(e==null?void 0:e.trim())??"",Ug=e=>{const t=Ba(e.icon);if(t!=="")return t;switch(Xd(e.mode)){case"workspace":return"workspaces";case"entity":return"group_work";case"spec":return"account_tree";default:return"bolt"}},qg=(e,t,s)=>{const i=Ba(e.starter.title);return i!==""?i:`${e.source==="builtinActions"?s:t} #${e.sourceIndex+1}`};function Vg({items:e,label:t,favoriteKeys:s,recentKeys:i,showRecentBadge:n=!0,onToggleFavorite:r,onApplyStarter:o}){const{t:l}=Z();return e.length===0?null:a.jsxs("section",{className:"new-session-guide__section",children:[t!=null&&t!==""&&a.jsx("div",{className:"new-session-guide__section-title",children:t}),a.jsx("div",{className:"new-session-guide__list",role:"list",children:e.map(c=>{const h=s.includes(c.key),u=i.includes(c.key),d=Ba(c.starter.description);return a.jsxs("div",{className:"new-session-guide__list-row",role:"listitem",children:[a.jsx(ze,{title:d!==""?d:void 0,placement:"topLeft",mouseEnterDelay:2,children:a.jsxs("button",{type:"button",className:"new-session-guide__list-item",onClick:()=>o(c),children:[a.jsx("span",{className:"material-symbols-rounded new-session-guide__list-item-icon",children:Ug(c.starter)}),a.jsx("span",{className:"new-session-guide__list-item-copy",children:a.jsxs("span",{className:"new-session-guide__list-item-title-row",children:[a.jsx("span",{className:"new-session-guide__list-item-title",children:qg(c,l("chat.newSessionGuide.fallbackPresetPrefix"),l("chat.newSessionGuide.fallbackActionPrefix"))}),n&&u&&a.jsx("span",{className:"new-session-guide__status-badge",children:l("chat.newSessionGuide.recentTitle")})]})})]})}),a.jsx("button",{type:"button",className:["new-session-guide__favorite-button",h?"is-active":""].filter(Boolean).join(" "),"aria-label":l(h?"chat.newSessionGuide.unfavoriteAction":"chat.newSessionGuide.favoriteAction"),title:l(h?"chat.newSessionGuide.unfavoriteAction":"chat.newSessionGuide.favoriteAction"),onClick:()=>r(c.key),children:a.jsx("span",{className:"material-symbols-rounded",children:h?"star":"star_outline"})})]},c.key)})})]})}const ic="oneworks_new_session_guide_favorites",nc="oneworks_new_session_guide_recent",rc=3,oc=3,ac=e=>{try{const t=localStorage.getItem(e);if(t==null)return[];const s=JSON.parse(t);return Array.isArray(s)?s.filter(i=>typeof i=="string"):[]}catch{return[]}},lc=(e,t)=>e.length===t.length&&e.every((s,i)=>s===t[i]);function Gg({startupPresets:e,builtinActions:t,onApplyStarter:s}){const{t:i}=Z(),[n,r]=m.useState(""),[o,l]=m.useState(!1),[c,h]=m.useState(null),[u,d]=m.useState(()=>ac(ic)),[p,f]=m.useState(()=>ac(nc)),_=m.useRef(null),g=m.useMemo(()=>$g(e,t),[t,e]),v=m.useMemo(()=>zg({items:g,favoriteKeys:u,recentKeys:p,query:n,remainingLimit:o?g.length:rc}),[u,p,n,o,g]);if(m.useEffect(()=>{try{localStorage.setItem(ic,JSON.stringify(u)),localStorage.setItem(nc,JSON.stringify(p))}catch{}},[u,p]),m.useEffect(()=>{const R=new Set(g.map(O=>O.key));d(O=>{const k=O.filter(N=>R.has(N));return lc(O,k)?O:k}),f(O=>{const k=O.filter(N=>R.has(N)).slice(0,oc);return lc(O,k)?O:k})},[g]),m.useEffect(()=>{l(!1)},[n]),m.useEffect(()=>{!v.isSearchMode&&c!=null&&h(null)},[c,v.isSearchMode]),g.length===0)return null;const b=R=>{d(O=>O.includes(R)?O.filter(k=>k!==R):[...O,R])},x=R=>{f(O=>[R.key,...O.filter(k=>k!==R.key)].slice(0,oc)),s(R.starter)},P=o&&!v.isSearchMode,y=!v.isSearchMode&&v.hiddenRemainingCount>0,S=!v.isSearchMode&&o&&v.totalRemainingCount>rc,T=y||S,j=v.isSearchMode&&c!=null?{minHeight:`${c}px`}:void 0,I=R=>{var O;if(n.length===0&&R.length>0){const k=(O=_.current)==null?void 0:O.getBoundingClientRect().height;k!=null&&Number.isFinite(k)&&h(Math.round(k))}R.length===0&&h(null),r(R)};return a.jsxs("div",{ref:_,style:j,className:["new-session-guide__sections",P?"is-expanded":""].filter(Boolean).join(" "),children:[a.jsx("div",{className:["new-session-guide__sections-header",P?"is-expanded":""].filter(Boolean).join(" "),children:a.jsxs("label",{className:"new-session-guide__search",children:[a.jsx("span",{className:"material-symbols-rounded new-session-guide__search-icon",children:"search"}),a.jsx("input",{type:"search",className:"new-session-guide__search-input",value:n,placeholder:i("chat.newSessionGuide.searchPlaceholder"),onChange:R=>I(R.target.value)})]})}),a.jsxs("div",{className:["new-session-guide__sections-body",P?"is-expanded":""].filter(Boolean).join(" "),children:[v.visibleRemaining.length>0&&a.jsx(Vg,{items:v.visibleRemaining,favoriteKeys:u,recentKeys:v.recentKeys,showRecentBadge:!v.isSearchMode,onToggleFavorite:b,onApplyStarter:x}),v.isSearchMode&&v.visibleRemaining.length===0&&a.jsx("div",{className:"new-session-guide__empty-search",children:i("chat.newSessionGuide.emptySearch")})]}),T&&a.jsxs("div",{className:"new-session-guide__sections-footer",children:[y&&a.jsxs("button",{type:"button",className:"new-session-guide__more-button",onClick:()=>l(!0),children:[a.jsx("span",{className:"material-symbols-rounded new-session-guide__more-button-icon",children:"expand_more"}),a.jsx("span",{className:"new-session-guide__more-button-label",children:i("chat.newSessionGuide.showMore",{count:v.hiddenRemainingCount})})]}),S&&a.jsxs("button",{type:"button",className:"new-session-guide__more-button is-secondary",onClick:()=>l(!1),children:[a.jsx("span",{className:"material-symbols-rounded new-session-guide__more-button-icon",children:"expand_less"}),a.jsx("span",{className:"new-session-guide__more-button-label",children:i("chat.newSessionGuide.showLess")})]})]})]})}function Yg({announcements:e,startupPresets:t,builtinActions:s,composer:i,onApplyStarter:n}){const{t:r}=Z(),[o,l]=l_(p_),c=Ri(__),h=e.length>0,u=h?o?e:[]:[r("chat.newSessionGuide.welcomeMessage")],d=c?t:[],p=c?s:[],f=d.length>0||p.length>0;return a.jsxs("div",{className:"new-session-guide",children:[u.length>0&&a.jsxs("div",{className:"new-session-guide__announcements",children:[a.jsx("div",{className:"new-session-guide__announcements-list",children:u.map((_,g)=>a.jsxs("div",{className:"new-session-guide__announcements-item",children:[a.jsx("span",{className:"material-symbols-rounded new-session-guide__announcements-icon",children:h?"campaign":"waving_hand"}),a.jsx("div",{className:"new-session-guide__announcements-copy",children:a.jsx(Ts,{content:_})})]},`${_}-${g}`))}),h&&a.jsx("button",{type:"button",className:"new-session-guide__announcements-close",onClick:()=>l(!1),children:a.jsx("span",{className:"material-symbols-rounded",children:"close"})})]}),a.jsx("div",{className:"new-session-guide__composer",children:a.jsx($d,{children:i})}),f&&a.jsx("div",{className:"new-session-guide__main",children:a.jsx(Gg,{startupPresets:d,builtinActions:p,onApplyStarter:n})})]})}const Xg=e=>e.filter(s=>s.type==="text").map(s=>s.text.trim()).filter(Boolean).join(`
|
|
7
|
-
`),Jg=e=>({hasImages:e.some(t=>t.type==="image"),hasReferences:e.some(t=>t.type==="file")}),Zg=(e,t,s)=>{if(t===s)return e;const i=[...e],n=i.indexOf(t),r=i.indexOf(s);return n===-1||r===-1?e:(i.splice(n,1),i.splice(r,0,t),i)};function cc({mode:e,items:t,onMove:s,onDelete:i,onEdit:n,onReorder:r}){const{t:o}=Z(),[l,c]=m.useState(null),h=o(e==="next"?"chat.queue.nextTitle":"chat.queue.steerTitle"),u=o("chat.queue.count",{count:t.length});if(t.length===0)return null;const d=e==="next"?"steer":"next";return a.jsx(mr,{className:"queued-messages-card",summaryClassName:"queued-messages-card__summary",bodyClassName:"queued-messages-card__body",narrow:!0,summary:a.jsxs("div",{className:"queued-messages-card__headline",children:[a.jsx("span",{className:"material-symbols-rounded queued-messages-card__headline-icon",children:e==="next"?"pending":"schedule"}),a.jsxs("div",{className:"queued-messages-card__headline-copy",children:[a.jsx("div",{className:"queued-messages-card__headline-title",children:h}),a.jsx("div",{className:"queued-messages-card__headline-meta",children:u})]})]}),children:a.jsx("div",{className:"queued-messages-card__list",children:t.map(p=>{const f=Xg(p.content),{hasImages:_,hasReferences:g}=Jg(p.content);return a.jsxs("div",{className:"queued-messages-card__item",draggable:!0,onDragStart:()=>c(p.id),onDragEnd:()=>c(null),onDragOver:v=>{v.preventDefault()},onDrop:v=>{if(v.preventDefault(),l==null)return;const b=Zg(t.map(x=>x.id),l,p.id);c(null),r(b)},children:[a.jsxs("div",{className:"queued-messages-card__item-main",children:[a.jsx("span",{className:"queued-messages-card__drag material-symbols-rounded","aria-hidden":"true",children:"drag_indicator"}),a.jsx("div",{className:"queued-messages-card__item-copy",children:a.jsxs("div",{className:"queued-messages-card__item-summary",children:[(_||g)&&a.jsxs("div",{className:"queued-messages-card__flags",children:[_&&a.jsx("span",{className:"queued-messages-card__flag",title:o("chat.queue.hasImage"),children:a.jsx("span",{className:"material-symbols-rounded",children:"image"})}),g&&a.jsx("span",{className:"queued-messages-card__flag",title:o("chat.queue.hasReference"),children:a.jsx("span",{className:"material-symbols-rounded",children:"attach_file"})})]}),a.jsx("div",{className:"queued-messages-card__item-text",children:f!==""?f:o("chat.queue.attachmentsOnly")})]})})]}),a.jsxs("div",{className:"queued-messages-card__actions",children:[a.jsx("button",{type:"button",className:"queued-messages-card__action queued-messages-card__action--move",onClick:()=>void s(p,d),title:o(d==="next"?"chat.queue.moveToNext":"chat.queue.moveToSteer"),"aria-label":o(d==="next"?"chat.queue.moveToNext":"chat.queue.moveToSteer"),children:a.jsx("span",{className:"material-symbols-rounded",children:"swap_horiz"})}),a.jsx("button",{type:"button",className:"queued-messages-card__action queued-messages-card__action--edit",onClick:()=>void n(p),children:a.jsx("span",{className:"material-symbols-rounded",children:"edit"})}),a.jsx("button",{type:"button",className:"queued-messages-card__action queued-messages-card__action--delete",onClick:()=>void i(p),children:a.jsx("span",{className:"material-symbols-rounded",children:"delete"})})]})]},p.id)})})})}function Zd({marks:e}){return(e==null?void 0:e.pinned)!==!0&&(e==null?void 0:e.starred)!==!0?null:a.jsxs("span",{className:"chat-history-timeline-marks","aria-hidden":"true",children:[e.pinned===!0&&a.jsx(gt,{name:"push_pin",className:"chat-history-timeline-marks__icon"}),e.starred===!0&&a.jsx(gt,{filled:!0,name:"star",className:"chat-history-timeline-marks__icon"})]})}const Oa=e=>{var s;const t=(s=e.info.status)==null?void 0:s.state;if(!(t==null||t==="complete"))return`is-status-${t}`},Qd=e=>{var i;const t=e.title??e.messageId,s=(i=e.info.status)==null?void 0:i.label;return s==null||s.length===0?t:`${t}, ${s}`},Qg={answer:"A",question:"Q"};function ev({active:e,multiline:t,node:s,onSelectNode:i,registerElement:n,selected:r}){var l,c;const o=Oa(s);return a.jsxs("button",{ref:h=>n(s.id,h),type:"button",className:["chat-history-branch-graph-item",t?"has-message-preview":"",r?"is-selected":"",e?"is-active-path":"is-side-path",o].filter(Boolean).join(" "),style:{gridColumn:1},onClick:()=>i==null?void 0:i(s.id,{node:s,source:"graph"}),children:[a.jsxs("span",{className:"chat-history-branch-graph-item__meta",children:[a.jsx("span",{children:s.timestamp??s.messageId}),a.jsx("span",{children:Qg[s.info.kind]}),a.jsx("span",{children:s.info.graph.branchId}),(s.info.graph.forkCount??0)>0&&a.jsxs("span",{className:"chat-history-branch-graph-item__fork",children:[a.jsx(gt,{name:"call_split",className:"chat-history-branch-graph-item__fork-icon"}),s.info.graph.forkCount]}),a.jsx(Zd,{marks:s.info.marks}),o!=null&&a.jsx("span",{className:["chat-history-branch-graph-item__status",o].join(" "),children:((l=s.info.status)==null?void 0:l.label)??((c=s.info.status)==null?void 0:c.state)})]}),a.jsx("span",{className:"chat-history-branch-graph-item__title",children:s.title??s.messageId}),t&&a.jsx("span",{className:"chat-history-branch-graph-item__message",children:s.description})]})}const No=24,$n=2,Fa=48,eu=10,tv=Fa+eu,tu=Fa/2,su=e=>new Map(e.map(t=>[t.id,t])),iu=e=>Math.max(1,...e.map(t=>t.info.graph.lane+1)),sv=e=>e.flatMap(t=>t.info.graph.childIds.map(s=>({from:t.id,to:s}))),iv=(e,t)=>e.info.graph.lane-t.info.graph.lane,nv=(e,t)=>{const s=new Map;for(const i of e){const n=s.get(i.info.graph.depth)??[];n.push(i),s.set(i.info.graph.depth,n)}return Array.from(s.entries()).sort(([i],[n])=>i-n).map(([i,n])=>({depth:i,key:String(i),nodes:n.sort(iv)}))},Wa=(e,t)=>{const s=su(e),i=e.find(h=>h.info.graph.parentId==null&&h.info.graph.isOnActivePath)??e[0],n=t==null?i:s.get(t)??i;if(n==null)return[];const r=[],o=new Set;let l=n;for(;l!=null&&!o.has(l.id);)r.unshift(l),o.add(l.id),l=l.info.graph.parentId==null?void 0:s.get(l.info.graph.parentId);let c=n;for(;c.info.graph.activeChildId!=null;){const h=s.get(c.info.graph.activeChildId);if(h==null||o.has(h.id))break;r.push(h),o.add(h.id),c=h}return r},rv=(e,t,s,i)=>({x:(s-e.info.graph.lane-.5)*No,y:(i==null?void 0:i.get(e.id))??t*tv+tu}),ov=(e,t,s,i)=>{const n=su(e),r=iu(e),o=new Map(e.map((l,c)=>[l.id,rv(l,(t==null?void 0:t.get(l.id))??c,r,i)]));return sv(e).flatMap(l=>{const c=n.get(l.from),h=n.get(l.to),u=o.get(l.from),d=o.get(l.to);if(u==null||d==null||c==null||h==null)return[];const p=Math.abs(u.x-d.x),f=u.y+(d.y-u.y)/2,_=p===0?`M ${u.x} ${u.y+$n} L ${d.x} ${d.y-$n}`:`M ${u.x} ${u.y+$n} C ${u.x} ${f}, ${d.x} ${f}, ${d.x} ${d.y-$n}`;return[{active:s==null?c.info.graph.isOnActivePath&&h.info.graph.isOnActivePath:s.has(c.id)&&s.has(h.id),d:_,key:`${l.from}-${l.to}`}]})},av=78,lv=52,nu=e=>{var t;return((t=e==null?void 0:e.description)==null?void 0:t.includes(`
|
|
8
|
-
`))??!1},cv=(e,t)=>{let s=0;return e.map(i=>{var c;const n=t.get(i.depth),r=nu(n),o=r?av:((c=n==null?void 0:n.info.status)==null?void 0:c.label)!=null?lv:Fa,l={centerY:s+o/2,contentHeight:o,multiline:r,spanHeight:o+eu};return s+=l.spanHeight,l})},hv=(e,t)=>new Map(e.flatMap((s,i)=>s.nodes.map(n=>{var r;return[n.id,((r=t[i])==null?void 0:r.centerY)??tu]}))),hc=(e,t,s)=>{if(s==null){e.delete(t);return}e.set(t,s)};function dv(e){const t=m.useRef(null),s=m.useRef(new Map),i=m.useRef(new Map),n=m.useCallback((o,l)=>{hc(s.current,o,l)},[]),r=m.useCallback((o,l)=>{hc(i.current,o,l)},[]);return m.useEffect(()=>{if(e==null)return;const o=t.current,l=s.current.get(e)??i.current.get(e);if(o==null||l==null)return;const c=o.getBoundingClientRect(),h=l.getBoundingClientRect(),u=o.scrollTop+h.top+h.height/2-(c.top+c.height/2),d=window.matchMedia("(prefers-reduced-motion: reduce)").matches;o.scrollTo({top:Math.max(0,u),behavior:d?"auto":"smooth"})},[e]),{bodyElementRef:t,registerItemElement:n,registerNodeElement:r}}const uv={answer:"is-answer",question:"is-question"};function mv({activeNodeIds:e,className:t,itemNodes:s,nodes:i,onSelectNode:n,pathNodes:r,selectedNodeId:o}){const{bodyElementRef:l,registerItemElement:c,registerNodeElement:h}=dv(o),u=m.useMemo(()=>r??Wa(i,o),[i,r,o]),d=m.useMemo(()=>nv(i),[i]),p=m.useMemo(()=>Array.from(new Map(d.flatMap(R=>R.nodes).map(R=>[R.id,R])).values()),[d]),f=m.useMemo(()=>e??new Set(u.map(R=>R.id)),[e,u]),_=s??u,g=m.useMemo(()=>new Map(_.map(R=>[R.info.graph.depth,R])),[_]),v=m.useMemo(()=>cv(d,g),[g,d]),b=m.useMemo(()=>new Map(d.flatMap((R,O)=>R.nodes.map(k=>[k.id,O]))),[d]),x=m.useMemo(()=>hv(d,v),[d,v]),P=m.useMemo(()=>ov(p,b,f,x),[f,x,p,b]),y=m.useMemo(()=>iu(p),[p]),S=y*No,T=v.reduce((R,O)=>R+O.spanHeight,0),j={gridTemplateColumns:`minmax(0, 1fr) repeat(${y}, ${No}px)`},I=["chat-history-branch-graph",t].filter(Boolean).join(" ");return a.jsx("section",{className:I,"aria-label":"Chat history branch graph",children:a.jsxs("div",{ref:l,className:"chat-history-branch-graph__body",children:[a.jsx("svg",{className:"chat-history-branch-graph__links",width:S,height:T,viewBox:`0 0 ${S} ${T}`,"aria-hidden":"true",children:P.map(R=>a.jsx("path",{className:R.active?"is-active":"is-side",d:R.d,fill:"none"},R.key))}),a.jsx("div",{className:"chat-history-branch-graph__rows",children:d.map((R,O)=>{var w;const k=g.get(R.depth),N={...j,"--chat-history-branch-graph-row-min-height":`${(w=v[O])==null?void 0:w.contentHeight}px`},C=nu(k);return a.jsxs("div",{className:["chat-history-branch-graph__row",R.nodes.some(M=>f.has(M.id))?"is-active-path":"is-side-path"].join(" "),style:N,children:[R.nodes.map(M=>a.jsx("div",{className:"chat-history-branch-graph__node-cell",style:{gridColumn:y-M.info.graph.lane+1},children:a.jsx("button",{ref:E=>h(M.id,E),type:"button",className:["chat-history-branch-graph__node",o===M.id?"is-selected":"",uv[M.info.kind],(M.info.graph.forkCount??0)>0?"has-fork":"",Oa(M)].filter(Boolean).join(" "),"aria-label":Qd(M),onClick:()=>n==null?void 0:n(M.id,{node:M,source:"graph"}),children:a.jsx("span",{})})},M.id)),k!=null&&a.jsx(ev,{active:f.has(k.id),multiline:C,node:k,onSelectNode:n,registerElement:c,selected:o===k.id})]},R.key)})})]})})}function fv({entry:e,getNodePreview:t,onSelectNode:s,registerMarkerElement:i,selectedNodeId:n}){if(e.kind==="ellipsis"){const d=e.firstHiddenEntry.node,p=a.jsx("button",{type:"button",className:"chat-history-timeline-rail__marker is-ellipsis","aria-label":`${e.hiddenCount} hidden timeline nodes, jump to ${d.title??d.messageId}`,onClick:()=>s==null?void 0:s(d.id,{node:d,source:"rail"}),children:a.jsx("span",{className:"chat-history-timeline-rail__ellipsis-dot","aria-hidden":"true"})});return a.jsx(ze,{title:`Jump to ${d.title??d.messageId}`,placement:"left",mouseEnterDelay:.2,classNames:{root:"chat-history-timeline-rail-tooltip"},children:p})}const{index:r,label:o,node:l}=e,c=l.info.graph.forkCount??0,h=t==null?void 0:t({index:r,label:o,node:l}),u=a.jsxs("button",{type:"button",ref:i(l.id),className:["chat-history-timeline-rail__marker",l.id===n?"is-selected":"",l.info.kind==="question"?"is-question":"is-answer",c>0?"has-fork":"",Oa(l)].filter(Boolean).join(" "),"aria-label":Qd(l),onClick:()=>s==null?void 0:s(l.id,{node:l,source:"rail"}),children:[a.jsx("span",{className:"chat-history-timeline-rail__marker-dot"}),c>0&&a.jsx("span",{className:"chat-history-timeline-rail__fork-count",children:c})]});return h==null?u:a.jsx(ze,{title:h,placement:"left",mouseEnterDelay:.2,classNames:{root:"chat-history-timeline-rail-tooltip"},children:u})}const pv=10,Qs=5,_v=(e,t)=>Math.min(e,Math.max(Qs,Math.floor(t*Qs/(Qs+1)))),gv=e=>e.info.status!=null&&e.info.status.state!=="complete",vv=e=>{var t,s;return((t=e.info.marks)==null?void 0:t.pinned)===!0||((s=e.info.marks)==null?void 0:s.starred)===!0},bv=(e,t,s)=>e.index===0||e.index===t?1e3:e.index===s?900:s>=0&&Math.abs(e.index-s)===1?800:(e.node.info.graph.forkCount??0)>0?700:gv(e.node)?650:vv(e.node)?600:0,yv=(e,t,s)=>{if(s<=e.size)return;const i=s-e.size,n=Math.max(1,Math.floor(i/Qs)),r=Math.floor(Qs/2);for(let o=0;o<n&&e.size<s;o+=1){const l=Math.round((o+1)*t/(n+1));for(let c=-r;c<=r&&e.size<s;c+=1)e.add(Math.min(t,Math.max(0,l+c)))}},wv=(e,t)=>{let s=!0;for(;s;){s=!1;const i=Array.from(e).sort((r,o)=>r-o);let n=0;for(;n<i.length;){const r=i[n];let o=r;for(;n+1<i.length&&i[n+1]===o+1;)n+=1,o=i[n];const l=o-r+1;r>0&&o<t&&l<Qs&&(r>1&&(e.add(r-1),s=!0),o<t-1&&o-r+1<Qs&&(e.add(o+1),s=!0)),n+=1}}},Sv=(e,t,s)=>{if(e.length<=s)return e;const i=e.length-1,n=e.findIndex(({node:h})=>h.id===t),r=_v(e.length,s),o=new Set;e.map(h=>({entry:h,score:bv(h,i,n)})).filter(({score:h})=>h>0).sort((h,u)=>u.score!==h.score?u.score-h.score:n>=0?Math.abs(h.entry.index-n)-Math.abs(u.entry.index-n):h.entry.index-u.entry.index).slice(0,r).forEach(({entry:h})=>o.add(h.index)),o.add(0),o.add(i),yv(o,i,r),wv(o,i);const l=[];let c=0;for(;c<e.length;){if(o.has(c)){l.push(e[c]),c+=1;continue}const h=c;for(;c<e.length&&!o.has(c);)c+=1;const u=e.slice(h,c);if(u.length===1){l.push(u[0]);continue}l.push({firstHiddenEntry:u[0],hiddenCount:u.length,key:`hidden-${u[0].node.id}-${u[u.length-1].node.id}`,kind:"ellipsis"})}return l},kv=36,xv=({bodyHeight:e,minimumThreshold:t,paddingBottom:s,paddingTop:i})=>{const n=Math.max(0,e-i-s);return Math.max(t,Math.floor(n/kv))};function Cv({bodyElementRef:e,minimumThreshold:t}){const[s,i]=m.useState(t);return m.useLayoutEffect(()=>{const n=()=>{const l=e.current;if(l==null){i(t);return}const c=window.getComputedStyle(l),h=xv({bodyHeight:l.clientHeight,minimumThreshold:t,paddingBottom:Number.parseFloat(c.paddingBottom)||0,paddingTop:Number.parseFloat(c.paddingTop)||0});i(u=>u===h?u:h)};n();const r=e.current,o=typeof ResizeObserver>"u"?null:new ResizeObserver(n);return r!=null&&(o==null||o.observe(r)),window.addEventListener("resize",n),()=>{o==null||o.disconnect(),window.removeEventListener("resize",n)}},[e,t]),s}function Nv({bodyElementRef:e,layoutKey:t,selectedMarkerNodeId:s}){const i=m.useRef(new Map),[n,r]=m.useState(null),o=m.useCallback(c=>h=>{if(h==null){i.current.delete(c);return}i.current.set(c,h)},[]);m.useLayoutEffect(()=>{const c=()=>{const p=e.current,f=s==null?null:i.current.get(s);if(p==null||f==null){r(null);return}const _=p.getBoundingClientRect(),g=f.getBoundingClientRect(),v=window.getComputedStyle(f),b=v.getPropertyValue("--chat-history-timeline-marker-active-color").trim()||v.color,x=g.top+g.height/2-_.top;r(P=>P!=null&&Math.abs(P.top-x)<.5&&P.color===b?P:{color:b,top:x})};c();const h=e.current,u=s==null?null:i.current.get(s),d=typeof ResizeObserver>"u"?null:new ResizeObserver(c);return h!=null&&(d==null||d.observe(h)),u!=null&&(d==null||d.observe(u)),()=>{d==null||d.disconnect()}},[t,s]);const l=n==null?void 0:{"--chat-history-timeline-rail-cursor-color":n.color,top:`${n.top}px`};return{registerMarkerElement:o,selectionCursorStyle:l,selectionCursorVisible:n!=null}}const Tv=e=>{var t;return e.info.graph.isOnActivePath&&(((t=e.info.rail)==null?void 0:t.marker)??!0)},Ev={answer:"A",question:"Q"};function Mv({activeBranchLabel:e="main",className:t,collapseThreshold:s=pv,footerAction:i,getNodePreview:n,markerFilter:r=Tv,nodes:o,onSelectNode:l,selectedNodeId:c,showHeader:h=!1,showSelectionPreview:u=!1,topAction:d}){const p=m.useRef(null),f=Cv({bodyElementRef:p,minimumThreshold:s}),_=o.filter(r),g={answer:0,question:0},v=_.map((R,O)=>{const k=g[R.info.kind]+1;return g[R.info.kind]=k,{index:O,kind:"marker",label:R.label??`${Ev[R.info.kind]}${k}`,node:R}}),b=Sv(v,c,f),x=o.find(R=>R.id===c)??_[0]??o[0],P=_.some(R=>R.id===(x==null?void 0:x.id))?x==null?void 0:x.id:void 0,y=b.map(R=>R.kind==="ellipsis"?R.key:R.node.id).join("|"),{registerMarkerElement:S,selectionCursorStyle:T,selectionCursorVisible:j}=Nv({bodyElementRef:p,layoutKey:y,selectedMarkerNodeId:P}),I=["chat-history-timeline-rail",i!=null?"has-footer-action":"",d!=null?"has-top-action":"",t].filter(Boolean).join(" ");return a.jsxs("nav",{className:I,"aria-label":"Chat history timeline",children:[h&&a.jsxs("header",{className:"chat-history-timeline-rail__header",children:[a.jsxs("span",{className:"chat-history-timeline-rail__title",children:[a.jsx(gt,{name:"schedule",className:"chat-history-timeline-rail__title-icon"}),a.jsx("span",{children:"Timeline"})]}),a.jsx("span",{className:"chat-history-timeline-rail__branch",children:e})]}),d!=null&&a.jsx("div",{className:"chat-history-timeline-rail__top-action",children:d}),a.jsxs("div",{ref:p,className:"chat-history-timeline-rail__body",children:[a.jsx("div",{className:"chat-history-timeline-rail__track"}),a.jsx("span",{className:["chat-history-timeline-rail__selection-cursor",j?"is-visible":""].filter(Boolean).join(" "),style:T,"aria-hidden":"true"}),b.map(R=>a.jsx(fv,{entry:R,getNodePreview:n,onSelectNode:l,registerMarkerElement:S,selectedNodeId:x==null?void 0:x.id},R.kind==="ellipsis"?R.key:R.node.id))]}),i!=null&&a.jsx("div",{className:"chat-history-timeline-rail__footer-action",children:i}),u&&x!=null&&a.jsxs("footer",{className:"chat-history-timeline-rail__selection",children:[a.jsx("span",{className:"chat-history-timeline-rail__selection-time",children:x.timestamp??x.messageId}),a.jsx("strong",{children:x.title??x.messageId}),a.jsx("span",{children:x.info.graph.branchId}),a.jsx(Zd,{marks:x.info.marks})]})]})}const Pv=(e,t)=>{var s,i;return((s=e.find(n=>n.id===t))==null?void 0:s.info.graph.branchId)??((i=e.at(-1))==null?void 0:i.info.graph.branchId)??"main"},Rv={collapse:"Collapse graph mode",expand:"Expand graph mode"};function jv({activeBranchLabel:e,activeNodeIds:t,branchGraphClassName:s,className:i,collapseThreshold:n,defaultGraphExpanded:r=!1,getNodePreview:o,graphAction:l,graphExpanded:c,graphToggleLabels:h=Rv,markerFilter:u,nodes:d,onGraphExpandedChange:p,onSelectNode:f,pathNodes:_,railClassName:g,selectedNodeId:v,showGraphToggle:b=!0}){const[x,P]=m.useState(r),y=c??x,S=m.useMemo(()=>_??Wa(d,v),[d,_,v]),T=m.useMemo(()=>t??new Set(S.map(N=>N.id)),[t,S]),j=e??Pv(S,v),I=m.useMemo(()=>u??(N=>{var C;return T.has(N.id)&&(((C=N.info.rail)==null?void 0:C.marker)??!0)}),[u,T]),R=m.useCallback(N=>{c==null&&P(N),p==null||p(N)},[c,p]),O=b?a.jsx("button",{type:"button",className:["chat-history-timeline-view__graph-action",y?"is-expanded":""].filter(Boolean).join(" "),"aria-label":y?h.collapse:h.expand,"aria-expanded":y,title:y?h.collapse:h.expand,onClick:()=>R(!y),children:a.jsx(gt,{name:"account_tree",className:"chat-history-timeline-view__graph-action-icon"})}):void 0,k=["chat-history-timeline-view",y?"is-graph-expanded":"",i].filter(Boolean).join(" ");return a.jsxs("div",{className:k,children:[a.jsx("div",{className:"chat-history-timeline-view__graph-drawer","aria-hidden":!y,children:a.jsx(mv,{className:["chat-history-timeline-view__branch-graph",s].filter(Boolean).join(" "),nodes:d,activeNodeIds:T,pathNodes:S,selectedNodeId:v,onSelectNode:f})}),a.jsx(Mv,{className:["chat-history-timeline-view__rail",g].filter(Boolean).join(" "),activeBranchLabel:j,collapseThreshold:n,topAction:l??O,nodes:d,markerFilter:I,selectedNodeId:v,getNodePreview:o,onSelectNode:f})]})}const Iv=88,Dv=220,ru=(e,t)=>e.length<=t?e:`${e.slice(0,Math.max(0,t-3)).trimEnd()}...`,Lv=e=>e.replace(/\s+/g," ").trim(),ou=e=>e.split(/\r?\n/).map(t=>Lv(t)).filter(Boolean).slice(0,3).join(`
|
|
9
|
-
`),Av=e=>e.type==="text"?e.text:e.type==="image"?e.name??"Image":e.type==="file"?e.name??e.path:"",au=e=>typeof e=="string"?e:e.map(Av).filter(Boolean).join(`
|
|
10
|
-
`),Bv=e=>{const s=ou(au(e.message.content)).split(`
|
|
11
|
-
`).find(Boolean),i=e.originalMessage.role==="assistant"?"Assistant reply":"User message";return ru(s??i,Iv)},Ov=(e,t)=>{const s=ou(au(e.message.content));if(!(s===""||s===t))return ru(s,Dv)},Fv=e=>{if(!Number.isFinite(e))return;const t=new Date(e);if(!Number.isNaN(t.getTime()))return new Intl.DateTimeFormat(void 0,{hour:"2-digit",hour12:!1,minute:"2-digit"}).format(t)},Wv="main",$v=e=>e.type==="message",Hv=e=>{const t=e.items.filter($v),s=t.filter(n=>n.originalMessage.role==="user"),i=[...t].reverse().find(n=>n.originalMessage.role==="assistant");return s.length===0?i==null?[]:[i]:i==null||s.some(n=>n.anchorId===i.anchorId)?s:[...s,i]},Kv=(e,t)=>{if(t!=null)return t},zv=({interactionKind:e,labels:t,sessionStatus:s})=>{if(s==="running")return{label:t==null?void 0:t.running,state:"running"};if(s==="waiting_input")return e==="permission"?{label:t==null?void 0:t.permission,state:"permission"}:{label:t==null?void 0:t.waiting,state:"ask-user"};if(s==="failed")return{label:t==null?void 0:t.failed,state:"error"};if(s==="terminated")return{label:t==null?void 0:t.terminated,state:"complete"}},Uv=({activeBranchLabel:e=Wv,currentStatus:t,getForkCount:s,turns:i})=>{var l;const n=new Set,r=[];for(const c of i)for(const h of Hv(c)){if(n.has(h.anchorId))continue;n.add(h.anchorId);const u=Bv(h),d=s==null?void 0:s(h.originalMessage.id);r.push({description:Ov(h,u),forkCount:d!=null&&d>1?d:void 0,item:h,kind:h.originalMessage.role==="assistant"?"answer":"question",title:u})}const o=r.map((c,h)=>{const u=r[h-1],d=r[h+1],f=h===r.length-1?Kv(void 0,t):void 0;return{description:c.description,id:c.item.anchorId,info:{graph:{activeChildId:d==null?void 0:d.item.anchorId,branchId:e,childIds:d==null?[]:[d.item.anchorId],depth:h,forkCount:c.forkCount,isOnActivePath:!0,lane:0,parentId:u==null?void 0:u.item.anchorId,siblingCount:1,siblingIndex:0},kind:c.kind,rail:{marker:!0},status:f},messageId:c.item.originalMessage.id,timestamp:Fv(c.item.originalMessage.createdAt),title:c.title}});return{anchorIdByNodeId:new Map(o.map(c=>[c.id,c.id])),initialNodeId:(l=o.at(-1))==null?void 0:l.id,nodes:o}},qv=(e,t)=>{var s;return t!=null&&e.some(i=>i.id===t)?t:((s=e[0])==null?void 0:s.id)??""};function Vv({defaultGraphExpanded:e=!1,graphExpanded:t,initialNodeId:s,nodes:i,onGraphExpandedChange:n,onSelectedNodeIdChange:r,selectedNodeId:o}){const l=qv(i,s),[c,h]=m.useState(l),[u,d]=m.useState(l),[p,f]=m.useState(null),[_,g]=m.useState(e),v=o??c,b=t??_,x=m.useMemo(()=>new Set(i.map(k=>k.id)),[i]);m.useEffect(()=>{if(l===""){o==null&&h(""),d("");return}o==null&&!x.has(c)&&h(l),x.has(u)||d(l)},[l,x,u,o,c]);const P=m.useMemo(()=>Wa(i,u||v),[i,u,v]),y=m.useMemo(()=>new Set(P.map(k=>k.id)),[P]),S=m.useMemo(()=>new Set(P.filter(k=>{var N;return((N=k.info.rail)==null?void 0:N.marker)??!0}).map(k=>k.id)),[P]),T=m.useCallback(k=>{t==null&&g(k),n==null||n(k)},[t,n]),j=m.useCallback(k=>{o==null&&h(k),r==null||r(k)},[r,o]),I=m.useCallback(k=>{j(k),f(k)},[j]),R=m.useCallback((k,N)=>{N.source==="graph"&&!y.has(k)&&d(k),I(k)},[y,I]),O=m.useCallback(k=>{j(k)},[j]);return{activeNodeIds:y,activePathNodes:P,graphExpanded:b,pathAnchorNodeId:u,scrollSpyNodeIds:S,scrollTargetNodeId:p,selectNode:I,selectTimelineNode:R,selectedNodeId:v,setActiveNodeFromScroll:O,setGraphExpanded:T,setPathAnchorNodeId:d}}const dc=new Set(["childSessionId","interactionId","runtimeRequestKind"]);function lu({request:e}){const{t}=Z(),s=e.context.filter(r=>dc.has(r.key)),i=e.context.filter(r=>!dc.has(r.key)),n=[e.memberLabel,e.runTitle].filter(Boolean).join(" / ");return a.jsxs("section",{className:"agent-room-child-request-card",children:[a.jsxs("div",{className:"agent-room-child-request-card__header",children:[a.jsx("span",{className:"material-symbols-rounded agent-room-child-request-card__icon","aria-hidden":"true",children:"assignment_late"}),a.jsxs("div",{className:"agent-room-child-request-card__title-block",children:[a.jsx("div",{className:"agent-room-child-request-card__title",children:t("chat.agentRoomChildRequest.title")}),n!==""&&a.jsx("div",{className:"agent-room-child-request-card__target",children:n})]})]}),a.jsxs("div",{className:"agent-room-child-request-card__request",children:[a.jsx("div",{className:"agent-room-child-request-card__label",children:t("chat.agentRoomChildRequest.request")}),a.jsx(Ts,{content:e.request})]}),e.options.length>0&&a.jsxs("div",{className:"agent-room-child-request-card__section",children:[a.jsx("div",{className:"agent-room-child-request-card__label",children:t("chat.agentRoomChildRequest.options")}),a.jsx("div",{className:"agent-room-child-request-card__options",children:e.options.map(r=>a.jsxs("div",{className:"agent-room-child-request-card__option",children:[a.jsx("span",{className:"agent-room-child-request-card__option-label",children:r.label}),r.value!=null&&a.jsx("code",{children:r.value}),r.description!=null&&a.jsx("span",{className:"agent-room-child-request-card__option-description",children:r.description})]},`${r.label}:${r.value??""}:${r.description??""}`))})]}),s.length>0&&a.jsx("dl",{className:"agent-room-child-request-card__context",children:s.map(r=>a.jsxs("div",{className:"agent-room-child-request-card__context-row",children:[a.jsx("dt",{children:r.key}),a.jsx("dd",{children:r.value})]},r.key))}),i.length>0&&a.jsxs("details",{className:"agent-room-child-request-card__details",children:[a.jsx("summary",{children:t("chat.agentRoomChildRequest.moreContext")}),a.jsx("dl",{className:"agent-room-child-request-card__context agent-room-child-request-card__context--secondary",children:i.map(r=>a.jsxs("div",{className:"agent-room-child-request-card__context-row",children:[a.jsx("dt",{children:r.key}),a.jsx("dd",{children:r.value})]},r.key))})]})]})}function Cn({header:e,content:t,isError:s=!1,type:i="call",defaultExpanded:n=!1,collapsible:r=!0,variant:o="default",onDoubleClick:l}){const[c,h]=m.useState(n||!r),u=t!=null&&t!==!1,d=r&&u,p=u&&(!d||c),f=typeof e=="function"?e({isExpanded:p,isCollapsible:d}):e;return a.jsxs("div",{className:`tool-call-box tool-call-box--${o} ${i==="result"?"result":""} ${p?"expanded":"collapsed"}`,onDoubleClick:_=>{l&&(_.stopPropagation(),l(_))},children:[a.jsxs("div",{className:`tool-call-header ${i==="result"&&s?"error":""} ${d?"is-collapsible":"is-static"}`,"aria-expanded":d?p:void 0,onClick:()=>d&&h(!c),children:[a.jsx("div",{className:"tool-call-header-main",children:f}),d&&typeof e!="function"&&a.jsx("span",{className:`material-symbols-rounded expand-icon ${p?"is-expanded":""}`,children:"expand_more"})]}),u&&a.jsx("div",{className:`tool-call-body-shell ${p?"expanded":"collapsed"}`,"aria-hidden":!p,children:a.jsx("div",{className:"tool-call-body",children:t})})]})}function ds(e,t=new WeakSet){if(e==null)return e;const s=typeof e;if(s==="bigint"||s==="symbol")return e.toString();if(s==="function")return"[Function]";if(s!=="object")return e;if(e instanceof Date)return e.toISOString();if(e instanceof Error)return{name:e.name,message:e.message,stack:e.stack};if(e instanceof Map)return Array.from(e.entries()).map(([r,o])=>[ds(r,t),ds(o,t)]);if(e instanceof Set)return Array.from(e.values()).map(r=>ds(r,t));if(ArrayBuffer.isView(e))return Array.from(e);if(e instanceof ArrayBuffer)return Array.from(new Uint8Array(e));if(Array.isArray(e))return e.map(r=>ds(r,t));const i=e;if(t.has(i))return"[Circular]";if(t.add(i),typeof i.toJSON=="function")try{return ds(i.toJSON(),t)}catch{return String(i)}const n={};for(const[r,o]of Object.entries(i))n[r]=ds(o,t);return n}function Er(e,t=2){try{const s=ds(e);return JSON.stringify(s,null,t)??"null"}catch{return JSON.stringify(String(e))??"null"}}const ni={mouseEnterDelay:.2,mouseLeaveDelay:.06},Gv=["apps","packages","src","scripts",".oo","docs","tests","test","changelog"],Yv=/^[a-z]:[\\/]+/i,cu=/^https?:\/\//i,Xv={activeForm:"description",addBlockedBy:"link_off",addBlocks:"block",allowedDomains:"travel_explore",allowedPrompts:"chat",answers:"fact_check",args:"segment",blockedDomains:"domain_disabled",cellId:"tag",cellType:"grid_view",command:"terminal",content:"notes",contextLines:"format_line_spacing",cwd:"folder_open",changes:"difference",description:"subject",disableSandbox:"shield",details:"info",endLine:"keyboard_double_arrow_down",editMode:"edit",glob:"data_object",ignore:"visibility_off",ignoreCase:"text_fields",limit:"filter_alt",maxTurns:"repeat",maxOutputTokens:"expand_content",metadata:"badge",model:"neurology",mode:"tune",newSource:"note_stack",newString:"edit_note",oldString:"history",owner:"person",offset:"format_indent_increase",path:"folder",prompt:"chat",pushToRemote:"upload",questions:"quiz",remoteSession:"devices",remoteSessionUrl:"link",replaceAll:"select_all",resume:"play_circle",runInBackground:"background_dot_large",startLine:"keyboard_double_arrow_up",status:"flag",subagentType:"hub",subject:"title",timeout:"timer",todos:"checklist",workdir:"folder_code",yieldTimeMs:"schedule"},Jv={code:"code",inline:"label",json:"data_object",list:"format_list_bulleted",questions:"quiz",text:"article"},Zv=e=>"tune",Mr=(e,t)=>{const s=e.split(".").pop()??e;return Xv[s]??Jv[t]??"label"},hu=e=>typeof e=="string"?e:typeof e=="number"||typeof e=="boolean"?String(e):Er(e,2),du=e=>hu(e).replace(/\s+/g," ").trim(),Qv=e=>e==null||e===""?!1:e.startsWith("/")||e.startsWith("./")||e.startsWith("../")||e.startsWith("http://")||e.startsWith("https://")||e.startsWith("#")||e.includes("/"),$a=e=>e.replace(/\\/g,"/"),eb=e=>{if(cu.test(e))return!1;const t=$a(e);return t.startsWith("/")||t.startsWith("./")||t.startsWith("../")||Yv.test(e)?!0:t.includes("/")?!t.includes(" "):!1},tb=e=>{const t=$a(e);return t.split("/").filter(Boolean).at(-1)??t},sb=e=>{const t=$a(e),s=t.split("/").filter(Boolean),i=s.findIndex(n=>Gv.includes(n));return i>=0?s.slice(i).join("/"):t},Pr=e=>{if(e==null||e.trim()==="")return{text:void 0,title:void 0,monospace:!1};const t=e.trim();if(eb(t))return{text:tb(t),title:sb(t),monospace:!0};if(cu.test(t))try{const s=new URL(t);return{text:`${s.hostname}${s.pathname}${s.search}${s.hash}`,title:t,monospace:!1}}catch{return{text:t,title:t,monospace:!1}}return{text:t,title:void 0,monospace:Qv(t)}},uu=18,ib=96,nb=360,uc=()=>document.documentElement.classList.contains("dark")?"vs-dark":"vs",rb=(e,t)=>{const s=Math.max(e===""?1:e.split(`
|
|
12
|
-
`).length,t===""?1:t.split(`
|
|
13
|
-
`).length);return Math.min(nb,Math.max(ib,s*uu+28))},ob=e=>a.jsx("span",{className:"material-symbols-rounded",children:e==="split"?"splitscreen_right":"view_agenda"});function ab(){const[e,t]=m.useState(uc);return m.useEffect(()=>{const s=new MutationObserver(()=>{t(uc())});return s.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),()=>{s.disconnect()}},[]),e}function mu({original:e,modified:t,language:s,metaItems:i=[],splitLabel:n,inlineLabel:r}){const[o,l]=m.useState("split"),c=ab(),h=m.useMemo(()=>rb(e,t),[t,e]);return a.jsxs("div",{className:"tool-diff-viewer",children:[a.jsxs("div",{className:"tool-diff-viewer__toolbar",children:[a.jsxs("div",{className:"tool-diff-viewer__legend",children:[i.map(u=>a.jsxs("span",{className:`tool-diff-viewer__meta-item ${u.tone!=null?`tool-diff-viewer__meta-item--${u.tone}`:""}`,children:[u.icon!=null&&u.icon!==""&&a.jsx("span",{className:"material-symbols-rounded",children:u.icon}),a.jsx("span",{className:"tool-diff-viewer__meta-label",children:u.label}),u.value!=null&&u.value!==""&&a.jsx("span",{className:"tool-diff-viewer__meta-value",children:u.value})]},`${u.label}-${u.value??""}`)),s!=null&&s!==""&&a.jsx("span",{className:"tool-diff-viewer__lang",children:s})]}),a.jsx("div",{className:"tool-diff-viewer__mode-switch",role:"tablist","aria-label":"Diff view mode",children:["split","inline"].map(u=>{const d=u==="split"?n:r;return a.jsx(ze,{title:d,...ni,children:a.jsx("button",{type:"button",className:`tool-diff-viewer__mode-button ${o===u?"is-active":""}`,"aria-label":d,"aria-pressed":o===u,onClick:()=>l(u),children:ob(u)})},u)})})]}),a.jsx("div",{className:"tool-diff-viewer__editor",style:{height:`${h}px`},"aria-label":"tool diff viewer",children:a.jsx(Td,{original:e,modified:t,originalLanguage:s??"text",modifiedLanguage:s??"text",theme:c,loading:null,options:{automaticLayout:!0,contextmenu:!1,diffCodeLens:!1,fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",fontSize:12,glyphMargin:!1,hideUnchangedRegions:{enabled:!1},lineDecorationsWidth:8,lineHeight:uu,minimap:{enabled:!1},originalEditable:!1,overviewRulerBorder:!1,readOnly:!0,renderIndicators:!0,renderMarginRevertIcon:!1,renderOverviewRuler:!1,renderSideBySide:o==="split",scrollBeyondLastLine:!1,scrollbar:{alwaysConsumeMouseWheel:!1,useShadows:!1},wordWrap:"on"}})})]})}const fu=e=>{if(typeof e!="string")return e;const t=e.trim();if(t.startsWith("{")&&t.endsWith("}")||t.startsWith("[")&&t.endsWith("]"))try{return JSON.parse(t)}catch{return e}return e},lb=e=>{const t=typeof e.url=="string"?e.url:typeof e.src=="string"?e.src:typeof e.image_url=="string"?e.image_url:typeof e.imageUrl=="string"?e.imageUrl:typeof e.dataUrl=="string"?e.dataUrl:null;if(t!=null)return t;const s=e.source!=null&&typeof e.source=="object"?e.source:null,i=typeof e.data=="string"?e.data:typeof e.base64=="string"?e.base64:s!=null&&typeof s.data=="string"?s.data:null;return i==null||i===""?null:`data:${typeof e.mimeType=="string"?e.mimeType:typeof e.mime_type=="string"?e.mime_type:s!=null&&typeof s.media_type=="string"?s.media_type:s!=null&&typeof s.mimeType=="string"?s.mimeType:s!=null&&typeof s.mime_type=="string"?s.mime_type:"image/png"};base64,${i}`},eo=e=>{if(e==null||typeof e!="object")return null;const t=e,s=typeof t.type=="string"?t.type.toLowerCase():"";if(s==="text"||s==="markdown"||s==="md"){const n=typeof t.text=="string"?t.text:typeof t.content=="string"?t.content:null;if(n==null)return null;const r=typeof t.format=="string"?t.format.toLowerCase():"markdown";return{type:"text",text:n,format:s==="text"&&(r==="text"||r==="plain")?"text":"markdown"}}if(s!=="image")return null;const i=lb(t);return i==null?null:{type:"image",src:i,alt:typeof t.alt=="string"?t.alt:void 0,title:typeof t.title=="string"?t.title:void 0,width:typeof t.width=="number"?t.width:void 0,height:typeof t.height=="number"?t.height:void 0}},pu=e=>{const t=fu(ds(e));if(Array.isArray(t)){const i=t.map(eo);return i.every(Boolean)?i:null}if(t!=null&&typeof t=="object"){const i=t,n=i.content??i.items??i.blocks;if(Array.isArray(n)){const r=n.map(eo);return r.every(Boolean)?r:null}}const s=eo(t);return s!=null?[s]:null},_u=e=>{const t=fu(ds(e));return!Array.isArray(t)||!t.every(s=>["string","number","boolean"].includes(typeof s))?null:t.map(s=>String(s))},cb=e=>{const t=e.trim();return t===""?!1:t.startsWith("```")||/^(?:#{1,6}\s|[-*+]\s|>\s|\d+\.\s)/m.test(t)||/\[[^\]]+\]\([^)]+\)/.test(t)||/!\[[^\]]*\]\([^)]+\)/.test(t)||/\|.+\|/.test(t)};function Ha({content:e,preferMarkdown:t=!1}){const s=pu(e);if(s!=null)return a.jsx("div",{className:"tool-result-structured",children:s.map((n,r)=>n.type==="text"?a.jsx("div",{className:"tool-result-text",children:n.format==="markdown"?a.jsx(Ts,{content:n.text}):a.jsx("div",{className:"tool-result-text-content",children:n.text})},`text-${r}`):a.jsxs("div",{className:"tool-result-image-wrapper",children:[a.jsx("img",{className:"tool-result-image",src:n.src,alt:n.alt??"",width:n.width,height:n.height}),n.title!=null&&n.title!==""&&a.jsx("div",{className:"tool-result-image-caption",children:n.title})]},`image-${r}`))});const i=_u(e);return i!=null?a.jsx("div",{className:"tool-result-list",children:i.map(n=>a.jsx("div",{className:"tool-result-list-item",children:n},n))}):typeof e=="string"?e.startsWith("```")||t&&cb(e)?a.jsx(Ts,{content:e}):a.jsx(pn,{code:e,lang:"text"}):a.jsx(pn,{code:Er(e,2),lang:"json"})}function Nn({icon:e,title:t,target:s,targetTitle:i,meta:n,metaTitle:r,expanded:o=!1,collapsible:l=!1,targetMonospace:c=!1}){const h=s!=null&&s!=="",u=h?a.jsx("span",{className:`tool-summary-header__target ${c?"tool-summary-header__target--mono":""}`,children:s}):null;return a.jsxs("div",{className:"tool-summary-header",children:[a.jsxs("div",{className:"tool-summary-header__lead",children:[a.jsxs("span",{className:"tool-summary-header__action",children:[e!=null&&a.jsx("span",{className:"tool-summary-header__icon",children:e}),a.jsx("span",{className:"tool-summary-header__title",children:t})]}),h&&(i!=null&&i!==""?a.jsx(ze,{title:i,...ni,children:u}):u),l&&a.jsx("span",{className:`material-symbols-rounded tool-summary-header__toggle ${o?"is-expanded":""}`,children:"expand_more"})]}),n!=null&&a.jsx("span",{className:"tool-summary-header__meta",title:r,children:n})]})}const hb=/^[a-z]:[\\/]+/i,mc=new Set(["cwd","dir","directory","filePath","file_path","path","workdir"]),db=new Set(["command","content","input","newString","new_string","oldString","old_string","output","patch","stderr","stdout"]),ub=new Set(["changes","entries","files","items","matches","results","todos"]),ji=e=>e!=null&&typeof e=="object"&&!Array.isArray(e),Le=e=>typeof e=="string"&&e.trim()!==""?e:void 0,Yt=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0,hn=e=>typeof e=="boolean"?e:void 0,mb=e=>e.replace(/\\/g,"/"),Vs=e=>{const t=e!=null&&e!==""?e:"unknown file",s=mb(t),i=s.lastIndexOf("/"),n=i>=0?s.slice(i+1):s,r=i>=0?s.slice(0,i):"";return{filePath:s,fileName:n,dirPath:r}},gu=e=>{const t=e.split(".").pop(),s=t!=null&&t!==""?t.toLowerCase():"";return{css:"css",diff:"diff",html:"html",js:"javascript",json:"json",jsx:"jsx",md:"markdown",py:"python",scss:"scss",sh:"bash",sql:"sql",ts:"typescript",tsx:"tsx",yaml:"yaml",yml:"yaml"}[s]??"text"},vu=e=>e.replace(/[_:-]+/g," ").replace(/([a-z0-9])([A-Z])/g,"$1 $2").trim(),tr=e=>{if(e.startsWith("mcp__ChromeDevtools__"))return e.replace("mcp__ChromeDevtools__","");const t=e.includes("__")?e.split("__").filter(Boolean):[],s=t.length>0?t[t.length-1]:e.split(":").pop()??e;return vu(s)},bu=e=>tr(e).replace(/[^a-z0-9]+/gi,"").toLowerCase(),fb=e=>e.replace(/^[^a-z0-9]+/i,"").replace(/[_-]+([a-z0-9])/gi,(t,s)=>s.toUpperCase()),pb=e=>{const t=vu(e);return t===""?e:t.charAt(0).toUpperCase()+t.slice(1)},Ye=(e,t)=>({labelKey:`chat.tools.fields.${fb(e)}`,fallbackLabel:t??pb(e)}),qe=(e,t,s,i)=>{const{value:n}=i;n==null||n===""||Array.isArray(n)&&n.length===0||ji(n)&&Object.keys(n).length===0||(t.add(s),e.push(i))},_b=e=>e.startsWith("/")||e.startsWith("./")||e.startsWith("../")||hb.test(e)||e.includes("/")&&!e.includes(" "),_n=e=>{var t;return(t=e==null?void 0:e.split(`
|
|
14
|
-
`)[0])==null?void 0:t.trim()},yu=(e,t)=>db.has(e)||t.includes("*** Begin Patch")?!0:/[{}();=<>]|^diff --git/m.test(t),To=e=>e.every(t=>typeof t=="string"||typeof t=="number"||typeof t=="boolean"),wu=e=>{if(!Array.isArray(e))return;const t=e.flatMap(s=>{if(!ji(s))return[];const i=Le(s.kind)??"change",n=Le(s.path)??Le(s.file_path)??Le(s.filePath);return n==null?[]:[`${i} ${n}`]});return t.length>0?t:void 0},Eo=e=>{if(!Array.isArray(e))return;const t=e.flatMap(s=>{if(!ji(s))return[];const i=Le(s.title)??Le(s.content);if(i==null)return[];const n=Le(s.status);return[n!=null?`${n}: ${i}`:i]});return t.length>0?t:void 0},gb=e=>{const t=Array.from(e.matchAll(/^\*\*\* (?:(?:Add|Update|Delete) File|Move to): (.+)$/gm),s=>{var i;return(i=s[1])==null?void 0:i.trim()}).filter(s=>typeof s=="string"&&s!=="");return t.length>0?t:Array.from(e.matchAll(/^\+\+\+ b\/(.+)$/gm),s=>{var i;return(i=s[1])==null?void 0:i.trim()}).filter(s=>typeof s=="string"&&s!=="")},vb=e=>{const t=bu(e);return t==="applypatch"?{fallbackTitle:"Apply Patch",icon:"difference"}:t==="bash"||t==="execcommand"||t==="shell"?{titleKey:"chat.tools.bash",fallbackTitle:"Bash",icon:"terminal"}:t==="edit"||t==="editfile"||t==="strreplacefile"?{titleKey:"chat.tools.editTool",fallbackTitle:"Edit File",icon:"edit"}:t==="filechange"?{fallbackTitle:"File Change",icon:"difference"}:t==="glob"?{titleKey:"chat.tools.globTool",fallbackTitle:"Glob",icon:"search"}:t==="grep"?{titleKey:"chat.tools.grepTool",fallbackTitle:"Grep",icon:"find_in_page"}:t==="listdir"||t==="ls"?{titleKey:"chat.tools.lsTool",fallbackTitle:"List Directory",icon:"folder_open"}:t==="read"||t==="readfile"?{titleKey:"chat.tools.read",fallbackTitle:"Read File",icon:"visibility"}:t==="viewimage"?{fallbackTitle:"View Image",icon:"image"}:t==="settodolist"?{titleKey:"chat.tools.todo",fallbackTitle:"Task Planning",icon:"task_alt"}:t==="webfetch"||t==="fetchurl"?{titleKey:"chat.tools.webFetch",fallbackTitle:"Web Fetch",icon:"language"}:t==="websearch"||t==="searchweb"?{titleKey:"chat.tools.webSearch",fallbackTitle:"Web Search",icon:"travel_explore"}:t==="write"||t==="writefile"?{titleKey:"chat.tools.write",fallbackTitle:"Write File",icon:"edit_note"}:e.startsWith("mcp__")||e.includes(":mcp:")?{fallbackTitle:tr(e),icon:"extension"}:e.startsWith("plugin__")?{fallbackTitle:tr(e),icon:"extension"}:{fallbackTitle:tr(e),icon:"build"}},bb=e=>{const t=["file_path","filePath","path","url","query","pattern","command","selector","taskId","subject","title"];for(const s of t){const i=Le(e[s]);if(i!=null)return _n(i)}for(const s of Object.values(e))if(typeof s=="string"&&s.trim()!==""){const i=_n(s);if(i!=null&&i!==""&&!i.startsWith("*** Begin Patch"))return i}},yb=(e,t,s,i)=>{for(const[n,r]of Object.entries(s)){if(i.has(n)||r==null)continue;const o=Ye(n);if(typeof r=="string"){const l=r.trim();if(l==="")continue;if(!l.includes(`
|
|
15
|
-
`)&&l.length<=80){qe(t,i,n,{...o,format:"inline",value:l});continue}qe(e,i,n,{...o,format:yu(n,l)?"code":"text",value:l,lang:n==="patch"?"diff":void 0});continue}if(typeof r=="number"||typeof r=="boolean"){qe(t,i,n,{...o,format:"inline",value:r});continue}if(Array.isArray(r)){if(r.length===0)continue;const l=n==="changes"?wu(r):void 0;if(l!=null){qe(e,i,n,{...o,format:"list",value:l});continue}const c=n==="items"||n==="todos"?Eo(r):void 0;if(c!=null){qe(e,i,n,{...o,format:"list",value:c});continue}if(ub.has(n)&&To(r)){qe(e,i,n,{...o,format:"list",value:r.map(h=>String(h))});continue}qe(e,i,n,{...o,format:"json",value:r});continue}ji(r)&&qe(e,i,n,{...o,format:"json",value:r})}},wb=(e,t)=>{const s=[];if(typeof e=="string"&&e.trim()!==""){const i=e.trim();qe(s,new Set,"input",{...Ye("input","Input"),format:i.includes(`
|
|
16
|
-
`)||yu("input",i)?"code":"text",value:i})}else Array.isArray(e)&&e.length>0?qe(s,new Set,"input",{...Ye("input","Input"),format:To(e)?"list":"json",value:To(e)?e.map(i=>String(i)):e}):e!=null&&qe(s,new Set,"input",{...Ye("input","Input"),format:"json",value:e});return{...t,primary:typeof e=="string"&&e.trim()!==""?_n(e.trim()):void 0,inlineFields:[],blockFields:s}},Sb=e=>(Array.isArray(e.diffs)?e.diffs.filter(ji):[])[0]??e,fc=(e,t)=>{const s=Sb(e),i=Le(s.old_text)??Le(e.oldString)??Le(e.old_string)??Le(e.old_text)??"",n=Le(s.new_text)??Le(e.newString)??Le(e.new_string)??Le(e.new_text)??"";if(i===""&&n==="")return;const r=Yt(s.old_start)??Yt(e.old_start),o=Yt(s.new_start)??Yt(e.new_start),l=hn(s.is_summary)??hn(e.is_summary),c=[];return r!=null&&c.push({...Ye("oldStart","Old Start"),icon:"line_start",value:String(r),tone:"muted"}),o!=null&&c.push({...Ye("newStart","New Start"),icon:"line_end",value:String(o),tone:"muted"}),l!=null&&c.push({...Ye("summary","Summary"),icon:"summarize",value:l?"true":"false",tone:l?"muted":"success"}),{original:i,modified:n,language:gu(t??Le(s.path)??Le(e.path)??""),metaItems:c}};function Rr(e,t){const s=vb(e);if(!ji(t))return wb(t,s);const i=t,n=[],r=[],o=new Set,l=bu(e);let c,h,u=!1;if(l==="bash"||l==="execcommand"||l==="shell"){const d=Le(i.command);c=_n(d),qe(n,o,"cwd",{...Ye("cwd","Cwd"),format:"inline",value:Le(i.cwd)}),qe(n,o,"workdir",{...Ye("workdir","Workdir"),format:"inline",value:Le(i.workdir)}),qe(n,o,"timeoutMs",{...Ye("timeoutMs","Timeout"),format:"inline",value:Yt(i.timeoutMs)}),qe(n,o,"yield_time_ms",{...Ye("yieldTimeMs","Yield Time"),format:"inline",value:Yt(i.yield_time_ms)}),qe(n,o,"max_output_tokens",{...Ye("maxOutputTokens","Max Output Tokens"),format:"inline",value:Yt(i.max_output_tokens)}),d!=null&&d.includes(`
|
|
17
|
-
`)?qe(r,o,"command",{...Ye("command"),format:"code",value:d,lang:"bash"}):o.add("command")}else if(l==="read"||l==="readfile"||l==="viewimage"){const d=Le(i.path)??Le(i.file_path);c=d!=null?Vs(d).filePath:void 0,qe(n,o,"startLine",{...Ye("startLine","Start Line"),format:"inline",value:Yt(i.startLine)}),qe(n,o,"endLine",{...Ye("endLine","End Line"),format:"inline",value:Yt(i.endLine)}),qe(n,o,"offset",{...Ye("offset"),format:"inline",value:Yt(i.offset)}),qe(n,o,"limit",{...Ye("limit"),format:"inline",value:Yt(i.limit)}),o.add("path"),o.add("file_path")}else if(l==="write"||l==="writefile"){const d=Le(i.path)??Le(i.file_path);c=d!=null?Vs(d).filePath:void 0,h=fc(i,c);const p=Le(i.content);p!=null&&h==null&&qe(r,o,"content",{...Ye("content"),format:"code",value:p,lang:gu(c??"")}),o.add("path"),o.add("file_path"),o.add("old_text"),o.add("new_text"),o.add("old_start"),o.add("new_start"),o.add("is_summary"),o.add("diffs"),u=!0}else if(l==="edit"||l==="editfile"||l==="strreplacefile"){const d=Le(i.path)??Le(i.file_path);c=d!=null?Vs(d).filePath:void 0;const p=hn(i.replaceAll)??hn(i.replace_all);h=fc(i,c),h!=null&&(h.metaItems=[...h.metaItems??[],...p==null?[]:[{...Ye("replaceAll"),icon:"select_all",value:p?"true":"false",tone:p?"success":"muted"}]],o.add("oldString"),o.add("old_string"),o.add("old_text"),o.add("newString"),o.add("new_string"),o.add("new_text"),o.add("old_start"),o.add("new_start"),o.add("is_summary"),o.add("diffs")),qe(n,o,"replaceAll",{...Ye("replaceAll"),format:"inline",value:p!=null?String(p):void 0}),o.add("path"),o.add("file_path"),u=!0}else if(l==="applypatch"){const d=Le(i.patch),p=d!=null?gb(d):[];c=p.length===1?Vs(p[0]).filePath:p.length>1?`${p.length} files`:void 0,d!=null&&qe(r,o,"patch",{...Ye("patch","Patch"),format:"code",value:d,lang:"diff"}),qe(n,o,"cwd",{...Ye("cwd","Cwd"),format:"inline",value:Le(i.cwd)}),u=!0}else if(l==="glob")c=Le(i.pattern),qe(n,o,"cwd",{...Ye("cwd","Cwd"),format:"inline",value:Le(i.cwd)}),o.add("pattern");else if(l==="grep")c=Le(i.pattern),qe(n,o,"path",{...Ye("path"),format:"inline",value:Le(i.path)}),qe(n,o,"glob",{...Ye("glob"),format:"inline",value:Le(i.glob)}),qe(n,o,"ignoreCase",{...Ye("ignoreCase","Ignore Case"),format:"inline",value:hn(i.ignoreCase)!=null?String(i.ignoreCase):void 0}),qe(n,o,"contextLines",{...Ye("contextLines","Context Lines"),format:"inline",value:Yt(i.contextLines)}),o.add("pattern");else if(l==="ls"||l==="listdir"){const d=Le(i.path);c=d!=null?Vs(d).filePath:void 0,o.add("path")}else if(l==="settodolist"){const d=Eo(i.items)??Eo(i.todos);c=d==null?void 0:`${d.length} tasks`,qe(r,o,"items",{...Ye("items","Items"),format:"list",value:d}),o.add("todos")}else if(l==="websearch"||l==="searchweb")c=Le(i.query),o.add("query");else if(l==="webfetch"||l==="fetchurl")c=Le(i.url),o.add("url");else if(l==="filechange"){const d=wu(i.changes);c=(d==null?void 0:d.length)===1?Vs(d[0].split(" ").slice(1).join(" ")).filePath:d!=null&&d.length>1?`${d.length} files`:void 0,qe(n,o,"status",{...Ye("status"),format:"inline",value:Le(i.status)}),qe(r,o,"changes",{...Ye("changes","Changes"),format:"list",value:d}),u=!0}c==null&&(c=bb(i));for(const d of["path","file_path","url","query","pattern","command"]){if(d in i&&o.has(d))continue;const p=Le(i[d]);p!=null&&(mc.has(d)||_b(p)?c=c??(mc.has(d)?Vs(p).filePath:p):d==="command"?c=c??_n(p):c=c??p)}return yb(r,n,i,o),{...s,primary:c,inlineFields:n,blockFields:r,diff:h,suppressSuccessResult:u}}const kb=e=>{if(typeof e!="string")return e;const t=e.trim();if(t.startsWith("{")&&t.endsWith("}")||t.startsWith("[")&&t.endsWith("]"))try{return JSON.parse(t)}catch{return e}return e},Ti=e=>{const t=kb(ds(e));return t==null?!1:typeof t=="string"?t.trim()!=="":typeof t=="number"||typeof t=="boolean"?!0:Array.isArray(t)?t.some(s=>Ti(s)):typeof t!="object"?!1:pu(t)!=null||_u(t)!=null?!0:Object.values(t).some(s=>Ti(s))},nn=(e,t)=>`${e.labelKey}-${t}`,xb=(e,t)=>a.jsx("div",{className:"tool-detail-section__header",children:a.jsx(ze,{title:t,...ni,children:a.jsx("span",{className:"tool-detail-section__icon material-symbols-rounded",children:e})})});function Su({fields:e,t}){return e.length===0?null:a.jsx("div",{className:"tool-inline-token-list tool-inline-token-list--standalone","aria-label":t("chat.tools.fields.details"),children:e.map((s,i)=>{const n=t(s.labelKey,{defaultValue:s.fallbackLabel}),r=du(s.value);return a.jsx(ze,{title:a.jsxs("div",{className:"tool-tooltip-content",children:[a.jsx("div",{className:"tool-tooltip-content__title",children:n}),a.jsx("div",{className:"tool-tooltip-content__value",children:hu(s.value)})]}),...ni,children:a.jsxs("div",{className:"tool-inline-token",children:[a.jsx("span",{className:"tool-inline-token__icon material-symbols-rounded",children:Mr(s.labelKey,s.format)}),a.jsx("span",{className:"tool-inline-token__value",children:r})]})},nn(s,i))})})}function ku(e,t,s,i={}){const n=s(e.labelKey,{defaultValue:e.fallbackLabel}),r=xb(Mr(e.labelKey,e.format),n),o=i.sectionClassName??"tool-detail-section";if(e.format==="text")return a.jsxs("div",{className:o,children:[r,a.jsx("div",{className:"tool-detail-section__text",children:String(e.value)})]},nn(e,t));if(e.format==="code")return a.jsxs("div",{className:o,children:[r,a.jsx(pn,{code:String(e.value),lang:e.lang??"text",hideHeader:!0})]},nn(e,t));if(e.format==="list"){const l=Array.isArray(e.value)?e.value.map(c=>String(c)):[];return a.jsxs("div",{className:o,children:[r,a.jsx("div",{className:"tool-detail-list",children:l.map(c=>a.jsx("div",{className:"tool-detail-list-item",children:c},c))})]},nn(e,t))}return a.jsxs("div",{className:o,children:[r,a.jsx(pn,{code:Er(e.value,2),lang:"json",hideHeader:!0})]},nn(e,t))}const xu={AskUserQuestion:{titleKey:"chat.tools.askUserQuestion",fallbackTitle:"Ask User Question",icon:"help"},Bash:{titleKey:"chat.tools.bash",fallbackTitle:"Bash",icon:"terminal"},Edit:{titleKey:"chat.tools.editTool",fallbackTitle:"Edit File",icon:"edit"},EnterPlanMode:{titleKey:"chat.tools.enterPlanMode",fallbackTitle:"Enter Plan Mode",icon:"rule_settings"},ExitPlanMode:{titleKey:"chat.tools.exitPlanMode",fallbackTitle:"Exit Plan Mode",icon:"exit_to_app"},Glob:{titleKey:"chat.tools.globTool",fallbackTitle:"Glob",icon:"search"},Grep:{titleKey:"chat.tools.grepTool",fallbackTitle:"Grep",icon:"find_in_page"},LS:{titleKey:"chat.tools.lsTool",fallbackTitle:"List Directory",icon:"folder_open"},NotebookEdit:{titleKey:"chat.tools.notebookEdit",fallbackTitle:"Notebook Edit",icon:"edit_note"},Read:{titleKey:"chat.tools.read",fallbackTitle:"Read File",icon:"visibility"},Skill:{titleKey:"chat.tools.skill",fallbackTitle:"Skill",icon:"auto_awesome"},Task:{titleKey:"chat.tools.claudeTask",fallbackTitle:"Claude Task",icon:"smart_toy"},TaskCreate:{titleKey:"chat.tools.taskCreate",fallbackTitle:"Create Task",icon:"add_task"},TaskGet:{titleKey:"chat.tools.taskGet",fallbackTitle:"Get Task",icon:"info"},TaskList:{titleKey:"chat.tools.taskList",fallbackTitle:"List Tasks",icon:"list_alt"},TaskUpdate:{titleKey:"chat.tools.taskUpdate",fallbackTitle:"Update Task",icon:"edit_calendar"},TodoWrite:{titleKey:"chat.tools.todo",fallbackTitle:"Task Planning",icon:"task_alt"},WebFetch:{titleKey:"chat.tools.webFetch",fallbackTitle:"Web Fetch",icon:"language"},WebSearch:{titleKey:"chat.tools.webSearch",fallbackTitle:"Web Search",icon:"travel_explore"},Write:{titleKey:"chat.tools.write",fallbackTitle:"Write File",icon:"edit_note"}},Ei=e=>e!=null&&typeof e=="object"&&!Array.isArray(e),fe=e=>typeof e=="string"&&e.trim()!==""?e:void 0,sr=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0,gn=e=>typeof e=="boolean"?e:void 0,vn=e=>{if(!Array.isArray(e))return;const t=e.filter(s=>typeof s=="string"&&s.trim()!=="").map(s=>s.trim());return t.length>0?t:void 0},xe=(e,t,s,i)=>{const{value:n}=i;n==null||n===""||Array.isArray(n)&&n.length===0||Ei(n)&&Object.keys(n).length===0||(t.add(s),e.push(i))},Cu=e=>{if(!Array.isArray(e))return;const t=[];for(const s of e){if(!Ei(s))continue;const i=fe(s.question);if(i==null)continue;const n=[];if(Array.isArray(s.options))for(const r of s.options){if(!Ei(r))continue;const o=fe(r.label);o!=null&&n.push({label:o,description:fe(r.description)})}t.push({header:fe(s.header),question:i,options:n,multiSelect:s.multiSelect===!0})}return t.length>0?t:void 0},Cb=e=>{var t;return e!=null&&e!==""?((t=e.split(`
|
|
18
|
-
`)[0])==null?void 0:t.trim())||e:void 0},Nb=(e,t,s)=>{if(t==null)return;const i=Object.fromEntries(Object.entries(t).filter(([n,r])=>s.has(n)||r==null?!1:typeof r=="string"?r.trim()!=="":Array.isArray(r)?r.length>0:!Ei(r)||Object.keys(r).length>0));Object.keys(i).length>0&&e.push({labelKey:"chat.tools.fields.details",fallbackLabel:"Details",format:"json",value:i})};function Mi(e){const t=e!=null&&e!==""?e:"unknown file",s=t.lastIndexOf("/"),i=s>=0?t.slice(s+1):t,n=s>=0?t.slice(0,s):"";return{filePath:t,fileName:i,dirPath:n}}function Nu(e){const t=e.split(".").pop(),s=t!=null&&t!==""?t.toLowerCase():"";return{js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",py:"python",md:"markdown",json:"json",scss:"scss",css:"css",html:"html",sh:"bash",yml:"yaml",yaml:"yaml",sql:"sql"}[s]||"text"}function Tb(e){const{baseName:t,record:s,fields:i,usedKeys:n}=e;if(t==="TodoWrite"){const c=Array.isArray(s==null?void 0:s.todos)?s.todos.flatMap(h=>{if(h==null||typeof h!="object")return[];const u=h,d=fe(u.content),p=fe(u.status),f=fe(u.activeForm);if(d==null)return[];const _=p==="in_progress"&&f!=null&&f!==d?` (${f})`:"";return[`[${p??"pending"}] ${d}${_}`]}):void 0;return xe(i,n,"todos",{labelKey:"chat.tools.fields.todos",fallbackLabel:"Todos",format:"list",value:c}),{handled:!0,primary:c!=null?`${c.length} todos`:void 0}}if(t==="Edit"){const c=fe(s==null?void 0:s.file_path),h=c!=null?Mi(c).filePath:void 0,u=Nu(h??""),d=gn(s==null?void 0:s.replace_all);return xe(i,n,"replace_all",{labelKey:"chat.tools.fields.replaceAll",fallbackLabel:"Replace All",format:"inline",value:d!=null?String(d):void 0}),xe(i,n,"old_string",{labelKey:"chat.tools.fields.oldString",fallbackLabel:"Old String",format:"code",value:fe(s==null?void 0:s.old_string),lang:u}),xe(i,n,"new_string",{labelKey:"chat.tools.fields.newString",fallbackLabel:"New String",format:"code",value:fe(s==null?void 0:s.new_string),lang:u}),n.add("file_path"),{handled:!0,primary:h}}if(t!=="NotebookEdit")return{handled:!1};const r=fe(s==null?void 0:s.notebook_path),o=r!=null?Mi(r).filePath:void 0,l=fe(s==null?void 0:s.cell_type);return xe(i,n,"cell_id",{labelKey:"chat.tools.fields.cellId",fallbackLabel:"Cell ID",format:"inline",value:fe(s==null?void 0:s.cell_id)}),xe(i,n,"cell_type",{labelKey:"chat.tools.fields.cellType",fallbackLabel:"Cell Type",format:"inline",value:l}),xe(i,n,"edit_mode",{labelKey:"chat.tools.fields.editMode",fallbackLabel:"Edit Mode",format:"inline",value:fe(s==null?void 0:s.edit_mode)}),xe(i,n,"new_source",{labelKey:"chat.tools.fields.newSource",fallbackLabel:"New Source",format:"code",value:fe(s==null?void 0:s.new_source),lang:l==="markdown"?"markdown":"text"}),n.add("notebook_path"),{handled:!0,primary:o}}function Eb(e){const{baseName:t,record:s,fields:i,usedKeys:n}=e;if(t==="Bash"){const r=fe(s==null?void 0:s.command),o=fe(s==null?void 0:s.description)??fe(s==null?void 0:s.reason)??fe(s==null?void 0:s.thought);return xe(i,n,"description",{labelKey:"chat.tools.fields.description",fallbackLabel:"Description",format:"text",value:o}),xe(i,n,"command",{labelKey:"chat.tools.fields.command",fallbackLabel:"Command",format:"code",value:r,lang:"bash"}),xe(i,n,"timeout",{labelKey:"chat.tools.fields.timeout",fallbackLabel:"Timeout",format:"inline",value:sr(s==null?void 0:s.timeout)}),xe(i,n,"run_in_background",{labelKey:"chat.tools.fields.runInBackground",fallbackLabel:"Run In Background",format:"inline",value:gn(s==null?void 0:s.run_in_background)!=null?String(s==null?void 0:s.run_in_background):void 0}),xe(i,n,"dangerouslyDisableSandbox",{labelKey:"chat.tools.fields.disableSandbox",fallbackLabel:"Disable Sandbox",format:"inline",value:gn(s==null?void 0:s.dangerouslyDisableSandbox)!=null?String(s==null?void 0:s.dangerouslyDisableSandbox):void 0}),{handled:!0,primary:o??(r==null?void 0:r.split(`
|
|
19
|
-
`)[0])}}if(t==="Read"){const r=fe(s==null?void 0:s.file_path),o=r!=null?Mi(r).filePath:void 0;return xe(i,n,"offset",{labelKey:"chat.tools.fields.offset",fallbackLabel:"Offset",format:"inline",value:sr(s==null?void 0:s.offset)}),xe(i,n,"limit",{labelKey:"chat.tools.fields.limit",fallbackLabel:"Limit",format:"inline",value:sr(s==null?void 0:s.limit)}),n.add("file_path"),{handled:!0,primary:o}}if(t==="Write"){const r=fe(s==null?void 0:s.file_path),o=r!=null?Mi(r).filePath:void 0,l=Nu(o??"");return xe(i,n,"content",{labelKey:"chat.tools.fields.content",fallbackLabel:"Content",format:"code",value:fe(s==null?void 0:s.content),lang:l}),n.add("file_path"),{handled:!0,primary:o}}return t==="LS"?(xe(i,n,"ignore",{labelKey:"chat.tools.fields.ignore",fallbackLabel:"Ignore",format:"list",value:vn(s==null?void 0:s.ignore)}),{handled:!0,primary:fe(s==null?void 0:s.path)??"current directory"}):t==="Glob"?(xe(i,n,"path",{labelKey:"chat.tools.fields.path",fallbackLabel:"Path",format:"text",value:fe(s==null?void 0:s.path)}),n.add("pattern"),{handled:!0,primary:fe(s==null?void 0:s.pattern)??"*"}):t==="Grep"?(xe(i,n,"path",{labelKey:"chat.tools.fields.path",fallbackLabel:"Path",format:"text",value:fe(s==null?void 0:s.path)}),xe(i,n,"glob",{labelKey:"chat.tools.fields.glob",fallbackLabel:"Glob",format:"text",value:fe(s==null?void 0:s.glob)}),xe(i,n,"output_mode",{labelKey:"chat.tools.fields.mode",fallbackLabel:"Mode",format:"inline",value:fe(s==null?void 0:s.output_mode)}),n.add("pattern"),{handled:!0,primary:fe(s==null?void 0:s.pattern)}):{handled:!1}}function Mb(e){var r,o;const{baseName:t,record:s,fields:i,usedKeys:n}=e;if(t==="WebFetch")return xe(i,n,"prompt",{labelKey:"chat.tools.fields.prompt",fallbackLabel:"Prompt",format:"text",value:fe(s==null?void 0:s.prompt)}),n.add("url"),{handled:!0,primary:fe(s==null?void 0:s.url)};if(t==="WebSearch")return xe(i,n,"allowed_domains",{labelKey:"chat.tools.fields.allowedDomains",fallbackLabel:"Allowed Domains",format:"list",value:vn(s==null?void 0:s.allowed_domains)}),xe(i,n,"blocked_domains",{labelKey:"chat.tools.fields.blockedDomains",fallbackLabel:"Blocked Domains",format:"list",value:vn(s==null?void 0:s.blocked_domains)}),n.add("query"),{handled:!0,primary:fe(s==null?void 0:s.query)};if(t==="AskUserQuestion"){const l=Cu(s==null?void 0:s.questions);return xe(i,n,"questions",{labelKey:"chat.tools.fields.questions",fallbackLabel:"Questions",format:"questions",value:l}),xe(i,n,"answers",{labelKey:"chat.tools.fields.answers",fallbackLabel:"Answers",format:"json",value:(s==null?void 0:s.answers)!=null&&typeof s.answers=="object"?s.answers:void 0}),xe(i,n,"metadata",{labelKey:"chat.tools.fields.metadata",fallbackLabel:"Metadata",format:"json",value:(s==null?void 0:s.metadata)!=null&&typeof s.metadata=="object"?s.metadata:void 0}),{handled:!0,primary:((r=l==null?void 0:l[0])==null?void 0:r.header)??((o=l==null?void 0:l[0])==null?void 0:o.question)}}return t==="Skill"?(xe(i,n,"args",{labelKey:"chat.tools.fields.args",fallbackLabel:"Args",format:"text",value:fe(s==null?void 0:s.args)}),n.add("skill"),{handled:!0,primary:fe(s==null?void 0:s.skill)}):t==="EnterPlanMode"?{handled:!0}:t!=="ExitPlanMode"?{handled:!1}:(xe(i,n,"pushToRemote",{labelKey:"chat.tools.fields.pushToRemote",fallbackLabel:"Push To Remote",format:"inline",value:gn(s==null?void 0:s.pushToRemote)!=null?String(s==null?void 0:s.pushToRemote):void 0}),xe(i,n,"remoteSessionId",{labelKey:"chat.tools.fields.remoteSession",fallbackLabel:"Remote Session",format:"inline",value:fe(s==null?void 0:s.remoteSessionId)}),xe(i,n,"remoteSessionUrl",{labelKey:"chat.tools.fields.remoteSessionUrl",fallbackLabel:"Remote Session URL",format:"text",value:fe(s==null?void 0:s.remoteSessionUrl)}),xe(i,n,"allowedPrompts",{labelKey:"chat.tools.fields.allowedPrompts",fallbackLabel:"Allowed Prompts",format:"list",value:Array.isArray(s==null?void 0:s.allowedPrompts)?s.allowedPrompts.flatMap(l=>{if(l==null||typeof l!="object")return[];const c=l,h=fe(c.tool),u=fe(c.prompt);return u!=null?[`${h??"Tool"}: ${u}`]:[]}):void 0}),n.add("remoteSessionTitle"),{handled:!0,primary:fe(s==null?void 0:s.remoteSessionTitle)??fe(s==null?void 0:s.remoteSessionId)})}function Pb(e){const{baseName:t,record:s,fields:i,usedKeys:n}=e;if(t==="Task"){const r=fe(s==null?void 0:s.description);return xe(i,n,"description",{labelKey:"chat.tools.fields.description",fallbackLabel:"Description",format:"text",value:r}),xe(i,n,"prompt",{labelKey:"chat.tools.fields.prompt",fallbackLabel:"Prompt",format:"text",value:fe(s==null?void 0:s.prompt)}),xe(i,n,"subagent_type",{labelKey:"chat.tools.fields.subagentType",fallbackLabel:"Subagent Type",format:"inline",value:fe(s==null?void 0:s.subagent_type)}),xe(i,n,"model",{labelKey:"chat.tools.fields.model",fallbackLabel:"Model",format:"inline",value:fe(s==null?void 0:s.model)}),xe(i,n,"resume",{labelKey:"chat.tools.fields.resume",fallbackLabel:"Resume",format:"inline",value:fe(s==null?void 0:s.resume)}),xe(i,n,"run_in_background",{labelKey:"chat.tools.fields.runInBackground",fallbackLabel:"Run In Background",format:"inline",value:gn(s==null?void 0:s.run_in_background)!=null?String(s==null?void 0:s.run_in_background):void 0}),xe(i,n,"max_turns",{labelKey:"chat.tools.fields.maxTurns",fallbackLabel:"Max Turns",format:"inline",value:sr(s==null?void 0:s.max_turns)}),{handled:!0,primary:Cb(r)??fe(s==null?void 0:s.subagent_type)}}return t==="TaskCreate"?(xe(i,n,"description",{labelKey:"chat.tools.fields.description",fallbackLabel:"Description",format:"text",value:fe(s==null?void 0:s.description)}),xe(i,n,"activeForm",{labelKey:"chat.tools.fields.activeForm",fallbackLabel:"Active Form",format:"text",value:fe(s==null?void 0:s.activeForm)}),xe(i,n,"metadata",{labelKey:"chat.tools.fields.metadata",fallbackLabel:"Metadata",format:"json",value:(s==null?void 0:s.metadata)!=null&&typeof s.metadata=="object"?s.metadata:void 0}),n.add("subject"),{handled:!0,primary:fe(s==null?void 0:s.subject)}):t==="TaskGet"?(n.add("taskId"),{handled:!0,primary:fe(s==null?void 0:s.taskId)}):t==="TaskUpdate"?(xe(i,n,"subject",{labelKey:"chat.tools.fields.subject",fallbackLabel:"Subject",format:"text",value:fe(s==null?void 0:s.subject)}),xe(i,n,"description",{labelKey:"chat.tools.fields.description",fallbackLabel:"Description",format:"text",value:fe(s==null?void 0:s.description)}),xe(i,n,"activeForm",{labelKey:"chat.tools.fields.activeForm",fallbackLabel:"Active Form",format:"text",value:fe(s==null?void 0:s.activeForm)}),xe(i,n,"status",{labelKey:"chat.tools.fields.status",fallbackLabel:"Status",format:"inline",value:fe(s==null?void 0:s.status)}),xe(i,n,"owner",{labelKey:"chat.tools.fields.owner",fallbackLabel:"Owner",format:"inline",value:fe(s==null?void 0:s.owner)}),xe(i,n,"addBlocks",{labelKey:"chat.tools.fields.addBlocks",fallbackLabel:"Add Blocks",format:"list",value:vn(s==null?void 0:s.addBlocks)}),xe(i,n,"addBlockedBy",{labelKey:"chat.tools.fields.addBlockedBy",fallbackLabel:"Add Blocked By",format:"list",value:vn(s==null?void 0:s.addBlockedBy)}),xe(i,n,"metadata",{labelKey:"chat.tools.fields.metadata",fallbackLabel:"Metadata",format:"json",value:(s==null?void 0:s.metadata)!=null&&typeof s.metadata=="object"?s.metadata:void 0}),n.add("taskId"),{handled:!0,primary:fe(s==null?void 0:s.taskId)}):t==="TaskList"?{handled:!0}:{handled:!1}}const jr=e=>e.startsWith("adapter:claude-code:")?e.slice(20):e,Ir=e=>e.startsWith("adapter:claude-code:")||e in xu;function Tn(e,t){const s=jr(e),i=xu[s]??{titleKey:"chat.tools.unknown",fallbackTitle:s,icon:"build"},n=Ei(t)?t:null,r=[],o=new Set,l=Tb({baseName:s,record:n,fields:r,usedKeys:o}),c=l.handled?{handled:!1,primary:void 0}:Eb({baseName:s,record:n,fields:r,usedKeys:o}),h=l.handled||c.handled?{handled:!1,primary:void 0}:Mb({baseName:s,record:n,fields:r,usedKeys:o}),u=l.handled||c.handled||h.handled?{primary:void 0}:Pb({baseName:s,record:n,fields:r,usedKeys:o}),d=l.handled?l.primary:c.handled?c.primary:h.handled?h.primary:u.primary;return Nb(r,n,o),{baseName:s,titleKey:i.titleKey,fallbackTitle:i.fallbackTitle,icon:i.icon,primary:d,fields:r}}const Rb=e=>Ei(e)?e:null,ws=(e,t)=>t!=null&&t!==""?`${e} ${t}`:e;function jb(e,t,s){var l,c;const i=jr(e),n=Rb(t);if(i==="Bash"){const h=[n==null?void 0:n.description,n==null?void 0:n.reason,n==null?void 0:n.thought].find(p=>typeof p=="string"&&p.trim()!==""),d=(l=(typeof(n==null?void 0:n.command)=="string"?n.command:"").split(`
|
|
20
|
-
`)[0])==null?void 0:l.trim();return typeof h=="string"&&h.trim()!==""?h.trim():ws(s("chat.tools.bash",{defaultValue:"Bash"}),d)}if(i==="Read"||i==="Write"||i==="Edit"){const h=typeof(n==null?void 0:n.file_path)=="string"?Mi(n.file_path).filePath:void 0;return ws(s(i==="Read"?"chat.tools.read":i==="Write"?"chat.tools.write":"chat.tools.editTool",{defaultValue:i==="Read"?"Read File":i==="Write"?"Write File":"Edit File"}),h)}if(i==="NotebookEdit"){const h=typeof(n==null?void 0:n.notebook_path)=="string"?Mi(n.notebook_path).filePath:void 0;return ws(s("chat.tools.notebookEdit",{defaultValue:"Notebook Edit"}),h)}if(i==="LS"){const h=typeof(n==null?void 0:n.path)=="string"&&n.path!==""?n.path:"current directory";return ws(s("chat.tools.lsTool",{defaultValue:"List Directory"}),h)}if(i==="Glob"){const h=typeof(n==null?void 0:n.pattern)=="string"&&n.pattern!==""?n.pattern:"*";return ws(s("chat.tools.globTool",{defaultValue:"Glob"}),h)}if(i==="Grep"){const h=typeof(n==null?void 0:n.pattern)=="string"?n.pattern:void 0;return ws(s("chat.tools.grepTool",{defaultValue:"Grep"}),h)}if(i==="TodoWrite"){const h=Array.isArray(n==null?void 0:n.todos)?n.todos.length:0;return ws(s("chat.tools.todo",{defaultValue:"Task Planning"}),h>0?`${h}`:void 0)}if(i==="AskUserQuestion"){const h=(c=Cu(n==null?void 0:n.questions))==null?void 0:c[0];return ws(s("chat.tools.askUserQuestion",{defaultValue:"Ask User Question"}),(h==null?void 0:h.header)??(h==null?void 0:h.question))}const r=Tn(e,t),o=s(r.titleKey,{defaultValue:r.fallbackTitle});return ws(o,r.primary)}const Ib=/[_:-]+/g,Db=new Set(["adapter","agent","mcp","plugin","tool"]),Lb=e=>e.replace(Ib," ").replace(/([a-z0-9])([A-Z])/g,"$1 $2").trim(),Ab=e=>e.includes("__")?e.split("__").filter(Boolean):e.split(":").filter(Boolean),Bb=e=>{if(e==null||typeof e!="object"||Array.isArray(e))return;const t=e,s=["file_path","path","url","query","pattern","command","selector","taskId","subject","skill","title"];for(const i of s){const n=t[i];if(typeof n=="string"&&n.trim()!=="")return n.trim().split(`
|
|
21
|
-
`)[0]}for(const i of Object.values(t))if(typeof i=="string"&&i.trim()!=="")return i.trim().split(`
|
|
22
|
-
`)[0]};function Tu(e,t){if(Ir(e.name)){const i=Tn(e.name,e.input);return t(i.titleKey,{defaultValue:i.fallbackTitle})}const s=Rr(e.name,e.input);return s.titleKey!=null?t(s.titleKey,{defaultValue:s.fallbackTitle}):s.fallbackTitle}function Eu(e){return Ir(e.name)?Tn(e.name,e.input).primary:Rr(e.name,e.input).primary??Bb(e.input)}const Ob=e=>{const t=Ab(e).slice(0,-1).filter((s,i)=>!(i===0&&Db.has(s.toLowerCase()))).map(Lb).filter(Boolean);return t.length>0?t.join(" "):void 0},Fb=(e,t)=>{const s=Ob(e);return s!=null&&s!==""?`${s} ${t}`:t};function Wb(e,t){if(Ir(e.name)){const n=jr(e.name),r=Tn(e.name,e.input),o=t(r.titleKey,{defaultValue:r.fallbackTitle});return{key:`claude:${n}`,label:o,qualifiedLabel:o}}const s=Rr(e.name,e.input),i=s.titleKey!=null?t(s.titleKey,{defaultValue:s.fallbackTitle}):s.fallbackTitle;return{key:e.name,label:i,qualifiedLabel:Fb(e.name,i)}}function $b(e,t){const s=new Map;for(const{item:c}of e){const h=Wb(c,t),u=h.label;if(u==="")continue;const d=s.get(h.key);if(d!=null){d.count+=1;continue}s.set(h.key,{label:u,qualifiedLabel:h.qualifiedLabel,count:1})}const i=Array.from(s.values()),n=i.reduce((c,h)=>(c.set(h.label,(c.get(h.label)??0)+1),c),new Map);if(i.length===0)return t("chat.usedTools",{count:e.length});const r=i.map(c=>{const h=(n.get(c.label)??0)>1?c.qualifiedLabel:c.label;return{count:c.count,text:t("chat.tools.groupSummaryCount",{name:h,count:c.count})}}),o=r.slice(0,2).map(c=>c.text),l=r.slice(2).reduce((c,h)=>c+h.count,0);return l>0?[...o,t("chat.tools.groupSummaryMoreCount",{count:l})].join(" · "):o.join(" · ")}function Hb({item:e,resultItem:t}){var p;const{t:s}=Z(),i=m.useMemo(()=>Rr(e.name,e.input),[e.input,e.name]),n=i.inlineFields.length>0||i.blockFields.length>0||i.diff!=null,o=t!=null&&Ti(t.content)&&!(i.suppressSuccessResult===!0&&(t==null?void 0:t.is_error)!==!0),l=n||o,c=i.titleKey!=null?s(i.titleKey,{defaultValue:i.fallbackTitle}):Tu(e,s),h=Pr(i.primary??Eu(e)),u=["webfetch","websearch"].includes(((p=e.name.split(":").pop())==null?void 0:p.replace(/[^a-z0-9]+/gi,"").toLowerCase())??""),d=(t==null?void 0:t.is_error)===!0?a.jsx("span",{className:"tool-status tool-status--error",children:a.jsx("span",{className:"material-symbols-rounded",children:"error"})}):void 0;return a.jsx("div",{className:"tool-group tool-group--compact",children:a.jsx(Cn,{variant:"inline",defaultExpanded:!1,collapsible:l,header:({isExpanded:f,isCollapsible:_})=>a.jsx(Nn,{icon:a.jsx("span",{className:"material-symbols-rounded",children:i.icon}),title:c,target:h.text,targetTitle:h.title,targetMonospace:h.monospace,expanded:f,collapsible:_,meta:d,metaTitle:d==null?void 0:s("chat.result")}),content:l?a.jsxs("div",{className:"tool-detail-sections",children:[a.jsx(Su,{fields:i.inlineFields,t:s}),i.diff!=null&&a.jsx("div",{className:"tool-detail-section",children:a.jsx(mu,{original:i.diff.original,modified:i.diff.modified,language:i.diff.language,metaItems:(i.diff.metaItems??[]).map(f=>({icon:f.icon,label:s(f.labelKey,{defaultValue:f.fallbackLabel}),value:f.value!=null&&f.value!==""?f.value==="true"?s("chat.tools.booleanOn"):f.value==="false"?s("chat.tools.booleanOff"):f.value:void 0,tone:f.tone})),splitLabel:s("chat.tools.diffSplit"),inlineLabel:s("chat.tools.diffInline")})}),i.blockFields.map((f,_)=>ku(f,_,s)),o&&t!=null&&a.jsx("div",{className:"tool-detail-section",children:a.jsx(Ha,{content:t.content,preferMarkdown:u})})]}):null})})}function fr(e,t){const s=t==null?void 0:t.namespace,i=Object.entries(e).flatMap(([n,r])=>{const o=[[n,r]];return s&&o.push([`${s}${n}`,r]),o});return Object.fromEntries(i)}function Kb({oldValue:e,newValue:t,lang:s,metaItems:i=[]}){const{t:n}=Z();return a.jsx(mu,{original:e??"",modified:t??"",language:s,metaItems:i,splitLabel:n("chat.tools.diffSplit"),inlineLabel:n("chat.tools.diffInline")})}const zb=(e,t)=>a.jsx("div",{className:"tool-detail-section__header",children:a.jsx(ze,{title:t,...ni,children:a.jsx("span",{className:"tool-detail-section__icon material-symbols-rounded",children:e})})});function Ub(e,t,s){const i=s(e.labelKey,{defaultValue:e.fallbackLabel}),n=zb(Mr(e.labelKey,e.format),i);if(e.format==="questions"){const r=Array.isArray(e.value)?e.value:[];return a.jsxs("div",{className:"tool-detail-section claude-generic-tool__section",children:[n,a.jsx("div",{className:"claude-generic-tool__questions",children:r.map((o,l)=>a.jsxs("div",{className:"claude-generic-tool__question",children:[a.jsxs("div",{className:"claude-generic-tool__question-header",children:[a.jsx("div",{className:"claude-generic-tool__question-title",children:o.header??`${i} ${l+1}`}),a.jsx(ze,{title:o.multiSelect?s("chat.tools.multiSelect"):s("chat.tools.singleSelect"),...ni,children:a.jsx("span",{className:"claude-generic-tool__question-mode material-symbols-rounded",children:o.multiSelect?"checklist":"radio_button_checked"})})]}),a.jsx("div",{className:"tool-detail-section__text",title:o.question,children:o.question}),o.options.length>0&&a.jsx("div",{className:"claude-generic-tool__question-options",children:o.options.map(c=>a.jsxs("div",{className:"claude-generic-tool__question-option",children:[a.jsx("div",{className:"claude-generic-tool__question-option-label",children:c.label}),c.description!=null&&c.description!==""&&a.jsx("div",{className:"claude-generic-tool__question-option-description",children:c.description})]},c.label))})]},`${o.header??o.question}-${l}`))})]},`${e.labelKey}-${t}`)}return ku(e,t,s,{sectionClassName:"tool-detail-section claude-generic-tool__section"})}const mt=({item:e,resultItem:t})=>{var I;const{t:s}=Z(),i=m.useMemo(()=>Tn(e.name,e.input),[e.input,e.name]),n=m.useMemo(()=>s(i.titleKey,{defaultValue:i.fallbackTitle}),[s,i.fallbackTitle,i.titleKey]),r=i.fields.filter(R=>R.format==="inline"),o=i.baseName==="Edit",l=i.fields.filter(R=>R.format==="inline"?!1:o?R.labelKey!=="chat.tools.fields.oldString"&&R.labelKey!=="chat.tools.fields.newString":!0),c=i.fields.length>0,h=t!=null&&Ti(t.content),u=h&&(!o||(t==null?void 0:t.is_error)===!0),d=c||h,p=["WebFetch","WebSearch"].includes(jr(e.name)),f=o&&e.input!=null&&typeof e.input=="object"&&!Array.isArray(e.input)?e.input:null,_=(I=l.find(R=>R.lang!=null))==null?void 0:I.lang,g=typeof(f==null?void 0:f.old_string)=="string"?f.old_string:void 0,v=typeof(f==null?void 0:f.new_string)=="string"?f.new_string:void 0,b=o&&(g!=null||v!=null),x=b?r.map(R=>{const O=s(R.labelKey,{defaultValue:R.fallbackLabel}),k=R.value===!0||R.value==="true",N=R.value===!1||R.value==="false";return{icon:Mr(R.labelKey,R.format),label:O,value:k?s("chat.tools.booleanOn"):N?s("chat.tools.booleanOff"):du(R.value),tone:k?"success":N?"muted":"default"}}):[],P=b?[]:r,y=m.useMemo(()=>jb(e.name,e.input,s),[e.input,e.name,s]),S=i.primary??(y!==n?y:void 0),T=Pr(S),j=(t==null?void 0:t.is_error)===!0?a.jsx("span",{className:"claude-generic-tool__status is-error",children:a.jsx("span",{className:"material-symbols-rounded",children:"error"})}):void 0;return a.jsx("div",{className:"tool-group tool-group--compact claude-generic-tool",children:a.jsx(Cn,{variant:"inline",defaultExpanded:!1,collapsible:d,header:({isExpanded:R,isCollapsible:O})=>a.jsx(Nn,{icon:a.jsx("span",{className:"material-symbols-rounded",children:i.icon}),title:n,target:T.text,targetTitle:T.title,targetMonospace:T.monospace,expanded:R,collapsible:O,meta:j,metaTitle:j==null?void 0:s("chat.result")}),content:d?a.jsxs("div",{className:"tool-detail-sections claude-generic-tool__content",children:[a.jsx(Su,{fields:P,t:s}),b&&a.jsx("div",{className:"tool-detail-section claude-generic-tool__section",children:a.jsx(Kb,{oldValue:g,newValue:v,lang:_,metaItems:x})}),l.map((R,O)=>Ub(R,O,s)),u&&t!=null&&a.jsx("div",{className:"tool-detail-section",children:a.jsx(Ha,{content:t.content,preferMarkdown:p})})]}):null})})},qb=fr({AskUserQuestion:mt,Bash:mt,Edit:mt,EnterPlanMode:mt,ExitPlanMode:mt,LS:mt,Glob:mt,Grep:mt,NotebookEdit:mt,Read:mt,Skill:mt,Task:mt,TaskCreate:mt,TaskGet:mt,TaskList:mt,TaskUpdate:mt,WebFetch:mt,WebSearch:mt,Write:mt,TodoWrite:mt},{namespace:"adapter:claude-code:"}),Vb=({item:e,resultItem:t})=>{const{t:s}=Z(),i=e.input!=null?e.input:{},n=Ti(i),r=t!=null&&Ti(t.content),o=n||r,l=Tu(e,s),c=Pr(Eu(e)),h=(t==null?void 0:t.is_error)===!0?a.jsx("span",{className:"tool-status tool-status--error",children:a.jsx("span",{className:"material-symbols-rounded",children:"error"})}):void 0;return a.jsx("div",{className:"tool-group tool-group--compact chrome-devtools-tool",children:a.jsx(Cn,{variant:"inline",defaultExpanded:!1,collapsible:o,header:({isExpanded:u,isCollapsible:d})=>a.jsx(Nn,{icon:a.jsx("i",{className:"devicon-chrome-plain colored"}),title:l,target:c.text,targetTitle:c.title,targetMonospace:c.monospace,expanded:u,collapsible:d,meta:h,metaTitle:h==null?void 0:s("chat.result")}),content:o?a.jsxs("div",{className:"tool-detail-sections",children:[n&&a.jsxs("div",{className:"tool-detail-section",children:[a.jsx("div",{className:"tool-detail-section__header",children:a.jsx(ze,{title:s("chat.tools.call"),...ni,children:a.jsx("span",{className:"tool-detail-section__icon material-symbols-rounded",children:Zv()})})}),a.jsx(pn,{code:Er(i,2),lang:"json",hideHeader:!0})]}),r&&t!=null&&a.jsx("div",{className:"tool-detail-section",children:a.jsx(Ha,{content:t.content})})]}):null})})},Gb=["mcp__ChromeDevtools__click","mcp__ChromeDevtools__close_page","mcp__ChromeDevtools__drag","mcp__ChromeDevtools__emulate","mcp__ChromeDevtools__evaluate_script","mcp__ChromeDevtools__fill","mcp__ChromeDevtools__fill_form","mcp__ChromeDevtools__get_console_message","mcp__ChromeDevtools__get_network_request","mcp__ChromeDevtools__handle_dialog","mcp__ChromeDevtools__hover","mcp__ChromeDevtools__list_console_messages","mcp__ChromeDevtools__list_network_requests","mcp__ChromeDevtools__list_pages","mcp__ChromeDevtools__navigate_page","mcp__ChromeDevtools__new_page","mcp__ChromeDevtools__performance_analyze_insight","mcp__ChromeDevtools__performance_start_trace","mcp__ChromeDevtools__performance_stop_trace","mcp__ChromeDevtools__press_key","mcp__ChromeDevtools__resize_page","mcp__ChromeDevtools__select_page","mcp__ChromeDevtools__take_memory_snapshot","mcp__ChromeDevtools__take_screenshot","mcp__ChromeDevtools__take_snapshot","mcp__ChromeDevtools__type_text","mcp__ChromeDevtools__upload_file","mcp__ChromeDevtools__wait_for"],Yb=Gb.reduce((e,t)=>(e[t]=Vb,e),{}),Xb=fr(Yb);function Jb(e){return e?{title:e.split(`
|
|
23
|
-
`)[0]||""}:{title:""}}function Zb(e){switch(e){case"running":return"play_circle";case"completed":return"check_circle";case"failed":return"error";default:return"help_outline"}}function Mu({description:e,status:t,logs:s,sessionId:i,titleFallback:n,metaChips:r,showExecutionIcon:o,background:l,foregroundLabel:c,backgroundLabel:h}){const u=vs(),[d,p]=m.useState(s??[]),[f,_]=m.useState(t),g=m.useRef(new Set),{title:v}=Jb(e),b=v||n||"",x=(r??[]).filter(I=>!!I),P=l===!1,y=P?"task-row__execution-icon--foreground":"task-row__execution-icon--background",S=P?c:h,T=i!=null&&i!=="",j=m.useMemo(()=>((d==null?void 0:d.join(`
|
|
24
|
-
`))??"").trim(),[d]);return m.useEffect(()=>{p(s??[])},[s]),m.useEffect(()=>{_(t)},[t]),m.useEffect(()=>{if(!i)return;const I=S_.connect(i,{onMessage(R){var O,k;if(R.type==="message"){const N=R.message;if(N.id&&g.current.has(N.id))return;N.id&&g.current.add(N.id);const C=Qb(N);C!==""&&p(w=>[...w,C])}else if(R.type==="session_updated"&&((O=R.session)==null?void 0:O.id)===i){const N=(k=R.session)==null?void 0:k.status;N&&_(N)}}});return()=>{I==null||I()}},[i]),a.jsxs("div",{className:"task-row",children:[a.jsxs("div",{className:"task-row__header",children:[a.jsxs("div",{className:"task-row__left",children:[a.jsx("span",{className:`material-symbols-rounded task-row__status-icon ${f??"help_outline"}`,children:Zb(f)}),o&&a.jsx("span",{className:`material-symbols-rounded task-row__execution-icon ${y}`,title:S,children:P?"desktop_windows":"schedule"})]}),a.jsx("span",{className:"task-row__title",children:b}),T&&a.jsx("button",{type:"button",className:"task-row__session-link",onClick:()=>u(`/session/${i}`),children:i}),x.length>0&&a.jsx("div",{className:"task-row__meta",children:x.map(I=>a.jsx("span",{className:"task-row__meta-chip",children:I},I))})]}),j!==""&&a.jsx("div",{className:"task-row__logs",children:a.jsx(Ts,{content:j})})]})}function Qb(e){return typeof e.content=="string"?e.content:Array.isArray(e.content)?e.content.map(t=>t.type==="text"?t.text:"").join(""):""}const ey=({item:e,resultItem:t})=>{const{t:s}=Z(),n=(e.input!=null?e.input:{}).taskId,r=m.useMemo(()=>{if(!(t!=null&&t.content))return null;const u=t.content[0].text.trim();return JSON.parse(u)[0]??null},[t==null?void 0:t.content]),o=r?(()=>{const{exitCode:u,...d}=r;return[d.adapter,d.type==="default"?void 0:d.type,d.name,d.status,u!=null?s("chat.tools.taskExitCode",{code:u}):void 0,d.background===!1?s("chat.tools.startTasksForeground"):d.background===!0?s("chat.tools.startTasksBackground"):void 0]})():[],l=s("chat.tools.task"),c=Pr((r==null?void 0:r.taskId)??n),h=(t==null?void 0:t.is_error)===!0?a.jsx("span",{className:"tool-status tool-status--error",children:a.jsx("span",{className:"material-symbols-rounded",children:"error"})}):void 0;return a.jsx("div",{className:"tool-group tool-group--compact get-task-info-tool",children:a.jsx(Cn,{variant:"inline",defaultExpanded:!1,header:({isExpanded:u,isCollapsible:d})=>a.jsx(Nn,{icon:a.jsx("span",{className:"material-symbols-rounded",children:"info"}),title:s("chat.tools.getTaskInfo"),target:c.text,targetTitle:c.title,targetMonospace:c.monospace,expanded:u,collapsible:d,meta:h,metaTitle:h==null?void 0:s("chat.result")}),content:a.jsx("div",{className:"tool-content",children:r?(()=>{const{taskId:u,exitCode:d,...p}=r;return a.jsx(Mu,{description:p.description,status:p.status,background:p.background,sessionId:u||n,logs:p.logs,titleFallback:l,metaChips:o,showExecutionIcon:!1})})():a.jsx("div",{className:"get-task-info-tool__empty",children:s("chat.tools.startTasksEmpty")})})})})},ty=({resultItem:e})=>{const{t}=Z(),s=m.useMemo(()=>{if(!(e!=null&&e.content))return[];const n=e.content[0].text.trim();return JSON.parse(n)},[e==null?void 0:e.content]),i=(e==null?void 0:e.is_error)===!0?a.jsx("span",{className:"tool-status tool-status--error",children:a.jsx("span",{className:"material-symbols-rounded",children:"error"})}):void 0;return a.jsx("div",{className:"tool-group tool-group--compact list-tasks-tool",children:a.jsx(Cn,{variant:"inline",defaultExpanded:!1,header:({isExpanded:n,isCollapsible:r})=>a.jsx(Nn,{icon:a.jsx("span",{className:"material-symbols-rounded",children:"list_alt"}),title:t("chat.tools.listTasks"),target:t("chat.tools.taskCount",{count:s.length}),expanded:n,collapsible:r,meta:i,metaTitle:i==null?void 0:t("chat.result")}),content:a.jsx("div",{className:"tool-content",children:a.jsxs("div",{className:"list-tasks-tool__list",children:[s.map(n=>{const{taskId:r,exitCode:o,...l}=n,c=[l.adapter,l.type==="default"?void 0:l.type,l.name,l.status,o!=null?t("chat.tools.taskExitCode",{code:o}):void 0,l.background===!1?t("chat.tools.startTasksForeground"):l.background===!0?t("chat.tools.startTasksBackground"):void 0];return a.jsx(Mu,{description:l.description,status:l.status,background:l.background,sessionId:r,logs:l.logs,titleFallback:t("chat.tools.task"),metaChips:c,showExecutionIcon:!1},r)}),s.length===0&&a.jsx("div",{className:"list-tasks-tool__empty",children:t("chat.tools.listTasksEmpty")})]})})})})},pc={GetTaskInfo:ey,ListTasks:ty},sy={...fr(pc,{namespace:"mcp__OneWorks__"}),...fr(pc,{namespace:"adapter:codex:mcp:OneWorks:"})},iy={...sy,...qb,...Xb};function bn({item:e,resultItem:t}){const s=e.name,n=iy[s]??bn.findRendererByInput(e)??(Ir(s)?mt:Hb);return a.jsx(n,{item:e,resultItem:t})}bn.findRendererByInput=e=>{const t=e.input;return t!=null&&typeof t=="object"&&"command"in t&&("description"in t&&t.description!=null||"reason"in t&&t.reason!=null)?mt:null};function ny({envelope:e}){return a.jsx("section",{className:"agent-room-envelope-card",children:a.jsx("div",{className:"agent-room-envelope-card__user-message",children:a.jsx(Ts,{content:e.userMessage})})})}function _c({entries:e,pendingAction:t,onCancelConfirm:s}){return a.jsx("div",{className:"message-context-menu ant-dropdown-menu",onContextMenu:i=>i.preventDefault(),children:e.map(i=>{if(i.type==="divider")return a.jsx("div",{className:"message-context-menu__divider ant-dropdown-menu-item-divider"},i.key);const n=t===i.key;return a.jsxs("div",{role:"button",tabIndex:0,className:`message-context-menu__item ant-dropdown-menu-item message-context-menu__item--${i.key} ${i.danger?"is-danger":""} ${i.danger?"ant-dropdown-menu-item-danger":""} ${n?"is-confirming ant-dropdown-menu-item-selected":""}`,onClick:r=>{r.preventDefault(),r.stopPropagation(),i.onClick()},onKeyDown:r=>{(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),i.onClick())},children:[a.jsxs("div",{className:"message-context-menu__meta",children:[a.jsx("span",{className:"material-symbols-rounded message-context-menu__icon",children:i.icon}),a.jsx("span",{className:"message-context-menu__label",children:n?i.confirmLabel??i.label:i.label})]}),n&&a.jsxs("div",{className:"message-context-menu__confirm-actions",children:[a.jsx("button",{type:"button",className:"message-context-menu__confirm-btn is-accept",onClick:r=>{r.preventDefault(),r.stopPropagation(),i.onClick()},children:a.jsx("span",{className:"material-symbols-rounded",children:"check"})}),a.jsx("button",{type:"button",className:"message-context-menu__confirm-btn is-cancel",onClick:r=>{r.preventDefault(),r.stopPropagation(),s()},children:a.jsx("span",{className:"material-symbols-rounded",children:"close"})})]})]},i.key)})})}function ry({anchorId:e,canEdit:t,canFork:s,canRecall:i,copyableText:n,isDebugMode:r,isEditing:o,messageApi:l,onCloseMenu:c,onConfirmableActionClick:h,onStartEditing:u,sessionId:d,sourceMessage:p,t:f}){const _=[],g=(v,b)=>{c(),xn({text:v,messageApi:l,successMessage:b,failureMessage:f("chat.messageActions.copyFailed")})};return n!=null&&_.push({key:"copy",label:f("chat.messageActions.copy"),icon:"content_copy",onClick:()=>{g(n,f("chat.messageActions.copySuccess"))}}),t&&!o&&_.push({key:"edit",label:f("chat.messageActions.edit"),icon:"edit",onClick:()=>{c(),u()}}),i&&_.push({key:"recall",label:f("chat.messageActions.recall"),confirmLabel:f("common.confirmAction",{action:f("chat.messageActions.recall")}),icon:"undo",danger:!0,onClick:()=>{h("recall")}}),s&&_.push({key:"fork",label:f("chat.messageActions.fork"),confirmLabel:f("common.confirmAction",{action:f("chat.messageActions.fork")}),icon:"fork_right",onClick:()=>{h("fork")}}),_.length>0&&_.push({key:"divider-primary",type:"divider",label:"",icon:"",onClick:()=>{}}),d!=null&&d!==""&&_.push({key:"copy-link",label:f("chat.messageActions.copyLink"),icon:"link",onClick:()=>{g(Co(d,{anchorId:e}),f("chat.messageActions.copyLinkSuccess"))}}),_.push({key:"copy-id",label:f("chat.messageActions.copyId"),icon:"fingerprint",onClick:()=>{g(p.id,f("chat.messageActions.copyIdSuccess"))}}),r&&_.push({key:"divider-debug",type:"divider",label:"",icon:"",onClick:()=>{}},{key:"copy-json",label:f("chat.messageActions.copyJson"),icon:"data_object",onClick:()=>{g(JSON.stringify(p,null,2),f("chat.messageActions.copyJsonSuccess"))}},{key:"copy-timestamp",label:f("chat.messageActions.copyTimestamp"),icon:"schedule",onClick:()=>{g(String(p.createdAt),f("chat.messageActions.copyTimestampSuccess"))}}),_}function Mo({anchorId:e,canEdit:t,canFork:s,canRecall:i,children:n,copyableText:r,isDebugMode:o,isEditing:l,message:c,sessionId:h,onFork:u,onRecall:d,onStartEditing:p}){const{t:f}=Z(),{message:_}=zt.useApp(),{isCompactLayout:g,isTouchInteraction:v}=$s(),[b,x]=m.useState(!1),[P,y]=m.useState(null),S=g||v,T=()=>{x(!1),y(null)},I=ry({anchorId:e,canEdit:t,canFork:s,canRecall:i,copyableText:r,isDebugMode:o,isEditing:l,messageApi:_,onCloseMenu:T,onConfirmableActionClick:R=>{if(P===R){if(T(),R==="recall"){d();return}u();return}y(R)},onStartEditing:p,sessionId:h,sourceMessage:c,t:f});if(S){const R=n.props,O=m.cloneElement(n,{onDoubleClick:k=>{var N;(N=R.onDoubleClick)==null||N.call(R,k),!(k.defaultPrevented||l)&&(k.preventDefault(),k.stopPropagation(),x(!0))}});return a.jsxs(a.Fragment,{children:[O,a.jsx(T_,{open:b,placement:"bottom",height:"auto",closable:!1,className:"message-context-menu-drawer",rootClassName:"message-context-menu-drawer-root",onClose:T,children:a.jsxs("div",{className:"message-context-menu-sheet",children:[a.jsx("div",{className:"message-context-menu-sheet__handle","aria-hidden":"true"}),a.jsxs("div",{className:"message-context-menu-sheet__header",children:[a.jsx("span",{children:f("common.moreActions")}),a.jsx("button",{type:"button",className:"message-context-menu-sheet__close","aria-label":f("common.close"),onClick:T,children:a.jsx("span",{className:"material-symbols-rounded",children:"close"})})]}),a.jsx(_c,{entries:I,pendingAction:P,onCancelConfirm:()=>y(null)})]})})]})}return a.jsx(Cs,{trigger:["contextMenu"],open:b,overlayClassName:"message-context-menu-dropdown",onOpenChange:R=>{x(R),R||y(null)},popupRender:()=>a.jsx(_c,{entries:I,pendingAction:P,onCancelConfirm:()=>y(null)}),children:n})}function Po({msg:e,isUser:t,children:s}){var d;const{t:i,i18n:n}=Z(),{message:r}=zt.useApp(),[o]=Cr(),l=o.get("debug")==="true",c=((d=n.resolvedLanguage)==null?void 0:d.startsWith("zh"))===!0?"zh-CN":"en-US",h=e.usage!=null?e.usage.input_tokens+e.usage.output_tokens:void 0;return s!=null||t&&e.model!=null||t&&h!=null||l?a.jsxs("div",{className:"msg-footer",children:[s,t&&e.model!=null&&a.jsx("span",{className:"msg-model",children:e.model.split(",").pop()}),t&&h!=null&&a.jsxs("span",{className:"msg-usage",children:[i("chat.messageFooter.tokens"),": ",h]}),l&&a.jsx("span",{className:"timestamp",onDoubleClick:()=>{console.log("Debug Message:",e),navigator.clipboard.writeText(new Date(e.createdAt).toISOString()),r.success(i("chat.messageFooter.copyTimestampSuccess"))},title:i("chat.messageFooter.copyTimestampTitle"),children:new Date(e.createdAt).toLocaleString(c,{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})})]}):null}function gc({alt:e,src:t,title:s,onPreview:i}){const{t:n}=Z(),[r,o]=m.useState(!1),l=s??e??t;return m.useEffect(()=>{o(!1)},[t]),r?a.jsxs("a",{className:"message-image-fallback",href:t,target:"_blank",rel:"noreferrer",children:[a.jsx("span",{className:"material-symbols-rounded message-image-fallback__icon",children:"broken_image"}),a.jsxs("span",{className:"message-image-fallback__meta",children:[a.jsx("span",{className:"message-image-fallback__title",children:n("chat.imageLoadFailed")}),a.jsx("span",{className:"message-image-fallback__url",children:t})]}),a.jsx("span",{className:"material-symbols-rounded message-image-fallback__open",children:"open_in_new"})]}):a.jsx("button",{type:"button",className:"message-image",title:n("chat.previewImage"),"aria-label":n("chat.previewImage"),onClick:()=>{i({alt:e,src:t,title:s})},children:a.jsx("img",{src:t,alt:e??l,title:l,loading:"lazy",decoding:"async",referrerPolicy:"no-referrer",onError:()=>o(!0)})})}const Pu=.5,Ru=3,vc=.25,bc=e=>Math.min(Ru,Math.max(Pu,e)),oy=e=>{const t=window.open(e,"_blank","noopener,noreferrer");if(t==null){window.location.assign(e);return}try{t.opener=null}catch{}t.focus()};function ay({image:e,onClose:t}){const{t:s}=Z(),{message:i}=zt.useApp(),[n,r]=m.useState(1),[o,l]=m.useState(!1);if(m.useEffect(()=>{r(1),l(!1)},[e==null?void 0:e.src]),e==null)return null;const c=e.title??e.alt??s("chat.imagePreviewTitle"),h=async()=>{try{await navigator.clipboard.writeText(e.src),i.success(s("chat.imageLinkCopied"))}catch{i.error(s("common.copyFailed"))}};return a.jsx(La,{open:!0,footer:null,width:"100vw",rootClassName:"message-image-preview-modal-root",className:"message-image-preview-modal",closeIcon:null,onCancel:t,children:a.jsxs("div",{className:"message-image-preview",children:[a.jsxs("div",{className:"message-image-preview__toolbar",children:[a.jsx("div",{className:"message-image-preview__title",title:c,children:c}),a.jsxs("div",{className:"message-image-preview__actions",children:[a.jsx(ze,{title:s("chat.imageZoomOut"),children:a.jsx("button",{type:"button",className:"message-image-preview__icon-btn","aria-label":s("chat.imageZoomOut"),disabled:n<=Pu,onClick:()=>r(u=>bc(u-vc)),children:a.jsx("span",{className:"material-symbols-rounded",children:"zoom_out"})})}),a.jsx(ze,{title:s("chat.imageZoomReset"),children:a.jsxs("button",{type:"button",className:"message-image-preview__scale-btn","aria-label":s("chat.imageZoomReset"),onClick:()=>r(1),children:[Math.round(n*100),"%"]})}),a.jsx(ze,{title:s("chat.imageZoomIn"),children:a.jsx("button",{type:"button",className:"message-image-preview__icon-btn","aria-label":s("chat.imageZoomIn"),disabled:n>=Ru,onClick:()=>r(u=>bc(u+vc)),children:a.jsx("span",{className:"material-symbols-rounded",children:"zoom_in"})})}),a.jsx(ze,{title:s("chat.copyImageLink"),children:a.jsx("button",{type:"button",className:"message-image-preview__icon-btn","aria-label":s("chat.copyImageLink"),onClick:()=>{h()},children:a.jsx("span",{className:"material-symbols-rounded",children:"content_copy"})})}),a.jsx(ze,{title:s("chat.openImageInBrowser"),children:a.jsx("button",{type:"button",className:"message-image-preview__icon-btn","aria-label":s("chat.openImageInBrowser"),onClick:()=>oy(e.src),children:a.jsx("span",{className:"material-symbols-rounded",children:"open_in_new"})})}),a.jsx(ze,{title:s("common.close"),children:a.jsx("button",{type:"button",className:"message-image-preview__icon-btn","aria-label":s("common.close"),onClick:t,children:a.jsx("span",{className:"material-symbols-rounded",children:"close"})})})]})]}),a.jsx("div",{className:"message-image-preview__stage",children:o?a.jsxs("a",{className:"message-image-preview__fallback",href:e.src,target:"_blank",rel:"noreferrer",children:[a.jsx("span",{className:"material-symbols-rounded",children:"broken_image"}),a.jsx("span",{children:s("chat.imageLoadFailed")}),a.jsx("span",{className:"message-image-preview__fallback-url",children:e.src})]}):a.jsx("img",{className:"message-image-preview__image",src:e.src,alt:e.alt??c,title:c,decoding:"async",referrerPolicy:"no-referrer",onError:()=>l(!0),style:{"--message-image-preview-scale":n}})})]})})}const yc="[Agent room child request] ",ly=" is waiting for your handling.",cy=e=>e.replace(/\r\n/g,`
|
|
25
|
-
`).split(`
|
|
26
|
-
`),hy=e=>{if(!e.startsWith(yc))return;const t=e.slice(yc.length).replace(new RegExp(`${ly.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}$`),"").trim();if(t==="")return{};const s=t.indexOf(" / ");return s<0?{memberLabel:t}:{memberLabel:t.slice(0,s).trim()||void 0,runTitle:t.slice(s+3).trim()||void 0}},dy=(e,t)=>{const s=`${t}:`,i=e.find(r=>r.startsWith(s)),n=i==null?void 0:i.slice(s.length).trim();return n==null||n===""?void 0:n},wc=(e,t)=>{var n;const s=e.findIndex(r=>r.trim()===`${t}:`);if(s<0)return[];const i=[];for(let r=s+1;r<e.length;r+=1){const o=((n=e[r])==null?void 0:n.trim())??"";if(o===""||!o.startsWith("- "))break;i.push(o.slice(2).trim())}return i},uy=e=>{const t=e.indexOf(":");if(t<0)return;const s=e.slice(0,t).trim(),i=e.slice(t+1).trim();if(!(s===""||i===""))return{key:s,value:i}},my=e=>{const t=" - ",s=e.indexOf(t),i=s<0?e:e.slice(0,s),n=s<0?void 0:e.slice(s+t.length).trim();let r=i.trim(),o;if(r.endsWith(")")){const l=r.lastIndexOf(" (");l>=0&&(o=r.slice(l+2,-1).trim(),r=r.slice(0,l).trim())}return{label:r===""?e:r,...o!=null&&o!==""?{value:o}:{},...n!=null&&n!==""?{description:n}:{}}},ju=e=>{const t=cy(e),s=hy(t[0]??"");if(s==null)return;const i=dy(t,"Request");if(i!=null)return{...s,request:i,context:wc(t,"Context").map(uy).filter(n=>n!=null),options:wc(t,"Child runtime options").map(my)}},Sc="<agent-room-message>",kc="</agent-room-message>",fy="Current Agent Room context:",py="- existing member sessions:",_y="Routing rules:",gy="User message:",Ro=e=>e.trim().replace(/^-\s*/,"").trim(),vy=e=>{const t=e.indexOf(":");if(t<0)return;const s=e.slice(0,t).trim(),i=e.slice(t+1).trim();return s===""||i===""?void 0:{key:s,value:i}},by=e=>{const t=Ro(e).split("|").map(i=>i.trim()).filter(Boolean);if(t.length===0)return;const s={current:!1};for(const i of t){const n=i.indexOf("=");if(n<0)continue;const r=i.slice(0,n).trim(),o=i.slice(n+1).trim();r==="current"?s.current=o==="true":r==="memberKey"?s.memberKey=o:r==="runKey"?s.runKey=o:r==="sessionId"?s.sessionId=o:r==="status"?s.status=o:r==="title"&&(s.title=o)}return s.memberKey==null&&s.sessionId==null?void 0:s},yy=e=>{const t=e.trim();if(!t.startsWith(Sc)||!t.endsWith(kc))return;const i=t.slice(Sc.length,t.length-kc.length).trim().split(/\r?\n/),n=i.findIndex(c=>c.trim()===gy);if(n<0)return;const r=i.slice(n+1).join(`
|
|
27
|
-
`).trim();if(r==="")return;const o={routingRules:[],sessions:[],userMessage:r};let l;for(const c of i.slice(0,n)){const h=c.trim();if(h===""||h===fy){l=l??"context";continue}if(h===py){l="sessions";continue}if(h===_y){l="routing";continue}if(l==="sessions"){const d=by(h);d!=null&&o.sessions.push(d);continue}if(l==="routing"){o.routingRules.push(Ro(h));continue}const u=vy(Ro(h));(u==null?void 0:u.key)==="roomId"?o.roomId=u.value:(u==null?void 0:u.key)==="roomTitle"?o.roomTitle=u.value:(u==null?void 0:u.key)==="currentMemberKey"&&(o.currentMemberKey=u.value)}return o},Iu=e=>e.type==="text"||e.type==="image",wy=e=>typeof e=="string"?e:e.map(t=>t.type==="text"?{type:"text",text:t.text}:{type:"image",url:t.url,name:t.name,size:t.size,mimeType:t.mimeType}),jo=e=>{if(e==null)return;if(typeof e=="string"){const s=e.trim();return s===""?void 0:s}const t=[];for(const s of e){if(!Iu(s))return;if(s.type==="text"){const i=s.text.trim();i!==""&&t.push({type:"text",text:i});continue}t.push({type:"image",url:s.url,name:s.name,size:s.size,mimeType:s.mimeType})}return t.length===0?void 0:t},Sy=e=>{if(typeof e.content=="string")return e.content.trim()===""?void 0:e.content;if(!Array.isArray(e.content)||e.toolCall!=null)return;const t=e.content.filter(Iu);if(!(t.length!==e.content.length||t.length===0||!t.some(i=>i.type==="image"||i.text.trim()!=="")))return wy(t)},ky=(e,t)=>{const s=jo(e),i=jo(t);return JSON.stringify(s)===JSON.stringify(i)},xy=e=>{if(typeof e.content=="string")return e.content.trim()===""?void 0:e.content;if(!Array.isArray(e.content))return;const t=e.content.filter(s=>s.type==="text").map(s=>s.text).filter(s=>s.trim()!=="");if(t.length!==0)return t.join(`
|
|
28
|
-
|
|
29
|
-
`)},Cy=/^\[([^\]\n]+)\]:(?=[ \t]*\r?\n)/,Ny=/\\r\\n|\\n|\\r/gu,Ty=e=>e.replace(Ny,`
|
|
30
|
-
`),Ey=e=>e.replace(Cy,"\\[$1]:"),My=(e,t={})=>{const s=Ty(e);return t.escapeLeadingUserReferenceDefinition===!0?Ey(s):s},Py=e=>(e==null?void 0:e.parentSessionId)!=null&&e.parentSessionId!==""&&e.id.startsWith("sess_"),dn=e=>{const t=e==null?void 0:e.trim();return t===""?void 0:t},Ry=e=>{var t,s;return dn((t=e.agentRoom)==null?void 0:t.commandId)!=null||dn((s=e.agentRoom)==null?void 0:s.causedByCommandId)!=null},jy=e=>e.find(t=>t.kind==="host"||t.memberKey==="host"||t.memberKey==="leader"),Iy=(e,t,s)=>s.find(i=>i.memberKey===e||i.label===e||t!=null&&(i.memberKey===t||i.label===t)),Dy=(e,t,s,i=[])=>{var l,c;if(e.role!=="user"||s!==!0||!Py(t))return;const n=dn((l=e.agentRoom)==null?void 0:l.source)??(Ry(e)?"leader":void 0);if(n==null||n==="user"||n==="ui")return;const r=dn((c=e.agentRoom)==null?void 0:c.sourceLabel)??n,o=n==="leader"?jy(i):Iy(n,r,i);return{avatarLabel:dn(o==null?void 0:o.avatarLabel),avatarSeed:`agent-room-session-source:${(o==null?void 0:o.memberKey)??n}`,kind:"agent",source:n,label:r}};function Ly({anchorId:e,msg:t,isFirstInGroup:s,originalMessage:i,isTargeted:n,isAgentRoomSession:r,agentRoomSourceMembers:o,session:l,sessionId:c,sessionInfo:h,isSessionBusy:u,isEditing:d,onEditMessage:p,onRecallMessage:f,onForkMessage:_,branchNavigation:g,messageLinksConfig:v=vi,onOpenUrlInAppBrowser:b,onOpenWorkspaceFile:x,onOpenWorkspaceFileInExternalOpener:P,workspaceRootPath:y,onSwitchBranchSession:S,onStartEditing:T,onCancelEditing:j}){const{t:I}=Z(),[R]=Cr(),O=R.get("debug")==="true",k=Dy(i,l,r,o),N=k==null?void 0:k.kind==="user"?I("chat.agentRoomSessionSource.user"):k.source==="leader"?I("chat.agentRoomSessionSource.leader"):I("chat.agentRoomSessionSource.agent",{source:k.label}),C=I("chat.agentRoomSessionSource.separator"),w=m.useMemo(()=>typeof t.content=="string"?ju(t.content):void 0,[t.content]),M=m.useMemo(()=>typeof t.content=="string"?yy(t.content):void 0,[t.content]),E=w!=null,D=t.role==="user"&&!E,[A,B]=m.useState(!1),H=m.useMemo(()=>Sy(t),[t]),U=m.useMemo(()=>xy(t),[t]),W=(h==null?void 0:h.type)==="init"?h.cwd.trim():(y==null?void 0:y.trim())??"",z=i.id,F=c!=null&&c!==""&&!z.startsWith("local-"),te=F&&!u&&D&&H!=null,ie=F&&!u&&D,ue=F&&!u&&D,[pe,Y]=m.useState(null);m.useEffect(()=>{B(!1)},[d,t.id]);const be=m.useCallback(ae=>{Y(ae)},[]),ye=m.useCallback(ae=>a.jsx(gc,{src:ae.src,alt:ae.alt,title:ae.title,onPreview:be}),[be]),he=m.useCallback((ae,ee)=>{var Ue;const Re=yp(ae);if(Re!==""&&b!=null){ee.preventDefault(),b(Re,(Ue=ee.currentTarget.textContent)==null?void 0:Ue.trim());return}if(v.workspaceFileTarget!=="fileTab"&&v.workspaceFileTarget!=="externalIde")return;const Ve=wp(ae,W);if(Ve!=null){if(v.workspaceFileTarget==="externalIde"){if(P==null)return;ee.preventDefault(),P(Ve);return}x!=null&&(ee.preventDefault(),x(Ve.path))}},[v.workspaceFileTarget,b,x,P,W]),$=m.useCallback(ae=>a.jsx(Ts,{content:My(ae,{escapeLeadingUserReferenceDefinition:D}),enableLinkContextMenu:!0,linkPlainWorkspaceFiles:v.plainWorkspacePathMode==="link",onLinkClick:he,onOpenUrlInAppBrowser:b,onOpenWorkspaceFileLink:x==null?void 0:ee=>{x(ee.path)},openLinksInNewTab:v.externalLinkTarget==="newTab",renderImage:ye,renderImageLinks:v.imageLinkMode==="inlinePreview",workspaceRootPath:W}),[he,D,v.externalLinkTarget,v.imageLinkMode,v.plainWorkspacePathMode,b,x,ye,W]),oe=t.content==null?null:w!=null?a.jsx(lu,{request:w}):M!=null?a.jsx(ny,{envelope:M}):typeof t.content=="string"?$(t.content):!Array.isArray(t.content)||!(t.content.some(ee=>ee.type==="text"||ee.type==="image"||ee.type==="file")||t.toolCall!=null)?null:a.jsxs("div",{className:"message-contents",children:[t.content.map((ee,Re)=>ee.type==="text"?a.jsx(lt.Fragment,{children:$(ee.text)},Re):ee.type==="image"?a.jsx(gc,{src:ee.url,alt:ee.name??I("chat.imagePreviewTitle"),title:ee.name,onPreview:be},Re):ee.type==="file"?a.jsxs("div",{className:"message-context-file",children:[a.jsx("span",{className:"material-symbols-rounded message-context-file__icon",children:"description"}),a.jsx("code",{className:"message-context-file__path",children:ee.path})]},Re):null),t.toolCall!=null&&a.jsx(bn,{item:{type:"tool_use",id:t.toolCall.id??"legacy",name:t.toolCall.name,input:t.toolCall.args},resultItem:t.toolCall.output!=null?{type:"tool_result",tool_use_id:t.toolCall.id??"legacy",content:t.toolCall.output,is_error:t.toolCall.status==="error"}:void 0})]});if(oe==null)return null;const _e=()=>{H!=null&&T(z)},ce=async ae=>{const ee=jo(ae);if(ee==null||ky(ee,H))return j(z),!0;B(!0);try{const Re=await p(z,ee);return Re&&j(z),Re}finally{B(!1)}},We=async ae=>ce(ae),we=async ae=>ce(ae),Se=async()=>{await f(z)},me=async()=>{await _(z)},Ge=!d&&D&&g!=null?a.jsxs("div",{className:"message-branch-navigation","aria-label":I("chat.messageActions.branchNavigation"),children:[a.jsx("button",{type:"button",className:"message-branch-navigation__button",title:I("chat.messageActions.previousBranch"),"aria-label":I("chat.messageActions.previousBranch"),disabled:g.previousSessionId==null,onClick:()=>{g.previousSessionId!=null&&S(g.previousSessionId)},children:a.jsx("span",{className:"material-symbols-rounded",children:"chevron_left"})}),a.jsxs("span",{className:"message-branch-navigation__count",children:[g.current," / ",g.total]}),a.jsx("button",{type:"button",className:"message-branch-navigation__button",title:I("chat.messageActions.nextBranch"),"aria-label":I("chat.messageActions.nextBranch"),disabled:g.nextSessionId==null,onClick:()=>{g.nextSessionId!=null&&S(g.nextSessionId)},children:a.jsx("span",{className:"material-symbols-rounded",children:"chevron_right"})})]}):null;return a.jsxs(a.Fragment,{children:[a.jsx(Mo,{anchorId:e,canEdit:te,canFork:ue,canRecall:ie,copyableText:U,isDebugMode:O,isEditing:d,message:i,sessionId:c,onFork:me,onRecall:Se,onStartEditing:_e,children:a.jsx("div",{id:e,className:[D?"chat-message-user":"chat-message-assistant",k!=null?"chat-message-user--agent-room-source":"",(k==null?void 0:k.source)==="leader"?"chat-message-user--agent-room-leader-source":"",(k==null?void 0:k.kind)==="agent"?"chat-message-user--agent-room-agent-source":"",E?"chat-message-agent-room-child-request":"",M!=null?"chat-message-user--agent-room-envelope":"",d?"is-editing":"",s?"":"consecutive",n?"is-targeted":""].filter(Boolean).join(" "),"data-message-id":i.id,children:a.jsxs("div",{className:`message-body-container ${d?"is-editing":""}`,children:[a.jsx("div",{className:`bubble ${d?"is-editing":""}`,children:d?a.jsx("div",{className:"message-inline-editor",children:a.jsx(Ed,{variant:"inline-edit",sessionId:c,sessionInfo:h,initialContent:H,submitLabel:I("chat.send"),submitLoading:A,autoFocus:!0,onCancel:()=>{j(z)},onSend:We,onSendContent:we,onInterrupt:()=>{}})}):a.jsxs(a.Fragment,{children:[k!=null&&a.jsxs("div",{className:["message-source-line",`message-source-line--${k.kind}`,k.source==="leader"?"message-source-line--leader":""].filter(Boolean).join(" "),"data-agent-room-source":k.source,"aria-label":`${N}${C}`,title:`${N}${C}`,children:[k.avatarLabel!=null?a.jsx("span",{className:"message-source-line__avatar message-source-line__avatar--configured","aria-hidden":"true",children:k.avatarLabel}):a.jsx(fn,{className:"message-source-line__avatar message-source-line__avatar--pixel",seed:k.avatarSeed}),a.jsxs("span",{className:"message-source-line__text",children:[N,C]})]}),oe]})}),Ge,!d&&a.jsx(Po,{msg:i,isUser:D})]})})}),a.jsx(ay,{image:pe,onClose:()=>Y(null)})]})}const Ay=(e,t)=>{var s,i,n,r,o,l,c,h,u,d,p,f;return e.anchorId===t.anchorId&&e.isFirstInGroup===t.isFirstInGroup&&e.isTargeted===t.isTargeted&&e.isAgentRoomSession===t.isAgentRoomSession&&((s=e.session)==null?void 0:s.id)===((i=t.session)==null?void 0:i.id)&&((n=e.session)==null?void 0:n.parentSessionId)===((r=t.session)==null?void 0:r.parentSessionId)&&e.isSessionBusy===t.isSessionBusy&&e.isEditing===t.isEditing&&e.sessionId===t.sessionId&&e.sessionInfo===t.sessionInfo&&((o=e.branchNavigation)==null?void 0:o.current)===((l=t.branchNavigation)==null?void 0:l.current)&&((c=e.branchNavigation)==null?void 0:c.total)===((h=t.branchNavigation)==null?void 0:h.total)&&((u=e.branchNavigation)==null?void 0:u.previousSessionId)===((d=t.branchNavigation)==null?void 0:d.previousSessionId)&&((p=e.branchNavigation)==null?void 0:p.nextSessionId)===((f=t.branchNavigation)==null?void 0:f.nextSessionId)&&e.messageLinksConfig===t.messageLinksConfig&&e.onOpenUrlInAppBrowser===t.onOpenUrlInAppBrowser&&e.onOpenWorkspaceFile===t.onOpenWorkspaceFile&&e.onOpenWorkspaceFileInExternalOpener===t.onOpenWorkspaceFileInExternalOpener&&e.workspaceRootPath===t.workspaceRootPath&&e.onSwitchBranchSession===t.onSwitchBranchSession&&e.msg.id===t.msg.id&&e.msg.role===t.msg.role&&e.msg.createdAt===t.msg.createdAt&&e.msg.model===t.msg.model&&e.msg.content===t.msg.content&&e.msg.toolCall===t.msg.toolCall&&e.msg.usage===t.msg.usage&&e.originalMessage===t.originalMessage},By=lt.memo(Ly,Ay);function Oy({notice:e,onRetryConnection:t,onRetrySessionCreation:s}){const{t:i}=Z(),n=e.action==="retry-session-creation"?i("chat.retrySessionCreation"):i("chat.retryConnection"),r=e.action==="retry-session-creation"?s:t,o=e.message.trim();return a.jsx("div",{className:`message-status-notice message-status-notice--${e.tone}`,children:a.jsx("div",{className:"message-status-notice__card",role:"status","aria-live":"polite",children:a.jsxs("div",{className:"message-status-notice__content",children:[a.jsx("span",{className:"material-symbols-rounded message-status-notice__icon",children:e.icon}),a.jsxs("div",{className:"message-status-notice__body",children:[a.jsxs("div",{className:"message-status-notice__header",children:[a.jsx("div",{className:"message-status-notice__title-row",children:a.jsx("div",{className:"message-status-notice__title",children:e.title})}),e.meta!=null&&e.meta!==""&&a.jsx("span",{className:"message-status-notice__meta",children:e.meta})]}),o!==""&&a.jsx("div",{className:"message-status-notice__message",children:e.message}),e.detail!=null&&e.detail!==""&&a.jsx("div",{className:"message-status-notice__detail",children:e.detail}),e.action!=null&&r!=null&&a.jsx("div",{className:"message-status-notice__actions",children:a.jsx(Oe,{size:"small",onClick:r,children:n})})]})]})})})}const Du=e=>e.trim().toLowerCase(),Fy=e=>{const t=Du(e),s=t.lastIndexOf(".");return s<=0?"":t.slice(s+1)},En=e=>{const t=Du(e),s=Fy(e);return t==="package.json"?{icon:"inventory_2",tone:"package"}:t.includes("lock")?{icon:"lock",tone:"lock"}:t.startsWith(".env")?{icon:"key",tone:"env"}:t.includes("config")?{icon:"tune",tone:"config"}:t.includes("readme")||s==="md"||s==="mdx"?{icon:"article",tone:"docs"}:t.includes("gitignore")||t.includes("dockerignore")?{icon:"hide_source",tone:"ignore"}:s==="ts"||s==="tsx"?{icon:"data_object",tone:"typescript"}:s==="js"||s==="jsx"||s==="mjs"||s==="cjs"?{icon:"javascript",tone:"javascript"}:s==="json"?{icon:"data_object",tone:"json"}:s==="scss"||s==="sass"||s==="css"?{icon:"palette",tone:"style"}:s==="html"?{icon:"language",tone:"html"}:["png","jpg","jpeg","gif","webp","svg","ico"].includes(s)?{icon:"image",tone:"image"}:["yml","yaml","toml"].includes(s)?{icon:"settings",tone:"config"}:["sh","bash","zsh"].includes(s)?{icon:"terminal",tone:"script"}:{icon:"draft",tone:"file"}},Wy="oneworks-workspace-light",$y="oneworks-workspace-dark",Hy=/^#(?:[\da-f]{3}|[\da-f]{4}|[\da-f]{6}|[\da-f]{8})$/i,Hn=(e,t,s)=>{const i=e.getPropertyValue(t).trim();return Hy.test(i)?i:s},Ky=e=>{const t=window.getComputedStyle(document.documentElement),s=Hn(t,"--bg-color",e?"#141414":"#ffffff"),i=Hn(t,"--text-color",e?"#ffffff":"#111827"),n=Hn(t,"--primary-color",e?"#3b82f6":"#2563eb"),r=Hn(t,"--primary-soft-bg",e?"#111b26":"#eff6ff");return{base:e?"vs-dark":"vs",colors:{"editor.background":s,"editor.foreground":i,"editor.inactiveSelectionBackground":r,"editor.selectionBackground":r,"editorCursor.foreground":n},inherit:!0,rules:[]}},zy=e=>{const t=e?$y:Wy;return Sp.defineTheme(t,Ky(e)),t},xc=()=>zy(document.documentElement.classList.contains("dark")),Ka=()=>{const[e,t]=m.useState(xc);return m.useEffect(()=>{const s=()=>t(xc()),i=new MutationObserver(s);return i.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}),s(),()=>{i.disconnect()}},[]),e},Uy={css:"css",go:"go",html:"html",js:"javascript",json:"json",jsx:"javascript",less:"less",md:"markdown",mjs:"javascript",py:"python",rb:"ruby",rs:"rust",scss:"scss",sh:"shell",ts:"typescript",tsx:"typescript",yaml:"yaml",yml:"yaml"},qy={Dockerfile:"dockerfile"},Vy=new Set(["apng","avif","bmp","gif","ico","jpeg","jpg","png","svg","webp"]),Gy=new Set(["md","markdown","mdown","mkd"]),Yy=new Set(["bash","sh","zsh"]),Dr=e=>{var s;const t=e.split("/").pop()??e;return t.includes(".")?((s=t.split(".").pop())==null?void 0:s.toLowerCase())??"":""},Lu=e=>{const t=e.split("/").pop()??e,s=qy[t];if(s!=null)return s;const i=Dr(e);return Uy[i]??"plaintext"},Xy=e=>Vy.has(Dr(e)),Au=e=>Gy.has(Dr(e)),Jy=e=>Yy.has(Dr(e)),Zy=e=>{const t=[],s=[];let i=!1,n=!1;for(const r of e.replace(/\r\n/g,`
|
|
31
|
-
`).split(`
|
|
32
|
-
`)){if(r.startsWith("diff --git ")&&i)break;if(r.startsWith("@@")){i&&(t.push(""),s.push("")),t.push(r),s.push(r),i=!0;continue}if(!i||r===""||r.startsWith("\\ No newline"))continue;const o=r[0],l=r.slice(1);if(o===" "){t.push(l),s.push(l),n=!0;continue}if(o==="-"){t.push(l),n=!0;continue}o==="+"&&(s.push(l),n=!0)}if(!(!i||!n))return{original:t.join(`
|
|
33
|
-
`),modified:s.join(`
|
|
34
|
-
`)}},Io=18,Qy=132,ew=420,tw=e=>e===""?1:e.split(`
|
|
35
|
-
`).length,Cc=(...e)=>{const t=Math.max(...e.map(tw));return Math.min(ew,Math.max(Qy,t*Io+30))},Nc="ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace";function sw({path:e,patch:t}){const s=Ka(),i=m.useMemo(()=>Lu(e),[e]),n=m.useMemo(()=>Zy(t),[t]),r=m.useMemo(()=>n==null?Cc(t):Cc(n.original,n.modified),[n,t]);return a.jsx("div",{className:"session-workspace-changes-card__monaco-diff",style:{height:`${r}px`},children:n==null?a.jsx(kp,{value:t,language:"diff",theme:s,loading:null,options:{automaticLayout:!0,contextmenu:!1,domReadOnly:!0,fontFamily:Nc,fontSize:12,glyphMargin:!1,lineDecorationsWidth:8,lineHeight:Io,lineNumbersMinChars:3,minimap:{enabled:!1},overviewRulerBorder:!1,readOnly:!0,renderLineHighlight:"none",scrollBeyondLastLine:!1,scrollbar:{alwaysConsumeMouseWheel:!1,useShadows:!1},wordWrap:"off"}}):a.jsx(Td,{original:n.original,modified:n.modified,originalLanguage:i,modifiedLanguage:i,theme:s,loading:null,options:{automaticLayout:!0,contextmenu:!1,diffCodeLens:!1,fontFamily:Nc,fontSize:12,glyphMargin:!1,hideUnchangedRegions:{enabled:!1},lineDecorationsWidth:8,lineHeight:Io,lineNumbersMinChars:3,minimap:{enabled:!1},originalEditable:!1,overviewRulerBorder:!1,readOnly:!0,renderIndicators:!0,renderMarginRevertIcon:!1,renderOverviewRuler:!1,renderSideBySide:!1,scrollBeyondLastLine:!1,scrollbar:{alwaysConsumeMouseWheel:!1,useShadows:!1},wordWrap:"off"}})})}const Tc=(e,t)=>`${t}${Math.max(0,e)}`,Bu=e=>e.split("/").pop()??e,iw=e=>{const t=Bu(e);return e===t?"":e.slice(0,Math.max(0,e.length-t.length-1))},Ou=e=>e.staged&&e.unstaged?"mixed":e.untracked?"untracked":e.staged?"staged":"tracked",nw=(e,t)=>{const s=Ou(e),i=[t(`chat.workspaceDrawerFileStatus.${s}`)];if(e.submodule==null)return i.join(" · ");const n=[e.submodule.commitChanged?t("chat.workspaceDrawerSubmoduleCommit"):null,e.submodule.trackedChanges?t("chat.workspaceDrawerSubmoduleTracked"):null,e.submodule.untrackedChanges?t("chat.workspaceDrawerSubmoduleUntracked"):null].filter(r=>r!=null);return[...i,...n.map(r=>`${t("chat.workspaceDrawerSubmodule")}: ${r}`)].join(" · ")};function rw({file:e,isDiffExpanded:t,onToggleDiff:s}){var u,d;const{t:i}=Z(),n=Bu(e.path),r=iw(e.path),o=Ou(e),l=nw(e,i),c=((u=e.diff)==null?void 0:u.patch)??"",h=e.submodule!=null?{icon:"folder_special",tone:"submodule"}:En(n);return a.jsxs("div",{className:"session-workspace-changes-card__file",children:[a.jsxs("button",{type:"button",className:"session-workspace-changes-card__file-row",title:e.path,"aria-expanded":t,"aria-label":i(t?"chat.workspaceChanges.hideDiff":"chat.workspaceChanges.showDiff",{path:e.path}),onClick:()=>s(e.path),children:[a.jsx("span",{className:`material-symbols-rounded session-workspace-changes-card__file-icon is-${h.tone}`,children:h.icon}),a.jsxs("span",{className:"session-workspace-changes-card__path",children:[a.jsx("span",{className:"session-workspace-changes-card__filename",children:n}),r!==""&&a.jsx("span",{className:"session-workspace-changes-card__directory",children:r})]}),a.jsx("span",{className:`session-workspace-changes-card__state is-${o}`,title:l,"aria-label":l}),a.jsxs("span",{className:"session-workspace-changes-card__stats",children:[a.jsx("span",{className:"session-workspace-changes-card__additions",children:Tc(e.additions,"+")}),a.jsx("span",{className:"session-workspace-changes-card__deletions",children:Tc(e.deletions,"-")})]}),a.jsx("span",{className:`material-symbols-rounded session-workspace-changes-card__chevron ${t?"is-expanded":""}`,"aria-hidden":"true",children:"expand_more"})]}),t&&a.jsxs("div",{className:"session-workspace-changes-card__diff",children:[c.trim()===""?a.jsx("div",{className:"session-workspace-changes-card__diff-empty",children:i("chat.workspaceChanges.diffUnavailable")}):a.jsx(sw,{path:e.path,patch:c}),((d=e.diff)==null?void 0:d.truncated)===!0&&a.jsx("div",{className:"session-workspace-changes-card__diff-note",children:i("chat.workspaceChanges.diffTruncated")})]})]})}const Ec=(e,t)=>`${t}${Math.max(0,e)}`;function ow({changes:e}){const{t}=Z(),s=ii(),i=vs(),[n,r]=m.useState(!1),[o,l]=m.useState(new Set),c=()=>{const d=new URLSearchParams(s.search);d.set("layout","workspace"),d.set("workspaceView","changes"),i({pathname:s.pathname,search:d.toString(),hash:s.hash})},h=()=>{r(d=>!d)},u=d=>{l(p=>{const f=new Set(p);return f.has(d)?f.delete(d):f.add(d),f})};return a.jsxs("div",{className:"session-workspace-changes-card",children:[a.jsxs("div",{className:"session-workspace-changes-card__header",children:[a.jsxs("div",{className:"session-workspace-changes-card__title",children:[a.jsx("span",{children:t("chat.workspaceChanges.summary",{count:e.summary.changedFiles})}),a.jsx("span",{className:"session-workspace-changes-card__additions",children:Ec(e.summary.additions,"+")}),a.jsx("span",{className:"session-workspace-changes-card__deletions",children:Ec(e.summary.deletions,"-")})]}),a.jsxs("div",{className:"session-workspace-changes-card__actions",children:[a.jsx("button",{type:"button",className:"session-workspace-changes-card__action",title:t("chat.workspaceChanges.reviewTitle"),"aria-label":t("chat.workspaceChanges.reviewTitle"),onClick:c,children:a.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:"difference"})}),a.jsx("button",{type:"button",className:"session-workspace-changes-card__action",title:t(n?"chat.workspaceChanges.collapseFiles":"chat.workspaceChanges.expandFiles"),"aria-label":t(n?"chat.workspaceChanges.collapseFiles":"chat.workspaceChanges.expandFiles"),"aria-expanded":n,onClick:h,children:a.jsx("span",{className:`material-symbols-rounded session-workspace-changes-card__chevron ${n?"is-expanded":""}`,"aria-hidden":"true",children:"expand_more"})})]})]}),n&&a.jsx("div",{className:"session-workspace-changes-card__files",children:e.files.map(d=>a.jsx(rw,{file:d,isDiffExpanded:o.has(d.path),onToggleDiff:u},d.path))})]})}const aw=e=>({icon:"settings_suggest",id:"model-unavailable",message:e("chat.modelConfigRequired"),detail:e("chat.modelConfigRequiredHelp"),tone:"warning",title:e("chat.modelConfigRequiredTitle")}),lw=(e,t)=>{const s=t.reason==="closed",i=t.code==="auth_required";return{action:t.recoverable===!1?void 0:"retry-connection",detail:e(i?"chat.connectionAuthRequiredHelp":s?"chat.connectionClosedHelp":"chat.connectionErrorHelp"),icon:i?"lock":s?"wifi_off":"cloud_off",id:s?"connection-closed":"connection-error",message:t.message,tone:"error",title:e(i?"chat.connectionAuthRequiredTitle":s?"chat.connectionClosedTitle":"chat.connectionErrorTitle")}},cw=(e,t)=>{const s=t.action==="retry-session-creation";return{...t.action==null?{}:{action:t.action},detail:e(s?"chat.sessionCreateFailedHelp":"chat.sessionErrorHelp"),icon:"error",id:s?"session-create-failed":"session-error",message:t.message,...!s&&t.code!=null&&t.code!==""?{meta:e("chat.sessionErrorCode",{code:t.code})}:{},tone:"error",title:e(s?"chat.sessionCreateFailedTitle":"chat.sessionErrorTitle")}},hw=e=>e==="compressing"?"chat.contextCompressingTitle":"chat.contextCompactedTitle",dw=(e,t)=>({icon:"layers",id:`context-compaction:${t.id}`,message:"",tone:"info",title:e(hw(t.status))}),Fu=({errorState:e,modelUnavailable:t,t:s})=>{const i=[];return t&&i.push(aw(s)),e!=null&&e.message.trim()!==""&&(e.kind==="session"?i.push(cw(s,e)):i.push(lw(s,e))),i},uw=e=>e.messageBranchGroupId!=null&&e.messageBranchGroupId!==""&&(e.messageBranchAction==="edit"||e.messageBranchAction==="fork"),mw=(e,t)=>{const s=e.createdAt-t.createdAt;return s!==0?s:e.id.localeCompare(t.id)},fw=(e,t)=>{const s=e.createdAt-t.createdAt;return s!==0?s:e.sessionId.localeCompare(t.sessionId)},pw=(e,t)=>{const s=new Map;for(const i of e)s.set(i.id,i);return t!=null&&t.id!==""&&s.set(t.id,t),[...s.values()]},_w=(e,t)=>{const s=[];let i=e;const n=new Set;for(;i!=null&&i.id!==""&&!n.has(i.id);){s.push(i),n.add(i.id);const r=i.messageBranchSourceSessionId;if(r==null||r==="")break;i=t.get(r)}return s},gw=(e,t)=>{const s=new Set(e.map(i=>i.sessionId));return t.find(i=>s.has(i.id))},vw=({anchorIndex:e,currentSession:t,selectedVariant:s,sessionMap:i})=>{if(s==null)return!1;let n=t;const r=new Set;for(;n!=null&&n.id!==""&&n.id!==s.id&&!r.has(n.id);){r.add(n.id);const o=n.messageBranchBaseMessageIndex;if(o!=null&&Number.isInteger(o)&&o<=e)return!1;const l=n.messageBranchSourceSessionId;if(l==null||l==="")return!1;n=i.get(l)}return(n==null?void 0:n.id)===s.id},bw=e=>{const t=new Map;for(const s of e){if(!uw(s))continue;const i=s.messageBranchGroupId;if(i==null||i==="")continue;const n=t.get(i)??[];n.push(s),t.set(i,n)}return t},yw=({anchorIndex:e,messages:t,selectedVariant:s,sourceMessageId:i,sourceSessionId:n})=>{if(s.id===n)return t.some(o=>o.id===i)?i:void 0;if(!Number.isInteger(e)||e<0)return;const r=t[e];return(r==null?void 0:r.role)==="user"?r.id:void 0},ww=({currentSession:e,messages:t,sessions:s})=>{var c,h;const i=new Map;if(e==null||e.id==="")return i;const n=pw(s,e),r=new Map(n.map(u=>[u.id,u])),o=_w(e,r),l=bw(n);for(const u of l.values()){const d=[...u].sort(mw),p=d[0],f=p==null?void 0:p.messageBranchSourceSessionId,_=p==null?void 0:p.messageBranchSourceMessageId,g=p==null?void 0:p.messageBranchBaseMessageIndex;if(f==null||f===""||_==null||_===""||g==null||!Number.isInteger(g)||g<0)continue;const v=r.get(f),b=[];v!=null&&b.push({sessionId:v.id,createdAt:v.createdAt});for(const I of d)b.push({sessionId:I.id,createdAt:I.createdAt});const x=b.sort(fw),P=gw(x,o);if(P==null)continue;const y=x.findIndex(I=>I.sessionId===P.id);if(x.length<=1||y<0)continue;const S=r.get(P.id);if(S==null)continue;const T=S.id===f?g:S.messageBranchBaseMessageIndex;if(T==null||!Number.isInteger(T)||T<0||!vw({anchorIndex:T,currentSession:e,selectedVariant:S,sessionMap:r}))continue;const j=yw({anchorIndex:T,messages:t,selectedVariant:S,sourceMessageId:_,sourceSessionId:f});j!=null&&i.set(j,{current:y+1,total:x.length,previousSessionId:y>0?(c=x[y-1])==null?void 0:c.sessionId:void 0,nextSessionId:y<x.length-1?(h=x[y+1])==null?void 0:h.sessionId:void 0})}return i},Sw=e=>e.type==="message"&&e.originalMessage.role==="user",kw=e=>e.type==="agent-room-child-request",xw=e=>e.some(t=>t.type==="status-notice"||t.type==="workspace-changes"),Cw=e=>{const t=[];let s=null;for(const i of e.renderItems){if(kw(i)){s!=null&&t.push(s),t.push({id:i.originalMessage.id,items:[i],startedByUser:!1}),s=null;continue}if(Sw(i)){s!=null&&t.push(s),s={id:i.originalMessage.id,items:[i],startedByUser:!0};continue}if(s==null){s={id:`orphan:${i.anchorId}`,items:[i],startedByUser:!1};continue}s.items.push(i)}return s!=null&&t.push(s),t.map((i,n)=>{var f,_,g;const r=n===t.length-1,o=((f=i.items[0])==null?void 0:f.originalMessage.createdAt)??null,l=((_=i.items[i.items.length-1])==null?void 0:_.originalMessage.createdAt)??null,c=Math.max(i.items.length-2,0),h=i.startedByUser&&c>0&&!xw(i.items),u=e.hashAnchorId!=null&&e.hashAnchorId!==""?i.items.some(v=>v.anchorId===e.hashAnchorId):!1,d=h&&!(r&&e.keepLastTurnExpanded),p=h&&!u&&!e.expandedTurnIds.has(i.id)&&(d||(((g=e.collapsedTurnIds)==null?void 0:g.has(i.id))??!1));return{durationMs:o!=null&&l!=null?Math.max(l-o,0):null,hiddenCount:c,id:i.id,isCollapsed:p,isExpandable:h,items:i.items,visibleItems:p?[i.items[0],i.items[i.items.length-1]]:i.items}})};function Nw(e){var r;const t=[],s=(o,l,c)=>{for(let h=l;h<c.length;h++){const u=c[h];if(Array.isArray(u.content)){const d=u.content.find(p=>p.type==="tool_result"&&p.tool_use_id===o);if(d)return d}}};let i=0;for(;i<e.length;){const o=e[i];if(!o||!o.content){o&&o.toolCall&&t.push({anchorId:mi(o.id),originalMessage:o,type:"message",message:o,isFirstInGroup:i===0||i>0&&((r=e[i-1])==null?void 0:r.role)!==o.role}),i++;continue}const l=i>0?e[i-1]:null,c=i===0||l!=null&&l.role!==o.role;if(typeof o.content=="string"){const h=ju(o.content);if(h!=null){t.push({anchorId:mi(o.id),originalMessage:o,type:"agent-room-child-request",request:h}),i++;continue}t.push({anchorId:mi(o.id),originalMessage:o,type:"message",message:o,isFirstInGroup:c}),i++;continue}if(Array.isArray(o.content)){const h=o.content,u=[];let d=[],p=0;const f=()=>{d.length>0&&(t.push({anchorId:mi(o.id,`tool-${p}`),originalMessage:o,type:"tool-group",id:`group-${o.id}-${p}`,items:[...d],footer:void 0}),d=[],p++)},_=()=>{u.length>0&&(t.push({anchorId:mi(o.id,`text-${p}`),originalMessage:o,type:"message",message:{...o,id:`${o.id}-text-${p}`,content:[...u]},isFirstInGroup:c&&p===0}),u.length=0,p++)};for(const g of h)if(g.type==="text"||g.type==="image"||g.type==="file")f(),u.push(g);else if(g.type==="tool_use"){_();const v=s(g.id,i,e);d.push({item:g,resultItem:v})}if(_(),f(),p===0&&o.toolCall&&(t.push({anchorId:mi(o.id),originalMessage:o,type:"message",message:o,isFirstInGroup:c}),p++),p>0){const g=t[t.length-1];g.type==="tool-group"&&(g.footer={model:o.model,usage:o.usage,createdAt:o.createdAt,originalMessage:o})}}i++}const n=[];for(const o of t){if(o.type==="tool-group"){const l=n[n.length-1];if(l&&l.type==="tool-group"){l.items.push(...o.items),l.originalMessage=o.originalMessage,l.anchorId=o.anchorId,o.footer&&(l.footer=o.footer);continue}}n.push(o)}return n}const Mc=new Set(["allow_once","allow_session","deny_once"]),Tw=e=>{switch(e){case"allow_once":return{icon:"task_alt",tone:"allow"};case"allow_session":return{icon:"history_toggle_off",tone:"allow"};case"allow_project":return{icon:"folder_managed",tone:"allow"};case"deny_once":return{icon:"cancel",tone:"deny"};case"deny_session":return{icon:"block",tone:"deny"};case"deny_project":return{icon:"folder_off",tone:"deny"};default:return{icon:"help",tone:"neutral"}}},Ew=e=>a.jsx(ze,{title:e,placement:"top",destroyOnHidden:!0,children:a.jsx("span",{className:"material-symbols-rounded interaction-panel__info-trigger","aria-label":e,role:"img",onMouseDown:t=>{t.preventDefault(),t.stopPropagation()},onClick:t=>{t.preventDefault(),t.stopPropagation()},children:"info"})}),Mw=(e,t)=>e.value??`${t}:${e.label}`;function Pw({interactionRequest:e,activeOptionIndex:t,permissionContext:s,deniedTools:i,reasons:n,onActiveOptionIndexChange:r,onMoveActiveOption:o,onInteractionResponse:l}){var M;const{t:c}=Z(),[h,u]=m.useState(!1),d=e.payload.kind==="permission",p=e.payload.options??[],f=m.useRef(null),_=p.length===0?-1:Math.min(Math.max(t,0),p.length-1),g=m.useMemo(()=>p.map((E,D)=>({option:E,index:D,meta:Tw(E.value)})),[p]),v=m.useMemo(()=>g.filter(({option:E})=>Mc.has(E.value??"")),[g]),b=m.useMemo(()=>g.filter(({option:E})=>!Mc.has(E.value??"")),[g]),x=d&&v.length>0&&b.length>0,P=x&&b.some(({index:E})=>E===_),y=x?h||P?g:v:g,T=[((M=s==null?void 0:s.subjectLabel)==null?void 0:M.trim())??"",...i.map(E=>E.trim())].filter((E,D,A)=>E!==""&&A.indexOf(E)===D).join("、"),j=d&&T!==""?c("chat.permissionRequestTitleWithTool",{tool:T}):e.payload.question,I=(E,D=0)=>{var B;const A=(B=f.current)==null?void 0:B.querySelector(`.interaction-panel__option[data-option-index="${E}"]`);if(A!=null){A.focus();return}D>=5||window.setTimeout(()=>{I(E,D+1)},40)};m.useEffect(()=>{u(!1)},[e.id]),m.useEffect(()=>{P&&u(!0)},[P]),m.useEffect(()=>{if(!d||p.length===0)return;let E=!1;const D=_>=0?_:0,A=(B=0)=>{var U;if(E)return;const H=(U=f.current)==null?void 0:U.querySelector(`.interaction-panel__option[data-option-index="${D}"]`);if(H!=null){H.focus();return}B>=5||window.setTimeout(()=>{A(B+1)},40)};return A(),()=>{E=!0}},[e.id,d,_,p.length,h]);const R=E=>{l==null||l(e.id,E.value??E.label)},O=(E,D=d)=>{if(p.length===0)return;const A=_>=0?_:0,B=gi(A,E,p.length);o(E),D&&I(B)},k=(E,D)=>{(E.key==="ArrowUp"&&D<0||E.key==="ArrowDown"&&D>0)&&(E.preventDefault(),O(D))},N=(E,D)=>{if(E.key==="ArrowDown"){E.preventDefault(),r(gi(D,1,p.length)),I(gi(D,1,p.length));return}E.key==="ArrowUp"&&(E.preventDefault(),r(gi(D,-1,p.length)),I(gi(D,-1,p.length)))},C=()=>{u(E=>{var A;const D=!E;if(!D&&P){const B=((A=v.at(-1))==null?void 0:A.index)??0;r(B)}return D})},w=p.length>1;return a.jsx(mr,{className:["interaction-panel",d?"interaction-panel--permission":"interaction-panel--question"].filter(Boolean).join(" "),summaryClassName:"interaction-panel__summary",bodyClassName:"interaction-panel__body",narrow:!0,summary:a.jsxs("div",{className:"interaction-panel__header",children:[a.jsxs("div",{className:"interaction-panel__title-wrap",children:[!d&&a.jsx("span",{className:"material-symbols-rounded interaction-panel__title-icon",children:"help"}),a.jsx("div",{className:"interaction-question",children:j})]}),w&&a.jsxs("div",{className:"interaction-panel__nav","aria-label":c("chat.interactionOptionNavigation"),children:[a.jsx(ze,{title:c("chat.interactionOptionPrevious"),placement:"top",destroyOnHidden:!0,children:a.jsx("button",{type:"button",className:"interaction-panel__nav-button","aria-label":c("chat.interactionOptionPrevious"),onMouseDown:E=>{E.preventDefault()},onKeyDown:E=>k(E,-1),onClick:()=>O(-1),children:a.jsx("span",{className:"material-symbols-rounded",children:"keyboard_arrow_up"})})}),a.jsx(ze,{title:c("chat.interactionOptionNext"),placement:"top",destroyOnHidden:!0,children:a.jsx("button",{type:"button",className:"interaction-panel__nav-button","aria-label":c("chat.interactionOptionNext"),onMouseDown:E=>{E.preventDefault()},onKeyDown:E=>k(E,1),onClick:()=>O(1),children:a.jsx("span",{className:"material-symbols-rounded",children:"keyboard_arrow_down"})})})]})]}),children:a.jsxs("div",{ref:f,className:"interaction-panel__options",children:[y.map(({option:E,index:D,meta:A})=>{const B=Mw(E,D),H=D===_;return d?a.jsxs(Oe,{block:!0,"data-option-index":D,tabIndex:H?0:-1,className:["interaction-panel__option",`interaction-panel__option--${A.tone}`,H?"is-active":""].filter(Boolean).join(" "),onFocus:()=>r(D),onKeyDown:U=>N(U,D),onClick:()=>R(E),children:[a.jsx("span",{className:"interaction-panel__option-icon material-symbols-rounded",children:A.icon}),a.jsx("span",{className:"interaction-panel__option-copy",children:a.jsxs("span",{className:"interaction-panel__option-text",children:[a.jsx("span",{className:"interaction-panel__option-label",children:E.label}),E.description&&a.jsx("span",{className:"interaction-panel__option-description",children:E.description})]})})]},B):a.jsx(Oe,{block:!0,"data-option-index":D,tabIndex:H?0:-1,className:`interaction-panel__option interaction-panel__option--question ${H?"is-active":""}`.trim(),onFocus:()=>r(D),onKeyDown:U=>N(U,D),onClick:()=>R(E),children:a.jsxs("span",{className:"interaction-panel__option-main",children:[a.jsxs("span",{className:"interaction-panel__option-index","aria-hidden":"true",children:[D+1,"."]}),a.jsx("span",{className:"interaction-panel__option-label",children:E.label}),E.description&&a.jsx("span",{className:"interaction-panel__option-side",children:Ew(E.description)})]})},B)}),x&&a.jsxs(Oe,{type:"text",className:"interaction-panel__toggle",onClick:C,children:[a.jsx("span",{className:"interaction-panel__toggle-label",children:c(h?"chat.permissionCollapseOptions":"chat.permissionExpandOptions")}),a.jsx("span",{className:"interaction-panel__toggle-icon material-symbols-rounded",children:h?"expand_less":"expand_more"})]})]})})}const Rw=900,jw=8,Pc=e=>e.scriptPath!=null&&e.scriptPath.trim()!==""?`script:${e.scriptPath}`:e.step==="worktree_creating"||e.step==="worktree_created"?"worktree:create":e.step==="environment_resolving"||e.step==="environment_skipped"?"environment":e.step==="environment_script_output"&&e.scriptFileName!=null?`script:${e.scriptFileName}`:e.step,Iw=e=>e.some(t=>t.step==="worktree_created"&&t.status==="success"),Dw=e=>e.some(t=>t.step==="environment_script_running"||t.step==="environment_script_succeeded"||t.step==="environment_script_failed"||t.step==="environment_skipped"),Lw=(e,t)=>e.step==="worktree_preparing"&&e.status==="running"&&Iw(t)?{...e,status:"success"}:e.step==="environment_resolving"&&e.status==="running"&&Dw(t)?{...e,status:"success"}:e,Aw=e=>{switch(e){case"success":return"check_circle";case"error":return"error";case"skipped":return"remove_circle";default:return"sync"}},Wu=e=>{switch(e.step){case"worktree_preparing":return"chat.sessionCreationProgress.worktreePreparing";case"worktree_creating":return"chat.sessionCreationProgress.worktreeCreating";case"worktree_created":return"chat.sessionCreationProgress.worktreeCreated";case"environment_resolving":return"chat.sessionCreationProgress.environmentResolving";case"environment_script_running":return"chat.sessionCreationProgress.environmentScriptRunning";case"environment_script_output":return"chat.sessionCreationProgress.environmentScriptRunning";case"environment_script_succeeded":return"chat.sessionCreationProgress.environmentScriptSucceeded";case"environment_script_failed":return"chat.sessionCreationProgress.environmentScriptFailed";case"environment_skipped":return"chat.sessionCreationProgress.environmentSkipped";case"workspace_ready":return"chat.sessionCreationProgress.workspaceReady";case"workspace_failed":return"chat.sessionCreationProgress.workspaceFailed"}},Bw=e=>e.scriptFileName??e.environmentId??e.worktreePath??e.message,Ow=e=>{if(!(e.stream==null||e.output==null||e.output===""))return{stream:e.stream,output:e.output}},$u=e=>e.map(t=>t.output).join(""),Fw=e=>{if(e==="")return 0;const t=e.replace(/\r\n/g,`
|
|
36
|
-
`).replace(/\r/g,`
|
|
37
|
-
`),s=t.endsWith(`
|
|
38
|
-
`)?t.slice(0,-1):t;return s===""?1:s.split(`
|
|
39
|
-
`).length},Ww=e=>{const t=new TextEncoder().encode(e).length;if(t<1024)return`${t} B`;const s=t/1024;if(s<1024)return`${s<10?s.toFixed(1):Math.round(s)} KB`;const i=s/1024;return`${i<10?i.toFixed(1):Math.round(i)} MB`},$w=(e,t)=>{if(e.length===0)return;const s=$u(e),i=Fw(s),n=Ww(s);return{hasLongOutput:i>jw||s.length>Rw,label:t("chat.sessionCreationProgress.outputSummary",{lines:i,size:n})}},Hw=(e,t)=>({...e,step:e.step==="environment_script_output"?"environment_script_running":e.step,outputChunks:t});function Kw({detail:e,item:t,outputId:s,summary:i}){const{t:n}=Z(),r=m.useRef(null),[o,l]=m.useState(!1),[c,h]=m.useState(!0),u=m.useMemo(()=>$u(t.outputChunks),[t.outputChunks]),d=n("chat.sessionCreationProgress.outputLabel",{script:e??n(Wu(t))}),p=!c||i.hasLongOutput;m.useEffect(()=>{!c||r.current==null||(r.current.scrollTop=r.current.scrollHeight)},[o,u,c]);const f=()=>{const _=r.current;_!=null&&(_.scrollTop=_.scrollHeight,h(!0))};return a.jsxs("span",{id:s,className:`session-creation-progress__step-output ${o?"is-expanded":""}`,"aria-label":d,children:[p&&a.jsxs("span",{className:"session-creation-progress__output-toolbar",children:[!c&&a.jsx("button",{type:"button",className:"session-creation-progress__output-action","aria-label":n("chat.sessionCreationProgress.outputFollow"),title:n("chat.sessionCreationProgress.outputFollow"),onClick:f,children:a.jsx("span",{className:"material-symbols-rounded",children:"vertical_align_bottom"})}),i.hasLongOutput&&a.jsx("button",{type:"button",className:"session-creation-progress__output-action","aria-label":n(o?"chat.sessionCreationProgress.outputRestore":"chat.sessionCreationProgress.outputMaximize"),title:n(o?"chat.sessionCreationProgress.outputRestore":"chat.sessionCreationProgress.outputMaximize"),onClick:()=>l(_=>!_),children:a.jsx("span",{className:"material-symbols-rounded",children:o?"close_fullscreen":"open_in_full"})})]}),a.jsx("span",{ref:r,className:"session-creation-progress__output-body",onScroll:()=>{const _=r.current;if(_==null)return;const g=_.scrollHeight-_.scrollTop-_.clientHeight;h(g<24)},children:t.outputChunks.map((_,g)=>a.jsx("span",{className:`session-creation-progress__output-line session-creation-progress__output-line--${_.stream}`,children:_.output},`${_.stream}:${g}`))})]})}function zw({item:e}){const{t}=Z(),s=m.useId(),[i,n]=m.useState(!1),r=Bw(e),o=$w(e.outputChunks,t),l=o!=null,c=r!=null&&r.trim()!==""||l;return a.jsxs("div",{className:`session-creation-progress__step session-creation-progress__step--${e.status}`,children:[a.jsx("span",{className:"session-creation-progress__step-icon material-symbols-rounded",children:Aw(e.status)}),a.jsxs("span",{className:"session-creation-progress__step-copy",children:[a.jsx("span",{className:"session-creation-progress__step-title",children:t(Wu(e))}),c&&a.jsxs("span",{className:"session-creation-progress__step-detail-row",children:[l&&a.jsx("button",{type:"button",className:"session-creation-progress__output-toggle","aria-controls":s,"aria-expanded":i,"aria-label":t(i?"chat.sessionCreationProgress.outputCollapse":"chat.sessionCreationProgress.outputExpand"),title:t(i?"chat.sessionCreationProgress.outputCollapse":"chat.sessionCreationProgress.outputExpand"),onClick:()=>n(h=>!h),children:a.jsx("span",{className:"material-symbols-rounded",children:i?"expand_more":"chevron_right"})}),r!=null&&r.trim()!==""&&a.jsx("span",{className:"session-creation-progress__step-detail",title:r,children:r}),o!=null&&a.jsx("span",{className:"session-creation-progress__step-output-summary",children:o.label})]}),i&&o!=null&&a.jsx(Kw,{detail:r,item:e,outputId:s,summary:o})]})]})}function Rc({collapseWhenComplete:e=!1,progress:t}){const{t:s}=Z(),i=m.useId(),n=m.useMemo(()=>{const u=new Map;for(const d of t){const p=Pc(d),f=u.get(p),_=Ow(d),g=(f==null?void 0:f.outputChunks)??[],v=_==null?g:[...g,_];if(d.step==="environment_script_output"&&f!=null){u.set(p,{...f,outputChunks:v});continue}u.set(p,Hw(d,v))}return Array.from(u.values()).map(d=>Lw(d,t))},[t]),r=n.some(u=>u.status==="error"||u.step==="workspace_failed"),o=n.some(u=>u.status==="success"&&u.step==="workspace_ready"),l=e&&o&&!r,[c,h]=m.useState(l);return m.useEffect(()=>{if(l){h(!0);return}o||h(!1)},[o,l]),n.length===0?a.jsxs("div",{className:"session-creation-progress session-creation-progress--simple",role:"status",children:[a.jsx("span",{className:"material-symbols-rounded",children:"hourglass_top"}),a.jsx("span",{children:s("common.creatingChat")})]}):a.jsxs("div",{className:`session-creation-progress ${c?"is-collapsed":""}`,role:"status","aria-live":"polite",children:[a.jsxs("button",{type:"button",className:"session-creation-progress__title","aria-controls":i,"aria-expanded":!c,onClick:()=>h(u=>!u),children:[a.jsx("span",{className:"session-creation-progress__title-icon material-symbols-rounded",children:"account_tree"}),a.jsx("span",{className:"session-creation-progress__title-copy",children:a.jsx("span",{className:"session-creation-progress__title-main",children:s("chat.sessionCreationProgress.title")})}),a.jsx("span",{className:"session-creation-progress__toggle material-symbols-rounded",children:"expand_more"})]}),a.jsx("div",{id:i,className:"session-creation-progress__steps",hidden:c,children:n.map(u=>a.jsx(zw,{item:u},Pc(u)))})]})}function Uw({anchorId:e,items:t,originalMessage:s,sessionId:i,targetToolUseId:n,footer:r}){const{t:o}=Z(),[l]=Cr(),c=l.get("debug")==="true",[h,u]=m.useState(!1);if(t.length===0)return null;const d=$b(t,o),p=n!=null&&n!==""&&t.some(_=>_.item.id===n),f=h||p;return t.length===1?a.jsx(Mo,{anchorId:e,canEdit:!1,canFork:!1,canRecall:!1,isDebugMode:c,isEditing:!1,message:s,sessionId:i,onFork:()=>{},onRecall:()=>{},onStartEditing:()=>{},children:a.jsxs("div",{id:e,className:"tool-group-container",children:[a.jsx("div",{className:"tool-group-wrapper single-item","data-tool-use-id":t[0].item.id,children:a.jsx(bn,{item:t[0].item,resultItem:t[0].resultItem})}),r&&c&&a.jsx("div",{className:"tool-group-footer-wrapper",children:a.jsx(Po,{msg:r.originalMessage,isUser:!1})})]})}):a.jsx(Mo,{anchorId:e,canEdit:!1,canFork:!1,canRecall:!1,isDebugMode:c,isEditing:!1,message:s,sessionId:i,onFork:()=>{},onRecall:()=>{},onStartEditing:()=>{},children:a.jsxs("div",{id:e,className:"tool-group-container",children:[a.jsxs("div",{className:"tool-group-wrapper card-style",children:[a.jsxs("div",{className:"tool-group-header","aria-expanded":f,onClick:()=>u(!h),children:[a.jsx("div",{className:"header-left",children:a.jsx("span",{children:d})}),a.jsx("span",{className:`material-symbols-rounded expand-icon ${f?"is-expanded":""}`,children:"chevron_right"})]}),a.jsx("div",{className:`tool-group-list-shell ${f?"expanded":"collapsed"}`,"aria-hidden":!f,children:a.jsx("div",{className:"tool-group-list",children:t.map((_,g)=>a.jsx(bn,{item:_.item,resultItem:_.resultItem},_.item.id||g))})})]}),r&&c&&a.jsx("div",{className:"tool-group-footer-wrapper",children:a.jsx(Po,{msg:r.originalMessage,isUser:!1})})]})})}const qw=(e,t)=>{if(e.anchorId!==t.anchorId||e.items.length!==t.items.length||e.targetToolUseId!==t.targetToolUseId)return!1;for(let s=0;s<e.items.length;s++)if(e.items[s].item!==t.items[s].item||e.items[s].resultItem!==t.items[s].resultItem)return!1;return e.originalMessage!==t.originalMessage||e.sessionId!==t.sessionId?!1:e.footer==null&&t.footer==null?!0:e.footer==null||t.footer==null?!1:e.footer.originalMessage===t.footer.originalMessage&&e.footer.createdAt===t.footer.createdAt&&e.footer.model===t.footer.model&&e.footer.usage===t.footer.usage},Vw=lt.memo(Uw,qw),Gw=e=>`status-notice-${e.replace(/[^\w-]/g,"-")}`,Yw=e=>`workspace-changes-${e.replace(/[^\w-]/g,"-")}`;function Hu({isReady:e,isAgentRoomSession:t,agentRoomSourceMembers:s,canonicalSessionId:i,messages:n,session:r,sessions:o=r==null?[]:[r],targetMessageId:l,targetToolUseId:c,sessionInfo:h,sessionCompactionEvents:u=[],sessionWorkspaceChanges:d=[],historyStatusNotices:p,historyCreationProgress:f=[],sessionActivityLabel:_,queuedMessages:g,onRetryConnection:v,interactionRequest:b,onInteractionResponse:x,setMessages:P,onClearMessages:y,placeholder:S,newSessionGuide:T,modelMenuGroups:j,builtinPreviewModelOptions:I,modelSearchOptions:R,recommendedModelOptions:O,servicePreviewModelOptions:k,onToggleRecommendedModel:N,updatingRecommendedModelValue:C,selectedModel:w,modelForQuery:M,onModelChange:E,effort:D,effortOptions:A,onEffortChange:B,permissionMode:H,permissionModeOptions:U,onPermissionModeChange:W,selectedAdapter:z,adapterOptions:F,hiddenBuiltinAdapterOptions:te,onAdapterChange:ie,selectedAccount:ue,accountOptions:pe,showAccountSelector:Y,onAccountChange:be,modelUnavailable:ye,hasAvailableModels:he,agentRoomTranscript:$,contextReferenceRequest:de,hideHistoryTimeline:oe=!1,onOpenUrlInAppBrowser:_e,onOpenWorkspaceFile:ce,workspaceRootPath:We,embeddedSessionChrome:we=!1,navigateOnCreate:Se=!0,onSessionCreated:me,workspaceSourceSessionId:Ge,senderAutoFocusKey:ae}){var Ol,Fl,Wl,$l,Hl;const{t:ee}=Z(),{message:Re}=zt.useApp(),Ve=ii(),Ue=vs(),{isCompactLayout:Qe}=$s(),{data:Xe}=Qt("/api/config",Ia),it=m.useMemo(()=>xp(Xe),[Xe]),Ie=m.useMemo(()=>{var L,G,Ce;return xg((Ce=(G=(L=Xe==null?void 0:Xe.sources)==null?void 0:L.merged)==null?void 0:G.general)==null?void 0:Ce.messageLinks)},[(Wl=(Fl=(Ol=Xe==null?void 0:Xe.sources)==null?void 0:Ol.merged)==null?void 0:Fl.general)==null?void 0:Wl.messageLinks]),Ee=m.useRef(!1),et=Ri(Ul),ot=c_(Ul),[q,Ae]=m.useState(()=>({...xo})),[Pe,tt]=m.useState(()=>({...Cp})),[le,ge]=m.useState(void 0),Je=Np(r),It=Tp(r),V=m.useCallback(L=>{et!=null&&ot(void 0),me==null||me(L)},[me,et,ot]);m.useEffect(()=>{!Je||et==null||ot(void 0)},[Je,et,ot]);const{creationProgress:ne,isCreating:ve,isStopping:Ke,send:Q,sendContent:$e,retrySessionCreation:Dt,enqueueContent:yt,removeQueuedContent:ht,moveQueuedContent:He,reorderQueuedContent:se,editMessage:st,forkMessage:at,interrupt:De,clearMessages:xt,recallMessage:Wt}=k_({canonicalSessionId:i,session:r,modelForQuery:M,hasAvailableModels:he,effort:D,permissionMode:H,adapter:z,account:ue,workspaceSourceSessionId:Ge,navigateOnCreate:Se,collapseSenderHeaderOnCreate:!we,onSessionCreated:V,sessionTargetDraft:q,sessionCreationContext:It?et:void 0,workspaceDraft:Pe,workspaceDraftDirty:Ee.current,workspaceConfigReady:Xe!=null,onClearMessages:y}),Me=$!=null,oi=m.useMemo(()=>$==null?null:{type:"init",uuid:$.room.id,model:"agent-room",version:"agent-room",tools:[],slashCommands:[],cwd:"",agents:Ep($.members).map(L=>L.value.slice(1)),title:$.room.title},[$]),ai=ve||(r==null?void 0:r.status)==="running",bs=(Me?$.room.messages.length:n.length)+(Me?0:u.length)+(Me?0:d.length)+p.length+ne.length+f.length+(ai?1:0),In=e||bs>0||Je&&(r==null?void 0:r.status)!=="running",{hasScrollableContent:Dn,messagesEndRef:zr,messagesContainerRef:Hs,messagesContentRef:os,scrollVersion:Ln,showScrollBottom:li,scrollToBottom:Ps}=Sg({contentVersion:bs}),Li=m.useRef(!1),ci=m.useRef(""),Ks=m.useRef(""),Ai=m.useRef(0),[An,Bi]=m.useState(null),[Oi,ys]=m.useState(new Set),[Fi,Bn]=m.useState(new Set),[hi,es]=m.useState("steer"),[X,nt]=m.useState(!1),[Ct,Rs]=m.useState(null),[$f,Ur]=m.useState(!1),[zs,qr]=m.useState(null),[On,Wi]=m.useState(0),ts=(b==null?void 0:b.payload.options)??[],Vr=m.useMemo(()=>Wg(Xe),[Xe]),Hf=(T==null?void 0:T.announcements)??Vr.announcements,Kf=(T==null?void 0:T.startupPresets)??Vr.startupPresets,zf=(T==null?void 0:T.builtinActions)??Vr.builtinActions,bl=L=>({id:C_(),role:"user",content:L,createdAt:Date.now()}),yl=()=>(r==null?void 0:r.id)!=null||Ip(q)?!0:(Re.warning(ee("chat.sessionTarget.missingResourceWarning")),!1),Uf=m.useCallback(async L=>{try{const G=Ie.workspaceFileOpener;(r==null?void 0:r.id)!=null&&r.id!==""?await Md(r.id,L.path,{line:L.line,column:L.column,opener:G}):await Pd(L.path,{line:L.line,column:L.column,opener:G})}catch(G){Re.error(ns(G,ee("chat.workspaceFileExternalOpenFailed")))}},[Re,Ie.workspaceFileOpener,r==null?void 0:r.id,ee]),qf=async(L,G)=>{if(!yl())return!1;const Ce=!(r!=null&&r.id)&&(T==null?void 0:T.transformContent)!=null?T.transformContent(L):L,Ne=G??hi;if(r!=null&&r.id&&r.status==="running"){const je=await yt(Ne,Ce);return je&&Ct!=null&&(Rs(null),es("steer")),je}if(!(r!=null&&r.id)){const je=await $e(Ce,G);return je&&Ct!=null&&(Rs(null),es("steer")),je}const ke=await $e(Ce,G);return ke&&(P(je=>[...je,bl(Ce)]),Ct!=null&&(Rs(null),es("steer"))),ke},Vf=async(L,G)=>{if(!yl())return!1;const Ce=G??hi,Ne=!(r!=null&&r.id)&&(T==null?void 0:T.transformText)!=null?T.transformText(L):L;if(r!=null&&r.id&&r.status==="running"){const je=await yt(Ce,[{type:"text",text:Ne.trim()}]);return je&&Ct!=null&&(Rs(null),es("steer")),je}if(!(r!=null&&r.id)){const je=await Q(Ne,G);return je&&Ct!=null&&(Rs(null),es("steer")),je}const ke=await Q(Ne,G);return ke&&(P(je=>[...je,bl(Ne)]),Ct!=null&&(Rs(null),es("steer"))),ke},wl=async L=>{if($==null)return!1;const G=Pp(L,$.members);if(G.status==="empty")return!1;if(G.status==="missing")return Re.warning(ee("agentRoom.composer.error.missingTarget",{target:G.mention})),!1;if(G.status==="ambiguous")return Re.warning(ee("agentRoom.composer.error.ambiguousTarget",{target:G.mention})),!1;if(G.status==="empty-targeted-message")return Re.warning(ee("agentRoom.composer.error.emptyTargetedMessage",{target:G.previewLabel})),!1;Ur(!0);try{return await $.onSubmitMessage(Rp(G)),!0}catch(Ce){return console.error("Failed to send agent room message:",Ce),Re.error(ee("common.operationFailed")),!1}finally{Ur(!1)}},Gf=async L=>{if(L.filter(Ne=>Ne.type!=="text").length>0)return Re.warning(ee("agentRoom.composer.error.unsupportedAttachments")),!1;const Ce=L.filter(Ne=>Ne.type==="text").map(Ne=>Ne.text).join(`
|
|
40
|
-
`).trim();return wl(Ce)},Yf=L=>{const G=jp(L);qr({requestId:`${L.memberKey}:${Date.now()}:${Math.random().toString(16).slice(2)}`,content:[{type:"text",text:`${G} `}]})},Xf=()=>{qr({requestId:`host:${Date.now()}:${Math.random().toString(16).slice(2)}`,content:[]})};m.useEffect(()=>{Li.current=!1,ci.current="",Ks.current="",Bi(null),ys(new Set),Bn(new Set),Rs(null),es("steer"),Ur(!1),qr(null),ge(void 0),Ae((r==null?void 0:r.id)!=null?ql(r):{...xo})},[$==null?void 0:$.room.id,r==null?void 0:r.id,r==null?void 0:r.promptName,r==null?void 0:r.promptType]),m.useEffect(()=>{(r==null?void 0:r.id)==null&&(Ee.current=!1,tt({...it}))},[r==null?void 0:r.id]),m.useEffect(()=>{(r==null?void 0:r.id)==null&&(Ee.current||tt({...it}))},[it,r==null?void 0:r.id]),m.useEffect(()=>{Wi(0)},[b==null?void 0:b.id]),m.useEffect(()=>{if(ts.length===0){Wi(0);return}Wi(L=>Math.min(L,ts.length-1))},[ts.length]);const Sl=m.useCallback(L=>{ts.length!==0&&Wi(G=>gi(G,L,ts.length))},[ts.length]),Jf=m.useCallback(()=>{if(b==null)return;const L=ts[On]??ts[0];L!=null&&x(b.id,L.value??L.label)},[On,ts,b,x]);m.useEffect(()=>{!Li.current&&e&&Ve.hash===""&&(Ps("auto"),Li.current=!0)},[bs,e,Ve.hash,Ps]),m.useEffect(()=>{Ve.hash===""&&!li&&Ps("auto")},[bs,Ve.hash,Ps,li]);const Zf=L=>{let G=!1;Bi(Ce=>Ce!=null&&Ce!==L?(G=!0,Ce):L),G&&Re.warning(ee("chat.messageActions.editInProgress"))},Fn=An!=null,Qf=!we&&!Me&&!(r!=null&&r.id)&&n.length===0&&u.length===0&&d.length===0&&p.length===0,ep=m.useCallback(L=>{var je,as,At;if((r==null?void 0:r.id)!=null)return;L.mode!=null&&Ae(Ag(L));const G=Bg(L);G!=null&&(Ee.current=!0,tt(js=>({...js,...G})));const Ce=(je=L.model)==null?void 0:je.trim();Ce!=null&&Ce!==""&&E(Ce);const Ne=(as=L.adapter)==null?void 0:as.trim();Ne!=null&&Ne!==""&&ie(Ne);const ke=(At=L.account)==null?void 0:At.trim();ke!=null&&ke!==""&&be(ke),L.effort!=null&&B(L.effort),L.permissionMode!=null&&W(L.permissionMode),ge(Og(L))},[be,ie,B,E,W,r==null?void 0:r.id]),$i=m.useMemo(()=>{if(Me)return[];const L=Nw(n);if(u.length===0&&d.length===0)return L;const G=u.map(ke=>{const je=Da(ke,r==null?void 0:r.status),as=je===ke.status?ke:{...ke,status:je},At=dw(ee,as),js={id:`context-compaction:${ke.id}`,role:"system",content:"",createdAt:ke.createdAt};return{anchorId:Gw(ke.id),originalMessage:js,notice:At,type:"status-notice"}}),Ce=d.map(ke=>{const je={id:`workspace-changes:${ke.id}`,role:"system",content:"",createdAt:ke.createdAt};return{anchorId:Yw(ke.id),originalMessage:je,changes:ke,type:"workspace-changes"}}),Ne=ke=>ke.type==="message"&&ke.originalMessage.role==="user"?0:ke.type==="status-notice"?1:ke.type==="workspace-changes"?3:2;return[...L,...G,...Ce].map((ke,je)=>({item:ke,index:je})).sort((ke,je)=>{const as=ke.item.originalMessage.createdAt-je.item.originalMessage.createdAt;if(as!==0)return as;const At=Ne(ke.item)-Ne(je.item);return At!==0?At:ke.index-je.index}).map(ke=>ke.item)},[Me,n,r==null?void 0:r.status,u,d,ee]),Gr=m.useMemo(()=>ww({currentSession:r,messages:n,sessions:o}),[n,r,o]),tp=m.useCallback(L=>{const G=i??(r==null?void 0:r.id);G==null||G===""||Ue({pathname:`/session/${G}`,search:x_({currentSearch:Ve.search,rootSessionId:G,targetSessionId:L})})},[i,Ve.search,Ue,r==null?void 0:r.id]),Hi=m.useMemo(()=>decodeURIComponent(Ve.hash.replace(/^#/,"")),[Ve.hash]),kl=m.useMemo(()=>{if(c!=null&&c!==""){const L=$i.find(G=>G.type==="tool-group"&&G.items.some(Ce=>Ce.item.id===c));return(L==null?void 0:L.anchorId)??""}if(l!=null&&l!==""){const L=$i.find(G=>G.type==="message"&&G.originalMessage.id===l);return(L==null?void 0:L.anchorId)??""}return""},[$i,l,c]),di=m.useMemo(()=>Cw({renderItems:$i,collapsedTurnIds:Oi,expandedTurnIds:Fi,hashAnchorId:Hi!==""?Hi:kl,keepLastTurnExpanded:ve||(r==null?void 0:r.status)==="running"||(r==null?void 0:r.status)==="waiting_input"}),[Oi,Fi,Hi,ve,$i,r==null?void 0:r.status,kl]),xl=m.useMemo(()=>zv({interactionKind:b==null?void 0:b.payload.kind,labels:{failed:ee("chat.timeline.failed"),permission:ee("chat.timeline.permissionRequest"),running:ee("chat.timeline.running"),terminated:ee("chat.timeline.terminated"),waiting:ee("chat.timeline.waitingInput")},sessionStatus:ve?"running":r==null?void 0:r.status}),[b==null?void 0:b.payload.kind,ve,r==null?void 0:r.status,ee]),ss=m.useMemo(()=>Uv({currentStatus:xl,getForkCount:L=>{var G;return(G=Gr.get(L))==null?void 0:G.total},turns:di}),[xl,Gr,di]),sp=Vv({initialNodeId:ss.initialNodeId,nodes:ss.nodes}),{activeNodeIds:ip,activePathNodes:np,graphExpanded:rp,scrollSpyNodeIds:Yr,selectedNodeId:Xr,selectTimelineNode:Cl,setActiveNodeFromScroll:Nl,setGraphExpanded:op}=sp,ap=ve||(r==null?void 0:r.status)==="running"||(r==null?void 0:r.status)==="waiting_input",Tl=async L=>{await ht(L.id)&&(Rs({content:L.content}),es("steer"))},El=async(L,G)=>{await He(L.id,G)},Ml=!Me&&(b==null?void 0:b.payload.kind)==="permission",Pl=!Me&&!Fn&&b!=null?a.jsx(Pw,{interactionRequest:b,activeOptionIndex:On,permissionContext:b.payload.kind==="permission"?b.payload.permissionContext:void 0,deniedTools:b.payload.kind==="permission"?(($l=b.payload.permissionContext)==null?void 0:$l.deniedTools)??[]:[],reasons:b.payload.kind==="permission"?((Hl=b.payload.permissionContext)==null?void 0:Hl.reasons)??[]:[],onActiveOptionIndexChange:Wi,onMoveActiveOption:Sl,onInteractionResponse:x}):null,Us=Me?$.workspaceSessionId:r==null?void 0:r.id,Rl=Us!=null&&Us!=="",lp=Me?void 0:ve?"running":r==null?void 0:r.status,cp=!Me&&(ve||(r==null?void 0:r.status)==="running"),hp=Me?zs==null?void 0:zs.content:(Ct==null?void 0:Ct.content)??le,dp=!Me&&Ct!=null?ee("chat.queue.requeueMessage"):void 0,up=Me?ee("agentRoom.composer.placeholder"):(T==null?void 0:T.placeholder)??S,mp=Me?oi:h,jl=In||Me||di.length>0,qs=!we&&!Me&&!Qe&&!oe&&Dn&&jl&&ss.nodes.length>=2,Il=m.useCallback((L,G="smooth")=>{const Ce=ss.anchorIdByNodeId.get(L),Ne=os.current,ke=Ce==null?null:document.getElementById(Ce);Ne==null||ke==null||!Ne.contains(ke)||ke.scrollIntoView({block:"center",behavior:G})},[ss.anchorIdByNodeId,os]),Dl=m.useCallback(()=>{if(!qs||window.performance.now()<Ai.current)return;const L=Hs.current,G=os.current;if(L==null||G==null)return;const Ce=L.getBoundingClientRect(),Ne=L.scrollHeight-(L.scrollTop+L.clientHeight),ke=Ce.top+Math.min(Ce.height*.16,120);let je=null,as=Number.POSITIVE_INFINITY;if(Ne<=2){const At=[...ss.nodes].reverse().find(js=>Yr.has(js.id));je=(At==null?void 0:At.id)??null}if(je==null)for(const At of ss.nodes){if(!Yr.has(At.id))continue;const js=ss.anchorIdByNodeId.get(At.id),Jr=js==null?null:document.getElementById(js);if(Jr==null||!G.contains(Jr))continue;const Kl=Jr.getBoundingClientRect(),vp=Kl.top+Kl.height/2,zl=Math.abs(vp-ke);zl<as&&(as=zl,je=At.id)}je!=null&&je!==Xr&&Nl(je)},[ss.anchorIdByNodeId,ss.nodes,Yr,Xr,Hs,os,Nl,qs]),fp=m.useCallback((L,G)=>{Ai.current=window.performance.now()+650,Cl(L,G),Il(L)},[Il,Cl]);m.useEffect(()=>{const L=Hi;if(L===""){ci.current="";return}if(!e||ci.current===L)return;let G=null,Ce=null,Ne=null;const ke=()=>{const je=document.getElementById(L);return je==null?!1:(ci.current=L,je.scrollIntoView({block:"center",behavior:"auto"}),je.classList.add("is-anchor-target"),G=setTimeout(()=>{je.classList.remove("is-anchor-target")},1800),!0)};return ke()||(Ne=requestAnimationFrame(()=>{ke()||(Ce=setTimeout(()=>{ke()},120))})),()=>{Ne!=null&&cancelAnimationFrame(Ne),Ce!=null&&clearTimeout(Ce),G!=null&&clearTimeout(G)}},[Hi,bs,e,di]),m.useEffect(()=>{const L=c!=null&&c!==""?{key:"data-tool-use-id",value:c,targetKey:`tool:${c}`}:l!=null&&l!==""?{key:"data-message-id",value:l,targetKey:`message:${l}`}:void 0;if(L==null){Ks.current="";return}if(Ks.current===L.targetKey)return;const G=window.requestAnimationFrame(()=>{const Ce=os.current;if(Ce==null)return;const Ne=Array.from(Ce.querySelectorAll(`[${L.key}]`)).find(ke=>ke.getAttribute(L.key)===L.value);Ne!=null&&(Ks.current=L.targetKey,Ne.scrollIntoView({block:"center",behavior:"smooth"}))});return()=>{window.cancelAnimationFrame(G)}},[bs,di,os,l,c]),m.useEffect(()=>{if(!qs)return;const L=window.requestAnimationFrame(()=>{Dl()});return()=>{window.cancelAnimationFrame(L)}},[bs,Ln,qs,Dl]);const pp=(L,G)=>{ys(Ce=>{const Ne=new Set(Ce);return G?Ne.delete(L):Ne.add(L),Ne}),Bn(Ce=>{const Ne=new Set(Ce);return G?Ne.add(L):Ne.delete(L),Ne})},Ll=L=>{if(L==null)return null;const G=Math.floor(L/1e3);if(G<=0)return ee("chat.turnDurationUnderSecond");const Ce=Math.floor(G/3600),Ne=Math.floor(G%3600/60),ke=G%60;return Ce>0?[ee("chat.turnDurationHours",{count:Ce}),Ne>0?ee("chat.turnDurationMinutes",{count:Ne}):null].filter(Boolean).join(" "):Ne>0?[ee("chat.turnDurationMinutes",{count:Ne}),ke>0?ee("chat.turnDurationSeconds",{count:ke}):null].filter(Boolean).join(" "):ee("chat.turnDurationSeconds",{count:ke})},_p=L=>a.jsx("div",{className:`chat-turn-summary ${L.isCollapsed?"is-collapsed":"is-expanded"}`,children:a.jsxs("div",{className:"chat-turn-summary__content",children:[a.jsxs("div",{className:"chat-turn-summary__meta",children:[Ll(L.durationMs)!=null&&a.jsx("span",{className:"chat-turn-summary__time",children:ee("chat.turnProcessedDuration",{duration:Ll(L.durationMs)})}),a.jsx("span",{className:"chat-turn-summary__count",children:ee("chat.turnSummaryCount",{count:L.hiddenCount})})]}),a.jsx("button",{type:"button",className:"chat-turn-summary__toggle","aria-expanded":!L.isCollapsed,onClick:()=>pp(L.id,L.isCollapsed),children:a.jsx("span",{className:"material-symbols-rounded",children:"chevron_right"})})]})}),Wn=(L,G)=>L.type==="agent-room-child-request"?a.jsx("div",{id:L.anchorId,className:["chat-message-assistant","chat-message-agent-room-child-request",L.originalMessage.id===l?"is-targeted":""].filter(Boolean).join(" "),"data-message-id":L.originalMessage.id,children:a.jsx("div",{className:"message-body-container",children:a.jsx("div",{className:"bubble",children:a.jsx(lu,{request:L.request})})})},G??L.anchorId):L.type==="message"?a.jsx(By,{anchorId:L.anchorId,msg:L.message,isFirstInGroup:L.isFirstInGroup,isTargeted:L.originalMessage.id===l,originalMessage:L.originalMessage,isAgentRoomSession:t,agentRoomSourceMembers:s,session:r,sessionInfo:h,isEditing:An===L.originalMessage.id,isSessionBusy:ap,messageLinksConfig:Ie,onEditMessage:st,onForkMessage:at,onRecallMessage:Wt,onOpenUrlInAppBrowser:_e,onOpenWorkspaceFile:ce,onOpenWorkspaceFileInExternalOpener:Uf,workspaceRootPath:We,branchNavigation:Gr.get(L.originalMessage.id),onSwitchBranchSession:tp,onStartEditing:Zf,onCancelEditing:Ce=>{Bi(Ne=>Ne===Ce?null:Ne)},sessionId:r==null?void 0:r.id},G??L.anchorId):L.type==="status-notice"?a.jsxs("div",{id:L.anchorId,className:"chat-context-compaction-divider",role:"status","aria-live":"polite",children:[a.jsx("span",{className:"chat-context-compaction-divider__icon material-symbols-rounded","aria-hidden":"true",children:L.notice.icon}),a.jsx("span",{className:"chat-context-compaction-divider__text",children:L.notice.title})]},G??L.anchorId):L.type==="workspace-changes"?a.jsx("div",{id:L.anchorId,className:"chat-message-assistant chat-message-workspace-changes",children:a.jsx("div",{className:"message-body-container",children:a.jsx("div",{className:"bubble",children:a.jsx(ow,{changes:L.changes})})})},G??L.anchorId):a.jsx(Vw,{anchorId:L.anchorId,items:L.items,originalMessage:L.originalMessage,sessionId:r==null?void 0:r.id,targetToolUseId:c,footer:L.footer},G??L.id),ui=!we&&!Me;m.useEffect(()=>{!ui&&X&&nt(!1)},[X,ui]);const Al=L=>{Ee.current=!0,tt(L)},gp=ui&&X?Us!=null&&Us!==""?{type:"session",sessionId:Us}:{type:"draft",disabled:!Me&&ve,draftWorkspace:Pe,onDraftWorkspaceChange:Al}:void 0,Bl=a.jsxs(a.Fragment,{children:[Ml&&Pl,a.jsx(Rg,{messages:Me?[]:n}),!Fn&&a.jsx(cc,{mode:"next",items:Me?[]:g.next,onMove:(L,G)=>void El(L,G),onDelete:L=>void ht(L.id),onEdit:L=>void Tl(L),onReorder:L=>se("next",L)}),!Fn&&a.jsx(cc,{mode:"steer",items:Me?[]:g.steer,onMove:(L,G)=>void El(L,G),onDelete:L=>void ht(L.id),onEdit:L=>void Tl(L),onReorder:L=>se("steer",L)}),!Ml&&Pl,!Fn&&a.jsxs("div",{className:["sender-container",ui?"sender-container--chat-surface":""].filter(Boolean).join(" "),children:[a.jsx(Ed,{onSend:Me?wl:Vf,onSendContent:Me?Gf:qf,adapterLocked:Rl,sessionId:Us,sessionStatus:lp,onInterrupt:Me?()=>{}:De,stopLoading:Ke,onClear:Me?void 0:xt,sessionInfo:mp,interactionRequest:Me?null:b,onInteractionResponse:Me?void 0:x,interactionOptionNavigation:!Me&&b!=null&&ts.length>0?{optionCount:ts.length,activeIndex:On,onMove:Sl,onSubmit:Jf}:void 0,initialContent:hp,autoFocus:Me&&zs!=null||ae!=null,autoFocusKey:ae,placeholder:up,submitLabel:dp,submitLoading:Me?$f:void 0,modelMenuGroups:j,builtinPreviewModelOptions:I,modelSearchOptions:R,recommendedModelOptions:O,servicePreviewModelOptions:k,onToggleRecommendedModel:N,updatingRecommendedModelValue:C,selectedModel:w,onModelChange:E,effort:D,effortOptions:A,onEffortChange:B,permissionMode:H,permissionModeOptions:U,onPermissionModeChange:W,selectedAdapter:z,adapterOptions:F,hiddenBuiltinAdapterOptions:te,onAdapterChange:ie,selectedAccount:ue,accountOptions:pe,showAccountSelector:Y,onAccountChange:be,showStatusBarControlsInMore:ui&&X,statusBarGitControlsInMore:gp,modelUnavailable:ye,sessionTarget:we||Me?void 0:{draft:(r==null?void 0:r.id)!=null?ql(r):q,locked:(r==null?void 0:r.id)!=null,disabled:ve,onChange:Ae},agentRoomTargetMembers:Me?$.members:void 0,queueMode:Me?void 0:hi,onQueueModeChange:Me?void 0:es,contextReferenceRequest:de},Me?(zs==null?void 0:zs.requestId)??$.room.id:void 0),!we&&a.jsx(Mp,{draftWorkspace:Pe,isCreating:!Me&&ve,sessionId:Us,adapterLocked:Rl,isThinking:cp,modelUnavailable:ye,selectedAdapter:z,adapterOptions:F,hiddenBuiltinAdapterOptions:te,onAdapterChange:ie,selectedAccount:ue,accountOptions:pe,showAccountSelector:Y,collapsible:ui,collapsed:X,onCollapsedChange:nt,onAccountChange:be,onDraftWorkspaceChange:Al})]})]});return a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:["chat-history-view__messages-frame",qs?"has-history-timeline":""].filter(Boolean).join(" "),children:[a.jsxs("div",{className:`chat-messages ${jl?"ready":""}`,ref:Hs,children:[a.jsxs("div",{className:"chat-messages-content",ref:os,children:[!(r!=null&&r.id)&&ve&&a.jsx(Rc,{progress:ne}),(r==null?void 0:r.id)!=null&&f.length>0&&a.jsx(Rc,{progress:f,collapseWhenComplete:!0}),Me?a.jsx(yg,{room:$.room,onOpenHostSession:$.onOpenHostSession,onOpenRun:$.onOpenRun,onReplyToRun:$.onReplyToRun,onRespondInteraction:$.onRespondInteraction,onSelectHostTarget:Xf,onSelectMemberTarget:Yf}):di.map(L=>L.isExpandable?a.jsxs("div",{className:`chat-turn ${L.isCollapsed?"is-collapsed":"is-expanded"}`,children:[Wn(L.items[0],`${L.id}:leading`),a.jsxs("div",{className:`chat-turn__summary-region ${L.isCollapsed?"is-collapsed":"is-expanded"}`,children:[_p(L),a.jsx("div",{className:`chat-turn__collapsible ${L.isCollapsed?"is-collapsed":"is-expanded"}`,"aria-hidden":L.isCollapsed,children:a.jsx("div",{className:"chat-turn__collapsible-inner",children:L.items.slice(1,-1).map(G=>Wn(G))})})]}),Wn(L.items[L.items.length-1],`${L.id}:trailing`)]},L.id):a.jsx(lt.Fragment,{children:L.items.map(G=>Wn(G))},L.id)),p.map(L=>a.jsx(Oy,{notice:L,onRetryConnection:v,onRetrySessionCreation:()=>{Dt()}},L.id)),ai&&a.jsx("div",{className:"chat-thinking-indicator",role:"status","aria-live":"polite",children:a.jsx("span",{className:"chat-thinking-indicator__text",children:_??ee("chat.thinking")})}),a.jsx("div",{ref:zr})]}),li&&!qs&&a.jsx("div",{className:"scroll-bottom-btn",onClick:()=>Ps(),children:a.jsx("span",{className:"material-symbols-rounded",children:"arrow_downward"})})]}),qs&&a.jsx(jv,{className:"chat-history-view__timeline",graphExpanded:rp,graphToggleLabels:{collapse:ee("chat.timeline.collapseGraph"),expand:ee("chat.timeline.expandGraph")},nodes:ss.nodes,activeNodeIds:ip,pathNodes:np,selectedNodeId:Xr,onGraphExpandedChange:op,onSelectNode:fp})]}),!Me&&Qf?a.jsx("div",{className:["new-session-guide-wrapper",Qe?"is-compact-layout":""].filter(Boolean).join(" "),children:a.jsx(Yg,{announcements:Hf,startupPresets:Kf,builtinActions:zf,composer:Bl,onApplyStarter:ep})}):a.jsx($d,{children:Bl})]})}const Xw=()=>({key:"",value:""});function Jw({cwd:e,env:t,onChange:s}){const{t:i}=Z(),n=t??[],r=(o,l)=>{s({env:n.map((c,h)=>h===o?{...c,...l}:c)})};return a.jsxs("details",{className:"chat-header-run-command-env",children:[a.jsxs("summary",{className:"chat-header-run-command-env__summary",children:[a.jsxs("span",{className:"chat-header-run-command-env__summary-label",children:[a.jsx("span",{className:"material-symbols-rounded",children:"tune"}),a.jsx("span",{children:i("chat.interactionPanel.runCommandAdvanced")})]}),a.jsx("span",{className:"material-symbols-rounded chat-header-run-command-env__chevron",children:"keyboard_arrow_down"})]}),a.jsxs("div",{className:"chat-header-run-command-env__body",children:[a.jsx(Kt,{className:"chat-header-run-command-env__cwd",value:e??"",placeholder:i("chat.interactionPanel.runCommandCwdPlaceholder"),"aria-label":i("chat.interactionPanel.runCommandCwd"),onChange:o=>s({cwd:o.target.value})}),n.map((o,l)=>a.jsxs("div",{className:"chat-header-run-command-env__row",children:[a.jsx(Kt,{value:o.key,placeholder:i("chat.interactionPanel.runCommandEnvKeyPlaceholder"),"aria-label":i("chat.interactionPanel.runCommandEnvKey"),onChange:c=>r(l,{key:c.target.value})}),a.jsx(Kt,{value:o.value,placeholder:i("chat.interactionPanel.runCommandEnvValuePlaceholder"),"aria-label":i("chat.interactionPanel.runCommandEnvValue"),onChange:c=>r(l,{value:c.target.value})}),a.jsx(Oe,{type:"text",size:"small",className:"chat-header-run-command-env__delete",icon:a.jsx("span",{className:"material-symbols-rounded",children:"delete"}),title:i("chat.interactionPanel.removeRunCommandEnv"),"aria-label":i("chat.interactionPanel.removeRunCommandEnv"),onClick:()=>s({env:n.filter((c,h)=>h!==l)})})]},l)),a.jsx(Oe,{type:"text",className:"chat-header-run-command-env__add",icon:a.jsx("span",{className:"material-symbols-rounded",children:"add"}),onClick:()=>s({env:[...n,Xw()]}),children:i("chat.interactionPanel.addRunCommandEnv")})]})]})}const to=["terminal","slideshow","play_arrow","code","deployed_code","build","rocket_launch","data_object","integration_instructions","sync","refresh","bug_report","science","web","storage","database","cloud","settings","tune","bolt","task_alt"];function Zw({onChange:e,value:t}){const{t:s}=Z(),[i,n]=m.useState(""),r=(t==null?void 0:t.trim())||"terminal",o=m.useMemo(()=>{const l=i.trim().toLowerCase();return(to.includes(r)?to:[r,...to]).filter(h=>l===""||h.toLowerCase().includes(l)).map(h=>({value:h,label:a.jsxs("span",{className:"chat-header-run-command-editor__icon-option",children:[a.jsx("span",{className:"material-symbols-rounded",children:h}),a.jsx("span",{children:h})]})}))},[r,i]);return a.jsx(Hd,{className:"chat-header-run-command-editor__icon",value:r,suffixIcon:null,optionFilterProp:"value",popupMatchSelectWidth:220,popupClassName:"chat-header-run-command-editor__icon-popup",mobileTitle:s("chat.interactionPanel.runCommandIcon"),options:o,optionRender:l=>{const c=String(l.value);return a.jsxs("span",{className:"chat-header-run-command-editor__icon-option",children:[a.jsx("span",{className:"material-symbols-rounded",children:c}),a.jsx("span",{children:c})]})},labelRender:()=>a.jsx("span",{className:"material-symbols-rounded",children:r}),popupRender:l=>a.jsxs("div",{className:"chat-header-run-command-editor__icon-panel",children:[a.jsx(Kt,{autoFocus:!0,value:i,placeholder:s("chat.interactionPanel.runCommandIconPlaceholder"),className:"chat-header-run-command-editor__icon-search",onChange:c=>n(c.target.value),onKeyDown:c=>c.stopPropagation(),onMouseDown:c=>c.stopPropagation()}),l]}),"aria-label":s("chat.interactionPanel.runCommandIcon"),onChange:e,onOpenChange:l=>{l||n("")}})}const Ku=18,Qw=5,eS=10,tS={automaticLayout:!0,contextmenu:!0,fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",fontSize:12,folding:!1,glyphMargin:!1,lineDecorationsWidth:0,lineHeight:Ku,lineNumbers:"off",lineNumbersMinChars:0,minimap:{enabled:!1},overviewRulerBorder:!1,padding:{top:0,bottom:0},renderLineHighlight:"line",scrollBeyondLastLine:!1,scrollbar:{alwaysConsumeMouseWheel:!1,useShadows:!1},tabSize:2,wordWrap:"on"};function sS({canSave:e,command:t,hasCommands:s,onBack:i,onCancel:n,onChange:r,onDelete:o,onRun:l,onRunShortcut:c,onSave:h,onSaveShortcut:u}){const{t:d}=Z(),p=Ka(),f=m.useRef({canSave:e,onRunShortcut:c,onSaveShortcut:u}),_=t.script.replace(/\r\n/g,`
|
|
41
|
-
`).replace(/\r/g,`
|
|
42
|
-
`).split(`
|
|
43
|
-
`).length,g=Math.min(eS,Math.max(Qw,_));m.useEffect(()=>{f.current={canSave:e,onRunShortcut:c,onSaveShortcut:u}},[e,c,u]);const v=m.useCallback((b,x)=>{b.addCommand(x.KeyMod.CtrlCmd|x.KeyCode.KeyS,()=>{f.current.canSave&&f.current.onSaveShortcut()}),b.addCommand(x.KeyMod.CtrlCmd|x.KeyCode.Enter,()=>{f.current.canSave&&f.current.onRunShortcut()})},[]);return a.jsxs("div",{className:"chat-header-run-command-panel chat-header-run-command-editor",children:[a.jsxs("div",{className:"chat-header-run-command-editor__meta",children:[a.jsx(Zw,{value:t.icon??"",onChange:b=>r({icon:b})}),a.jsx(Kt,{className:"chat-header-run-command-editor__title",value:t.name,placeholder:d("chat.interactionPanel.runCommandNamePlaceholder"),"aria-label":d("chat.interactionPanel.runCommandName"),onChange:b=>r({name:b.target.value})})]}),a.jsxs("div",{className:"chat-header-run-command-editor__monaco",style:{height:g*Ku},children:[a.jsx(Rd,{value:t.script,language:"shell",theme:p,loading:null,onChange:b=>r({script:b??""}),onMount:v,options:tS}),t.script===""&&a.jsx("div",{className:"chat-header-run-command-editor__placeholder",children:d("chat.interactionPanel.runCommandScriptPlaceholder")})]}),a.jsx(Jw,{cwd:t.cwd,env:t.env,onChange:r}),a.jsxs("div",{className:"chat-header-run-command-editor__footer",children:[s&&a.jsx(Oe,{type:"text",size:"small",className:"chat-header-run-command-editor__icon-button",icon:a.jsx("span",{className:"material-symbols-rounded",children:"arrow_back"}),title:d("chat.interactionPanel.runCommandBackToList"),"aria-label":d("chat.interactionPanel.runCommandBackToList"),onClick:i}),a.jsx(Oe,{type:"text",size:"small",className:"chat-header-run-command-editor__icon-button",icon:a.jsx("span",{className:"material-symbols-rounded",children:"delete"}),title:d("chat.interactionPanel.removeRunCommand"),"aria-label":d("chat.interactionPanel.removeRunCommand"),onClick:o}),a.jsx("div",{className:"chat-header-run-command-editor__spacer"}),a.jsx(Oe,{type:"text",size:"small",className:"chat-header-run-command-editor__icon-button",icon:a.jsx("span",{className:"material-symbols-rounded",children:"close"}),title:d("common.cancel"),"aria-label":d("common.cancel"),onClick:n}),a.jsx(Oe,{type:"text",size:"small",className:"chat-header-run-command-editor__icon-button",disabled:!e,icon:a.jsx("span",{className:"material-symbols-rounded",children:"save"}),title:d("config.actions.save"),"aria-label":d("config.actions.save"),onClick:h}),a.jsx(Oe,{type:"text",size:"small",className:"chat-header-run-command-editor__icon-button",disabled:!e,icon:a.jsx("span",{className:"material-symbols-rounded",children:"play_arrow"}),title:d("chat.interactionPanel.runCommandRun"),"aria-label":d("chat.interactionPanel.runCommandRun"),onClick:l})]})]})}const Do=e=>`chatInteractionLastRunCommand:${e}`,za=()=>`run-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`,Ua="terminal",jc="run",iS=20,zu=/^[a-z_]\w*$/i,us=e=>typeof e=="string"?e.trim():"",nS=e=>typeof e=="string"?e:"",Ic=e=>`'${e.replaceAll("'","'\\''")}'`,rS=e=>{if(!Array.isArray(e))return[];const t=new Set,s=[];for(const i of e){if(i==null||typeof i!="object"||Array.isArray(i))continue;const n=i,r=us(n.key);!zu.test(r)||t.has(r)||(t.add(r),s.push({key:r,value:nS(n.value)}))}return s},oS=e=>{if(e==null||typeof e!="object"||Array.isArray(e))return null;const t=e,s=us(t.script);if(s==="")return null;const i=us(t.name),n=us(t.cwd),r=rS(t.env),o=us(t.icon)||Ua;return{...n!==""?{cwd:n}:{},...r.length>0?{env:r}:{},id:us(t.id)||za(),icon:o,...t.isFavorite===!0?{isFavorite:!0}:{},name:i,script:s}},Dc=()=>({icon:Ua,id:za(),name:"",script:""}),Lc=e=>({...e.cwd!=null?{cwd:e.cwd}:{},...e.env!=null?{env:e.env.map(t=>({...t}))}:{},...e.icon!=null?{icon:e.icon}:{},id:e.id,...e.isFavorite===!0?{isFavorite:!0}:{},name:e.name,script:e.script}),Lr=e=>us(e==null?void 0:e.icon)||Ua,Ar=e=>{if(e==null)return jc;const t=us(e.name);if(t!=="")return t;const s=e.script.split(/\r?\n/).map(n=>n.trim()).find(Boolean)??"";return Array.from(s).slice(0,iS).join("").trim()||jc},aS=e=>{const t=us(e.cwd),s=t===""?[]:[`cd ${Ic(t)}`],i=(e.env??[]).filter(n=>zu.test(n.key.trim())).map(n=>`export ${n.key.trim()}=${Ic(n.value)}`);return[...s,...i,e.script].join(`
|
|
44
|
-
`)},Uu=e=>{const t=e.trimEnd();return t===""?"":`${t}
|
|
45
|
-
exit $?`},Br=e=>{if(!Array.isArray(e))return[];const t=new Set,s=[];for(const i of e){const n=oS(i);if(n==null)continue;const r=t.has(n.id)?za():n.id;t.add(r),s.push({...n,id:r})}return s},lS=e=>Br((e==null?void 0:e.runCommands)??[]),cS=(e,t)=>{const s={...e??{}},i=Br(t);return i.length===0?delete s.runCommands:s.runCommands=i,s},Ac=e=>{if(typeof window>"u")return null;try{return us(window.localStorage.getItem(Do(e)))||null}catch{return null}},Bc=(e,t)=>{if(!(typeof window>"u"))try{if(t==null||t.trim()===""){window.localStorage.removeItem(Do(e));return}window.localStorage.setItem(Do(e),t.trim())}catch{}},hS=e=>e.map((t,s)=>({command:t,index:s})).sort((t,s)=>{const i=+(s.command.isFavorite===!0)-+(t.command.isFavorite===!0);return i===0?t.index-s.index:i}).map(t=>t.command);function dS({commands:e,menuIconClassName:t,runCommandTaskStatusByCommandId:s,onAdd:i,onDelete:n,onEdit:r,onRun:o,onTerminateTask:l,onToggleFavorite:c}){const{t:h}=Z(),u=m.useMemo(()=>hS(e),[e]);return a.jsxs("div",{className:"chat-header-run-command-panel chat-header-run-command-menu",children:[a.jsx("div",{className:"chat-header-run-command-menu__list",role:"menu",children:u.map((d,p)=>{var f,_;return a.jsxs(m.Fragment,{children:[p>0&&((f=u[p-1])==null?void 0:f.isFavorite)===!0&&d.isFavorite!==!0&&a.jsx(cr,{className:"chat-header-run-command-menu__divider"}),a.jsxs("div",{className:"chat-header-run-command-menu__row",children:[a.jsxs(Os,{className:"chat-header-run-command-menu__run",role:"menuitem",onClick:()=>o(d),children:[a.jsx("span",{className:t,children:Lr(d)}),a.jsx("span",{className:"chat-header-run-command-menu__name",children:Ar(d)}),((_=s.get(d.id))==null?void 0:_.isRunning)===!0&&a.jsx("span",{className:"chat-header-run-command-menu__status material-symbols-rounded",title:h("chat.interactionPanel.runTaskTerminate"),"aria-label":h("chat.interactionPanel.runTaskTerminate"),onClick:g=>{g.stopPropagation();const v=s.get(d.id);v!=null&&(l==null||l(v.terminalId))},children:"stop_circle"})]}),a.jsxs("div",{className:"chat-header-run-command-menu__actions",children:[a.jsx(Oe,{type:"text",size:"small",className:"chat-header-run-command-menu__action",icon:a.jsx("span",{className:`material-symbols-rounded ${d.isFavorite===!0?"is-filled":""}`,children:"star"}),title:h(d.isFavorite===!0?"chat.interactionPanel.unfavoriteRunCommand":"chat.interactionPanel.favoriteRunCommand"),"aria-label":h(d.isFavorite===!0?"chat.interactionPanel.unfavoriteRunCommand":"chat.interactionPanel.favoriteRunCommand"),onClick:()=>c(d.id)}),a.jsx(Oe,{type:"text",size:"small",className:"chat-header-run-command-menu__action",icon:a.jsx("span",{className:"material-symbols-rounded",children:"edit"}),title:h("chat.interactionPanel.editRunCommand"),"aria-label":h("chat.interactionPanel.editRunCommand"),onClick:()=>r(d)}),a.jsx(Oe,{type:"text",size:"small",className:"chat-header-run-command-menu__action",icon:a.jsx("span",{className:"material-symbols-rounded",children:"delete"}),title:h("chat.interactionPanel.removeRunCommand"),"aria-label":h("chat.interactionPanel.removeRunCommand"),onClick:()=>n(d.id)})]})]})]},d.id)})}),a.jsx(cr,{className:"chat-header-run-command-menu__divider"}),a.jsxs(Os,{className:"chat-header-run-command-menu__add",onClick:i,children:[a.jsx("span",{className:"material-symbols-rounded",children:"add_box"}),h("chat.interactionPanel.addRunCommand")]})]})}const uS="slideshow";function Oc({children:e,command:t,iconClassName:s,taskStatus:i,onTerminateTask:n,onPrimaryClick:r}){const{t:o}=Z(),l=m.useRef(!1),c=Ar(t),h=t==null?o("chat.interactionPanel.addRunCommand"):o("chat.interactionPanel.runCommandPrimary",{command:c}),u=f=>{var _;return((_=f.target)==null?void 0:_.closest(".chat-header-run-command-trigger__status"))!=null},d=f=>{f.button!==0||u(f)||(f.preventDefault(),f.stopPropagation(),l.current=!0,window.setTimeout(()=>{l.current=!1},0),r())},p=f=>{f.stopPropagation(),!l.current&&r()};return a.jsxs("div",{className:`chat-header-run-command-trigger ${e==null?"chat-header-run-command-trigger--solo":""}`.trim(),children:[a.jsxs(Oe,{type:"text",className:"chat-header-run-command-trigger__primary","data-dock-panel-no-resize":"true",title:h,"aria-label":h,onMouseDown:d,onClick:p,children:[a.jsx("span",{className:s,children:t==null?uS:Lr(t)}),t!=null&&a.jsx("span",{className:"chat-header-run-command-trigger__title",children:c}),(i==null?void 0:i.isRunning)===!0&&a.jsx("span",{className:"chat-header-run-command-trigger__status material-symbols-rounded",title:o("chat.interactionPanel.runTaskTerminate"),"aria-label":o("chat.interactionPanel.runTaskTerminate"),onClick:f=>{f.stopPropagation(),n==null||n(i.terminalId)},children:"stop_circle"})]}),e]})}function mS({commands:e,iconClassName:t,lastRunCommandId:s,menuIconClassName:i,runCommandTaskStatuses:n,onRunCommand:r,onTerminateRunCommandTask:o,recordRunCommand:l,saveCommands:c}){const{t:h}=Z(),{message:u}=zt.useApp(),[d,p]=m.useState(!1),[f,_]=m.useState("menu"),[g,v]=m.useState(null),[b,x]=m.useState(()=>Dc()),P=m.useRef(!1),y=m.useRef(null),S=m.useMemo(()=>new Map(n.map(F=>[F.commandId,F])),[n]),T=b.script.trim()!=="",j=m.useCallback(()=>{P.current=!1,y.current!=null&&(window.clearTimeout(y.current),y.current=null)},[]),I=F=>{j(),x(F==null?Dc():Lc(F)),v((F==null?void 0:F.id)??null),_("editor"),p(!0)},R=F=>{if(p(F),!F){j();return}if(e.length===0){I();return}_("menu")},O=()=>{if(!T)return null;const te=g!=null&&e.some(pe=>pe.id===g)?e.map(pe=>pe.id===g?b:pe):[...e,b],ie=Br(te);c(ie);const ue=ie.find(pe=>pe.id===b.id)??null;return ue!=null&&(v(ue.id),x(Lc(ue))),ue},k=()=>{if(g==null){p(!1);return}const F=e.filter(te=>te.id!==g);if(c(F),F.length===0){I();return}v(null),_("menu")},N=F=>{const te=e.filter(ie=>ie.id!==F);c(te),te.length===0&&I()},C=F=>{c(e.map(te=>te.id===F?{...te,isFavorite:te.isFavorite!==!0}:te))},w=()=>{O()!=null&&p(!1)},M=()=>{O()},E=()=>{const F=O();F!=null&&A(F),p(!1)},D=()=>{const F=O();F!=null&&A(F)},A=F=>{l(F.id),r(F)},B=d&&(f==="editor"||e.length===0);m.useEffect(()=>{if(!B){j();return}const F=te=>{if(!(te.key!=="Escape"&&te.key!=="Esc")){if(te.preventDefault(),te.stopPropagation(),P.current){p(!1),j();return}P.current=!0,u.info(h("chat.interactionPanel.runCommandEscClosePrompt")),y.current=window.setTimeout(()=>{y.current=null,P.current=!1},1600)}};return window.addEventListener("keydown",F,!0),()=>window.removeEventListener("keydown",F,!0)},[B,u,j,h]);const H=e.find(F=>F.id===s)??e.find(F=>F.isFavorite===!0)??e[0],U=a.jsx(dS,{commands:e,menuIconClassName:i,runCommandTaskStatusByCommandId:S,onAdd:()=>I(),onDelete:N,onEdit:I,onRun:F=>{A(F),p(!1)},onTerminateTask:o,onToggleFavorite:C}),W=a.jsx(sS,{canSave:T,command:b,hasCommands:e.length>0,onBack:()=>_("menu"),onCancel:()=>p(!1),onChange:F=>x(te=>({...te,...F})),onDelete:k,onRun:E,onRunShortcut:D,onSave:w,onSaveShortcut:M}),z=a.jsx(Vl,{content:W,open:d,onOpenChange:R,placement:"bottomRight",trigger:"click",classNames:{root:"chat-header-run-command-popover"},destroyOnHidden:!0,arrow:!1,children:a.jsx(Oc,{command:H,iconClassName:t,taskStatus:H==null?void 0:S.get(H.id),onTerminateTask:o,onPrimaryClick:()=>{I()}})});return e.length===0?z:a.jsx(Oc,{command:H,iconClassName:t,taskStatus:H==null?void 0:S.get(H.id),onTerminateTask:o,onPrimaryClick:()=>{if(H==null){I();return}A(H)},children:a.jsx(Vl,{content:f==="editor"||e.length===0?W:U,open:d,onOpenChange:R,placement:"bottomRight",trigger:"click",classNames:{root:"chat-header-run-command-popover"},destroyOnHidden:!0,arrow:!1,children:a.jsx(Oe,{type:"text",className:"chat-header-run-command-trigger__menu","data-dock-panel-no-resize":"true",icon:a.jsx("span",{className:t,children:"expand_more"}),title:h("chat.interactionPanel.runCommands"),"aria-label":h("chat.interactionPanel.runCommands")})})})}const fS="workspace:",qu=(e,t)=>a.jsx("span",{className:t,children:e}),qa=({fallbackIcon:e,iconClassName:t,iconUrl:s,title:i})=>{const n=R_(s);return n==null?qu(e,t):a.jsx("img",{className:"chat-header-app-icon",src:n,alt:"","aria-hidden":"true",title:i})};function pS({actions:e,menuIconClassName:t,onSelect:s}){const{t:i}=Z();return a.jsx(jd,{className:"chat-header-workspace-opener-menu",role:"menu",children:a.jsx("div",{className:"chat-header-workspace-opener-menu__list",children:e.length>0?e.map(n=>a.jsxs(Os,{className:"chat-header-workspace-opener-menu__item",role:"menuitem",onClick:()=>s(n.id),children:[qa({fallbackIcon:n.fallbackIcon,iconClassName:t,iconUrl:n.iconUrl,title:n.title}),a.jsx("span",{className:"chat-header-workspace-opener-menu__name",children:n.title})]},`${fS}${n.id}`)):a.jsxs(Os,{className:"chat-header-workspace-opener-menu__item",role:"menuitem",disabled:!0,children:[qu("block",t),a.jsx("span",{className:"chat-header-workspace-opener-menu__name",children:i("chat.interactionPanel.openWorkspaceUnavailable")})]})})})}const Lo="chatInteractionPreferredWorkspaceOpener",_S=e=>typeof e=="string"?e.trim():"",gS=()=>{if(typeof window>"u")return null;try{const e=_S(window.localStorage.getItem(Lo));return e===""?null:e}catch{return null}},vS=e=>{if(!(typeof window>"u"))try{if(e==null||e.trim()===""){window.localStorage.removeItem(Lo);return}window.localStorage.setItem(Lo,e.trim())}catch{}},bS={terminal:"terminal",warp:"bolt"};function yS({iconClassName:e,menuIconClassName:t}){const{t:s}=Z(),{defaultWorkspaceOpener:i,defaultWorkspaceOpenerLabel:n,handleOpenWorkspace:r,isMenuOpen:o,setIsMenuOpen:l,workspaceOpenerActions:c}=Vu();return a.jsxs("div",{className:"chat-header-workspace-opener",children:[a.jsx(Oe,{type:"text",className:"chat-header-workspace-opener__primary","data-dock-panel-no-resize":"true",disabled:i==null,icon:i==null?a.jsx("span",{className:e,children:"drive_file_move"}):qa({fallbackIcon:i.fallbackIcon,iconClassName:e,iconUrl:i.iconUrl,title:i.title}),title:n,"aria-label":n,onClick:()=>{i!=null&&r(i.id)}}),a.jsx(Cs,{open:o,menu:{items:[]},popupRender:()=>a.jsx(pS,{actions:c,menuIconClassName:t,onSelect:h=>{l(!1),r(h)}}),overlayClassName:"chat-header-workspace-opener-dropdown",onOpenChange:l,trigger:["click"],children:a.jsx(Oe,{type:"text",className:"chat-header-workspace-opener__menu","data-dock-panel-no-resize":"true",icon:a.jsx("span",{className:e,children:"expand_more"}),title:s("chat.interactionPanel.openWorkspace"),"aria-label":s("chat.interactionPanel.openWorkspace")})})]})}function Vu(){const{t:e}=Z(),{message:t}=zt.useApp(),[s,i]=m.useState(!1),[n,r]=m.useState(gS),{data:o}=Qt("workspace-file-openers",Id),{data:l}=Qt("workspace-path-action-capabilities",Dd),c=l==null?void 0:l.fileManager,h=m.useMemo(()=>{const f=[],_=(o==null?void 0:o.openers)??[],g=_.find(v=>v.available&&v.id===(o==null?void 0:o.defaultOpener));g!=null&&f.push({fallbackIcon:Xl(g.id),iconUrl:g.iconUrl,id:g.id,title:g.title}),(c==null?void 0:c.available)===!0&&f.push({fallbackIcon:"folder_open",iconUrl:c.iconUrl,id:"fileManager",title:c.title});for(const v of(l==null?void 0:l.terminalOpeners)??[])v.available&&f.push({fallbackIcon:bS[v.id],iconUrl:v.iconUrl,id:v.id,title:v.title});for(const v of _)!v.available||v.id===(g==null?void 0:g.id)||f.push({fallbackIcon:Xl(v.id),iconUrl:v.iconUrl,id:v.id,title:v.title});return f},[c==null?void 0:c.available,c==null?void 0:c.iconUrl,c==null?void 0:c.title,l==null?void 0:l.terminalOpeners,o==null?void 0:o.defaultOpener,o==null?void 0:o.openers]),u=h.find(f=>f.id===n)??h.find(f=>f.id===(o==null?void 0:o.defaultOpener))??(o==null?void 0:h[0]),d=u==null?e("chat.interactionPanel.openWorkspaceUnavailable"):e("chat.interactionPanel.openWorkspaceWith",{opener:u.title});return{defaultWorkspaceOpener:u,defaultWorkspaceOpenerLabel:d,handleOpenWorkspace:f=>{Dp({opener:f}).then(()=>{r(f),vS(f)}).catch(_=>{t.error(ns(_,e("chat.interactionPanel.openWorkspaceFailed")))})},isMenuOpen:s,setIsMenuOpen:i,workspaceOpenerActions:h}}function Gu(e){var p,f,_,g;const{data:t,mutate:s}=Qt("/api/config",Ia),i=(f=(p=t==null?void 0:t.sources)==null?void 0:p.project)==null?void 0:f.conversation,n=((g=(_=t==null?void 0:t.resolvedSources)==null?void 0:_.project)==null?void 0:g.conversation)??i,r=m.useMemo(()=>lS(n),[n]),[o,l]=m.useState(r),[c,h]=m.useState(()=>Ac(e));m.useEffect(()=>{l(r)},[r]),m.useEffect(()=>{h(Ac(e))},[e]);const u=m.useCallback(v=>{const b=Br(v);l(b),c!=null&&!b.some(P=>P.id===c)&&(h(null),Bc(e,null));const x=cS(i,b);g_("project","conversation",x).then(()=>s()).catch(P=>{console.error("[interaction-panel] failed to save run commands",P),l(r)})},[r,c,s,i,e]),d=m.useCallback(v=>{h(v),Bc(e,v)},[e]);return{commands:o,lastRunCommandId:c,recordRunCommand:d,saveCommands:u}}function wS({containerClassName:e="chat-header-workspace-actions",iconClassName:t="chat-header-view-option material-symbols-rounded",menuIconClassName:s="chat-header-menu-icon material-symbols-rounded",runCommandTaskStatuses:i=[],terminalSessionId:n,onRunCommand:r,onTerminateRunCommandTask:o}){const{commands:l,lastRunCommandId:c,recordRunCommand:h,saveCommands:u}=Gu(n);return a.jsxs("div",{className:e,children:[a.jsx(mS,{commands:l,iconClassName:t,lastRunCommandId:c,menuIconClassName:s,runCommandTaskStatuses:i,onRunCommand:r,onTerminateRunCommandTask:o,recordRunCommand:h,saveCommands:u}),a.jsx(yS,{iconClassName:t,menuIconClassName:s})]})}const Ki=e=>a.jsx("span",{className:"material-symbols-rounded chat-header-icon",children:e});function SS({enabled:e,runCommandTaskStatuses:t=[],terminalSessionId:s,onRunCommand:i}){const{t:n}=Z(),{commands:r,recordRunCommand:o}=Gu(s??""),{handleOpenWorkspace:l,workspaceOpenerActions:c}=Vu(),h=m.useMemo(()=>new Set(t.filter(u=>u.isRunning).map(u=>u.commandId)),[t]);return m.useMemo(()=>{if(!e||s==null||s===""||i==null)return[];const u=r.length===0?[{key:"workspace-run-command-empty",disabled:!0,icon:Ki("block"),label:n("chat.interactionPanel.runCommandsEmpty")}]:r.map(p=>{const f=Ar(p),_=h.has(p.id);return{key:`workspace-run-command:${p.id}`,icon:Ki(Lr(p)),label:_?`${f} · ${n("chat.interactionPanel.runCommandRunning")}`:f,onClick:()=>{o(p.id),i(p)}}}),d=c.length===0?[{key:"workspace-opener-empty",disabled:!0,icon:Ki("block"),label:n("chat.interactionPanel.openWorkspaceUnavailable")}]:c.map(p=>({key:`workspace-opener:${p.id}`,icon:qa({fallbackIcon:p.fallbackIcon,iconClassName:"chat-header-menu-icon material-symbols-rounded",iconUrl:p.iconUrl,title:p.title}),label:p.title,onClick:()=>l(p.id)}));return[{key:"workspace-run-commands",children:u,icon:Ki("play_arrow"),label:n("chat.interactionPanel.runCommands")},{key:"workspace-openers",children:d,icon:Ki("drive_file_move"),label:n("chat.interactionPanel.openWorkspace")}]},[r,e,l,i,o,h,n,s,c])}const Fc=e=>{if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}},kS=e=>{switch(e.type){case"text":return e.text;case"image":return e.name!=null&&e.name.trim()!==""?``:``;case"file":return e.name!=null&&e.name.trim()!==""?`[${e.name}](${e.path})`:e.path;case"tool_use":return[`**Tool use:** ${e.name}`,"","```json",Fc(e.input),"```"].join(`
|
|
46
|
-
`);case"tool_result":return[`**Tool result:** ${e.tool_use_id}${e.is_error===!0?" (error)":""}`,"","```",Fc(e.content),"```"].join(`
|
|
47
|
-
`)}},xS=e=>typeof e=="string"?e:e.map(kS).filter(t=>t.trim()!=="").join(`
|
|
48
|
-
|
|
49
|
-
`),CS=e=>{switch(e){case"user":return"User";case"assistant":return"Assistant";case"system":return"System"}};function NS({messages:e,sessionId:t,title:s,workspacePath:i}){const n=[`# ${s}`,"",`- Session ID: ${t}`],r=i==null?void 0:i.trim();if(r!=null&&r!==""&&n.push(`- Workspace: ${r}`),e.length===0)return n.push("","_No messages._"),n.join(`
|
|
50
|
-
`);for(const o of e){const l=xS(o.content).trim();l!==""&&n.push("",`## ${CS(o.role)}`,"",l)}return n.join(`
|
|
51
|
-
`)}const Wc=e=>{const t=e.split("__");return t[t.length-1]||e},TS=e=>e==null||e.type!=="init"?[]:[{key:"chrome-devtools",labelKey:"chat.toolGroupChromeDevtools",icon:"web_traffic",tools:e.tools.filter(t=>t.startsWith("mcp__ChromeDevtools__"))},{key:"system",labelKey:"chat.toolGroupSystem",icon:"memory",tools:e.tools.filter(t=>!t.startsWith("mcp__ChromeDevtools__"))}].filter(t=>t.tools.length>0),ES=e=>e==null||e.type!=="init"?[]:(e.assetDiagnostics??[]).filter(t=>t.status==="skipped"),MS=e=>e==null||e.type!=="init"?[]:e.selectionWarnings??[],PS=new Set(["sessionId","contextCompactionId","uuid","leafUuid","adapter","model","version","cwd"]),RS=880,so=e=>{const t=e==null?void 0:e.trim();return t==null||t===""?void 0:t},jS=e=>{const t=e==null?void 0:e.trim().replace(/[/\\]+$/,"");return t==null||t===""?void 0:t.split(/[/\\]+/).filter(Boolean).at(-1)??t};function IS({breadcrumb:e,displayTitle:t,roomIconSeed:s,roomIconStatus:i,sessionCompactionInfo:n,sessionInfo:r,sessionId:o,sessionTitle:l,sessionStatus:c,isStarred:h,isArchived:u,messages:d=[],tags:p,lastMessage:f,lastUserMessage:_,activeView:g,enableTimelineView:v,historyTimelineHidden:b,isBottomPanelOpen:x,isWorkspaceDrawerOpen:P,isNewSessionActive:y,modeSwitch:S,moreItems:T,actionsOverride:j,projectWorkspaceFolder:I,runCommandTaskStatuses:R,showViewSwitches:O,terminalSessionId:k,onCreateSession:N,onOpenSidebar:C,onOpenSessionLog:w,onRunCommand:M,onTerminateRunCommandTask:E,onHistoryTimelineHiddenChange:D,onViewChange:A,onToggleBottomPanel:B,onToggleWorkspaceDrawer:H}){const{i18n:U,t:W}=Z(),z=vs(),{message:F,modal:te}=zt.useApp(),{isCompactLayout:ie,isTouchInteraction:ue}=$s(),pe=Ri(v_),{searchParams:Y,update:be}=Nr({keys:["debug"],omit:{debug:X=>X===""}}),ye=m.useRef(0),he=m.useRef(null),$=m.useRef(null),[de,oe]=m.useState(null),_e=Y.has("debug"),ce=Y.get("debug")==="true",We=_e,we=o!=null&&o!=="",Se=[{value:"history",icon:"history",title:W("chat.viewHistory")},...v===!0?[{value:"timeline",icon:"timeline",title:W("chat.viewTimeline")}]:[]],me=O??(we&&Se.length>1),Ge=y??!we,ae=X=>ue?void 0:X,ee=ie||pe,Re=so(l),Ve=so((r==null?void 0:r.type)==="init"?r.title:void 0),Ue=Re??Ve,Qe=t??(we?Ue??(_!=null&&_!==""?_:f!=null&&f!==""?f:W("common.newChat")):W("chat.newSessionTitle")),Xe=we?void 0:jS(I),it=n==null?null:Da(n,c),Ie=it==null?"":W(it==="compressing"?"chat.contextCompressingTitle":"chat.contextCompactedTitle"),Ee=n==null?null:a.jsx(ze,{title:ae(Ie),children:a.jsx(gt,{className:"chat-header-compact-indicator",name:"layers","aria-label":Ie,title:Ie})}),et=Xe==null?null:a.jsx("span",{className:"chat-header-title-project",title:I,children:Xe}),ot=e==null&&s==null?a.jsx(gt,{className:"chat-header-session-icon",name:"chat_bubble",filled:!0,"aria-hidden":"true"}):null,q=a.jsxs("span",{className:"chat-header-title-content",children:[ot,a.jsx("span",{className:"chat-header-title-text",title:Qe,children:Qe}),et,Ee]}),Ae=so(s)??Qe,Pe=(S==null?void 0:S.mode)==="room"?a.jsx(fn,{className:["chat-header-room-icon",i!=null?`chat-header-room-icon--${i}`:""].filter(Boolean).join(" "),seed:Ae}):null,tt=e==null&&Pe!=null?a.jsxs("span",{className:"chat-header-title-content",children:[Pe,a.jsx("span",{className:"chat-header-title-text",title:Qe,children:Qe}),et,Ee]}):q,le=()=>{be({debug:ce?"false":"true"})},ge=Se.find(X=>X.value===g)??Se[0],Je=async()=>{if(!(o==null||o===""))try{await xi(o,{isStarred:!h}),F.success(W(h?"common.unstarred":"common.starred"))}catch(X){F.error(ns(X,W("common.operationFailed")))}},It=async()=>{if(!(o==null||o===""))try{await xi(o,{isArchived:!u}),F.success(W(u?"common.restored":"common.archived"))}catch(X){F.error(ns(X,W("common.operationFailed")))}},V=(r==null?void 0:r.type)==="init"?r.cwd.trim():"",ne=(X,nt=!1)=>a.jsx(gt,{className:"chat-header-icon",name:X,filled:nt}),ve=X=>a.jsx(ze,{title:ae(W("common.notSupportedYet")),placement:"left",children:a.jsx("span",{children:X})}),Ke=(X,nt)=>a.jsx(ze,{title:ae(nt),placement:"left",children:a.jsx("span",{children:X})}),Q=(X,nt)=>{xn({text:X,messageApi:F,successMessage:nt,failureMessage:W("common.copyFailed")})},$e=()=>{if(o==null||o==="")return;let X=l??Qe;te.confirm({title:W("common.renameSession"),okText:W("common.confirm"),cancelText:W("common.cancel"),content:a.jsx(Kt,{autoFocus:!0,defaultValue:X,placeholder:W("chat.enterTitle"),onChange:nt=>{X=nt.target.value}}),onOk:async()=>{const nt=X.trim();if(nt!==(l??"").trim())try{await xi(o,{title:nt}),F.success(W("chat.titleUpdated"))}catch(Ct){throw F.error(ns(Ct,W("common.operationFailed"))),new Error("rename-session-failed")}}})},Dt=()=>{o==null||o===""||Q(NS({messages:d,sessionId:o,title:Qe,workspacePath:V}),W("common.sessionMarkdownCopied"))},yt=()=>{var Ct;if(o==null||o==="")return;const X=Co(o,{sidebarCollapsed:!0}),nt=(Ct=window.oneworksDesktop)==null?void 0:Ct.openCurrentWorkspaceWindow;if(nt!=null){nt(X).catch(()=>{F.error(W("common.operationFailed"))});return}window.open(X,"_blank","noopener,noreferrer")},ht=we&&D!=null,He=[{key:"star",label:W(h?"common.unstar":"common.star"),icon:ne(h?"star":"star_border",h),onClick:()=>{Je()}},{key:"rename",label:W("common.renameSession"),icon:ne("edit"),onClick:$e},{key:"archive",label:W(u?"common.restore":"common.archive"),icon:ne(u?"unarchive":"archive"),onClick:()=>{It()}},...ht?[{type:"divider"},{key:"hide-history-timeline",label:a.jsxs("span",{className:"chat-header-menu-toggle",children:[a.jsx("span",{className:"chat-header-menu-toggle__label",children:W("chat.hideHistoryTimeline")}),a.jsx(E_,{checked:b===!0,size:"small",onClick:(X,nt)=>{nt==null||nt.stopPropagation(),D==null||D(X)}})]}),icon:ne("timeline"),onClick:()=>{D==null||D(b!==!0)}}]:[],{type:"divider"},{key:"copy-workspace-path",label:V===""?Ke(W("common.copyWorkspacePath"),W("chat.workspacePathUnavailable")):W("common.copyWorkspacePath"),icon:ne("folder_open"),disabled:V==="",onClick:()=>{V!==""&&Q(V,W("common.workspacePathCopied"))}},{key:"copy-session-id",label:W("common.copySessionId"),icon:ne("fingerprint"),onClick:()=>{o==null||o===""||Q(o,W("common.sessionIdCopied"))}},{key:"copy-session-link",label:W("common.copySessionLink"),icon:ne("link"),onClick:()=>{o==null||o===""||Q(Co(o),W("common.sessionLinkCopied"))}},{key:"copy-resume-command",label:W("common.copyResumeCommand"),icon:ne("terminal"),onClick:()=>{o==null||o===""||Q(`oneworks --resume ${o}`,W("common.resumeCommandCopied"))}},{key:"copy-session-markdown",label:W("common.copySessionMarkdown"),icon:ne("markdown"),onClick:Dt},{type:"divider"},{key:"fork-current-workspace",label:ve(W("common.forkCurrentWorkspace")),icon:ne("call_split"),disabled:!0},{key:"derive-new-worktree",label:ve(W("common.deriveNewWorktree")),icon:ne("account_tree"),disabled:!0},{key:"create-scheduled-task",label:ve(W("common.createScheduledTask")),icon:ne("alarm_add"),disabled:!0},{type:"divider"},{key:"open-in-new-window",label:W("common.openInNewWindow"),icon:ne("open_in_new"),onClick:yt}],se=T??(we?He:[]),st=Se.map(X=>({key:`view:${X.value}`,label:X.title,icon:a.jsx(gt,{className:"chat-header-icon",name:X.icon,filled:g===X.value}),onClick:()=>{A(X.value)}})),at=we&&We?[{key:"debug",label:W(ce?"chat.debugDisable":"chat.debugEnable"),icon:a.jsx(gt,{className:"chat-header-icon",name:"bug_report",filled:ce}),onClick:le}]:[],De=we&&ce&&w!=null?[{key:"debug-session-log",label:W("chat.debugOpenSessionLog"),icon:a.jsx(gt,{className:"chat-header-icon",name:"article"}),onClick:w}]:[],xt=k!=null&&k!==""&&M!=null,Wt=de!=null&&de<RS,Me=SS({enabled:xt&&Wt,runCommandTaskStatuses:R,terminalSessionId:k,onRunCommand:M}),oi=rs("chat.header.actions"),ai=Sd("chat"),bs=rs("chat.header.moreMenu"),In=Tr(),Dn=U.resolvedLanguage??U.language,zr={sessionId:o,sessionTitle:l,terminalSessionId:k},Hs=X=>{if(X.command!=null&&In!=null){In(X.pluginScope,X.command,zr);return}if(X.route!=null){z(X.route);return}X.href!=null&&window.open(X.href,"_blank","noopener,noreferrer")},os=bs.map(X=>({key:`plugin:${X.pluginScope}:${X.id}`,label:Ni(X,"title",Dn)??X.title,icon:a.jsx(gt,{className:"chat-header-icon",name:X.icon??"layers"}),onClick:()=>Hs(X)})),Ln=oi.map(X=>{const nt=Ni(X,"title",Dn)??X.title;return{...X,label:nt}}),li=[...se,...os,...De],Ps=[...Me,...se,...os,...De,...We?at:[]],Li=li.length>0,ci={icon:"bottom_panel_open",key:"chat-bottom-panel",label:W("chat.bottomPanelToggle"),onSelect:B},Ks=x?null:a.jsx(Gl,{item:ci}),Ai=xt?a.jsx(wS,{containerClassName:"chat-header-workspace-actions",iconClassName:"chat-header-view-option material-symbols-rounded",menuIconClassName:"chat-header-menu-icon material-symbols-rounded",runCommandTaskStatuses:R,terminalSessionId:k,onRunCommand:M,onTerminateRunCommandTask:E}):null,An=Ps.length>0,Bi={icon:"right_panel_open",key:"chat-workspace-drawer",label:W("chat.workspaceDrawerToggle"),onSelect:H},Oi=P?null:a.jsx(Gl,{item:Bi}),ys=S==null?void 0:S.mode==="room"?{icon:"chat_bubble",label:W("agentRoom.mode.session"),onClick:S.onOpenSession}:{icon:"forum",label:W("agentRoom.mode.room"),onClick:S.onOpenRoom},Fi=ys==null?null:a.jsx(ze,{title:ae(ys.label),children:a.jsx(Oe,{type:"text",className:"route-container-header__action-button",title:ys.label,"aria-label":ys.label,onClick:ys.onClick,icon:a.jsx(gt,{className:"route-container-header__action-icon",name:ys.icon})})});m.useEffect(()=>()=>{he.current!=null&&clearTimeout(he.current)},[]),m.useEffect(()=>{const X=$.current;if(X==null||typeof ResizeObserver!="function")return;const nt=()=>{oe(Math.round(X.getBoundingClientRect().width))};nt();const Ct=new ResizeObserver(nt);return Ct.observe(X),()=>Ct.disconnect()},[]);const Bn=()=>{if(he.current!=null&&clearTimeout(he.current),ye.current+=1,ye.current>=5){ye.current=0,he.current=null,le(),console.log("Session Full Info:",{sessionId:o,sessionTitle:l,isStarred:h,isArchived:u,tags:p,lastMessage:f,lastUserMessage:_,sessionInfo:r,sessionCompactionInfo:n});return}he.current=setTimeout(()=>{ye.current=0,he.current=null},500)},hi=e==null?void 0:{ariaLabel:W("agentRoom.sessionBreadcrumbLabel",{roomTitle:e.parentTitle,sessionTitle:Qe}),backLabel:e.backLabel,currentTitle:Qe,parentTitle:e.parentTitle,onBack:e.onBack},es=j??(ee?a.jsxs(a.Fragment,{children:[me&&a.jsx(ze,{title:ae(ge.title),children:a.jsx(Cs,{menu:{items:st},overlayClassName:"chat-header-actions-dropdown",placement:"bottomRight",trigger:["click"],children:a.jsx(Oe,{type:"text",className:"route-container-header__action-button",title:ge.title,"aria-label":ge.title,icon:a.jsx(gt,{className:"route-container-header__action-icon",name:ge.icon})})})}),Fi,!Wt&&Ai,Ln.map(X=>a.jsx(ze,{title:ae(X.label),children:a.jsx(Oe,{type:"text",className:"route-container-header__action-button",title:X.label,"aria-label":X.label,onClick:()=>Hs(X),icon:a.jsx(gt,{className:"route-container-header__action-icon",name:X.icon??"layers"})})},`${X.pluginScope}:${X.id}`)),Ks,Oi,An&&a.jsx(ze,{title:ae(W("common.moreActions")),children:a.jsx(Cs,{menu:{items:Ps},overlayClassName:"chat-header-actions-dropdown",placement:"bottomRight",trigger:["click"],children:a.jsx(Oe,{type:"text",className:"route-container-header__action-button",title:W("common.moreActions"),"aria-label":W("common.moreActions"),icon:a.jsx(gt,{className:"route-container-header__action-icon",name:"more_vert"})})})})]}):a.jsxs(a.Fragment,{children:[me&&Se.map(X=>a.jsx(ze,{title:ae(X.title),children:a.jsx(Oe,{type:"text",className:`route-container-header__action-button ${g===X.value?"is-active":""}`,title:X.title,"aria-label":X.title,onClick:()=>{A(X.value)},icon:a.jsx(gt,{className:"route-container-header__action-icon",name:X.icon})})},X.value)),Fi,Ai,Ln.map(X=>a.jsx(ze,{title:ae(X.label),children:a.jsx(Oe,{type:"text",className:"route-container-header__action-button",title:X.label,"aria-label":X.label,onClick:()=>Hs(X),icon:a.jsx(gt,{className:"route-container-header__action-icon",name:X.icon??"layers"})})},`${X.pluginScope}:${X.id}`)),Ks,Oi,we&&We&&a.jsx(ze,{title:ae(W(ce?"chat.debugDisable":"chat.debugEnable")),children:a.jsx(Oe,{type:"text",className:`route-container-header__action-button ${ce?"is-debug-active":""}`,title:W(ce?"chat.debugDisable":"chat.debugEnable"),"aria-label":W(ce?"chat.debugDisable":"chat.debugEnable"),onClick:le,icon:a.jsx(gt,{className:"route-container-header__action-icon",name:"bug_report",filled:ce})})}),Li&&a.jsx(ze,{title:ae(W("common.moreActions")),children:a.jsx(Cs,{menu:{items:li},overlayClassName:"chat-header-actions-dropdown",placement:"bottomRight",trigger:["click"],children:a.jsx(Oe,{type:"text",className:"route-container-header__action-button",title:W("common.moreActions"),"aria-label":W("common.moreActions"),icon:a.jsx(gt,{className:"route-container-header__action-icon",name:"more_vert"})})})})]}));return a.jsx(Nd,{className:"chat-route-header",compact:ee,rootRef:$,title:Qe,titleContent:hi==null?tt:void 0,actionItems:ai,breadcrumb:hi,leadingActions:"auto",onCreateSession:Ge?void 0:N,onOpenSidebar:C,onTitleClick:Bn,actions:a.jsx("div",{className:"chat-header-actions",children:es})})}function DS({session:e,sessionCompactionInfo:t,sessionInfo:s,onClose:i}){const{t:n}=Z(),{isCompactLayout:r}=$s(),{message:o,modal:l}=zt.useApp(),{searchParams:c}=Nr({keys:["debug"]}),h=c.get("debug")==="true",u=e.id,d=m.useMemo(()=>[{path:["title"],type:"string",defaultValue:"",icon:"edit_note",labelKey:"chat.title",placeholderKey:"chat.enterTitle"},{path:["tags"],type:"string[]",defaultValue:[],icon:"sell",labelKey:"chat.tags"}],[]),p=m.useMemo(()=>({title:e.title??"",tags:e.tags??[]}),[e.tags,e.title]),[f,_]=m.useState(p),[g,v]=m.useState({}),b=m.useRef(p),x=m.useRef(null),P=m.useRef(!1),y=m.useRef(null);m.useEffect(()=>{_(p)},[p]),m.useEffect(()=>{b.current=f},[f]),m.useEffect(()=>()=>{x.current&&clearTimeout(x.current)},[]);const S=m.useMemo(()=>TS(s),[s]),T=m.useMemo(()=>ES(s),[s]),j=m.useMemo(()=>MS(s),[s]);m.useEffect(()=>{!r||S.length===0||v(w=>{const M={...w};let E=!1;for(const D of S)D.key in M||(M[D.key]=!0,E=!0);return E?M:w})},[r,S]);const I=m.useMemo(()=>{const w=n("chat.timelineEmptyValue"),M=A=>n(A?"chat.debugEnabledValue":"chat.debugDisabledValue"),E=e.tags??[],D=[{key:"sessionId",label:n("chat.debugSessionId"),value:e.id,icon:"fingerprint"},{key:"view",label:n("chat.debugView"),value:n("chat.viewSettings"),icon:"tune"},{key:"starred",label:n("chat.debugStarred"),value:M(e.isStarred),icon:"star"},{key:"archived",label:n("chat.debugArchived"),value:M(e.isArchived),icon:"archive"}];if(E.length>0&&D.push({key:"tags",label:n("chat.debugTags"),value:E.join(", "),icon:"sell"}),(s==null?void 0:s.type)==="init"&&D.push({key:"type",label:n("chat.debugType"),value:s.type,icon:"deployed_code"},{key:"uuid",label:n("chat.debugUuid"),value:s.uuid,icon:"tag"},{key:"adapter",label:n("chat.debugAdapter"),value:s.adapter??w,icon:"deployed_code"},{key:"model",label:n("chat.debugModel"),value:s.model,icon:"model_training"},{key:"effort",label:n("chat.debugEffort"),value:s.effort??w,icon:"psychology"},{key:"version",label:n("chat.debugVersion"),value:s.version,icon:"deployed_code_update"},{key:"tools",label:n("chat.debugTools"),value:String(s.tools.length),icon:"handyman"},{key:"agents",label:n("chat.debugAgents"),value:String(s.agents.length),icon:"hub"},{key:"cwd",label:n("chat.debugCwd"),value:s.cwd,icon:"folder_open"}),t!=null){const A=Da(t,e.status);D.push({key:"contextCompaction",label:n("chat.debugContextCompaction"),value:n(A==="compressing"?"chat.contextCompressingTitle":"chat.contextCompactedTitle"),icon:"layers"},{key:"contextCompactionId",label:n("chat.debugContextCompactionId"),value:t.id,icon:"fingerprint"}),t.tokenCount!=null&&D.push({key:"contextCompactionTokens",label:n("chat.debugContextCompactionTokens"),value:String(t.tokenCount),icon:"tag"})}return D},[e.id,e.isArchived,e.isStarred,e.status,e.tags,t,s,n]),R=w=>{const M=w.reason==="excluded"?n("chat.selectionWarningReasonExcluded"):n("chat.selectionWarningReasonNotIncluded");return n("chat.selectionWarningFallback",{adapter:w.adapter,requestedModel:w.requestedModel,resolvedModel:w.resolvedModel,reason:M})},O=w=>{const M=JSON.stringify(w??{});y.current!==M&&(x.current&&clearTimeout(x.current),x.current=setTimeout(async()=>{if(P.current)return;const E=b.current,D=JSON.stringify(E??{});if(y.current!==D){P.current=!0;try{await xi(u,{title:typeof E.title=="string"?E.title:"",tags:Array.isArray(E.tags)?E.tags:[]}),y.current=D}catch(A){o.error(ns(A,n("common.operationFailed")))}finally{P.current=!1}}},500))},k=w=>{const M=w!=null&&typeof w=="object"?w:{},E={title:typeof M.title=="string"?M.title:"",tags:Array.isArray(M.tags)?M.tags.filter(D=>typeof D=="string"):[]};_(E),O(E)},N=()=>{const w=async(M=!1)=>{await Lp(u,{force:M}),o.success(n("common.deleteSuccess")),i()};l.confirm({title:n("common.deleteSession"),content:n("common.deleteSessionConfirm"),okText:n("common.delete"),okType:"danger",cancelText:n("common.cancel"),onOk:async()=>{try{await w()}catch(M){if(M instanceof u_&&M.code==="session_worktree_not_clean"){l.confirm({title:n("chat.sessionWorkspaceForceDeleteTitle"),content:n("chat.sessionWorkspaceForceDeleteDescription"),okText:n("common.delete"),okType:"danger",cancelText:n("common.cancel"),onOk:async()=>{try{await w(!0)}catch(E){o.error(ns(E,n("common.deleteFailed")))}}});return}o.error(ns(M,n("common.deleteFailed")))}}})},C=w=>{v(M=>({...M,[w]:!M[w]}))};return a.jsxs("div",{className:"session-settings-drawer",children:[a.jsx(D_,{sectionKey:"session",title:null,icon:void 0,fields:d,value:f,onChange:k,mergedModelServices:{},mergedAdapters:{},selectedModelService:void 0,t:n,className:"session-settings-drawer__form"}),a.jsxs("div",{className:"settings-section session-runtime-section",children:[a.jsxs("div",{className:"section-header",children:[a.jsx("span",{className:"material-symbols-rounded",children:"build"}),a.jsx("span",{children:n("chat.availableTools")})]}),j.length>0&&a.jsxs("div",{className:"session-info-note-list",children:[a.jsx("div",{className:"session-info-note-list__title",children:n("chat.selectionWarningsTitle")}),j.map((w,M)=>a.jsxs("div",{className:"session-info-note session-info-note--warning",children:[a.jsx("span",{className:"material-symbols-rounded",children:"warning"}),a.jsx("span",{children:R(w)})]},`${w.adapter}:${w.requestedModel}:${w.resolvedModel}:${M}`))]}),T.length>0&&a.jsxs("div",{className:"session-info-note-list",children:[a.jsx("div",{className:"session-info-note-list__title",children:n("chat.assetWarningsTitle")}),T.map(w=>a.jsxs("div",{className:"session-info-note",children:[a.jsx("span",{className:"material-symbols-rounded",children:"warning"}),a.jsxs("div",{className:"session-info-note__content",children:[a.jsx("code",{children:w.assetId}),a.jsx("span",{children:w.reason})]})]},w.assetId))]}),S.length>0?a.jsx("div",{className:"session-tool-groups",children:S.map(w=>a.jsxs("div",{className:"session-tool-group-card",children:[a.jsxs("button",{type:"button",className:"session-tool-group-card__header",onClick:()=>C(w.key),children:[a.jsxs("div",{className:"session-tool-group-card__title",children:[a.jsx("span",{className:"material-symbols-rounded",children:w.icon}),a.jsx("span",{children:n(w.labelKey)})]}),a.jsxs("div",{className:"session-tool-group-card__meta",children:[a.jsx("span",{className:"session-tool-group-card__count",children:w.tools.length}),a.jsx("span",{className:"material-symbols-rounded session-tool-group-card__expand",children:g[w.key]?"expand_more":"expand_less"})]})]}),!g[w.key]&&a.jsx("div",{className:"session-tool-group-card__list",children:w.tools.map(M=>a.jsxs("div",{className:"session-tool-row",title:Wc(M),children:[a.jsx("span",{className:"session-tool-row__dot"}),a.jsx("code",{children:Wc(M)})]},M))})]},w.key))}):a.jsx("div",{className:"session-settings-empty",children:n("chat.availableToolsEmpty")})]}),h&&I.length>0&&a.jsxs("div",{className:"settings-section session-debug-section",children:[a.jsxs("div",{className:"section-header",children:[a.jsx("span",{className:"material-symbols-rounded",children:"bug_report"}),a.jsx("span",{children:n("chat.debugSectionTitle")})]}),a.jsx("div",{className:"session-debug-panel",children:a.jsx("div",{className:"session-debug-list",children:I.map(w=>a.jsxs("div",{className:"session-debug-row",children:[a.jsx("span",{className:"session-debug-row__label",children:w.label}),a.jsx("span",{className:`session-debug-row__value ${PS.has(w.key)?"is-mono":""}`,children:w.value})]},w.key))})})]}),a.jsx("div",{className:"settings-footer",children:a.jsx("div",{className:"danger-zone",children:a.jsxs("div",{className:"delete-session-row",children:[a.jsxs("div",{className:"delete-session-meta",children:[a.jsx("div",{className:"delete-session-title",children:n("chat.deleteSessionTitle")}),a.jsx("div",{className:"delete-session-desc",children:n("chat.deleteSessionDesc")})]}),a.jsx(Oe,{danger:!0,type:"primary",size:"middle",icon:a.jsx("span",{className:"material-symbols-rounded",children:"delete_forever"}),onClick:N,className:"delete-session-btn",children:n("common.delete")})]})})})]})}function LS({session:e,sessionCompactionInfo:t,sessionInfo:s,onClose:i}){return a.jsx("div",{className:"chat-settings-panel",children:a.jsx(DS,{session:e,sessionCompactionInfo:t,sessionInfo:s,onClose:i})})}function AS(e){return e.replace(/\W/g,"_")}function Jt(e){const[t,s,i]=e.split(":").map(Number);return(t||0)*3600+(s||0)*60+(i||0)}function bi(e){const[t,s,i]=e.split(":"),n=r=>{const o=Number.parseInt(r??"0",10);return Number.isFinite(o)?`${o}`.padStart(2,"0"):"00"};return`${n(t)}:${n(s)}:${n(i)}`}function $c(){let e=0;return t=>`${t}_${e++}`}const BS=18,OS=(e,t,s="")=>{if(e.length+s.length<=t)return`${e}${s}`;const i=Math.max(4,t-s.length-1);return`${e.slice(0,i).trimEnd()}…${s}`};function FS(e,t,s){const i=$c(),n=$c(),r=[],o=[],l="";let c=0;const h=()=>(c+=1,l.repeat(c)),u=g=>{r.push(g)},d=g=>{const v=[{start:g.startTime,end:g.endTime}],b=g.events??[],x=b.findIndex(T=>T.type==="tool__AskUserQuestion");if(x<0)return v;const P=b[x],y=Jt(P.startTime)<=Jt(P.endTime)?P.startTime:P.endTime,S=Jt(P.startTime)<=Jt(P.endTime)?P.endTime:P.startTime;return Jt(S)<=Jt(y)||(v[v.length-1]={start:v[v.length-1].start,end:y},v.push({start:S,end:g.endTime})),v},p=g=>{for(let v=0;v<g.length;v+=1){const b=g[v],{type:x,startTime:P,endTime:y}=b;switch(x){case"tool__StartTasks":{const{tasks:S={}}=b,T=n("section"),j=h();for(const[I,R]of Object.entries(S)){const O=d(R);O.forEach((N,C)=>{const w=i("task"),M=O.length>1?` ·${C+1}`:"",E=s!=null&&s.compact?OS(I,BS,M):`${I}${M}`,D={id:w,label:I,payload:{kind:"task",name:I,task:R}};o.push({id:w,label:E,start:bi(N.start),end:bi(N.end),sectionId:T,sectionLabel:j,type:"task",interaction:D}),u(D)});const{events:k=[]}=R;k.length>0&&p(k)}break}}}},f=i("main"),_=n("section");return o.push({id:f,label:t.ganttMainSection,start:bi(e.startTime),end:bi(e.endTime),sectionId:_,sectionLabel:t.ganttMainSection,type:"task"}),p(e.events??[]),{items:o,interactions:r}}function WS(e){var i;const t=["gantt","dateFormat HH:mm:ss","axisFormat %H:%M:%S"],s=new Map;for(const n of e)s.has(n.sectionId)||s.set(n.sectionId,{label:n.sectionLabel,items:[]}),(i=s.get(n.sectionId))==null||i.items.push(n);for(const n of s.values()){t.push(n.label?`section ${n.label}`:"section");for(const r of n.items)r.end&&t.push(`${r.label} :${r.id}, ${r.start}, ${r.end}`)}return t.join(`
|
|
52
|
-
`)}function $S(e,t,s){const{items:i,interactions:n}=FS(e,t,s);return{code:WS(i),interactions:n}}function HS(e){if(e)return e.replace(/"/g,"'")}function KS(e){return{normalizeCommitId:i=>i.replace(/\s+/g,"_"),allocateCommitId:i=>{let n=i,r=1;for(;e.has(n);)n=`${i}_${r}`,r+=1;return e.add(n),n}}}function Kn(e,t){switch(t){case"tool__StartTasks":return e.startTasks;case"tool__AskUserQuestion":return e.askUserQuestion;case"tool__Edit":return e.edit;case"tool__ResumeTask":return e.resumeTask;case"user__Prompt":return e.userPrompt;default:return t}}function Hc(e){switch(e.kind){case"merge":return e.target;case"branch":return e.name;default:return e.branch}}function zS(e){return[...e].sort((t,s)=>{const i=Jt(t.time)-Jt(s.time);if(i!==0)return i;if(t.priority!==s.priority)return t.priority-s.priority;const n=Hc(t),r=Hc(s);return n!==r?n.localeCompare(r):t.seq-s.seq})}function US(e){const t=["gitGraph TB:"],s=new Set,i=new Set,{normalizeCommitId:n,allocateCommitId:r}=KS(i),o=new Map,l=new Map,c=new Map,h=new Map;let u,d,p=0;const f=[],_=[],g=(k,N)=>{const C=HS(N);return C?t.push(`commit id:"${k}" tag:"${C}"`):t.push(`commit id:"${k}"`),k},v=(k,N,C,w)=>{if(!u){u={id:k,branch:N,time:C,seq:w};return}const M=Jt(C)-Jt(u.time);(M>0||M===0&&w>u.seq)&&(u={id:k,branch:N,time:C,seq:w})},b=k=>{let N=k;for(;N;){const C=l.get(N);if(C)return{id:C,branch:c.get(C)??N};const w=h.get(N);if(!w||w===N)break;N=w}},x=k=>{if(k)return b(k);if(u)return{id:u.id,branch:u.branch}},P=(k,N,C,w)=>{const M=n(k),E=r(M);return C!=null&&C.branchName&&typeof C.priority=="number"?(f.push({kind:"commit",time:k,branch:C.branchName,commitId:E,action:N,priority:C.priority,seq:p++}),l.set(C.branchName,E),c.set(E,C.branchName),v(E,C.branchName,k,p-1),w&&_.push({id:E,label:N??E,payload:w}),E):(w&&_.push({id:E,label:N??E,payload:w}),g(E,N))},y=k=>{s.has(k)||(s.add(k),d=k,t.push(`branch ${k}`))},S=k=>{d=k,t.push(`checkout ${k}`)},T=(k,N,C,w)=>{const M=[];N&&M.push(`id:"${N}"`),C&&M.push(`tag:"${C}"`),t.push(`merge ${k} ${M.join(" ")}`),N&&(w!=null&&w.branchName)&&w.time&&typeof w.seq=="number"&&(l.set(w.branchName,N),c.set(N,w.branchName),v(N,w.branchName,w.time,w.seq))},j=(k,N,C,w)=>{f.push({kind:"branch",time:k,baseBranch:N,name:C,priority:w,seq:p++})},I=(k,N,C,w,M,E)=>{const D=n(k),A=r(D);return f.push({kind:"merge",time:k,target:N,source:C,action:w,mergeId:A,priority:M,seq:p++}),E&&_.push({id:A,label:w,payload:E}),A},R="main";return{get curBranch(){return d},labels:e,lines:t,ops:f,interactions:_,commit:g,branch:y,checkout:S,merge:T,addCommit:P,addBranch:j,addMerge:I,ensureBranch:k=>{k!==R&&y(k)},normalizeCommitId:n,allocateCommitId:r,findLatestCommitId:x,resumeCommitIds:o,parentByBranch:h}}function Yu(e,t,s,i){const{labels:n,addCommit:r,addBranch:o,addMerge:l,parentByBranch:c,resumeCommitIds:h}=i;for(const u of e){const{type:d,startTime:p,endTime:f}=u;switch(d){case"tool__StartTasks":{r(p,n.taskStart,{branchName:t,priority:10},{kind:"event",event:u});const{tasks:_={}}=u;for(const[g,v]of Object.entries(_)){const b=AS(g);c.set(b,t),o(p,t,b,15),r(v.startTime,n.taskStart,{branchName:b,priority:16},{kind:"task",name:g,task:v});const{events:x=[]}=v;x.length>0&&Yu(x,b,t,i),r(v.endTime,n.taskEnd,{branchName:b,priority:60})}r(f,n.allTasksDone,{branchName:t,priority:70});break}case"tool__AskUserQuestion":r(p,n.askUserQuestion,{branchName:t,priority:20},{kind:"event",event:u}),l(f,s,t,n.userAnswer,80,{kind:"event",event:u});break;case"tool__Edit":r(p,Kn(n,d),{branchName:t,priority:30},{kind:"event",event:u});break;case"tool__ResumeTask":{const _=r(p,Kn(n,d),{branchName:t,priority:40},{kind:"event",event:u});h.set(t,_);break}case"user__Prompt":l(p,t,"<prev_branch>",Kn(n,d),50,{kind:"event",event:u});break;default:r(f,Kn(n,d),{branchName:t,priority:55},{kind:"event",event:u});break}}}function qS(e){const t=zS(e.ops);for(const s of t)switch(s.kind){case"commit":e.ensureBranch(s.branch),e.checkout(s.branch),e.commit(s.commitId,s.action);break;case"branch":e.checkout(s.baseBranch),e.ensureBranch(s.name);break;case"merge":{s.source==="<prev_branch>"&&(s.source=e.curBranch),e.ensureBranch(s.target),e.ensureBranch(s.source),e.checkout(s.target),e.merge(s.source,s.mergeId,s.action,{branchName:s.target,time:s.time,seq:s.seq});break}}}function VS(e,t,s){const i=US(t),n="main";return i.checkout(n),i.addCommit(e.startTime,t.mainStart),Yu(e.events??[],n,n,i),qS(i),i.checkout(n),i.addCommit(e.endTime,t.mainEnd),{code:i.lines.join(`
|
|
53
|
-
`),interactions:i.interactions}}const GS=(e,t)=>t?{...e,mainStart:"启动",mainEnd:"结束",startTasks:"任务",allTasksDone:"完成",askUserQuestion:"提问",resumeTask:"继续",userPrompt:"提示",userAnswer:"回答",receiveReply:"回复",taskStart:"开始",taskEnd:"结束",ganttMainSection:"主"}:{...e,mainStart:"Start",mainEnd:"End",startTasks:"Tasks",allTasksDone:"Done",askUserQuestion:"Ask",resumeTask:"Resume",userPrompt:"Prompt",userAnswer:"Answer",receiveReply:"Reply",taskStart:"Start",taskEnd:"End",ganttMainSection:"Main"};function zn(e){const{task:t,viewMode:s,className:i,style:n}=e,r=lt.useRef(null),{t:o,i18n:l}=Z(),{isCompactLayout:c}=$s(),h=lt.useMemo(()=>({mainStart:o("chat.timeline.mainStart"),mainEnd:o("chat.timeline.mainEnd"),startTasks:o("chat.timeline.startTasks"),allTasksDone:o("chat.timeline.allTasksDone"),askUserQuestion:o("chat.timeline.askUserQuestion"),edit:o("chat.timeline.edit"),resumeTask:o("chat.timeline.resumeTask"),userPrompt:o("chat.timeline.userPrompt"),userAnswer:o("chat.timeline.userAnswer"),receiveReply:o("chat.timeline.receiveReply"),taskStart:o("chat.timeline.taskStart"),taskEnd:o("chat.timeline.taskEnd"),ganttTitle:o("chat.timeline.ganttTitle"),ganttMainSection:o("chat.timeline.ganttMainSection"),ganttTasksSection:o("chat.timeline.ganttTasksSection")}),[o]),u=lt.useMemo(()=>{var v;return c?GS(h,((v=l.resolvedLanguage)==null?void 0:v.startsWith("zh"))===!0):h},[l.resolvedLanguage,c,h]),d=lt.useMemo(()=>s==="gantt"?$S(t,u,{compact:c}):VS(t,u),[u,c,t,s]),p=lt.useId(),f=lt.useMemo(()=>p.replace(/\W/g,"_"),[p]),_=lt.useRef(new Map),g=lt.useMemo(()=>d.code,[d.code]);return lt.useEffect(()=>{let v=!1;return(async()=>{const P=(await m_(()=>import("./mermaid.core-DWzpZH_g.js").then(R=>R.b5),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]))).default,y=getComputedStyle(document.body).fontFamily;if(P.initialize({startOnLoad:!1,securityLevel:"loose",themeVariables:{fontFamily:y,fontSize:c?"12px":"14px"},gitGraph:c?{rotateCommitLabel:!1,showBranches:!1}:{},gantt:{topAxis:!0,displayMode:"compact",gridLineStartPadding:0,leftPadding:c?8:16,rightPadding:c?8:16,topPadding:c?28:36,barHeight:c?16:20,barGap:c?3:4,fontSize:c?10:11,sectionFontSize:c?10:11}}),v)return;const S=r.current;if(!S)return;const{svg:T,bindFunctions:j}=await P.render(f,g);if(v)return;S.innerHTML=T;const I=S.querySelector("svg");if(I){I.classList.add("session-timeline-mermaid__svg");for(const R of d.interactions){const O=I.querySelector(`#${CSS.escape(R.id)}`);O&&(O.classList.add("session-timeline-mermaid__interactive"),O.addEventListener("click",()=>{const k=_.current.get(R.id);k&&console.warn(k.payload)}))}}typeof j=="function"&&j(S)})(),()=>{v=!0}},[d.interactions,c,g,f]),lt.useEffect(()=>{_.current=new Map(d.interactions.map(v=>[v.id,{label:v.label,payload:v.payload}]))},[d.interactions]),a.jsx("div",{ref:r,className:["session-timeline-panel",`session-timeline-panel--${s}`,c?"session-timeline-panel--compact":"",i??""].filter(Boolean).join(" "),style:n})}const YS=(e,t)=>{const s=[];let i=0;const n=(o,l,c,h,u)=>{s.push({id:`${o}-${l}-${c}-${i}`,label:o,startTime:l,endTime:c,depth:h,payload:u}),i+=1},r=(o,l)=>{for(const c of o)c.type==="tool__StartTasks"?n(t.startTasks,c.startTime,c.endTime,l,c):c.type==="tool__AskUserQuestion"?n(t.askUserQuestion,c.startTime,c.endTime,l,c):c.type==="tool__Edit"?n(t.edit,c.startTime,c.endTime,l,c):c.type==="tool__ResumeTask"?n(t.resumeTask,c.startTime,c.endTime,l,c):c.type==="user__Prompt"&&n(t.userPrompt,c.startTime,c.endTime,l,c)};return n(t.mainStart,e.startTime,e.startTime,0),r(e.events??[],0),n(t.mainEnd,e.endTime,e.endTime,0),s.map((o,l)=>({...o,index:l})).sort((o,l)=>{const c=Jt(o.startTime)-Jt(l.startTime);return c!==0?c:o.index-l.index}).map(({index:o,...l})=>l)};function Kc({task:e}){const{t}=Z(),{isCompactLayout:s}=$s(),[i,n]=lt.useState(""),r=lt.useRef(null),[o,l]=lt.useState(240),c=lt.useMemo(()=>({mainStart:t("chat.timeline.mainStart"),mainEnd:t("chat.timeline.mainEnd"),startTasks:t("chat.timeline.startTasks"),askUserQuestion:t("chat.timeline.askUserQuestion"),edit:t("chat.timeline.edit"),resumeTask:t("chat.timeline.resumeTask"),userPrompt:t("chat.timeline.userPrompt")}),[t]),h=lt.useMemo(()=>YS(e,c),[c,e]),u=lt.useMemo(()=>{const _=i.trim().toLowerCase();return _?h.filter(g=>`${g.label} ${g.startTime} ${g.endTime}`.toLowerCase().includes(_)):h},[h,i]),d=t("chat.timelineEmptyValue"),p=lt.useCallback(_=>{const g=bi(_.startTime),v=bi(_.endTime);return a.jsx("span",{className:"session-timeline-event-table__time",children:g===v?g:`${g} → ${v}`})},[]),f=lt.useMemo(()=>s?[{title:t("chat.timelineEventName"),key:"summary",render:(_,g)=>{const v=[{key:t("chat.timelineInput"),value:g.input},{key:t("chat.timelineOutput"),value:g.output}].filter(b=>b.value!=null&&b.value!=="");return a.jsxs("div",{className:"session-timeline-event-table__summary",children:[a.jsx("span",{className:"session-timeline-event-table__label",style:{paddingLeft:`${g.depth*12}px`},children:g.label}),v.length>0&&a.jsx("div",{className:"session-timeline-event-table__detail-list",children:v.map(b=>a.jsxs("span",{className:"session-timeline-event-table__detail-item",children:[a.jsx("span",{className:"session-timeline-event-table__detail-key",children:b.key}),a.jsx("span",{className:"session-timeline-event-table__detail-text",children:b.value})]},b.key))})]})}},{title:t("chat.timelineTiming"),key:"time",width:120,render:(_,g)=>a.jsx("span",{className:"session-timeline-event-table__cell-timing",children:p(g)})}]:[{title:t("chat.timelineEventName"),key:"label",width:180,render:(_,g)=>a.jsx("span",{className:"session-timeline-event-table__label",style:{paddingLeft:`${g.depth*16}px`},children:g.label})},{title:t("chat.timelineInput"),key:"input",width:180,render:(_,g)=>a.jsx("span",{className:"session-timeline-event-table__value",children:g.input??d})},{title:t("chat.timelineOutput"),key:"output",width:180,render:(_,g)=>a.jsx("span",{className:"session-timeline-event-table__value",children:g.output??d})},{title:t("chat.timelineTiming"),key:"time",width:160,render:(_,g)=>p(g)}],[d,s,p,t]);return lt.useEffect(()=>{const _=r.current;if(!_)return;const g=()=>{const b=_.querySelector(".session-timeline-event-table__header"),x=_.querySelector(".ant-table-pagination"),P=(b==null?void 0:b.offsetHeight)??0,y=(x==null?void 0:x.offsetHeight)??0,S=Math.max(160,_.clientHeight-P-y-16);l(T=>T===S?T:S)};g();const v=new ResizeObserver(g);return v.observe(_),()=>{v.disconnect()}},[]),a.jsxs("div",{ref:r,className:"session-timeline-event-table",children:[a.jsxs("div",{className:"session-timeline-event-table__header",children:[a.jsx("span",{className:"session-timeline-event-table__title",children:t("chat.timeline.eventListTitle")}),a.jsx(Kt,{className:"session-timeline-event-table__search",allowClear:!0,value:i,onChange:_=>n(_.target.value),placeholder:t("chat.timeline.eventListSearch")})]}),a.jsx(w_,{className:"session-timeline-event-table__table",size:"small",columns:f,dataSource:u,rowKey:"id",onRow:_=>({onClick:()=>{_.payload&&console.warn(_.payload)}}),pagination:{pageSize:20,showSizeChanger:!s,pageSizeOptions:["10","20","50"]},scroll:{y:o},locale:{emptyText:t("chat.timelineEmpty")}})]})}const fi={startTime:"09:40:00",endTime:"11:30:48",events:[{type:"tool__StartTasks",startTime:"09:41:02",endTime:"10:10:25",tasks:{taskA:{startTime:"09:41:10",endTime:"09:55:02",description:"Task A"},taskB:{startTime:"09:41:10",endTime:"09:50:40",description:"Task B"},taskC:{startTime:"09:41:10",endTime:"10:10:20",description:"Task C",events:[{type:"tool__StartTasks",startTime:"09:48:00",endTime:"10:05:30",tasks:{taskC0:{startTime:"09:49:10",endTime:"10:05:25",events:[{type:"tool__AskUserQuestion",startTime:"09:57:00",endTime:"09:59:23"},{type:"user__Prompt",startTime:"09:58:10",endTime:"09:58:20"}]}}},{type:"tool__Edit",startTime:"09:57:10",endTime:"09:59:20"},{type:"tool__ResumeTask",startTime:"09:59:22",endTime:"10:05:30"}]}}},{type:"tool__StartTasks",startTime:"10:41:02",endTime:"11:10:25",tasks:{taskA1:{startTime:"10:41:10",endTime:"10:55:02",description:"Task A1"},taskB1:{startTime:"10:41:10",endTime:"10:50:40",description:"Task B1"},taskC1:{startTime:"10:41:10",endTime:"11:10:20",description:"Task C1",events:[{type:"tool__StartTasks",startTime:"10:48:00",endTime:"11:05:30",tasks:{taskC10:{startTime:"10:49:10",endTime:"11:05:25",events:[{type:"tool__AskUserQuestion",startTime:"10:57:00",endTime:"10:59:23"},{type:"user__Prompt",startTime:"10:58:10",endTime:"10:58:20"}]}}},{type:"tool__Edit",startTime:"10:57:10",endTime:"10:59:20"},{type:"tool__ResumeTask",startTime:"10:59:22",endTime:"11:05:30"}]}}}]};function XS({messages:e}){const{t}=Z(),{isCompactLayout:s}=$s(),[i,n]=lt.useState("events");if(s){const r=[{key:"events",label:t("chat.timeline.eventListTitle")},{key:"gantt",label:t("chat.timeline.viewGantt")},{key:"git",label:t("chat.timeline.viewGit")}];return a.jsxs("div",{className:"chat-timeline-view chat-timeline-view--compact",children:[a.jsx("div",{className:"chat-timeline-view__tabs",role:"tablist","aria-label":t("chat.timelineTiming"),children:r.map(o=>a.jsx("button",{type:"button",role:"tab","aria-selected":i===o.key,className:`chat-timeline-view__tab ${i===o.key?"is-active":""}`,onClick:()=>n(o.key),children:o.label},o.key))}),a.jsxs("section",{className:`chat-timeline-view__panel ${i==="events"?"chat-timeline-view__panel--events":"chat-timeline-view__panel--diagram"}`,children:[i==="events"&&a.jsx(Kc,{task:fi}),i==="gantt"&&a.jsx(zn,{task:fi,viewMode:"gantt"}),i==="git"&&a.jsx(zn,{task:fi,viewMode:"git"})]})]})}return a.jsxs("div",{className:"chat-timeline-view",children:[a.jsx("section",{className:"session-timeline-section session-timeline-section--fixed",children:a.jsx(zn,{task:fi,viewMode:"gantt"})}),a.jsxs("section",{className:"session-timeline-section session-timeline-section--flex session-timeline-section--row",children:[a.jsx("div",{className:"session-timeline-column session-timeline-column--graph",children:a.jsx(zn,{task:fi,viewMode:"git"})}),a.jsx("div",{className:"session-timeline-column session-timeline-column--events",children:a.jsx(Kc,{task:fi})})]})]})}function JS({activeView:e,setActiveView:t,targetMessageId:s,targetToolUseId:i}){const n=m.useRef(""),r=i!=null&&i.trim()?`tool:${i.trim()}`:s!=null&&s.trim()?`message:${s.trim()}`:"";m.useEffect(()=>{r===""?n.current="":n.current!==r&&(n.current=r,e!=="history"&&t("history"))},[e,r,t])}function ZS({sessionId:e}){const[t,s]=m.useState(null),i=m.useCallback((n,r)=>{e&&Ap(e,n,r).then(()=>{s(o=>(o==null?void 0:o.id)===n?null:o)}).catch(o=>{console.error("Failed to submit interaction response:",o)})},[e]);return{interactionRequest:t,setInteractionRequest:s,handleInteractionResponse:i}}const QS=(e,t={})=>e==="timeline"?t.enableTimelineView===!0?"timeline":"history":e==="history"?e:"history",ek=(e,t)=>e==="fold"?"fold":e==="true"||t?"open":"closed";function tk({enableTimelineView:e}={}){const{values:t,update:s}=Nr({keys:["view","terminal"],defaults:{view:"history",terminal:""},omit:{view:d=>d==="history",terminal:d=>d===""||d==="false"}}),i=t.view==="terminal",n=QS(i?"history":t.view,{enableTimelineView:e}),r=ek(t.terminal,i),o=r!=="closed",l=r==="fold",c=m.useCallback(d=>{s({view:d})},[s]),h=m.useCallback(d=>{s({terminal:d?"true":"false"})},[s]),u=m.useCallback(d=>{s({terminal:d?"fold":"true"})},[s]);return m.useEffect(()=>{e!=null&&n!==t.view&&s({view:n})},[n,e,t.view,s]),m.useEffect(()=>{i&&s({view:"history",terminal:"true"})},[i,s]),{activeView:n,isTerminalPanelFolded:l,isTerminalOpen:o,setActiveView:c,setIsTerminalOpen:h,setIsTerminalPanelFolded:u}}function sk(e,t){return m.useCallback(s=>{t(s),!(e==null||e==="")&&xi(e,{permissionMode:s}).catch(i=>{console.error("Failed to update session permission mode:",i)})},[e,t])}function Xu({enableTimelineView:e,session:t}){const{t:s}=Z(),i=Ri(Ld),n=Bp(t,i),{adapterOptions:r,applySessionSelection:o,hiddenBuiltinAdapterOptions:l,modelMenuGroups:c,selectedAdapter:h,selectedModel:u,selectedModelWithService:d,setSelectedModel:p,setSelectedAdapter:f,builtinPreviewModelOptions:_,modelSearchOptions:g,recommendedModelOptions:v,servicePreviewModelOptions:b,toggleRecommendedModel:x,updatingRecommendedModelValue:P,hasAvailableModels:y}=Op({adapterLocked:(t==null?void 0:t.id)!=null}),{accountOptions:S,selectedAccount:T,setSelectedAccount:j,applySessionSelection:I,showAccountSelector:R}=Fp({adapter:h,model:d}),{permissionMode:O,setPermissionMode:k,permissionModeOptions:N}=Wp(),{effort:C,setEffort:w,effortOptions:M}=$p(),{activeView:E,isTerminalOpen:D,isTerminalPanelFolded:A,setActiveView:B,setIsTerminalOpen:H,setIsTerminalPanelFolded:U}=tk({enableTimelineView:e}),{interactionRequest:W,setInteractionRequest:z,handleInteractionResponse:F}=ZS({sessionId:t==null?void 0:t.id}),{creationProgress:te,messages:ie,setMessages:ue,sessionInfo:pe,sessionCompactionInfo:Y,sessionCompactionEvents:be,sessionWorkspaceChanges:ye,queuedMessages:he,isReady:$,errorState:de,retryConnection:oe,reconcileAfterInteraction:_e}=N_({session:t,modelForQuery:d,effort:C,permissionMode:O,adapter:h,account:T,optimisticCreation:n,setInteractionRequest:z}),ce=m.useCallback((me,Ge)=>{_e(),F(me,Ge)},[_e,F]),We=sk(t==null?void 0:t.id,k),we=m.useRef(null),Se=(t==null?void 0:t.status)==="running";return m.useEffect(()=>{if((t==null?void 0:t.id)==null||t.id===""){we.current=null;return}const me=we.current,Ge=(me==null?void 0:me.id)!==t.id;(Ge||(me==null?void 0:me.model)!==t.model||(me==null?void 0:me.adapter)!==t.adapter)&&o({model:t.model,adapter:t.adapter}),(Ge||(me==null?void 0:me.account)!==t.account)&&I({account:t.account}),(Ge||(me==null?void 0:me.permissionMode)!==t.permissionMode)&&k(t.permissionMode),(Ge||(me==null?void 0:me.effort)!==t.effort)&&w(t.effort),we.current={id:t.id,model:t.model,permissionMode:t.permissionMode,adapter:t.adapter,account:t.account,effort:t.effort}},[I,t==null?void 0:t.adapter,t==null?void 0:t.account,t==null?void 0:t.effort,t==null?void 0:t.id,t==null?void 0:t.model,t==null?void 0:t.permissionMode,o,w,k]),{creationProgress:te,messages:ie,sessionInfo:pe,sessionCompactionInfo:Y,sessionCompactionEvents:be,sessionWorkspaceChanges:ye,queuedMessages:he,interactionRequest:W,isReady:$,errorState:de,retryConnection:oe,isThinking:Se,activeView:E,isTerminalPanelFolded:A,isTerminalOpen:D,setActiveView:B,setIsTerminalOpen:H,setIsTerminalPanelFolded:U,handleInteractionResponse:ce,setMessages:ue,placeholder:t!=null&&t.id?void 0:s("chat.newSessionPlaceholder"),modelMenuGroups:c,builtinPreviewModelOptions:_,modelSearchOptions:g,recommendedModelOptions:v,servicePreviewModelOptions:b,toggleRecommendedModel:x,updatingRecommendedModelValue:P,selectedModel:u,modelForQuery:d,setSelectedModel:p,effort:C,setEffort:w,effortOptions:M,permissionMode:O,setPermissionMode:We,permissionModeOptions:N,selectedAdapter:h,setSelectedAdapter:f,selectedAccount:T,setSelectedAccount:j,accountOptions:S,showAccountSelector:R,adapterOptions:r,hiddenBuiltinAdapterOptions:l,hasAvailableModels:y,modelUnavailable:!y}}const ik=e=>{var t,s,i;if(e!=null)return((i=(s=(t=e.sources)==null?void 0:t.merged)==null?void 0:s.experiments)==null?void 0:i.sessionTimeline)===!0};function nk(e){const{data:t}=Qt(e==null?"/api/config":null,Ia);return e??ik(t)}const Ao="chatInteractionPendingShortcutRequest",rk=e=>e!=null&&typeof e=="object"&&!Array.isArray(e),pr=()=>{if(typeof window>"u")return null;try{const e=JSON.parse(window.sessionStorage.getItem(Ao)??"null");return!rk(e)||typeof e.id!="number"||typeof e.action!="string"?null:e}catch{return null}},Bo=e=>{if(!(typeof window>"u"))try{if(e==null){window.sessionStorage.removeItem(Ao);return}window.sessionStorage.setItem(Ao,JSON.stringify(e))}catch{}},yi="default",ok=["default","zsh","bash","sh"],_r="bottom",zc=(e,t)=>t("chat.terminal.paneTitle",{index:e}),Va=()=>`term-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`,Uc=e=>e===yi?Va():e,Ju=(e,t)=>{const s=new Set(e.map(i=>i.title.trim()).filter(Boolean));for(let i=1;i<=e.length+1;i+=1){const n=zc(i,t);if(!s.has(n))return n}return zc(e.length+1,t)},Zu=(e,t)=>{const s=[];for(const i of e){const n=i.title.trim();s.push({...i,title:n===""?Ju(s,t):n})}return s},ak=e=>typeof e=="string"&&ok.includes(e),lk=e=>e==="bottom"||e==="workspace-drawer",ck=e=>e.surface??_r,Ga=(e,t)=>ck(e)===t,yn=e=>{const t=typeof e=="string"?e.trim():"";return t===""?void 0:t},qc=e=>{if(e==null||typeof e!="object"||Array.isArray(e))return;const t=e,s=typeof t.commandId=="string"?t.commandId.trim():"",i=yn(t.script);if(s===""||i==null)return;const n=typeof t.title=="string"&&t.title.trim()!==""?t.title.trim():s,r=typeof t.icon=="string"&&t.icon.trim()!==""?t.icon.trim():"terminal";return{commandId:s,icon:r,script:i,title:n}},hk=e=>{if(typeof e=="string"&&e.trim()!==""){const i=e.trim();return{id:Uc(i),title:"",shellKind:"default",surface:_r}}if(e==null||typeof e!="object")return null;const t=e,s=typeof t.id=="string"?t.id.trim():"";return s===""?null:{id:Uc(s),title:typeof t.title=="string"?t.title:"",shellKind:ak(t.shellKind)?t.shellKind:"default",surface:lk(t.surface)?t.surface:_r,...yn(t.initialCommand)!=null?{initialCommand:yn(t.initialCommand)}:{},...qc(t.runCommand)!=null?{runCommand:qc(t.runCommand)}:{}}},dk=e=>e.map(t=>t.id===yi?{...t,id:Va()}:t),uk=(e,t={})=>{const s=t.fallback!==!1;if(!Array.isArray(e))return s?[Oo()]:[];const i=[],n=new Set;for(const r of e){const o=hk(r);o==null||n.has(o.id)||(i.push(o),n.add(o.id))}return i.length>0?i:s?[Oo()]:[]},Oo=(e="default",t="",s,i,n=_r)=>({id:Va(),title:t,shellKind:e,surface:n,...yn(s)!=null?{initialCommand:yn(s)}:{},...i!=null?{runCommand:i}:{}}),Qu=e=>`chatTerminalPaneIds:${e}`,Vc=(e,t)=>{if(typeof window>"u")return[];try{const s=window.localStorage.getItem(Qu(e));if(s==null)return[];const i=JSON.parse(s);return Array.isArray(i)&&i.length===0?[]:Zu(uk(i,{fallback:!1}),t)}catch{return[]}},mk=(e,t)=>{if(!(typeof window>"u"))try{window.localStorage.setItem(Qu(e),JSON.stringify(t))}catch{}};function fk(e,t){const[s,i]=m.useState(()=>Vc(e,t)),[n,r]=m.useState(()=>{var k;return((k=s[0])==null?void 0:k.id)??yi}),[o,l]=m.useState({}),[c,h]=m.useState({}),u=m.useRef(s),d=m.useRef(e),p=m.useRef(t),f=m.useRef(new Map),_=m.useRef(new Map),g=m.useRef(new Map);m.useEffect(()=>{u.current=s},[s]),m.useEffect(()=>{p.current=t},[t]),m.useEffect(()=>{var N;if(d.current===e)return;d.current=e;const k=Vc(e,p.current);i(k),r(((N=k[0])==null?void 0:N.id)??yi),l({}),h({}),f.current.clear(),_.current.clear(),g.current.clear()},[e]),m.useEffect(()=>{mk(e,s)},[s,e]);const v=m.useCallback(k=>{i(N=>{var E;const C=N.findIndex(D=>D.id===k);if(C<0)return N;const w=N.filter(D=>D.id!==k),M=((E=w[Math.min(C,w.length-1)])==null?void 0:E.id)??yi;return f.current.delete(k),_.current.delete(k),g.current.delete(k),l(D=>{const A={...D};return delete A[k],A}),h(D=>{const A={...D};return delete A[k],A}),r(D=>D===k?M:D),w})},[]),b=m.useCallback(k=>{if(!f.current.has(k))return;const N=_.current.get(k);if(N==null)return;const C=f.current.get(k);N(C==null?void 0:C.initialCommand,C==null?void 0:C.options)&&f.current.delete(k)},[]),x=m.useCallback((k,N)=>{l(w=>({...w,[k]:N})),N.isExited&&h(w=>w[k]!==!0?w:{...w,[k]:!1});const C=u.current.find(w=>w.id===k);if(N.isExited&&(C==null?void 0:C.runCommand)==null){v(k);return}b(k)},[b,v]),P=m.useCallback((k,N)=>{if(N==null){_.current.delete(k);return}_.current.set(k,N),b(k)},[b]),y=m.useCallback((k,N)=>{if(N==null){g.current.delete(k);return}g.current.set(k,N)},[]),S=m.useCallback((k="default",N={})=>{const C=Oo(k,N.title??"",N.initialCommand,N.runCommand,N.surface);return i(w=>{const M=dk(w);return Zu([...M,{...C,title:C.title.trim()===""?Ju(M,t):C.title}],t)}),r(C.id),C},[t]),T=m.useCallback(k=>{const N=u.current.find(C=>C.id===k);(N==null?void 0:N.runCommand)!=null&&h(C=>({...C,[k]:!0})),i(C=>C.map(w=>{if(w.id!==k||w.initialCommand==null)return w;const{initialCommand:M,...E}=w;return E}))},[]),j=m.useCallback(k=>{var E,D;const N=new Set(k);if(N.size<=0)return n;const C=s.findIndex(A=>N.has(A.id)),w=s.filter(A=>!N.has(A.id)),M=((E=w[Math.min(Math.max(C,0),w.length-1)])==null?void 0:E.id)??null;for(const A of N)(D=g.current.get(A))==null||D(),f.current.delete(A),_.current.delete(A),g.current.delete(A);return l(A=>{const B={...A};for(const H of N)delete B[H];return B}),h(A=>{const B={...A};for(const H of N)delete B[H];return B}),i(w),r(A=>N.has(A)?M??yi:A),M},[n,s]),I=m.useCallback(k=>j([k]),[j]),R=m.useCallback((k,N,C)=>{const w=_.current.get(k);if(w!=null&&w(N,C))return!0;f.current.set(k,{initialCommand:N,options:C});for(const M of[0,100,250,500,1e3,2e3,4e3])window.setTimeout(()=>b(k),M);return!1},[b]),O=m.useCallback(k=>{var C;const N=((C=g.current.get(k))==null?void 0:C())??!1;return N&&h(w=>({...w,[k]:!1})),N},[]);return{activeTerminalId:n,addTerminal:S,closeTerminal:I,closeTerminals:j,handleInfoChange:x,handleRestartChange:P,handleTerminateChange:y,infoById:o,markInitialCommandSent:T,panes:s,restartTerminal:R,runTaskRunningById:c,setActiveTerminalId:r,terminateTerminal:O}}const Ya="mod+p",Xa="mod+alt+t",Ja="mod+alt+w",Ci=(e,t)=>M_(e,t).map(i=>i.value).join(t?"":"+"),em=e=>{if(typeof window>"u"||e==="")return;const t=window.open(e,"_blank","noopener,noreferrer");if(t==null){if(window.oneworksDesktop!=null)return;window.location.assign(e);return}try{t.opener=null}catch{}t.focus()},tm=e=>`chatInteractionIframePages:${e}`,ps=e=>{const t=e.trim();if(t==="")return"";if(/^[a-z][a-z\d+\-.]*:\/\//i.test(t))try{return new URL(t).href}catch{return t}try{return new URL(`https://${t}`).href}catch{return`https://${t}`}},Or=(e,t)=>{try{const s=new URL(e).hostname.replace(/^www\./,"");return s===""?t:s}catch{return t}},sm=e=>{try{return`${new URL(e).origin}/favicon.ico`}catch{return}},Za=(e,t)=>e.variant==="mobile-debug-devtools"?e.title:Or(t,e.title),Qa=(e,t)=>e.variant==="mobile-debug-devtools"?e.faviconUrl:sm(t),Gc=(e,t={})=>({id:`iframe-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`,title:e,url:"",...t.faviconUrl==null||t.faviconUrl.trim()===""?{}:{faviconUrl:t.faviconUrl.trim()},...t.variant==null?{}:{variant:t.variant}}),pk=e=>{const t=Array.isArray(e.history)?e.history.filter(o=>typeof o=="string"):void 0,s=t==null||t.length===0?void 0:Math.min(Math.max(e.historyIndex??t.length-1,0),t.length-1),i=e.variant==="mobile-debug-devtools"?e.variant:void 0,{variant:n,...r}=e;return{...r,...typeof e.faviconUrl=="string"&&e.faviconUrl!==""?{faviconUrl:e.faviconUrl}:{},...t==null||s==null?{}:{history:t,historyIndex:s},...i==null?{}:{variant:i}}},Yc=e=>{if(typeof window>"u")return[];try{const t=window.localStorage.getItem(tm(e)),s=t==null?[]:JSON.parse(t);return Array.isArray(s)?s.filter(i=>i!=null&&typeof i=="object"&&typeof i.id=="string"&&typeof i.title=="string"&&typeof i.url=="string").map(pk):[]}catch{return[]}},_k=(e,t)=>{if(!(typeof window>"u"))try{window.localStorage.setItem(tm(e),JSON.stringify(t))}catch{}},Xc=(e,t)=>{var o;const s=ps(t);if(s==="")return{...e,url:"",history:[],historyIndex:void 0};const i=(o=e.history)!=null&&o.length?e.history:e.url===""?[]:[e.url],n=e.historyIndex??i.length-1,r=i[n]===s?i:[...i.slice(0,n+1),s];return{...e,url:s,title:Za(e,s),faviconUrl:Qa(e,s),history:r,historyIndex:r.length-1}},gk=(e,t)=>{const s=e.history??[],n=(e.historyIndex??s.length-1)+t,r=s[n];return r==null?e:{...e,url:r,title:Za(e,r),faviconUrl:Qa(e,r),historyIndex:n}},vk=(e,t)=>{const i=(e.history??[])[t];return i==null?e:{...e,url:i,title:Za(e,i),faviconUrl:Qa(e,i),historyIndex:t}},bk=(e,t)=>({...e,...e.variant==="mobile-debug-devtools"||t.title==null||t.title.trim()===""?{}:{title:t.title.trim()},...e.variant==="mobile-debug-devtools"||t.faviconUrl==null||t.faviconUrl.trim()===""?{}:{faviconUrl:t.faviconUrl}}),yk=({iframePage:e,onCopyText:t,onNewTerminal:s,t:i,tab:n,workspaceRootPath:r})=>{if(n.kind==="file")return Pa({path:n.path,t:i,workspaceRootPath:r}).map(o=>({disabled:o.disabled,icon:"content_copy",key:o.key,label:o.label,run:()=>{o.disabled!==!0&&t(o.text,o.successMessage)}}));if(n.kind==="iframe"){const o=ps((e==null?void 0:e.url)??"");return[{disabled:o==="",icon:"content_copy",key:"copy-url",label:i("chat.interactionPanel.copyIframeUrl"),run:()=>t(o,i("chat.interactionPanel.iframeUrlCopied"))},{disabled:o==="",icon:"open_in_new",key:"open-external",label:i("chat.interactionPanel.iframeOpenExternalBrowser"),run:()=>em(o)}]}return n.kind==="terminal"?[{icon:"terminal",key:"new-same-shell-terminal",label:i("chat.interactionPanel.newSameShellTerminal"),run:()=>s(n.shellKind)}]:[]},el="mobile-debug:config",Fo="mobile-debug:device:",tl="mobile-debug:no-devices",Wo="plugin:add:",wk=(e,t)=>`${Wo}${e}:${t}`,im=e=>{if(!e.startsWith(Wo))return;const t=e.slice(Wo.length),[s,i]=t.split(":",2);if(!(s==null||s===""||i==null||i===""))return{id:i,scope:s}},Sk=(e,t)=>`${Fo}${encodeURIComponent(e)}${t==null?"":`:${encodeURIComponent(t)}`}`,nm=e=>{if(!e.startsWith(Fo))return;const t=e.slice(Fo.length),[s,i]=t.split(":",2);return{id:decodeURIComponent(s),label:i==null?void 0:decodeURIComponent(i)}},kk=e=>e?a.jsx("span",{className:"material-symbols-rounded nav-menu-icon active",children:"check"}):a.jsx("div",{className:"nav-menu-icon-placeholder"}),Ss=(e,t)=>a.jsxs("span",{className:"chat-interaction-panel__add-menu-label",children:[a.jsx("span",{children:e}),t!=null&&t!==""&&a.jsx("span",{className:"chat-interaction-panel__add-menu-shortcut",children:t})]}),xk=(e,t,s={})=>{const i=h=>s.includeKinds==null||s.includeKinds.includes(h),n=s.mobileDebugDevices??[],r=s.pluginMenuItems??[],o=s.language??"en",l=[{key:el,icon:a.jsx("span",{className:"material-symbols-rounded nav-menu-icon",children:"tune"}),label:Ss(e("chat.interactionPanel.mobileDebugConfig"))},{type:"divider"},...n.length===0?[{key:tl,icon:a.jsx("span",{className:"material-symbols-rounded nav-menu-icon",children:"tune"}),label:Ss(e("chat.interactionPanel.mobileDebugNoKnownDevices"))}]:n.map(h=>({key:Sk(h.id,h.label),icon:kk(h.id===s.selectedMobileDebugDeviceId),label:Ss(h.label)}))],c=[...i("resource")?[{key:"resource",icon:a.jsx("span",{className:"material-symbols-rounded",children:"pageview"}),label:Ss(e("chat.interactionPanel.openResource"),Ci(Ya,t))}]:[],...i("terminal")?[{key:"terminal",icon:a.jsx("span",{className:"material-symbols-rounded",children:"terminal"}),label:Ss(e("chat.terminal.addSession"),Ci(Xa,t))}]:[],...s.canCreateSessionTab===!1||!i("session")?[]:[{key:"session",icon:a.jsx("span",{className:"material-symbols-rounded",children:"chat"}),label:Ss(e("chat.interactionPanel.addSession"))}],...i("iframe")?[{key:"iframe",icon:a.jsx("span",{className:"material-symbols-rounded",children:"language"}),label:Ss(e("chat.interactionPanel.addIframe"),Ci(Ja,t))}]:[],...i("mobile-debug")?[{key:"mobile-debug",children:l,icon:a.jsx("span",{className:"material-symbols-rounded",children:"phonelink_setup"}),label:Ss(e("chat.interactionPanel.addMobileDebug"))}]:[]];return r.length<=0||!i("plugin")?c:[...c,{type:"divider"},...r.map(h=>({key:wk(h.pluginScope,h.id),icon:a.jsx("span",{className:"material-symbols-rounded",children:h.icon??"layers"}),label:Ss(Ni(h,"title",o)??h.title)}))]},$o="workspace-drawer:view:",Fr=e=>`${$o}${encodeURIComponent(e)}`,sl=e=>{if(!e.startsWith($o))return;const t=e.slice($o.length);if(t!=="")return decodeURIComponent(t)},Ck=e=>a.jsx("span",{className:"material-symbols-rounded chat-interaction-panel__menu-icon",children:e}),il=(e,t,s={})=>{const i=xk(e,t,{...s,includeKinds:s.interactionPanelItemKinds,language:s.language})??[],n=s.workspaceDrawerItems??[];return n.length===0?i:[...i,{type:"divider"},...n.map(r=>({key:Fr(r.key),icon:Ck(r.icon),label:r.label}))]},Nk=e=>{var t,s;return e.role!=="agent"?!1:e.kind==="attention"||((t=e.run)==null?void 0:t.status)==="waiting"||((s=e.member)==null?void 0:s.status)==="waiting"};function rm(e){var n;const t=Ud(e),s=new Set,i=[];for(let r=t.messages.length-1;r>=0;r-=1){const o=t.messages[r];if(!Nk(o))continue;const l=((n=o.run)==null?void 0:n.runKey)??o.id;s.has(l)||(s.add(l),i.push(o))}return i.reverse()}/**
|
|
54
|
-
* Copyright (c) 2014-2024 The xterm.js authors. All rights reserved.
|
|
55
|
-
* @license MIT
|
|
56
|
-
*
|
|
57
|
-
* Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
|
|
58
|
-
* @license MIT
|
|
59
|
-
*
|
|
60
|
-
* Originally forked from (with the author's permission):
|
|
61
|
-
* Fabrice Bellard's javascript vt100 for jslinux:
|
|
62
|
-
* http://bellard.org/jslinux/
|
|
63
|
-
* Copyright (c) 2011 Fabrice Bellard
|
|
64
|
-
*/var Tk=2,Ek=1,Mk=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){var d;if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let t=this._terminal.options.scrollback===0?0:((d=this._terminal.options.overviewRuler)==null?void 0:d.width)||14,s=window.getComputedStyle(this._terminal.element.parentElement),i=parseInt(s.getPropertyValue("height")),n=Math.max(0,parseInt(s.getPropertyValue("width"))),r=window.getComputedStyle(this._terminal.element),o={top:parseInt(r.getPropertyValue("padding-top")),bottom:parseInt(r.getPropertyValue("padding-bottom")),right:parseInt(r.getPropertyValue("padding-right")),left:parseInt(r.getPropertyValue("padding-left"))},l=o.top+o.bottom,c=o.right+o.left,h=i-l,u=n-c-t;return{cols:Math.max(Tk,Math.floor(u/e.css.cell.width)),rows:Math.max(Ek,Math.floor(h/e.css.cell.height))}}};/**
|
|
65
|
-
* Copyright (c) 2014-2024 The xterm.js authors. All rights reserved.
|
|
66
|
-
* @license MIT
|
|
67
|
-
*
|
|
68
|
-
* Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
|
|
69
|
-
* @license MIT
|
|
70
|
-
*
|
|
71
|
-
* Originally forked from (with the author's permission):
|
|
72
|
-
* Fabrice Bellard's javascript vt100 for jslinux:
|
|
73
|
-
* http://bellard.org/jslinux/
|
|
74
|
-
* Copyright (c) 2011 Fabrice Bellard
|
|
75
|
-
*/var om=Object.defineProperty,Pk=Object.getOwnPropertyDescriptor,Rk=(e,t)=>{for(var s in t)om(e,s,{get:t[s],enumerable:!0})},pt=(e,t,s,i)=>{for(var n=i>1?void 0:i?Pk(t,s):t,r=e.length-1,o;r>=0;r--)(o=e[r])&&(n=(i?o(t,s,n):o(n))||n);return i&&n&&om(t,s,n),n},re=(e,t)=>(s,i)=>t(s,i,e),Jc="Terminal input",Ho={get:()=>Jc,set:e=>Jc=e},Zc="Too much output to announce, navigate to rows manually to read",Ko={get:()=>Zc,set:e=>Zc=e};function jk(e){return e.replace(/\r?\n/g,"\r")}function Ik(e,t){return t?"\x1B[200~"+e+"\x1B[201~":e}function Dk(e,t){e.clipboardData&&e.clipboardData.setData("text/plain",t.selectionText),e.preventDefault()}function Lk(e,t,s,i){if(e.stopPropagation(),e.clipboardData){let n=e.clipboardData.getData("text/plain");am(n,t,s,i)}}function am(e,t,s,i){e=jk(e),e=Ik(e,s.decPrivateModes.bracketedPasteMode&&i.rawOptions.ignoreBracketedPasteMode!==!0),s.triggerDataEvent(e,!0),t.value=""}function lm(e,t,s){let i=s.getBoundingClientRect(),n=e.clientX-i.left-10,r=e.clientY-i.top-10;t.style.width="20px",t.style.height="20px",t.style.left=`${n}px`,t.style.top=`${r}px`,t.style.zIndex="1000",t.focus()}function Qc(e,t,s,i,n){lm(e,t,s),n&&i.rightClickSelect(e),t.value=i.selectionText,t.select()}function Bs(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function Wr(e,t=0,s=e.length){let i="";for(let n=t;n<s;++n){let r=e[n];r>65535?(r-=65536,i+=String.fromCharCode((r>>10)+55296)+String.fromCharCode(r%1024+56320)):i+=String.fromCharCode(r)}return i}var Ak=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let s=e.length;if(!s)return 0;let i=0,n=0;if(this._interim){let r=e.charCodeAt(n++);56320<=r&&r<=57343?t[i++]=(this._interim-55296)*1024+r-56320+65536:(t[i++]=this._interim,t[i++]=r),this._interim=0}for(let r=n;r<s;++r){let o=e.charCodeAt(r);if(55296<=o&&o<=56319){if(++r>=s)return this._interim=o,i;let l=e.charCodeAt(r);56320<=l&&l<=57343?t[i++]=(o-55296)*1024+l-56320+65536:(t[i++]=o,t[i++]=l);continue}o!==65279&&(t[i++]=o)}return i}},Bk=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let s=e.length;if(!s)return 0;let i=0,n,r,o,l,c=0,h=0;if(this.interim[0]){let p=!1,f=this.interim[0];f&=(f&224)===192?31:(f&240)===224?15:7;let _=0,g;for(;(g=this.interim[++_]&63)&&_<4;)f<<=6,f|=g;let v=(this.interim[0]&224)===192?2:(this.interim[0]&240)===224?3:4,b=v-_;for(;h<b;){if(h>=s)return 0;if(g=e[h++],(g&192)!==128){h--,p=!0;break}else this.interim[_++]=g,f<<=6,f|=g&63}p||(v===2?f<128?h--:t[i++]=f:v===3?f<2048||f>=55296&&f<=57343||f===65279||(t[i++]=f):f<65536||f>1114111||(t[i++]=f)),this.interim.fill(0)}let u=s-4,d=h;for(;d<s;){for(;d<u&&!((n=e[d])&128)&&!((r=e[d+1])&128)&&!((o=e[d+2])&128)&&!((l=e[d+3])&128);)t[i++]=n,t[i++]=r,t[i++]=o,t[i++]=l,d+=4;if(n=e[d++],n<128)t[i++]=n;else if((n&224)===192){if(d>=s)return this.interim[0]=n,i;if(r=e[d++],(r&192)!==128){d--;continue}if(c=(n&31)<<6|r&63,c<128){d--;continue}t[i++]=c}else if((n&240)===224){if(d>=s)return this.interim[0]=n,i;if(r=e[d++],(r&192)!==128){d--;continue}if(d>=s)return this.interim[0]=n,this.interim[1]=r,i;if(o=e[d++],(o&192)!==128){d--;continue}if(c=(n&15)<<12|(r&63)<<6|o&63,c<2048||c>=55296&&c<=57343||c===65279)continue;t[i++]=c}else if((n&248)===240){if(d>=s)return this.interim[0]=n,i;if(r=e[d++],(r&192)!==128){d--;continue}if(d>=s)return this.interim[0]=n,this.interim[1]=r,i;if(o=e[d++],(o&192)!==128){d--;continue}if(d>=s)return this.interim[0]=n,this.interim[1]=r,this.interim[2]=o,i;if(l=e[d++],(l&192)!==128){d--;continue}if(c=(n&7)<<18|(r&63)<<12|(o&63)<<6|l&63,c<65536||c>1114111)continue;t[i++]=c}}return i}},cm="",Fs=" ",Mn=class hm{constructor(){this.fg=0,this.bg=0,this.extended=new gr}static toColorRGB(t){return[t>>>16&255,t>>>8&255,t&255]}static fromColorRGB(t){return(t[0]&255)<<16|(t[1]&255)<<8|t[2]&255}clone(){let t=new hm;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)===50331648}isBgRGB(){return(this.bg&50331648)===50331648}isFgPalette(){return(this.fg&50331648)===16777216||(this.fg&50331648)===33554432}isBgPalette(){return(this.bg&50331648)===16777216||(this.bg&50331648)===33554432}isFgDefault(){return(this.fg&50331648)===0}isBgDefault(){return(this.bg&50331648)===0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===16777216||(this.extended.underlineColor&50331648)===33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},gr=class dm{constructor(t=0,s=0){this._ext=0,this._urlId=0,this._ext=t,this._urlId=s}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(t){this._ext=t}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(t){this._ext&=-469762049,this._ext|=t<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(t){this._ext&=-67108864,this._ext|=t&67108863}get urlId(){return this._urlId}set urlId(t){this._urlId=t}get underlineVariantOffset(){let t=(this._ext&3758096384)>>29;return t<0?t^4294967288:t}set underlineVariantOffset(t){this._ext&=536870911,this._ext|=t<<29&3758096384}clone(){return new dm(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},Zt=class um extends Mn{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new gr,this.combinedData=""}static fromCharData(t){let s=new um;return s.setFromCharData(t),s}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?Bs(this.content&2097151):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(t){this.fg=t[0],this.bg=0;let s=!1;if(t[1].length>2)s=!0;else if(t[1].length===2){let i=t[1].charCodeAt(0);if(55296<=i&&i<=56319){let n=t[1].charCodeAt(1);56320<=n&&n<=57343?this.content=(i-55296)*1024+n-56320+65536|t[2]<<22:s=!0}else s=!0}else this.content=t[1].charCodeAt(0)|t[2]<<22;s&&(this.combinedData=t[1],this.content=2097152|t[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},eh="di$target",zo="di$dependencies",io=new Map;function Ok(e){return e[zo]||[]}function Pt(e){if(io.has(e))return io.get(e);let t=function(s,i,n){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");Fk(t,s,n)};return t._id=e,io.set(e,t),t}function Fk(e,t,s){t[eh]===t?t[zo].push({id:e,index:s}):(t[zo]=[{id:e,index:s}],t[eh]=t)}var Ot=Pt("BufferService"),mm=Pt("CoreMouseService"),ri=Pt("CoreService"),Wk=Pt("CharsetService"),nl=Pt("InstantiationService"),fm=Pt("LogService"),Ft=Pt("OptionsService"),pm=Pt("OscLinkService"),$k=Pt("UnicodeService"),Pn=Pt("DecorationService"),Uo=class{constructor(e,t,s){this._bufferService=e,this._optionsService=t,this._oscLinkService=s}provideLinks(e,t){var u;let s=this._bufferService.buffer.lines.get(e-1);if(!s){t(void 0);return}let i=[],n=this._optionsService.rawOptions.linkHandler,r=new Zt,o=s.getTrimmedLength(),l=-1,c=-1,h=!1;for(let d=0;d<o;d++)if(!(c===-1&&!s.hasContent(d))){if(s.loadCell(d,r),r.hasExtendedAttrs()&&r.extended.urlId)if(c===-1){c=d,l=r.extended.urlId;continue}else h=r.extended.urlId!==l;else c!==-1&&(h=!0);if(h||c!==-1&&d===o-1){let p=(u=this._oscLinkService.getLinkData(l))==null?void 0:u.uri;if(p){let f={start:{x:c+1,y:e},end:{x:d+(!h&&d===o-1?1:0),y:e}},_=!1;if(!(n!=null&&n.allowNonHttpProtocols))try{let g=new URL(p);["http:","https:"].includes(g.protocol)||(_=!0)}catch{_=!0}_||i.push({text:p,range:f,activate:(g,v)=>n?n.activate(g,v,f):Hk(g,v),hover:(g,v)=>{var b;return(b=n==null?void 0:n.hover)==null?void 0:b.call(n,g,v,f)},leave:(g,v)=>{var b;return(b=n==null?void 0:n.leave)==null?void 0:b.call(n,g,v,f)}})}h=!1,r.hasExtendedAttrs()&&r.extended.urlId?(c=d,l=r.extended.urlId):(c=-1,l=-1)}}t(i)}};Uo=pt([re(0,Ot),re(1,Ft),re(2,pm)],Uo);function Hk(e,t){if(confirm(`Do you want to navigate to ${t}?
|
|
76
|
-
|
|
77
|
-
WARNING: This link could potentially be dangerous`)){let s=window.open();if(s){try{s.opener=null}catch{}s.location.href=t}else console.warn("Opening link blocked as opener could not be cleared")}}var $r=Pt("CharSizeService"),Es=Pt("CoreBrowserService"),rl=Pt("MouseService"),Ms=Pt("RenderService"),Kk=Pt("SelectionService"),_m=Pt("CharacterJoinerService"),Ii=Pt("ThemeService"),gm=Pt("LinkProviderService"),zk=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?th.isErrorNoTelemetry(e)?new th(e.message+`
|
|
78
|
-
|
|
79
|
-
`+e.stack):new Error(e.message+`
|
|
80
|
-
|
|
81
|
-
`+e.stack):e},0)}}addListener(e){return this.listeners.push(e),()=>{this._removeListener(e)}}emit(e){this.listeners.forEach(t=>{t(e)})}_removeListener(e){this.listeners.splice(this.listeners.indexOf(e),1)}setUnexpectedErrorHandler(e){this.unexpectedErrorHandler=e}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}},Uk=new zk;function ir(e){qk(e)||Uk.onUnexpectedError(e)}var qo="Canceled";function qk(e){return e instanceof Vk?!0:e instanceof Error&&e.name===qo&&e.message===qo}var Vk=class extends Error{constructor(){super(qo),this.name=this.message}};function Gk(e){return new Error(`Illegal argument: ${e}`)}var th=class Vo extends Error{constructor(t){super(t),this.name="CodeExpectedError"}static fromError(t){if(t instanceof Vo)return t;let s=new Vo;return s.message=t.message,s.stack=t.stack,s}static isErrorNoTelemetry(t){return t.name==="CodeExpectedError"}},Go=class vm extends Error{constructor(t){super(t||"An unexpected bug occurred."),Object.setPrototypeOf(this,vm.prototype)}};function Ut(e,t=0){return e[e.length-(1+t)]}var Yk;(e=>{function t(r){return r<0}e.isLessThan=t;function s(r){return r<=0}e.isLessThanOrEqual=s;function i(r){return r>0}e.isGreaterThan=i;function n(r){return r===0}e.isNeitherLessOrGreaterThan=n,e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0})(Yk||(Yk={}));function Xk(e,t){let s=this,i=!1,n;return function(){return i||(i=!0,t||(n=e.apply(s,arguments))),n}}var bm;(e=>{function t(y){return y&&typeof y=="object"&&typeof y[Symbol.iterator]=="function"}e.is=t;let s=Object.freeze([]);function i(){return s}e.empty=i;function*n(y){yield y}e.single=n;function r(y){return t(y)?y:n(y)}e.wrap=r;function o(y){return y||s}e.from=o;function*l(y){for(let S=y.length-1;S>=0;S--)yield y[S]}e.reverse=l;function c(y){return!y||y[Symbol.iterator]().next().done===!0}e.isEmpty=c;function h(y){return y[Symbol.iterator]().next().value}e.first=h;function u(y,S){let T=0;for(let j of y)if(S(j,T++))return!0;return!1}e.some=u;function d(y,S){for(let T of y)if(S(T))return T}e.find=d;function*p(y,S){for(let T of y)S(T)&&(yield T)}e.filter=p;function*f(y,S){let T=0;for(let j of y)yield S(j,T++)}e.map=f;function*_(y,S){let T=0;for(let j of y)yield*S(j,T++)}e.flatMap=_;function*g(...y){for(let S of y)yield*S}e.concat=g;function v(y,S,T){let j=T;for(let I of y)j=S(j,I);return j}e.reduce=v;function*b(y,S,T=y.length){for(S<0&&(S+=y.length),T<0?T+=y.length:T>y.length&&(T=y.length);S<T;S++)yield y[S]}e.slice=b;function x(y,S=Number.POSITIVE_INFINITY){let T=[];if(S===0)return[T,y];let j=y[Symbol.iterator]();for(let I=0;I<S;I++){let R=j.next();if(R.done)return[T,e.empty()];T.push(R.value)}return[T,{[Symbol.iterator](){return j}}]}e.consume=x;async function P(y){let S=[];for await(let T of y)S.push(T);return Promise.resolve(S)}e.asyncToArray=P})(bm||(bm={}));function ti(e){if(bm.is(e)){let t=[];for(let s of e)if(s)try{s.dispose()}catch(i){t.push(i)}if(t.length===1)throw t[0];if(t.length>1)throw new AggregateError(t,"Encountered errors while disposing of store");return Array.isArray(e)?[]:e}else if(e)return e.dispose(),e}function Jk(...e){return ct(()=>ti(e))}function ct(e){return{dispose:Xk(()=>{e()})}}var ym=class wm{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{ti(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?wm.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}delete(t){if(t){if(t===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(t),t.dispose()}}deleteAndLeak(t){t&&this._toDispose.has(t)&&(this._toDispose.delete(t),void 0)}};ym.DISABLE_DISPOSED_WARNING=!1;var Ws=ym,Fe=class{constructor(){this._store=new Ws,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}};Fe.None=Object.freeze({dispose(){}});var Pi=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(e){var t;this._isDisposed||e===this._value||((t=this._value)==null||t.dispose(),this._value=e)}clear(){this.value=void 0}dispose(){var e;this._isDisposed=!0,(e=this._value)==null||e.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e}},xs=typeof window=="object"?window:globalThis,Yo=class Xo{constructor(t){this.element=t,this.next=Xo.Undefined,this.prev=Xo.Undefined}};Yo.Undefined=new Yo(void 0);var dt=Yo,sh=class{constructor(){this._first=dt.Undefined,this._last=dt.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===dt.Undefined}clear(){let e=this._first;for(;e!==dt.Undefined;){let t=e.next;e.prev=dt.Undefined,e.next=dt.Undefined,e=t}this._first=dt.Undefined,this._last=dt.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){let s=new dt(e);if(this._first===dt.Undefined)this._first=s,this._last=s;else if(t){let n=this._last;this._last=s,s.prev=n,n.next=s}else{let n=this._first;this._first=s,s.next=n,n.prev=s}this._size+=1;let i=!1;return()=>{i||(i=!0,this._remove(s))}}shift(){if(this._first!==dt.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==dt.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==dt.Undefined&&e.next!==dt.Undefined){let t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===dt.Undefined&&e.next===dt.Undefined?(this._first=dt.Undefined,this._last=dt.Undefined):e.next===dt.Undefined?(this._last=this._last.prev,this._last.next=dt.Undefined):e.prev===dt.Undefined&&(this._first=this._first.next,this._first.prev=dt.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==dt.Undefined;)yield e.element,e=e.next}},Zk=globalThis.performance&&typeof globalThis.performance.now=="function",Qk=class Sm{static create(t){return new Sm(t)}constructor(t){this._now=Zk&&t===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}},jt;(e=>{e.None=()=>Fe.None;function t(N,C){return d(N,()=>{},0,void 0,!0,void 0,C)}e.defer=t;function s(N){return(C,w=null,M)=>{let E=!1,D;return D=N(A=>{if(!E)return D?D.dispose():E=!0,C.call(w,A)},null,M),E&&D.dispose(),D}}e.once=s;function i(N,C,w){return h((M,E=null,D)=>N(A=>M.call(E,C(A)),null,D),w)}e.map=i;function n(N,C,w){return h((M,E=null,D)=>N(A=>{C(A),M.call(E,A)},null,D),w)}e.forEach=n;function r(N,C,w){return h((M,E=null,D)=>N(A=>C(A)&&M.call(E,A),null,D),w)}e.filter=r;function o(N){return N}e.signal=o;function l(...N){return(C,w=null,M)=>{let E=Jk(...N.map(D=>D(A=>C.call(w,A))));return u(E,M)}}e.any=l;function c(N,C,w,M){let E=w;return i(N,D=>(E=C(E,D),E),M)}e.reduce=c;function h(N,C){let w,M={onWillAddFirstListener(){w=N(E.fire,E)},onDidRemoveLastListener(){w==null||w.dispose()}},E=new J(M);return C==null||C.add(E),E.event}function u(N,C){return C instanceof Array?C.push(N):C&&C.add(N),N}function d(N,C,w=100,M=!1,E=!1,D,A){let B,H,U,W=0,z,F={leakWarningThreshold:D,onWillAddFirstListener(){B=N(ie=>{W++,H=C(H,ie),M&&!U&&(te.fire(H),H=void 0),z=()=>{let ue=H;H=void 0,U=void 0,(!M||W>1)&&te.fire(ue),W=0},typeof w=="number"?(clearTimeout(U),U=setTimeout(z,w)):U===void 0&&(U=0,queueMicrotask(z))})},onWillRemoveListener(){E&&W>0&&(z==null||z())},onDidRemoveLastListener(){z=void 0,B.dispose()}},te=new J(F);return A==null||A.add(te),te.event}e.debounce=d;function p(N,C=0,w){return e.debounce(N,(M,E)=>M?(M.push(E),M):[E],C,void 0,!0,void 0,w)}e.accumulate=p;function f(N,C=(M,E)=>M===E,w){let M=!0,E;return r(N,D=>{let A=M||!C(D,E);return M=!1,E=D,A},w)}e.latch=f;function _(N,C,w){return[e.filter(N,C,w),e.filter(N,M=>!C(M),w)]}e.split=_;function g(N,C=!1,w=[],M){let E=w.slice(),D=N(H=>{E?E.push(H):B.fire(H)});M&&M.add(D);let A=()=>{E==null||E.forEach(H=>B.fire(H)),E=null},B=new J({onWillAddFirstListener(){D||(D=N(H=>B.fire(H)),M&&M.add(D))},onDidAddFirstListener(){E&&(C?setTimeout(A):A())},onDidRemoveLastListener(){D&&D.dispose(),D=null}});return M&&M.add(B),B.event}e.buffer=g;function v(N,C){return(w,M,E)=>{let D=C(new x);return N(function(A){let B=D.evaluate(A);B!==b&&w.call(M,B)},void 0,E)}}e.chain=v;let b=Symbol("HaltChainable");class x{constructor(){this.steps=[]}map(C){return this.steps.push(C),this}forEach(C){return this.steps.push(w=>(C(w),w)),this}filter(C){return this.steps.push(w=>C(w)?w:b),this}reduce(C,w){let M=w;return this.steps.push(E=>(M=C(M,E),M)),this}latch(C=(w,M)=>w===M){let w=!0,M;return this.steps.push(E=>{let D=w||!C(E,M);return w=!1,M=E,D?E:b}),this}evaluate(C){for(let w of this.steps)if(C=w(C),C===b)break;return C}}function P(N,C,w=M=>M){let M=(...B)=>A.fire(w(...B)),E=()=>N.on(C,M),D=()=>N.removeListener(C,M),A=new J({onWillAddFirstListener:E,onDidRemoveLastListener:D});return A.event}e.fromNodeEventEmitter=P;function y(N,C,w=M=>M){let M=(...B)=>A.fire(w(...B)),E=()=>N.addEventListener(C,M),D=()=>N.removeEventListener(C,M),A=new J({onWillAddFirstListener:E,onDidRemoveLastListener:D});return A.event}e.fromDOMEventEmitter=y;function S(N){return new Promise(C=>s(N)(C))}e.toPromise=S;function T(N){let C=new J;return N.then(w=>{C.fire(w)},()=>{C.fire(void 0)}).finally(()=>{C.dispose()}),C.event}e.fromPromise=T;function j(N,C){return N(w=>C.fire(w))}e.forward=j;function I(N,C,w){return C(w),N(M=>C(M))}e.runAndSubscribe=I;class R{constructor(C,w){this._observable=C,this._counter=0,this._hasChanged=!1;let M={onWillAddFirstListener:()=>{C.addObserver(this)},onDidRemoveLastListener:()=>{C.removeObserver(this)}};this.emitter=new J(M),w&&w.add(this.emitter)}beginUpdate(C){this._counter++}handlePossibleChange(C){}handleChange(C,w){this._hasChanged=!0}endUpdate(C){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function O(N,C){return new R(N,C).emitter.event}e.fromObservable=O;function k(N){return(C,w,M)=>{let E=0,D=!1,A={beginUpdate(){E++},endUpdate(){E--,E===0&&(N.reportChanges(),D&&(D=!1,C.call(w)))},handlePossibleChange(){},handleChange(){D=!0}};N.addObserver(A),N.reportChanges();let B={dispose(){N.removeObserver(A)}};return M instanceof Ws?M.add(B):Array.isArray(M)&&M.push(B),B}}e.fromObservableLight=k})(jt||(jt={}));var Jo=class Zo{constructor(t){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${t}_${Zo._idPool++}`,Zo.all.add(this)}start(t){this._stopWatch=new Qk,this.listenerCount=t}stop(){if(this._stopWatch){let t=this._stopWatch.elapsed();this.durations.push(t),this.elapsedOverall+=t,this.invocationCount+=1,this._stopWatch=void 0}}};Jo.all=new Set,Jo._idPool=0;var ex=Jo,tx=-1,km=class xm{constructor(t,s,i=(xm._idPool++).toString(16).padStart(3,"0")){this._errorHandler=t,this.threshold=s,this.name=i,this._warnCountdown=0}dispose(){var t;(t=this._stacks)==null||t.clear()}check(t,s){let i=this.threshold;if(i<=0||s<i)return;this._stacks||(this._stacks=new Map);let n=this._stacks.get(t.value)||0;if(this._stacks.set(t.value,n+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=i*.5;let[r,o]=this.getMostFrequentStack(),l=`[${this.name}] potential listener LEAK detected, having ${s} listeners already. MOST frequent listener (${o}):`;console.warn(l),console.warn(r);let c=new nx(l,r);this._errorHandler(c)}return()=>{let r=this._stacks.get(t.value)||0;this._stacks.set(t.value,r-1)}}getMostFrequentStack(){if(!this._stacks)return;let t,s=0;for(let[i,n]of this._stacks)(!t||s<n)&&(t=[i,n],s=n);return t}};km._idPool=1;var sx=km,ix=class Cm{constructor(t){this.value=t}static create(){let t=new Error;return new Cm(t.stack??"")}print(){console.warn(this.value.split(`
|
|
82
|
-
`).slice(2).join(`
|
|
83
|
-
`))}},nx=class extends Error{constructor(e,t){super(e),this.name="ListenerLeakError",this.stack=t}},rx=class extends Error{constructor(e,t){super(e),this.name="ListenerRefusalError",this.stack=t}},ox=0,no=class{constructor(e){this.value=e,this.id=ox++}},ax=2,lx,J=class{constructor(e){var t,s,i,n;this._size=0,this._options=e,this._leakageMon=(t=this._options)!=null&&t.leakWarningThreshold?new sx((e==null?void 0:e.onListenerError)??ir,((s=this._options)==null?void 0:s.leakWarningThreshold)??tx):void 0,this._perfMon=(i=this._options)!=null&&i._profName?new ex(this._options._profName):void 0,this._deliveryQueue=(n=this._options)==null?void 0:n.deliveryQueue}dispose(){var e,t,s,i;this._disposed||(this._disposed=!0,((e=this._deliveryQueue)==null?void 0:e.current)===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),(s=(t=this._options)==null?void 0:t.onDidRemoveLastListener)==null||s.call(t),(i=this._leakageMon)==null||i.dispose())}get event(){return this._event??(this._event=(e,t,s)=>{var o,l,c,h,u;if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let d=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(d);let p=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],f=new rx(`${d}. HINT: Stack shows most frequent listener (${p[1]}-times)`,p[0]);return(((o=this._options)==null?void 0:o.onListenerError)||ir)(f),Fe.None}if(this._disposed)return Fe.None;t&&(e=e.bind(t));let i=new no(e),n;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(i.stack=ix.create(),n=this._leakageMon.check(i.stack,this._size+1)),this._listeners?this._listeners instanceof no?(this._deliveryQueue??(this._deliveryQueue=new cx),this._listeners=[this._listeners,i]):this._listeners.push(i):((c=(l=this._options)==null?void 0:l.onWillAddFirstListener)==null||c.call(l,this),this._listeners=i,(u=(h=this._options)==null?void 0:h.onDidAddFirstListener)==null||u.call(h,this)),this._size++;let r=ct(()=>{n==null||n(),this._removeListener(i)});return s instanceof Ws?s.add(r):Array.isArray(s)&&s.push(r),r}),this._event}_removeListener(e){var n,r,o,l;if((r=(n=this._options)==null?void 0:n.onWillRemoveListener)==null||r.call(n,this),!this._listeners)return;if(this._size===1){this._listeners=void 0,(l=(o=this._options)==null?void 0:o.onDidRemoveLastListener)==null||l.call(o,this),this._size=0;return}let t=this._listeners,s=t.indexOf(e);if(s===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,t[s]=void 0;let i=this._deliveryQueue.current===this;if(this._size*ax<=t.length){let c=0;for(let h=0;h<t.length;h++)t[h]?t[c++]=t[h]:i&&(this._deliveryQueue.end--,c<this._deliveryQueue.i&&this._deliveryQueue.i--);t.length=c}}_deliver(e,t){var i;if(!e)return;let s=((i=this._options)==null?void 0:i.onListenerError)||ir;if(!s){e.value(t);return}try{e.value(t)}catch(n){s(n)}}_deliverQueue(e){let t=e.current._listeners;for(;e.i<e.end;)this._deliver(t[e.i++],e.value);e.reset()}fire(e){var t,s,i,n;if((t=this._deliveryQueue)!=null&&t.current&&(this._deliverQueue(this._deliveryQueue),(s=this._perfMon)==null||s.stop()),(i=this._perfMon)==null||i.start(this._size),this._listeners)if(this._listeners instanceof no)this._deliver(this._listeners,e);else{let r=this._deliveryQueue;r.enqueue(this,e,this._listeners.length),this._deliverQueue(r)}(n=this._perfMon)==null||n.stop()}hasListeners(){return this._size>0}},cx=class{constructor(){this.i=-1,this.end=0}enqueue(e,t,s){this.i=0,this.end=s,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},Qo=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new J,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new J,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(t){return this.mapWindowIdToZoomLevel.get(this.getWindowId(t))??0}setZoomLevel(t,s){if(this.getZoomLevel(s)===t)return;let i=this.getWindowId(s);this.mapWindowIdToZoomLevel.set(i,t),this._onDidChangeZoomLevel.fire(i)}getZoomFactor(t){return this.mapWindowIdToZoomFactor.get(this.getWindowId(t))??1}setZoomFactor(t,s){this.mapWindowIdToZoomFactor.set(this.getWindowId(s),t)}setFullscreen(t,s){if(this.isFullscreen(s)===t)return;let i=this.getWindowId(s);this.mapWindowIdToFullScreen.set(i,t),this._onDidChangeFullscreen.fire(i)}isFullscreen(t){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(t))}getWindowId(t){return t.vscodeWindowId}};Qo.INSTANCE=new Qo;var ol=Qo;function hx(e,t,s){typeof t=="string"&&(t=e.matchMedia(t)),t.addEventListener("change",s)}ol.INSTANCE.onDidChangeZoomLevel;function dx(e){return ol.INSTANCE.getZoomFactor(e)}ol.INSTANCE.onDidChangeFullscreen;var Di=typeof navigator=="object"?navigator.userAgent:"",ea=Di.indexOf("Firefox")>=0,ux=Di.indexOf("AppleWebKit")>=0,al=Di.indexOf("Chrome")>=0,mx=!al&&Di.indexOf("Safari")>=0;Di.indexOf("Electron/")>=0;Di.indexOf("Android")>=0;var ro=!1;if(typeof xs.matchMedia=="function"){let e=xs.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),t=xs.matchMedia("(display-mode: fullscreen)");ro=e.matches,hx(xs,e,({matches:s})=>{ro&&t.matches||(ro=s)})}var wi="en",ta=!1,sa=!1,nr=!1,Nm=!1,Un,rr=wi,ih=wi,fx,is,ei=globalThis,Rt,vd;typeof ei.vscode<"u"&&typeof ei.vscode.process<"u"?Rt=ei.vscode.process:typeof process<"u"&&typeof((vd=process==null?void 0:process.versions)==null?void 0:vd.node)=="string"&&(Rt=process);var bd,px=typeof((bd=Rt==null?void 0:Rt.versions)==null?void 0:bd.electron)=="string",_x=px&&(Rt==null?void 0:Rt.type)==="renderer",yd;if(typeof Rt=="object"){ta=Rt.platform==="win32",sa=Rt.platform==="darwin",nr=Rt.platform==="linux",nr&&Rt.env.SNAP&&Rt.env.SNAP_REVISION,Rt.env.CI||Rt.env.BUILD_ARTIFACTSTAGINGDIRECTORY,Un=wi,rr=wi;let e=Rt.env.VSCODE_NLS_CONFIG;if(e)try{let t=JSON.parse(e);Un=t.userLocale,ih=t.osLocale,rr=t.resolvedLanguage||wi,fx=(yd=t.languagePack)==null?void 0:yd.translationsConfigFile}catch{}Nm=!0}else typeof navigator=="object"&&!_x?(is=navigator.userAgent,ta=is.indexOf("Windows")>=0,sa=is.indexOf("Macintosh")>=0,(is.indexOf("Macintosh")>=0||is.indexOf("iPad")>=0||is.indexOf("iPhone")>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>0,nr=is.indexOf("Linux")>=0,(is==null?void 0:is.indexOf("Mobi"))>=0,rr=globalThis._VSCODE_NLS_LANGUAGE||wi,Un=navigator.language.toLowerCase(),ih=Un):console.error("Unable to resolve platform.");var Tm=ta,_s=sa,gx=nr,nh=Nm,gs=is,Is=rr,vx;(e=>{function t(){return Is}e.value=t;function s(){return Is.length===2?Is==="en":Is.length>=3?Is[0]==="e"&&Is[1]==="n"&&Is[2]==="-":!1}e.isDefaultVariant=s;function i(){return Is==="en"}e.isDefault=i})(vx||(vx={}));var bx=typeof ei.postMessage=="function"&&!ei.importScripts;(()=>{if(bx){let e=[];ei.addEventListener("message",s=>{if(s.data&&s.data.vscodeScheduleAsyncWork)for(let i=0,n=e.length;i<n;i++){let r=e[i];if(r.id===s.data.vscodeScheduleAsyncWork){e.splice(i,1),r.callback();return}}});let t=0;return s=>{let i=++t;e.push({id:i,callback:s}),ei.postMessage({vscodeScheduleAsyncWork:i},"*")}}return e=>setTimeout(e)})();var yx=!!(gs&&gs.indexOf("Chrome")>=0);gs&&gs.indexOf("Firefox")>=0;!yx&&gs&&gs.indexOf("Safari")>=0;gs&&gs.indexOf("Edg/")>=0;gs&&gs.indexOf("Android")>=0;var pi=typeof navigator=="object"?navigator:{};nh||document.queryCommandSupported&&document.queryCommandSupported("copy")||pi&&pi.clipboard&&pi.clipboard.writeText,nh||pi&&pi.clipboard&&pi.clipboard.readText;var ll=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}},oo=new ll,rh=new ll,oh=new ll,wx=new Array(230),Em;(e=>{function t(l){return oo.keyCodeToStr(l)}e.toString=t;function s(l){return oo.strToKeyCode(l)}e.fromString=s;function i(l){return rh.keyCodeToStr(l)}e.toUserSettingsUS=i;function n(l){return oh.keyCodeToStr(l)}e.toUserSettingsGeneral=n;function r(l){return rh.strToKeyCode(l)||oh.strToKeyCode(l)}e.fromUserSettings=r;function o(l){if(l>=98&&l<=113)return null;switch(l){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return oo.keyCodeToStr(l)}e.toElectronAccelerator=o})(Em||(Em={}));var Sx=class Mm{constructor(t,s,i,n,r){this.ctrlKey=t,this.shiftKey=s,this.altKey=i,this.metaKey=n,this.keyCode=r}equals(t){return t instanceof Mm&&this.ctrlKey===t.ctrlKey&&this.shiftKey===t.shiftKey&&this.altKey===t.altKey&&this.metaKey===t.metaKey&&this.keyCode===t.keyCode}getHashCode(){let t=this.ctrlKey?"1":"0",s=this.shiftKey?"1":"0",i=this.altKey?"1":"0",n=this.metaKey?"1":"0";return`K${t}${s}${i}${n}${this.keyCode}`}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toKeybinding(){return new kx([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}},kx=class{constructor(e){if(e.length===0)throw Gk("chords");this.chords=e}getHashCode(){let e="";for(let t=0,s=this.chords.length;t<s;t++)t!==0&&(e+=";"),e+=this.chords[t].getHashCode();return e}equals(e){if(e===null||this.chords.length!==e.chords.length)return!1;for(let t=0;t<this.chords.length;t++)if(!this.chords[t].equals(e.chords[t]))return!1;return!0}};function xx(e){if(e.charCode){let s=String.fromCharCode(e.charCode).toUpperCase();return Em.fromString(s)}let t=e.keyCode;if(t===3)return 7;if(ea)switch(t){case 59:return 85;case 60:if(gx)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(_s)return 57;break}else if(ux&&(_s&&t===93||!_s&&t===92))return 57;return wx[t]||0}var Cx=_s?256:2048,Nx=512,Tx=1024,Ex=_s?2048:256,ah=class{constructor(e){var s;this._standardKeyboardEventBrand=!0;let t=e;this.browserEvent=t,this.target=t.target,this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey,this.altGraphKey=(s=t.getModifierState)==null?void 0:s.call(t,"AltGraph"),this.keyCode=xx(t),this.code=t.code,this.ctrlKey=this.ctrlKey||this.keyCode===5,this.altKey=this.altKey||this.keyCode===6,this.shiftKey=this.shiftKey||this.keyCode===4,this.metaKey=this.metaKey||this.keyCode===57,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(e){return this._asKeybinding===e}_computeKeybinding(){let e=0;this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(e=this.keyCode);let t=0;return this.ctrlKey&&(t|=Cx),this.altKey&&(t|=Nx),this.shiftKey&&(t|=Tx),this.metaKey&&(t|=Ex),t|=e,t}_computeKeyCodeChord(){let e=0;return this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(e=this.keyCode),new Sx(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,e)}},lh=new WeakMap;function Mx(e){if(!e.parent||e.parent===e)return null;try{let t=e.location,s=e.parent.location;if(t.origin!=="null"&&s.origin!=="null"&&t.origin!==s.origin)return null}catch{return null}return e.parent}var Px=class{static getSameOriginWindowChain(e){let t=lh.get(e);if(!t){t=[],lh.set(e,t);let s=e,i;do i=Mx(s),i?t.push({window:new WeakRef(s),iframeElement:s.frameElement||null}):t.push({window:new WeakRef(s),iframeElement:null}),s=i;while(s)}return t.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(e,t){if(!t||e===t)return{top:0,left:0};let s=0,i=0,n=this.getSameOriginWindowChain(e);for(let r of n){let o=r.window.deref();if(s+=(o==null?void 0:o.scrollY)??0,i+=(o==null?void 0:o.scrollX)??0,o===t||!r.iframeElement)break;let l=r.iframeElement.getBoundingClientRect();s+=l.top,i+=l.left}return{top:s,left:i}}},qn=class{constructor(e,t){this.timestamp=Date.now(),this.browserEvent=t,this.leftButton=t.button===0,this.middleButton=t.button===1,this.rightButton=t.button===2,this.buttons=t.buttons,this.target=t.target,this.detail=t.detail||1,t.type==="dblclick"&&(this.detail=2),this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey,typeof t.pageX=="number"?(this.posx=t.pageX,this.posy=t.pageY):(this.posx=t.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=t.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);let s=Px.getPositionOfChildWindowRelativeToAncestorWindow(e,t.view);this.posx-=s.left,this.posy-=s.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}},ch=class{constructor(e,t=0,s=0){var n;this.browserEvent=e||null,this.target=e?e.target||e.targetNode||e.srcElement:null,this.deltaY=s,this.deltaX=t;let i=!1;if(al){let r=navigator.userAgent.match(/Chrome\/(\d+)/);i=(r?parseInt(r[1]):123)<=122}if(e){let r=e,o=e,l=((n=e.view)==null?void 0:n.devicePixelRatio)||1;if(typeof r.wheelDeltaY<"u")i?this.deltaY=r.wheelDeltaY/(120*l):this.deltaY=r.wheelDeltaY/120;else if(typeof o.VERTICAL_AXIS<"u"&&o.axis===o.VERTICAL_AXIS)this.deltaY=-o.detail/3;else if(e.type==="wheel"){let c=e;c.deltaMode===c.DOM_DELTA_LINE?ea&&!_s?this.deltaY=-e.deltaY/3:this.deltaY=-e.deltaY:this.deltaY=-e.deltaY/40}if(typeof r.wheelDeltaX<"u")mx&&Tm?this.deltaX=-(r.wheelDeltaX/120):i?this.deltaX=r.wheelDeltaX/(120*l):this.deltaX=r.wheelDeltaX/120;else if(typeof o.HORIZONTAL_AXIS<"u"&&o.axis===o.HORIZONTAL_AXIS)this.deltaX=-e.detail/3;else if(e.type==="wheel"){let c=e;c.deltaMode===c.DOM_DELTA_LINE?ea&&!_s?this.deltaX=-e.deltaX/3:this.deltaX=-e.deltaX:this.deltaX=-e.deltaX/40}this.deltaY===0&&this.deltaX===0&&e.wheelDelta&&(i?this.deltaY=e.wheelDelta/(120*l):this.deltaY=e.wheelDelta/120)}}preventDefault(){var e;(e=this.browserEvent)==null||e.preventDefault()}stopPropagation(){var e;(e=this.browserEvent)==null||e.stopPropagation()}},Pm=Object.freeze(function(e,t){let s=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(s)}}}),Rx;(e=>{function t(s){return s===e.None||s===e.Cancelled||s instanceof jx?!0:!s||typeof s!="object"?!1:typeof s.isCancellationRequested=="boolean"&&typeof s.onCancellationRequested=="function"}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:jt.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Pm})})(Rx||(Rx={}));var jx=class{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?Pm:(this._emitter||(this._emitter=new J),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}},cl=class{constructor(e,t){this._isDisposed=!1,this._token=-1,typeof e=="function"&&typeof t=="number"&&this.setIfNotSet(e,t)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,t){if(this._isDisposed)throw new Go("Calling 'cancelAndSet' on a disposed TimeoutTimer");this.cancel(),this._token=setTimeout(()=>{this._token=-1,e()},t)}setIfNotSet(e,t){if(this._isDisposed)throw new Go("Calling 'setIfNotSet' on a disposed TimeoutTimer");this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,e()},t))}},Ix=class{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){var e;(e=this.disposable)==null||e.dispose(),this.disposable=void 0}cancelAndSet(e,t,s=globalThis){if(this.isDisposed)throw new Go("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();let i=s.setInterval(()=>{e()},t);this.disposable=ct(()=>{s.clearInterval(i),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}},Dx;(e=>{async function t(i){let n,r=await Promise.all(i.map(o=>o.then(l=>l,l=>{n||(n=l)})));if(typeof n<"u")throw n;return r}e.settled=t;function s(i){return new Promise(async(n,r)=>{try{await i(n,r)}catch(o){r(o)}})}e.withAsyncBody=s})(Dx||(Dx={}));var hh=class Gt{static fromArray(t){return new Gt(s=>{s.emitMany(t)})}static fromPromise(t){return new Gt(async s=>{s.emitMany(await t)})}static fromPromises(t){return new Gt(async s=>{await Promise.all(t.map(async i=>s.emitOne(await i)))})}static merge(t){return new Gt(async s=>{await Promise.all(t.map(async i=>{for await(let n of i)s.emitOne(n)}))})}constructor(t,s){this._state=0,this._results=[],this._error=null,this._onReturn=s,this._onStateChanged=new J,queueMicrotask(async()=>{let i={emitOne:n=>this.emitOne(n),emitMany:n=>this.emitMany(n),reject:n=>this.reject(n)};try{await Promise.resolve(t(i)),this.resolve()}catch(n){this.reject(n)}finally{i.emitOne=void 0,i.emitMany=void 0,i.reject=void 0}})}[Symbol.asyncIterator](){let t=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(t<this._results.length)return{done:!1,value:this._results[t++]};if(this._state===1)return{done:!0,value:void 0};await jt.toPromise(this._onStateChanged.event)}while(!0)},return:async()=>{var s;return(s=this._onReturn)==null||s.call(this),{done:!0,value:void 0}}}}static map(t,s){return new Gt(async i=>{for await(let n of t)i.emitOne(s(n))})}map(t){return Gt.map(this,t)}static filter(t,s){return new Gt(async i=>{for await(let n of t)s(n)&&i.emitOne(n)})}filter(t){return Gt.filter(this,t)}static coalesce(t){return Gt.filter(t,s=>!!s)}coalesce(){return Gt.coalesce(this)}static async toPromise(t){let s=[];for await(let i of t)s.push(i);return s}toPromise(){return Gt.toPromise(this)}emitOne(t){this._state===0&&(this._results.push(t),this._onStateChanged.fire())}emitMany(t){this._state===0&&(this._results=this._results.concat(t),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(t){this._state===0&&(this._state=2,this._error=t,this._onStateChanged.fire())}};hh.EMPTY=hh.fromArray([]);var{getWindow:fs,getWindowId:Lx,onDidRegisterWindow:Ax}=function(){let e=new Map,t={window:xs,disposables:new Ws};e.set(xs.vscodeWindowId,t);let s=new J,i=new J,n=new J;function r(o,l){return(typeof o=="number"?e.get(o):void 0)??(l?t:void 0)}return{onDidRegisterWindow:s.event,onWillUnregisterWindow:n.event,onDidUnregisterWindow:i.event,registerWindow(o){if(e.has(o.vscodeWindowId))return Fe.None;let l=new Ws,c={window:o,disposables:l.add(new Ws)};return e.set(o.vscodeWindowId,c),l.add(ct(()=>{e.delete(o.vscodeWindowId),i.fire(o)})),l.add(Te(o,Nt.BEFORE_UNLOAD,()=>{n.fire(o)})),s.fire(c),l},getWindows(){return e.values()},getWindowsCount(){return e.size},getWindowId(o){return o.vscodeWindowId},hasWindow(o){return e.has(o)},getWindowById:r,getWindow(o){var h;let l=o;if((h=l==null?void 0:l.ownerDocument)!=null&&h.defaultView)return l.ownerDocument.defaultView.window;let c=o;return c!=null&&c.view?c.view.window:xs},getDocument(o){return fs(o).document}}}(),Bx=class{constructor(e,t,s,i){this._node=e,this._type=t,this._handler=s,this._options=i||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}};function Te(e,t,s,i){return new Bx(e,t,s,i)}var dh=function(e,t,s,i){return Te(e,t,s,i)},hl,Ox=class extends Ix{constructor(e){super(),this.defaultTarget=e&&fs(e)}cancelAndSet(e,t,s){return super.cancelAndSet(e,t,s??this.defaultTarget)}},uh=class{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){ir(e)}}static sort(e,t){return t.priority-e.priority}};(function(){let e=new Map,t=new Map,s=new Map,i=new Map,n=r=>{s.set(r,!1);let o=e.get(r)??[];for(t.set(r,o),e.set(r,[]),i.set(r,!0);o.length>0;)o.sort(uh.sort),o.shift().execute();i.set(r,!1)};hl=(r,o,l=0)=>{let c=Lx(r),h=new uh(o,l),u=e.get(c);return u||(u=[],e.set(c,u)),u.push(h),s.get(c)||(s.set(c,!0),r.requestAnimationFrame(()=>n(c))),h}})();function Fx(e){let t=e.getBoundingClientRect(),s=fs(e);return{left:t.left+s.scrollX,top:t.top+s.scrollY,width:t.width,height:t.height}}var Nt={CLICK:"click",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",KEY_DOWN:"keydown",KEY_UP:"keyup",BEFORE_UNLOAD:"beforeunload",CHANGE:"change",FOCUS:"focus",BLUR:"blur",INPUT:"input"},Wx=class{constructor(e){this.domNode=e,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingTop="",this._paddingLeft="",this._paddingBottom="",this._paddingRight="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(e){let t=$t(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){let t=$t(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){let t=$t(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){let t=$t(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){let t=$t(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){let t=$t(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){let t=$t(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingTop(e){let t=$t(e);this._paddingTop!==t&&(this._paddingTop=t,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(e){let t=$t(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(e){let t=$t(e);this._paddingBottom!==t&&(this._paddingBottom=t,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(e){let t=$t(e);this._paddingRight!==t&&(this._paddingRight=t,this.domNode.style.paddingRight=this._paddingRight)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){let t=$t(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){let t=$t(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){let t=$t(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}};function $t(e){return typeof e=="number"?`${e}px`:e}function un(e){return new Wx(e)}var Rm=class{constructor(){this._hooks=new Ws,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(e,t){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let s=this._onStopCallback;this._onStopCallback=null,e&&s&&s(t)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(e,t,s,i,n){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=i,this._onStopCallback=n;let r=e;try{e.setPointerCapture(t),this._hooks.add(ct(()=>{try{e.releasePointerCapture(t)}catch{}}))}catch{r=fs(e)}this._hooks.add(Te(r,Nt.POINTER_MOVE,o=>{if(o.buttons!==s){this.stopMonitoring(!0);return}o.preventDefault(),this._pointerMoveCallback(o)})),this._hooks.add(Te(r,Nt.POINTER_UP,o=>this.stopMonitoring(!0)))}};function $x(e,t,s){let i=null,n=null;if(typeof s.value=="function"?(i="value",n=s.value,n.length!==0&&console.warn("Memoize should only be used in functions with zero parameters")):typeof s.get=="function"&&(i="get",n=s.get),!n)throw new Error("not supported");let r=`$memoize$${t}`;s[i]=function(...o){return this.hasOwnProperty(r)||Object.defineProperty(this,r,{configurable:!1,enumerable:!1,writable:!1,value:n.apply(this,o)}),this[r]}}var hs;(e=>(e.Tap="-xterm-gesturetap",e.Change="-xterm-gesturechange",e.Start="-xterm-gesturestart",e.End="-xterm-gesturesend",e.Contextmenu="-xterm-gesturecontextmenu"))(hs||(hs={}));var rn=class Lt extends Fe{constructor(){super(),this.dispatched=!1,this.targets=new sh,this.ignoreTargets=new sh,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(jt.runAndSubscribe(Ax,({window:t,disposables:s})=>{s.add(Te(t.document,"touchstart",i=>this.onTouchStart(i),{passive:!1})),s.add(Te(t.document,"touchend",i=>this.onTouchEnd(t,i))),s.add(Te(t.document,"touchmove",i=>this.onTouchMove(i),{passive:!1}))},{window:xs,disposables:this._store}))}static addTarget(t){if(!Lt.isTouchDevice())return Fe.None;Lt.INSTANCE||(Lt.INSTANCE=new Lt);let s=Lt.INSTANCE.targets.push(t);return ct(s)}static ignoreTarget(t){if(!Lt.isTouchDevice())return Fe.None;Lt.INSTANCE||(Lt.INSTANCE=new Lt);let s=Lt.INSTANCE.ignoreTargets.push(t);return ct(s)}static isTouchDevice(){return"ontouchstart"in xs||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(t){let s=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let i=0,n=t.targetTouches.length;i<n;i++){let r=t.targetTouches.item(i);this.activeTouches[r.identifier]={id:r.identifier,initialTarget:r.target,initialTimeStamp:s,initialPageX:r.pageX,initialPageY:r.pageY,rollingTimestamps:[s],rollingPageX:[r.pageX],rollingPageY:[r.pageY]};let o=this.newGestureEvent(hs.Start,r.target);o.pageX=r.pageX,o.pageY=r.pageY,this.dispatchEvent(o)}this.dispatched&&(t.preventDefault(),t.stopPropagation(),this.dispatched=!1)}onTouchEnd(t,s){let i=Date.now(),n=Object.keys(this.activeTouches).length;for(let r=0,o=s.changedTouches.length;r<o;r++){let l=s.changedTouches.item(r);if(!this.activeTouches.hasOwnProperty(String(l.identifier))){console.warn("move of an UNKNOWN touch",l);continue}let c=this.activeTouches[l.identifier],h=Date.now()-c.initialTimeStamp;if(h<Lt.HOLD_DELAY&&Math.abs(c.initialPageX-Ut(c.rollingPageX))<30&&Math.abs(c.initialPageY-Ut(c.rollingPageY))<30){let u=this.newGestureEvent(hs.Tap,c.initialTarget);u.pageX=Ut(c.rollingPageX),u.pageY=Ut(c.rollingPageY),this.dispatchEvent(u)}else if(h>=Lt.HOLD_DELAY&&Math.abs(c.initialPageX-Ut(c.rollingPageX))<30&&Math.abs(c.initialPageY-Ut(c.rollingPageY))<30){let u=this.newGestureEvent(hs.Contextmenu,c.initialTarget);u.pageX=Ut(c.rollingPageX),u.pageY=Ut(c.rollingPageY),this.dispatchEvent(u)}else if(n===1){let u=Ut(c.rollingPageX),d=Ut(c.rollingPageY),p=Ut(c.rollingTimestamps)-c.rollingTimestamps[0],f=u-c.rollingPageX[0],_=d-c.rollingPageY[0],g=[...this.targets].filter(v=>c.initialTarget instanceof Node&&v.contains(c.initialTarget));this.inertia(t,g,i,Math.abs(f)/p,f>0?1:-1,u,Math.abs(_)/p,_>0?1:-1,d)}this.dispatchEvent(this.newGestureEvent(hs.End,c.initialTarget)),delete this.activeTouches[l.identifier]}this.dispatched&&(s.preventDefault(),s.stopPropagation(),this.dispatched=!1)}newGestureEvent(t,s){let i=document.createEvent("CustomEvent");return i.initEvent(t,!1,!0),i.initialTarget=s,i.tapCount=0,i}dispatchEvent(t){if(t.type===hs.Tap){let s=new Date().getTime(),i=0;s-this._lastSetTapCountTime>Lt.CLEAR_TAP_COUNT_TIME?i=1:i=2,this._lastSetTapCountTime=s,t.tapCount=i}else(t.type===hs.Change||t.type===hs.Contextmenu)&&(this._lastSetTapCountTime=0);if(t.initialTarget instanceof Node){for(let i of this.ignoreTargets)if(i.contains(t.initialTarget))return;let s=[];for(let i of this.targets)if(i.contains(t.initialTarget)){let n=0,r=t.initialTarget;for(;r&&r!==i;)n++,r=r.parentElement;s.push([n,i])}s.sort((i,n)=>i[0]-n[0]);for(let[i,n]of s)n.dispatchEvent(t),this.dispatched=!0}}inertia(t,s,i,n,r,o,l,c,h){this.handle=hl(t,()=>{let u=Date.now(),d=u-i,p=0,f=0,_=!0;n+=Lt.SCROLL_FRICTION*d,l+=Lt.SCROLL_FRICTION*d,n>0&&(_=!1,p=r*n*d),l>0&&(_=!1,f=c*l*d);let g=this.newGestureEvent(hs.Change);g.translationX=p,g.translationY=f,s.forEach(v=>v.dispatchEvent(g)),_||this.inertia(t,s,u,n,r,o+p,l,c,h+f)})}onTouchMove(t){let s=Date.now();for(let i=0,n=t.changedTouches.length;i<n;i++){let r=t.changedTouches.item(i);if(!this.activeTouches.hasOwnProperty(String(r.identifier))){console.warn("end of an UNKNOWN touch",r);continue}let o=this.activeTouches[r.identifier],l=this.newGestureEvent(hs.Change,o.initialTarget);l.translationX=r.pageX-Ut(o.rollingPageX),l.translationY=r.pageY-Ut(o.rollingPageY),l.pageX=r.pageX,l.pageY=r.pageY,this.dispatchEvent(l),o.rollingPageX.length>3&&(o.rollingPageX.shift(),o.rollingPageY.shift(),o.rollingTimestamps.shift()),o.rollingPageX.push(r.pageX),o.rollingPageY.push(r.pageY),o.rollingTimestamps.push(s)}this.dispatched&&(t.preventDefault(),t.stopPropagation(),this.dispatched=!1)}};rn.SCROLL_FRICTION=-.005,rn.HOLD_DELAY=700,rn.CLEAR_TAP_COUNT_TIME=400,pt([$x],rn,"isTouchDevice",1);var Hx=rn,dl=class extends Fe{onclick(e,t){this._register(Te(e,Nt.CLICK,s=>t(new qn(fs(e),s))))}onmousedown(e,t){this._register(Te(e,Nt.MOUSE_DOWN,s=>t(new qn(fs(e),s))))}onmouseover(e,t){this._register(Te(e,Nt.MOUSE_OVER,s=>t(new qn(fs(e),s))))}onmouseleave(e,t){this._register(Te(e,Nt.MOUSE_LEAVE,s=>t(new qn(fs(e),s))))}onkeydown(e,t){this._register(Te(e,Nt.KEY_DOWN,s=>t(new ah(s))))}onkeyup(e,t){this._register(Te(e,Nt.KEY_UP,s=>t(new ah(s))))}oninput(e,t){this._register(Te(e,Nt.INPUT,t))}onblur(e,t){this._register(Te(e,Nt.BLUR,t))}onfocus(e,t){this._register(Te(e,Nt.FOCUS,t))}onchange(e,t){this._register(Te(e,Nt.CHANGE,t))}ignoreGesture(e){return Hx.ignoreTarget(e)}},mh=11,Kx=class extends dl{constructor(e){super(),this._onActivate=e.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=e.bgWidth+"px",this.bgDomNode.style.height=e.bgHeight+"px",typeof e.top<"u"&&(this.bgDomNode.style.top="0px"),typeof e.left<"u"&&(this.bgDomNode.style.left="0px"),typeof e.bottom<"u"&&(this.bgDomNode.style.bottom="0px"),typeof e.right<"u"&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=e.className,this.domNode.style.position="absolute",this.domNode.style.width=mh+"px",this.domNode.style.height=mh+"px",typeof e.top<"u"&&(this.domNode.style.top=e.top+"px"),typeof e.left<"u"&&(this.domNode.style.left=e.left+"px"),typeof e.bottom<"u"&&(this.domNode.style.bottom=e.bottom+"px"),typeof e.right<"u"&&(this.domNode.style.right=e.right+"px"),this._pointerMoveMonitor=this._register(new Rm),this._register(dh(this.bgDomNode,Nt.POINTER_DOWN,t=>this._arrowPointerDown(t))),this._register(dh(this.domNode,Nt.POINTER_DOWN,t=>this._arrowPointerDown(t))),this._pointerdownRepeatTimer=this._register(new Ox),this._pointerdownScheduleRepeatTimer=this._register(new cl)}_arrowPointerDown(e){if(!e.target||!(e.target instanceof Element))return;let t=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,fs(e))};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(t,200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,s=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),e.preventDefault()}},zx=class ia{constructor(t,s,i,n,r,o,l){this._forceIntegerValues=t,this._scrollStateBrand=void 0,this._forceIntegerValues&&(s=s|0,i=i|0,n=n|0,r=r|0,o=o|0,l=l|0),this.rawScrollLeft=n,this.rawScrollTop=l,s<0&&(s=0),n+s>i&&(n=i-s),n<0&&(n=0),r<0&&(r=0),l+r>o&&(l=o-r),l<0&&(l=0),this.width=s,this.scrollWidth=i,this.scrollLeft=n,this.height=r,this.scrollHeight=o,this.scrollTop=l}equals(t){return this.rawScrollLeft===t.rawScrollLeft&&this.rawScrollTop===t.rawScrollTop&&this.width===t.width&&this.scrollWidth===t.scrollWidth&&this.scrollLeft===t.scrollLeft&&this.height===t.height&&this.scrollHeight===t.scrollHeight&&this.scrollTop===t.scrollTop}withScrollDimensions(t,s){return new ia(this._forceIntegerValues,typeof t.width<"u"?t.width:this.width,typeof t.scrollWidth<"u"?t.scrollWidth:this.scrollWidth,s?this.rawScrollLeft:this.scrollLeft,typeof t.height<"u"?t.height:this.height,typeof t.scrollHeight<"u"?t.scrollHeight:this.scrollHeight,s?this.rawScrollTop:this.scrollTop)}withScrollPosition(t){return new ia(this._forceIntegerValues,this.width,this.scrollWidth,typeof t.scrollLeft<"u"?t.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof t.scrollTop<"u"?t.scrollTop:this.rawScrollTop)}createScrollEvent(t,s){let i=this.width!==t.width,n=this.scrollWidth!==t.scrollWidth,r=this.scrollLeft!==t.scrollLeft,o=this.height!==t.height,l=this.scrollHeight!==t.scrollHeight,c=this.scrollTop!==t.scrollTop;return{inSmoothScrolling:s,oldWidth:t.width,oldScrollWidth:t.scrollWidth,oldScrollLeft:t.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:t.height,oldScrollHeight:t.scrollHeight,oldScrollTop:t.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:i,scrollWidthChanged:n,scrollLeftChanged:r,heightChanged:o,scrollHeightChanged:l,scrollTopChanged:c}}},Ux=class extends Fe{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new J),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new zx(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,t){var i;let s=this._state.withScrollDimensions(e,t);this._setState(s,!!this._smoothScrolling),(i=this._smoothScrolling)==null||i.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){let t=this._state.withScrollPosition(e);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(t,!1)}setScrollPositionSmooth(e,t){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:typeof e.scrollLeft>"u"?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:typeof e.scrollTop>"u"?this._smoothScrolling.to.scrollTop:e.scrollTop};let s=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===s.scrollLeft&&this._smoothScrolling.to.scrollTop===s.scrollTop)return;let i;t?i=new ph(this._smoothScrolling.from,s,this._smoothScrolling.startTime,this._smoothScrolling.duration):i=this._smoothScrolling.combine(this._state,s,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=i}else{let s=this._state.withScrollPosition(e);this._smoothScrolling=ph.start(this._state,s,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;let e=this._smoothScrolling.tick(),t=this._state.withScrollPosition(e);if(this._setState(t,!0),!!this._smoothScrolling){if(e.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(e,t){let s=this._state;s.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(s,t)))}},fh=class{constructor(e,t,s){this.scrollLeft=e,this.scrollTop=t,this.isDone=s}};function ao(e,t){let s=t-e;return function(i){return e+s*Gx(i)}}function qx(e,t,s){return function(i){return i<s?e(i/s):t((i-s)/(1-s))}}var ph=class na{constructor(t,s,i,n){this.from=t,this.to=s,this.duration=n,this.startTime=i,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(t,s,i){if(Math.abs(t-s)>2.5*i){let n,r;return t<s?(n=t+.75*i,r=s-.75*i):(n=t-.75*i,r=s+.75*i),qx(ao(t,n),ao(r,s),.33)}return ao(t,s)}dispose(){this.animationFrameDisposable!==null&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)}acceptScrollDimensions(t){this.to=t.withScrollPosition(this.to),this._initAnimations()}tick(){return this._tick(Date.now())}_tick(t){let s=(t-this.startTime)/this.duration;if(s<1){let i=this.scrollLeft(s),n=this.scrollTop(s);return new fh(i,n,!1)}return new fh(this.to.scrollLeft,this.to.scrollTop,!0)}combine(t,s,i){return na.start(t,s,i)}static start(t,s,i){i=i+10;let n=Date.now()-10;return new na(t,s,n,i)}};function Vx(e){return Math.pow(e,3)}function Gx(e){return 1-Vx(1-e)}var Yx=class extends Fe{constructor(e,t,s){super(),this._visibility=e,this._visibleClassName=t,this._invisibleClassName=s,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new cl)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this._updateShouldBeVisible())}setShouldBeVisible(e){this._rawShouldBeVisible=e,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3?!0:this._rawShouldBeVisible}_updateShouldBeVisible(){let e=this._applyVisibilitySetting();this._shouldBeVisible!==e&&(this._shouldBeVisible=e,this.ensureVisibility())}setIsNeeded(e){this._isNeeded!==e&&(this._isNeeded=e,this.ensureVisibility())}setDomNode(e){this._domNode=e,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){if(!this._isNeeded){this._hide(!1);return}this._shouldBeVisible?this._reveal():this._hide(!0)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{var e;(e=this._domNode)==null||e.setClassName(this._visibleClassName)},0))}_hide(e){var t;this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,(t=this._domNode)==null||t.setClassName(this._invisibleClassName+(e?" fade":"")))}},Xx=140,jm=class extends dl{constructor(e){super(),this._lazyRender=e.lazyRender,this._host=e.host,this._scrollable=e.scrollable,this._scrollByPage=e.scrollByPage,this._scrollbarState=e.scrollbarState,this._visibilityController=this._register(new Yx(e.visibility,"visible scrollbar "+e.extraScrollbarClassName,"invisible scrollbar "+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new Rm),this._shouldRender=!0,this.domNode=un(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this._register(Te(this.domNode.domNode,Nt.POINTER_DOWN,t=>this._domNodePointerDown(t)))}_createArrow(e){let t=this._register(new Kx(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,s,i){this.slider=un(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(e),this.slider.setLeft(t),typeof s=="number"&&this.slider.setWidth(s),typeof i=="number"&&this.slider.setHeight(i),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(Te(this.slider.domNode,Nt.POINTER_DOWN,n=>{n.button===0&&(n.preventDefault(),this._sliderPointerDown(n))})),this.onclick(this.slider.domNode,n=>{n.leftButton&&n.stopPropagation()})}_onElementSize(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(e){e.target===this.domNode.domNode&&this._onPointerDown(e)}delegatePointerDown(e){let t=this.domNode.domNode.getClientRects()[0].top,s=t+this._scrollbarState.getSliderPosition(),i=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),n=this._sliderPointerPosition(e);s<=n&&n<=i?e.button===0&&(e.preventDefault(),this._sliderPointerDown(e)):this._onPointerDown(e)}_onPointerDown(e){let t,s;if(e.target===this.domNode.domNode&&typeof e.offsetX=="number"&&typeof e.offsetY=="number")t=e.offsetX,s=e.offsetY;else{let n=Fx(this.domNode.domNode);t=e.pageX-n.left,s=e.pageY-n.top}let i=this._pointerDownRelativePosition(t,s);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(i):this._scrollbarState.getDesiredScrollPositionFromOffset(i)),e.button===0&&(e.preventDefault(),this._sliderPointerDown(e))}_sliderPointerDown(e){if(!e.target||!(e.target instanceof Element))return;let t=this._sliderPointerPosition(e),s=this._sliderOrthogonalPointerPosition(e),i=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,n=>{let r=this._sliderOrthogonalPointerPosition(n),o=Math.abs(r-s);if(Tm&&o>Xx){this._setDesiredScrollPositionNow(i.getScrollPosition());return}let l=this._sliderPointerPosition(n)-t;this._setDesiredScrollPositionNow(i.getDesiredScrollPositionFromDelta(l))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(e){let t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}},Im=class ra{constructor(t,s,i,n,r,o){this._scrollbarSize=Math.round(s),this._oppositeScrollbarSize=Math.round(i),this._arrowSize=Math.round(t),this._visibleSize=n,this._scrollSize=r,this._scrollPosition=o,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new ra(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(t){let s=Math.round(t);return this._visibleSize!==s?(this._visibleSize=s,this._refreshComputedValues(),!0):!1}setScrollSize(t){let s=Math.round(t);return this._scrollSize!==s?(this._scrollSize=s,this._refreshComputedValues(),!0):!1}setScrollPosition(t){let s=Math.round(t);return this._scrollPosition!==s?(this._scrollPosition=s,this._refreshComputedValues(),!0):!1}setScrollbarSize(t){this._scrollbarSize=Math.round(t)}setOppositeScrollbarSize(t){this._oppositeScrollbarSize=Math.round(t)}static _computeValues(t,s,i,n,r){let o=Math.max(0,i-t),l=Math.max(0,o-2*s),c=n>0&&n>i;if(!c)return{computedAvailableSize:Math.round(o),computedIsNeeded:c,computedSliderSize:Math.round(l),computedSliderRatio:0,computedSliderPosition:0};let h=Math.round(Math.max(20,Math.floor(i*l/n))),u=(l-h)/(n-i),d=r*u;return{computedAvailableSize:Math.round(o),computedIsNeeded:c,computedSliderSize:Math.round(h),computedSliderRatio:u,computedSliderPosition:Math.round(d)}}_refreshComputedValues(){let t=ra._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=t.computedAvailableSize,this._computedIsNeeded=t.computedIsNeeded,this._computedSliderSize=t.computedSliderSize,this._computedSliderRatio=t.computedSliderRatio,this._computedSliderPosition=t.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(t){if(!this._computedIsNeeded)return 0;let s=t-this._arrowSize-this._computedSliderSize/2;return Math.round(s/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(t){if(!this._computedIsNeeded)return 0;let s=t-this._arrowSize,i=this._scrollPosition;return s<this._computedSliderPosition?i-=this._visibleSize:i+=this._visibleSize,i}getDesiredScrollPositionFromDelta(t){if(!this._computedIsNeeded)return 0;let s=this._computedSliderPosition+t;return Math.round(s/this._computedSliderRatio)}},Jx=class extends jm{constructor(e,t,s){let i=e.getScrollDimensions(),n=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:s,scrollbarState:new Im(t.horizontalHasArrows?t.arrowSize:0,t.horizontal===2?0:t.horizontalScrollbarSize,t.vertical===2?0:t.verticalScrollbarSize,i.width,i.scrollWidth,n.scrollLeft),visibility:t.horizontal,extraScrollbarClassName:"horizontal",scrollable:e,scrollByPage:t.scrollByPage}),t.horizontalHasArrows)throw new Error("horizontalHasArrows is not supported in xterm.js");this._createSlider(Math.floor((t.horizontalScrollbarSize-t.horizontalSliderSize)/2),0,void 0,t.horizontalSliderSize)}_updateSlider(e,t){this.slider.setWidth(e),this.slider.setLeft(t)}_renderDomNode(e,t){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return e}_sliderPointerPosition(e){return e.pageX}_sliderOrthogonalPointerPosition(e){return e.pageY}_updateScrollbarSize(e){this.slider.setHeight(e)}writeScrollPosition(e,t){e.scrollLeft=t}updateOptions(e){this.updateScrollbarSize(e.horizontal===2?0:e.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._visibilityController.setVisibility(e.horizontal),this._scrollByPage=e.scrollByPage}},Zx=class extends jm{constructor(e,t,s){let i=e.getScrollDimensions(),n=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:s,scrollbarState:new Im(t.verticalHasArrows?t.arrowSize:0,t.vertical===2?0:t.verticalScrollbarSize,0,i.height,i.scrollHeight,n.scrollTop),visibility:t.vertical,extraScrollbarClassName:"vertical",scrollable:e,scrollByPage:t.scrollByPage}),t.verticalHasArrows)throw new Error("horizontalHasArrows is not supported in xterm.js");this._createSlider(0,Math.floor((t.verticalScrollbarSize-t.verticalSliderSize)/2),t.verticalSliderSize,void 0)}_updateSlider(e,t){this.slider.setHeight(e),this.slider.setTop(t)}_renderDomNode(e,t){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return t}_sliderPointerPosition(e){return e.pageY}_sliderOrthogonalPointerPosition(e){return e.pageX}_updateScrollbarSize(e){this.slider.setWidth(e)}writeScrollPosition(e,t){e.scrollTop=t}updateOptions(e){this.updateScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(e.vertical),this._scrollByPage=e.scrollByPage}},Qx=500,_h=50,eC=class{constructor(e,t,s){this.timestamp=e,this.deltaX=t,this.deltaY=s,this.score=0}},oa=class{constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(this._front===-1&&this._rear===-1)return!1;let t=1,s=0,i=1,n=this._rear;do{let r=n===this._front?t:Math.pow(2,-i);if(t-=r,s+=this._memory[n].score*r,n===this._front)break;n=(this._capacity+n-1)%this._capacity,i++}while(!0);return s<=.5}acceptStandardWheelEvent(t){if(al){let s=fs(t.browserEvent),i=dx(s);this.accept(Date.now(),t.deltaX*i,t.deltaY*i)}else this.accept(Date.now(),t.deltaX,t.deltaY)}accept(t,s,i){let n=null,r=new eC(t,s,i);this._front===-1&&this._rear===-1?(this._memory[0]=r,this._front=0,this._rear=0):(n=this._memory[this._rear],this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=r),r.score=this._computeScore(r,n)}_computeScore(t,s){if(Math.abs(t.deltaX)>0&&Math.abs(t.deltaY)>0)return 1;let i=.5;if((!this._isAlmostInt(t.deltaX)||!this._isAlmostInt(t.deltaY))&&(i+=.25),s){let n=Math.abs(t.deltaX),r=Math.abs(t.deltaY),o=Math.abs(s.deltaX),l=Math.abs(s.deltaY),c=Math.max(Math.min(n,o),1),h=Math.max(Math.min(r,l),1),u=Math.max(n,o),d=Math.max(r,l);u%c===0&&d%h===0&&(i-=.5)}return Math.min(Math.max(i,0),1)}_isAlmostInt(t){return Math.abs(Math.round(t)-t)<.01}};oa.INSTANCE=new oa;var tC=oa,sC=class extends dl{constructor(e,t,s){super(),this._onScroll=this._register(new J),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new J),this.onWillScroll=this._onWillScroll.event,this._options=nC(t),this._scrollable=s,this._register(this._scrollable.onScroll(n=>{this._onWillScroll.fire(n),this._onDidScroll(n),this._onScroll.fire(n)}));let i={onMouseWheel:n=>this._onMouseWheel(n),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new Zx(this._scrollable,this._options,i)),this._horizontalScrollbar=this._register(new Jx(this._scrollable,this._options,i)),this._domNode=document.createElement("div"),this._domNode.className="xterm-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.appendChild(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=un(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=un(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=un(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,n=>this._onMouseOver(n)),this.onmouseleave(this._listenOnDomNode,n=>this._onMouseLeave(n)),this._hideTimeout=this._register(new cl),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=ti(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(e){this._verticalScrollbar.delegatePointerDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,_s&&(this._options.className+=" mac"),this._domNode.className="xterm-scrollable-element "+this._options.className}updateOptions(e){typeof e.handleMouseWheel<"u"&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof e.mouseWheelScrollSensitivity<"u"&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),typeof e.fastScrollSensitivity<"u"&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),typeof e.scrollPredominantAxis<"u"&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),typeof e.horizontal<"u"&&(this._options.horizontal=e.horizontal),typeof e.vertical<"u"&&(this._options.vertical=e.vertical),typeof e.horizontalScrollbarSize<"u"&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),typeof e.verticalScrollbarSize<"u"&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),typeof e.scrollByPage<"u"&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}setRevealOnScroll(e){this._revealOnScroll=e}delegateScrollFromMouseWheelEvent(e){this._onMouseWheel(new ch(e))}_setListeningToMouseWheel(e){if(this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=ti(this._mouseWheelToDispose),e)){let t=s=>{this._onMouseWheel(new ch(s))};this._mouseWheelToDispose.push(Te(this._listenOnDomNode,Nt.MOUSE_WHEEL,t,{passive:!1}))}}_onMouseWheel(e){var n;if((n=e.browserEvent)!=null&&n.defaultPrevented)return;let t=tC.INSTANCE;t.acceptStandardWheelEvent(e);let s=!1;if(e.deltaY||e.deltaX){let r=e.deltaY*this._options.mouseWheelScrollSensitivity,o=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&o+r===0?o=r=0:Math.abs(r)>=Math.abs(o)?o=0:r=0),this._options.flipAxes&&([r,o]=[o,r]);let l=!_s&&e.browserEvent&&e.browserEvent.shiftKey;(this._options.scrollYToX||l)&&!o&&(o=r,r=0),e.browserEvent&&e.browserEvent.altKey&&(o=o*this._options.fastScrollSensitivity,r=r*this._options.fastScrollSensitivity);let c=this._scrollable.getFutureScrollPosition(),h={};if(r){let u=_h*r,d=c.scrollTop-(u<0?Math.floor(u):Math.ceil(u));this._verticalScrollbar.writeScrollPosition(h,d)}if(o){let u=_h*o,d=c.scrollLeft-(u<0?Math.floor(u):Math.ceil(u));this._horizontalScrollbar.writeScrollPosition(h,d)}h=this._scrollable.validateScrollPosition(h),(c.scrollLeft!==h.scrollLeft||c.scrollTop!==h.scrollTop)&&(this._options.mouseWheelSmoothScroll&&t.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(h):this._scrollable.setScrollPositionNow(h),s=!0)}let i=s;!i&&this._options.alwaysConsumeMouseWheel&&(i=!0),!i&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(i=!0),i&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){let e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,s=e.scrollLeft>0,i=s?" left":"",n=t?" top":"",r=s||t?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${i}`),this._topShadowDomNode.setClassName(`shadow${n}`),this._topLeftShadowDomNode.setClassName(`shadow${r}${n}${i}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),Qx)}},iC=class extends sC{constructor(e,t,s){super(e,t,s)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}};function nC(e){let t={lazyRender:typeof e.lazyRender<"u"?e.lazyRender:!1,className:typeof e.className<"u"?e.className:"",useShadows:typeof e.useShadows<"u"?e.useShadows:!0,handleMouseWheel:typeof e.handleMouseWheel<"u"?e.handleMouseWheel:!0,flipAxes:typeof e.flipAxes<"u"?e.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof e.consumeMouseWheelIfScrollbarIsNeeded<"u"?e.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof e.alwaysConsumeMouseWheel<"u"?e.alwaysConsumeMouseWheel:!1,scrollYToX:typeof e.scrollYToX<"u"?e.scrollYToX:!1,mouseWheelScrollSensitivity:typeof e.mouseWheelScrollSensitivity<"u"?e.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof e.fastScrollSensitivity<"u"?e.fastScrollSensitivity:5,scrollPredominantAxis:typeof e.scrollPredominantAxis<"u"?e.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof e.mouseWheelSmoothScroll<"u"?e.mouseWheelSmoothScroll:!0,arrowSize:typeof e.arrowSize<"u"?e.arrowSize:11,listenOnDomNode:typeof e.listenOnDomNode<"u"?e.listenOnDomNode:null,horizontal:typeof e.horizontal<"u"?e.horizontal:1,horizontalScrollbarSize:typeof e.horizontalScrollbarSize<"u"?e.horizontalScrollbarSize:10,horizontalSliderSize:typeof e.horizontalSliderSize<"u"?e.horizontalSliderSize:0,horizontalHasArrows:typeof e.horizontalHasArrows<"u"?e.horizontalHasArrows:!1,vertical:typeof e.vertical<"u"?e.vertical:1,verticalScrollbarSize:typeof e.verticalScrollbarSize<"u"?e.verticalScrollbarSize:10,verticalHasArrows:typeof e.verticalHasArrows<"u"?e.verticalHasArrows:!1,verticalSliderSize:typeof e.verticalSliderSize<"u"?e.verticalSliderSize:0,scrollByPage:typeof e.scrollByPage<"u"?e.scrollByPage:!1};return t.horizontalSliderSize=typeof e.horizontalSliderSize<"u"?e.horizontalSliderSize:t.horizontalScrollbarSize,t.verticalSliderSize=typeof e.verticalSliderSize<"u"?e.verticalSliderSize:t.verticalScrollbarSize,_s&&(t.className+=" mac"),t}var aa=class extends Fe{constructor(e,t,s,i,n,r,o,l){super(),this._bufferService=s,this._optionsService=o,this._renderService=l,this._onRequestScrollLines=this._register(new J),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;let c=this._register(new Ux({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:h=>hl(i.window,h)}));this._register(this._optionsService.onSpecificOptionChange("smoothScrollDuration",()=>{c.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new iC(t,{vertical:1,horizontal:2,useShadows:!1,mouseWheelSmoothScroll:!0,...this._getChangeOptions()},c)),this._register(this._optionsService.onMultipleOptionChange(["scrollSensitivity","fastScrollSensitivity","overviewRuler"],()=>this._scrollableElement.updateOptions(this._getChangeOptions()))),this._register(n.onProtocolChange(h=>{this._scrollableElement.updateOptions({handleMouseWheel:!(h&16)})})),this._scrollableElement.setScrollDimensions({height:0,scrollHeight:0}),this._register(jt.runAndSubscribe(r.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=r.colors.background.css})),e.appendChild(this._scrollableElement.getDomNode()),this._register(ct(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=i.mainDocument.createElement("style"),t.appendChild(this._styleElement),this._register(ct(()=>this._styleElement.remove())),this._register(jt.runAndSubscribe(r.onChangeColors,()=>{this._styleElement.textContent=[".xterm .xterm-scrollable-element > .scrollbar > .slider {",` background: ${r.colors.scrollbarSliderBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider:hover {",` background: ${r.colors.scrollbarSliderHoverBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider.active {",` background: ${r.colors.scrollbarSliderActiveBackground.css};`,"}"].join(`
|
|
84
|
-
`)})),this._register(this._bufferService.onResize(()=>this.queueSync())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._latestYDisp=void 0,this.queueSync()})),this._register(this._bufferService.onScroll(()=>this._sync())),this._register(this._scrollableElement.onScroll(h=>this._handleScroll(h)))}scrollLines(e){let t=this._scrollableElement.getScrollPosition();this._scrollableElement.setScrollPosition({reuseAnimation:!0,scrollTop:t.scrollTop+e*this._renderService.dimensions.css.cell.height})}scrollToLine(e,t){t&&(this._latestYDisp=e),this._scrollableElement.setScrollPosition({reuseAnimation:!t,scrollTop:e*this._renderService.dimensions.css.cell.height})}_getChangeOptions(){var e;return{mouseWheelScrollSensitivity:this._optionsService.rawOptions.scrollSensitivity,fastScrollSensitivity:this._optionsService.rawOptions.fastScrollSensitivity,verticalScrollbarSize:((e=this._optionsService.rawOptions.overviewRuler)==null?void 0:e.width)||14}}queueSync(e){e!==void 0&&(this._latestYDisp=e),this._queuedAnimationFrame===void 0&&(this._queuedAnimationFrame=this._renderService.addRefreshCallback(()=>{this._queuedAnimationFrame=void 0,this._sync(this._latestYDisp)}))}_sync(e=this._bufferService.buffer.ydisp){!this._renderService||this._isSyncing||(this._isSyncing=!0,this._suppressOnScrollHandler=!0,this._scrollableElement.setScrollDimensions({height:this._renderService.dimensions.css.canvas.height,scrollHeight:this._renderService.dimensions.css.cell.height*this._bufferService.buffer.lines.length}),this._suppressOnScrollHandler=!1,e!==this._latestYDisp&&this._scrollableElement.setScrollPosition({scrollTop:e*this._renderService.dimensions.css.cell.height}),this._isSyncing=!1)}_handleScroll(e){if(!this._renderService||this._isHandlingScroll||this._suppressOnScrollHandler)return;this._isHandlingScroll=!0;let t=Math.round(e.scrollTop/this._renderService.dimensions.css.cell.height),s=t-this._bufferService.buffer.ydisp;s!==0&&(this._latestYDisp=t,this._onRequestScrollLines.fire(s)),this._isHandlingScroll=!1}};aa=pt([re(2,Ot),re(3,Es),re(4,mm),re(5,Ii),re(6,Ft),re(7,Ms)],aa);var la=class extends Fe{constructor(e,t,s,i,n){super(),this._screenElement=e,this._bufferService=t,this._coreBrowserService=s,this._decorationService=i,this._renderService=n,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement("div"),this._container.classList.add("xterm-decoration-container"),this._screenElement.appendChild(this._container),this._register(this._renderService.onRenderedViewportChange(()=>this._doRefreshDecorations())),this._register(this._renderService.onDimensionsChange(()=>{this._dimensionsChanged=!0,this._queueRefresh()})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt})),this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh())),this._register(this._decorationService.onDecorationRemoved(r=>this._removeDecoration(r))),this._register(ct(()=>{this._container.remove(),this._decorationElements.clear()}))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback(()=>{this._doRefreshDecorations(),this._animationFrame=void 0}))}_doRefreshDecorations(){for(let e of this._decorationService.decorations)this._renderDecoration(e);this._dimensionsChanged=!1}_renderDecoration(e){this._refreshStyle(e),this._dimensionsChanged&&this._refreshXPosition(e)}_createElement(e){var i;let t=this._coreBrowserService.mainDocument.createElement("div");t.classList.add("xterm-decoration"),t.classList.toggle("xterm-decoration-top-layer",((i=e==null?void 0:e.options)==null?void 0:i.layer)==="top"),t.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,t.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,t.style.top=`${(e.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height}px`,t.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;let s=e.options.x??0;return s&&s>this._bufferService.cols&&(t.style.display="none"),this._refreshXPosition(e,t),t}_refreshStyle(e){let t=e.marker.line-this._bufferService.buffers.active.ydisp;if(t<0||t>=this._bufferService.rows)e.element&&(e.element.style.display="none",e.onRenderEmitter.fire(e.element));else{let s=this._decorationElements.get(e);s||(s=this._createElement(e),e.element=s,this._decorationElements.set(e,s),this._container.appendChild(s),e.onDispose(()=>{this._decorationElements.delete(e),s.remove()})),s.style.display=this._altBufferIsActive?"none":"block",this._altBufferIsActive||(s.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,s.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,s.style.top=`${t*this._renderService.dimensions.css.cell.height}px`,s.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`),e.onRenderEmitter.fire(s)}}_refreshXPosition(e,t=e.element){if(!t)return;let s=e.options.x??0;(e.options.anchor||"left")==="right"?t.style.right=s?`${s*this._renderService.dimensions.css.cell.width}px`:"":t.style.left=s?`${s*this._renderService.dimensions.css.cell.width}px`:""}_removeDecoration(e){var t;(t=this._decorationElements.get(e))==null||t.remove(),this._decorationElements.delete(e),e.dispose()}};la=pt([re(1,Ot),re(2,Es),re(3,Pn),re(4,Ms)],la);var rC=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(e){if(e.options.overviewRulerOptions){for(let t of this._zones)if(t.color===e.options.overviewRulerOptions.color&&t.position===e.options.overviewRulerOptions.position){if(this._lineIntersectsZone(t,e.marker.line))return;if(this._lineAdjacentToZone(t,e.marker.line,e.options.overviewRulerOptions.position)){this._addLineToZone(t,e.marker.line);return}}if(this._zonePoolIndex<this._zonePool.length){this._zonePool[this._zonePoolIndex].color=e.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=e.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=e.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=e.marker.line,this._zones.push(this._zonePool[this._zonePoolIndex++]);return}this._zones.push({color:e.options.overviewRulerOptions.color,position:e.options.overviewRulerOptions.position,startBufferLine:e.marker.line,endBufferLine:e.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(e){this._linePadding=e}_lineIntersectsZone(e,t){return t>=e.startBufferLine&&t<=e.endBufferLine}_lineAdjacentToZone(e,t,s){return t>=e.startBufferLine-this._linePadding[s||"full"]&&t<=e.endBufferLine+this._linePadding[s||"full"]}_addLineToZone(e,t){e.startBufferLine=Math.min(e.startBufferLine,t),e.endBufferLine=Math.max(e.endBufferLine,t)}},ls={full:0,left:0,center:0,right:0},Ds={full:0,left:0,center:0,right:0},zi={full:0,left:0,center:0,right:0},vr=class extends Fe{constructor(e,t,s,i,n,r,o,l){var h;super(),this._viewportElement=e,this._screenElement=t,this._bufferService=s,this._decorationService=i,this._renderService=n,this._optionsService=r,this._themeService=o,this._coreBrowserService=l,this._colorZoneStore=new rC,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add("xterm-decoration-overview-ruler"),this._refreshCanvasDimensions(),(h=this._viewportElement.parentElement)==null||h.insertBefore(this._canvas,this._viewportElement),this._register(ct(()=>{var u;return(u=this._canvas)==null?void 0:u.remove()}));let c=this._canvas.getContext("2d");if(c)this._ctx=c;else throw new Error("Ctx cannot be null");this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this._register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0))),this._register(this._renderService.onRenderedViewportChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?"none":"block"})),this._register(this._bufferService.onScroll(()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())})),this._register(this._renderService.onRender(()=>{(!this._containerHeight||this._containerHeight!==this._screenElement.clientHeight)&&(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh(!0))),this._register(this._optionsService.onSpecificOptionChange("overviewRuler",()=>this._queueRefresh(!0))),this._register(this._themeService.onChangeColors(()=>this._queueRefresh())),this._queueRefresh(!0)}get _width(){var e;return((e=this._optionsService.options.overviewRuler)==null?void 0:e.width)||0}_refreshDrawConstants(){let e=Math.floor((this._canvas.width-1)/3),t=Math.ceil((this._canvas.width-1)/3);Ds.full=this._canvas.width,Ds.left=e,Ds.center=t,Ds.right=e,this._refreshDrawHeightConstants(),zi.full=1,zi.left=1,zi.center=1+Ds.left,zi.right=1+Ds.left+Ds.center}_refreshDrawHeightConstants(){ls.full=Math.round(2*this._coreBrowserService.dpr);let e=this._canvas.height/this._bufferService.buffer.lines.length,t=Math.round(Math.max(Math.min(e,12),6)*this._coreBrowserService.dpr);ls.left=t,ls.center=t,ls.right=t}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*ls.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*ls.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*ls.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*ls.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(let t of this._decorationService.decorations)this._colorZoneStore.addDecoration(t);this._ctx.lineWidth=1,this._renderRulerOutline();let e=this._colorZoneStore.zones;for(let t of e)t.position!=="full"&&this._renderColorZone(t);for(let t of e)t.position==="full"&&this._renderColorZone(t);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderRulerOutline(){this._ctx.fillStyle=this._themeService.colors.overviewRulerBorder.css,this._ctx.fillRect(0,0,1,this._canvas.height),this._optionsService.rawOptions.overviewRuler.showTopBorder&&this._ctx.fillRect(1,0,this._canvas.width-1,1),this._optionsService.rawOptions.overviewRuler.showBottomBorder&&this._ctx.fillRect(1,this._canvas.height-1,this._canvas.width-1,this._canvas.height)}_renderColorZone(e){this._ctx.fillStyle=e.color,this._ctx.fillRect(zi[e.position||"full"],Math.round((this._canvas.height-1)*(e.startBufferLine/this._bufferService.buffers.active.lines.length)-ls[e.position||"full"]/2),Ds[e.position||"full"],Math.round((this._canvas.height-1)*((e.endBufferLine-e.startBufferLine)/this._bufferService.buffers.active.lines.length)+ls[e.position||"full"]))}_queueRefresh(e,t){this._shouldUpdateDimensions=e||this._shouldUpdateDimensions,this._shouldUpdateAnchor=t||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};vr=pt([re(2,Ot),re(3,Pn),re(4,Ms),re(5,Ft),re(6,Ii),re(7,Es)],vr);var K;(e=>(e.NUL="\0",e.SOH="",e.STX="",e.ETX="",e.EOT="",e.ENQ="",e.ACK="",e.BEL="\x07",e.BS="\b",e.HT=" ",e.LF=`
|
|
85
|
-
`,e.VT="\v",e.FF="\f",e.CR="\r",e.SO="",e.SI="",e.DLE="",e.DC1="",e.DC2="",e.DC3="",e.DC4="",e.NAK="",e.SYN="",e.ETB="",e.CAN="",e.EM="",e.SUB="",e.ESC="\x1B",e.FS="",e.GS="",e.RS="",e.US="",e.SP=" ",e.DEL=""))(K||(K={}));var or;(e=>(e.PAD="",e.HOP="",e.BPH="",e.NBH="",e.IND="",e.NEL="
",e.SSA="",e.ESA="",e.HTS="",e.HTJ="",e.VTS="",e.PLD="",e.PLU="",e.RI="",e.SS2="",e.SS3="",e.DCS="",e.PU1="",e.PU2="",e.STS="",e.CCH="",e.MW="",e.SPA="",e.EPA="",e.SOS="",e.SGCI="",e.SCI="",e.CSI="",e.ST="",e.OSC="",e.PM="",e.APC=""))(or||(or={}));var Dm;(e=>e.ST=`${K.ESC}\\`)(Dm||(Dm={}));var ca=class{constructor(e,t,s,i,n,r){this._textarea=e,this._compositionView=t,this._bufferService=s,this._optionsService=i,this._coreService=n,this._renderService=r,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}get isComposing(){return this._isComposing}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(e){this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(e){if(this._isComposing||this._isSendingComposition){if(e.keyCode===20||e.keyCode===229||e.keyCode===16||e.keyCode===17||e.keyCode===18)return!1;this._finalizeComposition(!1)}return e.keyCode===229?(this._handleAnyTextareaChanges(),!1):!0}_finalizeComposition(e){if(this._compositionView.classList.remove("active"),this._isComposing=!1,e){let t={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){this._isSendingComposition=!1;let s;t.start+=this._dataAlreadySent.length,this._isComposing?s=this._textarea.value.substring(t.start,this._compositionPosition.start):s=this._textarea.value.substring(t.start),s.length>0&&this._coreService.triggerDataEvent(s,!0)}},0)}else{this._isSendingComposition=!1;let t=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(t,!0)}}_handleAnyTextareaChanges(){let e=this._textarea.value;setTimeout(()=>{if(!this._isComposing){let t=this._textarea.value,s=t.replace(e,"");this._dataAlreadySent=s,t.length>e.length?this._coreService.triggerDataEvent(s,!0):t.length<e.length?this._coreService.triggerDataEvent(`${K.DEL}`,!0):t.length===e.length&&t!==e&&this._coreService.triggerDataEvent(t,!0)}},0)}updateCompositionElements(e){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){let t=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),s=this._renderService.dimensions.css.cell.height,i=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,n=t*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=n+"px",this._compositionView.style.top=i+"px",this._compositionView.style.height=s+"px",this._compositionView.style.lineHeight=s+"px",this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+"px";let r=this._compositionView.getBoundingClientRect();this._textarea.style.left=n+"px",this._textarea.style.top=i+"px",this._textarea.style.width=Math.max(r.width,1)+"px",this._textarea.style.height=Math.max(r.height,1)+"px",this._textarea.style.lineHeight=r.height+"px"}e||setTimeout(()=>this.updateCompositionElements(!0),0)}}};ca=pt([re(2,Ot),re(3,Ft),re(4,ri),re(5,Ms)],ca);var Tt=0,Et=0,Mt=0,ft=0,gh={css:"#00000000",rgba:0},bt;(e=>{function t(n,r,o,l){return l!==void 0?`#${Gs(n)}${Gs(r)}${Gs(o)}${Gs(l)}`:`#${Gs(n)}${Gs(r)}${Gs(o)}`}e.toCss=t;function s(n,r,o,l=255){return(n<<24|r<<16|o<<8|l)>>>0}e.toRgba=s;function i(n,r,o,l){return{css:e.toCss(n,r,o,l),rgba:e.toRgba(n,r,o,l)}}e.toColor=i})(bt||(bt={}));var rt;(e=>{function t(c,h){if(ft=(h.rgba&255)/255,ft===1)return{css:h.css,rgba:h.rgba};let u=h.rgba>>24&255,d=h.rgba>>16&255,p=h.rgba>>8&255,f=c.rgba>>24&255,_=c.rgba>>16&255,g=c.rgba>>8&255;Tt=f+Math.round((u-f)*ft),Et=_+Math.round((d-_)*ft),Mt=g+Math.round((p-g)*ft);let v=bt.toCss(Tt,Et,Mt),b=bt.toRgba(Tt,Et,Mt);return{css:v,rgba:b}}e.blend=t;function s(c){return(c.rgba&255)===255}e.isOpaque=s;function i(c,h,u){let d=ar.ensureContrastRatio(c.rgba,h.rgba,u);if(d)return bt.toColor(d>>24&255,d>>16&255,d>>8&255)}e.ensureContrastRatio=i;function n(c){let h=(c.rgba|255)>>>0;return[Tt,Et,Mt]=ar.toChannels(h),{css:bt.toCss(Tt,Et,Mt),rgba:h}}e.opaque=n;function r(c,h){return ft=Math.round(h*255),[Tt,Et,Mt]=ar.toChannels(c.rgba),{css:bt.toCss(Tt,Et,Mt,ft),rgba:bt.toRgba(Tt,Et,Mt,ft)}}e.opacity=r;function o(c,h){return ft=c.rgba&255,r(c,ft*h/255)}e.multiplyOpacity=o;function l(c){return[c.rgba>>24&255,c.rgba>>16&255,c.rgba>>8&255]}e.toColorRGB=l})(rt||(rt={}));var ut;(e=>{let t,s;try{let n=document.createElement("canvas");n.width=1,n.height=1;let r=n.getContext("2d",{willReadFrequently:!0});r&&(t=r,t.globalCompositeOperation="copy",s=t.createLinearGradient(0,0,1,1))}catch{}function i(n){if(n.match(/#[\da-f]{3,8}/i))switch(n.length){case 4:return Tt=parseInt(n.slice(1,2).repeat(2),16),Et=parseInt(n.slice(2,3).repeat(2),16),Mt=parseInt(n.slice(3,4).repeat(2),16),bt.toColor(Tt,Et,Mt);case 5:return Tt=parseInt(n.slice(1,2).repeat(2),16),Et=parseInt(n.slice(2,3).repeat(2),16),Mt=parseInt(n.slice(3,4).repeat(2),16),ft=parseInt(n.slice(4,5).repeat(2),16),bt.toColor(Tt,Et,Mt,ft);case 7:return{css:n,rgba:(parseInt(n.slice(1),16)<<8|255)>>>0};case 9:return{css:n,rgba:parseInt(n.slice(1),16)>>>0}}let r=n.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(r)return Tt=parseInt(r[1]),Et=parseInt(r[2]),Mt=parseInt(r[3]),ft=Math.round((r[5]===void 0?1:parseFloat(r[5]))*255),bt.toColor(Tt,Et,Mt,ft);if(!t||!s)throw new Error("css.toColor: Unsupported css format");if(t.fillStyle=s,t.fillStyle=n,typeof t.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(t.fillRect(0,0,1,1),[Tt,Et,Mt,ft]=t.getImageData(0,0,1,1).data,ft!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:bt.toRgba(Tt,Et,Mt,ft),css:n}}e.toColor=i})(ut||(ut={}));var Bt;(e=>{function t(i){return s(i>>16&255,i>>8&255,i&255)}e.relativeLuminance=t;function s(i,n,r){let o=i/255,l=n/255,c=r/255,h=o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4),u=l<=.03928?l/12.92:Math.pow((l+.055)/1.055,2.4),d=c<=.03928?c/12.92:Math.pow((c+.055)/1.055,2.4);return h*.2126+u*.7152+d*.0722}e.relativeLuminance2=s})(Bt||(Bt={}));var ar;(e=>{function t(o,l){if(ft=(l&255)/255,ft===1)return l;let c=l>>24&255,h=l>>16&255,u=l>>8&255,d=o>>24&255,p=o>>16&255,f=o>>8&255;return Tt=d+Math.round((c-d)*ft),Et=p+Math.round((h-p)*ft),Mt=f+Math.round((u-f)*ft),bt.toRgba(Tt,Et,Mt)}e.blend=t;function s(o,l,c){let h=Bt.relativeLuminance(o>>8),u=Bt.relativeLuminance(l>>8);if(ks(h,u)<c){if(u<h){let f=i(o,l,c),_=ks(h,Bt.relativeLuminance(f>>8));if(_<c){let g=n(o,l,c),v=ks(h,Bt.relativeLuminance(g>>8));return _>v?f:g}return f}let d=n(o,l,c),p=ks(h,Bt.relativeLuminance(d>>8));if(p<c){let f=i(o,l,c),_=ks(h,Bt.relativeLuminance(f>>8));return p>_?d:f}return d}}e.ensureContrastRatio=s;function i(o,l,c){let h=o>>24&255,u=o>>16&255,d=o>>8&255,p=l>>24&255,f=l>>16&255,_=l>>8&255,g=ks(Bt.relativeLuminance2(p,f,_),Bt.relativeLuminance2(h,u,d));for(;g<c&&(p>0||f>0||_>0);)p-=Math.max(0,Math.ceil(p*.1)),f-=Math.max(0,Math.ceil(f*.1)),_-=Math.max(0,Math.ceil(_*.1)),g=ks(Bt.relativeLuminance2(p,f,_),Bt.relativeLuminance2(h,u,d));return(p<<24|f<<16|_<<8|255)>>>0}e.reduceLuminance=i;function n(o,l,c){let h=o>>24&255,u=o>>16&255,d=o>>8&255,p=l>>24&255,f=l>>16&255,_=l>>8&255,g=ks(Bt.relativeLuminance2(p,f,_),Bt.relativeLuminance2(h,u,d));for(;g<c&&(p<255||f<255||_<255);)p=Math.min(255,p+Math.ceil((255-p)*.1)),f=Math.min(255,f+Math.ceil((255-f)*.1)),_=Math.min(255,_+Math.ceil((255-_)*.1)),g=ks(Bt.relativeLuminance2(p,f,_),Bt.relativeLuminance2(h,u,d));return(p<<24|f<<16|_<<8|255)>>>0}e.increaseLuminance=n;function r(o){return[o>>24&255,o>>16&255,o>>8&255,o&255]}e.toChannels=r})(ar||(ar={}));function Gs(e){let t=e.toString(16);return t.length<2?"0"+t:t}function ks(e,t){return e<t?(t+.05)/(e+.05):(e+.05)/(t+.05)}var oC=class extends Mn{constructor(e,t,s){super(),this.content=0,this.combinedData="",this.fg=e.fg,this.bg=e.bg,this.combinedData=t,this._width=s}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},br=class{constructor(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new Zt}register(e){let t={id:this._nextCharacterJoinerId++,handler:e};return this._characterJoiners.push(t),t.id}deregister(e){for(let t=0;t<this._characterJoiners.length;t++)if(this._characterJoiners[t].id===e)return this._characterJoiners.splice(t,1),!0;return!1}getJoinedCharacters(e){if(this._characterJoiners.length===0)return[];let t=this._bufferService.buffer.lines.get(e);if(!t||t.length===0)return[];let s=[],i=t.translateToString(!0),n=0,r=0,o=0,l=t.getFg(0),c=t.getBg(0);for(let h=0;h<t.getTrimmedLength();h++)if(t.loadCell(h,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==l||this._workCell.bg!==c){if(h-n>1){let u=this._getJoinedRanges(i,o,r,t,n);for(let d=0;d<u.length;d++)s.push(u[d])}n=h,o=r,l=this._workCell.fg,c=this._workCell.bg}r+=this._workCell.getChars().length||Fs.length}if(this._bufferService.cols-n>1){let h=this._getJoinedRanges(i,o,r,t,n);for(let u=0;u<h.length;u++)s.push(h[u])}return s}_getJoinedRanges(e,t,s,i,n){let r=e.substring(t,s),o=[];try{o=this._characterJoiners[0].handler(r)}catch(l){console.error(l)}for(let l=1;l<this._characterJoiners.length;l++)try{let c=this._characterJoiners[l].handler(r);for(let h=0;h<c.length;h++)br._mergeRanges(o,c[h])}catch(c){console.error(c)}return this._stringRangesToCellRanges(o,i,n),o}_stringRangesToCellRanges(e,t,s){let i=0,n=!1,r=0,o=e[i];if(o){for(let l=s;l<this._bufferService.cols;l++){let c=t.getWidth(l),h=t.getString(l).length||Fs.length;if(c!==0){if(!n&&o[0]<=r&&(o[0]=l,n=!0),o[1]<=r){if(o[1]=l,o=e[++i],!o)break;o[0]<=r?(o[0]=l,n=!0):n=!1}r+=h}}o&&(o[1]=this._bufferService.cols)}}static _mergeRanges(e,t){let s=!1;for(let i=0;i<e.length;i++){let n=e[i];if(s){if(t[1]<=n[0])return e[i-1][1]=t[1],e;if(t[1]<=n[1])return e[i-1][1]=Math.max(t[1],n[1]),e.splice(i,1),e;e.splice(i,1),i--}else{if(t[1]<=n[0])return e.splice(i,0,t),e;if(t[1]<=n[1])return n[0]=Math.min(t[0],n[0]),e;t[0]<n[1]&&(n[0]=Math.min(t[0],n[0]),s=!0);continue}}return s?e[e.length-1][1]=t[1]:e.push(t),e}};br=pt([re(0,Ot)],br);function aC(e){return 57508<=e&&e<=57558}function lC(e){return 9472<=e&&e<=9631}function cC(e){return aC(e)||lC(e)}function hC(){return{css:{canvas:Vn(),cell:Vn()},device:{canvas:Vn(),cell:Vn(),char:{width:0,height:0,left:0,top:0}}}}function Vn(){return{width:0,height:0}}var ha=class{constructor(e,t,s,i,n,r,o){this._document=e,this._characterJoinerService=t,this._optionsService=s,this._coreBrowserService=i,this._coreService=n,this._decorationService=r,this._themeService=o,this._workCell=new Zt,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(e,t,s){this._selectionStart=e,this._selectionEnd=t,this._columnSelectMode=s}createRow(e,t,s,i,n,r,o,l,c,h,u){let d=[],p=this._characterJoinerService.getJoinedCharacters(t),f=this._themeService.colors,_=e.getNoBgTrimmedLength();s&&_<r+1&&(_=r+1);let g,v=0,b="",x=0,P=0,y=0,S=0,T=!1,j=0,I=!1,R=0,O=0,k=[],N=h!==-1&&u!==-1;for(let C=0;C<_;C++){e.loadCell(C,this._workCell);let w=this._workCell.getWidth();if(w===0)continue;let M=!1,E=C>=O,D=C,A=this._workCell;if(p.length>0&&C===p[0][0]&&E){let $=p.shift(),de=this._isCellInSelection($[0],t);for(x=$[0]+1;x<$[1];x++)E&&(E=de===this._isCellInSelection(x,t));E&&(E=!s||r<$[0]||r>=$[1]),E?(M=!0,A=new oC(this._workCell,e.translateToString(!0,$[0],$[1]),$[1]-$[0]),D=$[1]-1,w=A.getWidth()):O=$[1]}let B=this._isCellInSelection(C,t),H=s&&C===r,U=N&&C>=h&&C<=u,W=!1;this._decorationService.forEachDecorationAtCell(C,t,void 0,$=>{W=!0});let z=A.getChars()||Fs;if(z===" "&&(A.isUnderline()||A.isOverline())&&(z=" "),R=w*l-c.get(z,A.isBold(),A.isItalic()),!g)g=this._document.createElement("span");else if(v&&(B&&I||!B&&!I&&A.bg===P)&&(B&&I&&f.selectionForeground||A.fg===y)&&A.extended.ext===S&&U===T&&R===j&&!H&&!M&&!W&&E){A.isInvisible()?b+=Fs:b+=z,v++;continue}else v&&(g.textContent=b),g=this._document.createElement("span"),v=0,b="";if(P=A.bg,y=A.fg,S=A.extended.ext,T=U,j=R,I=B,M&&r>=C&&r<=D&&(r=C),!this._coreService.isCursorHidden&&H&&this._coreService.isCursorInitialized){if(k.push("xterm-cursor"),this._coreBrowserService.isFocused)o&&k.push("xterm-cursor-blink"),k.push(i==="bar"?"xterm-cursor-bar":i==="underline"?"xterm-cursor-underline":"xterm-cursor-block");else if(n)switch(n){case"outline":k.push("xterm-cursor-outline");break;case"block":k.push("xterm-cursor-block");break;case"bar":k.push("xterm-cursor-bar");break;case"underline":k.push("xterm-cursor-underline");break}}if(A.isBold()&&k.push("xterm-bold"),A.isItalic()&&k.push("xterm-italic"),A.isDim()&&k.push("xterm-dim"),A.isInvisible()?b=Fs:b=A.getChars()||Fs,A.isUnderline()&&(k.push(`xterm-underline-${A.extended.underlineStyle}`),b===" "&&(b=" "),!A.isUnderlineColorDefault()))if(A.isUnderlineColorRGB())g.style.textDecorationColor=`rgb(${Mn.toColorRGB(A.getUnderlineColor()).join(",")})`;else{let $=A.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&A.isBold()&&$<8&&($+=8),g.style.textDecorationColor=f.ansi[$].css}A.isOverline()&&(k.push("xterm-overline"),b===" "&&(b=" ")),A.isStrikethrough()&&k.push("xterm-strikethrough"),U&&(g.style.textDecoration="underline");let F=A.getFgColor(),te=A.getFgColorMode(),ie=A.getBgColor(),ue=A.getBgColorMode(),pe=!!A.isInverse();if(pe){let $=F;F=ie,ie=$;let de=te;te=ue,ue=de}let Y,be,ye=!1;this._decorationService.forEachDecorationAtCell(C,t,void 0,$=>{$.options.layer!=="top"&&ye||($.backgroundColorRGB&&(ue=50331648,ie=$.backgroundColorRGB.rgba>>8&16777215,Y=$.backgroundColorRGB),$.foregroundColorRGB&&(te=50331648,F=$.foregroundColorRGB.rgba>>8&16777215,be=$.foregroundColorRGB),ye=$.options.layer==="top")}),!ye&&B&&(Y=this._coreBrowserService.isFocused?f.selectionBackgroundOpaque:f.selectionInactiveBackgroundOpaque,ie=Y.rgba>>8&16777215,ue=50331648,ye=!0,f.selectionForeground&&(te=50331648,F=f.selectionForeground.rgba>>8&16777215,be=f.selectionForeground)),ye&&k.push("xterm-decoration-top");let he;switch(ue){case 16777216:case 33554432:he=f.ansi[ie],k.push(`xterm-bg-${ie}`);break;case 50331648:he=bt.toColor(ie>>16,ie>>8&255,ie&255),this._addStyle(g,`background-color:#${vh((ie>>>0).toString(16),"0",6)}`);break;case 0:default:pe?(he=f.foreground,k.push("xterm-bg-257")):he=f.background}switch(Y||A.isDim()&&(Y=rt.multiplyOpacity(he,.5)),te){case 16777216:case 33554432:A.isBold()&&F<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(F+=8),this._applyMinimumContrast(g,he,f.ansi[F],A,Y,void 0)||k.push(`xterm-fg-${F}`);break;case 50331648:let $=bt.toColor(F>>16&255,F>>8&255,F&255);this._applyMinimumContrast(g,he,$,A,Y,be)||this._addStyle(g,`color:#${vh(F.toString(16),"0",6)}`);break;case 0:default:this._applyMinimumContrast(g,he,f.foreground,A,Y,be)||pe&&k.push("xterm-fg-257")}k.length&&(g.className=k.join(" "),k.length=0),!H&&!M&&!W&&E?v++:g.textContent=b,R!==this.defaultSpacing&&(g.style.letterSpacing=`${R}px`),d.push(g),C=D}return g&&v&&(g.textContent=b),d}_applyMinimumContrast(e,t,s,i,n,r){if(this._optionsService.rawOptions.minimumContrastRatio===1||cC(i.getCode()))return!1;let o=this._getContrastCache(i),l;if(!n&&!r&&(l=o.getColor(t.rgba,s.rgba)),l===void 0){let c=this._optionsService.rawOptions.minimumContrastRatio/(i.isDim()?2:1);l=rt.ensureContrastRatio(n||t,r||s,c),o.setColor((n||t).rgba,(r||s).rgba,l??null)}return l?(this._addStyle(e,`color:${l.css}`),!0):!1}_getContrastCache(e){return e.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(e,t){e.setAttribute("style",`${e.getAttribute("style")||""}${t};`)}_isCellInSelection(e,t){let s=this._selectionStart,i=this._selectionEnd;return!s||!i?!1:this._columnSelectMode?s[0]<=i[0]?e>=s[0]&&t>=s[1]&&e<i[0]&&t<=i[1]:e<s[0]&&t>=s[1]&&e>=i[0]&&t<=i[1]:t>s[1]&&t<i[1]||s[1]===i[1]&&t===s[1]&&e>=s[0]&&e<i[0]||s[1]<i[1]&&t===i[1]&&e<i[0]||s[1]<i[1]&&t===s[1]&&e>=s[0]}};ha=pt([re(1,_m),re(2,Ft),re(3,Es),re(4,ri),re(5,Pn),re(6,Ii)],ha);function vh(e,t,s){for(;e.length<s;)e=t+e;return e}var dC=class{constructor(e,t){this._flat=new Float32Array(256),this._font="",this._fontSize=0,this._weight="normal",this._weightBold="bold",this._measureElements=[],this._container=e.createElement("div"),this._container.classList.add("xterm-width-cache-measure-container"),this._container.setAttribute("aria-hidden","true"),this._container.style.whiteSpace="pre",this._container.style.fontKerning="none";let s=e.createElement("span");s.classList.add("xterm-char-measure-element");let i=e.createElement("span");i.classList.add("xterm-char-measure-element"),i.style.fontWeight="bold";let n=e.createElement("span");n.classList.add("xterm-char-measure-element"),n.style.fontStyle="italic";let r=e.createElement("span");r.classList.add("xterm-char-measure-element"),r.style.fontWeight="bold",r.style.fontStyle="italic",this._measureElements=[s,i,n,r],this._container.appendChild(s),this._container.appendChild(i),this._container.appendChild(n),this._container.appendChild(r),t.appendChild(this._container),this.clear()}dispose(){this._container.remove(),this._measureElements.length=0,this._holey=void 0}clear(){this._flat.fill(-9999),this._holey=new Map}setFont(e,t,s,i){e===this._font&&t===this._fontSize&&s===this._weight&&i===this._weightBold||(this._font=e,this._fontSize=t,this._weight=s,this._weightBold=i,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${s}`,this._measureElements[1].style.fontWeight=`${i}`,this._measureElements[2].style.fontWeight=`${s}`,this._measureElements[3].style.fontWeight=`${i}`,this.clear())}get(e,t,s){let i=0;if(!t&&!s&&e.length===1&&(i=e.charCodeAt(0))<256){if(this._flat[i]!==-9999)return this._flat[i];let o=this._measure(e,0);return o>0&&(this._flat[i]=o),o}let n=e;t&&(n+="B"),s&&(n+="I");let r=this._holey.get(n);if(r===void 0){let o=0;t&&(o|=1),s&&(o|=2),r=this._measure(e,o),r>0&&this._holey.set(n,r)}return r}_measure(e,t){let s=this._measureElements[t];return s.textContent=e.repeat(32),s.offsetWidth/32}},uC=class{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(e,t,s,i=!1){if(this.selectionStart=t,this.selectionEnd=s,!t||!s||t[0]===s[0]&&t[1]===s[1]){this.clear();return}let n=e.buffers.active.ydisp,r=t[1]-n,o=s[1]-n,l=Math.max(r,0),c=Math.min(o,e.rows-1);if(l>=e.rows||c<0){this.clear();return}this.hasSelection=!0,this.columnSelectMode=i,this.viewportStartRow=r,this.viewportEndRow=o,this.viewportCappedStartRow=l,this.viewportCappedEndRow=c,this.startCol=t[0],this.endCol=s[0]}isCellSelected(e,t,s){return this.hasSelection?(s-=e.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?t>=this.startCol&&s>=this.viewportCappedStartRow&&t<this.endCol&&s<=this.viewportCappedEndRow:t<this.startCol&&s>=this.viewportCappedStartRow&&t>=this.endCol&&s<=this.viewportCappedEndRow:s>this.viewportStartRow&&s<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&s===this.viewportStartRow&&t>=this.startCol&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&s===this.viewportEndRow&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&s===this.viewportStartRow&&t>=this.startCol):!1}};function mC(){return new uC}var lo="xterm-dom-renderer-owner-",Vt="xterm-rows",Gn="xterm-fg-",bh="xterm-bg-",Ui="xterm-focus",Yn="xterm-selection",fC=1,da=class extends Fe{constructor(e,t,s,i,n,r,o,l,c,h,u,d,p,f){super(),this._terminal=e,this._document=t,this._element=s,this._screenElement=i,this._viewportElement=n,this._helperContainer=r,this._linkifier2=o,this._charSizeService=c,this._optionsService=h,this._bufferService=u,this._coreService=d,this._coreBrowserService=p,this._themeService=f,this._terminalClass=fC++,this._rowElements=[],this._selectionRenderModel=mC(),this.onRequestRedraw=this._register(new J).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(Vt),this._rowContainer.style.lineHeight="normal",this._rowContainer.setAttribute("aria-hidden","true"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement("div"),this._selectionContainer.classList.add(Yn),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=hC(),this._updateDimensions(),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._themeService.onChangeColors(_=>this._injectCss(_))),this._injectCss(this._themeService.colors),this._rowFactory=l.createInstance(ha,document),this._element.classList.add(lo+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this._register(this._linkifier2.onShowLinkUnderline(_=>this._handleLinkHover(_))),this._register(this._linkifier2.onHideLinkUnderline(_=>this._handleLinkLeave(_))),this._register(ct(()=>{this._element.classList.remove(lo+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new dC(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){let e=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*e,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*e),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/e),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/e),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(let s of this._rowElements)s.style.width=`${this.dimensions.css.canvas.width}px`,s.style.height=`${this.dimensions.css.cell.height}px`,s.style.lineHeight=`${this.dimensions.css.cell.height}px`,s.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));let t=`${this._terminalSelector} .${Vt} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=t,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(e){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let t=`${this._terminalSelector} .${Vt} { pointer-events: none; color: ${e.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;t+=`${this._terminalSelector} .${Vt} .xterm-dim { color: ${rt.multiplyOpacity(e.foreground,.5).css};}`,t+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;let s=`blink_underline_${this._terminalClass}`,i=`blink_bar_${this._terminalClass}`,n=`blink_block_${this._terminalClass}`;t+=`@keyframes ${s} { 50% { border-bottom-style: hidden; }}`,t+=`@keyframes ${i} { 50% { box-shadow: none; }}`,t+=`@keyframes ${n} { 0% { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css}; } 50% { background-color: inherit; color: ${e.cursor.css}; }}`,t+=`${this._terminalSelector} .${Vt}.${Ui} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${s} 1s step-end infinite;}${this._terminalSelector} .${Vt}.${Ui} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${i} 1s step-end infinite;}${this._terminalSelector} .${Vt}.${Ui} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${n} 1s step-end infinite;}${this._terminalSelector} .${Vt} .xterm-cursor.xterm-cursor-block { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css};}${this._terminalSelector} .${Vt} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${e.cursor.css} !important; color: ${e.cursorAccent.css} !important;}${this._terminalSelector} .${Vt} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${e.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${Vt} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${e.cursor.css} inset;}${this._terminalSelector} .${Vt} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${e.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,t+=`${this._terminalSelector} .${Yn} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${Yn} div { position: absolute; background-color: ${e.selectionBackgroundOpaque.css};}${this._terminalSelector} .${Yn} div { position: absolute; background-color: ${e.selectionInactiveBackgroundOpaque.css};}`;for(let[r,o]of e.ansi.entries())t+=`${this._terminalSelector} .${Gn}${r} { color: ${o.css}; }${this._terminalSelector} .${Gn}${r}.xterm-dim { color: ${rt.multiplyOpacity(o,.5).css}; }${this._terminalSelector} .${bh}${r} { background-color: ${o.css}; }`;t+=`${this._terminalSelector} .${Gn}257 { color: ${rt.opaque(e.background).css}; }${this._terminalSelector} .${Gn}257.xterm-dim { color: ${rt.multiplyOpacity(rt.opaque(e.background),.5).css}; }${this._terminalSelector} .${bh}257 { background-color: ${e.foreground.css}; }`,this._themeStyleElement.textContent=t}_setDefaultSpacing(){let e=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${e}px`,this._rowFactory.defaultSpacing=e}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(e,t){for(let s=this._rowElements.length;s<=t;s++){let i=this._document.createElement("div");this._rowContainer.appendChild(i),this._rowElements.push(i)}for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(e,t){this._refreshRowElements(e,t),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(Ui),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(Ui),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(e,t,s){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(e,t,s),this.renderRows(0,this._bufferService.rows-1),!e||!t||(this._selectionRenderModel.update(this._terminal,e,t,s),!this._selectionRenderModel.hasSelection))return;let i=this._selectionRenderModel.viewportStartRow,n=this._selectionRenderModel.viewportEndRow,r=this._selectionRenderModel.viewportCappedStartRow,o=this._selectionRenderModel.viewportCappedEndRow,l=this._document.createDocumentFragment();if(s){let c=e[0]>t[0];l.appendChild(this._createSelectionElement(r,c?t[0]:e[0],c?e[0]:t[0],o-r+1))}else{let c=i===r?e[0]:0,h=r===n?t[0]:this._bufferService.cols;l.appendChild(this._createSelectionElement(r,c,h));let u=o-r-1;if(l.appendChild(this._createSelectionElement(r+1,0,this._bufferService.cols,u)),r!==o){let d=n===o?t[0]:this._bufferService.cols;l.appendChild(this._createSelectionElement(o,0,d))}}this._selectionContainer.appendChild(l)}_createSelectionElement(e,t,s,i=1){let n=this._document.createElement("div"),r=t*this.dimensions.css.cell.width,o=this.dimensions.css.cell.width*(s-t);return r+o>this.dimensions.css.canvas.width&&(o=this.dimensions.css.canvas.width-r),n.style.height=`${i*this.dimensions.css.cell.height}px`,n.style.top=`${e*this.dimensions.css.cell.height}px`,n.style.left=`${r}px`,n.style.width=`${o}px`,n}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(let e of this._rowElements)e.replaceChildren()}renderRows(e,t){let s=this._bufferService.buffer,i=s.ybase+s.y,n=Math.min(s.x,this._bufferService.cols-1),r=this._coreService.decPrivateModes.cursorBlink??this._optionsService.rawOptions.cursorBlink,o=this._coreService.decPrivateModes.cursorStyle??this._optionsService.rawOptions.cursorStyle,l=this._optionsService.rawOptions.cursorInactiveStyle;for(let c=e;c<=t;c++){let h=c+s.ydisp,u=this._rowElements[c],d=s.lines.get(h);if(!u||!d)break;u.replaceChildren(...this._rowFactory.createRow(d,h,h===i,o,l,n,r,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${lo}${this._terminalClass}`}_handleLinkHover(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!0)}_handleLinkLeave(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!1)}_setCellUnderline(e,t,s,i,n,r){s<0&&(e=0),i<0&&(t=0);let o=this._bufferService.rows-1;s=Math.max(Math.min(s,o),0),i=Math.max(Math.min(i,o),0),n=Math.min(n,this._bufferService.cols);let l=this._bufferService.buffer,c=l.ybase+l.y,h=Math.min(l.x,n-1),u=this._optionsService.rawOptions.cursorBlink,d=this._optionsService.rawOptions.cursorStyle,p=this._optionsService.rawOptions.cursorInactiveStyle;for(let f=s;f<=i;++f){let _=f+l.ydisp,g=this._rowElements[f],v=l.lines.get(_);if(!g||!v)break;g.replaceChildren(...this._rowFactory.createRow(v,_,_===c,d,p,h,u,this.dimensions.css.cell.width,this._widthCache,r?f===s?e:0:-1,r?(f===i?t:n)-1:-1))}}};da=pt([re(7,nl),re(8,$r),re(9,Ft),re(10,Ot),re(11,ri),re(12,Es),re(13,Ii)],da);var ua=class extends Fe{constructor(e,t,s){super(),this._optionsService=s,this.width=0,this.height=0,this._onCharSizeChange=this._register(new J),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new _C(this._optionsService))}catch{this._measureStrategy=this._register(new pC(e,t,this._optionsService))}this._register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],()=>this.measure()))}get hasValidSize(){return this.width>0&&this.height>0}measure(){let e=this._measureStrategy.measure();(e.width!==this.width||e.height!==this.height)&&(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())}};ua=pt([re(2,Ft)],ua);var Lm=class extends Fe{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(e,t){e!==void 0&&e>0&&t!==void 0&&t>0&&(this._result.width=e,this._result.height=t)}},pC=class extends Lm{constructor(e,t,s){super(),this._document=e,this._parentElement=t,this._optionsService=s,this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W".repeat(32),this._measureElement.setAttribute("aria-hidden","true"),this._measureElement.style.whiteSpace="pre",this._measureElement.style.fontKerning="none",this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}},_C=class extends Lm{constructor(e){super(),this._optionsService=e,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");let t=this._ctx.measureText("W");if(!("width"in t&&"fontBoundingBoxAscent"in t&&"fontBoundingBoxDescent"in t))throw new Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;let e=this._ctx.measureText("W");return this._validateAndSet(e.width,e.fontBoundingBoxAscent+e.fontBoundingBoxDescent),this._result}},gC=class extends Fe{constructor(e,t,s){super(),this._textarea=e,this._window=t,this.mainDocument=s,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=this._register(new vC(this._window)),this._onDprChange=this._register(new J),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new J),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange(i=>this._screenDprMonitor.setWindow(i))),this._register(jt.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(Te(this._textarea,"focus",()=>this._isFocused=!0)),this._register(Te(this._textarea,"blur",()=>this._isFocused=!1))}get window(){return this._window}set window(e){this._window!==e&&(this._window=e,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return this._cachedIsFocused===void 0&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask(()=>this._cachedIsFocused=void 0)),this._cachedIsFocused}},vC=class extends Fe{constructor(e){super(),this._parentWindow=e,this._windowResizeListener=this._register(new Pi),this._onDprChange=this._register(new J),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(ct(()=>this.clearListener()))}setWindow(e){this._parentWindow=e,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=Te(this._parentWindow,"resize",()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){var e;this._outerListener&&((e=this._resolutionMediaMatchList)==null||e.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){!this._resolutionMediaMatchList||!this._outerListener||(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}},bC=class extends Fe{constructor(){super(),this.linkProviders=[],this._register(ct(()=>this.linkProviders.length=0))}registerLinkProvider(e){return this.linkProviders.push(e),{dispose:()=>{let t=this.linkProviders.indexOf(e);t!==-1&&this.linkProviders.splice(t,1)}}}};function ul(e,t,s){let i=s.getBoundingClientRect(),n=e.getComputedStyle(s),r=parseInt(n.getPropertyValue("padding-left")),o=parseInt(n.getPropertyValue("padding-top"));return[t.clientX-i.left-r,t.clientY-i.top-o]}function yC(e,t,s,i,n,r,o,l,c){if(!r)return;let h=ul(e,t,s);if(h)return h[0]=Math.ceil((h[0]+(c?o/2:0))/o),h[1]=Math.ceil(h[1]/l),h[0]=Math.min(Math.max(h[0],1),i+(c?1:0)),h[1]=Math.min(Math.max(h[1],1),n),h}var ma=class{constructor(e,t){this._renderService=e,this._charSizeService=t}getCoords(e,t,s,i,n){return yC(window,e,t,s,i,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,n)}getMouseReportCoords(e,t){let s=ul(window,e,t);if(this._charSizeService.hasValidSize)return s[0]=Math.min(Math.max(s[0],0),this._renderService.dimensions.css.canvas.width-1),s[1]=Math.min(Math.max(s[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(s[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(s[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(s[0]),y:Math.floor(s[1])}}};ma=pt([re(0,Ms),re(1,$r)],ma);var wC=class{constructor(e,t){this._renderCallback=e,this._coreBrowserService=t,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(e){return this._refreshCallbacks.push(e),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(e,t,s){this._rowCount=s,e=e!==void 0?e:0,t=t!==void 0?t:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,e):e,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,t):t,!this._animationFrame&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0){this._runRefreshCallbacks();return}let e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let e of this._refreshCallbacks)e(0);this._refreshCallbacks=[]}},Am={};Rk(Am,{getSafariVersion:()=>kC,isChromeOS:()=>Wm,isFirefox:()=>Bm,isIpad:()=>xC,isIphone:()=>CC,isLegacyEdge:()=>SC,isLinux:()=>ml,isMac:()=>yr,isNode:()=>Hr,isSafari:()=>Om,isWindows:()=>Fm});var Hr=typeof process<"u"&&"title"in process,Rn=Hr?"node":navigator.userAgent,jn=Hr?"node":navigator.platform,Bm=Rn.includes("Firefox"),SC=Rn.includes("Edge"),Om=/^((?!chrome|android).)*safari/i.test(Rn);function kC(){if(!Om)return 0;let e=Rn.match(/Version\/(\d+)/);return e===null||e.length<2?0:parseInt(e[1])}var yr=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(jn),xC=jn==="iPad",CC=jn==="iPhone",Fm=["Windows","Win16","Win32","WinCE"].includes(jn),ml=jn.indexOf("Linux")>=0,Wm=/\bCrOS\b/.test(Rn),$m=class{constructor(){this._tasks=[],this._i=0}enqueue(e){this._tasks.push(e),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&(this._cancelCallback(this._idleCallback),this._idleCallback=void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||(this._idleCallback=this._requestCallback(this._process.bind(this)))}_process(e){this._idleCallback=void 0;let t=0,s=0,i=e.timeRemaining(),n=0;for(;this._i<this._tasks.length;){if(t=performance.now(),this._tasks[this._i]()||this._i++,t=Math.max(1,performance.now()-t),s=Math.max(t,s),n=e.timeRemaining(),s*1.5>n){i-t<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(i-t))}ms`),this._start();return}i=n}this.clear()}},NC=class extends $m{_requestCallback(e){return setTimeout(()=>e(this._createDeadline(16)))}_cancelCallback(e){clearTimeout(e)}_createDeadline(e){let t=performance.now()+e;return{timeRemaining:()=>Math.max(0,t-performance.now())}}},TC=class extends $m{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}},wr=!Hr&&"requestIdleCallback"in window?TC:NC,EC=class{constructor(){this._queue=new wr}set(e){this._queue.clear(),this._queue.enqueue(e)}flush(){this._queue.flush()}},fa=class extends Fe{constructor(e,t,s,i,n,r,o,l,c){super(),this._rowCount=e,this._optionsService=s,this._charSizeService=i,this._coreService=n,this._coreBrowserService=l,this._renderer=this._register(new Pi),this._pausedResizeTask=new EC,this._observerDisposable=this._register(new Pi),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this._register(new J),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new J),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new J),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new J),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new wC((h,u)=>this._renderRows(h,u),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new MC(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(ct(()=>this._syncOutputHandler.dispose())),this._register(this._coreBrowserService.onDprChange(()=>this.handleDevicePixelRatioChange())),this._register(o.onResize(()=>this._fullRefresh())),this._register(o.buffers.onBufferActivate(()=>{var h;return(h=this._renderer.value)==null?void 0:h.clear()})),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this._register(r.onDecorationRegistered(()=>this._fullRefresh())),this._register(r.onDecorationRemoved(()=>this._fullRefresh())),this._register(this._optionsService.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],()=>{this.clear(),this.handleResize(o.cols,o.rows),this._fullRefresh()})),this._register(this._optionsService.onMultipleOptionChange(["cursorBlink","cursorStyle"],()=>this.refreshRows(o.buffer.y,o.buffer.y,!0))),this._register(c.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(this._coreBrowserService.window,t),this._register(this._coreBrowserService.onWindowChange(h=>this._registerIntersectionObserver(h,t)))}get dimensions(){return this._renderer.value.dimensions}_registerIntersectionObserver(e,t){if("IntersectionObserver"in e){let s=new e.IntersectionObserver(i=>this._handleIntersectionChange(i[i.length-1]),{threshold:0});s.observe(t),this._observerDisposable.value=ct(()=>s.disconnect())}}_handleIntersectionChange(e){this._isPaused=e.isIntersecting===void 0?e.intersectionRatio===0:!e.isIntersecting,!this._isPaused&&!this._charSizeService.hasValidSize&&this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(e,t,s=!1){if(this._isPaused){this._needsFullRefresh=!0;return}if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(e,t);return}let i=this._syncOutputHandler.flush();i&&(e=Math.min(e,i.start),t=Math.max(t,i.end)),s||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount)}_renderRows(e,t){if(this._renderer.value){if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(e,t);return}e=Math.min(e,this._rowCount-1),t=Math.min(t,this._rowCount-1),this._renderer.value.renderRows(e,t),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:e,end:t}),this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0}}resize(e,t){this._rowCount=t,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(e){this._renderer.value=e,this._renderer.value&&(this._renderer.value.onRequestRedraw(t=>this.refreshRows(t.start,t.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(e){return this._renderDebouncer.addRefreshCallback(e)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){var e,t;this._renderer.value&&((t=(e=this._renderer.value).clearTextureAtlas)==null||t.call(e),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(e,t){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>{var s;return(s=this._renderer.value)==null?void 0:s.handleResize(e,t)}):this._renderer.value.handleResize(e,t),this._fullRefresh())}handleCharSizeChanged(){var e;(e=this._renderer.value)==null||e.handleCharSizeChanged()}handleBlur(){var e;(e=this._renderer.value)==null||e.handleBlur()}handleFocus(){var e;(e=this._renderer.value)==null||e.handleFocus()}handleSelectionChanged(e,t,s){var i;this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=s,(i=this._renderer.value)==null||i.handleSelectionChanged(e,t,s)}handleCursorMove(){var e;(e=this._renderer.value)==null||e.handleCursorMove()}clear(){var e;(e=this._renderer.value)==null||e.clear()}};fa=pt([re(2,Ft),re(3,$r),re(4,ri),re(5,Pn),re(6,Ot),re(7,Es),re(8,Ii)],fa);var MC=class{constructor(e,t,s){this._coreBrowserService=e,this._coreService=t,this._onTimeout=s,this._start=0,this._end=0,this._isBuffering=!1}bufferRows(e,t){this._isBuffering?(this._start=Math.min(this._start,e),this._end=Math.max(this._end,t)):(this._start=e,this._end=t,this._isBuffering=!0),this._timeout===void 0&&(this._timeout=this._coreBrowserService.window.setTimeout(()=>{this._timeout=void 0,this._coreService.decPrivateModes.synchronizedOutput=!1,this._onTimeout()},1e3))}flush(){if(this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0),!this._isBuffering)return;let e={start:this._start,end:this._end};return this._isBuffering=!1,e}dispose(){this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0)}};function PC(e,t,s,i){let n=s.buffer.x,r=s.buffer.y;if(!s.buffer.hasScrollback)return IC(n,r,e,t,s,i)+Kr(r,t,s,i)+DC(n,r,e,t,s,i);let o;if(r===t)return o=n>e?"D":"C",Sn(Math.abs(n-e),wn(o,i));o=r>t?"D":"C";let l=Math.abs(r-t),c=jC(r>t?e:n,s)+(l-1)*s.cols+1+RC(r>t?n:e);return Sn(c,wn(o,i))}function RC(e,t){return e-1}function jC(e,t){return t.cols-e}function IC(e,t,s,i,n,r){return Kr(t,i,n,r).length===0?"":Sn(Km(e,t,e,t-si(t,n),!1,n).length,wn("D",r))}function Kr(e,t,s,i){let n=e-si(e,s),r=t-si(t,s),o=Math.abs(n-r)-LC(e,t,s);return Sn(o,wn(Hm(e,t),i))}function DC(e,t,s,i,n,r){let o;Kr(t,i,n,r).length>0?o=i-si(i,n):o=t;let l=i,c=AC(e,t,s,i,n,r);return Sn(Km(e,o,s,l,c==="C",n).length,wn(c,r))}function LC(e,t,s){var o;let i=0,n=e-si(e,s),r=t-si(t,s);for(let l=0;l<Math.abs(n-r);l++){let c=Hm(e,t)==="A"?-1:1;(o=s.buffer.lines.get(n+c*l))!=null&&o.isWrapped&&i++}return i}function si(e,t){let s=0,i=t.buffer.lines.get(e),n=i==null?void 0:i.isWrapped;for(;n&&e>=0&&e<t.rows;)s++,i=t.buffer.lines.get(--e),n=i==null?void 0:i.isWrapped;return s}function AC(e,t,s,i,n,r){let o;return Kr(s,i,n,r).length>0?o=i-si(i,n):o=t,e<s&&o<=i||e>=s&&o<i?"C":"D"}function Hm(e,t){return e>t?"A":"B"}function Km(e,t,s,i,n,r){let o=e,l=t,c="";for(;(o!==s||l!==i)&&l>=0&&l<r.buffer.lines.length;)o+=n?1:-1,n&&o>r.cols-1?(c+=r.buffer.translateBufferLineToString(l,!1,e,o),o=0,e=0,l++):!n&&o<0&&(c+=r.buffer.translateBufferLineToString(l,!1,0,e+1),o=r.cols-1,e=o,l--);return c+r.buffer.translateBufferLineToString(l,!1,e,o)}function wn(e,t){let s=t?"O":"[";return K.ESC+s+e}function Sn(e,t){e=Math.floor(e);let s="";for(let i=0;i<e;i++)s+=t;return s}var BC=class{constructor(e){this._bufferService=e,this.isSelectAllActive=!1,this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:!this.selectionEnd||!this.selectionStart?this.selectionStart:this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){let e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?e%this._bufferService.cols===0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)-1]:[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[Math.max(e,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let e=this.selectionStart,t=this.selectionEnd;return!e||!t?!1:e[1]>t[1]||e[1]===t[1]&&e[0]>t[0]}handleTrim(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}};function yh(e,t){if(e.start.y>e.end.y)throw new Error(`Buffer range end (${e.end.x}, ${e.end.y}) cannot be before start (${e.start.x}, ${e.start.y})`);return t*(e.end.y-e.start.y)+(e.end.x-e.start.x+1)}var co=50,OC=15,FC=50,WC=500,$C=" ",HC=new RegExp($C,"g"),pa=class extends Fe{constructor(e,t,s,i,n,r,o,l,c){super(),this._element=e,this._screenElement=t,this._linkifier=s,this._bufferService=i,this._coreService=n,this._mouseService=r,this._optionsService=o,this._renderService=l,this._coreBrowserService=c,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new Zt,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new J),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new J),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new J),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new J),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=h=>this._handleMouseMove(h),this._mouseUpListener=h=>this._handleMouseUp(h),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim(h=>this._handleTrim(h)),this._register(this._bufferService.buffers.onBufferActivate(h=>this._handleBufferActivate(h))),this.enable(),this._model=new BC(this._bufferService),this._activeSelectionMode=0,this._register(ct(()=>{this._removeMouseDownListeners()})),this._register(this._bufferService.onResize(h=>{h.rowsChanged&&this.clearSelection()}))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!e||!t?!1:e[0]!==t[0]||e[1]!==t[1]}get selectionText(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return"";let s=this._bufferService.buffer,i=[];if(this._activeSelectionMode===3){if(e[0]===t[0])return"";let n=e[0]<t[0]?e[0]:t[0],r=e[0]<t[0]?t[0]:e[0];for(let o=e[1];o<=t[1];o++){let l=s.translateBufferLineToString(o,!0,n,r);i.push(l)}}else{let n=e[1]===t[1]?t[0]:void 0;i.push(s.translateBufferLineToString(e[1],!0,e[0],n));for(let r=e[1]+1;r<=t[1]-1;r++){let o=s.lines.get(r),l=s.translateBufferLineToString(r,!0);o!=null&&o.isWrapped?i[i.length-1]+=l:i.push(l)}if(e[1]!==t[1]){let r=s.lines.get(t[1]),o=s.translateBufferLineToString(t[1],!0,0,t[0]);r&&r.isWrapped?i[i.length-1]+=o:i.push(o)}}return i.map(n=>n.replace(HC," ")).join(Fm?`\r
|
|
86
|
-
`:`
|
|
87
|
-
`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(e){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),ml&&e&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(e){let t=this._getMouseBufferCoords(e),s=this._model.finalSelectionStart,i=this._model.finalSelectionEnd;return!s||!i||!t?!1:this._areCoordsInSelection(t,s,i)}isCellInSelection(e,t){let s=this._model.finalSelectionStart,i=this._model.finalSelectionEnd;return!s||!i?!1:this._areCoordsInSelection([e,t],s,i)}_areCoordsInSelection(e,t,s){return e[1]>t[1]&&e[1]<s[1]||t[1]===s[1]&&e[1]===t[1]&&e[0]>=t[0]&&e[0]<s[0]||t[1]<s[1]&&e[1]===s[1]&&e[0]<s[0]||t[1]<s[1]&&e[1]===t[1]&&e[0]>=t[0]}_selectWordAtCursor(e,t){var n,r;let s=(r=(n=this._linkifier.currentLink)==null?void 0:n.link)==null?void 0:r.range;if(s)return this._model.selectionStart=[s.start.x-1,s.start.y-1],this._model.selectionStartLength=yh(s,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let i=this._getMouseBufferCoords(e);return i?(this._selectWordAt(i,t),this._model.selectionEnd=void 0,!0):!1}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()}_handleTrim(e){this._model.handleTrim(e)&&this.refresh()}_getMouseBufferCoords(e){let t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t}_getMouseEventScrollAmount(e){let t=ul(this._coreBrowserService.window,e,this._screenElement)[1],s=this._renderService.dimensions.css.canvas.height;return t>=0&&t<=s?0:(t>s&&(t-=s),t=Math.min(Math.max(t,-co),co),t/=co,t/Math.abs(t)+Math.round(t*(OC-1)))}shouldForceSelection(e){return yr?e.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:e.shiftKey}handleMouseDown(e){if(this._mouseDownTimeStamp=e.timeStamp,!(e.button===2&&this.hasSelection)&&e.button===0){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._handleIncrementalClick(e):e.detail===1?this._handleSingleClick(e):e.detail===2?this._handleDoubleClick(e):e.detail===3&&this._handleTripleClick(e),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),FC)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))}_handleSingleClick(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&t.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(e){this._selectWordAtCursor(e,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(e){let t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=2,this._selectLineAt(t[1]))}shouldColumnSelect(e){return e.altKey&&!(yr&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(e){if(e.stopImmediatePropagation(),!this._model.selectionStart)return;let t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),!this._model.selectionEnd){this.refresh(!0);return}this._activeSelectionMode===2?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:this._activeSelectionMode===1&&this._selectToWordAt(this._model.selectionEnd),this._dragScrollAmount=this._getMouseEventScrollAmount(e),this._activeSelectionMode!==3&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));let s=this._bufferService.buffer;if(this._model.selectionEnd[1]<s.lines.length){let i=s.lines.get(this._model.selectionEnd[1]);i&&i.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}(!t||t[0]!==this._model.selectionEnd[0]||t[1]!==this._model.selectionEnd[1])&&this.refresh(!0)}_dragScroll(){if(!(!this._model.selectionEnd||!this._model.selectionStart)&&this._dragScrollAmount){this._onRequestScrollLines.fire({amount:this._dragScrollAmount,suppressScrollEvent:!1});let e=this._bufferService.buffer;this._dragScrollAmount>0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}}_handleMouseUp(e){let t=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&t<WC&&e.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){let s=this._mouseService.getCoords(e,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(s&&s[0]!==void 0&&s[1]!==void 0){let i=PC(s[0]-1,s[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(i,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd,s=!!e&&!!t&&(e[0]!==t[0]||e[1]!==t[1]);if(!s){this._oldHasSelection&&this._fireOnSelectionChange(e,t,s);return}!e||!t||(!this._oldSelectionStart||!this._oldSelectionEnd||e[0]!==this._oldSelectionStart[0]||e[1]!==this._oldSelectionStart[1]||t[0]!==this._oldSelectionEnd[0]||t[1]!==this._oldSelectionEnd[1])&&this._fireOnSelectionChange(e,t,s)}_fireOnSelectionChange(e,t,s){this._oldSelectionStart=e,this._oldSelectionEnd=t,this._oldHasSelection=s,this._onSelectionChange.fire()}_handleBufferActivate(e){this.clearSelection(),this._trimListener.dispose(),this._trimListener=e.activeBuffer.lines.onTrim(t=>this._handleTrim(t))}_convertViewportColToCharacterIndex(e,t){let s=t;for(let i=0;t>=i;i++){let n=e.loadCell(i,this._workCell).getChars().length;this._workCell.getWidth()===0?s--:n>1&&t!==i&&(s+=n-1)}return s}setSelection(e,t,s){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,t],this._model.selectionStartLength=s,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(e){this._isClickInSelection(e)||(this._selectWordAtCursor(e,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(e,t,s=!0,i=!0){if(e[0]>=this._bufferService.cols)return;let n=this._bufferService.buffer,r=n.lines.get(e[1]);if(!r)return;let o=n.translateBufferLineToString(e[1],!1),l=this._convertViewportColToCharacterIndex(r,e[0]),c=l,h=e[0]-l,u=0,d=0,p=0,f=0;if(o.charAt(l)===" "){for(;l>0&&o.charAt(l-1)===" ";)l--;for(;c<o.length&&o.charAt(c+1)===" ";)c++}else{let v=e[0],b=e[0];r.getWidth(v)===0&&(u++,v--),r.getWidth(b)===2&&(d++,b++);let x=r.getString(b).length;for(x>1&&(f+=x-1,c+=x-1);v>0&&l>0&&!this._isCharWordSeparator(r.loadCell(v-1,this._workCell));){r.loadCell(v-1,this._workCell);let P=this._workCell.getChars().length;this._workCell.getWidth()===0?(u++,v--):P>1&&(p+=P-1,l-=P-1),l--,v--}for(;b<r.length&&c+1<o.length&&!this._isCharWordSeparator(r.loadCell(b+1,this._workCell));){r.loadCell(b+1,this._workCell);let P=this._workCell.getChars().length;this._workCell.getWidth()===2?(d++,b++):P>1&&(f+=P-1,c+=P-1),c++,b++}}c++;let _=l+h-u+p,g=Math.min(this._bufferService.cols,c-l+u+d-p-f);if(!(!t&&o.slice(l,c).trim()==="")){if(s&&_===0&&r.getCodePoint(0)!==32){let v=n.lines.get(e[1]-1);if(v&&r.isWrapped&&v.getCodePoint(this._bufferService.cols-1)!==32){let b=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(b){let x=this._bufferService.cols-b.start;_-=x,g+=x}}}if(i&&_+g===this._bufferService.cols&&r.getCodePoint(this._bufferService.cols-1)!==32){let v=n.lines.get(e[1]+1);if(v!=null&&v.isWrapped&&v.getCodePoint(0)!==32){let b=this._getWordAt([0,e[1]+1],!1,!1,!0);b&&(g+=b.length)}}return{start:_,length:g}}}_selectWordAt(e,t){let s=this._getWordAt(e,t);if(s){for(;s.start<0;)s.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[s.start,e[1]],this._model.selectionStartLength=s.length}}_selectToWordAt(e){let t=this._getWordAt(e,!0);if(t){let s=e[1];for(;t.start<0;)t.start+=this._bufferService.cols,s--;if(!this._model.areSelectionValuesReversed())for(;t.start+t.length>this._bufferService.cols;)t.length-=this._bufferService.cols,s++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?t.start:t.start+t.length,s]}}_isCharWordSeparator(e){return e.getWidth()===0?!1:this._optionsService.rawOptions.wordSeparator.indexOf(e.getChars())>=0}_selectLineAt(e){let t=this._bufferService.buffer.getWrappedRangeForLine(e),s={start:{x:0,y:t.first},end:{x:this._bufferService.cols-1,y:t.last}};this._model.selectionStart=[0,t.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=yh(s,this._bufferService.cols)}};pa=pt([re(3,Ot),re(4,ri),re(5,rl),re(6,Ft),re(7,Ms),re(8,Es)],pa);var wh=class{constructor(){this._data={}}set(e,t,s){this._data[e]||(this._data[e]={}),this._data[e][t]=s}get(e,t){return this._data[e]?this._data[e][t]:void 0}clear(){this._data={}}},Sh=class{constructor(){this._color=new wh,this._css=new wh}setCss(e,t,s){this._css.set(e,t,s)}getCss(e,t){return this._css.get(e,t)}setColor(e,t,s){this._color.set(e,t,s)}getColor(e,t){return this._color.get(e,t)}clear(){this._color.clear(),this._css.clear()}},wt=Object.freeze((()=>{let e=[ut.toColor("#2e3436"),ut.toColor("#cc0000"),ut.toColor("#4e9a06"),ut.toColor("#c4a000"),ut.toColor("#3465a4"),ut.toColor("#75507b"),ut.toColor("#06989a"),ut.toColor("#d3d7cf"),ut.toColor("#555753"),ut.toColor("#ef2929"),ut.toColor("#8ae234"),ut.toColor("#fce94f"),ut.toColor("#729fcf"),ut.toColor("#ad7fa8"),ut.toColor("#34e2e2"),ut.toColor("#eeeeec")],t=[0,95,135,175,215,255];for(let s=0;s<216;s++){let i=t[s/36%6|0],n=t[s/6%6|0],r=t[s%6];e.push({css:bt.toCss(i,n,r),rgba:bt.toRgba(i,n,r)})}for(let s=0;s<24;s++){let i=8+s*10;e.push({css:bt.toCss(i,i,i),rgba:bt.toRgba(i,i,i)})}return e})()),Ys=ut.toColor("#ffffff"),on=ut.toColor("#000000"),kh=ut.toColor("#ffffff"),xh=on,qi={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117},KC=Ys,_a=class extends Fe{constructor(e){super(),this._optionsService=e,this._contrastCache=new Sh,this._halfContrastCache=new Sh,this._onChangeColors=this._register(new J),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:Ys,background:on,cursor:kh,cursorAccent:xh,selectionForeground:void 0,selectionBackgroundTransparent:qi,selectionBackgroundOpaque:rt.blend(on,qi),selectionInactiveBackgroundTransparent:qi,selectionInactiveBackgroundOpaque:rt.blend(on,qi),scrollbarSliderBackground:rt.opacity(Ys,.2),scrollbarSliderHoverBackground:rt.opacity(Ys,.4),scrollbarSliderActiveBackground:rt.opacity(Ys,.5),overviewRulerBorder:Ys,ansi:wt.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this._register(this._optionsService.onSpecificOptionChange("minimumContrastRatio",()=>this._contrastCache.clear())),this._register(this._optionsService.onSpecificOptionChange("theme",()=>this._setTheme(this._optionsService.rawOptions.theme)))}get colors(){return this._colors}_setTheme(e={}){let t=this._colors;if(t.foreground=Ze(e.foreground,Ys),t.background=Ze(e.background,on),t.cursor=rt.blend(t.background,Ze(e.cursor,kh)),t.cursorAccent=rt.blend(t.background,Ze(e.cursorAccent,xh)),t.selectionBackgroundTransparent=Ze(e.selectionBackground,qi),t.selectionBackgroundOpaque=rt.blend(t.background,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundTransparent=Ze(e.selectionInactiveBackground,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundOpaque=rt.blend(t.background,t.selectionInactiveBackgroundTransparent),t.selectionForeground=e.selectionForeground?Ze(e.selectionForeground,gh):void 0,t.selectionForeground===gh&&(t.selectionForeground=void 0),rt.isOpaque(t.selectionBackgroundTransparent)&&(t.selectionBackgroundTransparent=rt.opacity(t.selectionBackgroundTransparent,.3)),rt.isOpaque(t.selectionInactiveBackgroundTransparent)&&(t.selectionInactiveBackgroundTransparent=rt.opacity(t.selectionInactiveBackgroundTransparent,.3)),t.scrollbarSliderBackground=Ze(e.scrollbarSliderBackground,rt.opacity(t.foreground,.2)),t.scrollbarSliderHoverBackground=Ze(e.scrollbarSliderHoverBackground,rt.opacity(t.foreground,.4)),t.scrollbarSliderActiveBackground=Ze(e.scrollbarSliderActiveBackground,rt.opacity(t.foreground,.5)),t.overviewRulerBorder=Ze(e.overviewRulerBorder,KC),t.ansi=wt.slice(),t.ansi[0]=Ze(e.black,wt[0]),t.ansi[1]=Ze(e.red,wt[1]),t.ansi[2]=Ze(e.green,wt[2]),t.ansi[3]=Ze(e.yellow,wt[3]),t.ansi[4]=Ze(e.blue,wt[4]),t.ansi[5]=Ze(e.magenta,wt[5]),t.ansi[6]=Ze(e.cyan,wt[6]),t.ansi[7]=Ze(e.white,wt[7]),t.ansi[8]=Ze(e.brightBlack,wt[8]),t.ansi[9]=Ze(e.brightRed,wt[9]),t.ansi[10]=Ze(e.brightGreen,wt[10]),t.ansi[11]=Ze(e.brightYellow,wt[11]),t.ansi[12]=Ze(e.brightBlue,wt[12]),t.ansi[13]=Ze(e.brightMagenta,wt[13]),t.ansi[14]=Ze(e.brightCyan,wt[14]),t.ansi[15]=Ze(e.brightWhite,wt[15]),e.extendedAnsi){let s=Math.min(t.ansi.length-16,e.extendedAnsi.length);for(let i=0;i<s;i++)t.ansi[i+16]=Ze(e.extendedAnsi[i],wt[i+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(e){this._restoreColor(e),this._onChangeColors.fire(this.colors)}_restoreColor(e){if(e===void 0){for(let t=0;t<this._restoreColors.ansi.length;++t)this._colors.ansi[t]=this._restoreColors.ansi[t];return}switch(e){case 256:this._colors.foreground=this._restoreColors.foreground;break;case 257:this._colors.background=this._restoreColors.background;break;case 258:this._colors.cursor=this._restoreColors.cursor;break;default:this._colors.ansi[e]=this._restoreColors.ansi[e]}}modifyColors(e){e(this._colors),this._onChangeColors.fire(this.colors)}_updateRestoreColors(){this._restoreColors={foreground:this._colors.foreground,background:this._colors.background,cursor:this._colors.cursor,ansi:this._colors.ansi.slice()}}};_a=pt([re(0,Ft)],_a);function Ze(e,t){if(e!==void 0)try{return ut.toColor(e)}catch{}return t}var zC=class{constructor(...e){this._entries=new Map;for(let[t,s]of e)this.set(t,s)}set(e,t){let s=this._entries.get(e);return this._entries.set(e,t),s}forEach(e){for(let[t,s]of this._entries.entries())e(t,s)}has(e){return this._entries.has(e)}get(e){return this._entries.get(e)}},UC=class{constructor(){this._services=new zC,this._services.set(nl,this)}setService(e,t){this._services.set(e,t)}getService(e){return this._services.get(e)}createInstance(e,...t){let s=Ok(e).sort((r,o)=>r.index-o.index),i=[];for(let r of s){let o=this._services.get(r.id);if(!o)throw new Error(`[createInstance] ${e.name} depends on UNKNOWN service ${r.id._id}.`);i.push(o)}let n=s.length>0?s[0].index:t.length;if(t.length!==n)throw new Error(`[createInstance] First service dependency of ${e.name} at position ${n+1} conflicts with ${t.length} static arguments`);return new e(...t,...i)}},qC={trace:0,debug:1,info:2,warn:3,error:4,off:5},VC="xterm.js: ",ga=class extends Fe{constructor(e){super(),this._optionsService=e,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel()))}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=qC[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let t=0;t<e.length;t++)typeof e[t]=="function"&&(e[t]=e[t]())}_log(e,t,s){this._evalLazyOptionalParams(s),e.call(console,(this._optionsService.options.logger?"":VC)+t,...s)}trace(e,...t){var s;this._logLevel<=0&&this._log(((s=this._optionsService.options.logger)==null?void 0:s.trace.bind(this._optionsService.options.logger))??console.log,e,t)}debug(e,...t){var s;this._logLevel<=1&&this._log(((s=this._optionsService.options.logger)==null?void 0:s.debug.bind(this._optionsService.options.logger))??console.log,e,t)}info(e,...t){var s;this._logLevel<=2&&this._log(((s=this._optionsService.options.logger)==null?void 0:s.info.bind(this._optionsService.options.logger))??console.info,e,t)}warn(e,...t){var s;this._logLevel<=3&&this._log(((s=this._optionsService.options.logger)==null?void 0:s.warn.bind(this._optionsService.options.logger))??console.warn,e,t)}error(e,...t){var s;this._logLevel<=4&&this._log(((s=this._optionsService.options.logger)==null?void 0:s.error.bind(this._optionsService.options.logger))??console.error,e,t)}};ga=pt([re(0,Ft)],ga);var Ch=class extends Fe{constructor(e){super(),this._maxLength=e,this.onDeleteEmitter=this._register(new J),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this._register(new J),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this._register(new J),this.onTrim=this.onTrimEmitter.event,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(e){if(this._maxLength===e)return;let t=new Array(e);for(let s=0;s<Math.min(e,this.length);s++)t[s]=this._array[this._getCyclicIndex(s)];this._array=t,this._maxLength=e,this._startIndex=0}get length(){return this._length}set length(e){if(e>this._length)for(let t=this._length;t<e;t++)this._array[t]=void 0;this._length=e}get(e){return this._array[this._getCyclicIndex(e)]}set(e,t){this._array[this._getCyclicIndex(e)]=t}push(e){this._array[this._getCyclicIndex(this._length)]=e,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw new Error("Can only recycle when the buffer is full");return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]}get isFull(){return this._length===this._maxLength}pop(){return this._array[this._getCyclicIndex(this._length---1)]}splice(e,t,...s){if(t){for(let i=e;i<this._length-t;i++)this._array[this._getCyclicIndex(i)]=this._array[this._getCyclicIndex(i+t)];this._length-=t,this.onDeleteEmitter.fire({index:e,amount:t})}for(let i=this._length-1;i>=e;i--)this._array[this._getCyclicIndex(i+s.length)]=this._array[this._getCyclicIndex(i)];for(let i=0;i<s.length;i++)this._array[this._getCyclicIndex(e+i)]=s[i];if(s.length&&this.onInsertEmitter.fire({index:e,amount:s.length}),this._length+s.length>this._maxLength){let i=this._length+s.length-this._maxLength;this._startIndex+=i,this._length=this._maxLength,this.onTrimEmitter.fire(i)}else this._length+=s.length}trimStart(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)}shiftElements(e,t,s){if(!(t<=0)){if(e<0||e>=this._length)throw new Error("start argument out of range");if(e+s<0)throw new Error("Cannot shift elements in list beyond index 0");if(s>0){for(let n=t-1;n>=0;n--)this.set(e+n+s,this.get(e+n));let i=e+t+s-this._length;if(i>0)for(this._length+=i;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let i=0;i<t;i++)this.set(e+i+s,this.get(e+i))}}_getCyclicIndex(e){return(this._startIndex+e)%this._maxLength}},Be=3,vt=Object.freeze(new Mn),Xn=0,ho=2,an=class zm{constructor(t,s,i=!1){this.isWrapped=i,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(t*Be);let n=s||Zt.fromCharData([0,cm,1,0]);for(let r=0;r<t;++r)this.setCell(r,n);this.length=t}get(t){let s=this._data[t*Be+0],i=s&2097151;return[this._data[t*Be+1],s&2097152?this._combined[t]:i?Bs(i):"",s>>22,s&2097152?this._combined[t].charCodeAt(this._combined[t].length-1):i]}set(t,s){this._data[t*Be+1]=s[0],s[1].length>1?(this._combined[t]=s[1],this._data[t*Be+0]=t|2097152|s[2]<<22):this._data[t*Be+0]=s[1].charCodeAt(0)|s[2]<<22}getWidth(t){return this._data[t*Be+0]>>22}hasWidth(t){return this._data[t*Be+0]&12582912}getFg(t){return this._data[t*Be+1]}getBg(t){return this._data[t*Be+2]}hasContent(t){return this._data[t*Be+0]&4194303}getCodePoint(t){let s=this._data[t*Be+0];return s&2097152?this._combined[t].charCodeAt(this._combined[t].length-1):s&2097151}isCombined(t){return this._data[t*Be+0]&2097152}getString(t){let s=this._data[t*Be+0];return s&2097152?this._combined[t]:s&2097151?Bs(s&2097151):""}isProtected(t){return this._data[t*Be+2]&536870912}loadCell(t,s){return Xn=t*Be,s.content=this._data[Xn+0],s.fg=this._data[Xn+1],s.bg=this._data[Xn+2],s.content&2097152&&(s.combinedData=this._combined[t]),s.bg&268435456&&(s.extended=this._extendedAttrs[t]),s}setCell(t,s){s.content&2097152&&(this._combined[t]=s.combinedData),s.bg&268435456&&(this._extendedAttrs[t]=s.extended),this._data[t*Be+0]=s.content,this._data[t*Be+1]=s.fg,this._data[t*Be+2]=s.bg}setCellFromCodepoint(t,s,i,n){n.bg&268435456&&(this._extendedAttrs[t]=n.extended),this._data[t*Be+0]=s|i<<22,this._data[t*Be+1]=n.fg,this._data[t*Be+2]=n.bg}addCodepointToCell(t,s,i){let n=this._data[t*Be+0];n&2097152?this._combined[t]+=Bs(s):n&2097151?(this._combined[t]=Bs(n&2097151)+Bs(s),n&=-2097152,n|=2097152):n=s|1<<22,i&&(n&=-12582913,n|=i<<22),this._data[t*Be+0]=n}insertCells(t,s,i){if(t%=this.length,t&&this.getWidth(t-1)===2&&this.setCellFromCodepoint(t-1,0,1,i),s<this.length-t){let n=new Zt;for(let r=this.length-t-s-1;r>=0;--r)this.setCell(t+s+r,this.loadCell(t+r,n));for(let r=0;r<s;++r)this.setCell(t+r,i)}else for(let n=t;n<this.length;++n)this.setCell(n,i);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,i)}deleteCells(t,s,i){if(t%=this.length,s<this.length-t){let n=new Zt;for(let r=0;r<this.length-t-s;++r)this.setCell(t+r,this.loadCell(t+s+r,n));for(let r=this.length-s;r<this.length;++r)this.setCell(r,i)}else for(let n=t;n<this.length;++n)this.setCell(n,i);t&&this.getWidth(t-1)===2&&this.setCellFromCodepoint(t-1,0,1,i),this.getWidth(t)===0&&!this.hasContent(t)&&this.setCellFromCodepoint(t,0,1,i)}replaceCells(t,s,i,n=!1){if(n){for(t&&this.getWidth(t-1)===2&&!this.isProtected(t-1)&&this.setCellFromCodepoint(t-1,0,1,i),s<this.length&&this.getWidth(s-1)===2&&!this.isProtected(s)&&this.setCellFromCodepoint(s,0,1,i);t<s&&t<this.length;)this.isProtected(t)||this.setCell(t,i),t++;return}for(t&&this.getWidth(t-1)===2&&this.setCellFromCodepoint(t-1,0,1,i),s<this.length&&this.getWidth(s-1)===2&&this.setCellFromCodepoint(s,0,1,i);t<s&&t<this.length;)this.setCell(t++,i)}resize(t,s){if(t===this.length)return this._data.length*4*ho<this._data.buffer.byteLength;let i=t*Be;if(t>this.length){if(this._data.buffer.byteLength>=i*4)this._data=new Uint32Array(this._data.buffer,0,i);else{let n=new Uint32Array(i);n.set(this._data),this._data=n}for(let n=this.length;n<t;++n)this.setCell(n,s)}else{this._data=this._data.subarray(0,i);let n=Object.keys(this._combined);for(let o=0;o<n.length;o++){let l=parseInt(n[o],10);l>=t&&delete this._combined[l]}let r=Object.keys(this._extendedAttrs);for(let o=0;o<r.length;o++){let l=parseInt(r[o],10);l>=t&&delete this._extendedAttrs[l]}}return this.length=t,i*4*ho<this._data.buffer.byteLength}cleanupMemory(){if(this._data.length*4*ho<this._data.buffer.byteLength){let t=new Uint32Array(this._data.length);return t.set(this._data),this._data=t,1}return 0}fill(t,s=!1){if(s){for(let i=0;i<this.length;++i)this.isProtected(i)||this.setCell(i,t);return}this._combined={},this._extendedAttrs={};for(let i=0;i<this.length;++i)this.setCell(i,t)}copyFrom(t){this.length!==t.length?this._data=new Uint32Array(t._data):this._data.set(t._data),this.length=t.length,this._combined={};for(let s in t._combined)this._combined[s]=t._combined[s];this._extendedAttrs={};for(let s in t._extendedAttrs)this._extendedAttrs[s]=t._extendedAttrs[s];this.isWrapped=t.isWrapped}clone(){let t=new zm(0);t._data=new Uint32Array(this._data),t.length=this.length;for(let s in this._combined)t._combined[s]=this._combined[s];for(let s in this._extendedAttrs)t._extendedAttrs[s]=this._extendedAttrs[s];return t.isWrapped=this.isWrapped,t}getTrimmedLength(){for(let t=this.length-1;t>=0;--t)if(this._data[t*Be+0]&4194303)return t+(this._data[t*Be+0]>>22);return 0}getNoBgTrimmedLength(){for(let t=this.length-1;t>=0;--t)if(this._data[t*Be+0]&4194303||this._data[t*Be+2]&50331648)return t+(this._data[t*Be+0]>>22);return 0}copyCellsFrom(t,s,i,n,r){let o=t._data;if(r)for(let c=n-1;c>=0;c--){for(let h=0;h<Be;h++)this._data[(i+c)*Be+h]=o[(s+c)*Be+h];o[(s+c)*Be+2]&268435456&&(this._extendedAttrs[i+c]=t._extendedAttrs[s+c])}else for(let c=0;c<n;c++){for(let h=0;h<Be;h++)this._data[(i+c)*Be+h]=o[(s+c)*Be+h];o[(s+c)*Be+2]&268435456&&(this._extendedAttrs[i+c]=t._extendedAttrs[s+c])}let l=Object.keys(t._combined);for(let c=0;c<l.length;c++){let h=parseInt(l[c],10);h>=s&&(this._combined[h-s+i]=t._combined[h])}}translateToString(t,s,i,n){s=s??0,i=i??this.length,t&&(i=Math.min(i,this.getTrimmedLength())),n&&(n.length=0);let r="";for(;s<i;){let o=this._data[s*Be+0],l=o&2097151,c=o&2097152?this._combined[s]:l?Bs(l):Fs;if(r+=c,n)for(let h=0;h<c.length;++h)n.push(s);s+=o>>22||1}return n&&n.push(s),r}};function GC(e,t,s,i,n,r){let o=[];for(let l=0;l<e.length-1;l++){let c=l,h=e.get(++c);if(!h.isWrapped)continue;let u=[e.get(l)];for(;c<e.length&&h.isWrapped;)u.push(h),h=e.get(++c);if(!r&&i>=l&&i<c){l+=u.length-1;continue}let d=0,p=kn(u,d,t),f=1,_=0;for(;f<u.length;){let v=kn(u,f,t),b=v-_,x=s-p,P=Math.min(b,x);u[d].copyCellsFrom(u[f],_,p,P,!1),p+=P,p===s&&(d++,p=0),_+=P,_===v&&(f++,_=0),p===0&&d!==0&&u[d-1].getWidth(s-1)===2&&(u[d].copyCellsFrom(u[d-1],s-1,p++,1,!1),u[d-1].setCell(s-1,n))}u[d].replaceCells(p,s,n);let g=0;for(let v=u.length-1;v>0&&(v>d||u[v].getTrimmedLength()===0);v--)g++;g>0&&(o.push(l+u.length-g),o.push(g)),l+=u.length-1}return o}function YC(e,t){let s=[],i=0,n=t[i],r=0;for(let o=0;o<e.length;o++)if(n===o){let l=t[++i];e.onDeleteEmitter.fire({index:o-r,amount:l}),o+=l-1,r+=l,n=t[++i]}else s.push(o);return{layout:s,countRemoved:r}}function XC(e,t){let s=[];for(let i=0;i<t.length;i++)s.push(e.get(t[i]));for(let i=0;i<s.length;i++)e.set(i,s[i]);e.length=t.length}function JC(e,t,s){let i=[],n=e.map((c,h)=>kn(e,h,t)).reduce((c,h)=>c+h),r=0,o=0,l=0;for(;l<n;){if(n-l<s){i.push(n-l);break}r+=s;let c=kn(e,o,t);r>c&&(r-=c,o++);let h=e[o].getWidth(r-1)===2;h&&r--;let u=h?s-1:s;i.push(u),l+=u}return i}function kn(e,t,s){if(t===e.length-1)return e[t].getTrimmedLength();let i=!e[t].hasContent(s-1)&&e[t].getWidth(s-1)===1,n=e[t+1].getWidth(0)===2;return i&&n?s-1:s}var Um=class qm{constructor(t){this.line=t,this.isDisposed=!1,this._disposables=[],this._id=qm._nextId++,this._onDispose=this.register(new J),this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),ti(this._disposables),this._disposables.length=0)}register(t){return this._disposables.push(t),t}};Um._nextId=1;var ZC=Um,kt={},Xs=kt.B;kt[0]={"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"};kt.A={"#":"£"};kt.B=void 0;kt[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"};kt.C=kt[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};kt.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"};kt.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"};kt.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"};kt.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"};kt.E=kt[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"};kt.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"};kt.H=kt[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};kt["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"};var Nh=4294967295,Th=class{constructor(e,t,s){this._hasScrollback=e,this._optionsService=t,this._bufferService=s,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=vt.clone(),this.savedCharset=Xs,this.markers=[],this._nullCell=Zt.fromCharData([0,cm,1,0]),this._whitespaceCell=Zt.fromCharData([0,Fs,1,32]),this._isClearing=!1,this._memoryCleanupQueue=new wr,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new Ch(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new gr),this._nullCell}getWhitespaceCell(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new gr),this._whitespaceCell}getBlankLine(e,t){return new an(this._bufferService.cols,this.getNullCell(e),t)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let e=this.ybase+this.y-this.ydisp;return e>=0&&e<this._rows}_getCorrectBufferLength(e){if(!this._hasScrollback)return e;let t=e+this._optionsService.rawOptions.scrollback;return t>Nh?Nh:t}fillViewportRows(e){if(this.lines.length===0){e===void 0&&(e=vt);let t=this._rows;for(;t--;)this.lines.push(this.getBlankLine(e))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new Ch(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e,t){let s=this.getNullCell(vt),i=0,n=this._getCorrectBufferLength(t);if(n>this.lines.maxLength&&(this.lines.maxLength=n),this.lines.length>0){if(this._cols<e)for(let o=0;o<this.lines.length;o++)i+=+this.lines.get(o).resize(e,s);let r=0;if(this._rows<t)for(let o=this._rows;o<t;o++)this.lines.length<t+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new an(e,s)):this.ybase>0&&this.lines.length<=this.ybase+this.y+r+1?(this.ybase--,r++,this.ydisp>0&&this.ydisp--):this.lines.push(new an(e,s)));else for(let o=this._rows;o>t;o--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(n<this.lines.maxLength){let o=this.lines.length-n;o>0&&(this.lines.trimStart(o),this.ybase=Math.max(this.ybase-o,0),this.ydisp=Math.max(this.ydisp-o,0),this.savedY=Math.max(this.savedY-o,0)),this.lines.maxLength=n}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),r&&(this.y+=r),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(let r=0;r<this.lines.length;r++)i+=+this.lines.get(r).resize(e,s);this._cols=e,this._rows=t,this._memoryCleanupQueue.clear(),i>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let e=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,e=!1);let t=0;for(;this._memoryCleanupPosition<this.lines.length;)if(t+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),t>100)return!0;return e}get _isReflowEnabled(){let e=this._optionsService.rawOptions.windowsPty;return e&&e.buildNumber?this._hasScrollback&&e.backend==="conpty"&&e.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(e,t){this._cols!==e&&(e>this._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))}_reflowLarger(e,t){let s=this._optionsService.rawOptions.reflowCursorLine,i=GC(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(vt),s);if(i.length>0){let n=YC(this.lines,i);XC(this.lines,n.layout),this._reflowLargerAdjustViewport(e,t,n.countRemoved)}}_reflowLargerAdjustViewport(e,t,s){let i=this.getNullCell(vt),n=s;for(;n-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<t&&this.lines.push(new an(e,i))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-s,0)}_reflowSmaller(e,t){let s=this._optionsService.rawOptions.reflowCursorLine,i=this.getNullCell(vt),n=[],r=0;for(let o=this.lines.length-1;o>=0;o--){let l=this.lines.get(o);if(!l||!l.isWrapped&&l.getTrimmedLength()<=e)continue;let c=[l];for(;l.isWrapped&&o>0;)l=this.lines.get(--o),c.unshift(l);if(!s){let P=this.ybase+this.y;if(P>=o&&P<o+c.length)continue}let h=c[c.length-1].getTrimmedLength(),u=JC(c,this._cols,e),d=u.length-c.length,p;this.ybase===0&&this.y!==this.lines.length-1?p=Math.max(0,this.y-this.lines.maxLength+d):p=Math.max(0,this.lines.length-this.lines.maxLength+d);let f=[];for(let P=0;P<d;P++){let y=this.getBlankLine(vt,!0);f.push(y)}f.length>0&&(n.push({start:o+c.length+r,newLines:f}),r+=f.length),c.push(...f);let _=u.length-1,g=u[_];g===0&&(_--,g=u[_]);let v=c.length-d-1,b=h;for(;v>=0;){let P=Math.min(b,g);if(c[_]===void 0)break;if(c[_].copyCellsFrom(c[v],b-P,g-P,P,!0),g-=P,g===0&&(_--,g=u[_]),b-=P,b===0){v--;let y=Math.max(v,0);b=kn(c,y,this._cols)}}for(let P=0;P<c.length;P++)u[P]<e&&c[P].setCell(u[P],i);let x=d-p;for(;x-- >0;)this.ybase===0?this.y<t-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+r)-t&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+d,this.ybase+t-1)}if(n.length>0){let o=[],l=[];for(let g=0;g<this.lines.length;g++)l.push(this.lines.get(g));let c=this.lines.length,h=c-1,u=0,d=n[u];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+r);let p=0;for(let g=Math.min(this.lines.maxLength-1,c+r-1);g>=0;g--)if(d&&d.start>h+p){for(let v=d.newLines.length-1;v>=0;v--)this.lines.set(g--,d.newLines[v]);g++,o.push({index:h+1,amount:d.newLines.length}),p+=d.newLines.length,d=n[++u]}else this.lines.set(g,l[h--]);let f=0;for(let g=o.length-1;g>=0;g--)o[g].index+=f,this.lines.onInsertEmitter.fire(o[g]),f+=o[g].amount;let _=Math.max(0,c+r-this.lines.maxLength);_>0&&this.lines.onTrimEmitter.fire(_)}}translateBufferLineToString(e,t,s=0,i){let n=this.lines.get(e);return n?n.translateToString(t,s,i):""}getWrappedRangeForLine(e){let t=e,s=e;for(;t>0&&this.lines.get(t).isWrapped;)t--;for(;s+1<this.lines.length&&this.lines.get(s+1).isWrapped;)s++;return{first:t,last:s}}setupTabStops(e){for(e!=null?this.tabs[e]||(e=this.prevStop(e)):(this.tabs={},e=0);e<this._cols;e+=this._optionsService.rawOptions.tabStopWidth)this.tabs[e]=!0}prevStop(e){for(e==null&&(e=this.x);!this.tabs[--e]&&e>0;);return e>=this._cols?this._cols-1:e<0?0:e}nextStop(e){for(e==null&&(e=this.x);!this.tabs[++e]&&e<this._cols;);return e>=this._cols?this._cols-1:e<0?0:e}clearMarkers(e){this._isClearing=!0;for(let t=0;t<this.markers.length;t++)this.markers[t].line===e&&(this.markers[t].dispose(),this.markers.splice(t--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let e=0;e<this.markers.length;e++)this.markers[e].dispose();this.markers.length=0,this._isClearing=!1}addMarker(e){let t=new ZC(e);return this.markers.push(t),t.register(this.lines.onTrim(s=>{t.line-=s,t.line<0&&t.dispose()})),t.register(this.lines.onInsert(s=>{t.line>=s.index&&(t.line+=s.amount)})),t.register(this.lines.onDelete(s=>{t.line>=s.index&&t.line<s.index+s.amount&&t.dispose(),t.line>s.index&&(t.line-=s.amount)})),t.register(t.onDispose(()=>this._removeMarker(t))),t}_removeMarker(e){this._isClearing||this.markers.splice(this.markers.indexOf(e),1)}},QC=class extends Fe{constructor(e,t){super(),this._optionsService=e,this._bufferService=t,this._onBufferActivate=this._register(new J),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this._register(this._optionsService.onSpecificOptionChange("scrollback",()=>this.resize(this._bufferService.cols,this._bufferService.rows))),this._register(this._optionsService.onSpecificOptionChange("tabStopWidth",()=>this.setupTabStops()))}reset(){this._normal=new Th(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new Th(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(e,t){this._normal.resize(e,t),this._alt.resize(e,t),this.setupTabStops(e)}setupTabStops(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)}},Vm=2,Gm=1,va=class extends Fe{constructor(e){super(),this.isUserScrolling=!1,this._onResize=this._register(new J),this.onResize=this._onResize.event,this._onScroll=this._register(new J),this.onScroll=this._onScroll.event,this.cols=Math.max(e.rawOptions.cols||0,Vm),this.rows=Math.max(e.rawOptions.rows||0,Gm),this.buffers=this._register(new QC(e,this)),this._register(this.buffers.onBufferActivate(t=>{this._onScroll.fire(t.activeBuffer.ydisp)}))}get buffer(){return this.buffers.active}resize(e,t){let s=this.cols!==e,i=this.rows!==t;this.cols=e,this.rows=t,this.buffers.resize(e,t),this._onResize.fire({cols:e,rows:t,colsChanged:s,rowsChanged:i})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(e,t=!1){let s=this.buffer,i;i=this._cachedBlankLine,(!i||i.length!==this.cols||i.getFg(0)!==e.fg||i.getBg(0)!==e.bg)&&(i=s.getBlankLine(e,t),this._cachedBlankLine=i),i.isWrapped=t;let n=s.ybase+s.scrollTop,r=s.ybase+s.scrollBottom;if(s.scrollTop===0){let o=s.lines.isFull;r===s.lines.length-1?o?s.lines.recycle().copyFrom(i):s.lines.push(i.clone()):s.lines.splice(r+1,0,i.clone()),o?this.isUserScrolling&&(s.ydisp=Math.max(s.ydisp-1,0)):(s.ybase++,this.isUserScrolling||s.ydisp++)}else{let o=r-n+1;s.lines.shiftElements(n+1,o-1,-1),s.lines.set(r,i.clone())}this.isUserScrolling||(s.ydisp=s.ybase),this._onScroll.fire(s.ydisp)}scrollLines(e,t){let s=this.buffer;if(e<0){if(s.ydisp===0)return;this.isUserScrolling=!0}else e+s.ydisp>=s.ybase&&(this.isUserScrolling=!1);let i=s.ydisp;s.ydisp=Math.max(Math.min(s.ydisp+e,s.ybase),0),i!==s.ydisp&&(t||this._onScroll.fire(s.ydisp))}};va=pt([re(0,Ft)],va);var _i={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,cursorInactiveStyle:"outline",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",logger:null,scrollback:1e3,scrollOnEraseInDisplay:!1,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},reflowCursorLine:!1,rescaleOverlappingGlyphs:!1,rightClickSelectsWord:yr,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRuler:{}},e0=["normal","bold","100","200","300","400","500","600","700","800","900"],t0=class extends Fe{constructor(e){super(),this._onOptionChange=this._register(new J),this.onOptionChange=this._onOptionChange.event;let t={..._i};for(let s in e)if(s in t)try{let i=e[s];t[s]=this._sanitizeAndValidateOption(s,i)}catch(i){console.error(i)}this.rawOptions=t,this.options={...t},this._setupOptions(),this._register(ct(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(e,t){return this.onOptionChange(s=>{s===e&&t(this.rawOptions[e])})}onMultipleOptionChange(e,t){return this.onOptionChange(s=>{e.indexOf(s)!==-1&&t()})}_setupOptions(){let e=s=>{if(!(s in _i))throw new Error(`No option with key "${s}"`);return this.rawOptions[s]},t=(s,i)=>{if(!(s in _i))throw new Error(`No option with key "${s}"`);i=this._sanitizeAndValidateOption(s,i),this.rawOptions[s]!==i&&(this.rawOptions[s]=i,this._onOptionChange.fire(s))};for(let s in this.rawOptions){let i={get:e.bind(this,s),set:t.bind(this,s)};Object.defineProperty(this.options,s,i)}}_sanitizeAndValidateOption(e,t){switch(e){case"cursorStyle":if(t||(t=_i[e]),!s0(t))throw new Error(`"${t}" is not a valid value for ${e}`);break;case"wordSeparator":t||(t=_i[e]);break;case"fontWeight":case"fontWeightBold":if(typeof t=="number"&&1<=t&&t<=1e3)break;t=e0.includes(t)?t:_i[e];break;case"cursorWidth":t=Math.floor(t);case"lineHeight":case"tabStopWidth":if(t<1)throw new Error(`${e} cannot be less than 1, value: ${t}`);break;case"minimumContrastRatio":t=Math.max(1,Math.min(21,Math.round(t*10)/10));break;case"scrollback":if(t=Math.min(t,4294967295),t<0)throw new Error(`${e} cannot be less than 0, value: ${t}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(t<=0)throw new Error(`${e} cannot be less than or equal to 0, value: ${t}`);break;case"rows":case"cols":if(!t&&t!==0)throw new Error(`${e} must be numeric, value: ${t}`);break;case"windowsPty":t=t??{};break}return t}};function s0(e){return e==="block"||e==="underline"||e==="bar"}function ln(e,t=5){if(typeof e!="object")return e;let s=Array.isArray(e)?[]:{};for(let i in e)s[i]=t<=1?e[i]:e[i]&&ln(e[i],t-1);return s}var Eh=Object.freeze({insertMode:!1}),Mh=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),ba=class extends Fe{constructor(e,t,s){super(),this._bufferService=e,this._logService=t,this._optionsService=s,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this._register(new J),this.onData=this._onData.event,this._onUserInput=this._register(new J),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new J),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new J),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=ln(Eh),this.decPrivateModes=ln(Mh)}reset(){this.modes=ln(Eh),this.decPrivateModes=ln(Mh)}triggerDataEvent(e,t=!1){if(this._optionsService.rawOptions.disableStdin)return;let s=this._bufferService.buffer;t&&this._optionsService.rawOptions.scrollOnUserInput&&s.ybase!==s.ydisp&&this._onRequestScrollToBottom.fire(),t&&this._onUserInput.fire(),this._logService.debug(`sending data "${e}"`),this._logService.trace("sending data (codes)",()=>e.split("").map(i=>i.charCodeAt(0))),this._onData.fire(e)}triggerBinaryEvent(e){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${e}"`),this._logService.trace("sending binary (codes)",()=>e.split("").map(t=>t.charCodeAt(0))),this._onBinary.fire(e))}};ba=pt([re(0,Ot),re(1,fm),re(2,Ft)],ba);var Ph={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:e=>e.button===4||e.action!==1?!1:(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)},VT200:{events:19,restrict:e=>e.action!==32},DRAG:{events:23,restrict:e=>!(e.action===32&&e.button===3)},ANY:{events:31,restrict:e=>!0}};function uo(e,t){let s=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return e.button===4?(s|=64,s|=e.action):(s|=e.button&3,e.button&4&&(s|=64),e.button&8&&(s|=128),e.action===32?s|=32:e.action===0&&!t&&(s|=3)),s}var mo=String.fromCharCode,Rh={DEFAULT:e=>{let t=[uo(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?"":`\x1B[M${mo(t[0])}${mo(t[1])}${mo(t[2])}`},SGR:e=>{let t=e.action===0&&e.button!==4?"m":"M";return`\x1B[<${uo(e,!0)};${e.col};${e.row}${t}`},SGR_PIXELS:e=>{let t=e.action===0&&e.button!==4?"m":"M";return`\x1B[<${uo(e,!0)};${e.x};${e.y}${t}`}},ya=class extends Fe{constructor(e,t,s){super(),this._bufferService=e,this._coreService=t,this._optionsService=s,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._wheelPartialScroll=0,this._onProtocolChange=this._register(new J),this.onProtocolChange=this._onProtocolChange.event;for(let i of Object.keys(Ph))this.addProtocol(i,Ph[i]);for(let i of Object.keys(Rh))this.addEncoding(i,Rh[i]);this.reset()}addProtocol(e,t){this._protocols[e]=t}addEncoding(e,t){this._encodings[e]=t}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(e){if(!this._protocols[e])throw new Error(`unknown protocol "${e}"`);this._activeProtocol=e,this._onProtocolChange.fire(this._protocols[e].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(e){if(!this._encodings[e])throw new Error(`unknown encoding "${e}"`);this._activeEncoding=e}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null,this._wheelPartialScroll=0}consumeWheelEvent(e,t,s){if(e.deltaY===0||e.shiftKey||t===void 0||s===void 0)return 0;let i=t/s,n=this._applyScrollModifier(e.deltaY,e);return e.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(n/=i+0,Math.abs(e.deltaY)<50&&(n*=.3),this._wheelPartialScroll+=n,n=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(n*=this._bufferService.rows),n}_applyScrollModifier(e,t){return t.altKey||t.ctrlKey||t.shiftKey?e*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:e*this._optionsService.rawOptions.scrollSensitivity}triggerMouseEvent(e){if(e.col<0||e.col>=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows||e.button===4&&e.action===32||e.button===3&&e.action!==32||e.button!==4&&(e.action===2||e.action===3)||(e.col++,e.row++,e.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,e,this._activeEncoding==="SGR_PIXELS"))||!this._protocols[this._activeProtocol].restrict(e))return!1;let t=this._encodings[this._activeEncoding](e);return t&&(this._activeEncoding==="DEFAULT"?this._coreService.triggerBinaryEvent(t):this._coreService.triggerDataEvent(t,!0)),this._lastEvent=e,!0}explainEvents(e){return{down:!!(e&1),up:!!(e&2),drag:!!(e&4),move:!!(e&8),wheel:!!(e&16)}}_equalEvents(e,t,s){if(s){if(e.x!==t.x||e.y!==t.y)return!1}else if(e.col!==t.col||e.row!==t.row)return!1;return!(e.button!==t.button||e.action!==t.action||e.ctrl!==t.ctrl||e.alt!==t.alt||e.shift!==t.shift)}};ya=pt([re(0,Ot),re(1,ri),re(2,Ft)],ya);var fo=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],i0=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],St;function n0(e,t){let s=0,i=t.length-1,n;if(e<t[0][0]||e>t[i][1])return!1;for(;i>=s;)if(n=s+i>>1,e>t[n][1])s=n+1;else if(e<t[n][0])i=n-1;else return!0;return!1}var r0=class{constructor(){if(this.version="6",!St){St=new Uint8Array(65536),St.fill(1),St[0]=0,St.fill(0,1,32),St.fill(0,127,160),St.fill(2,4352,4448),St[9001]=2,St[9002]=2,St.fill(2,11904,42192),St[12351]=1,St.fill(2,44032,55204),St.fill(2,63744,64256),St.fill(2,65040,65050),St.fill(2,65072,65136),St.fill(2,65280,65377),St.fill(2,65504,65511);for(let e=0;e<fo.length;++e)St.fill(0,fo[e][0],fo[e][1]+1)}}wcwidth(e){return e<32?0:e<127?1:e<65536?St[e]:n0(e,i0)?0:e>=131072&&e<=196605||e>=196608&&e<=262141?2:1}charProperties(e,t){let s=this.wcwidth(e),i=s===0&&t!==0;if(i){let n=Js.extractWidth(t);n===0?i=!1:n>s&&(s=n)}return Js.createPropertyValue(0,s,i)}},Js=class lr{constructor(){this._providers=Object.create(null),this._active="",this._onChange=new J,this.onChange=this._onChange.event;let t=new r0;this.register(t),this._active=t.version,this._activeProvider=t}static extractShouldJoin(t){return(t&1)!==0}static extractWidth(t){return t>>1&3}static extractCharKind(t){return t>>3}static createPropertyValue(t,s,i=!1){return(t&16777215)<<3|(s&3)<<1|(i?1:0)}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(t){if(!this._providers[t])throw new Error(`unknown Unicode version "${t}"`);this._active=t,this._activeProvider=this._providers[t],this._onChange.fire(t)}register(t){this._providers[t.version]=t}wcwidth(t){return this._activeProvider.wcwidth(t)}getStringCellWidth(t){let s=0,i=0,n=t.length;for(let r=0;r<n;++r){let o=t.charCodeAt(r);if(55296<=o&&o<=56319){if(++r>=n)return s+this.wcwidth(o);let h=t.charCodeAt(r);56320<=h&&h<=57343?o=(o-55296)*1024+h-56320+65536:s+=this.wcwidth(h)}let l=this.charProperties(o,i),c=lr.extractWidth(l);lr.extractShouldJoin(l)&&(c-=lr.extractWidth(i)),s+=c,i=l}return s}charProperties(t,s){return this._activeProvider.charProperties(t,s)}},o0=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(e){this.glevel=e,this.charset=this._charsets[e]}setgCharset(e,t){this._charsets[e]=t,this.glevel===e&&(this.charset=t)}};function jh(e){var i;let t=(i=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1))==null?void 0:i.get(e.cols-1),s=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);s&&t&&(s.isWrapped=t[3]!==0&&t[3]!==32)}var Vi=2147483647,a0=256,Ym=class wa{constructor(t=32,s=32){if(this.maxLength=t,this.maxSubParamsLength=s,s>a0)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(t),this.length=0,this._subParams=new Int32Array(s),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(t),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}static fromArray(t){let s=new wa;if(!t.length)return s;for(let i=Array.isArray(t[0])?1:0;i<t.length;++i){let n=t[i];if(Array.isArray(n))for(let r=0;r<n.length;++r)s.addSubParam(n[r]);else s.addParam(n)}return s}clone(){let t=new wa(this.maxLength,this.maxSubParamsLength);return t.params.set(this.params),t.length=this.length,t._subParams.set(this._subParams),t._subParamsLength=this._subParamsLength,t._subParamsIdx.set(this._subParamsIdx),t._rejectDigits=this._rejectDigits,t._rejectSubDigits=this._rejectSubDigits,t._digitIsSub=this._digitIsSub,t}toArray(){let t=[];for(let s=0;s<this.length;++s){t.push(this.params[s]);let i=this._subParamsIdx[s]>>8,n=this._subParamsIdx[s]&255;n-i>0&&t.push(Array.prototype.slice.call(this._subParams,i,n))}return t}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(t){if(this._digitIsSub=!1,this.length>=this.maxLength){this._rejectDigits=!0;return}if(t<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=t>Vi?Vi:t}addSubParam(t){if(this._digitIsSub=!0,!!this.length){if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength){this._rejectSubDigits=!0;return}if(t<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=t>Vi?Vi:t,this._subParamsIdx[this.length-1]++}}hasSubParams(t){return(this._subParamsIdx[t]&255)-(this._subParamsIdx[t]>>8)>0}getSubParams(t){let s=this._subParamsIdx[t]>>8,i=this._subParamsIdx[t]&255;return i-s>0?this._subParams.subarray(s,i):null}getSubParamsAll(){let t={};for(let s=0;s<this.length;++s){let i=this._subParamsIdx[s]>>8,n=this._subParamsIdx[s]&255;n-i>0&&(t[s]=this._subParams.slice(i,n))}return t}addDigit(t){let s;if(this._rejectDigits||!(s=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let i=this._digitIsSub?this._subParams:this.params,n=i[s-1];i[s-1]=~n?Math.min(n*10+t,Vi):t}},Gi=[],l0=class{constructor(){this._state=0,this._active=Gi,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(e,t){this._handlers[e]===void 0&&(this._handlers[e]=[]);let s=this._handlers[e];return s.push(t),{dispose:()=>{let i=s.indexOf(t);i!==-1&&s.splice(i,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=Gi}reset(){if(this._state===2)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].end(!1);this._stack.paused=!1,this._active=Gi,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||Gi,!this._active.length)this._handlerFb(this._id,"START");else for(let e=this._active.length-1;e>=0;e--)this._active[e].start()}_put(e,t,s){if(!this._active.length)this._handlerFb(this._id,"PUT",Wr(e,t,s));else for(let i=this._active.length-1;i>=0;i--)this._active[i].put(e,t,s)}start(){this.reset(),this._state=1}put(e,t,s){if(this._state!==3){if(this._state===1)for(;t<s;){let i=e[t++];if(i===59){this._state=2,this._start();break}if(i<48||57<i){this._state=3;return}this._id===-1&&(this._id=0),this._id=this._id*10+i-48}this._state===2&&s-t>0&&this._put(e,t,s)}}end(e,t=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),!this._active.length)this._handlerFb(this._id,"END",e);else{let s=!1,i=this._active.length-1,n=!1;if(this._stack.paused&&(i=this._stack.loopPosition-1,s=t,n=this._stack.fallThrough,this._stack.paused=!1),!n&&s===!1){for(;i>=0&&(s=this._active[i].end(e),s!==!0);i--)if(s instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!1,s;i--}for(;i>=0;i--)if(s=this._active[i].end(!1),s instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!0,s}this._active=Gi,this._id=-1,this._state=0}}},qt=class{constructor(e){this._handler=e,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(e,t,s){this._hitLimit||(this._data+=Wr(e,t,s),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}end(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data),t instanceof Promise))return t.then(s=>(this._data="",this._hitLimit=!1,s));return this._data="",this._hitLimit=!1,t}},Yi=[],c0=class{constructor(){this._handlers=Object.create(null),this._active=Yi,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=Yi}registerHandler(e,t){this._handlers[e]===void 0&&(this._handlers[e]=[]);let s=this._handlers[e];return s.push(t),{dispose:()=>{let i=s.indexOf(t);i!==-1&&s.splice(i,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}reset(){if(this._active.length)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].unhook(!1);this._stack.paused=!1,this._active=Yi,this._ident=0}hook(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||Yi,!this._active.length)this._handlerFb(this._ident,"HOOK",t);else for(let s=this._active.length-1;s>=0;s--)this._active[s].hook(t)}put(e,t,s){if(!this._active.length)this._handlerFb(this._ident,"PUT",Wr(e,t,s));else for(let i=this._active.length-1;i>=0;i--)this._active[i].put(e,t,s)}unhook(e,t=!0){if(!this._active.length)this._handlerFb(this._ident,"UNHOOK",e);else{let s=!1,i=this._active.length-1,n=!1;if(this._stack.paused&&(i=this._stack.loopPosition-1,s=t,n=this._stack.fallThrough,this._stack.paused=!1),!n&&s===!1){for(;i>=0&&(s=this._active[i].unhook(e),s!==!0);i--)if(s instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!1,s;i--}for(;i>=0;i--)if(s=this._active[i].unhook(!1),s instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!0,s}this._active=Yi,this._ident=0}},cn=new Ym;cn.addParam(0);var Ih=class{constructor(e){this._handler=e,this._data="",this._params=cn,this._hitLimit=!1}hook(e){this._params=e.length>1||e.params[0]?e.clone():cn,this._data="",this._hitLimit=!1}put(e,t,s){this._hitLimit||(this._data+=Wr(e,t,s),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}unhook(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data,this._params),t instanceof Promise))return t.then(s=>(this._params=cn,this._data="",this._hitLimit=!1,s));return this._params=cn,this._data="",this._hitLimit=!1,t}},h0=class{constructor(e){this.table=new Uint8Array(e)}setDefault(e,t){this.table.fill(e<<4|t)}add(e,t,s,i){this.table[t<<8|e]=s<<4|i}addMany(e,t,s,i){for(let n=0;n<e.length;n++)this.table[t<<8|e[n]]=s<<4|i}},Xt=160,d0=function(){let e=new h0(4095),t=Array.apply(null,Array(256)).map((l,c)=>c),s=(l,c)=>t.slice(l,c),i=s(32,127),n=s(0,24);n.push(25),n.push.apply(n,s(28,32));let r=s(0,14),o;e.setDefault(1,0),e.addMany(i,0,2,0);for(o in r)e.addMany([24,26,153,154],o,3,0),e.addMany(s(128,144),o,3,0),e.addMany(s(144,152),o,3,0),e.add(156,o,0,0),e.add(27,o,11,1),e.add(157,o,4,8),e.addMany([152,158,159],o,0,7),e.add(155,o,11,3),e.add(144,o,11,9);return e.addMany(n,0,3,0),e.addMany(n,1,3,1),e.add(127,1,0,1),e.addMany(n,8,0,8),e.addMany(n,3,3,3),e.add(127,3,0,3),e.addMany(n,4,3,4),e.add(127,4,0,4),e.addMany(n,6,3,6),e.addMany(n,5,3,5),e.add(127,5,0,5),e.addMany(n,2,3,2),e.add(127,2,0,2),e.add(93,1,4,8),e.addMany(i,8,5,8),e.add(127,8,5,8),e.addMany([156,27,24,26,7],8,6,0),e.addMany(s(28,32),8,0,8),e.addMany([88,94,95],1,0,7),e.addMany(i,7,0,7),e.addMany(n,7,0,7),e.add(156,7,0,0),e.add(127,7,0,7),e.add(91,1,11,3),e.addMany(s(64,127),3,7,0),e.addMany(s(48,60),3,8,4),e.addMany([60,61,62,63],3,9,4),e.addMany(s(48,60),4,8,4),e.addMany(s(64,127),4,7,0),e.addMany([60,61,62,63],4,0,6),e.addMany(s(32,64),6,0,6),e.add(127,6,0,6),e.addMany(s(64,127),6,0,0),e.addMany(s(32,48),3,9,5),e.addMany(s(32,48),5,9,5),e.addMany(s(48,64),5,0,6),e.addMany(s(64,127),5,7,0),e.addMany(s(32,48),4,9,5),e.addMany(s(32,48),1,9,2),e.addMany(s(32,48),2,9,2),e.addMany(s(48,127),2,10,0),e.addMany(s(48,80),1,10,0),e.addMany(s(81,88),1,10,0),e.addMany([89,90,92],1,10,0),e.addMany(s(96,127),1,10,0),e.add(80,1,11,9),e.addMany(n,9,0,9),e.add(127,9,0,9),e.addMany(s(28,32),9,0,9),e.addMany(s(32,48),9,9,12),e.addMany(s(48,60),9,8,10),e.addMany([60,61,62,63],9,9,10),e.addMany(n,11,0,11),e.addMany(s(32,128),11,0,11),e.addMany(s(28,32),11,0,11),e.addMany(n,10,0,10),e.add(127,10,0,10),e.addMany(s(28,32),10,0,10),e.addMany(s(48,60),10,8,10),e.addMany([60,61,62,63],10,0,11),e.addMany(s(32,48),10,9,12),e.addMany(n,12,0,12),e.add(127,12,0,12),e.addMany(s(28,32),12,0,12),e.addMany(s(32,48),12,9,12),e.addMany(s(48,64),12,0,11),e.addMany(s(64,127),12,12,13),e.addMany(s(64,127),10,12,13),e.addMany(s(64,127),9,12,13),e.addMany(n,13,13,13),e.addMany(i,13,13,13),e.add(127,13,0,13),e.addMany([27,156,24,26],13,14,0),e.add(Xt,0,2,0),e.add(Xt,8,5,8),e.add(Xt,6,0,6),e.add(Xt,11,0,11),e.add(Xt,13,13,13),e}(),u0=class extends Fe{constructor(e=d0){super(),this._transitions=e,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new Ym,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(t,s,i)=>{},this._executeHandlerFb=t=>{},this._csiHandlerFb=(t,s)=>{},this._escHandlerFb=t=>{},this._errorHandlerFb=t=>t,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._register(ct(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new l0),this._dcsParser=this._register(new c0),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},()=>!0)}_identifier(e,t=[64,126]){let s=0;if(e.prefix){if(e.prefix.length>1)throw new Error("only one byte as prefix supported");if(s=e.prefix.charCodeAt(0),s&&60>s||s>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(e.intermediates){if(e.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(let n=0;n<e.intermediates.length;++n){let r=e.intermediates.charCodeAt(n);if(32>r||r>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");s<<=8,s|=r}}if(e.final.length!==1)throw new Error("final must be a single byte");let i=e.final.charCodeAt(0);if(t[0]>i||i>t[1])throw new Error(`final must be in range ${t[0]} .. ${t[1]}`);return s<<=8,s|=i,s}identToString(e){let t=[];for(;e;)t.push(String.fromCharCode(e&255)),e>>=8;return t.reverse().join("")}setPrintHandler(e){this._printHandler=e}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(e,t){let s=this._identifier(e,[48,126]);this._escHandlers[s]===void 0&&(this._escHandlers[s]=[]);let i=this._escHandlers[s];return i.push(t),{dispose:()=>{let n=i.indexOf(t);n!==-1&&i.splice(n,1)}}}clearEscHandler(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]}setEscHandlerFallback(e){this._escHandlerFb=e}setExecuteHandler(e,t){this._executeHandlers[e.charCodeAt(0)]=t}clearExecuteHandler(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]}setExecuteHandlerFallback(e){this._executeHandlerFb=e}registerCsiHandler(e,t){let s=this._identifier(e);this._csiHandlers[s]===void 0&&(this._csiHandlers[s]=[]);let i=this._csiHandlers[s];return i.push(t),{dispose:()=>{let n=i.indexOf(t);n!==-1&&i.splice(n,1)}}}clearCsiHandler(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]}setCsiHandlerFallback(e){this._csiHandlerFb=e}registerDcsHandler(e,t){return this._dcsParser.registerHandler(this._identifier(e),t)}clearDcsHandler(e){this._dcsParser.clearHandler(this._identifier(e))}setDcsHandlerFallback(e){this._dcsParser.setHandlerFallback(e)}registerOscHandler(e,t){return this._oscParser.registerHandler(e,t)}clearOscHandler(e){this._oscParser.clearHandler(e)}setOscHandlerFallback(e){this._oscParser.setHandlerFallback(e)}setErrorHandler(e){this._errorHandler=e}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._parseStack.state!==0&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(e,t,s,i,n){this._parseStack.state=e,this._parseStack.handlers=t,this._parseStack.handlerPos=s,this._parseStack.transition=i,this._parseStack.chunkPos=n}parse(e,t,s){let i=0,n=0,r=0,o;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,r=this._parseStack.chunkPos+1;else{if(s===void 0||this._parseStack.state===1)throw this._parseStack.state=1,new Error("improper continuation due to previous async handler, giving up parsing");let l=this._parseStack.handlers,c=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(s===!1&&c>-1){for(;c>=0&&(o=l[c](this._params),o!==!0);c--)if(o instanceof Promise)return this._parseStack.handlerPos=c,o}this._parseStack.handlers=[];break;case 4:if(s===!1&&c>-1){for(;c>=0&&(o=l[c](),o!==!0);c--)if(o instanceof Promise)return this._parseStack.handlerPos=c,o}this._parseStack.handlers=[];break;case 6:if(i=e[this._parseStack.chunkPos],o=this._dcsParser.unhook(i!==24&&i!==26,s),o)return o;i===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(i=e[this._parseStack.chunkPos],o=this._oscParser.end(i!==24&&i!==26,s),o)return o;i===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break}this._parseStack.state=0,r=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=this._parseStack.transition&15}for(let l=r;l<t;++l){switch(i=e[l],n=this._transitions.table[this.currentState<<8|(i<160?i:Xt)],n>>4){case 2:for(let p=l+1;;++p){if(p>=t||(i=e[p])<32||i>126&&i<Xt){this._printHandler(e,l,p),l=p-1;break}if(++p>=t||(i=e[p])<32||i>126&&i<Xt){this._printHandler(e,l,p),l=p-1;break}if(++p>=t||(i=e[p])<32||i>126&&i<Xt){this._printHandler(e,l,p),l=p-1;break}if(++p>=t||(i=e[p])<32||i>126&&i<Xt){this._printHandler(e,l,p),l=p-1;break}}break;case 3:this._executeHandlers[i]?this._executeHandlers[i]():this._executeHandlerFb(i),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:l,code:i,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:let c=this._csiHandlers[this._collect<<8|i],h=c?c.length-1:-1;for(;h>=0&&(o=c[h](this._params),o!==!0);h--)if(o instanceof Promise)return this._preserveStack(3,c,h,n,l),o;h<0&&this._csiHandlerFb(this._collect<<8|i,this._params),this.precedingJoinState=0;break;case 8:do switch(i){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(i-48)}while(++l<t&&(i=e[l])>47&&i<60);l--;break;case 9:this._collect<<=8,this._collect|=i;break;case 10:let u=this._escHandlers[this._collect<<8|i],d=u?u.length-1:-1;for(;d>=0&&(o=u[d](),o!==!0);d--)if(o instanceof Promise)return this._preserveStack(4,u,d,n,l),o;d<0&&this._escHandlerFb(this._collect<<8|i),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|i,this._params);break;case 13:for(let p=l+1;;++p)if(p>=t||(i=e[p])===24||i===26||i===27||i>127&&i<Xt){this._dcsParser.put(e,l,p),l=p-1;break}break;case 14:if(o=this._dcsParser.unhook(i!==24&&i!==26),o)return this._preserveStack(6,[],0,n,l),o;i===27&&(n|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break;case 4:this._oscParser.start();break;case 5:for(let p=l+1;;p++)if(p>=t||(i=e[p])<32||i>127&&i<Xt){this._oscParser.put(e,l,p),l=p-1;break}break;case 6:if(o=this._oscParser.end(i!==24&&i!==26),o)return this._preserveStack(5,[],0,n,l),o;i===27&&(n|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break}this.currentState=n&15}}},m0=/^([\da-f])\/([\da-f])\/([\da-f])$|^([\da-f]{2})\/([\da-f]{2})\/([\da-f]{2})$|^([\da-f]{3})\/([\da-f]{3})\/([\da-f]{3})$|^([\da-f]{4})\/([\da-f]{4})\/([\da-f]{4})$/,f0=/^[\da-f]+$/;function Dh(e){if(!e)return;let t=e.toLowerCase();if(t.indexOf("rgb:")===0){t=t.slice(4);let s=m0.exec(t);if(s){let i=s[1]?15:s[4]?255:s[7]?4095:65535;return[Math.round(parseInt(s[1]||s[4]||s[7]||s[10],16)/i*255),Math.round(parseInt(s[2]||s[5]||s[8]||s[11],16)/i*255),Math.round(parseInt(s[3]||s[6]||s[9]||s[12],16)/i*255)]}}else if(t.indexOf("#")===0&&(t=t.slice(1),f0.exec(t)&&[3,6,9,12].includes(t.length))){let s=t.length/3,i=[0,0,0];for(let n=0;n<3;++n){let r=parseInt(t.slice(s*n,s*n+s),16);i[n]=s===1?r<<4:s===2?r:s===3?r>>4:r>>8}return i}}function po(e,t){let s=e.toString(16),i=s.length<2?"0"+s:s;switch(t){case 4:return s[0];case 8:return i;case 12:return(i+i).slice(0,3);default:return i+i}}function p0(e,t=16){let[s,i,n]=e;return`rgb:${po(s,t)}/${po(i,t)}/${po(n,t)}`}var _0={"(":0,")":1,"*":2,"+":3,"-":1,".":2},Ls=131072,Lh=10;function Ah(e,t){if(e>24)return t.setWinLines||!1;switch(e){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}var Bh=5e3,Oh=0,g0=class extends Fe{constructor(e,t,s,i,n,r,o,l,c=new u0){super(),this._bufferService=e,this._charsetService=t,this._coreService=s,this._logService=i,this._optionsService=n,this._oscLinkService=r,this._coreMouseService=o,this._unicodeService=l,this._parser=c,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new Ak,this._utf8Decoder=new Bk,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=vt.clone(),this._eraseAttrDataInternal=vt.clone(),this._onRequestBell=this._register(new J),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new J),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new J),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new J),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new J),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new J),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new J),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new J),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new J),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new J),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new J),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new J),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new J),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this._register(this._parser),this._dirtyRowTracker=new Sa(this._bufferService),this._activeBuffer=this._bufferService.buffer,this._register(this._bufferService.buffers.onBufferActivate(h=>this._activeBuffer=h.activeBuffer)),this._parser.setCsiHandlerFallback((h,u)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(h),params:u.toArray()})}),this._parser.setEscHandlerFallback(h=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(h)})}),this._parser.setExecuteHandlerFallback(h=>{this._logService.debug("Unknown EXECUTE code: ",{code:h})}),this._parser.setOscHandlerFallback((h,u,d)=>{this._logService.debug("Unknown OSC code: ",{identifier:h,action:u,data:d})}),this._parser.setDcsHandlerFallback((h,u,d)=>{u==="HOOK"&&(d=d.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(h),action:u,payload:d})}),this._parser.setPrintHandler((h,u,d)=>this.print(h,u,d)),this._parser.registerCsiHandler({final:"@"},h=>this.insertChars(h)),this._parser.registerCsiHandler({intermediates:" ",final:"@"},h=>this.scrollLeft(h)),this._parser.registerCsiHandler({final:"A"},h=>this.cursorUp(h)),this._parser.registerCsiHandler({intermediates:" ",final:"A"},h=>this.scrollRight(h)),this._parser.registerCsiHandler({final:"B"},h=>this.cursorDown(h)),this._parser.registerCsiHandler({final:"C"},h=>this.cursorForward(h)),this._parser.registerCsiHandler({final:"D"},h=>this.cursorBackward(h)),this._parser.registerCsiHandler({final:"E"},h=>this.cursorNextLine(h)),this._parser.registerCsiHandler({final:"F"},h=>this.cursorPrecedingLine(h)),this._parser.registerCsiHandler({final:"G"},h=>this.cursorCharAbsolute(h)),this._parser.registerCsiHandler({final:"H"},h=>this.cursorPosition(h)),this._parser.registerCsiHandler({final:"I"},h=>this.cursorForwardTab(h)),this._parser.registerCsiHandler({final:"J"},h=>this.eraseInDisplay(h,!1)),this._parser.registerCsiHandler({prefix:"?",final:"J"},h=>this.eraseInDisplay(h,!0)),this._parser.registerCsiHandler({final:"K"},h=>this.eraseInLine(h,!1)),this._parser.registerCsiHandler({prefix:"?",final:"K"},h=>this.eraseInLine(h,!0)),this._parser.registerCsiHandler({final:"L"},h=>this.insertLines(h)),this._parser.registerCsiHandler({final:"M"},h=>this.deleteLines(h)),this._parser.registerCsiHandler({final:"P"},h=>this.deleteChars(h)),this._parser.registerCsiHandler({final:"S"},h=>this.scrollUp(h)),this._parser.registerCsiHandler({final:"T"},h=>this.scrollDown(h)),this._parser.registerCsiHandler({final:"X"},h=>this.eraseChars(h)),this._parser.registerCsiHandler({final:"Z"},h=>this.cursorBackwardTab(h)),this._parser.registerCsiHandler({final:"`"},h=>this.charPosAbsolute(h)),this._parser.registerCsiHandler({final:"a"},h=>this.hPositionRelative(h)),this._parser.registerCsiHandler({final:"b"},h=>this.repeatPrecedingCharacter(h)),this._parser.registerCsiHandler({final:"c"},h=>this.sendDeviceAttributesPrimary(h)),this._parser.registerCsiHandler({prefix:">",final:"c"},h=>this.sendDeviceAttributesSecondary(h)),this._parser.registerCsiHandler({final:"d"},h=>this.linePosAbsolute(h)),this._parser.registerCsiHandler({final:"e"},h=>this.vPositionRelative(h)),this._parser.registerCsiHandler({final:"f"},h=>this.hVPosition(h)),this._parser.registerCsiHandler({final:"g"},h=>this.tabClear(h)),this._parser.registerCsiHandler({final:"h"},h=>this.setMode(h)),this._parser.registerCsiHandler({prefix:"?",final:"h"},h=>this.setModePrivate(h)),this._parser.registerCsiHandler({final:"l"},h=>this.resetMode(h)),this._parser.registerCsiHandler({prefix:"?",final:"l"},h=>this.resetModePrivate(h)),this._parser.registerCsiHandler({final:"m"},h=>this.charAttributes(h)),this._parser.registerCsiHandler({final:"n"},h=>this.deviceStatus(h)),this._parser.registerCsiHandler({prefix:"?",final:"n"},h=>this.deviceStatusPrivate(h)),this._parser.registerCsiHandler({intermediates:"!",final:"p"},h=>this.softReset(h)),this._parser.registerCsiHandler({intermediates:" ",final:"q"},h=>this.setCursorStyle(h)),this._parser.registerCsiHandler({final:"r"},h=>this.setScrollRegion(h)),this._parser.registerCsiHandler({final:"s"},h=>this.saveCursor(h)),this._parser.registerCsiHandler({final:"t"},h=>this.windowOptions(h)),this._parser.registerCsiHandler({final:"u"},h=>this.restoreCursor(h)),this._parser.registerCsiHandler({intermediates:"'",final:"}"},h=>this.insertColumns(h)),this._parser.registerCsiHandler({intermediates:"'",final:"~"},h=>this.deleteColumns(h)),this._parser.registerCsiHandler({intermediates:'"',final:"q"},h=>this.selectProtected(h)),this._parser.registerCsiHandler({intermediates:"$",final:"p"},h=>this.requestMode(h,!0)),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},h=>this.requestMode(h,!1)),this._parser.setExecuteHandler(K.BEL,()=>this.bell()),this._parser.setExecuteHandler(K.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(K.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(K.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(K.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(K.BS,()=>this.backspace()),this._parser.setExecuteHandler(K.HT,()=>this.tab()),this._parser.setExecuteHandler(K.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(K.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(or.IND,()=>this.index()),this._parser.setExecuteHandler(or.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(or.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new qt(h=>(this.setTitle(h),this.setIconName(h),!0))),this._parser.registerOscHandler(1,new qt(h=>this.setIconName(h))),this._parser.registerOscHandler(2,new qt(h=>this.setTitle(h))),this._parser.registerOscHandler(4,new qt(h=>this.setOrReportIndexedColor(h))),this._parser.registerOscHandler(8,new qt(h=>this.setHyperlink(h))),this._parser.registerOscHandler(10,new qt(h=>this.setOrReportFgColor(h))),this._parser.registerOscHandler(11,new qt(h=>this.setOrReportBgColor(h))),this._parser.registerOscHandler(12,new qt(h=>this.setOrReportCursorColor(h))),this._parser.registerOscHandler(104,new qt(h=>this.restoreIndexedColor(h))),this._parser.registerOscHandler(110,new qt(h=>this.restoreFgColor(h))),this._parser.registerOscHandler(111,new qt(h=>this.restoreBgColor(h))),this._parser.registerOscHandler(112,new qt(h=>this.restoreCursorColor(h))),this._parser.registerEscHandler({final:"7"},()=>this.saveCursor()),this._parser.registerEscHandler({final:"8"},()=>this.restoreCursor()),this._parser.registerEscHandler({final:"D"},()=>this.index()),this._parser.registerEscHandler({final:"E"},()=>this.nextLine()),this._parser.registerEscHandler({final:"H"},()=>this.tabSet()),this._parser.registerEscHandler({final:"M"},()=>this.reverseIndex()),this._parser.registerEscHandler({final:"="},()=>this.keypadApplicationMode()),this._parser.registerEscHandler({final:">"},()=>this.keypadNumericMode()),this._parser.registerEscHandler({final:"c"},()=>this.fullReset()),this._parser.registerEscHandler({final:"n"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"o"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"|"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"}"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"~"},()=>this.setgLevel(1)),this._parser.registerEscHandler({intermediates:"%",final:"@"},()=>this.selectDefaultCharset()),this._parser.registerEscHandler({intermediates:"%",final:"G"},()=>this.selectDefaultCharset());for(let h in kt)this._parser.registerEscHandler({intermediates:"(",final:h},()=>this.selectCharset("("+h)),this._parser.registerEscHandler({intermediates:")",final:h},()=>this.selectCharset(")"+h)),this._parser.registerEscHandler({intermediates:"*",final:h},()=>this.selectCharset("*"+h)),this._parser.registerEscHandler({intermediates:"+",final:h},()=>this.selectCharset("+"+h)),this._parser.registerEscHandler({intermediates:"-",final:h},()=>this.selectCharset("-"+h)),this._parser.registerEscHandler({intermediates:".",final:h},()=>this.selectCharset("."+h)),this._parser.registerEscHandler({intermediates:"/",final:h},()=>this.selectCharset("/"+h));this._parser.registerEscHandler({intermediates:"#",final:"8"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(h=>(this._logService.error("Parsing error: ",h),h)),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new Ih((h,u)=>this.requestStatusString(h,u)))}getAttrData(){return this._curAttrData}_preserveStack(e,t,s,i){this._parseStack.paused=!0,this._parseStack.cursorStartX=e,this._parseStack.cursorStartY=t,this._parseStack.decodedLength=s,this._parseStack.position=i}_logSlowResolvingAsync(e){this._logService.logLevel<=3&&Promise.race([e,new Promise((t,s)=>setTimeout(()=>s("#SLOW_TIMEOUT"),Bh))]).catch(t=>{if(t!=="#SLOW_TIMEOUT")throw t;console.warn(`async parser handler taking longer than ${Bh} ms`)})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(e,t){let s,i=this._activeBuffer.x,n=this._activeBuffer.y,r=0,o=this._parseStack.paused;if(o){if(s=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,t))return this._logSlowResolvingAsync(s),s;i=this._parseStack.cursorStartX,n=this._parseStack.cursorStartY,this._parseStack.paused=!1,e.length>Ls&&(r=this._parseStack.position+Ls)}if(this._logService.logLevel<=1&&this._logService.debug(`parsing data ${typeof e=="string"?` "${e}"`:` "${Array.prototype.map.call(e,h=>String.fromCharCode(h)).join("")}"`}`),this._logService.logLevel===0&&this._logService.trace("parsing data (codes)",typeof e=="string"?e.split("").map(h=>h.charCodeAt(0)):e),this._parseBuffer.length<e.length&&this._parseBuffer.length<Ls&&(this._parseBuffer=new Uint32Array(Math.min(e.length,Ls))),o||this._dirtyRowTracker.clearRange(),e.length>Ls)for(let h=r;h<e.length;h+=Ls){let u=h+Ls<e.length?h+Ls:e.length,d=typeof e=="string"?this._stringDecoder.decode(e.substring(h,u),this._parseBuffer):this._utf8Decoder.decode(e.subarray(h,u),this._parseBuffer);if(s=this._parser.parse(this._parseBuffer,d))return this._preserveStack(i,n,d,h),this._logSlowResolvingAsync(s),s}else if(!o){let h=typeof e=="string"?this._stringDecoder.decode(e,this._parseBuffer):this._utf8Decoder.decode(e,this._parseBuffer);if(s=this._parser.parse(this._parseBuffer,h))return this._preserveStack(i,n,h,0),this._logSlowResolvingAsync(s),s}(this._activeBuffer.x!==i||this._activeBuffer.y!==n)&&this._onCursorMove.fire();let l=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),c=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);c<this._bufferService.rows&&this._onRequestRefreshRows.fire({start:Math.min(c,this._bufferService.rows-1),end:Math.min(l,this._bufferService.rows-1)})}print(e,t,s){let i,n,r=this._charsetService.charset,o=this._optionsService.rawOptions.screenReaderMode,l=this._bufferService.cols,c=this._coreService.decPrivateModes.wraparound,h=this._coreService.modes.insertMode,u=this._curAttrData,d=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&s-t>0&&d.getWidth(this._activeBuffer.x-1)===2&&d.setCellFromCodepoint(this._activeBuffer.x-1,0,1,u);let p=this._parser.precedingJoinState;for(let f=t;f<s;++f){if(i=e[f],i<127&&r){let b=r[String.fromCharCode(i)];b&&(i=b.charCodeAt(0))}let _=this._unicodeService.charProperties(i,p);n=Js.extractWidth(_);let g=Js.extractShouldJoin(_),v=g?Js.extractWidth(p):0;if(p=_,o&&this._onA11yChar.fire(Bs(i)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+n-v>l){if(c){let b=d,x=this._activeBuffer.x-v;for(this._activeBuffer.x=v,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),d=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),v>0&&d instanceof an&&d.copyCellsFrom(b,x,0,v,!1);x<l;)b.setCellFromCodepoint(x++,0,1,u)}else if(this._activeBuffer.x=l-1,n===2)continue}if(g&&this._activeBuffer.x){let b=d.getWidth(this._activeBuffer.x-1)?1:2;d.addCodepointToCell(this._activeBuffer.x-b,i,n);for(let x=n-v;--x>=0;)d.setCellFromCodepoint(this._activeBuffer.x++,0,0,u);continue}if(h&&(d.insertCells(this._activeBuffer.x,n-v,this._activeBuffer.getNullCell(u)),d.getWidth(l-1)===2&&d.setCellFromCodepoint(l-1,0,1,u)),d.setCellFromCodepoint(this._activeBuffer.x++,i,n,u),n>0)for(;--n;)d.setCellFromCodepoint(this._activeBuffer.x++,0,0,u)}this._parser.precedingJoinState=p,this._activeBuffer.x<l&&s-t>0&&d.getWidth(this._activeBuffer.x)===0&&!d.hasContent(this._activeBuffer.x)&&d.setCellFromCodepoint(this._activeBuffer.x,0,1,u),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(e,t){return e.final==="t"&&!e.prefix&&!e.intermediates?this._parser.registerCsiHandler(e,s=>Ah(s.params[0],this._optionsService.rawOptions.windowOptions)?t(s):!0):this._parser.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._parser.registerDcsHandler(e,new Ih(t))}registerEscHandler(e,t){return this._parser.registerEscHandler(e,t)}registerOscHandler(e,t){return this._parser.registerOscHandler(e,new qt(t))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){var e;if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(this._activeBuffer.x===0&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&((e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y))!=null&&e.isWrapped)){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);t.hasWidth(this._activeBuffer.x)&&!t.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let e=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-e),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(e=this._bufferService.cols-1){this._activeBuffer.x=Math.min(e,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(e,t){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=e,this._activeBuffer.y=this._activeBuffer.scrollTop+t):(this._activeBuffer.x=e,this._activeBuffer.y=t),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(e,t){this._restrictCursor(),this._setCursor(this._activeBuffer.x+e,this._activeBuffer.y+t)}cursorUp(e){let t=this._activeBuffer.y-this._activeBuffer.scrollTop;return t>=0?this._moveCursor(0,-Math.min(t,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1)),!0}cursorDown(e){let t=this._activeBuffer.scrollBottom-this._activeBuffer.y;return t>=0?this._moveCursor(0,Math.min(t,e.params[0]||1)):this._moveCursor(0,e.params[0]||1),!0}cursorForward(e){return this._moveCursor(e.params[0]||1,0),!0}cursorBackward(e){return this._moveCursor(-(e.params[0]||1),0),!0}cursorNextLine(e){return this.cursorDown(e),this._activeBuffer.x=0,!0}cursorPrecedingLine(e){return this.cursorUp(e),this._activeBuffer.x=0,!0}cursorCharAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(e){return this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1),!0}charPosAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(e){return this._moveCursor(e.params[0]||1,0),!0}linePosAbsolute(e){return this._setCursor(this._activeBuffer.x,(e.params[0]||1)-1),!0}vPositionRelative(e){return this._moveCursor(0,e.params[0]||1),!0}hVPosition(e){return this.cursorPosition(e),!0}tabClear(e){let t=e.params[0];return t===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:t===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(e){let t=e.params[0];return t===1&&(this._curAttrData.bg|=536870912),(t===2||t===0)&&(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(e,t,s,i=!1,n=!1){let r=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);r.replaceCells(t,s,this._activeBuffer.getNullCell(this._eraseAttrData()),n),i&&(r.isWrapped=!1)}_resetBufferLine(e,t=!1){let s=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);s&&(s.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),t),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+e),s.isWrapped=!1)}eraseInDisplay(e,t=!1){var i;this._restrictCursor(this._bufferService.cols);let s;switch(e.params[0]){case 0:for(s=this._activeBuffer.y,this._dirtyRowTracker.markDirty(s),this._eraseInBufferLine(s++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,t);s<this._bufferService.rows;s++)this._resetBufferLine(s,t);this._dirtyRowTracker.markDirty(s);break;case 1:for(s=this._activeBuffer.y,this._dirtyRowTracker.markDirty(s),this._eraseInBufferLine(s,0,this._activeBuffer.x+1,!0,t),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(s+1).isWrapped=!1);s--;)this._resetBufferLine(s,t);this._dirtyRowTracker.markDirty(0);break;case 2:if(this._optionsService.rawOptions.scrollOnEraseInDisplay){for(s=this._bufferService.rows,this._dirtyRowTracker.markRangeDirty(0,s-1);s--&&!((i=this._activeBuffer.lines.get(this._activeBuffer.ybase+s))!=null&&i.getTrimmedLength()););for(;s>=0;s--)this._bufferService.scroll(this._eraseAttrData())}else{for(s=this._bufferService.rows,this._dirtyRowTracker.markDirty(s-1);s--;)this._resetBufferLine(s,t);this._dirtyRowTracker.markDirty(0)}break;case 3:let n=this._activeBuffer.lines.length-this._bufferService.rows;n>0&&(this._activeBuffer.lines.trimStart(n),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-n,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-n,0),this._onScroll.fire(0));break}return!0}eraseInLine(e,t=!1){switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,t);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,t);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,t);break}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let s=this._activeBuffer.ybase+this._activeBuffer.y,i=this._bufferService.rows-1-this._activeBuffer.scrollBottom,n=this._bufferService.rows-1+this._activeBuffer.ybase-i+1;for(;t--;)this._activeBuffer.lines.splice(n-1,1),this._activeBuffer.lines.splice(s,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let s=this._activeBuffer.ybase+this._activeBuffer.y,i;for(i=this._bufferService.rows-1-this._activeBuffer.scrollBottom,i=this._bufferService.rows-1+this._activeBuffer.ybase-i;t--;)this._activeBuffer.lines.splice(s,1),this._activeBuffer.lines.splice(i,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(e){this._restrictCursor();let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.insertCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(e){this._restrictCursor();let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.deleteCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(e){let t=e.params[0]||1;for(;t--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollDown(e){let t=e.params[0]||1;for(;t--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,0,this._activeBuffer.getBlankLine(vt));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t=e.params[0]||1;for(let s=this._activeBuffer.scrollTop;s<=this._activeBuffer.scrollBottom;++s){let i=this._activeBuffer.lines.get(this._activeBuffer.ybase+s);i.deleteCells(0,t,this._activeBuffer.getNullCell(this._eraseAttrData())),i.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t=e.params[0]||1;for(let s=this._activeBuffer.scrollTop;s<=this._activeBuffer.scrollBottom;++s){let i=this._activeBuffer.lines.get(this._activeBuffer.ybase+s);i.insertCells(0,t,this._activeBuffer.getNullCell(this._eraseAttrData())),i.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t=e.params[0]||1;for(let s=this._activeBuffer.scrollTop;s<=this._activeBuffer.scrollBottom;++s){let i=this._activeBuffer.lines.get(this._activeBuffer.ybase+s);i.insertCells(this._activeBuffer.x,t,this._activeBuffer.getNullCell(this._eraseAttrData())),i.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t=e.params[0]||1;for(let s=this._activeBuffer.scrollTop;s<=this._activeBuffer.scrollBottom;++s){let i=this._activeBuffer.lines.get(this._activeBuffer.ybase+s);i.deleteCells(this._activeBuffer.x,t,this._activeBuffer.getNullCell(this._eraseAttrData())),i.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(e){this._restrictCursor();let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(e.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(e){let t=this._parser.precedingJoinState;if(!t)return!0;let s=e.params[0]||1,i=Js.extractWidth(t),n=this._activeBuffer.x-i,r=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(n),o=new Uint32Array(r.length*s),l=0;for(let h=0;h<r.length;){let u=r.codePointAt(h)||0;o[l++]=u,h+=u>65535?2:1}let c=l;for(let h=1;h<s;++h)o.copyWithin(c,0,l),c+=l;return this.print(o,0,c),!0}sendDeviceAttributesPrimary(e){return e.params[0]>0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(K.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(K.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(e){return e.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(K.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(K.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(e.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(K.ESC+"[>83;40003;0c")),!0}_is(e){return(this._optionsService.rawOptions.termName+"").indexOf(e)===0}setMode(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0;break}return!0}setModePrivate(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,Xs),this._charsetService.setgCharset(1,Xs),this._charsetService.setgCharset(2,Xs),this._charsetService.setgCharset(3,Xs);break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(132,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!0,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!0;break;case 12:this._optionsService.options.cursorBlink=!0;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!0;break;case 66:this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire();break;case 9:this._coreMouseService.activeProtocol="X10";break;case 1e3:this._coreMouseService.activeProtocol="VT200";break;case 1002:this._coreMouseService.activeProtocol="DRAG";break;case 1003:this._coreMouseService.activeProtocol="ANY";break;case 1004:this._coreService.decPrivateModes.sendFocus=!0,this._onRequestSendFocus.fire();break;case 1005:this._logService.debug("DECSET 1005 not supported (see #2507)");break;case 1006:this._coreMouseService.activeEncoding="SGR";break;case 1015:this._logService.debug("DECSET 1015 not supported (see #2507)");break;case 1016:this._coreMouseService.activeEncoding="SGR_PIXELS";break;case 25:this._coreService.isCursorHidden=!1;break;case 1048:this.saveCursor();break;case 1049:this.saveCursor();case 47:case 1047:this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!0;break}return!0}resetMode(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1;break}return!0}resetModePrivate(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!1;break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(80,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!1,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!1;break;case 12:this._optionsService.options.cursorBlink=!1;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!1;break;case 66:this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire();break;case 9:case 1e3:case 1002:case 1003:this._coreMouseService.activeProtocol="NONE";break;case 1004:this._coreService.decPrivateModes.sendFocus=!1;break;case 1005:this._logService.debug("DECRST 1005 not supported (see #2507)");break;case 1006:this._coreMouseService.activeEncoding="DEFAULT";break;case 1015:this._logService.debug("DECRST 1015 not supported (see #2507)");break;case 1016:this._coreMouseService.activeEncoding="DEFAULT";break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),e.params[t]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!1,this._onRequestRefreshRows.fire(void 0);break}return!0}requestMode(e,t){(g=>(g[g.NOT_RECOGNIZED=0]="NOT_RECOGNIZED",g[g.SET=1]="SET",g[g.RESET=2]="RESET",g[g.PERMANENTLY_SET=3]="PERMANENTLY_SET",g[g.PERMANENTLY_RESET=4]="PERMANENTLY_RESET"))(void 0||(s={}));let i=this._coreService.decPrivateModes,{activeProtocol:n,activeEncoding:r}=this._coreMouseService,o=this._coreService,{buffers:l,cols:c}=this._bufferService,{active:h,alt:u}=l,d=this._optionsService.rawOptions,p=(g,v)=>(o.triggerDataEvent(`${K.ESC}[${t?"":"?"}${g};${v}$y`),!0),f=g=>g?1:2,_=e.params[0];return t?_===2?p(_,4):_===4?p(_,f(o.modes.insertMode)):_===12?p(_,3):_===20?p(_,f(d.convertEol)):p(_,0):_===1?p(_,f(i.applicationCursorKeys)):_===3?p(_,d.windowOptions.setWinLines?c===80?2:c===132?1:0:0):_===6?p(_,f(i.origin)):_===7?p(_,f(i.wraparound)):_===8?p(_,3):_===9?p(_,f(n==="X10")):_===12?p(_,f(d.cursorBlink)):_===25?p(_,f(!o.isCursorHidden)):_===45?p(_,f(i.reverseWraparound)):_===66?p(_,f(i.applicationKeypad)):_===67?p(_,4):_===1e3?p(_,f(n==="VT200")):_===1002?p(_,f(n==="DRAG")):_===1003?p(_,f(n==="ANY")):_===1004?p(_,f(i.sendFocus)):_===1005?p(_,4):_===1006?p(_,f(r==="SGR")):_===1015?p(_,4):_===1016?p(_,f(r==="SGR_PIXELS")):_===1048?p(_,1):_===47||_===1047||_===1049?p(_,f(h===u)):_===2004?p(_,f(i.bracketedPasteMode)):_===2026?p(_,f(i.synchronizedOutput)):p(_,0)}_updateAttrColor(e,t,s,i,n){return t===2?(e|=50331648,e&=-16777216,e|=Mn.fromColorRGB([s,i,n])):t===5&&(e&=-50331904,e|=33554432|s&255),e}_extractColor(e,t,s){let i=[0,0,-1,0,0,0],n=0,r=0;do{if(i[r+n]=e.params[t+r],e.hasSubParams(t+r)){let o=e.getSubParams(t+r),l=0;do i[1]===5&&(n=1),i[r+l+1+n]=o[l];while(++l<o.length&&l+r+1+n<i.length);break}if(i[1]===5&&r+n>=2||i[1]===2&&r+n>=5)break;i[1]&&(n=1)}while(++r+t<e.length&&r+n<i.length);for(let o=2;o<i.length;++o)i[o]===-1&&(i[o]=0);switch(i[0]){case 38:s.fg=this._updateAttrColor(s.fg,i[1],i[3],i[4],i[5]);break;case 48:s.bg=this._updateAttrColor(s.bg,i[1],i[3],i[4],i[5]);break;case 58:s.extended=s.extended.clone(),s.extended.underlineColor=this._updateAttrColor(s.extended.underlineColor,i[1],i[3],i[4],i[5])}return r}_processUnderline(e,t){t.extended=t.extended.clone(),(!~e||e>5)&&(e=1),t.extended.underlineStyle=e,t.fg|=268435456,e===0&&(t.fg&=-268435457),t.updateExtended()}_processSGR0(e){e.fg=vt.fg,e.bg=vt.bg,e.extended=e.extended.clone(),e.extended.underlineStyle=0,e.extended.underlineColor&=-67108864,e.updateExtended()}charAttributes(e){if(e.length===1&&e.params[0]===0)return this._processSGR0(this._curAttrData),!0;let t=e.length,s,i=this._curAttrData;for(let n=0;n<t;n++)s=e.params[n],s>=30&&s<=37?(i.fg&=-50331904,i.fg|=16777216|s-30):s>=40&&s<=47?(i.bg&=-50331904,i.bg|=16777216|s-40):s>=90&&s<=97?(i.fg&=-50331904,i.fg|=16777216|s-90|8):s>=100&&s<=107?(i.bg&=-50331904,i.bg|=16777216|s-100|8):s===0?this._processSGR0(i):s===1?i.fg|=134217728:s===3?i.bg|=67108864:s===4?(i.fg|=268435456,this._processUnderline(e.hasSubParams(n)?e.getSubParams(n)[0]:1,i)):s===5?i.fg|=536870912:s===7?i.fg|=67108864:s===8?i.fg|=1073741824:s===9?i.fg|=2147483648:s===2?i.bg|=134217728:s===21?this._processUnderline(2,i):s===22?(i.fg&=-134217729,i.bg&=-134217729):s===23?i.bg&=-67108865:s===24?(i.fg&=-268435457,this._processUnderline(0,i)):s===25?i.fg&=-536870913:s===27?i.fg&=-67108865:s===28?i.fg&=-1073741825:s===29?i.fg&=2147483647:s===39?(i.fg&=-67108864,i.fg|=vt.fg&16777215):s===49?(i.bg&=-67108864,i.bg|=vt.bg&16777215):s===38||s===48||s===58?n+=this._extractColor(e,n,i):s===53?i.bg|=1073741824:s===55?i.bg&=-1073741825:s===59?(i.extended=i.extended.clone(),i.extended.underlineColor=-1,i.updateExtended()):s===100?(i.fg&=-67108864,i.fg|=vt.fg&16777215,i.bg&=-67108864,i.bg|=vt.bg&16777215):this._logService.debug("Unknown SGR attribute: %d.",s);return!0}deviceStatus(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(`${K.ESC}[0n`);break;case 6:let t=this._activeBuffer.y+1,s=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${K.ESC}[${t};${s}R`);break}return!0}deviceStatusPrivate(e){switch(e.params[0]){case 6:let t=this._activeBuffer.y+1,s=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${K.ESC}[?${t};${s}R`);break}return!0}softReset(e){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=vt.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(e){let t=e.length===0?1:e.params[0];if(t===0)this._coreService.decPrivateModes.cursorStyle=void 0,this._coreService.decPrivateModes.cursorBlink=void 0;else{switch(t){case 1:case 2:this._coreService.decPrivateModes.cursorStyle="block";break;case 3:case 4:this._coreService.decPrivateModes.cursorStyle="underline";break;case 5:case 6:this._coreService.decPrivateModes.cursorStyle="bar";break}let s=t%2===1;this._coreService.decPrivateModes.cursorBlink=s}return!0}setScrollRegion(e){let t=e.params[0]||1,s;return(e.length<2||(s=e.params[1])>this._bufferService.rows||s===0)&&(s=this._bufferService.rows),s>t&&(this._activeBuffer.scrollTop=t-1,this._activeBuffer.scrollBottom=s-1,this._setCursor(0,0)),!0}windowOptions(e){if(!Ah(e.params[0],this._optionsService.rawOptions.windowOptions))return!0;let t=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:t!==2&&this._onRequestWindowsOptionsReport.fire(0);break;case 16:this._onRequestWindowsOptionsReport.fire(1);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${K.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(t===0||t===2)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>Lh&&this._windowTitleStack.shift()),(t===0||t===1)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>Lh&&this._iconNameStack.shift());break;case 23:(t===0||t===2)&&this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),(t===0||t===1)&&this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop());break}return!0}saveCursor(e){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(e){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(e){return this._windowTitle=e,this._onTitleChange.fire(e),!0}setIconName(e){return this._iconName=e,!0}setOrReportIndexedColor(e){let t=[],s=e.split(";");for(;s.length>1;){let i=s.shift(),n=s.shift();if(/^\d+$/.exec(i)){let r=parseInt(i);if(Fh(r))if(n==="?")t.push({type:0,index:r});else{let o=Dh(n);o&&t.push({type:1,index:r,color:o})}}}return t.length&&this._onColor.fire(t),!0}setHyperlink(e){let t=e.indexOf(";");if(t===-1)return!0;let s=e.slice(0,t).trim(),i=e.slice(t+1);return i?this._createHyperlink(s,i):s.trim()?!1:this._finishHyperlink()}_createHyperlink(e,t){this._getCurrentLinkId()&&this._finishHyperlink();let s=e.split(":"),i,n=s.findIndex(r=>r.startsWith("id="));return n!==-1&&(i=s[n].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:i,uri:t}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(e,t){let s=e.split(";");for(let i=0;i<s.length&&!(t>=this._specialColors.length);++i,++t)if(s[i]==="?")this._onColor.fire([{type:0,index:this._specialColors[t]}]);else{let n=Dh(s[i]);n&&this._onColor.fire([{type:1,index:this._specialColors[t],color:n}])}return!0}setOrReportFgColor(e){return this._setOrReportSpecialColor(e,0)}setOrReportBgColor(e){return this._setOrReportSpecialColor(e,1)}setOrReportCursorColor(e){return this._setOrReportSpecialColor(e,2)}restoreIndexedColor(e){if(!e)return this._onColor.fire([{type:2}]),!0;let t=[],s=e.split(";");for(let i=0;i<s.length;++i)if(/^\d+$/.exec(s[i])){let n=parseInt(s[i]);Fh(n)&&t.push({type:2,index:n})}return t.length&&this._onColor.fire(t),!0}restoreFgColor(e){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(e){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(e){return this._onColor.fire([{type:2,index:258}]),!0}nextLine(){return this._activeBuffer.x=0,this.index(),!0}keypadApplicationMode(){return this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0}keypadNumericMode(){return this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0}selectDefaultCharset(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,Xs),!0}selectCharset(e){return e.length!==2?(this.selectDefaultCharset(),!0):(e[0]==="/"||this._charsetService.setgCharset(_0[e[0]],kt[e[1]]||Xs),!0)}index(){return this._restrictCursor(),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){let e=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,e,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=vt.clone(),this._eraseAttrDataInternal=vt.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=this._curAttrData.bg&67108863,this._eraseAttrDataInternal}setgLevel(e){return this._charsetService.setgLevel(e),!0}screenAlignmentPattern(){let e=new Zt;e.content=1<<22|69,e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg,this._setCursor(0,0);for(let t=0;t<this._bufferService.rows;++t){let s=this._activeBuffer.ybase+this._activeBuffer.y+t,i=this._activeBuffer.lines.get(s);i&&(i.fill(e),i.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(e,t){let s=o=>(this._coreService.triggerDataEvent(`${K.ESC}${o}${K.ESC}\\`),!0),i=this._bufferService.buffer,n=this._optionsService.rawOptions;return s(e==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:e==='"p'?'P1$r61;1"p':e==="r"?`P1$r${i.scrollTop+1};${i.scrollBottom+1}r`:e==="m"?"P1$r0m":e===" q"?`P1$r${{block:2,underline:4,bar:6}[n.cursorStyle]-(n.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(e,t){this._dirtyRowTracker.markRangeDirty(e,t)}},Sa=class{constructor(e){this._bufferService=e,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(e){e<this.start?this.start=e:e>this.end&&(this.end=e)}markRangeDirty(e,t){e>t&&(Oh=e,e=t,t=Oh),e<this.start&&(this.start=e),t>this.end&&(this.end=t)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};Sa=pt([re(0,Ot)],Sa);function Fh(e){return 0<=e&&e<256}var v0=5e7,Wh=12,b0=50,y0=class extends Fe{constructor(e){super(),this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this._register(new J),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(e,t){if(t!==void 0&&this._syncCalls>t){this._syncCalls=0;return}if(this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;this._isSyncWriting=!0;let s;for(;s=this._writeBuffer.shift();){this._action(s);let i=this._callbacks.shift();i&&i()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(e,t){if(this._pendingData>v0)throw new Error("write data discarded, use flow control to avoid losing data");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput){this._didUserInput=!1,this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t),this._innerWrite();return}setTimeout(()=>this._innerWrite())}this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t)}_innerWrite(e=0,t=!0){let s=e||performance.now();for(;this._writeBuffer.length>this._bufferOffset;){let i=this._writeBuffer[this._bufferOffset],n=this._action(i,t);if(n){let o=l=>performance.now()-s>=Wh?setTimeout(()=>this._innerWrite(0,l)):this._innerWrite(s,l);n.catch(l=>(queueMicrotask(()=>{throw l}),Promise.resolve(!1))).then(o);return}let r=this._callbacks[this._bufferOffset];if(r&&r(),this._bufferOffset++,this._pendingData-=i.length,performance.now()-s>=Wh)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>b0&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout(()=>this._innerWrite())):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}},ka=class{constructor(e){this._bufferService=e,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(e){let t=this._bufferService.buffer;if(e.id===void 0){let l=t.addMarker(t.ybase+t.y),c={data:e,id:this._nextId++,lines:[l]};return l.onDispose(()=>this._removeMarkerFromLink(c,l)),this._dataByLinkId.set(c.id,c),c.id}let s=e,i=this._getEntryIdKey(s),n=this._entriesWithId.get(i);if(n)return this.addLineToLink(n.id,t.ybase+t.y),n.id;let r=t.addMarker(t.ybase+t.y),o={id:this._nextId++,key:this._getEntryIdKey(s),data:s,lines:[r]};return r.onDispose(()=>this._removeMarkerFromLink(o,r)),this._entriesWithId.set(o.key,o),this._dataByLinkId.set(o.id,o),o.id}addLineToLink(e,t){let s=this._dataByLinkId.get(e);if(s&&s.lines.every(i=>i.line!==t)){let i=this._bufferService.buffer.addMarker(t);s.lines.push(i),i.onDispose(()=>this._removeMarkerFromLink(s,i))}}getLinkData(e){var t;return(t=this._dataByLinkId.get(e))==null?void 0:t.data}_getEntryIdKey(e){return`${e.id};;${e.uri}`}_removeMarkerFromLink(e,t){let s=e.lines.indexOf(t);s!==-1&&(e.lines.splice(s,1),e.lines.length===0&&(e.data.id!==void 0&&this._entriesWithId.delete(e.key),this._dataByLinkId.delete(e.id)))}};ka=pt([re(0,Ot)],ka);var $h=!1,w0=class extends Fe{constructor(e){super(),this._windowsWrappingHeuristics=this._register(new Pi),this._onBinary=this._register(new J),this.onBinary=this._onBinary.event,this._onData=this._register(new J),this.onData=this._onData.event,this._onLineFeed=this._register(new J),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new J),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new J),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new J),this._instantiationService=new UC,this.optionsService=this._register(new t0(e)),this._instantiationService.setService(Ft,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(va)),this._instantiationService.setService(Ot,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(ga)),this._instantiationService.setService(fm,this._logService),this.coreService=this._register(this._instantiationService.createInstance(ba)),this._instantiationService.setService(ri,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(ya)),this._instantiationService.setService(mm,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(Js)),this._instantiationService.setService($k,this.unicodeService),this._charsetService=this._instantiationService.createInstance(o0),this._instantiationService.setService(Wk,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(ka),this._instantiationService.setService(pm,this._oscLinkService),this._inputHandler=this._register(new g0(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register(jt.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register(jt.forward(this._bufferService.onResize,this._onResize)),this._register(jt.forward(this.coreService.onData,this._onData)),this._register(jt.forward(this.coreService.onBinary,this._onBinary)),this._register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom(!0))),this._register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this._register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],()=>this._handleWindowsPtyOptionChange())),this._register(this._bufferService.onScroll(()=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this._register(new y0((t,s)=>this._inputHandler.parse(t,s))),this._register(jt.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new J),this._onScroll.event(e=>{var t;(t=this._onScrollApi)==null||t.fire(e.position)})),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(e){for(let t in e)this.optionsService.options[t]=e[t]}write(e,t){this._writeBuffer.write(e,t)}writeSync(e,t){this._logService.logLevel<=3&&!$h&&(this._logService.warn("writeSync is unreliable and will be removed soon."),$h=!0),this._writeBuffer.writeSync(e,t)}input(e,t=!0){this.coreService.triggerDataEvent(e,t)}resize(e,t){isNaN(e)||isNaN(t)||(e=Math.max(e,Vm),t=Math.max(t,Gm),this._bufferService.resize(e,t))}scroll(e,t=!1){this._bufferService.scroll(e,t)}scrollLines(e,t){this._bufferService.scrollLines(e,t)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let t=e-this._bufferService.buffer.ydisp;t!==0&&this.scrollLines(t)}registerEscHandler(e,t){return this._inputHandler.registerEscHandler(e,t)}registerDcsHandler(e,t){return this._inputHandler.registerDcsHandler(e,t)}registerCsiHandler(e,t){return this._inputHandler.registerCsiHandler(e,t)}registerOscHandler(e,t){return this._inputHandler.registerOscHandler(e,t)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let e=!1,t=this.optionsService.rawOptions.windowsPty;t&&t.buildNumber!==void 0&&t.buildNumber!==void 0?e=t.backend==="conpty"&&t.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(e=!0),e?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let e=[];e.push(this.onLineFeed(jh.bind(null,this._bufferService))),e.push(this.registerCsiHandler({final:"H"},()=>(jh(this._bufferService),!1))),this._windowsWrappingHeuristics.value=ct(()=>{for(let t of e)t.dispose()})}}},S0={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};function k0(e,t,s,i){var o;let n={type:0,cancel:!1,key:void 0},r=(e.shiftKey?1:0)|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:e.key==="UIKeyInputUpArrow"?t?n.key=K.ESC+"OA":n.key=K.ESC+"[A":e.key==="UIKeyInputLeftArrow"?t?n.key=K.ESC+"OD":n.key=K.ESC+"[D":e.key==="UIKeyInputRightArrow"?t?n.key=K.ESC+"OC":n.key=K.ESC+"[C":e.key==="UIKeyInputDownArrow"&&(t?n.key=K.ESC+"OB":n.key=K.ESC+"[B");break;case 8:n.key=e.ctrlKey?"\b":K.DEL,e.altKey&&(n.key=K.ESC+n.key);break;case 9:if(e.shiftKey){n.key=K.ESC+"[Z";break}n.key=K.HT,n.cancel=!0;break;case 13:n.key=e.altKey?K.ESC+K.CR:K.CR,n.cancel=!0;break;case 27:n.key=K.ESC,e.altKey&&(n.key=K.ESC+K.ESC),n.cancel=!0;break;case 37:if(e.metaKey)break;r?n.key=K.ESC+"[1;"+(r+1)+"D":t?n.key=K.ESC+"OD":n.key=K.ESC+"[D";break;case 39:if(e.metaKey)break;r?n.key=K.ESC+"[1;"+(r+1)+"C":t?n.key=K.ESC+"OC":n.key=K.ESC+"[C";break;case 38:if(e.metaKey)break;r?n.key=K.ESC+"[1;"+(r+1)+"A":t?n.key=K.ESC+"OA":n.key=K.ESC+"[A";break;case 40:if(e.metaKey)break;r?n.key=K.ESC+"[1;"+(r+1)+"B":t?n.key=K.ESC+"OB":n.key=K.ESC+"[B";break;case 45:!e.shiftKey&&!e.ctrlKey&&(n.key=K.ESC+"[2~");break;case 46:r?n.key=K.ESC+"[3;"+(r+1)+"~":n.key=K.ESC+"[3~";break;case 36:r?n.key=K.ESC+"[1;"+(r+1)+"H":t?n.key=K.ESC+"OH":n.key=K.ESC+"[H";break;case 35:r?n.key=K.ESC+"[1;"+(r+1)+"F":t?n.key=K.ESC+"OF":n.key=K.ESC+"[F";break;case 33:e.shiftKey?n.type=2:e.ctrlKey?n.key=K.ESC+"[5;"+(r+1)+"~":n.key=K.ESC+"[5~";break;case 34:e.shiftKey?n.type=3:e.ctrlKey?n.key=K.ESC+"[6;"+(r+1)+"~":n.key=K.ESC+"[6~";break;case 112:r?n.key=K.ESC+"[1;"+(r+1)+"P":n.key=K.ESC+"OP";break;case 113:r?n.key=K.ESC+"[1;"+(r+1)+"Q":n.key=K.ESC+"OQ";break;case 114:r?n.key=K.ESC+"[1;"+(r+1)+"R":n.key=K.ESC+"OR";break;case 115:r?n.key=K.ESC+"[1;"+(r+1)+"S":n.key=K.ESC+"OS";break;case 116:r?n.key=K.ESC+"[15;"+(r+1)+"~":n.key=K.ESC+"[15~";break;case 117:r?n.key=K.ESC+"[17;"+(r+1)+"~":n.key=K.ESC+"[17~";break;case 118:r?n.key=K.ESC+"[18;"+(r+1)+"~":n.key=K.ESC+"[18~";break;case 119:r?n.key=K.ESC+"[19;"+(r+1)+"~":n.key=K.ESC+"[19~";break;case 120:r?n.key=K.ESC+"[20;"+(r+1)+"~":n.key=K.ESC+"[20~";break;case 121:r?n.key=K.ESC+"[21;"+(r+1)+"~":n.key=K.ESC+"[21~";break;case 122:r?n.key=K.ESC+"[23;"+(r+1)+"~":n.key=K.ESC+"[23~";break;case 123:r?n.key=K.ESC+"[24;"+(r+1)+"~":n.key=K.ESC+"[24~";break;default:if(e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.metaKey)e.keyCode>=65&&e.keyCode<=90?n.key=String.fromCharCode(e.keyCode-64):e.keyCode===32?n.key=K.NUL:e.keyCode>=51&&e.keyCode<=55?n.key=String.fromCharCode(e.keyCode-51+27):e.keyCode===56?n.key=K.DEL:e.keyCode===219?n.key=K.ESC:e.keyCode===220?n.key=K.FS:e.keyCode===221&&(n.key=K.GS);else if((!s||i)&&e.altKey&&!e.metaKey){let l=(o=S0[e.keyCode])==null?void 0:o[e.shiftKey?1:0];if(l)n.key=K.ESC+l;else if(e.keyCode>=65&&e.keyCode<=90){let c=e.ctrlKey?e.keyCode-64:e.keyCode+32,h=String.fromCharCode(c);e.shiftKey&&(h=h.toUpperCase()),n.key=K.ESC+h}else if(e.keyCode===32)n.key=K.ESC+(e.ctrlKey?K.NUL:" ");else if(e.key==="Dead"&&e.code.startsWith("Key")){let c=e.code.slice(3,4);e.shiftKey||(c=c.toLowerCase()),n.key=K.ESC+c,n.cancel=!0}}else s&&!e.altKey&&!e.ctrlKey&&!e.shiftKey&&e.metaKey?e.keyCode===65&&(n.type=1):e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&e.key.length===1?n.key=e.key:e.key&&e.ctrlKey&&(e.key==="_"&&(n.key=K.US),e.key==="@"&&(n.key=K.NUL));break}return n}var _t=0,x0=class{constructor(e){this._getKey=e,this._array=[],this._insertedValues=[],this._flushInsertedTask=new wr,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new wr,this._isFlushingDeleted=!1}clear(){this._array.length=0,this._insertedValues.length=0,this._flushInsertedTask.clear(),this._isFlushingInserted=!1,this._deletedIndices.length=0,this._flushDeletedTask.clear(),this._isFlushingDeleted=!1}insert(e){this._flushCleanupDeleted(),this._insertedValues.length===0&&this._flushInsertedTask.enqueue(()=>this._flushInserted()),this._insertedValues.push(e)}_flushInserted(){let e=this._insertedValues.sort((n,r)=>this._getKey(n)-this._getKey(r)),t=0,s=0,i=new Array(this._array.length+this._insertedValues.length);for(let n=0;n<i.length;n++)s>=this._array.length||this._getKey(e[t])<=this._getKey(this._array[s])?(i[n]=e[t],t++):i[n]=this._array[s++];this._array=i,this._insertedValues.length=0}_flushCleanupInserted(){!this._isFlushingInserted&&this._insertedValues.length>0&&this._flushInsertedTask.flush()}delete(e){if(this._flushCleanupInserted(),this._array.length===0)return!1;let t=this._getKey(e);if(t===void 0||(_t=this._search(t),_t===-1)||this._getKey(this._array[_t])!==t)return!1;do if(this._array[_t]===e)return this._deletedIndices.length===0&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(_t),!0;while(++_t<this._array.length&&this._getKey(this._array[_t])===t);return!1}_flushDeleted(){this._isFlushingDeleted=!0;let e=this._deletedIndices.sort((n,r)=>n-r),t=0,s=new Array(this._array.length-e.length),i=0;for(let n=0;n<this._array.length;n++)e[t]===n?t++:s[i++]=this._array[n];this._array=s,this._deletedIndices.length=0,this._isFlushingDeleted=!1}_flushCleanupDeleted(){!this._isFlushingDeleted&&this._deletedIndices.length>0&&this._flushDeletedTask.flush()}*getKeyIterator(e){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(_t=this._search(e),!(_t<0||_t>=this._array.length)&&this._getKey(this._array[_t])===e))do yield this._array[_t];while(++_t<this._array.length&&this._getKey(this._array[_t])===e)}forEachByKey(e,t){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(_t=this._search(e),!(_t<0||_t>=this._array.length)&&this._getKey(this._array[_t])===e))do t(this._array[_t]);while(++_t<this._array.length&&this._getKey(this._array[_t])===e)}values(){return this._flushCleanupInserted(),this._flushCleanupDeleted(),[...this._array].values()}_search(e){let t=0,s=this._array.length-1;for(;s>=t;){let i=t+s>>1,n=this._getKey(this._array[i]);if(n>e)s=i-1;else if(n<e)t=i+1;else{for(;i>0&&this._getKey(this._array[i-1])===e;)i--;return i}}return t}},_o=0,Hh=0,C0=class extends Fe{constructor(){super(),this._decorations=new x0(e=>e==null?void 0:e.marker.line),this._onDecorationRegistered=this._register(new J),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new J),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register(ct(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(e){if(e.marker.isDisposed)return;let t=new N0(e);if(t){let s=t.marker.onDispose(()=>t.dispose()),i=t.onDispose(()=>{i.dispose(),t&&(this._decorations.delete(t)&&this._onDecorationRemoved.fire(t),s.dispose())});this._decorations.insert(t),this._onDecorationRegistered.fire(t)}return t}reset(){for(let e of this._decorations.values())e.dispose();this._decorations.clear()}*getDecorationsAtCell(e,t,s){let i=0,n=0;for(let r of this._decorations.getKeyIterator(t))i=r.options.x??0,n=i+(r.options.width??1),e>=i&&e<n&&(!s||(r.options.layer??"bottom")===s)&&(yield r)}forEachDecorationAtCell(e,t,s,i){this._decorations.forEachByKey(t,n=>{_o=n.options.x??0,Hh=_o+(n.options.width??1),e>=_o&&e<Hh&&(!s||(n.options.layer??"bottom")===s)&&i(n)})}},N0=class extends Ws{constructor(e){super(),this.options=e,this.onRenderEmitter=this.add(new J),this.onRender=this.onRenderEmitter.event,this._onDispose=this.add(new J),this.onDispose=this._onDispose.event,this._cachedBg=null,this._cachedFg=null,this.marker=e.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position="full")}get backgroundColorRGB(){return this._cachedBg===null&&(this.options.backgroundColor?this._cachedBg=ut.toColor(this.options.backgroundColor):this._cachedBg=void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this.options.foregroundColor?this._cachedFg=ut.toColor(this.options.foregroundColor):this._cachedFg=void 0),this._cachedFg}dispose(){this._onDispose.fire(),super.dispose()}},T0=1e3,E0=class{constructor(e,t=T0){this._renderCallback=e,this._debounceThresholdMS=t,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(e,t,s){this._rowCount=s,e=e!==void 0?e:0,t=t!==void 0?t:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,e):e,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,t):t;let i=performance.now();if(i-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=i,this._innerRefresh();else if(!this._additionalRefreshRequested){let n=i-this._lastRefreshMs,r=this._debounceThresholdMS-n;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=performance.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},r)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;let e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t)}},Kh=20,Sr=class extends Fe{constructor(e,t,s,i){super(),this._terminal=e,this._coreBrowserService=s,this._renderService=i,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="";let n=this._coreBrowserService.mainDocument;this._accessibilityContainer=n.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=n.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let r=0;r<this._terminal.rows;r++)this._rowElements[r]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[r]);if(this._topBoundaryFocusListener=r=>this._handleBoundaryFocus(r,0),this._bottomBoundaryFocusListener=r=>this._handleBoundaryFocus(r,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=n.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new E0(this._renderRows.bind(this))),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this._register(this._terminal.onResize(r=>this._handleResize(r.rows))),this._register(this._terminal.onRender(r=>this._refreshRows(r.start,r.end))),this._register(this._terminal.onScroll(()=>this._refreshRows())),this._register(this._terminal.onA11yChar(r=>this._handleChar(r))),this._register(this._terminal.onLineFeed(()=>this._handleChar(`
|
|
88
|
-
`))),this._register(this._terminal.onA11yTab(r=>this._handleTab(r))),this._register(this._terminal.onKey(r=>this._handleKey(r.key))),this._register(this._terminal.onBlur(()=>this._clearLiveRegion())),this._register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._register(Te(n,"selectionchange",()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(ct(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(e){for(let t=0;t<e;t++)this._handleChar(" ")}_handleChar(e){this._liveRegionLineCount<Kh+1&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,e===`
|
|
89
|
-
`&&(this._liveRegionLineCount++,this._liveRegionLineCount===Kh+1&&(this._liveRegion.textContent+=Ko.get())))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(e){this._clearLiveRegion(),new RegExp("\\p{Control}","u").test(e)||this._charsToConsume.push(e)}_refreshRows(e,t){this._liveRegionDebouncer.refresh(e,t,this._terminal.rows)}_renderRows(e,t){let s=this._terminal.buffer,i=s.lines.length.toString();for(let n=e;n<=t;n++){let r=s.lines.get(s.ydisp+n),o=[],l=(r==null?void 0:r.translateToString(!0,void 0,void 0,o))||"",c=(s.ydisp+n+1).toString(),h=this._rowElements[n];h&&(l.length===0?(h.textContent=" ",this._rowColumns.set(h,[0,1])):(h.textContent=l,this._rowColumns.set(h,o)),h.setAttribute("aria-posinset",c),h.setAttribute("aria-setsize",i),this._alignRowWidth(h))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(e,t){let s=e.target,i=this._rowElements[t===0?1:this._rowElements.length-2],n=s.getAttribute("aria-posinset"),r=t===0?"1":`${this._terminal.buffer.lines.length}`;if(n===r||e.relatedTarget!==i)return;let o,l;if(t===0?(o=s,l=this._rowElements.pop(),this._rowContainer.removeChild(l)):(o=this._rowElements.shift(),l=s,this._rowContainer.removeChild(o)),o.removeEventListener("focus",this._topBoundaryFocusListener),l.removeEventListener("focus",this._bottomBoundaryFocusListener),t===0){let c=this._createAccessibilityTreeNode();this._rowElements.unshift(c),this._rowContainer.insertAdjacentElement("afterbegin",c)}else{let c=this._createAccessibilityTreeNode();this._rowElements.push(c),this._rowContainer.appendChild(c)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(t===0?-1:1),this._rowElements[t===0?1:this._rowElements.length-2].focus(),e.preventDefault(),e.stopImmediatePropagation()}_handleSelectionChange(){var l;if(this._rowElements.length===0)return;let e=this._coreBrowserService.mainDocument.getSelection();if(!e)return;if(e.isCollapsed){this._rowContainer.contains(e.anchorNode)&&this._terminal.clearSelection();return}if(!e.anchorNode||!e.focusNode){console.error("anchorNode and/or focusNode are null");return}let t={node:e.anchorNode,offset:e.anchorOffset},s={node:e.focusNode,offset:e.focusOffset};if((t.node.compareDocumentPosition(s.node)&Node.DOCUMENT_POSITION_PRECEDING||t.node===s.node&&t.offset>s.offset)&&([t,s]=[s,t]),t.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(t={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(t.node))return;let i=this._rowElements.slice(-1)[0];if(s.node.compareDocumentPosition(i)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(s={node:i,offset:((l=i.textContent)==null?void 0:l.length)??0}),!this._rowContainer.contains(s.node))return;let n=({node:c,offset:h})=>{let u=c instanceof Text?c.parentNode:c,d=parseInt(u==null?void 0:u.getAttribute("aria-posinset"),10)-1;if(isNaN(d))return console.warn("row is invalid. Race condition?"),null;let p=this._rowColumns.get(u);if(!p)return console.warn("columns is null. Race condition?"),null;let f=h<p.length?p[h]:p.slice(-1)[0]+1;return f>=this._terminal.cols&&(++d,f=0),{row:d,column:f}},r=n(t),o=n(s);if(!(!r||!o)){if(r.row>o.row||r.row===o.row&&r.column>=o.column)throw new Error("invalid range");this._terminal.select(r.column,r.row,(o.row-r.row)*this._terminal.cols-r.column+o.column)}}_handleResize(e){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let t=this._rowContainer.children.length;t<this._terminal.rows;t++)this._rowElements[t]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[t]);for(;this._rowElements.length>e;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let e=this._coreBrowserService.mainDocument.createElement("div");return e.setAttribute("role","listitem"),e.tabIndex=-1,this._refreshRowDimensions(e),e}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let e=0;e<this._terminal.rows;e++)this._refreshRowDimensions(this._rowElements[e]),this._alignRowWidth(this._rowElements[e])}}_refreshRowDimensions(e){e.style.height=`${this._renderService.dimensions.css.cell.height}px`}_alignRowWidth(e){var n,r;e.style.transform="";let t=e.getBoundingClientRect().width,s=(r=(n=this._rowColumns.get(e))==null?void 0:n.slice(-1))==null?void 0:r[0];if(!s)return;let i=s*this._renderService.dimensions.css.cell.width;e.style.transform=`scaleX(${i/t})`}};Sr=pt([re(1,nl),re(2,Es),re(3,Ms)],Sr);var xa=class extends Fe{constructor(e,t,s,i,n){super(),this._element=e,this._mouseService=t,this._renderService=s,this._bufferService=i,this._linkProviderService=n,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this._register(new J),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this._register(new J),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this._register(ct(()=>{var r;ti(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,(r=this._activeProviderReplies)==null||r.clear()})),this._register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this._register(Te(this._element,"mouseleave",()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(Te(this._element,"mousemove",this._handleMouseMove.bind(this))),this._register(Te(this._element,"mousedown",this._handleMouseDown.bind(this))),this._register(Te(this._element,"mouseup",this._handleMouseUp.bind(this)))}get currentLink(){return this._currentLink}_handleMouseMove(e){this._lastMouseEvent=e;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(!t)return;this._isMouseOut=!1;let s=e.composedPath();for(let i=0;i<s.length;i++){let n=s[i];if(n.classList.contains("xterm"))break;if(n.classList.contains("xterm-hover"))return}(!this._lastBufferCell||t.x!==this._lastBufferCell.x||t.y!==this._lastBufferCell.y)&&(this._handleHover(t),this._lastBufferCell=t)}_handleHover(e){if(this._activeLine!==e.y||this._wasResized){this._clearCurrentLink(),this._askForLink(e,!1),this._wasResized=!1;return}this._currentLink&&this._linkAtPosition(this._currentLink.link,e)||(this._clearCurrentLink(),this._askForLink(e,!0))}_askForLink(e,t){var i,n;(!this._activeProviderReplies||!t)&&((i=this._activeProviderReplies)==null||i.forEach(r=>{r==null||r.forEach(o=>{o.link.dispose&&o.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=e.y);let s=!1;for(let[r,o]of this._linkProviderService.linkProviders.entries())t?(n=this._activeProviderReplies)!=null&&n.get(r)&&(s=this._checkLinkProviderResult(r,e,s)):o.provideLinks(e.y,l=>{var h,u;if(this._isMouseOut)return;let c=l==null?void 0:l.map(d=>({link:d}));(h=this._activeProviderReplies)==null||h.set(r,c),s=this._checkLinkProviderResult(r,e,s),((u=this._activeProviderReplies)==null?void 0:u.size)===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(e.y,this._activeProviderReplies)})}_removeIntersectingLinks(e,t){let s=new Set;for(let i=0;i<t.size;i++){let n=t.get(i);if(n)for(let r=0;r<n.length;r++){let o=n[r],l=o.link.range.start.y<e?0:o.link.range.start.x,c=o.link.range.end.y>e?this._bufferService.cols:o.link.range.end.x;for(let h=l;h<=c;h++){if(s.has(h)){n.splice(r--,1);break}s.add(h)}}}}_checkLinkProviderResult(e,t,s){var r;if(!this._activeProviderReplies)return s;let i=this._activeProviderReplies.get(e),n=!1;for(let o=0;o<e;o++)(!this._activeProviderReplies.has(o)||this._activeProviderReplies.get(o))&&(n=!0);if(!n&&i){let o=i.find(l=>this._linkAtPosition(l.link,t));o&&(s=!0,this._handleNewLink(o))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!s)for(let o=0;o<this._activeProviderReplies.size;o++){let l=(r=this._activeProviderReplies.get(o))==null?void 0:r.find(c=>this._linkAtPosition(c.link,t));if(l){s=!0,this._handleNewLink(l);break}}return s}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(e){if(!this._currentLink)return;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);t&&this._mouseDownLink&&M0(this._mouseDownLink.link,this._currentLink.link)&&this._linkAtPosition(this._currentLink.link,t)&&this._currentLink.link.activate(e,this._currentLink.link.text)}_clearCurrentLink(e,t){!this._currentLink||!this._lastMouseEvent||(!e||!t||this._currentLink.link.range.start.y>=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,ti(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(e){if(!this._lastMouseEvent)return;let t=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);t&&this._linkAtPosition(e.link,t)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:e.link.decorations===void 0?!0:e.link.decorations.underline,pointerCursor:e.link.decorations===void 0?!0:e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:()=>{var s,i;return(i=(s=this._currentLink)==null?void 0:s.state)==null?void 0:i.decorations.pointerCursor},set:s=>{var i;(i=this._currentLink)!=null&&i.state&&this._currentLink.state.decorations.pointerCursor!==s&&(this._currentLink.state.decorations.pointerCursor=s,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",s))}},underline:{get:()=>{var s,i;return(i=(s=this._currentLink)==null?void 0:s.state)==null?void 0:i.decorations.underline},set:s=>{var i,n,r;(i=this._currentLink)!=null&&i.state&&((r=(n=this._currentLink)==null?void 0:n.state)==null?void 0:r.decorations.underline)!==s&&(this._currentLink.state.decorations.underline=s,this._currentLink.state.isHovered&&this._fireUnderlineEvent(e.link,s))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(s=>{if(!this._currentLink)return;let i=s.start===0?0:s.start+1+this._bufferService.buffer.ydisp,n=this._bufferService.buffer.ydisp+1+s.end;if(this._currentLink.link.range.start.y>=i&&this._currentLink.link.range.end.y<=n&&(this._clearCurrentLink(i,n),this._lastMouseEvent)){let r=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);r&&this._askForLink(r,!1)}})))}_linkHover(e,t,s){var i;(i=this._currentLink)!=null&&i.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add("xterm-cursor-pointer")),t.hover&&t.hover(s,t.text)}_fireUnderlineEvent(e,t){let s=e.range,i=this._bufferService.buffer.ydisp,n=this._createLinkUnderlineEvent(s.start.x-1,s.start.y-i-1,s.end.x,s.end.y-i-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(n)}_linkLeave(e,t,s){var i;(i=this._currentLink)!=null&&i.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove("xterm-cursor-pointer")),t.leave&&t.leave(s,t.text)}_linkAtPosition(e,t){let s=e.range.start.y*this._bufferService.cols+e.range.start.x,i=e.range.end.y*this._bufferService.cols+e.range.end.x,n=t.y*this._bufferService.cols+t.x;return s<=n&&n<=i}_positionFromMouseEvent(e,t,s){let i=s.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(i)return{x:i[0],y:i[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(e,t,s,i,n){return{x1:e,y1:t,x2:s,y2:i,cols:this._bufferService.cols,fg:n}}};xa=pt([re(1,rl),re(2,Ms),re(3,Ot),re(4,gm)],xa);function M0(e,t){return e.text===t.text&&e.range.start.x===t.range.start.x&&e.range.start.y===t.range.start.y&&e.range.end.x===t.range.end.x&&e.range.end.y===t.range.end.y}var P0=class extends w0{constructor(e={}){super(e),this._linkifier=this._register(new Pi),this.browser=Am,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new Pi),this._onCursorMove=this._register(new J),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new J),this.onKey=this._onKey.event,this._onRender=this._register(new J),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new J),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new J),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new J),this.onBell=this._onBell.event,this._onFocus=this._register(new J),this._onBlur=this._register(new J),this._onA11yCharEmitter=this._register(new J),this._onA11yTabEmitter=this._register(new J),this._onWillOpen=this._register(new J),this._setup(),this._decorationService=this._instantiationService.createInstance(C0),this._instantiationService.setService(Pn,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(bC),this._instantiationService.setService(gm,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(Uo)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows(t=>this.refresh((t==null?void 0:t.start)??0,(t==null?void 0:t.end)??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport(t=>this._reportWindowsOptions(t))),this._register(this._inputHandler.onColor(t=>this._handleColorEvent(t))),this._register(jt.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(jt.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(jt.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(jt.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize(t=>this._afterResize(t.cols,t.rows))),this._register(ct(()=>{var t,s;this._customKeyEventHandler=void 0,(s=(t=this.element)==null?void 0:t.parentNode)==null||s.removeChild(this.element)}))}get linkifier(){return this._linkifier.value}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}_handleColorEvent(e){if(this._themeService)for(let t of e){let s,i="";switch(t.index){case 256:s="foreground",i="10";break;case 257:s="background",i="11";break;case 258:s="cursor",i="12";break;default:s="ansi",i="4;"+t.index}switch(t.type){case 0:let n=rt.toColorRGB(s==="ansi"?this._themeService.colors.ansi[t.index]:this._themeService.colors[s]);this.coreService.triggerDataEvent(`${K.ESC}]${i};${p0(n)}${Dm.ST}`);break;case 1:if(s==="ansi")this._themeService.modifyColors(r=>r.ansi[t.index]=bt.toColor(...t.color));else{let r=s;this._themeService.modifyColors(o=>o[r]=bt.toColor(...t.color))}break;case 2:this._themeService.restoreColor(t.index);break}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(e){e?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(Sr,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(K.ESC+"[I"),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()}blur(){var e;return(e=this.textarea)==null?void 0:e.blur()}_handleTextAreaBlur(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(K.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let e=this.buffer.ybase+this.buffer.y,t=this.buffer.lines.get(e);if(!t)return;let s=Math.min(this.buffer.x,this.cols-1),i=this._renderService.dimensions.css.cell.height,n=t.getWidth(s),r=this._renderService.dimensions.css.cell.width*n,o=this.buffer.y*this._renderService.dimensions.css.cell.height,l=s*this._renderService.dimensions.css.cell.width;this.textarea.style.left=l+"px",this.textarea.style.top=o+"px",this.textarea.style.width=r+"px",this.textarea.style.height=i+"px",this.textarea.style.lineHeight=i+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this._register(Te(this.element,"copy",t=>{this.hasSelection()&&Dk(t,this._selectionService)}));let e=t=>Lk(t,this.textarea,this.coreService,this.optionsService);this._register(Te(this.textarea,"paste",e)),this._register(Te(this.element,"paste",e)),Bm?this._register(Te(this.element,"mousedown",t=>{t.button===2&&Qc(t,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(Te(this.element,"contextmenu",t=>{Qc(t,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),ml&&this._register(Te(this.element,"auxclick",t=>{t.button===1&&lm(t,this.textarea,this.screenElement)}))}_bindKeys(){this._register(Te(this.textarea,"keyup",e=>this._keyUp(e),!0)),this._register(Te(this.textarea,"keydown",e=>this._keyDown(e),!0)),this._register(Te(this.textarea,"keypress",e=>this._keyPress(e),!0)),this._register(Te(this.textarea,"compositionstart",()=>this._compositionHelper.compositionstart())),this._register(Te(this.textarea,"compositionupdate",e=>this._compositionHelper.compositionupdate(e))),this._register(Te(this.textarea,"compositionend",()=>this._compositionHelper.compositionend())),this._register(Te(this.textarea,"input",e=>this._inputEvent(e),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(e){var n;if(!e)throw new Error("Terminal requires a parent element.");if(e.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),((n=this.element)==null?void 0:n.ownerDocument.defaultView)&&this._coreBrowserService){this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView);return}this._document=e.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),e.appendChild(this.element);let t=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),t.appendChild(this._viewportElement),this.screenElement=this._document.createElement("div"),this.screenElement.classList.add("xterm-screen"),this._register(Te(this.screenElement,"mousemove",r=>this.updateCursorStyle(r))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),t.appendChild(this.screenElement);let s=this.textarea=this._document.createElement("textarea");this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",Ho.get()),Wm||this.textarea.setAttribute("aria-multiline","false"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this._register(this.optionsService.onSpecificOptionChange("disableStdin",()=>s.readOnly=this.optionsService.rawOptions.disableStdin)),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(gC,this.textarea,e.ownerDocument.defaultView??window,this._document??typeof window<"u"?window.document:null)),this._instantiationService.setService(Es,this._coreBrowserService),this._register(Te(this.textarea,"focus",r=>this._handleTextAreaFocus(r))),this._register(Te(this.textarea,"blur",()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(ua,this._document,this._helperContainer),this._instantiationService.setService($r,this._charSizeService),this._themeService=this._instantiationService.createInstance(_a),this._instantiationService.setService(Ii,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(br),this._instantiationService.setService(_m,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(fa,this.rows,this.screenElement)),this._instantiationService.setService(Ms,this._renderService),this._register(this._renderService.onRenderedViewportChange(r=>this._onRender.fire(r))),this.onResize(r=>this._renderService.resize(r.cols,r.rows)),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(ca,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(ma),this._instantiationService.setService(rl,this._mouseService);let i=this._linkifier.value=this._register(this._instantiationService.createInstance(xa,this.screenElement));this.element.appendChild(t);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._register(this.onCursorMove(()=>{this._renderService.handleCursorMove(),this._syncTextArea()})),this._register(this.onResize(()=>this._renderService.handleResize(this.cols,this.rows))),this._register(this.onBlur(()=>this._renderService.handleBlur())),this._register(this.onFocus(()=>this._renderService.handleFocus())),this._viewport=this._register(this._instantiationService.createInstance(aa,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines(r=>{super.scrollLines(r,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(pa,this.element,this.screenElement,i)),this._instantiationService.setService(Kk,this._selectionService),this._register(this._selectionService.onRequestScrollLines(r=>this.scrollLines(r.amount,r.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw(r=>this._renderService.handleSelectionChanged(r.start,r.end,r.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection(r=>{this.textarea.value=r,this.textarea.focus(),this.textarea.select()})),this._register(jt.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{var r;this._selectionService.refresh(),(r=this._viewport)==null||r.queueSync()})),this._register(this._instantiationService.createInstance(la,this.screenElement)),this._register(Te(this.element,"mousedown",r=>this._selectionService.handleMouseDown(r))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(Sr,this)),this._register(this.optionsService.onSpecificOptionChange("screenReaderMode",r=>this._handleScreenReaderModeOptionChange(r))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(vr,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRuler",r=>{!this._overviewRulerRenderer&&r&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(vr,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(da,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let e=this,t=this.element;function s(r){var h,u,d,p,f;let o=e._mouseService.getMouseReportCoords(r,e.screenElement);if(!o)return!1;let l,c;switch(r.overrideType||r.type){case"mousemove":c=32,r.buttons===void 0?(l=3,r.button!==void 0&&(l=r.button<3?r.button:3)):l=r.buttons&1?0:r.buttons&4?1:r.buttons&2?2:3;break;case"mouseup":c=0,l=r.button<3?r.button:3;break;case"mousedown":c=1,l=r.button<3?r.button:3;break;case"wheel":if(e._customWheelEventHandler&&e._customWheelEventHandler(r)===!1)return!1;let _=r.deltaY;if(_===0||e.coreMouseService.consumeWheelEvent(r,(p=(d=(u=(h=e._renderService)==null?void 0:h.dimensions)==null?void 0:u.device)==null?void 0:d.cell)==null?void 0:p.height,(f=e._coreBrowserService)==null?void 0:f.dpr)===0)return!1;c=_<0?0:1,l=4;break;default:return!1}return c===void 0||l===void 0||l>4?!1:e.coreMouseService.triggerMouseEvent({col:o.col,row:o.row,x:o.x,y:o.y,button:l,action:c,ctrl:r.ctrlKey,alt:r.altKey,shift:r.shiftKey})}let i={mouseup:null,wheel:null,mousedrag:null,mousemove:null},n={mouseup:r=>(s(r),r.buttons||(this._document.removeEventListener("mouseup",i.mouseup),i.mousedrag&&this._document.removeEventListener("mousemove",i.mousedrag)),this.cancel(r)),wheel:r=>(s(r),this.cancel(r,!0)),mousedrag:r=>{r.buttons&&s(r)},mousemove:r=>{r.buttons||s(r)}};this._register(this.coreMouseService.onProtocolChange(r=>{r?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(r)),this.element.classList.add("enable-mouse-events"),this._selectionService.disable()):(this._logService.debug("Unbinding from mouse events."),this.element.classList.remove("enable-mouse-events"),this._selectionService.enable()),r&8?i.mousemove||(t.addEventListener("mousemove",n.mousemove),i.mousemove=n.mousemove):(t.removeEventListener("mousemove",i.mousemove),i.mousemove=null),r&16?i.wheel||(t.addEventListener("wheel",n.wheel,{passive:!1}),i.wheel=n.wheel):(t.removeEventListener("wheel",i.wheel),i.wheel=null),r&2?i.mouseup||(i.mouseup=n.mouseup):(this._document.removeEventListener("mouseup",i.mouseup),i.mouseup=null),r&4?i.mousedrag||(i.mousedrag=n.mousedrag):(this._document.removeEventListener("mousemove",i.mousedrag),i.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(Te(t,"mousedown",r=>{if(r.preventDefault(),this.focus(),!(!this.coreMouseService.areMouseEventsActive||this._selectionService.shouldForceSelection(r)))return s(r),i.mouseup&&this._document.addEventListener("mouseup",i.mouseup),i.mousedrag&&this._document.addEventListener("mousemove",i.mousedrag),this.cancel(r)})),this._register(Te(t,"wheel",r=>{var o,l,c,h,u;if(!i.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(r)===!1)return!1;if(!this.buffer.hasScrollback){if(r.deltaY===0)return!1;if(e.coreMouseService.consumeWheelEvent(r,(h=(c=(l=(o=e._renderService)==null?void 0:o.dimensions)==null?void 0:l.device)==null?void 0:c.cell)==null?void 0:h.height,(u=e._coreBrowserService)==null?void 0:u.dpr)===0)return this.cancel(r,!0);let d=K.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(r.deltaY<0?"A":"B");return this.coreService.triggerDataEvent(d,!0),this.cancel(r,!0)}}},{passive:!1}))}refresh(e,t){var s;(s=this._renderService)==null||s.refreshRows(e,t)}updateCursorStyle(e){var t;(t=this._selectionService)!=null&&t.shouldColumnSelect(e)?this.element.classList.add("column-select"):this.element.classList.remove("column-select")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(e,t){this._viewport?this._viewport.scrollLines(e):super.scrollLines(e,t),this.refresh(0,this.rows-1)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){e&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let t=e-this._bufferService.buffer.ydisp;t!==0&&this.scrollLines(t)}paste(e){am(e,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(e){this._customKeyEventHandler=e}attachCustomWheelEventHandler(e){this._customWheelEventHandler=e}registerLinkProvider(e){return this._linkProviderService.registerLinkProvider(e)}registerCharacterJoiner(e){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");let t=this._characterJoinerService.register(e);return this.refresh(0,this.rows-1),t}deregisterCharacterJoiner(e){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");this._characterJoinerService.deregister(e)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(e){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+e)}registerDecoration(e){return this._decorationService.registerDecoration(e)}hasSelection(){return this._selectionService?this._selectionService.hasSelection:!1}select(e,t,s){this._selectionService.setSelection(e,t,s)}getSelection(){return this._selectionService?this._selectionService.selectionText:""}getSelectionPosition(){if(!(!this._selectionService||!this._selectionService.hasSelection))return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){var e;(e=this._selectionService)==null||e.clearSelection()}selectAll(){var e;(e=this._selectionService)==null||e.selectAll()}selectLines(e,t){var s;(s=this._selectionService)==null||s.selectLines(e,t)}_keyDown(e){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;let t=this.browser.isMac&&this.options.macOptionIsMeta&&e.altKey;if(!t&&!this._compositionHelper.keydown(e))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;!t&&(e.key==="Dead"||e.key==="AltGraph")&&(this._unprocessedDeadKey=!0);let s=k0(e,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(e),s.type===3||s.type===2){let i=this.rows-1;return this.scrollLines(s.type===2?-i:i),this.cancel(e,!0)}if(s.type===1&&this.selectAll(),this._isThirdLevelShift(this.browser,e)||(s.cancel&&this.cancel(e,!0),!s.key)||e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.key.length===1&&e.key.charCodeAt(0)>=65&&e.key.charCodeAt(0)<=90)return!0;if(this._unprocessedDeadKey)return this._unprocessedDeadKey=!1,!0;if((s.key===K.ETX||s.key===K.CR)&&(this.textarea.value=""),this._onKey.fire({key:s.key,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(s.key,!0),!this.optionsService.rawOptions.screenReaderMode||e.altKey||e.ctrlKey)return this.cancel(e,!0);this._keyDownHandled=!0}_isThirdLevelShift(e,t){let s=e.isMac&&!this.options.macOptionIsMeta&&t.altKey&&!t.ctrlKey&&!t.metaKey||e.isWindows&&t.altKey&&t.ctrlKey&&!t.metaKey||e.isWindows&&t.getModifierState("AltGraph");return t.type==="keypress"?s:s&&(!t.keyCode||t.keyCode>47)}_keyUp(e){this._keyDownSeen=!1,!(this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)&&(R0(e)||this.focus(),this.updateCursorStyle(e),this._keyPressHandled=!1)}_keyPress(e){let t;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(e.which===null||e.which===void 0)t=e.keyCode;else if(e.which!==0&&e.charCode!==0)t=e.which;else return!1;return!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)?!1:(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(t,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,!0)}_inputEvent(e){if(e.data&&e.inputType==="insertText"&&(!e.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let t=e.data;return this.coreService.triggerDataEvent(t,!0),this.cancel(e),!0}return!1}resize(e,t){if(e===this.cols&&t===this.rows){this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure();return}super.resize(e,t)}_afterResize(e,t){var s;(s=this._charSizeService)==null||s.measure()}clear(){if(!(this.buffer.ybase===0&&this.buffer.y===0)){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let e=1;e<this.rows;e++)this.buffer.lines.push(this.buffer.getBlankLine(vt));this._onScroll.fire({position:this.buffer.ydisp}),this.refresh(0,this.rows-1)}}reset(){var t;this.options.rows=this.rows,this.options.cols=this.cols;let e=this._customKeyEventHandler;this._setup(),super.reset(),(t=this._selectionService)==null||t.reset(),this._decorationService.reset(),this._customKeyEventHandler=e,this.refresh(0,this.rows-1)}clearTextureAtlas(){var e;(e=this._renderService)==null||e.clearTextureAtlas()}_reportFocus(){var e;(e=this.element)!=null&&e.classList.contains("focus")?this.coreService.triggerDataEvent(K.ESC+"[I"):this.coreService.triggerDataEvent(K.ESC+"[O")}_reportWindowsOptions(e){if(this._renderService)switch(e){case 0:let t=this._renderService.dimensions.css.canvas.width.toFixed(0),s=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${K.ESC}[4;${s};${t}t`);break;case 1:let i=this._renderService.dimensions.css.cell.width.toFixed(0),n=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${K.ESC}[6;${n};${i}t`);break}}cancel(e,t){if(!(!this.options.cancelEvents&&!t))return e.preventDefault(),e.stopPropagation(),!1}};function R0(e){return e.keyCode===16||e.keyCode===17||e.keyCode===18}var j0=class{constructor(){this._addons=[]}dispose(){for(let e=this._addons.length-1;e>=0;e--)this._addons[e].instance.dispose()}loadAddon(e,t){let s={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(s),t.dispose=()=>this._wrappedAddonDispose(s),t.activate(e)}_wrappedAddonDispose(e){if(e.isDisposed)return;let t=-1;for(let s=0;s<this._addons.length;s++)if(this._addons[s]===e){t=s;break}if(t===-1)throw new Error("Could not dispose an addon that has not been loaded");e.isDisposed=!0,e.dispose.apply(e.instance),this._addons.splice(t,1)}},I0=class{constructor(e){this._line=e}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(e,t){if(!(e<0||e>=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new Zt)}translateToString(e,t,s){return this._line.translateToString(e,t,s)}},zh=class{constructor(e,t){this._buffer=e,this.type=t}init(e){return this._buffer=e,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(e){let t=this._buffer.lines.get(e);if(t)return new I0(t)}getNullCell(){return new Zt}},D0=class extends Fe{constructor(e){super(),this._core=e,this._onBufferChange=this._register(new J),this.onBufferChange=this._onBufferChange.event,this._normal=new zh(this._core.buffers.normal,"normal"),this._alternate=new zh(this._core.buffers.alt,"alternate"),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw new Error("Active buffer is neither normal nor alternate")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}},L0=class{constructor(e){this._core=e}registerCsiHandler(e,t){return this._core.registerCsiHandler(e,s=>t(s.toArray()))}addCsiHandler(e,t){return this.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._core.registerDcsHandler(e,(s,i)=>t(s,i.toArray()))}addDcsHandler(e,t){return this.registerDcsHandler(e,t)}registerEscHandler(e,t){return this._core.registerEscHandler(e,t)}addEscHandler(e,t){return this.registerEscHandler(e,t)}registerOscHandler(e,t){return this._core.registerOscHandler(e,t)}addOscHandler(e,t){return this.registerOscHandler(e,t)}},A0=class{constructor(e){this._core=e}register(e){this._core.unicodeService.register(e)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(e){this._core.unicodeService.activeVersion=e}},B0=["cols","rows"],cs=0,O0=class extends Fe{constructor(e){super(),this._core=this._register(new P0(e)),this._addonManager=this._register(new j0),this._publicOptions={...this._core.options};let t=i=>this._core.options[i],s=(i,n)=>{this._checkReadonlyOptions(i),this._core.options[i]=n};for(let i in this._core.options){let n={get:t.bind(this,i),set:s.bind(this,i)};Object.defineProperty(this._publicOptions,i,n)}}_checkReadonlyOptions(e){if(B0.includes(e))throw new Error(`Option "${e}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw new Error("You must set the allowProposedApi option to true to use proposed API")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||(this._parser=new L0(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new A0(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||(this._buffer=this._register(new D0(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let e=this._core.coreService.decPrivateModes,t="none";switch(this._core.coreMouseService.activeProtocol){case"X10":t="x10";break;case"VT200":t="vt200";break;case"DRAG":t="drag";break;case"ANY":t="any";break}return{applicationCursorKeysMode:e.applicationCursorKeys,applicationKeypadMode:e.applicationKeypad,bracketedPasteMode:e.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:t,originMode:e.origin,reverseWraparoundMode:e.reverseWraparound,sendFocusMode:e.sendFocus,synchronizedOutputMode:e.synchronizedOutput,wraparoundMode:e.wraparound}}get options(){return this._publicOptions}set options(e){for(let t in e)this._publicOptions[t]=e[t]}blur(){this._core.blur()}focus(){this._core.focus()}input(e,t=!0){this._core.input(e,t)}resize(e,t){this._verifyIntegers(e,t),this._core.resize(e,t)}open(e){this._core.open(e)}attachCustomKeyEventHandler(e){this._core.attachCustomKeyEventHandler(e)}attachCustomWheelEventHandler(e){this._core.attachCustomWheelEventHandler(e)}registerLinkProvider(e){return this._core.registerLinkProvider(e)}registerCharacterJoiner(e){return this._checkProposedApi(),this._core.registerCharacterJoiner(e)}deregisterCharacterJoiner(e){this._checkProposedApi(),this._core.deregisterCharacterJoiner(e)}registerMarker(e=0){return this._verifyIntegers(e),this._core.registerMarker(e)}registerDecoration(e){return this._checkProposedApi(),this._verifyPositiveIntegers(e.x??0,e.width??0,e.height??0),this._core.registerDecoration(e)}hasSelection(){return this._core.hasSelection()}select(e,t,s){this._verifyIntegers(e,t,s),this._core.select(e,t,s)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(e,t){this._verifyIntegers(e,t),this._core.selectLines(e,t)}dispose(){super.dispose()}scrollLines(e){this._verifyIntegers(e),this._core.scrollLines(e)}scrollPages(e){this._verifyIntegers(e),this._core.scrollPages(e)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(e){this._verifyIntegers(e),this._core.scrollToLine(e)}clear(){this._core.clear()}write(e,t){this._core.write(e,t)}writeln(e,t){this._core.write(e),this._core.write(`\r
|
|
90
|
-
`,t)}paste(e){this._core.paste(e)}refresh(e,t){this._verifyIntegers(e,t),this._core.refresh(e,t)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(e){this._addonManager.loadAddon(this,e)}static get strings(){return{get promptLabel(){return Ho.get()},set promptLabel(e){Ho.set(e)},get tooMuchOutput(){return Ko.get()},set tooMuchOutput(e){Ko.set(e)}}}_verifyIntegers(...e){for(cs of e)if(cs===1/0||isNaN(cs)||cs%1!==0)throw new Error("This API only accepts integers")}_verifyPositiveIntegers(...e){for(cs of e)if(cs&&(cs===1/0||isNaN(cs)||cs%1!==0||cs<0))throw new Error("This API only accepts positive integers")}};const F0=/mac|iphone|ipad|ipod/i,W0=/\w/,Si={cursorLeft:"\x1B[D",cursorRight:"\x1B[C",modifiedAltLeft:"\x1B[1;3D",modifiedAltRight:"\x1B[1;3C",ctrlLeft:"\x1B[1;5D",ctrlRight:"\x1B[1;5C"},$0=()=>{var e;return((e=globalThis.navigator)==null?void 0:e.platform)??""},Xm=(e=$0())=>F0.test(e),H0=(e,t)=>e.key.toLowerCase()!=="k"||e.altKey||e.shiftKey?!1:Xm(t)?e.metaKey:e.ctrlKey,ki=e=>W0.test(e),K0=(e,t)=>{let s=Math.min(Math.max(t,0),e.length);for(;s>0&&!ki(e[s-1]??"");)s-=1;for(;s>0&&ki(e[s-1]??"");)s-=1;return s},z0=(e,t)=>{let s=Math.min(Math.max(t,0),e.length);if(ki(e[s]??"")){for(;s<e.length&&ki(e[s]??"");)s+=1;return s}for(;s<e.length&&!ki(e[s]??"");)s+=1;for(;s<e.length&&ki(e[s]??"");)s+=1;return s},Uh=(e,t)=>t<=0?"":e.repeat(t),U0=(e,t)=>{const s=t.cursorX,i=t.lineText;return s==null||i==null?null:e.key==="ArrowLeft"?Uh(Si.cursorLeft,s-K0(i,s)):Uh(Si.cursorRight,z0(i,s)-s)},q0=(e,t)=>e.metaKey||e.shiftKey||e.key!=="ArrowLeft"&&e.key!=="ArrowRight"?null:e.altKey&&!e.ctrlKey?t.isAlternateBuffer===!0?e.key==="ArrowLeft"?Si.modifiedAltLeft:Si.modifiedAltRight:U0(e,t):!Xm(t.platform)&&e.ctrlKey&&!e.altKey?e.key==="ArrowLeft"?Si.ctrlLeft:Si.ctrlRight:null,V0=(e,t={})=>{if(H0(e,t.platform))return{type:"clear"};const s=q0(e,t);return s==null?null:{type:"input",data:s}},G0=120,Y0=32,Xi=(e,t,s)=>{const i=e.getPropertyValue(t).trim();return i===""?s:i},qh=()=>{const e=window.getComputedStyle(document.documentElement),t=document.documentElement.classList.contains("dark"),s=Xi(e,"--bg-color",t?"#141414":"#ffffff"),i=Xi(e,"--text-color",t?"#ffffff":"#000000"),n=Xi(e,"--sub-text-color",t?"#8c8c8c":"#1b1b1b"),r=Xi(e,"--primary-color",t?"#3b82f6":"#2563eb"),o=Xi(e,"--primary-soft-bg",t?"#111b26":"#eff6ff");return{background:s,foreground:i,cursor:r,cursorAccent:s,selectionBackground:o,black:t?"#0f172a":"#111827",red:t?"#ef4444":"#dc2626",green:t?"#10b981":"#047857",yellow:t?"#f59e0b":"#b45309",blue:t?"#60a5fa":"#2563eb",magenta:t?"#f472b6":"#c026d3",cyan:t?"#22d3ee":"#0f766e",white:t?"#e2e8f0":n,brightBlack:t?"#475569":"#4b5563",brightRed:t?"#f87171":"#ef4444",brightGreen:t?"#34d399":"#10b981",brightYellow:t?"#fbbf24":"#f59e0b",brightBlue:t?"#93c5fd":"#3b82f6",brightMagenta:t?"#f9a8d4":"#d946ef",brightCyan:t?"#67e8f9":"#14b8a6",brightWhite:i}},X0=e=>{var s;const t=e.buffer.active;return((s=t.getLine(t.baseY+t.cursorY))==null?void 0:s.translateToString(!0))??""};function J0({onInput:e,onResize:t}){const s=m.useRef(null),i=m.useRef(null),n=m.useRef(null),r=m.useRef(e),o=m.useRef(t),[l,c]=m.useState(!1),[h,u]=m.useState({cols:G0,rows:Y0});r.current=e,o.current=t;const d=m.useCallback(()=>{const f=i.current,_=n.current;f==null||_==null||(_.fit(),!(f.cols<=0||f.rows<=0)&&(u({cols:f.cols,rows:f.rows}),o.current(f.cols,f.rows)))},[]),p=m.useCallback(()=>{var f;(f=i.current)==null||f.focus()},[]);return m.useEffect(()=>{const f=s.current;if(f==null)return;const _=new O0({cursorBlink:!0,fontSize:13,fontFamily:'"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace',macOptionIsMeta:!0,scrollback:5e3,theme:qh()}),g=new Mk;_.loadAddon(g),_.attachCustomKeyEventHandler(P=>{const y=_.buffer.active,S=V0(P,{cursorX:y.cursorX,isAlternateBuffer:y.type==="alternate",lineText:X0(_)});return S==null?!0:(P.preventDefault(),P.stopPropagation(),P.stopImmediatePropagation(),P.type!=="keydown"?!1:S.type==="clear"?(_.clear(),!1):(S.data!==""&&_.input(S.data),!1))}),_.open(f),_.focus(),i.current=_,n.current=g,c(!0),d();const v=_.onData(P=>{r.current(P)}),b=new ResizeObserver(()=>{d()});b.observe(f);const x=new MutationObserver(()=>{_.options.theme=qh()});return x.observe(document.documentElement,{attributes:!0,attributeFilter:["class","style"]}),()=>{x.disconnect(),b.disconnect(),v.dispose(),g.dispose(),_.dispose(),n.current=null,i.current=null}},[d]),{containerRef:s,fitTerminal:d,focusTerminal:p,lastMeasuredSize:h,terminalMounted:l,terminalRef:i}}const Vh=e=>e!=null&&e.readyState===WebSocket.OPEN,Z0=e=>e.replace(/\r\n/g,`
|
|
91
|
-
`).replace(/\r/g,`
|
|
92
|
-
`).trimEnd().split(`
|
|
93
|
-
`),Gh=e=>{e.current!=null&&(window.clearTimeout(e.current),e.current=null)};function Q0({sessionId:e,shellKind:t,terminalId:s,active:i,autoRestartExitedSession:n=!0,initialInput:r,initialCols:o,initialRows:l,onReady:c,onInitialInputSent:h,onOutput:u,onExit:d}){const{t:p}=Z(),f=m.useRef(null),_=m.useRef(!1),g=m.useRef(!1),v=m.useRef(null),b=m.useRef([]),x=m.useRef(0),P=m.useRef(null),y=m.useRef(!1),S=m.useRef(!0),T=m.useRef(!1),j=m.useRef(!1),I=m.useRef({cols:o,rows:l}),R=m.useRef(null),O=m.useRef(r),k=m.useRef(void 0),N=m.useRef(!1),C=m.useRef("unknown"),w=m.useRef(c),M=m.useRef(h),E=m.useRef(u),D=m.useRef(d),[A,B]=m.useState(0),[H,U]=m.useState(null),[W,z]=m.useState(null);w.current=c,M.current=h,E.current=u,D.current=d,O.current=r,I.current={cols:o,rows:l};const F=m.useCallback(oe=>{const _e=f.current;return Vh(_e)?(_e.send(JSON.stringify(oe)),!0):!1},[]),te=m.useCallback(()=>{P.current!=null&&window.clearTimeout(P.current),P.current=window.setTimeout(()=>{P.current=null,B(oe=>oe+1)},800)},[]),ie=m.useCallback(oe=>F({type:"terminal_input",data:oe}),[F]),ue=m.useCallback(()=>{Gh(v),b.current=[],x.current=0},[]),pe=m.useCallback(oe=>{const _e=Z0(oe);if(_e.length===0)return!1;ue(),N.current=!0,b.current=_e,x.current=0;const ce=()=>{var Se;const We=b.current[x.current];if(We==null){ue(),k.current=void 0,(Se=M.current)==null||Se.call(M);return}if(!ie(`${We}\r`)){ue(),N.current=!1;return}x.current+=1,v.current=window.setTimeout(ce,90)};return v.current=window.setTimeout(ce,120),!0},[ue,ie]),Y=m.useCallback((oe,_e)=>F({type:"terminal_resize",cols:oe,rows:_e}),[F]),be=m.useCallback(()=>{const oe=I.current;j.current=!0,z(null);const _e=F({type:"terminal_restart",cols:oe.cols,rows:oe.rows});return _e&&(T.current=!1,S.current=!0,C.current="running"),_e},[F]),ye=m.useCallback(()=>(y.current=!1,T.current=!1,S.current=!0,F({type:"terminal_terminate"})),[F]),he=m.useCallback((oe,_e={})=>{const ce=_e.restartRunning!==!1,We=oe==null?void 0:oe.trim();if(k.current=We==null||We===""?void 0:We,N.current=!1,ue(),U(null),z(null),!Vh(f.current)||C.current==="unknown")return y.current=!1,S.current=ce,T.current=!0,!1;if(C.current==="running"){if(!ce){const me=k.current;return me==null?!0:pe(me)}y.current=!0;const Se=F({type:"terminal_terminate"});return Se||(y.current=!1),Se}y.current=!1;const we=be();return we||(S.current=ce,T.current=!0,!1)},[ue,pe,F,be]),$=m.useCallback(()=>{const oe=R.current;if(oe==null)return!1;const _e=Y(oe.cols,oe.rows);return _e&&(R.current=null),_e},[Y]),de=m.useCallback((oe,_e)=>(I.current={cols:oe,rows:_e},R.current={cols:oe,rows:_e},$()),[$]);return m.useEffect(()=>{if(!i)return;_.current=!1,g.current=!1,j.current=!1,U(null),R.current=I.current;const oe=I.current,_e=Hp({onOpen:()=>{$()},onMessage:ce=>{var We,we;switch(ce.type){case"terminal_ready":{if(U(null),ce.info.status==="exited"){if(C.current="exited",y.current||T.current){y.current=!1,T.current=!1,be();return}if(D.current!=null){D.current({type:"terminal_exit",exitCode:null,signal:null});return}if(!n){w.current(ce),z({exitCode:null,signal:null});return}if(!j.current){j.current=!0;const me=I.current;_e.send(JSON.stringify({type:"terminal_restart",cols:me.cols,rows:me.rows}))}return}if(C.current="running",y.current=!1,T.current){const me=S.current;if(T.current=!1,S.current=!0,me){y.current=!0,F({type:"terminal_terminate"})||(y.current=!1);return}}if(T.current=!1,S.current=!0,j.current=!1,z(null),w.current(ce),N.current)return;const Se=(We=k.current??O.current)==null?void 0:We.trim();Se!=null&&Se!==""&&pe(Se);return}case"terminal_output":E.current(ce.data);return;case"terminal_exit":if(C.current="exited",z({exitCode:ce.exitCode,signal:ce.signal}),y.current){y.current=!1,be();return}(we=D.current)==null||we.call(D,ce);return;case"terminal_error":g.current=ce.fatal===!0,U(ce.message)}},onError:()=>{U(p("chat.terminal.connectionError"))},onClose:()=>{f.current=null,!(_.current||g.current)&&te()}},{channel:"terminal",sessionId:e,shellKind:t??"default",terminalId:s??"",cols:String(oe.cols),rows:String(oe.rows)});return f.current=_e,()=>{_.current=!0,Gh(P),ue(),_e.close(),f.current=null}},[i,n,A,ue,$,pe,te,be,e,t,p,s]),{errorMessage:H,lastExit:W,resizeTerminal:de,restartTerminal:he,sendInput:ie,terminateTerminal:ye}}const e1=e=>(e==null?void 0:e.split("/").filter(Boolean).at(-1))??"shell";function t1({autoRestartExitedSession:e,initialCommand:t,isActive:s,onExit:i,onInfoChange:n,onInitialCommandSent:r,onRestartChange:o,onTerminateChange:l,sessionId:c,shellKind:h,terminalId:u}){const{t:d}=Z(),p=m.useRef(()=>{}),f=m.useRef(()=>{}),[_,g]=m.useState("shell"),{containerRef:v,fitTerminal:b,focusTerminal:x,lastMeasuredSize:P,terminalMounted:y,terminalRef:S}=J0({onInput:C=>p.current(C),onResize:(C,w)=>f.current(C,w)}),{errorMessage:T,lastExit:j,resizeTerminal:I,restartTerminal:R,sendInput:O,terminateTerminal:k}=Q0({sessionId:c,shellKind:h,terminalId:u,active:y,autoRestartExitedSession:e,initialInput:t,initialCols:P.cols,initialRows:P.rows,onReady:m.useCallback(C=>{const w=S.current;w!=null&&(w.reset(),g(e1(C.info.shell)),C.scrollback!=null&&C.scrollback!==""&&w.write(C.scrollback),b())},[b,S]),onInitialInputSent:m.useCallback(()=>{r(u)},[r,u]),onOutput:m.useCallback(C=>{var w;(w=S.current)==null||w.write(C)},[S]),onExit:m.useCallback(()=>{i==null||i(u)},[i,u])});m.useEffect(()=>(l(u,k),()=>{l(u,null)}),[l,u,k]),m.useEffect(()=>(o(u,R),()=>{o(u,null)}),[o,R,u]),m.useEffect(()=>{n(u,{shellLabel:_,isExited:j!=null})},[j,n,_,u]),m.useEffect(()=>{s&&window.requestAnimationFrame(()=>{b(),x()})},[b,x,s]),p.current=C=>{O(C)},f.current=(C,w)=>{I(C,w)};const N=j==null?null:d("chat.terminal.exitSummary",{code:j.exitCode??"null",signal:j.signal??"null"});return a.jsxs("section",{className:`chat-terminal-pane ${s?"is-active":""}`,"aria-hidden":!s,children:[a.jsxs("div",{className:"chat-terminal-pane__body",children:[T!=null&&T!==""&&a.jsx("div",{className:"chat-terminal-pane__error",children:T}),a.jsx("div",{ref:v,className:"chat-terminal-pane__terminal",onClick:x})]}),N!=null&&a.jsx("div",{className:"chat-terminal-pane__footer",children:N})]})}function fl({activeTerminalId:e,autoRestartExitedSession:t,onExit:s,onInfoChange:i,onInitialCommandSent:n,onRestartChange:r,onTerminateChange:o,panes:l,sessionId:c}){return a.jsx("div",{className:"chat-terminal-view__surface",children:a.jsx("div",{className:"chat-terminal-view__terminal-stage",children:l.map(h=>a.jsx(t1,{autoRestartExitedSession:t,isActive:h.id===e,initialCommand:h.initialCommand,sessionId:c,shellKind:h.shellKind,terminalId:h.id,onExit:s,onInfoChange:i,onInitialCommandSent:n,onRestartChange:r,onTerminateChange:o},h.id))})})}function s1({frameUrl:e,iframeRef:t,onIframeLoad:s,page:i,reloadVersion:n,shouldUseWebview:r,t:o,webviewRef:l}){const[c,h]=m.useState("");return m.useEffect(()=>{if(!r||e===""){h("");return}const u=window.setTimeout(()=>{h(e)},0);return()=>window.clearTimeout(u)},[e,r]),e===""?a.jsxs("div",{className:"chat-interaction-panel__iframe-empty",children:[a.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:"web_asset"}),a.jsx("span",{children:o("chat.interactionPanel.iframeEmpty")})]}):r?c===""?a.jsxs("div",{className:"chat-interaction-panel__iframe-empty",children:[a.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:"web_asset"}),a.jsx("span",{children:o("chat.interactionPanel.iframeEmpty")})]}):a.jsx("webview",{ref:l,className:"chat-interaction-panel__iframe chat-interaction-panel__webview",partition:"persist:oneworks-interaction-panel",src:c,title:i.title},i.id):a.jsx("iframe",{ref:t,className:"chat-interaction-panel__iframe",src:e,title:i.title,onLoad:s},`${e}:${n}`)}function i1({draftUrl:e,externalUrl:t,isEditingUrl:s,onChangeDraftUrl:i,onOpen:n,urlHistory:r}){const{t:o}=Z(),l=m.useRef(!1),[c,h]=m.useState(!1),u=o("chat.interactionPanel.iframeOpenExternalBrowser"),d=m.useMemo(()=>{const g=e.trim().toLowerCase();return(g===""||!s?r:r.filter(b=>{var x;return b.url.toLowerCase().includes(g)||((x=b.title)==null?void 0:x.toLowerCase().includes(g))===!0})).slice(0,8)},[e,s,r]),p=c&&d.length>0,f=()=>{I_(g=>{l.current=g})},_=g=>{j_(g,l.current)||n(g)};return a.jsxs("div",{className:`chat-interaction-panel__iframe-address ${t===""?"":"has-external-url"} ${p?"is-history-open":""}`,children:[a.jsx(Kt,{value:e,className:`chat-interaction-panel__iframe-input ${s?"is-editing":""}`,placeholder:o("chat.interactionPanel.iframeUrlPlaceholder"),prefix:a.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:"language"}),onBlur:()=>{window.setTimeout(()=>h(!1),120)},onChange:g=>{i(g.target.value),h(!0)},onCompositionStart:()=>{l.current=!0},onCompositionEnd:f,onFocus:()=>h(!0),onPressEnter:_}),a.jsx(ze,{title:u,children:a.jsx(Oe,{type:"text",className:"chat-interaction-panel__iframe-external-btn",disabled:t==="","aria-label":u,icon:a.jsx("span",{className:"material-symbols-rounded",children:"open_in_new"}),onClick:()=>{em(t)}})}),p&&a.jsx("div",{className:"chat-interaction-panel__iframe-url-history",role:"listbox",children:d.map(g=>a.jsxs("button",{type:"button",className:"chat-interaction-panel__iframe-url-history-item",role:"option",onMouseDown:v=>{v.preventDefault(),i(g.url),h(!1)},children:[g.faviconUrl!=null&&g.faviconUrl!==""?a.jsx("img",{className:"chat-interaction-panel__iframe-url-history-favicon",src:g.faviconUrl,alt:""}):a.jsx("span",{className:"material-symbols-rounded chat-interaction-panel__iframe-url-history-icon",children:"language"}),a.jsxs("span",{className:"chat-interaction-panel__iframe-url-history-text",children:[a.jsx("span",{className:"chat-interaction-panel__iframe-url-history-title",children:g.title??g.url}),a.jsx("span",{className:"chat-interaction-panel__iframe-url-history-url",children:g.url})]})]},g.url))})]})}function n1({canGoBack:e,canGoForward:t,frameUrl:s,history:i,historyIndex:n,onNavigateHistory:r,onRefresh:o,onSelectHistory:l,pageId:c}){const{t:h}=Z(),u=i.length>0?i:s===""?[]:[s],d=i.length>0?n:0,p=u.map((_,g)=>({key:g.toString(),icon:a.jsx("span",{className:"material-symbols-rounded chat-interaction-panel__menu-icon",children:g===d?"check":"history"}),label:a.jsxs("span",{className:"chat-interaction-panel__iframe-history-item",children:[a.jsx("span",{className:"chat-interaction-panel__iframe-history-title",children:Or(_,_)}),a.jsx("span",{className:"chat-interaction-panel__iframe-history-url",children:_})]})})),f=({key:_})=>{const g=Number(_);!Number.isFinite(g)||g===d||l(c,g)};return a.jsxs("div",{className:"chat-interaction-panel__iframe-navigation",children:[a.jsx(Cs,{menu:{items:p,onClick:f},overlayClassName:"chat-interaction-panel-history-dropdown",trigger:["contextMenu"],children:a.jsx("span",{className:"chat-interaction-panel__iframe-history-trigger",children:a.jsx(Oe,{type:"text","aria-label":h("chat.interactionPanel.iframeBack"),className:e?void 0:"is-disabled",icon:a.jsx("span",{className:"material-symbols-rounded",children:"arrow_back"}),onClick:()=>e&&r(-1)})})}),a.jsx(Oe,{type:"text",disabled:!t,"aria-label":h("chat.interactionPanel.iframeForward"),icon:a.jsx("span",{className:"material-symbols-rounded",children:"arrow_forward"}),onClick:()=>r(1)}),a.jsx(Oe,{type:"text",disabled:s==="","aria-label":h("chat.interactionPanel.iframeRefresh"),icon:a.jsx("span",{className:"material-symbols-rounded",children:"refresh"}),onClick:o})]})}const r1=.25,o1=3,Yh=.1,Xh=e=>Math.min(o1,Math.max(r1,e)),a1=e=>`${Math.round(e*100)}%`;function l1({canUseFrame:e,iframeRef:t,onClose:s,onForceReload:i,shouldUseWebview:n,webviewRef:r}){const{message:o}=zt.useApp(),{t:l}=Z(),[c,h]=m.useState(1),u=()=>{o.warning(l("common.notSupportedYet"))},d=g=>{var b,x,P,y;const v=Xh(g);h(v);try{(x=(b=r.current)==null?void 0:b.setZoomFactor)==null||x.call(b,v)}catch{(P=t.current)==null||P.style.setProperty("zoom",String(v))}(y=t.current)==null||y.style.setProperty("zoom",String(v))},p=()=>{var g;s();try{if(n&&((g=r.current)==null?void 0:g.reloadIgnoringCache)!=null){r.current.reloadIgnoringCache();return}}catch{}i()},f=async g=>{var v;if(((v=window.oneworksDesktop)==null?void 0:v.clearInteractionPanelWebviewData)==null){u();return}try{await window.oneworksDesktop.clearInteractionPanelWebviewData(g),o.success(l(g==="cookies"?"chat.interactionPanel.iframeClearCookieSuccess":"chat.interactionPanel.iframeClearCacheSuccess")),s()}catch{o.error(l("common.operationFailed"))}},_=()=>{var g,v;try{const b=(v=(g=r.current)==null?void 0:g.getZoomFactor)==null?void 0:v.call(g);typeof b=="number"&&Number.isFinite(b)&&h(Xh(b))}catch{h(1)}};return a.jsxs(jd,{className:"chat-interaction-panel-browser-menu",onClick:g=>g.stopPropagation(),onMouseDown:g=>g.stopPropagation(),onPointerEnter:_,children:[a.jsxs(Os,{className:"chat-interaction-panel-browser-menu__item",disabled:!e,onClick:p,children:[a.jsx("span",{className:"material-symbols-rounded chat-interaction-panel__menu-icon",children:"refresh"}),a.jsx("span",{children:l("chat.interactionPanel.iframeForceReload")})]}),a.jsx(ze,{title:l("common.notSupportedYet"),placement:"left",children:a.jsx("span",{className:"chat-interaction-panel-browser-menu__disabled-wrapper",children:a.jsxs(Os,{className:"chat-interaction-panel-browser-menu__item",disabled:!0,children:[a.jsx("span",{className:"material-symbols-rounded chat-interaction-panel__menu-icon",children:"devices"}),a.jsx("span",{children:l("chat.interactionPanel.iframeDeviceToolbar")})]})})}),a.jsx(cr,{className:"chat-interaction-panel-browser-menu__divider",decorative:!0}),a.jsxs("div",{className:"chat-interaction-panel-browser-menu__zoom-row",children:[a.jsx("span",{className:"chat-interaction-panel-browser-menu__zoom-label",children:l("chat.interactionPanel.iframeZoom")}),a.jsxs("span",{className:"chat-interaction-panel-browser-menu__zoom-controls",children:[a.jsx("button",{type:"button",className:"chat-interaction-panel-browser-menu__zoom-btn material-symbols-rounded","aria-label":l("chat.interactionPanel.iframeZoomOut"),onClick:()=>d(c-Yh),children:"remove"}),a.jsx("span",{className:"chat-interaction-panel-browser-menu__zoom-value",children:a1(c)}),a.jsx("button",{type:"button",className:"chat-interaction-panel-browser-menu__zoom-btn material-symbols-rounded","aria-label":l("chat.interactionPanel.iframeZoomIn"),onClick:()=>d(c+Yh),children:"add"})]}),a.jsx("button",{type:"button",className:"chat-interaction-panel-browser-menu__zoom-reset material-symbols-rounded","aria-label":l("chat.interactionPanel.iframeZoomReset"),onClick:()=>d(1),children:"restart_alt"})]}),a.jsx(cr,{className:"chat-interaction-panel-browser-menu__divider",decorative:!0}),a.jsxs(Os,{className:"chat-interaction-panel-browser-menu__item",onClick:()=>void f("cookies"),children:[a.jsx("span",{className:"material-symbols-rounded chat-interaction-panel__menu-icon",children:"cookie"}),a.jsx("span",{children:l("chat.interactionPanel.iframeClearCookie")})]}),a.jsxs(Os,{className:"chat-interaction-panel-browser-menu__item",onClick:()=>void f("cache"),children:[a.jsx("span",{className:"material-symbols-rounded chat-interaction-panel__menu-icon",children:"cached"}),a.jsx("span",{children:l("chat.interactionPanel.iframeClearCache")})]})]})}const c1=async e=>{var i,n;if(((i=window.oneworksDesktop)==null?void 0:i.writeImageDataUrlToClipboard)!=null){await window.oneworksDesktop.writeImageDataUrlToClipboard(e);return}if(((n=navigator.clipboard)==null?void 0:n.write)==null||typeof ClipboardItem>"u")throw new Error("Image clipboard is unavailable.");const s=await(await fetch(e)).blob();await navigator.clipboard.write([new ClipboardItem({[s.type]:s})])};function h1({frameUrl:e,iframeRef:t,onForceReload:s,shouldUseWebview:i,webviewRef:n}){const{message:r}=zt.useApp(),{t:o}=Z(),[l,c]=m.useState(!1),h=e!=="",u=()=>{r.warning(o("common.notSupportedYet"))},d=async()=>{const p=n.current;if(!i||(p==null?void 0:p.capturePage)==null||!h){u();return}try{const _=(await p.capturePage()).toDataURL();if(_.trim()==="")throw new Error("Empty screenshot.");await c1(_),r.success(o("chat.interactionPanel.iframeScreenshotCopied"))}catch{r.error(o("chat.interactionPanel.iframeScreenshotFailed"))}};return a.jsxs("div",{className:"chat-interaction-panel__iframe-actions",children:[a.jsx(ze,{title:o("chat.interactionPanel.iframeScreenshot"),children:a.jsx(Oe,{type:"text",className:"chat-interaction-panel__iframe-tool-btn",disabled:!h,"aria-label":o("chat.interactionPanel.iframeScreenshot"),icon:a.jsx("span",{className:"material-symbols-rounded",children:"center_focus_weak"}),onClick:()=>void d()})}),a.jsx(Cs,{trigger:["click"],open:l,menu:{items:[]},overlayClassName:"chat-interaction-panel-browser-menu-dropdown",placement:"bottomRight",popupRender:()=>a.jsx(l1,{canUseFrame:h,iframeRef:t,shouldUseWebview:i,webviewRef:n,onClose:()=>c(!1),onForceReload:s}),onOpenChange:c,children:a.jsx(Oe,{type:"text",className:`chat-interaction-panel__iframe-tool-btn ${l?"is-open":""}`,"aria-label":o("chat.interactionPanel.iframeMore"),icon:a.jsx("span",{className:"material-symbols-rounded",children:"more_vert"})})})]})}const d1=e=>{var i;let t,s;try{const n=e==null?void 0:e.contentDocument,r=n==null?void 0:n.title.trim(),o=(i=n==null?void 0:n.querySelector('link[rel~="icon"], link[rel="shortcut icon"], link[rel="apple-touch-icon"]'))==null?void 0:i.href;r!=null&&r!==""&&(t=r),o!=null&&o!==""&&(s=o)}catch{}return{faviconUrl:s,title:t}},kr=e=>{const t=e.trim();if(t==="")return"";try{return new URL(t).href}catch{return ps(t)}},u1=e=>/^https?:\/\//i.test(e.trim()),m1=(e,t)=>{const s=e.url;if(s!=null&&s!=="")return s;try{return t.getURL()}catch{return""}},go=(e,t)=>{try{return e.getURL()||t}catch{return t}},Jm=80,Zm=e=>`chatInteractionUrlHistory:${e.kind}:${encodeURIComponent(e.key)}`,Qm=e=>{if(e==null||typeof e!="object"||Array.isArray(e))return null;const t=e;return typeof t.url!="string"||t.url.trim()===""?null:{url:t.url.trim(),updatedAt:typeof t.updatedAt=="number"?t.updatedAt:0,...typeof t.title=="string"&&t.title.trim()!==""?{title:t.title.trim()}:{},...typeof t.faviconUrl=="string"&&t.faviconUrl.trim()!==""?{faviconUrl:t.faviconUrl.trim()}:{}}},pl=e=>{if(typeof window>"u")return[];const t=new Map;for(const s of e)try{const i=window.localStorage.getItem(Zm(s)),n=i==null?[]:JSON.parse(i);if(!Array.isArray(n))continue;for(const r of n){const o=Qm(r),l=o==null?void 0:t.get(o.url);o!=null&&(l==null||o.updatedAt>l.updatedAt)&&t.set(o.url,o)}}catch{}return[...t.values()].sort((s,i)=>i.updatedAt-s.updatedAt).slice(0,Jm)},f1=(e,t)=>{if(typeof window>"u")return;const s=Qm({...t,updatedAt:t.updatedAt??Date.now()});if(s!=null)for(const i of e)try{const n=Zm(i),r=pl([i]),o=[s,...r.filter(l=>l.url!==s.url)].slice(0,Jm);window.localStorage.setItem(n,JSON.stringify(o))}catch{}};function p1({projectKey:e,sessionKey:t}){const[s,i]=m.useState(0),n=m.useMemo(()=>[{kind:"session",key:t},{kind:"project",key:e}],[e,t]),r=m.useMemo(()=>pl(n),[n,s]),o=m.useCallback(l=>{f1(n,l),i(c=>c+1)},[n]);return{history:r,record:o}}const _1=`(() => {
|
|
94
|
-
const trimText = value => typeof value === 'string' ? value.trim() : ''
|
|
95
|
-
const readMetaContent = selector => trimText(document.querySelector(selector)?.content)
|
|
96
|
-
const title = trimText(document.title) ||
|
|
97
|
-
readMetaContent('meta[property="og:title"]') ||
|
|
98
|
-
readMetaContent('meta[name="twitter:title"]') ||
|
|
99
|
-
readMetaContent('meta[name="application-name"]')
|
|
100
|
-
const iconLink = Array.from(document.querySelectorAll('link[rel][href]'))
|
|
101
|
-
.find(link => /(^|\\s)(icon|apple-touch-icon|mask-icon)(\\s|$)/i.test(link.getAttribute('rel') || ''))
|
|
102
|
-
return {
|
|
103
|
-
faviconUrl: iconLink?.href || undefined,
|
|
104
|
-
title: title || undefined
|
|
105
|
-
}
|
|
106
|
-
})()`,g1=e=>`(() => {
|
|
107
|
-
const themeMode = ${JSON.stringify(e)}
|
|
108
|
-
const root = document.documentElement
|
|
109
|
-
root.dataset.oneWorksTheme = themeMode
|
|
110
|
-
root.style.colorScheme = themeMode
|
|
111
|
-
const parent = document.head || root
|
|
112
|
-
let colorSchemeMeta = document.querySelector('meta[name="color-scheme"]')
|
|
113
|
-
if (colorSchemeMeta == null) {
|
|
114
|
-
colorSchemeMeta = document.createElement('meta')
|
|
115
|
-
colorSchemeMeta.setAttribute('name', 'color-scheme')
|
|
116
|
-
parent.appendChild(colorSchemeMeta)
|
|
117
|
-
}
|
|
118
|
-
colorSchemeMeta.setAttribute('content', themeMode)
|
|
119
|
-
})()`,v1="oneworks-mobile-debug-devtools-style",b1=`
|
|
120
|
-
.toolbar-button,
|
|
121
|
-
.toolbar-button[role="button"] {
|
|
122
|
-
min-width: 24px !important;
|
|
123
|
-
width: 24px !important;
|
|
124
|
-
height: 24px !important;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
.toolbar-button devtools-icon,
|
|
128
|
-
.toolbar-button .toolbar-button-icon,
|
|
129
|
-
.toolbar-button .glyph,
|
|
130
|
-
.toolbar-button .largeicon,
|
|
131
|
-
devtools-icon.toolbar-button-icon,
|
|
132
|
-
.tabbed-pane-header-tab devtools-icon {
|
|
133
|
-
--icon-size: 16px !important;
|
|
134
|
-
width: 16px !important;
|
|
135
|
-
min-width: 16px !important;
|
|
136
|
-
height: 16px !important;
|
|
137
|
-
min-height: 16px !important;
|
|
138
|
-
font-size: 16px !important;
|
|
139
|
-
line-height: 16px !important;
|
|
140
|
-
}
|
|
141
|
-
`,y1=()=>`(() => {
|
|
142
|
-
const styleId = ${JSON.stringify(v1)}
|
|
143
|
-
const css = ${JSON.stringify(b1)}
|
|
144
|
-
const parent = document.head || document.documentElement
|
|
145
|
-
let style = document.getElementById(styleId)
|
|
146
|
-
if (style == null) {
|
|
147
|
-
style = document.createElement('style')
|
|
148
|
-
style.id = styleId
|
|
149
|
-
parent.appendChild(style)
|
|
150
|
-
}
|
|
151
|
-
style.textContent = css
|
|
152
|
-
})()`,w1=e=>{if(e==null||typeof e!="object")return{};const t=e,s=typeof t.title=="string"?t.title.trim():"",i=typeof t.faviconUrl=="string"?t.faviconUrl.trim():"";return{...i===""?{}:{faviconUrl:i},...s===""?{}:{title:s}}},S1=async e=>{try{return w1(await e.executeJavaScript(_1,!1))}catch{return{}}},k1=async(e,t)=>{try{await e.executeJavaScript(g1(t),!1)}catch{}},x1=async(e,t)=>{if(t)try{await e.executeJavaScript(y1(),!1)}catch{}},C1=()=>{var e;return typeof window<"u"&&typeof document<"u"&&((e=window.oneworksDesktop)==null?void 0:e.supportsWebviewTag)===!0&&document.createElement("webview")instanceof HTMLElement};function N1({frameUrl:e,isMobileDebugDevtools:t,onChangeMetadata:s,onChangeUrl:i,pageId:n,recordUrlHistory:r,resolvedThemeMode:o,webviewRef:l}){const c=C1(),[h,u]=m.useState({canGoBack:!1,canGoForward:!1}),d=()=>{const f=l.current;if(f==null){u({canGoBack:!1,canGoForward:!1});return}try{u({canGoBack:f.canGoBack(),canGoForward:f.canGoForward()})}catch{u({canGoBack:!1,canGoForward:!1})}};m.useEffect(()=>{if(!c||e===""){u({canGoBack:!1,canGoForward:!1});return}const f=l.current;if(f==null)return;const _=y=>{if(t)return;const S=y;S.title==null&&S.faviconUrl==null||(s(n,S),r({url:go(f,e),...S}))},g=()=>{k1(f,o),x1(f,t),S1(f).then(_)},v=()=>{g(),d()},b=y=>{const S=m1(y,f),T=kr(S);u1(S)&&T!==kr(e)&&i(n,S),d()},x=y=>{if(t)return;const S=y.title??f.getTitle();S.trim()!==""&&(s(n,{title:S}),r({title:S,url:go(f,e)}))},P=y=>{var T;if(t)return;const S=(T=y.favicons)==null?void 0:T.find(Boolean);S==null||S===""||(s(n,{faviconUrl:S}),r({faviconUrl:S,url:go(f,e)}))};return f.addEventListener("dom-ready",v),f.addEventListener("did-finish-load",g),f.addEventListener("did-navigate",b),f.addEventListener("did-navigate-in-page",b),f.addEventListener("did-stop-loading",g),f.addEventListener("did-stop-loading",d),f.addEventListener("page-title-updated",x),f.addEventListener("page-favicon-updated",P),d(),()=>{f.removeEventListener("dom-ready",v),f.removeEventListener("did-finish-load",g),f.removeEventListener("did-navigate",b),f.removeEventListener("did-navigate-in-page",b),f.removeEventListener("did-stop-loading",g),f.removeEventListener("did-stop-loading",d),f.removeEventListener("page-title-updated",x),f.removeEventListener("page-favicon-updated",P)}},[e,t,s,i,n,r,o,c,l]);const p=f=>{const _=l.current;try{if(f===-1&&(_==null?void 0:_.canGoBack())===!0)return _.goBack(),!0;if(f===1&&(_==null?void 0:_.canGoForward())===!0)return _.goForward(),!0}catch{return!1}return!1};return{canGoBack:h.canGoBack,canGoForward:h.canGoForward,navigateHistory:p,shouldUseWebview:c}}function ef({isActive:e,onChangeMetadata:t,onNavigateHistory:s,onSelectHistory:i,onChangeUrl:n,page:r,projectUrlHistoryKey:o,sessionUrlHistoryKey:l}){const{t:c}=Z(),{resolvedThemeMode:h}=b_(),[u,d]=m.useState(r.url),[p,f]=m.useState(0),[_,g]=m.useState(()=>ps(r.url)),v=m.useRef(null),b=m.useRef(null),x=m.useRef(t),{history:P,record:y}=p1({projectKey:o,sessionKey:l}),S=m.useMemo(()=>ps(r.url),[r.url]),T=r.variant==="mobile-debug-devtools",j=N1({frameUrl:S,isMobileDebugDevtools:T,onChangeMetadata:t,onChangeUrl:n,pageId:r.id,recordUrlHistory:y,resolvedThemeMode:h,webviewRef:b}),I=r.history??[],R=r.historyIndex??I.length-1,O=R>0,k=R>=0&&R<I.length-1,N=j.shouldUseWebview&&j.canGoBack||O,C=j.shouldUseWebview&&j.canGoForward||k,w=m.useMemo(()=>ps(u),[u]),M=w!==S,E=w!==""?w:S,D=j.shouldUseWebview?_:S,A=j.shouldUseWebview&&T;m.useEffect(()=>{d(r.url)},[r.url]),m.useEffect(()=>{var F;if(!j.shouldUseWebview)return;if(S===""){g("");return}let z="";try{z=((F=b.current)==null?void 0:F.getURL())??""}catch{z=""}kr(z)!==kr(S)&&g(S)},[S,j.shouldUseWebview]),m.useEffect(()=>{x.current=t},[t]),m.useEffect(()=>{if(S===""||j.shouldUseWebview)return;const z=new AbortController;return L_(S,{signal:z.signal}).then(F=>{const te={};F.faviconUrl!=null&&(te.faviconUrl=F.faviconUrl),F.title!=null&&(te.title=F.title),x.current(r.id,te),y({url:S,...te})}).catch(()=>{}),()=>z.abort()},[S,r.id,y,j.shouldUseWebview]);const B=z=>{if(!M){z==null||z.currentTarget.blur();return}n(r.id,w),y({url:w,title:Or(w,w)}),z==null||z.currentTarget.blur()},H=()=>{var z,F,te;if(j.shouldUseWebview){(z=b.current)==null||z.reload();return}try{(te=(F=v.current)==null?void 0:F.contentWindow)==null||te.location.reload()}catch{f(ie=>ie+1)}};m.useEffect(()=>Ad(z=>{!e||z!=="reload-browser-page"||H()}),[e]);const U=z=>{j.shouldUseWebview&&j.navigateHistory(z)||s(r.id,z)},W=()=>{if(S==="")return;const{faviconUrl:z,title:F}=d1(v.current);(F!=null||z!=null)&&(x.current(r.id,{faviconUrl:z,title:F}),y({faviconUrl:z,title:F,url:S}))};return a.jsxs("div",{className:"chat-interaction-panel__iframe-view",children:[!A&&a.jsxs("div",{className:"chat-interaction-panel__iframe-toolbar","data-dock-panel-no-resize":"true",children:[a.jsx(n1,{canGoBack:N,canGoForward:C,frameUrl:S,history:I,historyIndex:R,pageId:r.id,onNavigateHistory:U,onRefresh:H,onSelectHistory:i}),a.jsx(i1,{draftUrl:u,externalUrl:E,isEditingUrl:M,urlHistory:P,onChangeDraftUrl:d,onOpen:B}),a.jsx(h1,{frameUrl:S,iframeRef:v,shouldUseWebview:j.shouldUseWebview,webviewRef:b,onForceReload:H})]}),a.jsx(s1,{frameUrl:D,iframeRef:v,page:r,reloadVersion:p,shouldUseWebview:j.shouldUseWebview,t:c,webviewRef:b,onIframeLoad:W})]})}const Jn="__all__",T1=e=>e==="chrome"?"chat.interactionPanel.mobileDebugChrome":e==="webview"?"chat.interactionPanel.mobileDebugWebView":"chat.interactionPanel.mobileDebugOther",tf=e=>e.trim().toLowerCase(),E1=(e,t)=>{const s=e.socketName.replace(/^webview_devtools_remote_?/u,"");return s===""||s===e.socketName?t:`${t} ${s}`},M1=(e,t)=>e.appName!=null&&e.appName.trim()!==""?e.appName.trim():e.source==="network"?e.networkAddress??t("chat.interactionPanel.mobileDebugNetwork"):e.socketType==="webview"?E1(e,t("chat.interactionPanel.mobileDebugWebView")):e.socketType==="chrome"?t("chat.interactionPanel.mobileDebugChrome"):e.socketName||t("chat.interactionPanel.mobileDebugOther"),P1=(e,t)=>{var i;const s=(i=e.appName)==null?void 0:i.trim();return s!=null&&s!==""?`app:${e.source}:${e.deviceId}:${s}`:`${e.source}:${e.deviceId}:${e.socketType}:${e.networkAddress??e.socketName}:${t}`},R1=(e,t)=>{const s=new Map;for(const i of e){const n=M1(i,t),r=P1(i,n),o=s.get(r);o==null?s.set(r,{appKey:r,appLabel:n,targets:[i]}):o.targets.push(i)}return Array.from(s.values()).sort((i,n)=>i.appLabel.localeCompare(n.appLabel))},j1=(e,t,s)=>s===""||tf([t,e.title,e.url,e.type,e.deviceLabel,e.socketName].join(" ")).includes(s);function I1({onOpenDebugUrl:e,targets:t}){const{t:s}=Z(),[i,n]=m.useState(Jn),[r,o]=m.useState(),[l,c]=m.useState(""),h=tf(l),u=m.useMemo(()=>R1(t,s),[t,s]),d=m.useMemo(()=>u.filter(f=>i===Jn||f.appKey===i).map(f=>({...f,targets:f.targets.filter(_=>j1(_,f.appLabel,h))})).filter(f=>f.targets.length>0),[u,h,i]),p=d.map(f=>f.appKey).join(`
|
|
153
|
-
`);return m.useEffect(()=>{var _;const f=(_=d[0])==null?void 0:_.appKey;if(f==null){o(void 0);return}if(i!==Jn){o(i);return}o(g=>g==null||!d.some(v=>v.appKey===g)?f:g)},[p,d,i]),a.jsxs("section",{className:"chat-interaction-panel-mobile-debug__section",children:[a.jsxs("div",{className:"chat-interaction-panel-mobile-debug__filters",children:[a.jsx(Hd,{size:"small",className:"chat-interaction-panel-mobile-debug__app-select",popupClassName:"chat-interaction-panel-mobile-debug__app-select-popup",mobileTitle:s("chat.interactionPanel.mobileDebugAllApps"),value:i,options:[{value:Jn,label:s("chat.interactionPanel.mobileDebugAllApps")},...u.map(f=>({value:f.appKey,label:f.appLabel}))],suffixIcon:a.jsx("span",{className:"material-symbols-rounded",children:"keyboard_arrow_down"}),onChange:n}),a.jsx(Kt,{size:"small",allowClear:!0,className:"chat-interaction-panel-mobile-debug__search",value:l,placeholder:s("chat.interactionPanel.mobileDebugSearchPlaceholder"),prefix:a.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:"search"}),onChange:f=>c(f.target.value)})]}),d.length===0?a.jsx("div",{className:"chat-interaction-panel-mobile-debug__empty",children:s("chat.interactionPanel.mobileDebugNoMatchingTargets")}):a.jsx("div",{className:"chat-interaction-panel-mobile-debug__target-accordion",children:d.map(f=>a.jsx(D1,{group:f,isOpen:r===f.appKey,onOpenDebugUrl:e,onToggle:()=>o(_=>_===f.appKey?void 0:f.appKey)},f.appKey))})]})}function D1({group:e,isOpen:t,onOpenDebugUrl:s,onToggle:i}){const{t:n}=Z();return a.jsxs("div",{className:`chat-interaction-panel-mobile-debug__target-group ${t?"is-open":""}`,children:[a.jsxs("button",{type:"button",className:"chat-interaction-panel-mobile-debug__target-group-header",onClick:i,children:[a.jsx("span",{className:"material-symbols-rounded chat-interaction-panel-mobile-debug__target-group-chevron",children:"keyboard_arrow_right"}),a.jsx("span",{className:"chat-interaction-panel-mobile-debug__target-group-title",children:e.appLabel}),a.jsx("span",{className:"chat-interaction-panel-mobile-debug__target-group-count",children:e.targets.length})]}),a.jsx("div",{className:"chat-interaction-panel-mobile-debug__target-group-body",children:a.jsx("div",{className:"chat-interaction-panel-mobile-debug__target-list",children:e.targets.map(r=>a.jsxs("button",{type:"button",className:"chat-interaction-panel-mobile-debug__target",onClick:()=>s(r.inspectUrl,{faviconUrl:r.faviconUrl,title:r.title,variant:"mobile-debug-devtools"}),children:[a.jsx("span",{className:"material-symbols-rounded chat-interaction-panel-mobile-debug__target-icon",children:r.socketType==="webview"?"web_asset":"language"}),a.jsxs("span",{className:"chat-interaction-panel-mobile-debug__target-copy",children:[a.jsx("span",{className:"chat-interaction-panel-mobile-debug__target-title",children:r.title}),a.jsx("span",{className:"chat-interaction-panel-mobile-debug__target-url",children:r.url||r.type})]}),a.jsxs("span",{className:"chat-interaction-panel-mobile-debug__target-meta",children:[r.deviceLabel," · ",r.source==="network"?n("chat.interactionPanel.mobileDebugNetwork"):n(T1(r.socketType))]})]},r.id))})})]})}const L1=e=>e==="active"?"chat.interactionPanel.mobileDebugPortForwardActive":e==="removed"?"chat.interactionPanel.mobileDebugPortForwardRemoved":e==="skipped"?"chat.interactionPanel.mobileDebugPortForwardSkipped":"chat.interactionPanel.mobileDebugPortForwardError";function A1({error:e,isLoading:t,onOpenDebugUrl:s,state:i}){const{t:n}=Z(),r=(i==null?void 0:i.devices)??[],o=(i==null?void 0:i.targets)??[],l=(i==null?void 0:i.errors.filter(Boolean))??[],c=(i==null?void 0:i.portForwarding)??[],h=(i==null?void 0:i.adbMissing)===!0||l.includes("ADB was not found.");return a.jsxs("div",{className:"chat-interaction-panel-mobile-debug__body",children:[e!=null&&a.jsx("div",{className:"chat-interaction-panel-mobile-debug__notice is-error",children:e}),t&&i==null&&a.jsx("div",{className:"chat-interaction-panel-mobile-debug__notice",children:n("chat.interactionPanel.mobileDebugScanning")}),a.jsx(B1,{portForwarding:c}),o.length>0&&a.jsx(I1,{targets:o,onOpenDebugUrl:s}),h&&a.jsx(sf,{}),i!=null&&!h&&r.length===0&&o.length===0&&a.jsx("div",{className:"chat-interaction-panel-mobile-debug__empty",children:n("chat.interactionPanel.mobileDebugNoDevices")}),i!=null&&r.length>0&&o.length===0&&a.jsx("div",{className:"chat-interaction-panel-mobile-debug__empty",children:n("chat.interactionPanel.mobileDebugNoTargets")}),a.jsx(O1,{errors:l})]})}function sf(){const{t:e}=Z();return a.jsxs("section",{className:"chat-interaction-panel-mobile-debug__adb-guide",children:[a.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:"download_for_offline"}),a.jsxs("div",{className:"chat-interaction-panel-mobile-debug__adb-guide-copy",children:[a.jsx("span",{className:"chat-interaction-panel-mobile-debug__adb-guide-title",children:e("chat.interactionPanel.mobileDebugAdbMissingTitle")}),a.jsx("span",{children:e("chat.interactionPanel.mobileDebugAdbMissingDescription")}),a.jsx("code",{children:e("chat.interactionPanel.mobileDebugAdbInstallCommand")}),a.jsx("span",{children:e("chat.interactionPanel.mobileDebugAdbInstallHint")})]})]})}function B1({portForwarding:e}){const{t}=Z();return e.length===0?null:a.jsxs("section",{className:"chat-interaction-panel-mobile-debug__section",children:[a.jsx("div",{className:"chat-interaction-panel-mobile-debug__section-title",children:t("chat.interactionPanel.mobileDebugPortForwardingStatus")}),a.jsx("div",{className:"chat-interaction-panel-mobile-debug__forward-list",children:e.map(s=>a.jsxs("div",{className:`chat-interaction-panel-mobile-debug__forward is-${s.status}`,children:[a.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:"sync_alt"}),a.jsxs("span",{className:"chat-interaction-panel-mobile-debug__forward-copy",children:[a.jsxs("span",{children:[s.deviceLabel," · localhost:",s.devicePort," → ",s.localAddress]}),s.message!=null&&a.jsx("span",{children:s.message})]}),a.jsx("span",{className:"chat-interaction-panel-mobile-debug__forward-status",children:t(L1(s.status))})]},`${s.ruleId}:${s.deviceId}:${s.status}`))})]})}function O1({errors:e}){const{t}=Z();return e.length===0?null:a.jsxs("section",{className:"chat-interaction-panel-mobile-debug__section",children:[a.jsx("div",{className:"chat-interaction-panel-mobile-debug__section-title",children:t("chat.interactionPanel.mobileDebugDiagnostics")}),a.jsx("div",{className:"chat-interaction-panel-mobile-debug__error-list",children:e.map(s=>a.jsx("div",{className:"chat-interaction-panel-mobile-debug__error",children:s},s))})]})}const nf="chatInteractionMobileDebugConfig",rf=e=>`${e}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`,Ca=()=>({discoverNetworkTargets:!0,discoverUsbDevices:!0,networkTargets:[],portForwardingRules:[],selectedDeviceId:void 0}),F1=e=>{const t=Ca();if(e==null||typeof e!="object"||Array.isArray(e))return t;const s=e;return{discoverNetworkTargets:s.discoverNetworkTargets!==!1,discoverUsbDevices:s.discoverUsbDevices!==!1,networkTargets:Array.isArray(s.networkTargets)?s.networkTargets.filter(i=>i.address.trim()!==""):[],portForwardingRules:Array.isArray(s.portForwardingRules)?s.portForwardingRules.filter(i=>i.localAddress.trim()!==""):[],selectedDeviceId:typeof s.selectedDeviceId=="string"&&s.selectedDeviceId.trim()!==""?s.selectedDeviceId.trim():void 0}},W1=()=>{if(typeof window>"u")return Ca();try{const e=window.localStorage.getItem(nf);return F1(e==null?void 0:JSON.parse(e))}catch{return Ca()}},$1=e=>{try{window.localStorage.setItem(nf,JSON.stringify(e))}catch{}};function H1({config:e,onChangeConfig:t}){const{t:s}=Z();return a.jsxs("div",{className:"chat-interaction-panel-mobile-debug__config-panel",children:[a.jsx("div",{className:"chat-interaction-panel-mobile-debug__config-title",children:s("chat.interactionPanel.mobileDebugPortForwarding")}),e.portForwardingRules.length===0&&a.jsx("div",{className:"chat-interaction-panel-mobile-debug__config-empty",children:s("chat.interactionPanel.mobileDebugNoPortForwardingRules")}),e.portForwardingRules.map(i=>a.jsxs("div",{className:"chat-interaction-panel-mobile-debug__config-row is-port-forward",children:[a.jsx(dr,{checked:i.enabled!==!1,onChange:n=>t(r=>({...r,portForwardingRules:r.portForwardingRules.map(o=>o.id===i.id?{...o,enabled:n.target.checked}:o)}))}),a.jsx(Kt,{inputMode:"numeric",value:i.devicePort===0?"":String(i.devicePort),placeholder:s("chat.interactionPanel.mobileDebugDevicePort"),onChange:n=>{const r=Number.parseInt(n.target.value,10);t(o=>({...o,portForwardingRules:o.portForwardingRules.map(l=>l.id===i.id?{...l,devicePort:Number.isFinite(r)?r:0}:l)}))}}),a.jsx(Kt,{value:i.localAddress,placeholder:s("chat.interactionPanel.mobileDebugLocalAddress"),onChange:n=>t(r=>({...r,portForwardingRules:r.portForwardingRules.map(o=>o.id===i.id?{...o,localAddress:n.target.value}:o)}))}),a.jsx(of,{onClick:()=>t(n=>({...n,portForwardingRules:n.portForwardingRules.filter(r=>r.id!==i.id)}))})]},i.id)),a.jsx(Oe,{type:"text",className:"chat-interaction-panel-mobile-debug__add-rule",icon:a.jsx("span",{className:"material-symbols-rounded",children:"add"}),onClick:()=>t(i=>({...i,portForwardingRules:[...i.portForwardingRules,{devicePort:3e3,enabled:!0,id:rf("forward"),localAddress:"127.0.0.1:3000"}]})),children:s("chat.interactionPanel.mobileDebugAddPortForward")})]})}function K1({config:e,onChangeConfig:t}){const{t:s}=Z();return a.jsxs("div",{className:"chat-interaction-panel-mobile-debug__config-panel",children:[a.jsx("div",{className:"chat-interaction-panel-mobile-debug__config-title",children:s("chat.interactionPanel.mobileDebugNetworkTargets")}),e.networkTargets.length===0&&a.jsx("div",{className:"chat-interaction-panel-mobile-debug__config-empty",children:s("chat.interactionPanel.mobileDebugNoNetworkTargetsConfigured")}),e.networkTargets.map(i=>a.jsxs("div",{className:"chat-interaction-panel-mobile-debug__config-row is-network-target",children:[a.jsx(dr,{checked:i.enabled!==!1,onChange:n=>t(r=>({...r,networkTargets:r.networkTargets.map(o=>o.id===i.id?{...o,enabled:n.target.checked}:o)}))}),a.jsx(Kt,{value:i.address,placeholder:s("chat.interactionPanel.mobileDebugNetworkAddress"),onChange:n=>t(r=>({...r,networkTargets:r.networkTargets.map(o=>o.id===i.id?{...o,address:n.target.value}:o)}))}),a.jsx(of,{onClick:()=>t(n=>({...n,networkTargets:n.networkTargets.filter(r=>r.id!==i.id)}))})]},i.id)),a.jsx(Oe,{type:"text",className:"chat-interaction-panel-mobile-debug__add-rule",icon:a.jsx("span",{className:"material-symbols-rounded",children:"add"}),onClick:()=>t(i=>({...i,networkTargets:[...i.networkTargets,{address:"localhost:9222",enabled:!0,id:rf("network")}]})),children:s("chat.interactionPanel.mobileDebugAddNetworkTarget")})]})}function of({onClick:e}){const{t}=Z();return a.jsx(Oe,{type:"text",className:"chat-interaction-panel-mobile-debug__remove","aria-label":t("common.remove"),icon:a.jsx("span",{className:"material-symbols-rounded",children:"close"}),onClick:e})}function z1({config:e,isAdbMissing:t,onChangeConfig:s}){const{t:i}=Z();return a.jsxs("section",{className:"chat-interaction-panel-mobile-debug__settings",children:[t&&a.jsx(sf,{}),a.jsx("div",{className:"chat-interaction-panel-mobile-debug__settings-row",children:a.jsx(dr,{checked:e.discoverUsbDevices,onChange:n=>s(r=>({...r,discoverUsbDevices:n.target.checked})),children:i("chat.interactionPanel.mobileDebugDiscoverUsbDevices")})}),a.jsx("div",{className:"chat-interaction-panel-mobile-debug__settings-row",children:a.jsx(dr,{checked:e.discoverNetworkTargets,onChange:n=>s(r=>({...r,discoverNetworkTargets:n.target.checked})),children:i("chat.interactionPanel.mobileDebugDiscoverNetworkTargets")})}),a.jsx(H1,{config:e,onChangeConfig:s}),a.jsx(K1,{config:e,onChangeConfig:s})]})}function af({isActive:e,page:t,onChangePage:s,onOpenDebugUrl:i}){const{t:n}=Z(),[r,o]=m.useState(W1),[l,c]=m.useState(null),[h,u]=m.useState(null),[d,p]=m.useState(!1),f=m.useRef(!1),_=t.mode==="config",g=(l==null?void 0:l.adbMissing)===!0||(l==null?void 0:l.errors.includes("ADB was not found."))===!0,v=m.useCallback(y=>{o(S=>{const T=y(S);return $1(T),T})},[]),b=m.useCallback(async()=>{var S;if(f.current)return;const y=(S=window.oneworksDesktop)==null?void 0:S.listMobileDebugTargets;if(y==null){c(null),u(n("chat.interactionPanel.mobileDebugDesktopOnly"));return}f.current=!0,p(!0),u(null);try{c(await y({...r,selectedDeviceId:t.selectedDeviceId}))}catch{u(n("common.operationFailed"))}finally{f.current=!1,p(!1)}},[r,t.selectedDeviceId,n]),x=m.useCallback(async()=>{var S;if(f.current)return;const y=(S=window.oneworksDesktop)==null?void 0:S.listMobileDebugTargets;if(y!=null){f.current=!0;try{c(await y({discoverNetworkTargets:!1,discoverUsbDevices:!0,networkTargets:[],portForwardingRules:[]}))}catch{}finally{f.current=!1}}},[]);m.useEffect(()=>{if(!e||_)return;b();const y=window.setInterval(()=>void b(),3e3);return()=>window.clearInterval(y)},[e,_,b]),m.useEffect(()=>{if(!e||!_)return;x();const y=window.setInterval(()=>void x(),3e3);return()=>window.clearInterval(y)},[e,_,x]);const P=m.useMemo(()=>l==null||t.selectedDeviceId==null?l:{...l,devices:l.devices.filter(y=>y.id===t.selectedDeviceId),portForwarding:l.portForwarding.filter(y=>y.deviceId===t.selectedDeviceId),targets:l.targets.filter(y=>y.deviceId===t.selectedDeviceId||y.source==="network")},[t.selectedDeviceId,l]);return m.useEffect(()=>{if(l==null||_)return;const y=t.selectedDeviceId==null?void 0:l.devices.find(I=>I.id===t.selectedDeviceId),S=t.selectedDeviceId==null?void 0:(y==null?void 0:y.label)??t.selectedDeviceLabel,T=l.devices.map(I=>({id:I.id,label:I.label,state:I.state})),j=n("chat.interactionPanel.mobileDebugTitle");s(I=>{const R=I.deviceOptions??[],O=R.length===T.length&&R.every((k,N)=>{const C=T[N];return C!=null&&k.id===C.id&&k.label===C.label&&k.state===C.state});return I.title===j&&I.selectedDeviceLabel===S&&O?I:{...I,deviceOptions:T,selectedDeviceLabel:S,title:j}})},[_,s,t.selectedDeviceId,t.selectedDeviceLabel,l,n]),a.jsx("div",{className:"chat-interaction-panel-mobile-debug",children:_?a.jsx(z1,{config:r,isAdbMissing:g,onChangeConfig:v}):a.jsx(A1,{error:h,isLoading:d,state:P,onOpenDebugUrl:i})})}const Jh=(e,t)=>{var s,i;return((s=e==null?void 0:e.title)==null?void 0:s.trim())||((i=e==null?void 0:e.lastUserMessage)==null?void 0:i.trim())||(e==null?void 0:e.id)||t};function lf({autoFocusRequestId:e,page:t,sourceSessionId:s,onChangePage:i}){const{t:n}=Z(),r=Ri(Ld),o=t.sessionId==null?void 0:r[t.sessionId],{data:l}=Qt(t.sessionId!=null&&(o==null?void 0:o.status)!=="creating"?Kp(t.sessionId):null,()=>zp(t.sessionId??"")),c=(l==null?void 0:l.session)??(o==null?void 0:o.session),{creationProgress:h,messages:u,sessionInfo:d,sessionCompactionEvents:p,queuedMessages:f,interactionRequest:_,isReady:g,errorState:v,retryConnection:b,handleInteractionResponse:x,setMessages:P,placeholder:y,modelMenuGroups:S,builtinPreviewModelOptions:T,modelSearchOptions:j,recommendedModelOptions:I,servicePreviewModelOptions:R,toggleRecommendedModel:O,updatingRecommendedModelValue:k,selectedModel:N,modelForQuery:C,setSelectedModel:w,effort:M,setEffort:E,effortOptions:D,permissionMode:A,setPermissionMode:B,permissionModeOptions:H,selectedAdapter:U,setSelectedAdapter:W,selectedAccount:z,setSelectedAccount:F,accountOptions:te,showAccountSelector:ie,adapterOptions:ue,hiddenBuiltinAdapterOptions:pe,hasAvailableModels:Y,modelUnavailable:be}=Xu({enableTimelineView:!1,session:c}),ye=m.useMemo(()=>Fu({errorState:v,modelUnavailable:be,t:n}),[v,be,n]);return m.useEffect(()=>{if(c==null)return;const he=Jh(c,t.title);he===t.title&&c.id===t.sessionId||i($=>({...$,sessionId:c.id,title:he}))},[i,t.sessionId,t.title,c]),a.jsx("div",{className:"chat-interaction-panel-session",children:a.jsx(Hu,{embeddedSessionChrome:!0,navigateOnCreate:!1,isReady:g,canonicalSessionId:c==null?void 0:c.id,messages:u,session:c,sessions:c==null?[]:[c],sessionInfo:d,sessionCompactionEvents:p,historyStatusNotices:ye,historyCreationProgress:h,queuedMessages:f,onRetryConnection:b,interactionRequest:_,onInteractionResponse:x,setMessages:P,onClearMessages:()=>P([]),placeholder:y,modelMenuGroups:S,builtinPreviewModelOptions:T,modelSearchOptions:j,recommendedModelOptions:I,servicePreviewModelOptions:R,onToggleRecommendedModel:O,updatingRecommendedModelValue:k,selectedModel:N,modelForQuery:C,onModelChange:w,effort:M,effortOptions:D,onEffortChange:E,permissionMode:A,permissionModeOptions:H,onPermissionModeChange:B,selectedAdapter:U,adapterOptions:ue,hiddenBuiltinAdapterOptions:pe,onAdapterChange:W,selectedAccount:z,accountOptions:te,showAccountSelector:ie,onAccountChange:F,senderAutoFocusKey:e,modelUnavailable:be,hasAvailableModels:Y,workspaceSourceSessionId:s,onSessionCreated:he=>{i($=>({...$,sessionId:he.id,title:Jh(he,$.title)}))}})})}const Zh=(e,t)=>`${e}/${t}`,_l=e=>e.placement!=="right"&&e.clientView!=null,cf=({fallbackToSingle:e,pluginScope:t,tabId:s,tabs:i})=>{const n=i.filter(o=>o.pluginScope===t&&_l(o)),r=s==null?void 0:n.find(o=>o.id===s);if(r!=null)return r;if(e===!0&&n.length===1)return n[0]},hf=(e,t)=>_l(e)?{icon:e.icon??"layers",id:`plugin-${e.pluginScope}-${e.id}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`,pluginScope:e.pluginScope,tabId:e.id,title:Ni(e,"title",t)??e.title,viewId:e.clientView}:null,df=(e,t,s)=>{const i=new Map(t.map(n=>[Zh(n.pluginScope,n.id),n]));return e.flatMap(n=>{const r=i.get(Zh(n.pluginScope,n.tabId));return r==null||!_l(r)?[]:[{...n,icon:r.icon??"layers",title:Ni(r,"title",s)??r.title,viewId:r.clientView}]})},uf=(e,t)=>e.length===t.length&&e.every((s,i)=>{const n=t[i];return n!=null&&s.id===n.id&&s.pluginScope===n.pluginScope&&s.tabId===n.tabId&&s.title===n.title&&s.icon===n.icon&&s.viewId===n.viewId});function mf({terminalSessionId:e,t}){const s=m.useRef([]),[i,n]=m.useState(()=>{const h=Yc(e);return s.current=h,h}),r=h=>{const u=h(s.current);s.current=u,n(u)};return m.useEffect(()=>{const h=Yc(e);s.current=h,n(h)},[e]),m.useEffect(()=>{_k(e,i)},[i,e]),{addIframePage:()=>{const h=Gc(t("chat.interactionPanel.iframeTitle",{index:s.current.length+1}));return r(u=>[...u,h]),h},closeIframePages:h=>{r(u=>u.filter(d=>!h.has(d.id)))},handleIframeMetadataChange:(h,u)=>r(d=>d.map(p=>p.id===h?bk(p,u):p)),handleIframeNavigateHistory:(h,u)=>r(d=>d.map(p=>p.id===h?gk(p,u):p)),handleIframeSelectHistory:(h,u)=>r(d=>d.map(p=>p.id===h?vk(p,u):p)),handleIframeUrlChange:(h,u)=>r(d=>d.map(p=>p.id===h?Xc(p,u):p)),iframePages:i,openIframeUrl:(h,u={})=>{var v,b;const d=ps(h),p=(v=u.faviconUrl)==null?void 0:v.trim(),f=(b=u.title)==null?void 0:b.trim(),_=s.current.find(x=>ps(x.url)===d);if(_!=null){const x=(u.variant==="mobile-debug-devtools"||p!=null&&p!=="")&&_.faviconUrl!==p;if(u.variant!=null&&_.variant!==u.variant||x||f!=null&&f!==""&&_.title!==f){const P={..._,...x?{faviconUrl:p}:{},...f==null||f===""?{}:{title:f},...u.variant==null?{}:{variant:u.variant}};return r(y=>y.map(S=>S.id===P.id?P:S)),P}return _}const g=Xc(Gc(f||t("chat.interactionPanel.iframeTitle",{index:s.current.length+1}),u),d);return r(x=>x.some(P=>ps(P.url)===d)?x:[...x,g]),g}}}const U1=e=>e.map(t=>({id:t.id,label:t.label,state:t.state})),q1=(e,t)=>e.length===t.length&&e.every((s,i)=>{const n=t[i];return n!=null&&s.id===n.id&&s.label===n.label&&s.state===n.state});function gl(e){const[t,s]=m.useState(()=>e??[]),i=m.useRef(!1);m.useEffect(()=>{e==null||q1(t,e)||s(e)},[t,e]);const n=m.useCallback(async()=>{var o;if(i.current)return;const r=(o=window.oneworksDesktop)==null?void 0:o.listMobileDebugTargets;if(r!=null){i.current=!0;try{const l=await r({discoverNetworkTargets:!1,discoverUsbDevices:!0,networkTargets:[],portForwardingRules:[]});s(U1(l.devices))}catch{}finally{i.current=!1}}},[]);return{deviceOptions:t,refreshDeviceOptions:n}}const V1=e=>({id:`mobile-debug-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`,mode:"targets",title:e});function ff(){const[e,t]=m.useState([]),s=(r,o={})=>{const l=e[0];if(l!=null){const h={...l,...o,title:r};return t(u=>u.map(d=>d.id===l.id?h:d)),h}const c={...V1(r),...o};return t([c]),c},i=m.useCallback(r=>{r.size<=0||t(o=>o.filter(l=>!r.has(l.id)))},[]),n=m.useCallback((r,o)=>{t(l=>{let c=!1;const h=l.map(u=>{if(u.id!==r)return u;const d=o(u);return d!==u&&(c=!0),d});return c?h:l})},[]);return{addMobileDebugPage:s,closeMobileDebugPages:i,mobileDebugPages:e,updateMobileDebugPage:n}}const pf=e=>`chatInteractionSessionPages:${e}`,Qh=(e,t,s)=>({id:`session-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`,...s==null||s.trim()===""?{}:{focusRequestId:s.trim()},...t==null||t.trim()===""?{}:{sessionId:t.trim()},title:e}),_f=e=>{var s;const t=(s=e.sessionId)==null?void 0:s.trim();return{id:e.id,title:e.title.trim()||t||e.id,...t==null||t===""?{}:{sessionId:t}}},ed=e=>{if(typeof window>"u")return[];try{const t=window.localStorage.getItem(pf(e)),s=t==null?[]:JSON.parse(t);return Array.isArray(s)?s.filter(i=>i!=null&&typeof i=="object"&&typeof i.id=="string"&&typeof i.title=="string").map(_f):[]}catch{return[]}},G1=(e,t)=>{if(!(typeof window>"u"))try{window.localStorage.setItem(pf(e),JSON.stringify(t.map(_f)))}catch{}};function gf(e){const t=m.useRef(e),[s,i]=m.useState(()=>ed(e));m.useEffect(()=>{t.current!==e&&(t.current=e,i(ed(e)))},[e]),m.useEffect(()=>{G1(e,s)},[s,e]);const n=m.useCallback(c=>{const h=Qh(c);return i(u=>[...u,h]),h},[]),r=m.useCallback((c,h=new Set)=>{c.size<=0&&h.size<=0||i(u=>u.filter(d=>!c.has(d.id)&&(d.sessionId==null||!h.has(d.sessionId))))},[]),o=m.useCallback((c,h,u={})=>{var g;const d=c.trim(),p=(g=u.focusRequestId)==null?void 0:g.trim(),f=s.find(v=>v.sessionId===d);if(f!=null)return p!=null&&p!==""&&i(v=>v.map(b=>b.id===f.id?{...b,focusRequestId:p}:b)),p==null||p===""?f:{...f,focusRequestId:p};const _=Qh(h,d,p);return i(v=>v.some(b=>b.sessionId===d)?v:[...v,_]),_},[s]),l=m.useCallback((c,h)=>{i(u=>u.map(d=>d.id===c?h(d):d))},[]);return{addSessionPage:n,closeSessionPages:r,openSessionPage:o,sessionPages:s,updateSessionPage:l}}const Y1=e=>(e==null?void 0:e.trim().replace(/^@+/,""))??"";function X1({approvals:e,onOpenRun:t}){const{t:s}=Z();return e.length===0?a.jsx("div",{className:"chat-workspace-drawer__approvals-empty",children:a.jsx(ms,{image:ms.PRESENTED_IMAGE_SIMPLE,description:s("agentRoom.approvals.empty")})}):a.jsx("div",{className:"chat-workspace-drawer__approvals","aria-label":s("chat.workspaceDrawerApprovals"),children:e.map(i=>{var h,u;const n=Y1((h=i.member)==null?void 0:h.label),r=n!==""?n:s("agentRoom.message.agent"),o=i.run,l=(u=i.run)==null?void 0:u.title,c=s("agentRoom.approvals.waitingForInput");return a.jsxs("article",{className:"chat-workspace-drawer__approval-card","aria-label":c,children:[a.jsxs("div",{className:"chat-workspace-drawer__approval-head",children:[a.jsxs("div",{className:"chat-workspace-drawer__approval-context",children:[a.jsx("span",{className:"chat-workspace-drawer__approval-agent",children:r}),l!=null&&l!==""&&a.jsx("span",{className:"chat-workspace-drawer__approval-run",children:l})]}),a.jsx("span",{className:"chat-workspace-drawer__approval-status",children:c})]}),a.jsx("div",{className:"chat-workspace-drawer__approval-message",children:i.content}),a.jsx("div",{className:"chat-workspace-drawer__approval-note",children:s("agentRoom.approvals.waitingDescription")}),o!=null&&t!=null&&a.jsxs("button",{type:"button",className:"chat-workspace-drawer__approval-open-run",onClick:()=>t(o),children:[a.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:"open_in_new"}),a.jsx("span",{children:s("agentRoom.actions.openRun")})]})]},i.id)})})}const vf=e=>[...e].sort((t,s)=>t.file.path.localeCompare(s.file.path)),bf=e=>e.split("/").pop()??e,J1=e=>{const t=bf(e);return e===t?"":e.slice(0,Math.max(0,e.length-t.length-1))},Z1=e=>{const t=[];return e.staged&&t.push({file:e,key:`${e.path}:staged`,scope:"staged"}),e.unstaged&&!e.untracked&&t.push({file:e,key:`${e.path}:tracked`,scope:"tracked"}),e.untracked&&t.push({file:e,key:`${e.path}:untracked`,scope:"untracked"}),t},Q1=e=>{const t=e.flatMap(Z1),s=[{scope:"staged",entries:[],count:0},{scope:"tracked",entries:[],count:0},{scope:"untracked",entries:[],count:0}];for(const i of s)i.entries=vf(t.filter(n=>n.scope===i.scope)),i.count=i.entries.length;return s.filter(i=>i.count>0)},eN=(e,t,s)=>{const i=e.children.find(r=>r.path===s);if(i!=null)return i;const n={name:t,path:s,children:[],entries:[]};return e.children.push(n),n},yf=e=>{e.children.sort((t,s)=>t.name.localeCompare(s.name)),e.entries=vf(e.entries);for(const t of e.children)yf(t)},td=e=>{const t={name:"",path:"",children:[],entries:[]};for(const s of e){const i=s.file.path.split("/").filter(Boolean);if(i.pop()==null)continue;let r=t,o="";for(const l of i)o=o===""?l:`${o}/${l}`,r=eN(r,l,o);r.entries.push(s)}return yf(t),t},Na=e=>{const t=e.path===""?[]:[e.path];for(const s of e.children)t.push(...Na(s));return t},wf=(e,t)=>{if(e.path===t)return e;for(const s of e.children){const i=wf(s,t);if(i!=null)return i}return null},tN=(e,t)=>{const s=e.file.submodule;return s==null?[]:[s.commitChanged?t("chat.workspaceDrawerSubmoduleCommit"):null,s.trackedChanges?t("chat.workspaceDrawerSubmoduleTracked"):null,s.untrackedChanges?t("chat.workspaceDrawerSubmoduleUntracked"):null].filter(i=>i!=null)};function Sf({entry:e,onOpenFile:t,selectedFilePath:s,showDirectory:i=!0}){const{t:n}=Z(),r=bf(e.file.path),o=J1(e.file.path),l=e.file.submodule!=null?{icon:"folder_special",tone:"submodule"}:En(r),c=m.useMemo(()=>{const h=tN(e,n),u=n(`chat.workspaceDrawerFileStatus.${e.scope}`);return h.length===0?u:`${u} · ${n("chat.workspaceDrawerSubmodule")}: ${h.join(", ")}`},[e,n]);return a.jsxs("button",{type:"button",className:`chat-workspace-drawer__changed-file ${s===e.file.path?"is-selected":""}`,title:e.file.path,onClick:()=>t==null?void 0:t(e.file.path),children:[a.jsx("span",{className:`material-symbols-rounded chat-workspace-drawer__changed-icon is-${l.tone}`,children:l.icon}),a.jsxs("span",{className:"chat-workspace-drawer__changed-copy",children:[a.jsx("span",{className:"chat-workspace-drawer__changed-name",children:r}),i&&o!==""&&a.jsx("span",{className:"chat-workspace-drawer__changed-path",children:o})]}),a.jsx(ze,{title:c,children:a.jsx("span",{className:`chat-workspace-drawer__changed-status-dot is-${e.scope}`,"aria-label":c})})]})}const sd=e=>({"--changed-folder-depth":e}),sN=e=>{const t=[e.name];let s=e;for(;s.entries.length===0&&s.children.length===1;)s=s.children[0],t.push(s.name);return{label:t.join("/"),node:s}};function kf({depth:e,expandedPaths:t,node:s,onOpenFile:i,onSelectFolder:n,onToggleFolder:r,selectedFilePath:o,selectedFolder:l,scope:c}){const h=s.path==="",u=h?{label:"",node:s}:sN(s),d=u.node,p=h||t.has(d.path),f=(l==null?void 0:l.scope)===c&&l.path===d.path;return a.jsxs("div",{className:"chat-workspace-drawer__changed-folder-node",children:[!h&&a.jsxs("button",{type:"button",className:`chat-workspace-drawer__changed-folder ${p?"is-expanded":""} ${f?"is-selected":""}`,style:sd(e),"aria-expanded":p,"aria-pressed":f,title:d.path,onClick:()=>{n(d.path),r(d.path)},children:[a.jsx("span",{className:"material-symbols-rounded chat-workspace-drawer__changed-folder-icon",children:p?"folder_open":"folder"}),a.jsx("span",{className:"chat-workspace-drawer__changed-folder-name",children:u.label})]}),a.jsx("div",{className:`chat-workspace-drawer__changed-folder-children ${p?"is-expanded":"is-collapsed"}`,children:a.jsxs("div",{className:"chat-workspace-drawer__changed-folder-children-inner",children:[d.children.map(_=>a.jsx(kf,{depth:e+1,expandedPaths:t,node:_,selectedFilePath:o,onOpenFile:i,onSelectFolder:n,onToggleFolder:r,selectedFolder:l,scope:c},_.path)),d.entries.map(_=>a.jsx("div",{className:"chat-workspace-drawer__changed-folder-entry",style:sd(d.path===""?0:e+1),children:a.jsx(Sf,{entry:_,selectedFilePath:o,showDirectory:!1,onOpenFile:i})},_.key))]})})]})}function iN({command:e,onOpenFile:t,onSelectFolder:s,root:i,scope:n,selectedFilePath:r,selectedFolder:o}){const l=m.useMemo(()=>Na(i),[i]),[c,h]=m.useState(()=>new Set(l));m.useEffect(()=>{h(new Set(l))},[l]),m.useEffect(()=>{if(e==null)return;const d=(o==null?void 0:o.scope)===n?o.path:null,p=d==null?i:wf(i,d),f=p==null?l:Na(p),_=d==null?f:[d,...f];h(g=>{if(e.action==="expand")return new Set([...g,..._]);const v=new Set(g);for(const b of _)v.delete(b);return v})},[l,e,i,n,o]);const u=d=>{h(p=>{const f=new Set(p);return f.has(d)?f.delete(d):f.add(d),f})};return a.jsx(kf,{depth:0,expandedPaths:c,node:i,selectedFilePath:r,onOpenFile:t,onSelectFolder:d=>s({scope:n,path:d}),onToggleFolder:u,selectedFolder:o,scope:n})}function nN({command:e,isLoading:t,layout:s,onOpenFile:i,repoState:n,selectedFilePath:r}){const{t:o}=Z(),[l,c]=m.useState(new Set),[h,u]=m.useState(null),d=m.useMemo(()=>(n==null?void 0:n.available)!==!0?[]:n.changedFiles??[],[n]),p=m.useMemo(()=>Q1(d),[d]),f=m.useMemo(()=>p.map(v=>v.scope),[p]),_=m.useMemo(()=>new Map(p.map(v=>[v.scope,td(v.entries)])),[p]);m.useEffect(()=>{c(v=>new Set(Array.from(v).filter(b=>f.includes(b))))},[f]),m.useEffect(()=>{s!=="folders"&&u(null)},[s]),m.useEffect(()=>{if(e!=null){if(h==null){c(e.action==="expand"?new Set:new Set(f));return}e.action==="expand"&&c(v=>{const b=new Set(v);return b.delete(h.scope),b})}},[e,f,h]);const g=v=>{c(b=>{const x=new Set(b);return x.has(v)?x.delete(v):x.add(v),x})};return t?a.jsxs("div",{className:"chat-workspace-drawer__loading",children:[a.jsx(Kd,{size:"small"}),a.jsx("span",{children:o("chat.workspaceDrawerLoadingGit")})]}):n!=null&&n.available!==!0?a.jsx(ms,{image:ms.PRESENTED_IMAGE_SIMPLE,description:o("chat.workspaceDrawerGitUnavailable")}):p.length===0?a.jsx(ms,{image:ms.PRESENTED_IMAGE_SIMPLE,description:o("chat.workspaceDrawerNoChangedFiles")}):a.jsx("div",{className:"chat-workspace-drawer__changed-list",children:a.jsx("div",{className:"chat-workspace-drawer__changed-sections",children:p.map(v=>{const b=l.has(v.scope);return a.jsxs("section",{className:"chat-workspace-drawer__changed-section",children:[a.jsxs("div",{className:"chat-workspace-drawer__changed-section-header",children:[a.jsx("span",{children:o(`chat.workspaceDrawerChangedSection.${v.scope}`)}),a.jsxs("span",{className:"chat-workspace-drawer__changed-section-meta",children:[a.jsx("span",{children:v.count}),a.jsx(Oe,{type:"text",className:"chat-workspace-drawer__changed-section-toggle","aria-label":o("chat.workspaceDrawerToggleSection"),"aria-expanded":!b,onClick:()=>g(v.scope),children:a.jsx("span",{className:"material-symbols-rounded",children:b?"expand_more":"expand_less"})})]})]}),a.jsx("div",{className:`chat-workspace-drawer__changed-section-body ${b?"is-collapsed":"is-expanded"}`,children:a.jsx("div",{className:"chat-workspace-drawer__changed-section-body-inner",children:s==="folders"?a.jsx(iN,{command:e,root:_.get(v.scope)??td([]),scope:v.scope,selectedFolder:h,selectedFilePath:r,onOpenFile:i,onSelectFolder:u}):v.entries.map(x=>a.jsx(Sf,{entry:x,selectedFilePath:r,onOpenFile:i},x.key))})})]},v.scope)})})})}function rN({command:e,onOpenFile:t,onReferencePaths:s,refreshKey:i,selectedFilePath:n,sessionId:r}){return a.jsx(Up,{activePath:n,className:"chat-workspace-drawer__tree",command:e,refreshKey:i,selectableTypes:"all",selectionMode:"multiple",sessionId:r,showContextMenu:!0,onOpenFile:t,onReferenceNodes:o=>s==null?void 0:s(o.map(qp))})}function xf({activeView:e,agentApprovals:t,agentRoster:s,approvalMessages:i,changedLayout:n,changedTreeCommand:r,isGitLoading:o,onOpenFile:l,onReferencePaths:c,pluginTabs:h,repoState:u,selectedFilePath:d,settingsView:p,sessionId:f,treeRefreshKey:_,workspaceTreeCommand:g}){if(e.startsWith("plugin:")){const v=h==null?void 0:h.find(b=>`plugin:${b.pluginScope}:${b.id}`===e);if((v==null?void 0:v.clientView)!=null)return a.jsx("div",{className:"chat-workspace-drawer__plugin-panel",children:a.jsx(Ra,{scope:v.pluginScope,surface:"drawer",viewId:v.clientView})})}return e==="approvals"&&t!=null?a.jsx(X1,{approvals:i,onOpenRun:t.onOpenRun}):e==="agents"&&s!=null?a.jsx("div",{className:"chat-workspace-drawer__agents-panel",children:a.jsx(H_,{layout:"desktop",members:s.members,showHeader:!1,onOpenRun:s.onOpenRun})}):e==="settings"&&p!=null?a.jsx("div",{className:"chat-workspace-drawer__settings-panel",children:p}):e==="tree"?a.jsx(rN,{command:g,refreshKey:_,selectedFilePath:d,sessionId:f,onOpenFile:l,onReferencePaths:c}):a.jsx(nN,{command:r,isLoading:o,layout:n,repoState:u,selectedFilePath:d,onOpenFile:l})}const oN=[{key:"folders",icon:"account_tree",labelKey:"chat.workspaceDrawerChangedFolders"},{key:"flat",icon:"view_list",labelKey:"chat.workspaceDrawerChangedFlat"}],aN={type:"divider"},vo=e=>a.jsx("span",{className:"material-symbols-rounded chat-workspace-drawer__menu-icon",children:e});function Cf({includeCloseAction:e=!0,onActivateView:t,onClose:s,onForceSync:i,selectedFilePath:n,t:r}){const[o,l]=m.useState("folders"),[c,h]=m.useState(null),[u,d]=m.useState(null),[p,f]=m.useState(0),_=n!=null&&n!=="",g=m.useCallback(()=>{i==null||i(),f(T=>T+1)},[i]),v=m.useCallback(T=>{t==null||t("changes"),l("folders"),h(j=>({action:T,id:((j==null?void 0:j.id)??0)+1}))},[t]),b=m.useCallback((T,j)=>{t==null||t("tree"),d(I=>({action:T,id:((I==null?void 0:I.id)??0)+1,path:j}))},[t]),x=m.useCallback(T=>[{key:"force-sync",label:r("chat.workspaceDrawerForceSync"),icon:vo("sync"),onClick:g},...T==="changes"?[aN,{key:"display-mode",label:r("chat.workspaceDrawerDisplayMode"),icon:vo("view_module"),children:oN.map(j=>({key:`layout:${j.key}`,label:r(j.labelKey),icon:vo(o===j.key?"check":j.icon),onClick:()=>l(j.key)}))}]:[]],[o,g,r]),P=m.useCallback(({isTopRightGroup:T,view:j})=>{const I=e&&T&&s!=null?[{icon:"right_panel_close",key:"workspace-drawer:close",label:r("chat.workspaceDrawerClose"),onSelect:s}]:[];if(j!=="tree"&&j!=="changes")return I;const R=O=>{if(j==="changes"){v(O);return}b(O)};return[{disabled:!_,icon:"my_location",key:`${j}:locate`,label:r("chat.workspaceDrawerLocateFile"),onSelect:()=>b("locate",n??void 0)},{icon:"unfold_more",key:`${j}:expand`,label:r("chat.workspaceDrawerExpandAll"),onSelect:()=>R("expand")},{icon:"unfold_less",key:`${j}:collapse`,label:r("chat.workspaceDrawerCollapseAll"),onSelect:()=>R("collapse")},{icon:"more_vert",key:`${j}:more`,label:r("common.moreActions"),menuItems:x(j)},...I]},[x,v,b,_,e,s,n,r]),y=m.useCallback(T=>P({isTopRightGroup:T.isTopRightGroup,view:T.groupActiveTabKey}),[P]);return{...{changedLayout:o,changedTreeCommand:c,treeRefreshKey:p,workspaceTreeCommand:u},getActionsForView:P,getRouteContainerHeaderActions:y,handleChangedTreeCommand:v,handleForceSync:g,handleWorkspaceTreeCommand:b}}const Nf=(e,t)=>`plugin:${e}:${t}`,lN=e=>new Set(e.filter(t=>t.placement==="right"&&t.clientView!=null).map(t=>Nf(t.pluginScope,t.id))),Tf=({agentRosterCount:e,approvalCount:t,changedFilesCount:s,hasAgentsTab:i,hasApprovalsTab:n,hasSettingsTab:r,language:o,pluginTabs:l,t:c})=>[{key:"tree",icon:"folder",label:c("chat.workspaceDrawerTree")},{key:"changes",icon:"difference",label:c("chat.workspaceDrawerChangedFiles"),count:s},...r===!0?[{key:"settings",icon:"tune",label:c("chat.viewSettings")}]:[],...n===!0?[{key:"approvals",icon:"approval",label:c("chat.workspaceDrawerApprovals"),count:t}]:[],...i===!0?[{key:"agents",icon:"groups",label:c("chat.workspaceDrawerAgents"),count:e}]:[],...l.filter(h=>h.placement==="right"&&h.clientView!=null).map(h=>({key:Nf(h.pluginScope,h.id),icon:h.icon??"layers",label:Ni(h,"title",o)??h.title}))],Ji=e=>{const t=new Set,s=[];for(const i of e)t.has(i)||(t.add(i),s.push(i));return s},cN=(e,t)=>e.length===t.length&&e.every((s,i)=>s===t[i]),Ef="workspace-drawer:iframe:",Mf="workspace-drawer:mobile-debug:",vl="workspace-drawer:plugin:",Pf="workspace-drawer:session:",Rf="workspace-drawer:terminal:",Zi=e=>`${Ef}${encodeURIComponent(e)}`,Qi=e=>`${Mf}${encodeURIComponent(e)}`,bo=e=>`${vl}${encodeURIComponent(e)}`,Zn=e=>`${Pf}${encodeURIComponent(e)}`,Qn=e=>`${Rf}${encodeURIComponent(e)}`,hN=(e,t)=>e.startsWith(t)?decodeURIComponent(e.slice(t.length)):void 0,dN=e=>{const t=new Set,s=[];for(const i of e)t.has(i)||(t.add(i),s.push(i));return s},yo=(e,t)=>e!=null&&t.has(e),uN=e=>e.startsWith(Ef)||e.startsWith(Mf)||e.startsWith(vl)||e.startsWith(Pf)||e.startsWith(Rf);function mN({agentApprovals:e,agentRoster:t,defaultView:s="tree",isFullscreen:i=!1,locateFileRequest:n,onClose:r,onFullscreenChange:o,onOpenFile:l,onReferencePaths:c,selectedFilePath:h,settingsView:u,sessionId:d,terminalSessionId:p,terminalPanes:f}){var Ke;const{i18n:_,t:g}=Z(),v=vs(),b=e!=null,x=t!=null,P=u!=null,y=rs("workbench.tabs"),S=rs("workbench.addMenu"),T=Tr(),j=_.resolvedLanguage??_.language,I=m.useMemo(()=>lN(y),[y]),R=m.useCallback(Q=>Q.startsWith("plugin:")&&!I.has(Q),[I]),O=typeof navigator<"u"&&navigator.platform.includes("Mac"),k=`chat-workspace-drawer:${d??"workspace"}`,N=`${k}:sessions`,C=`${k}:iframes`,w=mf({terminalSessionId:C,t:g}),M=ff(),E=gf(N),[D,A]=m.useState([]),B=M.mobileDebugPages[0],{deviceOptions:H,refreshDeviceOptions:U}=gl(B==null?void 0:B.deviceOptions),[W,z]=m.useState(h??null),F=d!=null&&d!==""?["chat-workspace-drawer-git",d]:"chat-workspace-drawer-git",{data:te,isLoading:ie,mutate:ue}=Qt(F,()=>d!=null&&d!==""?Bd(d):Od(),{refreshInterval:3e3,revalidateOnFocus:!0}),pe=(te==null?void 0:te.available)===!0?((Ke=te.changedFiles)==null?void 0:Ke.length)??0:0,Y=m.useMemo(()=>e==null?[]:rm(e.room),[e]),be=Y.length>0,ye=m.useMemo(()=>{if(t!=null)return{memberCount:t.members.length,pendingCount:t.members.reduce((Q,$e)=>Q+$e.pendingCount,0)}},[t]),he=m.useMemo(()=>Tf({agentRosterCount:ye==null?void 0:ye.pendingCount>0?ye.pendingCount:ye.memberCount,approvalCount:Y.length,changedFilesCount:pe,hasAgentsTab:ye!=null,hasApprovalsTab:b,hasSettingsTab:P,language:j,pluginTabs:y,t:g}),[ye,Y.length,pe,b,P,j,y,g]),$=m.useMemo(()=>he.map(Q=>Q.key),[he]),de=m.useMemo(()=>new Set($),[$]),oe=s==="approvals"&&!be&&x?"agents":s,_e=x?"agents":"tree",ce=oe==="agents"&&!x||oe==="approvals"&&!b||oe==="settings"&&!P||R(oe),We=ce?_e:oe,[we,Se]=m.useState(()=>We),[me,Ge]=m.useState(()=>[We]),[ae,ee]=m.useState(()=>We),Re=we==="agents"&&!x||we==="approvals"&&!b||we==="settings"&&!P||R(we),Ve=m.useCallback(Q=>{de.has(Q)&&(Se(Q),ee(Q),Ge($e=>Ji([...$e,Q])))},[de]),Ue=Cf({includeCloseAction:!1,onActivateView:Ve,onClose:r,onForceSync:ue,selectedFilePath:h,t:g}),{handleWorkspaceTreeCommand:Qe}=Ue,Xe=m.useMemo(()=>({...r==null?{}:{close:{icon:"right_panel_close",label:g("chat.workspaceDrawerCollapse"),onSelect:r}},...o==null?{}:{fullscreen:{active:i,label:g(i?"common.exitFullscreen":"common.enterFullscreen"),onSelect:()=>o(!i)}}}),[i,r,o,g]);m.useEffect(()=>{Re&&(Se(_e),ee(_e),Ge(Q=>Ji([...Q,_e])))},[_e,Re]),m.useEffect(()=>{ce||(Se(oe),ee(Q=>uN(Q)?Q:oe),Ge(Q=>Ji([...Q,oe])))},[ce,oe]),m.useEffect(()=>z(h??null),[h]),m.useEffect(()=>{A(Q=>{const $e=df(Q,y,j);return uf(Q,$e)?Q:$e})},[j,y]),m.useEffect(()=>{const Q=n==null?void 0:n.path.trim();n==null||Q==null||Q===""||(z(Q),Qe("locate",Q))},[Qe,n]);const it=Re?_e:we,Ie=m.useMemo(()=>{const Q=Ji([it,...me].filter($e=>de.has($e)));return Q.length===0?[_e]:Q},[de,_e,me,it]);m.useEffect(()=>{Ge(Q=>{const $e=Ji([it,...Q].filter(Dt=>de.has(Dt)));return cN(Q,$e)?Q:$e})},[de,it]);const Ee=m.useMemo(()=>f.panes.filter(Q=>Ga(Q,"workspace-drawer")),[f.panes]),et=m.useMemo(()=>Ee.map(Q=>Qn(Q.id)),[Ee]),ot=m.useMemo(()=>w.iframePages.map(Q=>Zi(Q.id)),[w.iframePages]),q=m.useMemo(()=>M.mobileDebugPages.map(Q=>Qi(Q.id)),[M.mobileDebugPages]),Ae=m.useMemo(()=>D.map(Q=>bo(Q.id)),[D]),Pe=m.useMemo(()=>E.sessionPages.map(Q=>Zn(Q.id)),[E.sessionPages]),tt=m.useMemo(()=>dN([...Ie,...et,...ot,...q,...Ae,...Pe]),[ot,q,Ie,Ae,Pe,et]),le=tt.includes(ae)?ae:it;m.useEffect(()=>{tt.includes(ae)||ee(it)},[ae,tt,it]);const ge=m.useCallback((Q,$e)=>{Q!=null&&(ee(Q),yo(Q,de)&&Se(Q));const Dt=$e.filter(De=>yo(De,de));Ge(Dt);const yt=new Set($e),ht=Ee.filter(De=>!yt.has(Qn(De.id))).map(De=>De.id);ht.length>0&&f.closeTerminals(ht);const He=w.iframePages.filter(De=>!yt.has(Zi(De.id))).map(De=>De.id);He.length>0&&w.closeIframePages(new Set(He));const se=M.mobileDebugPages.filter(De=>!yt.has(Qi(De.id))).map(De=>De.id);se.length>0&&M.closeMobileDebugPages(new Set(se));const st=E.sessionPages.filter(De=>!yt.has(Zn(De.id))).map(De=>De.id);st.length>0&&E.closeSessionPages(new Set(st));const at=new Set($e.flatMap(De=>{const xt=hN(De,vl);return xt==null?[]:[xt]}));A(De=>{const xt=De.filter(Wt=>at.has(Wt.id));return xt.length===De.length?De:xt})},[de,Ee,w,M,E,f]),Je=m.useMemo(()=>il(g,O,{canCreateSessionTab:d!=null&&d!=="",language:j,mobileDebugDevices:H,pluginMenuItems:S,selectedMobileDebugDeviceId:B==null?void 0:B.selectedDeviceId,workspaceDrawerItems:he}),[H,O,B==null?void 0:B.selectedDeviceId,S,j,d,g,he]),It=m.useMemo(()=>Ie.map(Fr),[Ie]),V=m.useCallback(Q=>{const $e=String(Q.key),Dt=sl($e);if(Dt!=null){Ve(Dt);return}const yt=im($e);if(yt!=null){const He=S.find(at=>at.pluginScope===yt.scope&&at.id===yt.id);if(He==null)return;if(He.command!=null&&T!=null){T(He.pluginScope,He.command);return}if(He.route!=null){v(He.route);return}if(He.href!=null){window.open(He.href,"_blank","noopener,noreferrer");return}const se=cf({fallbackToSingle:He.tab==null,pluginScope:He.pluginScope,tabId:He.tab??He.id,tabs:y}),st=se==null?null:hf(se,j);if(st!=null){A(at=>[...at,st]),ee(bo(st.id));return}v(`/plugins/${He.pluginScope}/${He.id}`);return}if($e==="resource"){Ve("tree");return}if($e==="terminal"){const He=f.addTerminal("default",{surface:"workspace-drawer"});ee(Qn(He.id));return}if($e==="iframe"){const He=w.addIframePage();ee(Zi(He.id));return}if($e==="session"){if(d==null||d==="")return;const He=E.addSessionPage(g("chat.interactionPanel.sessionTitle",{index:E.sessionPages.length+1}));ee(Zn(He.id));return}if($e==="mobile-debug"||$e===el||$e===tl){const He=M.addMobileDebugPage(g("chat.interactionPanel.mobileDebugTitle"),{mode:"config",selectedDeviceId:void 0,selectedDeviceLabel:g("chat.interactionPanel.mobileDebugConfig")});ee(Qi(He.id));return}const ht=nm($e);if(ht!=null){const He=H.find(st=>st.id===ht.id),se=M.addMobileDebugPage(g("chat.interactionPanel.mobileDebugTitle"),{mode:"targets",selectedDeviceId:ht.id,selectedDeviceLabel:(He==null?void 0:He.label)??ht.label??ht.id});ee(Qi(se.id))}},[H,T,w,M,v,Ve,S,y,d,E,g,f]),ne=m.useCallback(Q=>Ue.getActionsForView({isTopRightGroup:Q.isTopRightGroup,view:yo(Q.groupActiveTabKey,de)?Q.groupActiveTabKey:null}),[de,Ue]),ve=m.useMemo(()=>{const Q=he.map(se=>({activeIcon:se.icon,badge:se.count!=null&&se.count>0?a.jsx("span",{className:"chat-workspace-drawer__view-count",children:se.count}):void 0,content:()=>a.jsx(xf,{activeView:se.key,agentApprovals:e,agentRoster:t,approvalMessages:Y,changedLayout:Ue.changedLayout,changedTreeCommand:Ue.changedTreeCommand,isGitLoading:ie,repoState:te,selectedFilePath:se.key==="tree"?W:h,settingsView:u,sessionId:d,pluginTabs:y,treeRefreshKey:Ue.treeRefreshKey,workspaceTreeCommand:Ue.workspaceTreeCommand,onOpenFile:l,onReferencePaths:c}),icon:se.icon,key:se.key,label:se.label,title:se.label})),$e=Ee.map(se=>{var De,xt;const st=Qn(se.id),at=((De=se.runCommand)==null?void 0:De.icon)??(((xt=f.infoById[se.id])==null?void 0:xt.isExited)===!0?"terminal_off":"terminal");return{content:({isVisible:Wt})=>a.jsx("div",{className:`chat-interaction-panel__dock-panel-content ${Wt?"is-visible":"is-hidden"}`,children:a.jsx(fl,{activeTerminalId:Wt?se.id:"",panes:[se],sessionId:p,onExit:f.closeTerminal,onInfoChange:f.handleInfoChange,onInitialCommandSent:f.markInitialCommandSent,onRestartChange:f.handleRestartChange,onTerminateChange:f.handleTerminateChange})}),icon:at,key:st,label:se.title,title:se.title}}),Dt=E.sessionPages.map(se=>{const st=Zn(se.id);return{content:({isVisible:at})=>a.jsx("div",{className:`chat-interaction-panel__dock-panel-content ${at?"is-visible":"is-hidden"}`,children:a.jsx(lf,{autoFocusRequestId:at?se.focusRequestId:void 0,page:se,sourceSessionId:d,onChangePage:De=>E.updateSessionPage(se.id,De)})}),icon:"chat",key:st,label:se.title,title:se.title}}),yt=M.mobileDebugPages.map(se=>{const st=Qi(se.id);return{content:({isVisible:at})=>a.jsx("div",{className:`chat-interaction-panel__dock-panel-content ${at?"is-visible":"is-hidden"}`,children:a.jsx(af,{isActive:at&&le===st,page:se,onChangePage:De=>M.updateMobileDebugPage(se.id,De),onOpenDebugUrl:(De,xt)=>{const Wt=w.openIframeUrl(De,xt);ee(Zi(Wt.id))}})}),icon:"phonelink_setup",key:st,label:se.selectedDeviceLabel==null||se.selectedDeviceLabel===""?se.title:`${se.title} · ${se.selectedDeviceLabel}`,title:se.title}}),ht=D.map(se=>({content:({isVisible:st})=>a.jsx("div",{className:`chat-interaction-panel__dock-panel-content ${st?"is-visible":"is-hidden"}`,children:a.jsx(Ra,{routeId:"chat-workspace-drawer",scope:se.pluginScope,surface:"drawer",viewId:se.viewId})}),icon:se.icon,key:bo(se.id),label:se.title,title:se.title})),He=w.iframePages.map(se=>{const st=Zi(se.id);return{content:({isVisible:at})=>a.jsx("div",{className:`chat-interaction-panel__dock-panel-content ${at?"is-visible":"is-hidden"}`,children:a.jsx(ef,{isActive:at&&le===st,page:se,projectUrlHistoryKey:`${C}:project`,sessionUrlHistoryKey:`${C}:session`,onChangeMetadata:w.handleIframeMetadataChange,onSelectHistory:w.handleIframeSelectHistory,onChangeUrl:w.handleIframeUrlChange,onNavigateHistory:w.handleIframeNavigateHistory})}),icon:"language",iconNode:se.faviconUrl==null||se.faviconUrl===""?void 0:a.jsx("img",{alt:"","aria-hidden":"true",className:"chat-interaction-panel__dock-tab-favicon",src:se.faviconUrl}),key:st,label:se.title,title:se.title}});return[...Q,...$e,...Dt,...yt,...ht,...He]},[e,t,Y,Ee,w,ie,M,l,c,D,y,te,le,h,d,E,u,f,p,W,he,C,Ue.changedLayout,Ue.changedTreeCommand,Ue.treeRefreshKey,Ue.workspaceTreeCommand]);return a.jsx("aside",{className:"chat-workspace-drawer","aria-label":g("chat.workspaceDrawerTitle"),children:a.jsx(Aa,{activeTab:le,ariaLabel:g("chat.workspaceDrawerTitle"),className:"chat-workspace-drawer__dock-workspace",closable:!0,closeLabel:()=>g("common.close"),createMenuItems:Je,createMenuLabel:g("chat.interactionPanel.addTab"),createMenuSelectedKeys:It,getHeaderActions:ne,labelMode:"icon-only",minOpenTabs:1,openedTabs:tt,panelChromeActions:Xe,panelKey:"chat-workspace-drawer",storageKey:k,tabs:ve,onCreateMenuClick:V,onCreateMenuOpenChange:Q=>{Q&&U()},onTabChange:ge})})}const Ta=e=>{const t=[],s=new Set;for(const i of e){const n=i==null?void 0:i.trim();n==null||n===""||s.has(n)||(s.add(n),t.push(n))}return t},wo=e=>{var n;const t=((n=e==null?void 0:e.selectedPath)==null?void 0:n.trim())||null,s=Ta([...(e==null?void 0:e.openPaths)??[],t]),i=t!=null&&s.includes(t)?t:s.at(0)??null;return{openPaths:s,selectedPath:i,isOpen:(e==null?void 0:e.isOpen)===!0&&i!=null}},fN=e=>({openPaths:e.openPaths,...e.selectedPath==null?{}:{selectedPath:e.selectedPath},isOpen:e.isOpen});function pN({isTerminalOpen:e,session:t,setIsTerminalOpen:s}){const i=wo(t==null?void 0:t.workspaceFileState),[n,r]=m.useState("terminal"),[o,l]=m.useState(i.selectedPath),[c,h]=m.useState(i.openPaths),[u,d]=m.useState(i.isOpen),p=u&&o!=null,f=e&&p&&n==="file",_=e,g=JSON.stringify((t==null?void 0:t.workspaceFileState)??null),v=`${(t==null?void 0:t.id)??""}:${g}`,b=m.useRef(null);m.useEffect(()=>{if(b.current===v)return;b.current=v;const w=wo(t==null?void 0:t.workspaceFileState);if(h(w.openPaths),l(w.selectedPath),d(w.isOpen),w.isOpen&&w.selectedPath!=null){r("file"),s(!0);return}r(M=>M==="file"?"terminal":M)},[t==null?void 0:t.workspaceFileState,s,v]);const x=w=>{const M=wo(w);h(M.openPaths),l(M.selectedPath),d(M.isOpen),(t==null?void 0:t.id)!=null&&xi(t.id,{workspaceFileState:fN(M)}).catch(E=>{console.error("[chat] failed to persist workspace file state:",E)})},P=w=>{w==="file"&&!p||(r(w),s(!0))},y=()=>{s(!1)},S=()=>{if(e){y();return}if(p&&n==="file"){r("file"),s(!0);return}r("terminal"),s(!0)},T=w=>{x({openPaths:Ta([...c,w]),selectedPath:w,isOpen:!0}),r("file"),s(!0)},j=()=>{x({openPaths:c,selectedPath:o,isOpen:!1}),e&&r("terminal")},I=()=>{x({openPaths:[],selectedPath:null,isOpen:!1}),e&&r("terminal")},R=w=>{x({openPaths:Ta([...c,w]),selectedPath:w,isOpen:!0}),r("file")},O=w=>{k([w])},k=w=>{const M=new Set(w);if(M.size<=0)return;const E=c.findIndex(B=>M.has(B)),D=c.filter(B=>!M.has(B)),A=o!=null&&!M.has(o)?o:D[Math.min(Math.max(E,0),D.length-1)]??null;x({openPaths:D,selectedPath:A,isOpen:u&&A!=null}),A==null&&e&&r("terminal")};return{handleCloseAllWorkspaceFileTabs:I,handleCloseBottomPanel:y,handleCloseWorkspaceFile:j,handleCloseOtherWorkspaceFileTabs:w=>{c.includes(w)&&(x({openPaths:[w],selectedPath:w,isOpen:!0}),r("file"))},handleCloseWorkspaceFileTab:O,handleCloseWorkspaceFileTabs:k,handleCloseWorkspaceFileTabsToRight:w=>{const M=c.indexOf(w);M<0||k(c.slice(M+1))},handleOpenWorkspaceFile:T,handleSelectWorkspaceFile:R,handleSelectBottomPanelView:P,handleToggleBottomPanel:S,hasWorkspaceFileEditor:p,openWorkspaceFilePaths:c,selectedWorkspaceFilePath:o,shouldShowBottomPanel:_,shouldShowFileEditor:f}}function _N(e){const[t,s]=m.useState(e),[i,n]=m.useState(e);return m.useEffect(()=>{if(e){s(!0);const r=window.setTimeout(()=>{n(!0)},0);return()=>{window.clearTimeout(r)}}n(!1)},[e]),{isRendered:t,isVisible:i}}const gN=e=>e==="workspace"?e:void 0;function vN(){const{values:e,update:t}=Nr({keys:["layout","workspaceFullscreen","workspaceView"],defaults:{layout:"",workspaceFullscreen:"",workspaceView:""},omit:{layout:n=>n==="",workspaceFullscreen:n=>n==="",workspaceView:n=>n===""}}),s=gN(e.layout),i=e.workspaceView===""?void 0:e.workspaceView;return{activeLayout:s,isWorkspaceDrawerOpen:s==="workspace",isWorkspaceDrawerFullscreen:e.workspaceFullscreen==="true",workspaceDrawerView:i,setWorkspaceDrawerOpen:(n,r)=>t({layout:n?"workspace":"",...n?{}:{workspaceFullscreen:""},...r!=null?{workspaceView:r}:n?{}:{workspaceView:""}}),setWorkspaceDrawerFullscreen:n=>t({layout:s==="workspace"||n?"workspace":"",workspaceFullscreen:n?"true":""})}}const jf=320,If="chatBottomDockHeight",Df=620,Lf="20%",er=e=>a.jsx("span",{className:"material-symbols-rounded workspace-file-editor__breadcrumb-menu-icon",children:e}),bN=e=>{const t=e.split("/").filter(Boolean);return t.map((s,i)=>({isCurrent:i===t.length-1,name:s,path:t.slice(0,i+1).join("/")}))};function id({canOpenInEditor:e=!0,onLocatePath:t,path:s,sessionId:i,workspaceRootPath:n}){const{t:r}=Z(),{message:o}=zt.useApp(),[l,c]=m.useState(null),{data:h}=Qt("workspace-path-action-capabilities",Dd),{data:u}=Qt("workspace-file-openers",Id),d=m.useMemo(()=>bN(s),[s]),p=d.at(-1)??null,f=l??p,_=m.useMemo(()=>{const T=(u==null?void 0:u.openers)??[];return T.find(j=>j.available&&j.id===(u==null?void 0:u.defaultOpener))??T.find(j=>j.available)},[u]),g=h==null?void 0:h.fileManager,v=g==null?r("chat.workspacePathFileManagerFallback"):r(`chat.workspacePathFileManager.${g.kind}`,{defaultValue:g.title}),b=(g==null?void 0:g.canRevealFile)===!1&&(f==null?void 0:f.isCurrent)===!0,x=m.useCallback(async T=>{if((g==null?void 0:g.available)===!0)try{i!=null&&i!==""?await Vp(i,T):await Gp(T)}catch(j){o.error(ns(j,r("chat.workspacePathRevealInFileManagerFailed",{manager:v})))}},[g==null?void 0:g.available,v,o,i,r]),P=m.useCallback(async T=>{if(_!=null)try{i!=null&&i!==""?await Md(i,T,{opener:_.id}):await Pd(T,{opener:_.id})}catch(j){o.error(ns(j,r("chat.workspaceFileExternalOpenFailed")))}},[_,o,i,r]),y=m.useCallback(T=>{const j=T.target.closest("[data-workspace-breadcrumb-path]"),I=j==null?void 0:j.dataset.workspaceBreadcrumbPath,R=d.find(O=>O.path===I)??p;c(R)},[p,d]),S=m.useMemo(()=>{if(f==null)return[];const T=[..._==null?[]:[{key:"open-editor",label:r("chat.workspaceFileOpenInExternalEditor",{opener:_.title}),icon:er("edit_square"),disabled:!f.isCurrent||!e,onClick:()=>{P(f.path)}}],...(g==null?void 0:g.available)===!0?[{key:"reveal-finder",label:r(b?"chat.workspacePathOpenContainingFolderInFileManager":"chat.workspacePathRevealInFileManager",{manager:v}),icon:er("folder_open"),onClick:()=>{x(f.path)}}]:[]];return[...Pa({name:f.name,path:f.path,t:r,workspaceRootPath:n}).map(j=>({key:j.key,label:j.label,icon:er("content_copy"),disabled:j.disabled,onClick:()=>{j.disabled!==!0&&xn({failureMessage:r("common.copyFailed"),messageApi:o,successMessage:j.successMessage,text:j.text})}})),{key:"locate",label:r("chat.workspacePathRevealInTree"),icon:er("account_tree"),disabled:t==null,onClick:()=>t==null?void 0:t(f.path)},...T.length>0?[{type:"divider"},...T]:[]]},[f,e,_,g==null?void 0:g.available,v,P,x,o,t,b,r,n]);return a.jsx(Cs,{menu:{items:S},overlayClassName:"workspace-file-editor-breadcrumb-dropdown",trigger:["contextMenu"],children:a.jsx("div",{className:"workspace-file-editor__breadcrumb",title:s,"data-dock-panel-no-resize":"true",onContextMenuCapture:y,children:d.map(T=>a.jsxs("span",{className:"workspace-file-editor__breadcrumb-part",children:[a.jsx("button",{type:"button",className:`workspace-file-editor__breadcrumb-node ${T.isCurrent?"is-current":""}`,"aria-label":T.path,"data-workspace-breadcrumb-path":T.path,title:T.path,children:T.name}),!T.isCurrent&&a.jsx("span",{className:"workspace-file-editor__breadcrumb-separator",children:"/"})]},T.path))})})}function yN({content:e,language:t,path:s,onChange:i,onSave:n}){const r=Ka(),o=m.useRef(n);m.useEffect(()=>{o.current=n},[n]);const l=c=>{c.addCommand(Yp.CtrlCmd|Xp.KeyS,()=>{o.current()}),c.focus()};return a.jsx("div",{className:"workspace-file-editor__editor","data-dock-panel-no-resize":"true",children:a.jsx(Rd,{path:`workspace:///${s}`,value:e,language:t,theme:r,loading:null,onChange:c=>i(c??""),onMount:l,options:{automaticLayout:!0,fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",fontSize:12,lineHeight:18,tabSize:2}})})}const en=e=>a.jsx("span",{className:"material-symbols-rounded workspace-file-editor__menu-icon",children:e});function wN({activePath:e,onCloseAllPaths:t,onCloseOtherPaths:s,onClosePath:i,onClosePathsToRight:n,onSelectPath:r,paths:o,workspaceRootPath:l}){const{t:c}=Z(),{message:h}=zt.useApp(),u=m.useRef(null),d=m.useMemo(()=>(p,f)=>[...Pa({path:p,t:c,workspaceRootPath:l}).map(_=>({key:_.key,label:_.label,icon:en("content_copy"),disabled:_.disabled,onClick:()=>{_.disabled!==!0&&xn({failureMessage:c("common.copyFailed"),messageApi:h,successMessage:_.successMessage,text:_.text})}})),{type:"divider"},{key:"close",label:c("common.close"),icon:en("close"),onClick:()=>i(p)},{key:"close-others",label:c("chat.workspaceFileCloseOthers"),icon:en("tab_close_right"),disabled:o.length<=1,onClick:()=>s(p)},{key:"close-right",label:c("chat.workspaceFileCloseRight"),icon:en("low_priority"),disabled:f>=o.length-1,onClick:()=>n(p)},{key:"close-all",label:c("chat.workspaceFileCloseAll"),icon:en("cancel_presentation"),onClick:t}],[h,t,s,i,n,o.length,c,l]);return m.useEffect(()=>{var p;(p=u.current)==null||p.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})},[e]),a.jsx("div",{className:"workspace-file-editor__tabs","data-dock-panel-no-resize":"true",children:o.map((p,f)=>{const _=Jp(p),g=En(_);return a.jsx(Cs,{menu:{items:d(p,f)},overlayClassName:"workspace-file-editor-context-dropdown",trigger:["contextMenu"],children:a.jsxs("span",{ref:e===p?u:void 0,className:`workspace-file-editor__tab ${e===p?"is-active":""}`,title:p,children:[a.jsxs("span",{className:"workspace-file-editor__tab-leading",children:[a.jsx("span",{className:`material-symbols-rounded workspace-file-editor__tab-icon is-${g.tone}`,children:g.icon}),a.jsx("button",{type:"button",className:"workspace-file-editor__tab-close","aria-label":`${c("common.close")} ${_}`,title:`${c("common.close")} ${_}`,onClick:()=>{i(p)},children:a.jsx("span",{className:"material-symbols-rounded",children:"close"})})]}),a.jsx("button",{type:"button",className:"workspace-file-editor__tab-main",onClick:()=>r(p),children:a.jsx("span",{className:"workspace-file-editor__tab-name",children:_})})]})},p)})})}const SN=/^(?:[a-z][a-z\d+.-]*:|\/\/|#)/i,nd=(e,t)=>{const s=t.trim();if(s===""||SN.test(s))return null;const i=s.search(/[?#]/),n=i>=0?s.slice(0,i):s;if(n==="")return null;const r=n.startsWith("/")?[]:e.split("/").slice(0,-1),o=[];for(const l of[...r,...n.split("/")])if(!(l===""||l===".")){if(l===".."){o.pop();continue}o.push(l)}return o.join("/")},rd=50,Ea=24,Ma=76,od=5,ad=e=>Math.min(Ma,Math.max(Ea,e));function kN({content:e,currentPath:t,editor:s,mode:i,onOpenPath:n,sessionId:r}){const{t:o}=Z(),l=m.useRef(null),[c,h]=m.useState(rd),[u,d]=m.useState(!1),p=m.useMemo(()=>({"--workspace-file-editor-markdown-editor-size":`${c}%`}),[c]),f=m.useCallback(S=>r!=null&&r!==""?Fd(r,S):Wd(S),[r]),_=m.useCallback((S,T)=>{const j=nd(t,S);j!=null&&(T.preventDefault(),n(j))},[t,n]),g=m.useCallback(({alt:S,src:T,title:j})=>{const I=nd(t,T),R=I==null?T:f(I);return a.jsx("img",{src:R,alt:S??"",title:j,loading:"lazy",decoding:"async",referrerPolicy:"no-referrer"})},[f,t]),v=m.useCallback(S=>{var j;const T=(j=l.current)==null?void 0:j.getBoundingClientRect();T==null||T.width<=0||h(ad((S-T.left)/T.width*100))},[]),b=m.useCallback(S=>{i==="split"&&(S.preventDefault(),S.currentTarget.setPointerCapture(S.pointerId),d(!0),v(S.clientX))},[i,v]),x=m.useCallback(S=>{u&&v(S.clientX)},[u,v]),P=m.useCallback(S=>{S.currentTarget.hasPointerCapture(S.pointerId)&&S.currentTarget.releasePointerCapture(S.pointerId),d(!1)},[]),y=m.useCallback(S=>{const T=S.key==="ArrowLeft"?-od:S.key==="ArrowRight"?od:0;if(T!==0){S.preventDefault(),h(j=>ad(j+T));return}(S.key==="Home"||S.key==="End")&&(S.preventDefault(),h(S.key==="Home"?Ea:Ma))},[]);return a.jsxs("div",{ref:l,className:["workspace-file-editor__markdown-layout",`workspace-file-editor__markdown-layout--${i}`,u?"is-dragging":""].join(" "),style:i==="split"?p:void 0,children:[i!=="preview"&&a.jsx("div",{className:"workspace-file-editor__markdown-editor-pane",children:s}),i==="split"&&a.jsx("div",{className:"workspace-file-editor__markdown-splitter","data-dock-panel-no-resize":"true",role:"separator","aria-label":o("chat.interactionPanel.markdownResizeSplit"),"aria-orientation":"vertical","aria-valuemax":Ma,"aria-valuemin":Ea,"aria-valuenow":Math.round(c),tabIndex:0,onDoubleClick:()=>h(rd),onKeyDown:y,onPointerCancel:P,onPointerDown:b,onPointerMove:x,onPointerUp:P,children:a.jsx("span",{className:"workspace-file-editor__markdown-splitter-line"})}),i!=="editor"&&a.jsx("div",{className:"workspace-file-editor__markdown-preview","data-dock-panel-no-resize":"true",children:a.jsx(Ts,{content:e,openLinksInNewTab:!0,renderImage:g,onLinkClick:_})})]})}const xN=600;function CN({enabled:e=!0,onSaveError:t,path:s,sessionId:i}){const n=m.useRef(null),r=m.useRef(null),[o,l]=m.useState(""),[c,h]=m.useState(""),[u,d]=m.useState(!1),p=i!=null&&i!=="",f=e?p?["workspace-file-editor",i,s]:["workspace-file-editor","workspace",s]:null,{data:_,error:g,isLoading:v,mutate:b}=Qt(f,()=>i!=null&&i!==""?Zp(i,s):Qp(s),{revalidateOnFocus:!1}),x=o!==c;m.useEffect(()=>{if(_==null){n.current=null,l(""),h("");return}n.current!==_.path&&(n.current=_.path,r.current=null,l(_.content),h(_.content))},[_]);const P=m.useCallback(async S=>{if(e){d(!0);try{const T=i!=null&&i!==""?await e_(i,s,S):await t_(s,S);r.current=null,h(T.content),await b(T,!1)}catch(T){r.current=S,t(T)}finally{d(!1)}}},[e,b,t,s,i]);m.useEffect(()=>{if(!x||u||v||g!=null||_==null||r.current===o)return;const S=window.setTimeout(()=>{P(o)},xN);return()=>window.clearTimeout(S)},[_,o,g,x,v,u,P]);const y=m.useCallback(()=>{!e||!x||u||P(o)},[o,e,x,u,P]);return{data:_,draft:o,error:g,isLoading:v,isSaving:u,saveNow:y,setDraft:l}}function NN({isOpen:e,markdownPreviewMode:t="preview",onClose:s,onCloseAllPaths:i,onCloseOtherPaths:n,onClosePath:r,onClosePathsToRight:o,onLocatePath:l,onSelectPath:c,openPaths:h,path:u,sessionId:d,showTabs:p=!0,variant:f="dock",workspaceRootPath:_}){const{t:g}=Z(),{message:v}=zt.useApp(),[b,x]=m.useState(!1),P=m.useMemo(()=>Lu(u),[u]),y=m.useMemo(()=>Xy(u),[u]),S=m.useMemo(()=>Au(u),[u]),T=S?t:"editor",j=m.useMemo(()=>d!=null&&d!==""?Fd(d,u):Wd(u),[u,d]),I=m.useCallback(A=>{v.error(ns(A,g("common.operationFailed")))},[v,g]),{data:R,draft:O,error:k,isLoading:N,saveNow:C,setDraft:w}=CN({enabled:!y,path:u,sessionId:d,onSaveError:I});m.useEffect(()=>x(!1),[j]);const M=R==null?null:a.jsx(yN,{content:O,language:P,path:R.path,onChange:w,onSave:C}),E=a.jsx(wN,{activePath:u,paths:h.length>0?h:[u],onCloseAllPaths:i,onCloseOtherPaths:n,onClosePath:r,onClosePathsToRight:o,onSelectPath:c,workspaceRootPath:_}),D=a.jsxs(a.Fragment,{children:[y&&a.jsxs(a.Fragment,{children:[a.jsx(id,{canOpenInEditor:!1,path:u,sessionId:d,workspaceRootPath:_,onLocatePath:l}),b?a.jsx(ms,{image:ms.PRESENTED_IMAGE_SIMPLE,description:g("chat.workspaceImagePreviewLoadFailed")}):a.jsx("div",{className:"workspace-file-editor__image-preview","data-dock-panel-no-resize":"true",children:a.jsx("img",{src:j,alt:u,onError:()=>x(!0)})})]}),!y&&N&&a.jsxs("div",{className:"workspace-file-editor__state",children:[a.jsx(Kd,{size:"small"}),a.jsx("span",{children:g("chat.workspaceFileEditorLoading")})]}),!y&&!N&&k!=null&&a.jsx(ms,{image:ms.PRESENTED_IMAGE_SIMPLE,description:g("chat.workspaceFileEditorLoadFailed")}),!y&&!N&&k==null&&R!=null&&a.jsxs(a.Fragment,{children:[a.jsx(id,{canOpenInEditor:!y,path:R.path,sessionId:d,workspaceRootPath:_,onLocatePath:l}),S?a.jsx(kN,{content:O,currentPath:R.path,editor:M,mode:T,sessionId:d,onOpenPath:c}):M]})]});return f==="content"?a.jsxs("div",{className:"workspace-file-editor workspace-file-editor--embedded",children:[p&&a.jsx("div",{className:"workspace-file-editor__embedded-tabs",children:E}),a.jsx("div",{className:"workspace-file-editor__embedded-body",children:D})]}):a.jsx(zd,{className:"workspace-file-editor",allowFullscreen:!0,defaultHeight:jf,fullscreenEnterLabel:g("common.enterFullscreen"),fullscreenExitLabel:g("common.exitFullscreen"),isOpen:e,maxHeight:Df,minHeight:Lf,title:E,closeLabel:g("common.close"),resizeLabel:g("chat.workspaceFileEditorResizePanel"),storageKey:If,onClose:s,children:D})}function TN({activeTerminalId:e,pane:t,sessionId:s,terminalPanes:i}){const{t:n}=Z(),r=t.runCommand,o=i.runTaskRunningById[t.id]===!0;if(r==null)return null;const l=Uu(r.script),c=n(o?"chat.interactionPanel.runTaskTerminate":"chat.interactionPanel.runTaskStart");return a.jsxs("div",{className:"chat-interaction-panel-run-task",children:[a.jsxs("aside",{className:"chat-interaction-panel-run-task__actions",children:[a.jsx(ze,{title:c,children:a.jsx(Oe,{type:"text",className:"dock-panel__close-btn chat-interaction-panel-run-task__button","data-dock-panel-no-resize":"true",icon:a.jsx("span",{className:"material-symbols-rounded",children:o?"stop_circle":"play_arrow"}),"aria-label":c,onClick:()=>{if(o){i.terminateTerminal(t.id);return}i.restartTerminal(t.id,l)}})}),o&&a.jsx(ze,{title:n("chat.interactionPanel.runTaskRestart"),children:a.jsx(Oe,{type:"text",className:"dock-panel__close-btn chat-interaction-panel-run-task__button","data-dock-panel-no-resize":"true",icon:a.jsx("span",{className:"material-symbols-rounded",children:"restart_alt"}),"aria-label":n("chat.interactionPanel.runTaskRestart"),onClick:()=>i.restartTerminal(t.id,l)})})]}),a.jsx("div",{className:"chat-interaction-panel-run-task__terminal",children:a.jsx(fl,{activeTerminalId:e,autoRestartExitedSession:!1,panes:[t],sessionId:s,onInfoChange:i.handleInfoChange,onInitialCommandSent:i.markInitialCommandSent,onRestartChange:i.handleRestartChange,onTerminateChange:i.handleTerminateChange})})]})}const Af=m.createContext(null),EN=()=>{const e=m.useContext(Af);if(e==null)throw new Error("InteractionPanelDockContext is missing");return e};function MN({isPanelVisible:e,tabId:t}){const{activeTab:s,activeSessionFocusRequestId:i,activeSessionFocusSessionId:n,bottomPanel:r,iframePages:o,isVisible:l,markdownPreviewMode:c,mobileDebugPages:h,projectUrlHistoryKey:u,sessionId:d,sessionPages:p,sessionUrlHistoryKey:f,tabById:_,terminalPanes:g,terminalSessionId:v,workspaceDrawerState:b,workspaceRootPath:x,onIframeMetadataChange:P,onIframeNavigateHistory:y,onIframeSelectHistory:S,onIframeUrlChange:T,onLocateWorkspacePath:j,onMobileDebugPageChange:I,onOpenIframeUrl:R,onSessionPageChange:O}=EN(),k=_[t];if(k==null)return null;const N=`chat-interaction-panel__dock-panel-content ${e?"is-visible":"is-hidden"}`;if(k.kind==="terminal"){const w=g.panes.find(M=>M.id===k.id);return w==null?null:w.runCommand!=null?a.jsx("div",{className:N,children:a.jsx(TN,{activeTerminalId:e?w.id:"",pane:w,sessionId:v,terminalPanes:g})}):a.jsx("div",{className:N,children:a.jsx(fl,{activeTerminalId:e?w.id:"",panes:[w],sessionId:v,onExit:g.closeTerminal,onInfoChange:g.handleInfoChange,onInitialCommandSent:g.markInitialCommandSent,onRestartChange:g.handleRestartChange,onTerminateChange:g.handleTerminateChange})})}if(k.kind==="file")return a.jsx("div",{className:N,children:a.jsx(NN,{variant:"content",showTabs:!1,isOpen:l&&s.kind==="file"&&s.path===k.path,markdownPreviewMode:c,openPaths:r.openWorkspaceFilePaths,path:k.path,sessionId:d,workspaceRootPath:x,onClose:r.handleCloseWorkspaceFile,onCloseAllPaths:r.handleCloseAllWorkspaceFileTabs,onCloseOtherPaths:r.handleCloseOtherWorkspaceFileTabs,onClosePath:r.handleCloseWorkspaceFileTab,onClosePathsToRight:r.handleCloseWorkspaceFileTabsToRight,onLocatePath:j,onSelectPath:r.handleSelectWorkspaceFile})});if(k.kind==="session"){const w=p.find(D=>D.id===k.id);if(w==null)return null;const E=i!=null&&(n==null||w.sessionId==null||w.sessionId===n)?i:w.focusRequestId;return a.jsx("div",{className:N,children:a.jsx(lf,{autoFocusRequestId:e?E:void 0,page:w,sourceSessionId:d,onChangePage:D=>O(w.id,D)})})}if(k.kind==="mobile-debug"){const w=h.find(M=>M.id===k.id);return w==null?null:a.jsx("div",{className:N,children:a.jsx(af,{isActive:s.kind==="mobile-debug"&&s.id===k.id,page:w,onChangePage:M=>I(w.id,M),onOpenDebugUrl:R})})}if(k.kind==="plugin")return a.jsx("div",{className:N,children:a.jsx(Ra,{scope:k.pluginScope,routeId:k.tabId,surface:"workbench",viewId:k.viewId})});if(k.kind==="workspace-drawer")return a.jsx("div",{className:N,children:a.jsx(xf,{activeView:k.view,agentApprovals:b.agentApprovals,agentRoster:b.agentRoster,approvalMessages:b.approvalMessages,changedLayout:b.changedLayout,changedTreeCommand:b.changedTreeCommand,isGitLoading:b.isGitLoading,pluginTabs:b.pluginTabs,repoState:b.repoState,selectedFilePath:r.selectedWorkspaceFilePath,settingsView:b.settingsView,sessionId:d,treeRefreshKey:b.treeRefreshKey,workspaceTreeCommand:b.workspaceTreeCommand,onOpenFile:b.onOpenFile,onReferencePaths:b.onReferencePaths})});const C=o.find(w=>w.id===k.id);return C==null?null:a.jsx("div",{className:N,children:a.jsx(ef,{isActive:s.kind==="iframe"&&s.id===k.id,page:C,projectUrlHistoryKey:u,sessionUrlHistoryKey:f,onChangeMetadata:P,onSelectHistory:S,onChangeUrl:T,onNavigateHistory:y})})}const PN=({close:e,componentProps:t})=>{const{disabled:s=!1,icon:i,label:n,onSelect:r}=t,o=()=>{s||(r(),e())},l=c=>{c.key!=="Enter"&&c.key!==" "||(c.preventDefault(),o())};return m.createElement("div",{"aria-disabled":s,className:["dv-context-menu-item","chat-interaction-panel__dock-context-menu-item",s?"dv-context-menu-item--disabled is-disabled":""].filter(Boolean).join(" "),onClick:o,onKeyDown:l,role:"menuitem",tabIndex:s?void 0:0},m.createElement("span",{className:"material-symbols-rounded chat-interaction-panel__menu-icon"},i),m.createElement("span",{className:"chat-interaction-panel__dock-context-menu-label"},n))},As=e=>({component:PN,componentProps:e}),RN=({iframePage:e,onCopyText:t,onNewTerminal:s,t:i,tab:n,workspaceRootPath:r})=>yk({iframePage:e,onCopyText:t,onNewTerminal:s,t:i,tab:n,workspaceRootPath:r}).map(o=>As({disabled:o.disabled,icon:o.icon,label:o.label,onSelect:o.run})),jN=({allTabs:e,canPinMoreTabs:t,iframePage:s,onCopyText:i,onEditPinnedTab:n,onCloseTabGroup:r,onNewTerminal:o,onPinTab:l,onUnpinTab:c,pinnedTab:h,t:u,tab:d,workspaceRootPath:p})=>{const f=[];if(d!=null&&f.push(...RN({iframePage:s,onCopyText:i,onNewTerminal:o,t:u,tab:d,workspaceRootPath:p}),"separator"),d!=null&&h!=null?f.push(As({icon:"edit",label:u("chat.interactionPanel.editPinnedTab"),onSelect:()=>n(h)}),As({icon:"push_pin",label:u("chat.interactionPanel.unpinTab"),onSelect:()=>c(d)}),"separator"):d!=null&&f.push(As({disabled:!t,icon:"push_pin",label:u("chat.interactionPanel.pinTab"),onSelect:()=>l(d)}),"separator"),d!=null){const _=e.findIndex(g=>g.id===d.id);f.push(As({icon:"close",label:u("common.close"),onSelect:()=>r(d,"current")}),As({disabled:e.length<=1,icon:"tab_close_right",label:u("chat.workspaceFileCloseOthers"),onSelect:()=>r(d,"others")}),As({disabled:_<0||_>=e.length-1,icon:"low_priority",label:u("chat.workspaceFileCloseRight"),onSelect:()=>r(d,"right")}),As({icon:"cancel_presentation",label:u("chat.workspaceFileCloseAll"),onSelect:()=>r(d,"all")}))}return f},IN=e=>`'${e.replaceAll("'","'\\''")}'`,DN=e=>e.split("/").filter(Boolean).at(-1)??e,LN=(e,t,s)=>{const i=DN(e.path),n=t("chat.interactionPanel.runShellFileTitle",{file:i}),r=s==null?void 0:s.trim();return{...r==null||r===""?{}:{cwd:r},icon:"play_arrow",id:`workspace-file:${e.path}:run-shell-script`,name:n,script:`bash ${IN(e.path)}`}},AN=({onRunCommand:e,t,tab:s,workspaceRootPath:i})=>{if((s==null?void 0:s.kind)==="file"&&Jy(s.path)){const n=LN(s,t,i);return[{icon:"play_arrow",key:"run-shell-file",label:t("chat.interactionPanel.runShellFile"),run:()=>e(n)}]}return[]},BN="workspace-drawer:",So=e=>`${BN}${e}`,ld=e=>e.split("/").filter(Boolean).at(-1)??e,ON=({filePaths:e,iframePages:t,mobileDebugPages:s,pluginPages:i,sessionPages:n,terminalInfoById:r,terminalPanes:o})=>[...o.map(l=>{var c,h;return{id:l.id,kind:"terminal",icon:((c=l.runCommand)==null?void 0:c.icon)??(((h=r[l.id])==null?void 0:h.isExited)===!0?"terminal_off":"terminal"),label:l.title,shellKind:l.shellKind,canClose:!0}}),...e.map(l=>({id:`file:${l}`,kind:"file",icon:En(ld(l)).icon,label:ld(l),path:l,canClose:!0})),...t.map(l=>({id:l.id,kind:"iframe",faviconUrl:l.faviconUrl,icon:"language",label:l.title,canClose:!0})),...(s??[]).map(l=>({id:l.id,kind:"mobile-debug",icon:"phonelink_setup",label:l.selectedDeviceLabel==null?l.title:`${l.title} / ${l.selectedDeviceLabel}`,canClose:!0})),...(n??[]).map(l=>({id:l.id,kind:"session",icon:"chat",label:l.title,sessionId:l.sessionId,canClose:!0})),...(i??[]).map(l=>({id:l.id,kind:"plugin",icon:l.icon,label:l.title,pluginScope:l.pluginScope,tabId:l.tabId,viewId:l.viewId,canClose:!0}))],FN=(e,t)=>e.kind!==t.kind?!1:e.kind==="file"&&t.kind==="file"?e.path===t.path:"id"in t&&e.id===t.id,WN=(e,t)=>m.useCallback((s,i)=>{xn({failureMessage:e,messageApi:t,successMessage:i,text:s})},[e,t]),$N=[{icon:"code",mode:"editor",titleKey:"chat.interactionPanel.markdownEditorMode"},{icon:"vertical_split",mode:"split",titleKey:"chat.interactionPanel.markdownSplitMode"},{icon:"article",mode:"preview",titleKey:"chat.interactionPanel.markdownPreviewMode"}];function HN({activeTab:e,activeSessionFocusRequestId:t,activeSessionFocusSessionId:s,bottomPanel:i,canCreateSessionTab:n,canFullscreenPanel:r,canPinMoreTabs:o,iframePages:l,isPanelFullscreen:c,isPanelMinimized:h,isVisible:u,markdownPreviewMode:d,mobileDebugPages:p,pinnedTabs:f,projectUrlHistoryKey:_,sessionId:g,sessionPages:v,sessionUrlHistoryKey:b,tabs:x,terminalPanes:P,terminalSessionId:y,workspaceDrawerCreateItems:S,workspaceDrawerCreateSelectedKeys:T,workspaceDrawerState:j,workspaceRootPath:I,getTabHeaderActions:R,onAddMenuClick:O,onActivateTab:k,onCloseTab:N,onCloseTabGroup:C,onEditPinnedTab:w,onIframeMetadataChange:M,onIframeNavigateHistory:E,onIframeSelectHistory:D,onIframeUrlChange:A,onLocateWorkspacePath:B,onMarkdownPreviewModeChange:H,onMobileDebugPageChange:U,onNewSession:W,onNewTerminal:z,onOpenIframeUrl:F,onPanelExpand:te,onPanelClose:ie,onPanelAction:ue,onPinTab:pe,onRunCommand:Y,onSessionPageChange:be,onTogglePanelFullscreen:ye,onUnpinTab:he}){const{i18n:$,t:de}=Z(),{message:oe}=zt.useApp(),_e=typeof navigator<"u"&&navigator.platform.includes("Mac"),ce=m.useMemo(()=>Object.fromEntries(x.map(le=>[le.id,le])),[x]),We=m.useMemo(()=>Object.fromEntries(l.map(le=>[le.id,le])),[l]),we=m.useMemo(()=>Object.fromEntries(f.map(le=>[le.id,le])),[f]),Se=p[0],{deviceOptions:me,refreshDeviceOptions:Ge}=gl(Se==null?void 0:Se.deviceOptions),ae=rs("workbench.addMenu"),ee=$.resolvedLanguage??$.language,Re=m.useMemo(()=>il(de,_e,{canCreateSessionTab:n,language:ee,mobileDebugDevices:me,pluginMenuItems:ae,selectedMobileDebugDeviceId:Se==null?void 0:Se.selectedDeviceId,workspaceDrawerItems:S}),[n,me,_e,Se==null?void 0:Se.selectedDeviceId,ae,ee,de,S]),Ve=WN(de("common.copyFailed"),oe),Ue=m.useMemo(()=>{var le,ge;return((le=x.find(Je=>FN(Je,e)))==null?void 0:le.id)??((ge=x[0])==null?void 0:ge.id)??null},[e,x]),Qe=m.useMemo(()=>[...T??[],...x.filter(le=>le.kind==="workspace-drawer").map(le=>Fr(le.view))],[x,T]),Xe=m.useMemo(()=>x.map(le=>{const ge=we[le.id],Je=(ge==null?void 0:ge.title)??le.label,It=le.kind==="iframe"&&le.faviconUrl!=null&&le.faviconUrl!==""&&(ge==null?void 0:ge.customIcon)==null;return{activeIcon:(ge==null?void 0:ge.icon)??le.icon,content:({isVisible:V})=>a.jsx(MN,{isPanelVisible:V,tabId:le.id}),icon:(ge==null?void 0:ge.icon)??le.icon,iconNode:It?a.jsx("img",{className:"chat-interaction-panel__dock-tab-favicon",src:le.faviconUrl,alt:"",draggable:!1}):void 0,key:le.id,label:Je,title:(ge==null?void 0:ge.originalTitle)??Je}}),[we,x]),it=de(c?"common.exitFullscreen":"common.enterFullscreen"),Ie=de(h?"chat.interactionPanel.expandPanel":"chat.interactionPanel.minimizePanel"),Ee=de("chat.interactionPanel.hidePanel"),et=m.useMemo(()=>({...r?{fullscreen:{active:c,label:it,onSelect:ye}}:{},minimize:{icon:h?"bottom_panel_open":"bottom_panel_close",label:Ie,onSelect:h?te:ue},close:{label:Ee,onSelect:ie}}),[r,it,c,h,Ee,ie,te,ue,ye,Ie]),ot=m.useCallback(({groupActiveTabKey:le,isTopRightGroup:ge})=>{const Je=le==null?void 0:ce[le],It=(R==null?void 0:R({activeTab:e,groupActiveTab:Je,groupActiveTabKey:le,isTopRightGroup:ge}))??[],V=AN({onRunCommand:Y,t:de,tab:Je,workspaceRootPath:I}).map(Ke=>({icon:Ke.icon,key:Ke.key,label:Ke.label,onSelect:Ke.run})),ve=(Je==null?void 0:Je.kind)==="file"&&Au(Je.path)?$N.map(Ke=>({active:d===Ke.mode,icon:Ke.icon,key:`markdown:${Ke.mode}`,label:de(Ke.titleKey),onSelect:()=>H(Ke.mode)})):[];return[...V,...It,...ve]},[e,R,d,H,Y,de,ce,I]),q=m.useCallback(le=>jN({allTabs:x,canPinMoreTabs:o,iframePage:We[le.tab.key],onCopyText:Ve,onCloseTabGroup:C,onEditPinnedTab:w,onNewTerminal:z,onPinTab:pe,onUnpinTab:he,pinnedTab:we[le.tab.key],t:de,tab:ce[le.tab.key],workspaceRootPath:I}),[o,Ve,We,C,w,z,pe,he,we,de,ce,x,I]),Ae=m.useCallback(le=>{if(le==null)return;const ge=ce[le];ge!=null&&k(ge)},[k,ce]),Pe=m.useCallback(le=>{const ge=ce[le];ge!=null&&N(ge)},[N,ce]),tt={activeTab:e,activeSessionFocusRequestId:t,activeSessionFocusSessionId:s,bottomPanel:i,canCreateSessionTab:n,canFullscreenPanel:r,canPinMoreTabs:o,iframePages:l,isPanelFullscreen:c,isVisible:u,markdownPreviewMode:d,mobileDebugPages:p,pinnedTabs:f,pinnedTabById:we,projectUrlHistoryKey:_,sessionId:g,sessionPages:v,sessionUrlHistoryKey:b,tabById:ce,terminalPanes:P,terminalSessionId:y,workspaceDrawerState:j,workspaceRootPath:I,onAddMenuClick:O,onCloseTab:N,onCloseTabGroup:C,onEditPinnedTab:w,onIframeMetadataChange:M,onIframeNavigateHistory:E,onIframeSelectHistory:D,onIframeUrlChange:A,onLocateWorkspacePath:B,onMarkdownPreviewModeChange:H,onMobileDebugPageChange:U,onNewSession:W,onNewTerminal:z,onOpenIframeUrl:F,onPanelClose:ie,onPanelAction:ue,onPinTab:pe,onRunCommand:Y,onSessionPageChange:be,onTogglePanelFullscreen:ye,onUnpinTab:he};return a.jsx(Af.Provider,{value:tt,children:a.jsx(Aa,{activeTab:Ue,ariaLabel:de("chat.interactionPanel.addTab"),className:"chat-interaction-panel__dock-workspace",closable:!0,closeLabel:()=>de("common.close"),createMenuItems:Re,createMenuLabel:de("chat.interactionPanel.addTab"),createMenuSelectedKeys:Qe,disableFloatingGroups:!0,getHeaderActions:ot,getTabContextMenuItems:q,labelMode:"responsive",minOpenTabs:0,openedTabs:x.map(le=>le.id),panelChromeActions:et,panelKey:"chat-interaction-panel",storageKey:`chat-interaction-panel:${y}`,tabs:Xe,onCreateMenuClick:O,onCreateMenuOpenChange:le=>{le&&Ge()},onTabChange:Ae,onTabClose:Pe})})}function KN({canCreateSessionTab:e,extraActions:t=[],onNewMobileDebugPage:s,onNewSession:i,onNewTerminal:n,onNewWebPage:r,onOpenResource:o}){const{t:l}=Z(),c=typeof navigator<"u"&&navigator.platform.includes("Mac"),h=m.useMemo(()=>Ci(Ya,c),[c]),u=m.useMemo(()=>Ci(Xa,c),[c]),d=m.useMemo(()=>Ci(Ja,c),[c]),p=[{description:l("chat.interactionPanel.openResourceDescription"),icon:"pageview",key:"open-resource",label:l("chat.interactionPanel.openResource"),onClick:o,shortcut:h},{description:l("chat.interactionPanel.addTerminalDescription"),icon:"terminal",key:"new-terminal",label:l("chat.terminal.addSession"),onClick:n,shortcut:u},...e?[{description:l("chat.interactionPanel.addSessionDescription"),icon:"chat",key:"new-session",label:l("chat.interactionPanel.addSession"),onClick:i,shortcut:""}]:[],{description:l("chat.interactionPanel.addIframeDescription"),icon:"language",key:"new-web-page",label:l("chat.interactionPanel.addIframe"),onClick:r,shortcut:d},{description:l("chat.interactionPanel.addMobileDebugDescription"),icon:"phonelink_setup",key:"new-mobile-debug",label:l("chat.interactionPanel.addMobileDebug"),onClick:s,shortcut:""},...t];return a.jsx("div",{className:"chat-interaction-panel-empty",children:a.jsx("div",{className:"chat-interaction-panel-empty__content",children:a.jsx("section",{className:"chat-interaction-panel-empty__section","aria-label":l("chat.interactionPanel.emptyStart"),children:p.map(f=>a.jsxs("button",{type:"button",className:"chat-interaction-panel-empty__action",onClick:f.onClick,children:[a.jsxs("span",{className:"chat-interaction-panel-empty__action-header",children:[a.jsx("span",{className:"material-symbols-rounded",children:f.icon}),a.jsx("span",{className:"chat-interaction-panel-empty__action-title",children:f.label})]}),a.jsx("span",{className:"chat-interaction-panel-empty__action-description",children:f.description}),a.jsxs("span",{className:"chat-interaction-panel-empty__action-footer",children:[a.jsx("span",{}),a.jsx("span",{className:"chat-interaction-panel-empty__shortcut",children:f.shortcut})]})]},f.key))})})})}const zN=e=>e.command!=null&&e.command.trim()!==""||e.route!=null&&e.route.trim()!==""||e.href!=null&&e.href.trim()!=="";function UN({canCreateSessionTab:e,canFullscreenPanel:t,isPanelFullscreen:s,isPanelMinimized:i,onAddMenuClick:n,onNewMobileDebugPage:r,onNewSession:o,onNewTerminal:l,onNewWebPage:c,onOpenResource:h,onPanelExpand:u,onPanelClose:d,onPanelAction:p,onTogglePanelFullscreen:f,workspaceDrawerCreateItems:_,workspaceDrawerCreateSelectedKeys:g}){const{i18n:v,t:b}=Z(),x=vs(),P=typeof navigator<"u"&&navigator.platform.includes("Mac"),{deviceOptions:y,refreshDeviceOptions:S}=gl(),T=Tr(),j=rs("workbench.addMenu"),I=rs("chat.interactionPanel.emptyActions"),R=v.resolvedLanguage??v.language,O=m.useMemo(()=>il(b,P,{canCreateSessionTab:e,mobileDebugDevices:y,language:R,pluginMenuItems:j,workspaceDrawerItems:_}),[e,y,P,j,b,_]),k=m.useMemo(()=>I.filter(zN).map(E=>{const D=Yl(E,"title",R)??E.title;return{description:Yl(E,"description",R),icon:E.icon??"extension",key:`plugin:${E.pluginScope}:${E.id}`,label:D,shortcut:E.shortcut,onClick:()=>{if(E.command!=null&&E.command.trim()!==""){T==null||T(E.pluginScope,E.command,{kind:"chatInteractionPanelEmptyAction",source:"chat.interactionPanel.emptyActions"});return}if(E.route!=null&&E.route.trim()!==""){x(E.route);return}E.href!=null&&E.href.trim()!==""&&window.open(E.href,"_blank","noopener,noreferrer")}}}),[T,R,x,I]),N=b(s?"common.exitFullscreen":"common.enterFullscreen"),C=b(i?"chat.interactionPanel.expandPanel":"chat.interactionPanel.minimizePanel"),w=b("chat.interactionPanel.hidePanel"),M=m.useMemo(()=>({...t?{fullscreen:{active:s,label:N,onSelect:f}}:{},minimize:{icon:i?"bottom_panel_open":"bottom_panel_close",label:C,onSelect:i?u:p},close:{label:w,onSelect:d}}),[t,N,s,i,w,d,u,p,f,C]);return a.jsx(Aa,{activeTab:null,ariaLabel:b("chat.interactionPanel.addTab"),className:"chat-interaction-panel__dock-workspace chat-interaction-panel__dock-workspace--empty",createMenuItems:O,createMenuLabel:b("chat.interactionPanel.addTab"),createMenuSelectedKeys:g,defaultContent:a.jsx(KN,{canCreateSessionTab:e,extraActions:k,onNewSession:o,onNewMobileDebugPage:r,onNewTerminal:l,onNewWebPage:c,onOpenResource:h}),labelMode:"responsive",openedTabs:[],panelChromeActions:M,panelKey:"chat-interaction-panel",tabs:[],onCreateMenuClick:n,onCreateMenuOpenChange:E=>{E&&S()},onTabChange:()=>{}})}function qN({activeTab:e,activeSessionFocusRequestId:t,activeSessionFocusSessionId:s,bottomPanel:i,canCreateSessionTab:n,canFullscreenPanel:r,canPinMoreTabs:o,iframePages:l,isPanelFullscreen:c,isPanelMinimized:h,isVisible:u,markdownPreviewMode:d,mobileDebugPages:p,pinnedTabs:f,tabs:_,onActivateTab:g,onCloseTab:v,onCloseTabGroup:b,onIframeUrlChange:x,onIframeMetadataChange:P,onIframeNavigateHistory:y,onIframeSelectHistory:S,onLocateWorkspacePath:T,onMarkdownPreviewModeChange:j,onMobileDebugPageChange:I,onAddMenuClick:R,onNewTerminal:O,onNewWebPage:k,onOpenIframeUrl:N,onOpenResource:C,onPanelExpand:w,onPanelClose:M,onPanelAction:E,projectUrlHistoryKey:D,sessionId:A,sessionPages:B,sessionUrlHistoryKey:H,terminalPanes:U,terminalSessionId:W,workspaceDrawerCreateItems:z,workspaceDrawerCreateSelectedKeys:F,workspaceDrawerState:te,workspaceRootPath:ie,getTabHeaderActions:ue,onEditPinnedTab:pe,onNewSession:Y,onNewMobileDebugPage:be,onPinTab:ye,onRunCommand:he,onSessionPageChange:$,onTogglePanelFullscreen:de,onUnpinTab:oe}){return _.length>0||U.panes.length>0||i.openWorkspaceFilePaths.length>0||l.length>0||p.length>0||n&&B.length>0?a.jsx(HN,{activeTab:e,activeSessionFocusRequestId:t,activeSessionFocusSessionId:s,bottomPanel:i,canCreateSessionTab:n,canFullscreenPanel:r,canPinMoreTabs:o,iframePages:l,isPanelFullscreen:c,isPanelMinimized:h,isVisible:u,markdownPreviewMode:d,mobileDebugPages:p,pinnedTabs:f,projectUrlHistoryKey:D,sessionId:A,sessionPages:B,sessionUrlHistoryKey:H,tabs:_,terminalPanes:U,terminalSessionId:W,workspaceDrawerCreateItems:z,workspaceDrawerCreateSelectedKeys:F,workspaceDrawerState:te,workspaceRootPath:ie,getTabHeaderActions:ue,onActivateTab:g,onCloseTab:v,onCloseTabGroup:b,onEditPinnedTab:pe,onIframeMetadataChange:P,onIframeNavigateHistory:y,onIframeSelectHistory:S,onIframeUrlChange:x,onLocateWorkspacePath:T,onMarkdownPreviewModeChange:j,onMobileDebugPageChange:I,onAddMenuClick:R,onNewSession:Y,onNewTerminal:O,onOpenIframeUrl:N,onPanelExpand:w,onPanelClose:M,onPanelAction:E,onPinTab:ye,onRunCommand:he,onSessionPageChange:$,onTogglePanelFullscreen:de,onUnpinTab:oe}):a.jsx(UN,{canCreateSessionTab:n,canFullscreenPanel:r,isPanelFullscreen:c,isPanelMinimized:h,onAddMenuClick:R,onNewSession:Y,onNewMobileDebugPage:be,onNewTerminal:O,onNewWebPage:k,onOpenResource:C,onPanelExpand:w,onPanelClose:M,onPanelAction:E,onTogglePanelFullscreen:de,workspaceDrawerCreateItems:z,workspaceDrawerCreateSelectedKeys:F})}const cd=120,VN=240,GN=80,YN=24,XN=e=>e.type==="directory"&&e.linkKind==null&&e.isExternal!==!0,JN=e=>e.type==="file"&&(e.linkKind==null||e.linkKind==="symlink"&&e.linkType==="file"&&e.isExternal!==!0),ZN=e=>e.split("/").filter(Boolean).at(-1)??e,QN=(e,t)=>e.endsWith(`/${t}`)?e.slice(0,-t.length-1):"",eT=e=>{var t,s;return((t=e.title)==null?void 0:t.trim())||((s=e.lastUserMessage)==null?void 0:s.trim())||e.id},Zs=e=>e.kind==="file"?e.path:e.kind==="session"?`${e.title} ${e.sessionId}`:`${e.title} ${e.url}`,tT=(e,t)=>{const s=e.toLowerCase();return t.every(i=>s.includes(i))},hd=(e,t)=>{const s=e.toLowerCase();return t===""?4:s===t?0:s.startsWith(t)?1:s.includes(`/${t}`)||s.includes(` ${t}`)?2:s.includes(t)?3:4},xr=e=>e.kind==="file"?0:e.kind==="session"?1:2,dd=e=>e.kind==="file"?e.updatedAt??0:e.kind==="session"?e.createdAt:e.updatedAt,sT=Zs,Bf=(e,t={})=>{const s=t.name??ZN(e);return{directory:QN(e,s),id:`file:${e}`,kind:"file",name:s,path:e,...t.updatedAt==null?{}:{updatedAt:t.updatedAt}}},iT=e=>e.filter((t,s,i)=>t.trim()!==""&&i.indexOf(t)===s).map((t,s)=>Bf(t,{updatedAt:Number.MAX_SAFE_INTEGER-s})),nT=e=>(t,s)=>{const i=hd(Zs(t),e)-hd(Zs(s),e);if(i!==0)return i;const n=xr(t)-xr(s);return n!==0?n:Zs(t).localeCompare(Zs(s))},rT=(e,t)=>{const s=dd(t)-dd(e);if(s!==0)return s;const i=xr(e)-xr(t);return i!==0?i:Zs(e).localeCompare(Zs(t))},oT=async({isCancelled:e,queryTokens:t,sessionId:s})=>{const i=[],n=[""];let r=0;const o=async l=>s==null||s===""?await s_(l):await i_(s,l);for(;n.length>0&&i.length<cd&&r<VN;){const l=n.shift();r+=1;const{entries:c}=await o(l);if(e())return i;for(const h of c)if(JN(h)?tT(h.path,t)&&i.push(Bf(h.path,{name:h.name})):XN(h)&&n.push(h.path),i.length>=cd)break}return i},aT=async e=>{if(e==null||e==="")return[];const{sessions:t}=await n_("active");return t.filter(s=>s.parentSessionId===e).map(s=>({createdAt:s.createdAt,id:`session:${s.id}`,kind:"session",sessionId:s.id,title:eT(s)})).sort((s,i)=>i.createdAt-s.createdAt)},lT=({iframePages:e,projectUrlHistoryKey:t,sessionUrlHistoryKey:s})=>{const i=new Map,n=({faviconUrl:r,source:o,title:l,updatedAt:c,url:h})=>{const u=ps(h);if(u===""||i.has(u))return;const d=(l==null?void 0:l.trim())||Or(u,u);i.set(u,{faviconUrl:r??sm(u),id:`website:${u}`,kind:"website",source:o,title:d,updatedAt:c,url:u})};return e.forEach((r,o)=>{n({faviconUrl:r.faviconUrl,source:"open",title:r.title,updatedAt:Number.MAX_SAFE_INTEGER-o,url:r.url})}),pl([{kind:"project",key:t},{kind:"session",key:s}]).forEach(r=>n({...r,source:"history"})),[...i.values()]},cT=180,hT=e=>e.trim().toLowerCase();function dT({iframePages:e,open:t,projectUrlHistoryKey:s,query:i,recentFilePaths:n,sessionId:r,sessionUrlHistoryKey:o}){const l=hT(i),[c,h]=m.useState(""),u=c!=="",[d,p]=m.useState([]),[f,_]=m.useState([]),[g,v]=m.useState(!1),[b,x]=m.useState(!1);m.useEffect(()=>{if(!t||l===""){h("");return}const T=window.setTimeout(()=>h(l),cT);return()=>window.clearTimeout(T)},[t,l]),m.useEffect(()=>{if(!t)return;let T=!1;const j=c.split(/\s+/).filter(Boolean);return x(!1),v(!0),Promise.allSettled([u?oT({sessionId:r,queryTokens:j,isCancelled:()=>T}):[],aT(r)]).then(([I,R])=>{T||(p(I.status==="fulfilled"?I.value:[]),_(R.status==="fulfilled"?R.value:[]),x(I.status==="rejected"||R.status==="rejected"))}).finally(()=>{T||v(!1)}),()=>{T=!0}},[u,c,t,r]);const P=m.useMemo(()=>iT(n),[n]),y=m.useMemo(()=>t?lT({iframePages:e,projectUrlHistoryKey:s,sessionUrlHistoryKey:o}):[],[e,t,s,o]),S=m.useMemo(()=>{const T=c.split(/\s+/).filter(Boolean);if(!u)return[...P,...f,...y].sort(rT).slice(0,YN);const j=[...d,...f,...y];return[...T.length===0?j:j.filter(R=>{const O=sT(R).toLowerCase();return T.every(k=>O.includes(k))})].sort(nT(c)).slice(0,GN)},[d,u,c,P,f,y]);return{hasError:b,isLoading:g||t&&l!==c,results:S}}const uT=e=>e.kind==="file"?e.name:e.title,mT=e=>e.kind==="file"?e.directory||e.path:e.kind==="session"?e.sessionId:e.url,fT=e=>e.kind==="file"?"chat.interactionPanel.resourceFile":e.kind==="session"?"chat.interactionPanel.resourceChildSession":"chat.interactionPanel.resourceWebsite",pT=({hasError:e,isLoading:t,query:s})=>t?{icon:"progress_activity",messageKey:"chat.interactionPanel.openResourceLoading"}:e?{icon:"error",messageKey:"chat.interactionPanel.openResourceLoadFailed"}:s.trim()===""?{icon:"search",messageKey:"chat.interactionPanel.openResourceInputHint"}:{icon:"travel_explore",messageKey:"chat.interactionPanel.openResourceEmpty"},_T=e=>{if(e.kind==="file"){const t=En(e.name);return a.jsx("span",{className:`material-symbols-rounded chat-interaction-panel-open-resource__item-icon is-${t.tone}`,children:t.icon})}return e.kind==="website"&&e.faviconUrl!=null?a.jsx("img",{alt:"",className:"chat-interaction-panel-open-resource__item-favicon",src:e.faviconUrl}):a.jsx("span",{className:`material-symbols-rounded chat-interaction-panel-open-resource__item-icon is-${e.kind}`,children:e.kind==="session"?"forum":"language"})};function gT({iframePages:e,open:t,projectUrlHistoryKey:s,recentFilePaths:i,sessionId:n,sessionUrlHistoryKey:r,onClose:o,onOpenFile:l,onOpenSession:c,onOpenWebsite:h}){const{t:u}=Z(),[d,p]=m.useState(""),{hasError:f,isLoading:_,results:g}=dT({iframePages:e,open:t,projectUrlHistoryKey:s,query:d,recentFilePaths:i,sessionId:n,sessionUrlHistoryKey:r});m.useEffect(()=>{if(!t)return;p("");const y=S=>{S.key!=="Escape"&&S.key!=="Esc"||(S.preventDefault(),o())};return window.addEventListener("keydown",y,!0),()=>window.removeEventListener("keydown",y,!0)},[t,o]);const v=y=>{y.kind==="file"?l(y.path):y.kind==="session"?c(y.sessionId):h(y.url),o()},b=y=>{y.key!=="Enter"||g[0]==null||(y.preventDefault(),v(g[0]))},x=d.trim()===""?"chat.interactionPanel.openResourceRecentSection":"chat.interactionPanel.openResourceResultsSection",P=pT({hasError:f,isLoading:_,query:d});return a.jsx(La,{centered:!0,className:"chat-interaction-panel-open-resource-modal",closable:!1,destroyOnHidden:!0,footer:null,open:t,width:540,onCancel:o,children:a.jsxs("div",{className:"chat-interaction-panel-open-resource",children:[a.jsxs("div",{className:"chat-interaction-panel-open-resource__search",children:[a.jsx("span",{className:"material-symbols-rounded chat-interaction-panel-open-resource__search-icon",children:"search"}),a.jsx("input",{autoFocus:!0,className:"chat-interaction-panel-open-resource__search-input",placeholder:u("chat.interactionPanel.openResourceSearchPlaceholder"),value:d,onChange:y=>p(y.target.value),onKeyDown:b})]}),a.jsx("div",{className:"chat-interaction-panel-open-resource__section-label",children:u(x)}),g.length===0?a.jsxs("div",{className:"chat-interaction-panel-open-resource__hint",children:[a.jsx("span",{className:"material-symbols-rounded chat-interaction-panel-open-resource__hint-icon",children:P.icon}),u(P.messageKey)]}):a.jsx("div",{className:"chat-interaction-panel-open-resource__list",children:g.map(y=>{const S=mT(y);return a.jsxs("button",{type:"button",className:"chat-interaction-panel-open-resource__item",onClick:()=>v(y),children:[_T(y),a.jsxs("span",{className:"chat-interaction-panel-open-resource__item-text",children:[a.jsx("span",{className:"chat-interaction-panel-open-resource__item-name",children:uT(y)}),a.jsxs("span",{className:"chat-interaction-panel-open-resource__item-meta",children:[a.jsx("span",{className:"chat-interaction-panel-open-resource__item-kind",children:u(fT(y))}),a.jsx("span",{className:"chat-interaction-panel-open-resource__item-path",children:S})]})]})]},y.id)})})]})})}function vT({bottomPanel:e,iframePages:t,open:s,projectUrlHistoryKey:i,recentFilePaths:n,sessionId:r,sessionUrlHistoryKey:o,onClose:l,onFoldChange:c,onOpenWebsite:h}){const u=ii(),d=vs();return a.jsx(gT,{iframePages:t,open:s,projectUrlHistoryKey:i,recentFilePaths:n,sessionId:r,sessionUrlHistoryKey:o,onClose:l,onOpenFile:p=>{c(!1),e.handleOpenWorkspaceFile(p)},onOpenSession:p=>{c(!1),d({pathname:`/session/${encodeURIComponent(p)}`,search:u.search})},onOpenWebsite:p=>{c(!1),h(p)}})}function bT({pinnedTab:e,onClose:t,onSave:s}){const{t:i}=Z(),[n,r]=m.useState(""),[o,l]=m.useState("");return m.useEffect(()=>{r((e==null?void 0:e.customTitle)??""),l((e==null?void 0:e.customIcon)??"")},[e]),a.jsx(La,{open:e!=null,title:i("chat.interactionPanel.editPinnedTab"),okText:i("common.confirm"),cancelText:i("common.cancel"),className:"chat-interaction-panel-pinned-edit-modal",onCancel:t,onOk:()=>{s({customIcon:o,customTitle:n})},children:a.jsxs("div",{className:"chat-interaction-panel-pinned-edit",children:[a.jsxs("label",{className:"chat-interaction-panel-pinned-edit__field",children:[a.jsx("span",{children:i("chat.interactionPanel.pinnedTabTitle")}),a.jsx(Kt,{value:n,placeholder:e==null?void 0:e.originalTitle,onChange:c=>r(c.target.value)})]}),a.jsxs("label",{className:"chat-interaction-panel-pinned-edit__field",children:[a.jsx("span",{children:i("chat.interactionPanel.pinnedTabIcon")}),a.jsx(Kt,{value:o,placeholder:e==null?void 0:e.originalIcon,prefix:a.jsx("span",{className:"material-symbols-rounded",children:"interests"}),onChange:c=>l(c.target.value)})]}),a.jsx("div",{className:"chat-interaction-panel-pinned-edit__hint",children:i("chat.interactionPanel.pinnedTabEditHint")})]})})}const Of=e=>`chatInteractionPinnedTabs:${e}`,tn=e=>typeof e=="string"&&e.trim()!==""?e.trim():void 0,yT=e=>{if(e==null||typeof e!="object"||Array.isArray(e))return null;const t=e,s=tn(t.id);return s==null?null:{id:s,...tn(t.customIcon)!=null?{customIcon:tn(t.customIcon)}:{},...tn(t.customTitle)!=null?{customTitle:tn(t.customTitle)}:{}}},wT=(e,t)=>e.length===t.length&&e.every((s,i)=>{var n,r,o;return s.id===((n=t[i])==null?void 0:n.id)&&s.customIcon===((r=t[i])==null?void 0:r.customIcon)&&s.customTitle===((o=t[i])==null?void 0:o.customTitle)}),ud=e=>{if(typeof window>"u")return[];try{const t=window.localStorage.getItem(Of(e)),s=t==null?[]:JSON.parse(t);return Array.isArray(s)?s.map(yT).filter(i=>i!=null):[]}catch{return[]}},md=(e,t)=>{if(!(typeof window>"u"))try{window.localStorage.setItem(Of(e),JSON.stringify(t))}catch{}},ko=(e,t)=>{const s=new Set(e.map(n=>n.id)),i=new Set;return t.filter(n=>!s.has(n.id)||i.has(n.id)?!1:(i.add(n.id),!0))},ST=(e,t)=>({id:e.id,tab:e,originalIcon:e.icon,originalTitle:e.label,icon:t.customIcon??e.icon,title:t.customTitle??e.label,...t.customIcon!=null?{customIcon:t.customIcon}:{},...t.customTitle!=null?{customTitle:t.customTitle}:{}}),kT=e=>Math.max(0,Math.floor(e)),xT=e=>{var i,n;const t=(i=e.customIcon)==null?void 0:i.trim(),s=(n=e.customTitle)==null?void 0:n.trim();return{...t!=null&&t!==""?{customIcon:t}:{},...s!=null&&s!==""?{customTitle:s}:{}}};function CT({maxPinnedTabs:e,tabs:t,terminalSessionId:s}){const[i,n]=m.useState(()=>ud(s)),r=kT(e),o=m.useCallback(p=>{n(f=>{const _=p(f);return md(s,_),_})},[s]);m.useEffect(()=>{n(ud(s))},[s]),m.useEffect(()=>{const p=ko(t,i);wT(p,i)||(n(p),md(s,p))},[i,t,s]);const l=m.useMemo(()=>ko(t,i).slice(0,r),[r,i,t]),c=m.useMemo(()=>new Set(l.map(p=>p.id)),[l]),h=m.useMemo(()=>new Map(t.map(p=>[p.id,p])),[t]),u=m.useMemo(()=>l.map(p=>{const f=h.get(p.id);return f==null?null:ST(f,p)}).filter(p=>p!=null),[h,l]),d=m.useCallback((p,f={})=>{o(_=>{const g=ko(t,_);if(g.some(b=>b.id===p.id)||r<=0)return _;const v=[...g,{id:p.id}];return v.length<=r?v:f.replaceOldest===!0?v.slice(-r):_})},[r,t,o]);return{canPinMoreTabs:l.length<r,pinnedTabs:u,unpinnedTabs:t.filter(p=>!c.has(p.id)),pinTab:d,unpinTab:p=>o(f=>f.filter(_=>_.id!==p.id)),updatePinnedTab:(p,f)=>o(_=>_.map(g=>g.id===p.id?{id:g.id,...xT(f)}:g))}}function NT(){const e=ii();return m.useMemo(()=>{var n,r;const t=new URLSearchParams(e.search),s=(n=t.get(hr))==null?void 0:n.trim(),i=(r=t.get(ja))==null?void 0:r.trim();return{focusRequestId:i==null||i===""?void 0:i,sessionId:s==null||s===""?void 0:s}},[e.search])}function TT({enabled:e,onFoldChange:t,onOpenSessionPage:s}){const i=ii(),n=m.useRef(t),r=m.useRef(s),o=m.useMemo(()=>{var h;const c=(h=new URLSearchParams(i.search).get(hr))==null?void 0:h.trim();return c==null||c===""?void 0:c},[i.search]),l=m.useMemo(()=>{var h;const c=(h=new URLSearchParams(i.search).get(ja))==null?void 0:h.trim();return c==null||c===""?void 0:c},[i.search]);m.useEffect(()=>{n.current=t,r.current=s},[t,s]),m.useEffect(()=>{e&&o!=null&&(n.current(!1),r.current(o,o,{focusRequestId:l}))},[e,l,o])}function ET({enabled:e,isMac:t,onNewIframe:s,onNewTerminal:i,onOpenResource:n}){m.useEffect(()=>{if(!e)return;const r=o=>{const c=[{shortcut:Ya,run:n},{shortcut:Xa,run:i},{shortcut:Ja,run:s}].find(h=>P_(o,h.shortcut,t));c!=null&&(o.preventDefault(),o.stopPropagation(),o.stopImmediatePropagation(),c.run())};return window.addEventListener("keydown",r,!0),()=>window.removeEventListener("keydown",r,!0)},[e,t,s,i,n])}const MT=e=>{const t=e.selectedWorkspaceFilePath;return t!=null&&e.openWorkspaceFilePaths.includes(t)?t:e.openWorkspaceFilePaths[0]??null},fd=e=>e.kind==="file"?{kind:"file",path:e.path}:{kind:e.kind,id:e.id},PT=(e,t,s)=>{const i=e.findIndex(n=>n.id===t.id);return i<0?[]:s==="all"?e:s==="others"?e.filter(n=>n.id!==t.id):s==="right"?e.slice(i+1):[t]},RT=(e,t,s)=>{const i=new Set(t.map(o=>o.id)),n=e.filter(o=>!i.has(o.id)),r=e.findIndex(o=>o.id===s.id);return n[Math.min(Math.max(r,0),n.length-1)]??null},pd=(e,t)=>t.some(s=>s.kind!==e.kind?!1:s.kind==="file"&&e.kind==="file"?s.path===e.path:"id"in e&&s.id===e.id),jT=({bottomPanel:e,targetTabs:t})=>{const s=t.filter(i=>i.kind==="file").map(i=>i.path);s.length<=0||e.handleCloseWorkspaceFileTabs(s)},IT=(e,t)=>new Set(e.flatMap(s=>t.has(s.id)&&s.sessionId!=null?[s.sessionId]:[]));function DT({closeSessionPages:e,sessionPages:t}){const s=ii(),i=vs();return m.useCallback(n=>{var h;const r=IT(t,n);e(n,r);const o=(h=new URLSearchParams(s.search).get(hr))==null?void 0:h.trim();if(o==null||o===""||!r.has(o))return;const l=new URLSearchParams(s.search);l.delete(hr),l.delete(ja);const c=l.toString();i({pathname:s.pathname,search:c===""?"":`?${c}`},{replace:!0})},[e,s.pathname,s.search,i,t])}const Ff=e=>`chatInteractionTabOrder:${e}`,LT=(e,t)=>e.length===t.length&&e.every((s,i)=>s===t[i]),_d=e=>{if(typeof window>"u")return[];try{const t=window.localStorage.getItem(Ff(e));if(t==null)return[];const s=JSON.parse(t);return Array.isArray(s)?s.filter(i=>typeof i=="string"&&i!==""):[]}catch{return[]}},AT=(e,t)=>{if(!(typeof window>"u"))try{window.localStorage.setItem(Ff(e),JSON.stringify(t))}catch{}},mn=(e,t)=>{const s=new Set(e.map(r=>r.id)),i=new Set,n=t.filter(r=>!s.has(r)||i.has(r)?!1:(i.add(r),!0));for(const r of e)i.has(r.id)||(n.push(r.id),i.add(r.id));return n},BT=(e,t)=>{const s=new Map(e.map(i=>[i.id,i]));return mn(e,t).map(i=>s.get(i)).filter(i=>i!=null)},OT=({order:e,placement:t,sourceId:s,tabs:i,targetId:n})=>{if(s===n)return mn(i,e);const r=mn(i,e).filter(l=>l!==s),o=r.indexOf(n);return o<0?mn(i,e):(r.splice(o+(t==="after"?1:0),0,s),r)};function FT({tabs:e,terminalSessionId:t}){const[s,i]=m.useState(()=>_d(t)),n=m.useMemo(()=>BT(e,s),[s,e]);return m.useEffect(()=>{i(_d(t))},[t]),m.useEffect(()=>{const o=mn(e,s);LT(s,o)||i(o),AT(t,o)},[s,e,t]),{handleMoveTab:m.useCallback((o,l,c)=>{i(h=>OT({order:h,placement:c,sourceId:o,tabs:e,targetId:l}))},[e]),tabs:n}}function WT({bottomPanel:e,canCreateSessionTab:t,language:s,terminalPanes:i,terminalSessionId:n,workspaceDrawerItems:r=[],t:o}){var A;const l=mf({terminalSessionId:n,t:o}),c=ff(),h=gf(n),u=rs("workbench.tabs"),d=DT(h),[p,f]=m.useState([]),[_,g]=m.useState([]),v=m.useMemo(()=>i.panes.filter(B=>Ga(B,"bottom")),[i.panes]),[b,x]=m.useState({kind:"terminal",id:((A=v[0])==null?void 0:A.id)??i.activeTerminalId}),P=m.useMemo(()=>new Map(r.map(B=>[B.key,B])),[r]),y=({fallbackTerminalId:B,excludedIframeId:H}={})=>{var pe,Y,be,ye,he;const U=B===void 0?(pe=v[0])==null?void 0:pe.id:B;if(U!=null)return{kind:"terminal",id:U};const W=MT(e);if(W!=null)return{kind:"file",path:W};const z=(Y=l.iframePages.find($=>$.id!==H))==null?void 0:Y.id;if(z!=null)return{kind:"iframe",id:z};const F=(be=c.mobileDebugPages[0])==null?void 0:be.id;if(F!=null)return{kind:"mobile-debug",id:F};const te=t?(ye=h.sessionPages[0])==null?void 0:ye.id:void 0;if(te!=null)return{kind:"session",id:te};const ie=(he=p[0])==null?void 0:he.id;if(ie!=null)return{kind:"plugin",id:ie};const ue=_[0];return ue==null?null:{kind:"workspace-drawer",id:So(ue)}},S=B=>{B!=null&&x(B)};m.useEffect(()=>{b.kind!=="terminal"||v.some(B=>B.id===b.id)||S(y({fallbackTerminalId:null}))},[b,v]),m.useEffect(()=>{const B=e.selectedWorkspaceFilePath;B!=null&&e.openWorkspaceFilePaths.includes(B)&&x({kind:"file",path:B})},[e.openWorkspaceFilePaths,e.selectedWorkspaceFilePath]),m.useEffect(()=>{b.kind!=="file"||e.openWorkspaceFilePaths.includes(b.path)||S(y())},[b,e.openWorkspaceFilePaths,y]),m.useEffect(()=>{g(B=>B.filter(H=>P.has(H)))},[P]);const T=m.useMemo(()=>{const B=_.flatMap(H=>{const U=P.get(H);return U==null?[]:[{canClose:!0,icon:U.icon,id:So(H),kind:"workspace-drawer",label:U.label,view:H}]});return[...ON({filePaths:e.openWorkspaceFilePaths,iframePages:l.iframePages,mobileDebugPages:c.mobileDebugPages,pluginPages:p,sessionPages:t?h.sessionPages:[],terminalInfoById:i.infoById,terminalPanes:v}),...B]},[e.openWorkspaceFilePaths,t,l.iframePages,c.mobileDebugPages,p,h.sessionPages,i.infoById,v,P,_]),{handleMoveTab:j,tabs:I}=FT({tabs:T,terminalSessionId:n});m.useEffect(()=>{const B=I[0];B==null||pd(b,I)||x(fd(B))},[b,I]);const R=B=>{if(B.kind==="terminal"){i.setActiveTerminalId(B.id),e.handleSelectBottomPanelView("terminal"),x({kind:"terminal",id:B.id});return}if(B.kind==="file"){e.handleSelectWorkspaceFile(B.path),x({kind:"file",path:B.path});return}e.handleSelectBottomPanelView("terminal"),x({kind:B.kind,id:B.id})},O=(B,H={})=>{const U=i.addTerminal(B,{...H,surface:"bottom"});return e.handleSelectBottomPanelView("terminal"),x({kind:"terminal",id:U.id}),U},k=({key:B})=>{if(B==="session"){if(!t)return;const U=h.addSessionPage(o("chat.interactionPanel.sessionTitle",{index:h.sessionPages.length+1}));e.handleSelectBottomPanelView("terminal"),x({kind:"session",id:U.id});return}if(B==="iframe"){const U=l.addIframePage();e.handleSelectBottomPanelView("terminal"),x({kind:"iframe",id:U.id});return}if(B==="mobile-debug"||B===el||B===tl){const U=c.addMobileDebugPage(o("chat.interactionPanel.mobileDebugTitle"),{mode:"config",selectedDeviceId:void 0,selectedDeviceLabel:o("chat.interactionPanel.mobileDebugConfig")});e.handleSelectBottomPanelView("terminal"),x({kind:"mobile-debug",id:U.id});return}const H=nm(B);if(H!=null){const U=c.mobileDebugPages.flatMap(z=>z.deviceOptions??[]).find(z=>z.id===H.id),W=c.addMobileDebugPage(o("chat.interactionPanel.mobileDebugTitle"),{mode:"targets",selectedDeviceId:H.id,selectedDeviceLabel:(U==null?void 0:U.label)??H.label??H.id});e.handleSelectBottomPanelView("terminal"),x({kind:"mobile-debug",id:W.id});return}O()};m.useEffect(()=>{f(B=>{const H=df(B,u,s);return uf(B,H)?B:H})},[s,u]);const N=(B,H,U={})=>{const W=cf({fallbackToSingle:U.fallbackToSingle,pluginScope:B,tabId:H,tabs:u});if(W==null)return null;const z=hf(W,s);return z==null?null:(e.handleSelectBottomPanelView("terminal"),f(F=>[...F,z]),x({kind:"plugin",id:z.id}),z)},C=(B,H)=>{const U=l.openIframeUrl(B,H);return e.handleSelectBottomPanelView("terminal"),x({kind:"iframe",id:U.id}),U},w=B=>{const H=P.get(B);return H==null?null:(e.handleSelectBottomPanelView("terminal"),g(U=>U.includes(B)?U:[...U,B]),x({kind:"workspace-drawer",id:So(B)}),H)},M=m.useCallback((B,H,U={})=>{if(!t)return;const W=h.openSessionPage(B,H,U);W!=null&&(e.handleSelectBottomPanelView("terminal"),x(z=>z.kind==="session"&&z.id===W.id?z:{kind:"session",id:W.id}))},[e.handleSelectBottomPanelView,t,h.openSessionPage]),E=B=>D(B,"current"),D=(B,H)=>{const U=PT(I,B,H);if(U.length<=0)return;const W=U.filter(Y=>Y.canClose),z=W.filter(Y=>Y.kind==="terminal").map(Y=>Y.id),F=new Set(W.filter(Y=>Y.kind==="iframe").map(Y=>Y.id)),te=new Set(W.filter(Y=>Y.kind==="mobile-debug").map(Y=>Y.id)),ie=new Set(W.filter(Y=>Y.kind==="session").map(Y=>Y.id)),ue=new Set(W.filter(Y=>Y.kind==="plugin").map(Y=>Y.id)),pe=new Set(W.filter(Y=>Y.kind==="workspace-drawer").map(Y=>Y.view));if(i.closeTerminals(z),jT({bottomPanel:e,targetTabs:W}),l.closeIframePages(F),c.closeMobileDebugPages(te),d(ie),f(Y=>Y.filter(be=>!ue.has(be.id))),g(Y=>Y.filter(be=>!pe.has(be))),pd(b,W)){const Y=RT(I,W,B);S(Y==null?null:fd(Y))}};return{activeTab:b,activateTab:R,addTerminal:O,handleAddMenuClick:k,handleCloseTab:E,handleCloseTabGroup:D,handleIframeMetadataChange:l.handleIframeMetadataChange,handleIframeNavigateHistory:l.handleIframeNavigateHistory,handleIframeSelectHistory:l.handleIframeSelectHistory,handleIframeUrlChange:l.handleIframeUrlChange,handleMoveTab:j,iframePages:l.iframePages,mobileDebugPages:c.mobileDebugPages,openIframeUrl:C,openPluginTab:N,openSessionPage:M,openWorkspaceDrawerView:w,sessionPages:h.sessionPages,tabs:I,updateMobileDebugPage:c.updateMobileDebugPage,updateSessionPage:h.updateSessionPage}}function $T(e,t){const s=e==null?null:["interaction-panel-session-workspace",e],{data:i}=Qt(s,([,n])=>r_(n));return{projectUrlHistoryKey:(i==null?void 0:i.workspace.repositoryRoot)??(i==null?void 0:i.workspace.workspaceFolder)??f_(),sessionUrlHistoryKey:e??t}}const HT="calc(var(--app-chrome-icon-size, 18px) + var(--route-container-header-padding-block, 10px) + var(--route-container-header-padding-block, 10px) + var(--route-container-header-border-width, var(--app-chrome-border-width, 1px)))";function KT({agentApprovals:e,agentRoster:t,bottomPanel:s,isFolded:i,isVisible:n,shortcutRequest:r,onShortcutRequestHandled:o,onRunCommandTaskStatusesChange:l,onFoldChange:c,onLocateWorkspacePath:h,onReferenceWorkspacePaths:u,onWorkspaceDrawerCreateMenuClick:d,settingsView:p,sessionId:f,terminalSessionId:_,terminalPanes:g,workspaceDrawerCreateItems:v,workspaceDrawerCreateSelectedKeys:b,workspaceRootPath:x}){const{i18n:P,t:y}=Z(),S=vs(),{isCompactLayout:T,isTouchInteraction:j}=$s(),I=T||j,R=typeof navigator<"u"&&navigator.platform.includes("Mac"),O=Ri(y_),k=rs("workbench.addMenu"),N=rs("workbench.tabs"),C=Tr(),w=P.resolvedLanguage??P.language,M=f!=null&&f!=="",[E,D]=m.useState(!1),[A,B]=m.useState(null),[H,U]=m.useState("preview"),W=m.useRef(null),{projectUrlHistoryKey:z,sessionUrlHistoryKey:F}=$T(f,_),te=s.selectedWorkspaceFilePath==null?s.openWorkspaceFilePaths:[s.selectedWorkspaceFilePath,...s.openWorkspaceFilePaths.filter(q=>q!==s.selectedWorkspaceFilePath)],ie=m.useMemo(()=>g.panes.filter(q=>Ga(q,"bottom")),[g.panes]),ue=f!=null&&f!==""?["chat-workspace-drawer-git",f]:"chat-workspace-drawer-git",{data:pe,isLoading:Y,mutate:be}=Qt(ue,()=>f!=null&&f!==""?Bd(f):Od(),{refreshInterval:3e3,revalidateOnFocus:!0}),ye=m.useMemo(()=>e==null?[]:rm(e.room),[e]),he=m.useMemo(()=>ie.filter(q=>q.runCommand!=null).map(q=>({commandId:q.runCommand.commandId,isRunning:g.runTaskRunningById[q.id]===!0,terminalId:q.id})),[ie,g.runTaskRunningById]),$=WT({bottomPanel:s,canCreateSessionTab:M,terminalPanes:g,terminalSessionId:_,workspaceDrawerItems:v,language:w,t:y}),de=m.useCallback(q=>{c(!1),$.openWorkspaceDrawerView(q)},[c,$]),oe=Cf({onActivateView:de,onForceSync:be,selectedFilePath:s.selectedWorkspaceFilePath,t:y}),{getActionsForView:_e}=oe,ce=m.useCallback(({groupActiveTab:q,isTopRightGroup:Ae})=>(q==null?void 0:q.kind)!=="workspace-drawer"?[]:_e({isTopRightGroup:Ae,view:q.view}),[_e]),We=m.useMemo(()=>[ce],[ce]),we=m.useCallback(q=>We.flatMap(Ae=>Ae(q)),[We]),Se=CT({maxPinnedTabs:O,tabs:$.tabs,terminalSessionId:_}),me=NT(),Ge=q=>{const Ae=im(String(q.key));if(Ae!=null){const Pe=k.find(tt=>tt.pluginScope===Ae.scope&&tt.id===Ae.id);if(Pe==null)return;if(c(!1),Pe.command!=null&&C!=null){C(Pe.pluginScope,Pe.command);return}if(Pe.route!=null){S(Pe.route);return}if(Pe.href!=null){window.open(Pe.href,"_blank","noopener,noreferrer");return}if($.openPluginTab(Pe.pluginScope,Pe.tab??Pe.id,{fallbackToSingle:Pe.tab==null})!=null)return;S(`/plugins/${Pe.pluginScope}/${Pe.id}`);return}if(q.key==="resource"){c(!1),D(!0);return}c(!1),$.handleAddMenuClick(q)},ae=q=>{const Ae=sl(String(q.key));if(Ae!=null){c(!1),$.openWorkspaceDrawerView(Ae)==null&&(d==null||d(q));return}Ge(q)},ee=q=>{M&&(c(!1),$.handleAddMenuClick({key:q}))},Re=(q,Ae={})=>{c(!1),$.addTerminal(q,Ae)},Ve=q=>{var It;c(!1);const Ae=Ar(q),Pe=Lr(q),tt=aS(q),le=Uu(tt),ge=ie.find(V=>{var ne;return((ne=V.runCommand)==null?void 0:ne.commandId)===q.id});if(ge!=null){const V={canClose:!0,icon:((It=ge.runCommand)==null?void 0:It.icon)??Pe,id:ge.id,kind:"terminal",label:ge.title,shellKind:ge.shellKind};$.activateTab(V),Se.pinTab(V,{replaceOldest:!0});const ne=g.infoById[ge.id];g.runTaskRunningById[ge.id]===!0||g.restartTerminal(ge.id,le,{restartRunning:(ne==null?void 0:ne.isExited)===!0});return}const Je=$.addTerminal("default",{initialCommand:le,runCommand:{commandId:q.id,icon:Pe,script:tt,title:Ae},title:Ae});Se.pinTab({canClose:!0,icon:Pe,id:Je.id,kind:"terminal",label:Je.title,shellKind:Je.shellKind},{replaceOldest:!0})},Ue=()=>{c(!1),$.handleAddMenuClick({key:"iframe"})},Qe=()=>{c(!1),$.handleAddMenuClick({key:"mobile-debug"})},Xe=()=>ee("session"),it=q=>{c(!1),$.activateTab(q)},Ie=()=>{c(!1),D(!0)},Ee=()=>{if(i){s.handleCloseBottomPanel();return}c(!0)},et=()=>{s.handleCloseBottomPanel()},ot=m.useMemo(()=>({agentApprovals:e,agentRoster:t,approvalMessages:ye,changedLayout:oe.changedLayout,changedTreeCommand:oe.changedTreeCommand,isGitLoading:Y,onOpenFile:s.handleOpenWorkspaceFile,onReferencePaths:u,pluginTabs:N,repoState:pe,settingsView:p,treeRefreshKey:oe.treeRefreshKey,workspaceTreeCommand:oe.workspaceTreeCommand}),[e,t,ye,s.handleOpenWorkspaceFile,Y,u,N,pe,p,oe.changedLayout,oe.changedTreeCommand,oe.treeRefreshKey,oe.workspaceTreeCommand]);return m.useEffect(()=>{const q=r??pr();if(q==null||W.current===q.id)return;if(W.current=q.id,q.action==="open-browser-tab"||q.action==="new-website")Ue();else if(q.action==="open-website")c(!1),$.openIframeUrl(q.url,q.title==null?void 0:{title:q.title});else if(q.action==="new-terminal")Re();else if(q.action==="run-command")Ve(q.command);else if(q.action==="terminate-run-command-task")g.terminateTerminal(q.terminalId);else if(q.action==="open-terminal"){c(!1);const Pe=g.panes.find(tt=>tt.id===q.terminalId);Pe==null?Re():(g.setActiveTerminalId(q.terminalId),s.handleSelectBottomPanelView("terminal"),$.activateTab({canClose:!0,icon:"terminal",id:q.terminalId,kind:"terminal",label:Pe.title,shellKind:Pe.shellKind}))}else q.action==="new-session"?Xe():q.action==="open-session"?(c(!1),$.openSessionPage(q.sessionId,q.title??q.sessionId)):q.action==="create-menu-item"&&Ge({key:q.menuKey});const Ae=pr();(Ae==null?void 0:Ae.id)===q.id&&Bo(null),o==null||o(q.id)},[s,Xe,Re,Ue,Ve,c,o,$,r,g]),m.useEffect(()=>{l==null||l(he)},[l,he]),m.useEffect(()=>()=>l==null?void 0:l([]),[l]),ET({enabled:n,isMac:R,onNewIframe:Ue,onNewTerminal:Re,onOpenResource:Ie}),TT({enabled:M,onFoldChange:c,onOpenSessionPage:$.openSessionPage}),a.jsxs(a.Fragment,{children:[a.jsx(zd,{allowFullscreen:!I,allowResize:!I,className:"chat-interaction-panel",defaultHeight:I?208:jf,closeIcon:i?"close":"bottom_panel_close",fullscreenEnterLabel:y("common.enterFullscreen"),fullscreenExitLabel:y("common.exitFullscreen"),fullscreenMinimizedIcon:"bottom_panel_open",fullscreenMinimizedLabel:y("chat.interactionPanel.expandPanel"),isMinimized:i,isOpen:n,maxHeight:I?320:Df,minimizedHeight:HT,minHeight:I?180:Lf,hideHeader:!0,closeLabel:y(i?"chat.interactionPanel.hidePanel":"chat.interactionPanel.minimizePanel"),resizeLabel:y("chat.bottomPanelResizePanel"),storageKey:If,onClose:Ee,onExpandMinimized:()=>c(!1),children:({isFullscreen:q,onToggleFullscreen:Ae})=>a.jsx(qN,{activeTab:$.activeTab,activeSessionFocusRequestId:me.focusRequestId,activeSessionFocusSessionId:me.sessionId,bottomPanel:s,canFullscreenPanel:!I,canCreateSessionTab:M,canPinMoreTabs:Se.canPinMoreTabs,iframePages:$.iframePages,isPanelFullscreen:q,isPanelMinimized:i,isVisible:n,markdownPreviewMode:H,mobileDebugPages:$.mobileDebugPages,pinnedTabs:Se.pinnedTabs,tabs:$.tabs,projectUrlHistoryKey:z,sessionId:f,sessionPages:$.sessionPages,sessionUrlHistoryKey:F,terminalPanes:g,terminalSessionId:_,workspaceDrawerCreateItems:v,workspaceDrawerCreateSelectedKeys:b,workspaceDrawerState:ot,workspaceRootPath:x,getTabHeaderActions:we,onActivateTab:it,onCloseTab:$.handleCloseTab,onCloseTabGroup:$.handleCloseTabGroup,onEditPinnedTab:B,onIframeMetadataChange:$.handleIframeMetadataChange,onIframeNavigateHistory:$.handleIframeNavigateHistory,onIframeSelectHistory:$.handleIframeSelectHistory,onIframeUrlChange:$.handleIframeUrlChange,onLocateWorkspacePath:h,onMarkdownPreviewModeChange:U,onMobileDebugPageChange:$.updateMobileDebugPage,onAddMenuClick:ae,onNewSession:Xe,onNewTerminal:Re,onNewWebPage:Ue,onOpenIframeUrl:$.openIframeUrl,onNewMobileDebugPage:Qe,onOpenResource:Ie,onPanelExpand:()=>c(!1),onPanelClose:et,onPanelAction:Ee,onPinTab:Se.pinTab,onRunCommand:Ve,onSessionPageChange:$.updateSessionPage,onTogglePanelFullscreen:Ae,onUnpinTab:Se.unpinTab})}),a.jsx(vT,{bottomPanel:s,iframePages:$.iframePages,open:E,projectUrlHistoryKey:z,recentFilePaths:te,sessionId:f,sessionUrlHistoryKey:F,onClose:()=>D(!1),onFoldChange:c,onOpenWebsite:$.openIframeUrl}),a.jsx(bT,{pinnedTab:A,onClose:()=>B(null),onSave:q=>{A!=null&&Se.updatePinnedTab(A.tab,q),B(null)}})]})}function zT({agentApprovals:e,agentRoster:t,bottomPanel:s,isFolded:i,isRendered:n,isVisible:r,shortcutRequest:o,onShortcutRequestHandled:l,onRunCommandTaskStatusesChange:c,onFoldChange:h,onLocateWorkspacePath:u,onReferenceWorkspacePaths:d,onWorkspaceDrawerCreateMenuClick:p,settingsView:f,sessionId:_,terminalSessionId:g,terminalPanes:v,workspaceDrawerCreateItems:b,workspaceDrawerCreateSelectedKeys:x,workspaceRootPath:P}){return n?a.jsx(KT,{agentApprovals:e,agentRoster:t,bottomPanel:s,isFolded:i,isVisible:r,shortcutRequest:o,onShortcutRequestHandled:l,onRunCommandTaskStatusesChange:c,onFoldChange:h,onLocateWorkspacePath:u,onReferenceWorkspacePaths:d,onWorkspaceDrawerCreateMenuClick:p,settingsView:f,sessionId:_,terminalSessionId:g,terminalPanes:v,workspaceDrawerCreateItems:b,workspaceDrawerCreateSelectedKeys:x,workspaceRootPath:P}):null}const UT="__workspace__",qT=['.chat-container.ready .chat-input-monaco[data-oneworks-sender-editor-ready="true"]',".chat-container.ready .chat-messages.ready",".chat-container.ready .chat-settings-panel",".chat-container.ready .chat-timeline-view"].join(","),VT=new Set(["directory","file","new-session","new-terminal","new-website","session","terminal","website"]);let GT=Date.now(),sn=null;const YT=e=>e!=null&&typeof e=="object"&&!Array.isArray(e),gd=e=>{if(!YT(e)||typeof e.kind!="string")return null;const t=e.kind;return VT.has(t)?{kind:t,...typeof e.path=="string"?{path:e.path}:{},...typeof e.sessionId=="string"?{sessionId:e.sessionId}:{},...typeof e.terminalId=="string"?{terminalId:e.terminalId}:{},...typeof e.title=="string"?{title:e.title}:{},...typeof e.url=="string"?{url:e.url}:{}}:null};function XT({activeView:e,agentApprovals:t,agentRoster:s,displayTitle:i,debugSessionLogPath:n,enableTimelineView:r,headerActionsOverride:o,headerBreadcrumb:l,headerMoreItems:c,historyTimelineHidden:h,historyView:u,isNewSession:d=!1,isReady:p=!0,isTerminalPanelFolded:f,isTerminalOpen:_,messages:g,modeSwitch:v,onReferenceWorkspacePaths:b,projectWorkspaceFolder:x,roomIconSeed:P,roomIconStatus:y,session:S,sessionCompactionInfo:T,sessionInfo:j,settingsView:I,setActiveView:R,setIsTerminalPanelFolded:O,setIsTerminalOpen:k,showViewSwitches:N,timelineView:C,onHistoryTimelineHiddenChange:w,workspaceDrawerDefaultView:M,workspaceSession:E,workspaceSessionId:D}){const{i18n:A,t:B}=Z(),H=vs(),U=ii(),{openRouteSidebar:W}=wd(),{isWorkspaceDrawerFullscreen:z,isWorkspaceDrawerOpen:F,setWorkspaceDrawerFullscreen:te,setWorkspaceDrawerOpen:ie,workspaceDrawerView:ue}=vN(),pe=rs("workbench.tabs");kd("chat"),xd("chat");const[Y,be]=m.useState(null),ye=m.useRef(null),he=m.useRef(null),[$,de]=m.useState(null),[oe,_e]=m.useState([]),ce=E??S,We=D??(ce==null?void 0:ce.id),we=(j==null?void 0:j.type)==="init"?j.cwd.trim():"",Se=we===""?x:we,me=We??UT,Ge=fk(me,B),ae=pN({isTerminalOpen:_,session:ce,setIsTerminalOpen:k}),ee=m.useMemo(()=>Tf({agentRosterCount:s==null?void 0:s.members.length,hasAgentsTab:s!=null,hasApprovalsTab:t!=null,hasSettingsTab:I!=null,language:A.resolvedLanguage??A.language,pluginTabs:pe,t:B}),[t,s,A.language,A.resolvedLanguage,pe,I,B]),Re=F?ue??M??"tree":void 0,Ve=m.useMemo(()=>Re==null?[]:[Fr(Re)],[Re]),Ue=F,{isRendered:Qe,isVisible:Xe}=_N(ae.shouldShowBottomPanel);o_(p,{visibleSelector:qT});const it=()=>{n!=null&&(ae.handleOpenWorkspaceFile(n),ie(!0),be(V=>({id:((V==null?void 0:V.id)??0)+1,path:n})))},Ie=m.useCallback(V=>{const ne=V.trim();ne!==""&&(ie(!0),be(ve=>({id:((ve==null?void 0:ve.id)??0)+1,path:ne})))},[ie]),Ee=m.useCallback((V,ne={})=>{const ve={action:V,id:++GT,...ne};sn=ve,Bo(ve),de(ve)},[]),et=m.useCallback(V=>{const ne=sl(String(V.key));ne!=null&&ie(!0,ne)},[ie]),ot=m.useCallback(V=>{O(!1),k(!0),Ee("run-command",{command:V})},[Ee,k,O]),q=m.useCallback(V=>{Ee("terminate-run-command-task",{terminalId:V})},[Ee]),Ae=m.useCallback((V,ne)=>{const ve=V.trim();if(ve==="")return;const Ke=ne==null?void 0:ne.trim();O(!1),k(!0),Ee("open-website",{url:ve,...Ke!=null&&Ke!==""&&Ke!==ve?{title:Ke}:{}})},[Ee,k,O]),Pe=typeof u=="function"?u({onOpenUrlInAppBrowser:Ae,onOpenWorkspaceFile:ae.handleOpenWorkspaceFile,workspaceRootPath:Se}):u,tt=e==="timeline"&&r===!0?C??Pe:Pe,le=m.useCallback(V=>{if(!ae.shouldShowBottomPanel){he.current=V;return}he.current=null,de(ne=>(ne==null?void 0:ne.id)===V?null:ne)},[ae.shouldShowBottomPanel]);m.useEffect(()=>{const V=sn??pr();$!=null||V==null||(sn=V,de(V))},[$]),m.useEffect(()=>{if(!ae.shouldShowBottomPanel)return;const V=he.current;V!=null&&(he.current=null,de(ne=>(ne==null?void 0:ne.id)===V?null:ne))},[ae.shouldShowBottomPanel]);const ge=m.useCallback(V=>{const ne=V.path;if(V.kind==="directory"&&ne!=null&&ne!==""){ie(!0,"tree"),be(ve=>({id:((ve==null?void 0:ve.id)??0)+1,path:ne}));return}if(V.kind==="file"&&ne!=null&&ne!==""){ae.handleOpenWorkspaceFile(ne),O(!1),k(!0);return}if(V.kind==="new-terminal"){O(!1),k(!0),Ee("new-terminal");return}if(V.kind==="terminal"&&V.terminalId!=null&&V.terminalId!==""){O(!1),k(!0),Ee("open-terminal",{terminalId:V.terminalId});return}if(V.kind==="new-website"){O(!1),k(!0),Ee("new-website");return}if(V.kind==="website"&&V.url!=null&&V.url!==""){O(!1),k(!0),Ee("open-website",{title:V.title,url:V.url});return}if(V.kind==="new-session"){if((S==null?void 0:S.id)==null){H("/");return}O(!1),k(!0),Ee("new-session");return}if(V.kind==="session"&&V.sessionId!=null&&V.sessionId!==""){if((S==null?void 0:S.id)==null){H(`/session/${encodeURIComponent(V.sessionId)}`);return}O(!1),k(!0),Ee("open-session",{sessionId:V.sessionId,...V.title==null||V.title===""?{}:{title:V.title}})}},[ae,H,Ee,S==null?void 0:S.id,k,O,ie]);m.useEffect(()=>{var ne,ve;return(ve=(ne=window.oneworksDesktop)==null?void 0:ne.onWorkspaceResourceRequest)==null?void 0:ve.call(ne,Ke=>{const Q=gd(Ke);Q!=null&&ge(Q)})},[ge]),m.useEffect(()=>Ad(V=>{if(V==="toggle-terminal"){_||O(!1),ae.handleToggleBottomPanel();return}if(V==="toggle-file-tree"){ie(!F,F?void 0:"tree");return}if(V==="toggle-side-panel"){ie(!F);return}V==="open-browser-tab"&&(O(!1),k(!0),Ee("open-browser-tab"))}),[ae,_,F,Ee,k,O,ie]),m.useEffect(()=>{var st,at,De,xt,Wt,Me,oi;const V=new URLSearchParams(U.search),ne=(st=V.get("launcherAction"))==null?void 0:st.trim(),ve=(at=V.get("launcherRequestId"))==null?void 0:at.trim();if(ne==null||ne===""||ve==null||ve===""||ye.current===ve)return;ye.current=ve;const Ke=(De=V.get("launcherPath"))==null?void 0:De.trim(),Q=(xt=V.get("launcherSessionId"))==null?void 0:xt.trim(),$e=(Wt=V.get("launcherTerminalId"))==null?void 0:Wt.trim(),Dt=(Me=V.get("launcherTitle"))==null?void 0:Me.trim(),yt=(oi=V.get("launcherUrl"))==null?void 0:oi.trim();for(const ai of["launcherAction","launcherPath","launcherRequestId","launcherSessionId","launcherTerminalId","launcherTitle","launcherUrl"])V.delete(ai);const ht=V.toString(),He=()=>{H({pathname:U.pathname,search:ht===""?"":`?${ht}`},{replace:!0})},se=gd({kind:ne,...Ke==null||Ke===""?{}:{path:Ke},...Q==null||Q===""?{}:{sessionId:Q},...$e==null||$e===""?{}:{terminalId:$e},...Dt==null||Dt===""?{}:{title:Dt},...yt==null||yt===""?{}:{url:yt}});if((se==null?void 0:se.kind)==="new-session"&&(S==null?void 0:S.id)==null){H({pathname:"/",search:ht===""?"":`?${ht}`},{replace:!0});return}if((se==null?void 0:se.kind)==="session"&&se.sessionId!=null&&se.sessionId!==""&&(S==null?void 0:S.id)==null){H({pathname:`/session/${encodeURIComponent(se.sessionId)}`,search:ht===""?"":`?${ht}`},{replace:!0});return}se!=null&&ge(se),He()},[ge,U.pathname,U.search,H,S==null?void 0:S.id]);const Je=ae.shouldShowBottomPanel||Qe||$!=null,It=a.jsx(IS,{breadcrumb:l,displayTitle:i,roomIconSeed:P,roomIconStatus:y,sessionCompactionInfo:T,sessionInfo:j,sessionId:S==null?void 0:S.id,sessionTitle:S==null?void 0:S.title,sessionStatus:S==null?void 0:S.status,isStarred:S==null?void 0:S.isStarred,isArchived:S==null?void 0:S.isArchived,messages:g,tags:S==null?void 0:S.tags,lastMessage:S==null?void 0:S.lastMessage,lastUserMessage:S==null?void 0:S.lastUserMessage,activeView:e,enableTimelineView:r,historyTimelineHidden:h,isBottomPanelOpen:ae.shouldShowBottomPanel,isWorkspaceDrawerOpen:F,isNewSessionActive:d,actionsOverride:o,modeSwitch:v,moreItems:c,projectWorkspaceFolder:x,showViewSwitches:N,terminalSessionId:me,runCommandTaskStatuses:oe,onCreateSession:()=>void H("/"),onOpenSidebar:W,onOpenSessionLog:n==null?void 0:it,onRunCommand:ot,onTerminateRunCommandTask:q,onHistoryTimelineHiddenChange:w,onViewChange:R,onToggleBottomPanel:ae.handleToggleBottomPanel,onToggleWorkspaceDrawer:()=>ie(!F)});return a.jsx(Cd,{className:`chat-route-layout ${Ue?"has-workspace-drawer":""} ${ae.shouldShowBottomPanel?"has-bottom-dock":""}`,bodyClassName:"chat-route-layout__body",header:It,sidePanel:Ue?a.jsx(mN,{agentApprovals:t,agentRoster:s,defaultView:ue??M,isFullscreen:z,locateFileRequest:Y,selectedFilePath:ae.selectedWorkspaceFilePath,settingsView:I,sessionId:We,terminalSessionId:me,terminalPanes:Ge,onClose:()=>ie(!1),onFullscreenChange:te,onReferencePaths:b,onOpenFile:ae.handleOpenWorkspaceFile}):void 0,sidePanelClassName:"chat-route-layout__workspace-panel",sidePanelCompactMode:"overlay",sidePanelFullscreen:z,sidePanelLabel:"工作区抽屉",sidePanelResize:{defaultWidth:340,maxWidth:560,minContentWidth:300,minWidth:220,storageKey:"workspaceDrawerWidth"},onCloseSidePanel:()=>ie(!1),bottomPanel:Je?a.jsx(zT,{agentApprovals:t,agentRoster:s,bottomPanel:ae,isFolded:f,isRendered:!0,isVisible:Xe,shortcutRequest:$,sessionId:We,workspaceRootPath:Se,onLocateWorkspacePath:Ie,onWorkspaceDrawerCreateMenuClick:et,onShortcutRequestHandled:V=>{const ne=sn??pr();(ne==null?void 0:ne.id)===V&&(sn=null,Bo(null)),le(V)},onRunCommandTaskStatusesChange:_e,onFoldChange:O,onReferenceWorkspacePaths:b,settingsView:I,terminalSessionId:me,terminalPanes:Ge,workspaceDrawerCreateItems:ee,workspaceDrawerCreateSelectedKeys:Ve}):void 0,children:a.jsx("div",{className:`chat-container ${p?"ready":""} ${d?"is-new-session":""}`,children:tt})})}const Wf="oneworks.chat.hiddenHistoryTimelineSessionIds",JT=()=>{if(typeof window>"u")return new Set;try{const e=window.localStorage.getItem(Wf),t=e==null?[]:JSON.parse(e);return new Set(Array.isArray(t)?t.filter(s=>typeof s=="string"):[])}catch{return new Set}},ZT=e=>{if(!(typeof window>"u"))try{window.localStorage.setItem(Wf,JSON.stringify([...e]))}catch{}};function bE({headerBreadcrumb:e,headerActionsOverride:t,headerMoreItems:s,newSessionGuide:i,enableTimelineView:n,isAgentRoomSession:r,agentRoomSourceMembers:o,modeSwitch:l,canonicalSessionId:c,projectWorkspaceFolder:h,session:u,sessions:d=u==null?[]:[u],sessionActivityLabel:p,agentRoomTranscript:f}){var ne;const{t:_}=Z(),[g]=Cr(),[v,b]=m.useState(null),[x,P]=m.useState(JT),y=f!=null,S=nk(y?!1:n),T=y?!1:S,j=u==null?void 0:u.id,I=j==null?!1:x.has(j),{creationProgress:R,messages:O,sessionInfo:k,sessionCompactionInfo:N,sessionCompactionEvents:C,sessionWorkspaceChanges:w,queuedMessages:M,interactionRequest:E,isReady:D,errorState:A,retryConnection:B,activeView:H,isTerminalPanelFolded:U,isTerminalOpen:W,setActiveView:z,setIsTerminalOpen:F,setIsTerminalPanelFolded:te,handleInteractionResponse:ie,setMessages:ue,placeholder:pe,modelMenuGroups:Y,builtinPreviewModelOptions:be,modelSearchOptions:ye,recommendedModelOptions:he,servicePreviewModelOptions:$,toggleRecommendedModel:de,updatingRecommendedModelValue:oe,selectedModel:_e,modelForQuery:ce,setSelectedModel:We,effort:we,setEffort:Se,effortOptions:me,permissionMode:Ge,setPermissionMode:ae,permissionModeOptions:ee,selectedAdapter:Re,setSelectedAdapter:Ve,selectedAccount:Ue,setSelectedAccount:Qe,accountOptions:Xe,showAccountSelector:it,adapterOptions:Ie,hiddenBuiltinAdapterOptions:Ee,hasAvailableModels:et,modelUnavailable:ot}=Xu({enableTimelineView:T,session:u}),q=g.get("messageId")??void 0,Ae=g.get("toolUseId")??void 0,Pe=((ne=g.get(a_))==null?void 0:ne.trim())||void 0,tt=void 0,le=g.get("workspaceView")??g.get("view"),ge=le==="settings"?"settings":le==="changes"?"changes":le==="tree"?"tree":y?"approvals":void 0,Je=m.useMemo(()=>Fu({errorState:A,modelUnavailable:ot,t:_}),[A,ot,_]),It=ve=>{ve.length>0&&b(Ke=>({id:((Ke==null?void 0:Ke.id)??0)+1,files:ve}))},V=m.useCallback(ve=>{j==null||j===""||P(Ke=>{const Q=new Set(Ke);return ve?Q.add(j):Q.delete(j),ZT(Q),Q})},[j]);return JS({activeView:H,setActiveView:z,targetMessageId:q,targetToolUseId:Ae}),a.jsx(XT,{activeView:(u==null?void 0:u.id)!=null||y?H:"history",headerActionsOverride:t,historyView:({onOpenUrlInAppBrowser:ve,onOpenWorkspaceFile:Ke,workspaceRootPath:Q})=>a.jsx(Hu,{isReady:D,isAgentRoomSession:r,messages:O,agentRoomSourceMembers:o,canonicalSessionId:c??(u==null?void 0:u.id),session:u,sessions:d,targetMessageId:q,targetToolUseId:Ae,sessionInfo:k,sessionCompactionEvents:C,sessionWorkspaceChanges:w,historyStatusNotices:Je,historyCreationProgress:R,sessionActivityLabel:p,queuedMessages:M,onRetryConnection:B,interactionRequest:E,onInteractionResponse:ie,setMessages:ue,onClearMessages:()=>ue([]),placeholder:pe,newSessionGuide:i,modelMenuGroups:Y,builtinPreviewModelOptions:be,modelSearchOptions:ye,recommendedModelOptions:he,servicePreviewModelOptions:$,onToggleRecommendedModel:de,updatingRecommendedModelValue:oe,selectedModel:_e,modelForQuery:ce,onModelChange:We,effort:we,effortOptions:me,onEffortChange:Se,permissionMode:Ge,permissionModeOptions:ee,onPermissionModeChange:ae,selectedAdapter:Re,adapterOptions:Ie,hiddenBuiltinAdapterOptions:Ee,onAdapterChange:Ve,selectedAccount:Ue,accountOptions:Xe,showAccountSelector:it,onAccountChange:Qe,senderAutoFocusKey:Pe,modelUnavailable:ot,hasAvailableModels:et,agentRoomTranscript:f,contextReferenceRequest:v,hideHistoryTimeline:I,onOpenUrlInAppBrowser:ve,onOpenWorkspaceFile:Ke,workspaceRootPath:Q}),agentRoster:f==null?void 0:{members:f.members,onOpenRun:f.onOpenRun},agentApprovals:f==null?void 0:{room:f.room,onOpenRun:f.onOpenRun},displayTitle:f==null?void 0:f.room.title,debugSessionLogPath:tt,enableTimelineView:T,headerBreadcrumb:e,headerMoreItems:s,historyTimelineHidden:I,isNewSession:!y&&!(u!=null&&u.id)&&O.length===0&&C.length===0&&w.length===0&&Je.length===0,isReady:D,isTerminalPanelFolded:U,isTerminalOpen:W,messages:O,modeSwitch:l,projectWorkspaceFolder:h,roomIconSeed:f==null?void 0:f.room.id,roomIconStatus:f==null?void 0:f.roomIconStatus,session:u,sessionCompactionInfo:N,sessionInfo:k,settingsView:u!=null&&u.id?a.jsx(LS,{session:u,sessionCompactionInfo:N,sessionInfo:k,onClose:()=>z("history")}):void 0,setActiveView:z,setIsTerminalPanelFolded:te,setIsTerminalOpen:F,showViewSwitches:y?!1:void 0,timelineView:y?void 0:a.jsx(XS,{messages:O}),onHistoryTimelineHiddenChange:y?void 0:V,onReferenceWorkspacePaths:It,workspaceDrawerDefaultView:ge,workspaceSessionId:f==null?void 0:f.workspaceSessionId})}const QT=e=>`/rooms/${encodeURIComponent(e)}`,yE=(e,t)=>`${QT(e)}/sessions/${encodeURIComponent(t)}`,eE="agentRoomMode",tE=e=>{const t=e.toString();return t===""?"":`?${t}`},wE=e=>{const t=new URLSearchParams(e);return t.delete(eE),{pathname:"/",search:tE(t)}};export{_E as C,bE as a,yE as b,QT as c,wE as d,tE as e};
|