hermes-web-ui 0.6.40 → 0.6.41
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/client/assets/js/{AppSidebar-CaSVcbCW.js → AppSidebar-CNkSiv3l.js} +1 -1
- package/dist/client/assets/js/{ChannelsView-hdAXa1hf.js → ChannelsView-6rEo6RBl.js} +1 -1
- package/dist/client/assets/js/{ChatPanel-C6sX6idm.js → ChatPanel-ANAZWluc.js} +3 -3
- package/dist/client/assets/js/{ChatView-B68k_-D9.js → ChatView-DFcPsmRF.js} +1 -1
- package/dist/client/assets/js/{CodingAgentsView-CsIjwbXR.js → CodingAgentsView-CpIY0SHT.js} +1 -1
- package/dist/client/assets/js/{DefaultCredentialPrompt-BRhb4DOa.js → DefaultCredentialPrompt-DmNeotSW.js} +1 -1
- package/dist/client/assets/js/{DesktopBrowserPanel-BlBfS64w.js → DesktopBrowserPanel-CWjTU-3y.js} +1 -1
- package/dist/client/assets/js/{DesktopBrowserView-JukL0QuS.js → DesktopBrowserView-D9Qb3fIV.js} +1 -1
- package/dist/client/assets/js/{DesktopPetView-DWq4EiRU.js → DesktopPetView-B7REtC57.js} +1 -1
- package/dist/client/assets/js/{DesktopTitleBar-DphP4oa6.js → DesktopTitleBar-Dej_16hB.js} +1 -1
- package/dist/client/assets/js/{DevicesView-BFtrfqJs.js → DevicesView--d4HCkch.js} +1 -1
- package/dist/client/assets/js/{DocxFilePreview-CmVJ9Jxx.js → DocxFilePreview-BQz6WC7r.js} +2 -2
- package/dist/client/assets/js/{FileEditor-CdkNYp7b.js → FileEditor-BBegs-5i.js} +2 -2
- package/dist/client/assets/js/{FilePreview-CJrVRPRs.js → FilePreview-B7WqYvZs.js} +2 -2
- package/dist/client/assets/js/{FileRenameModal-mghyEXU4.js → FileRenameModal-82RkAZkd.js} +1 -1
- package/dist/client/assets/js/{FilesPanel-B9cKB5lX.js → FilesPanel-BHcg6CpC.js} +2 -2
- package/dist/client/assets/js/{FilesView-iKZu70E9.js → FilesView-Dl15WTar.js} +2 -2
- package/dist/client/assets/js/{GlobalAgentView-JZsss0gx.js → GlobalAgentView-dxEX611f.js} +1 -1
- package/dist/client/assets/js/{GlobalPendingActions-BRQIt5vl.js → GlobalPendingActions-CeK96C3G.js} +1 -1
- package/dist/client/assets/js/{GroupChatLinkView-CNrV8lnT.js → GroupChatLinkView-CJhI9DVE.js} +1 -1
- package/dist/client/assets/js/{GroupChatPanel-WK4zBasl.js → GroupChatPanel-CLa3s08V.js} +3 -3
- package/dist/client/assets/js/{GroupChatView-BlMUD1MW.js → GroupChatView-CUwvu-6F.js} +1 -1
- package/dist/client/assets/js/{HistoryMessageList-D8zoQ1Zs.js → HistoryMessageList-BdD8GJYM.js} +1 -1
- package/dist/client/assets/js/{HistoryView-Bpr8N2lC.js → HistoryView-Ro92tP5R.js} +1 -1
- package/dist/client/assets/js/{HtmlFilePreview-Bj3_-hMo.js → HtmlFilePreview-xYn7YtmC.js} +1 -1
- package/dist/client/assets/js/{JobsView-CZK26gTw.js → JobsView-BaNA1Yaa.js} +2 -2
- package/dist/client/assets/js/{JourneyView-BPUsLj4o.js → JourneyView-Bw-05mCF.js} +1 -1
- package/dist/client/assets/js/{KanbanView-B7d-2_z9.js → KanbanView-BYC32l2Q.js} +1 -1
- package/dist/client/assets/js/{LoginView-BpYyv831.js → LoginView-KrpCkwOr.js} +1 -1
- package/dist/client/assets/js/{LogsView-CabFHk0v.js → LogsView-Dgm4v5sN.js} +1 -1
- package/dist/client/assets/js/{MarkdownRenderer-CVtmHZwc.js → MarkdownRenderer-BIPowjr-.js} +3 -3
- package/dist/client/assets/js/{McpManagerView-C-ou8vf3.js → McpManagerView-DTtkUIvq.js} +1 -1
- package/dist/client/assets/js/{MemoryView-QGFW4iZo.js → MemoryView-BnL7xzux.js} +2 -2
- package/dist/client/assets/js/{MessageList-DZR-TFjD.js → MessageList-5tytzhb0.js} +3 -3
- package/dist/client/assets/js/{ModelsView-DiWdSWOW.js → ModelsView-ComCz0Ce.js} +1 -1
- package/dist/client/assets/js/{OutlinePanel-Dlr5svMY.js → OutlinePanel-CF_XPCRn.js} +1 -1
- package/dist/client/assets/js/{PageSidebarFooter-Bic1fUmG.js → PageSidebarFooter-dvLzcTIm.js} +1 -1
- package/dist/client/assets/js/{PdfFilePreview-Dkpan1ay.js → PdfFilePreview-COOAoJ4V.js} +2 -2
- package/dist/client/assets/js/{PerformanceView-LrZaED_Z.js → PerformanceView-D6dKifJh.js} +1 -1
- package/dist/client/assets/js/{PetdexView-Bv8RioGL.js → PetdexView-CmvzDYwf.js} +1 -1
- package/dist/client/assets/js/{PluginsView-CbtdIGlq.js → PluginsView-zJV9FE9c.js} +1 -1
- package/dist/client/assets/js/{PptxFilePreview-5if_GbU6.js → PptxFilePreview-dC4JxV6j.js} +2 -2
- package/dist/client/assets/js/{ProfileAvatar-DI9ciJxS.js → ProfileAvatar-C8xoALCI.js} +1 -1
- package/dist/client/assets/js/{ProfilesView-C-FSiKMU.js → ProfilesView-CxVxJRN_.js} +1 -1
- package/dist/client/assets/js/{ProviderConfigurationPrompt-BUoWC41Y.js → ProviderConfigurationPrompt-zwk1UwoP.js} +1 -1
- package/dist/client/assets/js/{SessionSearchModal-CEKvSihp.js → SessionSearchModal-DhwGsV-i.js} +1 -1
- package/dist/client/assets/js/{SettingRow-CSfiJmxx.js → SettingRow-DHqhLX3M.js} +1 -1
- package/dist/client/assets/js/{SettingsCircuitBadge-DHIEFyTR.js → SettingsCircuitBadge-CnWSfQZd.js} +1 -1
- package/dist/client/assets/js/{SettingsView-DbNJroV3.js → SettingsView-Cbroga25.js} +1 -1
- package/dist/client/assets/js/{SharedGroupChatView-CTYjqWcO.js → SharedGroupChatView-DXfqtQ33.js} +1 -1
- package/dist/client/assets/js/{SkillsUsageView-BqZ3GtfT.js → SkillsUsageView-C34i3lOQ.js} +1 -1
- package/dist/client/assets/js/{SkillsView-Bhla7821.js → SkillsView-DRG_1esx.js} +2 -2
- package/dist/client/assets/js/{SpreadsheetFilePreview-CGK8HDAx.js → SpreadsheetFilePreview-DRw4kIx5.js} +1 -1
- package/dist/client/assets/js/{TerminalPanel-CtBTLOwq.js → TerminalPanel-Da1nL9P8.js} +1 -1
- package/dist/client/assets/js/{TerminalView-BID7fupB.js → TerminalView-B6z-VaGq.js} +1 -1
- package/dist/client/assets/js/{ThemeView-Cx3ucIus.js → ThemeView-CAaJ9MH-.js} +1 -1
- package/dist/client/assets/js/{UsageView-ByGCsw7o.js → UsageView-B_hLsp0k.js} +1 -1
- package/dist/client/assets/js/{VersionPreviewView-DiAK1ind.js → VersionPreviewView-DKXL6anl.js} +1 -1
- package/dist/client/assets/js/{WebPet-CdIqrnp1.js → WebPet-BUvrfjpq.js} +1 -1
- package/dist/client/assets/js/{WorkflowView-DmBOhSuq.js → WorkflowView-r46Ap9FY.js} +1 -1
- package/dist/client/assets/js/{WorkspaceDiffPreview-dHIGp-9F.js → WorkspaceDiffPreview-EwZAE18F.js} +2 -2
- package/dist/client/assets/js/{abap-Dj8IFKiF.js → abap-C7gkFu-A.js} +1 -1
- package/dist/client/assets/js/{aiden0z-pptx-renderer.es-6vi5-jAN.js → aiden0z-pptx-renderer.es-DOpVaH_k.js} +1 -1
- package/dist/client/assets/js/{apex-C3INPUEt.js → apex-DZOtRowu.js} +1 -1
- package/dist/client/assets/js/{ar-Gk9y3ZfO.js → ar-8iThLSJQ.js} +1 -1
- package/dist/client/assets/js/architecture-7EHR7CIX-BrfhYGuP.js +1 -0
- package/dist/client/assets/js/{architectureDiagram-3BPJPVTR-DLZYeivB.js → architectureDiagram-3BPJPVTR-DEsTTzKd.js} +1 -1
- package/dist/client/assets/js/{auth-D1ZFqv22.js → auth-B52zm2Ir.js} +1 -1
- package/dist/client/assets/js/{azcli-UBzLhJq5.js → azcli-KxuicZQh.js} +1 -1
- package/dist/client/assets/js/{bat-P3O4jldt.js → bat-DfFP4HF-.js} +1 -1
- package/dist/client/assets/js/{bicep-DdQR9RxE.js → bicep-Co4bntVh.js} +1 -1
- package/dist/client/assets/js/{blockDiagram-GPEHLZMM-UWFo8sm5.js → blockDiagram-GPEHLZMM-NsxYeUKd.js} +1 -1
- package/dist/client/assets/js/{c4Diagram-AAUBKEIU-jgyj0wOb.js → c4Diagram-AAUBKEIU-D68asSzm.js} +1 -1
- package/dist/client/assets/js/{cameligo-Bb4ubW_C.js → cameligo-Xi0l_9Wr.js} +1 -1
- package/dist/client/assets/js/{chat-DdHii4Qz.js → chat-fUZW3YFa.js} +1 -1
- package/dist/client/assets/js/{chat-input-height-CSPwB9it.js → chat-input-height-lvFawuv9.js} +1 -1
- package/dist/client/assets/js/{chat-timestamp-DGQ8fmtT.js → chat-timestamp-4wWFcZWv.js} +1 -1
- package/dist/client/assets/js/{chunk-2J33WTMH-Br9OWF5a.js → chunk-2J33WTMH-CEU5sLIh.js} +1 -1
- package/dist/client/assets/js/{chunk-3OPIFGDE-Cb40LuI4.js → chunk-3OPIFGDE-DEhbKkCl.js} +1 -1
- package/dist/client/assets/js/{chunk-4BX2VUAB-jYtdiafd.js → chunk-4BX2VUAB-OIZUstuy.js} +1 -1
- package/dist/client/assets/js/{chunk-55IACEB6-CBtymeHY.js → chunk-55IACEB6-DQHKZCBG.js} +1 -1
- package/dist/client/assets/js/{chunk-5ZQYHXKU-yj9xqmex.js → chunk-5ZQYHXKU-BU3pQVVl.js} +1 -1
- package/dist/client/assets/js/{chunk-727SXJPM-er_5tB5X.js → chunk-727SXJPM-jj97gdnP.js} +1 -1
- package/dist/client/assets/js/{chunk-AQP2D5EJ-C4mDD6xK.js → chunk-AQP2D5EJ-jv-oWlkb.js} +1 -1
- package/dist/client/assets/js/{chunk-BSJP7CBP-QZesZe57.js → chunk-BSJP7CBP-DkKsepNF.js} +1 -1
- package/dist/client/assets/js/{chunk-CSCIHK7Q-5LH118bT.js → chunk-CSCIHK7Q-CLgoBoCF.js} +3 -3
- package/dist/client/assets/js/{chunk-FMBD7UC4-CQho6QZ5.js → chunk-FMBD7UC4-Bx1bCKUR.js} +1 -1
- package/dist/client/assets/js/{chunk-KSCS5N6A-DONM1Omv.js → chunk-KSCS5N6A-CZHZ6pBd.js} +1 -1
- package/dist/client/assets/js/{chunk-L5ZTLDWV-FN_zFWkp.js → chunk-L5ZTLDWV-dz9D3kOb.js} +1 -1
- package/dist/client/assets/js/{chunk-LZXEDZCA-CEEUVvpS.js → chunk-LZXEDZCA-CQiSQehC.js} +2 -2
- package/dist/client/assets/js/{chunk-ND2GUHAM-DWckpxQD.js → chunk-ND2GUHAM-mWODKb8v.js} +1 -1
- package/dist/client/assets/js/{chunk-NZK2D7GU-0mKZmkuV.js → chunk-NZK2D7GU-ivCkjCOR.js} +1 -1
- package/dist/client/assets/js/{chunk-O5CBEL6O-DIDAOkT_.js → chunk-O5CBEL6O-BRUisK47.js} +1 -1
- package/dist/client/assets/js/{chunk-QZHKN3VN-D3c-TMz-.js → chunk-QZHKN3VN-BHjgTrzY.js} +1 -1
- package/dist/client/assets/js/{chunk-WU5MYG2G-BZvSpwm4.js → chunk-WU5MYG2G-CNW1rcpL.js} +1 -1
- package/dist/client/assets/js/{chunk-XPW4576I-xdyJtk-s.js → chunk-XPW4576I-DP3dJbOu.js} +1 -1
- package/dist/client/assets/js/classDiagram-4FO5ZUOK-BVBBe3DQ.js +1 -0
- package/dist/client/assets/js/classDiagram-v2-Q7XG4LA2-DJUe3i9Y.js +1 -0
- package/dist/client/assets/js/{clipboard-DQ_A8ns-.js → clipboard-DHZFaAvO.js} +1 -1
- package/dist/client/assets/js/{clipboard-files-bDrcGKPe.js → clipboard-files-CBDy-02Y.js} +1 -1
- package/dist/client/assets/js/{clojure-ku7aCU1_.js → clojure-DuyGwS8X.js} +1 -1
- package/dist/client/assets/js/{coding-agents-DfHyBvky.js → coding-agents-BNTHD6kd.js} +1 -1
- package/dist/client/assets/js/{codingAgentProviders-BM18FAW9.js → codingAgentProviders-DM_ouxbL.js} +1 -1
- package/dist/client/assets/js/{coffee-DnRIdJlY.js → coffee-C5p7vzpa.js} +1 -1
- package/dist/client/assets/js/{completion-notification-XxjbntI8.js → completion-notification-CzdnhuX3.js} +1 -1
- package/dist/client/assets/js/{cose-bilkent-S5V4N54A-w891sIF1.js → cose-bilkent-S5V4N54A-De_ZdqY0.js} +1 -1
- package/dist/client/assets/js/{cpp-CN8i6ISX.js → cpp-II5hDbTe.js} +1 -1
- package/dist/client/assets/js/{csharp-B-fxig7O.js → csharp-D0POzSpv.js} +1 -1
- package/dist/client/assets/js/{csp-Bar9LGt4.js → csp-CwtuRkR3.js} +1 -1
- package/dist/client/assets/js/{css-DFtC5xZN.js → css-Dc2fJIqQ.js} +1 -1
- package/dist/client/assets/js/{cssMode-DH5XKKL2.js → cssMode-CC6jRvHF.js} +1 -1
- package/dist/client/assets/js/{cypher-BkJexWsv.js → cypher-DBcQoWDH.js} +1 -1
- package/dist/client/assets/js/{cytoscape.esm-BDsvr8Aq.js → cytoscape.esm-C9FMRqxM.js} +1 -1
- package/dist/client/assets/js/{dagre-BM42HDAG-BuT885pa.js → dagre-BM42HDAG-CvJIC410.js} +1 -1
- package/dist/client/assets/js/{dagre-BVUDh8Sh.js → dagre-BtgEsAtK.js} +1 -1
- package/dist/client/assets/js/{dart-B7W8hAtN.js → dart-Jf_Hmp2o.js} +1 -1
- package/dist/client/assets/js/{de-LDpd8WHJ.js → de-7hLSwCEx.js} +1 -1
- package/dist/client/assets/js/{defineProperty-DdPu4ZVv.js → defineProperty-DHkErCmG.js} +1 -1
- package/dist/client/assets/js/{desktop-browser-xrRFPNUg.js → desktop-browser-C6AhY0uu.js} +1 -1
- package/dist/client/assets/js/{diagram-2AECGRRQ-B1sSf-09.js → diagram-2AECGRRQ-CvPeU5Lm.js} +1 -1
- package/dist/client/assets/js/{diagram-5GNKFQAL-BffX22pf.js → diagram-5GNKFQAL-CBniYlkH.js} +1 -1
- package/dist/client/assets/js/{diagram-KO2AKTUF-D8QvpUpn.js → diagram-KO2AKTUF-C_yFaVRj.js} +1 -1
- package/dist/client/assets/js/{diagram-LMA3HP47-DkG7p3lQ.js → diagram-LMA3HP47-BzM1IxNe.js} +1 -1
- package/dist/client/assets/js/{diagram-OG6HWLK6-RjvNNvXM.js → diagram-OG6HWLK6-yvmf_3ax.js} +1 -1
- package/dist/client/assets/js/{dist-Bk0VKtV3.js → dist-BHzBn3v7.js} +1 -1
- package/dist/client/assets/js/{dockerfile-C4m7j8sy.js → dockerfile-J3d6ZPDJ.js} +1 -1
- package/dist/client/assets/js/{docx-preview-BpTW-GN7.js → docx-preview-Rqt8wMjQ.js} +1 -1
- package/dist/client/assets/js/{download-CX8EG48r.js → download-xhRMWMda.js} +1 -1
- package/dist/client/assets/js/{ecl-EHV358Ls.js → ecl-XnlT0p97.js} +1 -1
- package/dist/client/assets/js/{editor.api2-CnHBqh_d.js → editor.api2-ChO5nUQb.js} +1 -1
- package/dist/client/assets/js/{elixir-DLfp2Dwn.js → elixir-BEJbxH-B.js} +1 -1
- package/dist/client/assets/js/{en-D6VVFwFU.js → en-D2WSXgkM.js} +1 -1
- package/dist/client/assets/js/{erDiagram-TEJ5UH35-CLlLC6xx.js → erDiagram-TEJ5UH35-DZysD9r9.js} +1 -1
- package/dist/client/assets/js/{es-BIMLuyVP.js → es-B7Mq1P0U.js} +1 -1
- package/dist/client/assets/js/{esm-C8D4M0Yn.js → esm-DnZPPtmx.js} +1 -1
- package/dist/client/assets/js/eventmodeling-FCH6USID-vlE3-g2j.js +1 -0
- package/dist/client/assets/js/{file-preview-BvgwVZXh.js → file-preview-C417aixJ.js} +1 -1
- package/dist/client/assets/js/{files-CJkCqsUx.js → files-DjI-npgn.js} +1 -1
- package/dist/client/assets/js/{flow9-CtBaUnAi.js → flow9-j5XT_8TQ.js} +1 -1
- package/dist/client/assets/js/{flowDiagram-I6XJVG4X-VTRTPnqD.js → flowDiagram-I6XJVG4X-Dt5ZtyHz.js} +1 -1
- package/dist/client/assets/js/{fr-C2lf0cY2.js → fr-DvClrDOw.js} +1 -1
- package/dist/client/assets/js/{freemarker2-XLeMvhl_.js → freemarker2-BzCf_0SN.js} +1 -1
- package/dist/client/assets/js/{fsharp-Db0uaBQv.js → fsharp-ClU_Sdjr.js} +1 -1
- package/dist/client/assets/js/{ganttDiagram-6RSMTGT7-CdKcIZ8_.js → ganttDiagram-6RSMTGT7-Bca3rPWi.js} +1 -1
- package/dist/client/assets/js/gitGraph-WXDBUCRP-Cyd4P6XH.js +1 -0
- package/dist/client/assets/js/{gitGraphDiagram-PVQCEYII-Bcuyw6fo.js → gitGraphDiagram-PVQCEYII-Co29qnTg.js} +1 -1
- package/dist/client/assets/js/{go-DwaTlB-B.js → go-D3iUyCM0.js} +1 -1
- package/dist/client/assets/js/{graphlib-vAI4Pw7R.js → graphlib-Bln6qd-Z.js} +1 -1
- package/dist/client/assets/js/{graphql-Cf2XhNJR.js → graphql-z8koqyyL.js} +1 -1
- package/dist/client/assets/js/{group-agent-avatar-CPehpiK0.js → group-agent-avatar-CwqtaKGw.js} +1 -1
- package/dist/client/assets/js/{group-chat-CY62vc77.js → group-chat-Buz8HP-N.js} +1 -1
- package/dist/client/assets/js/{group-chat-xkdjC2Jt.js → group-chat-CgFAwCtr.js} +1 -1
- package/dist/client/assets/js/{group-chat-agent-link-DdSNKasF.js → group-chat-agent-link-N5IFeN_j.js} +1 -1
- package/dist/client/assets/js/{handlebars-CNEKu_p8.js → handlebars-C_JvhUYs.js} +1 -1
- package/dist/client/assets/js/{hcl-6UZbq6h2.js → hcl-X7TzviIX.js} +1 -1
- package/dist/client/assets/js/{highlight-DwtBT6t1.js → highlight-C4yUBxwQ.js} +1 -1
- package/dist/client/assets/js/{html-DfSIHhKA.js → html-B-rCQB0N.js} +1 -1
- package/dist/client/assets/js/{htmlMode-iGw9-O-W.js → htmlMode-CAeEf_yf.js} +1 -1
- package/dist/client/assets/js/{index-DnjQJzX4.js → index-DN4SafrP.js} +5 -5
- package/dist/client/assets/js/info-J43DQDTF-B9tkQ2Sb.js +1 -0
- package/dist/client/assets/js/{infoDiagram-5YYISTIA-85450Zam.js → infoDiagram-5YYISTIA-BWQGayms.js} +1 -1
- package/dist/client/assets/js/{ini-8em8V_Af.js → ini-LTHHN4J-.js} +1 -1
- package/dist/client/assets/js/{ishikawaDiagram-YF4QCWOH-BZ4az7UA.js → ishikawaDiagram-YF4QCWOH-Dhuplz_z.js} +1 -1
- package/dist/client/assets/js/{ja-C1bBXgr_.js → ja-D7BeX2_D.js} +1 -1
- package/dist/client/assets/js/{java-CP1MdIkO.js → java-BRFX-ya0.js} +1 -1
- package/dist/client/assets/js/{javascript-Cr8_LHYa.js → javascript-ZXiVmjXn.js} +1 -1
- package/dist/client/assets/js/{journeyDiagram-JHISSGLW-DGMB8Tgc.js → journeyDiagram-JHISSGLW-CJeatAU9.js} +1 -1
- package/dist/client/assets/js/{jsonMode-HCZ-1lFH.js → jsonMode-C6FcMe0o.js} +1 -1
- package/dist/client/assets/js/{jszip.min-BkR6b8DY.js → jszip.min-skZCUzWf.js} +1 -1
- package/dist/client/assets/js/{julia-DMTMxa5q.js → julia-Bph8N3CL.js} +1 -1
- package/dist/client/assets/js/{kanban-definition-UN3LZRKU-F5cH_RpB.js → kanban-definition-UN3LZRKU-tvWuOdSr.js} +1 -1
- package/dist/client/assets/js/{katex-CYbEJAbZ.js → katex-hSGJNERm.js} +1 -1
- package/dist/client/assets/js/{ko-qgOeHd8L.js → ko-BsVa-If_.js} +1 -1
- package/dist/client/assets/js/{kotlin-Blzus47W.js → kotlin-_c4-tPQp.js} +1 -1
- package/dist/client/assets/js/{less-DWCHpDyf.js → less-5oVo4jfQ.js} +1 -1
- package/dist/client/assets/js/{lexon-YXdlYGbJ.js → lexon-DE4YtGwF.js} +1 -1
- package/dist/client/assets/js/{liquid-DSQgvRwe.js → liquid-BGfieGMG.js} +1 -1
- package/dist/client/assets/js/{lspLanguageFeatures-0Hx2Vnc-.js → lspLanguageFeatures-DU_1H2uW.js} +1 -1
- package/dist/client/assets/js/{lua-Cyv3mTkg.js → lua-7WJSZJqD.js} +1 -1
- package/dist/client/assets/js/{m3-CPY3Ym7_.js → m3-gZlfoR19.js} +1 -1
- package/dist/client/assets/js/{markdown-DaPQ1nuG.js → markdown-BYF71orA.js} +1 -1
- package/dist/client/assets/js/{mdx-BqA6Xr9V.js → mdx-CunEIV3g.js} +1 -1
- package/dist/client/assets/js/{mermaid-parser.core-D4HRUOce.js → mermaid-parser.core-DU_SX15F.js} +3 -3
- package/dist/client/assets/js/{mermaid.core-w6kHmgOG.js → mermaid.core-8vsbhG5J.js} +3 -3
- package/dist/client/assets/js/{message-scroll-position-C5yRCyBU.js → message-scroll-position-C9_YO3pX.js} +2 -2
- package/dist/client/assets/js/{mindmap-definition-RKZ34NQL-CnzhnJ7Z.js → mindmap-definition-RKZ34NQL-HPtlKqL1.js} +1 -1
- package/dist/client/assets/js/{mips-BfqBfLvN.js → mips-DXkvw9aZ.js} +1 -1
- package/dist/client/assets/js/{models-wrytxWnf.js → models-BILDy2sV.js} +1 -1
- package/dist/client/assets/js/{monaco.contribution-Bc-DesyO.js → monaco.contribution-DDqeHGl3.js} +2 -2
- package/dist/client/assets/js/{msdax-DgMip49g.js → msdax-BbHEBDvP.js} +1 -1
- package/dist/client/assets/js/{mysql-DPUvF1g2.js → mysql-7I1rlwh7.js} +1 -1
- package/dist/client/assets/js/{objective-c-BQ3llrPW.js → objective-c-Dk03REAv.js} +1 -1
- package/dist/client/assets/js/packet-YPE3B663-DlTFK3Wo.js +1 -0
- package/dist/client/assets/js/{pascal-bFWHV7MZ.js → pascal-BCfNkzYY.js} +1 -1
- package/dist/client/assets/js/{pascaligo-C8Qza2pK.js → pascaligo-D-DslS98.js} +1 -1
- package/dist/client/assets/js/{pdf-Cb7x495t.js → pdf-B_OYWxSy.js} +1 -1
- package/dist/client/assets/js/{pdf.worker.min-DDUKJ6cJ.js → pdf.worker.min--q2RLEHa.js} +1 -1
- package/dist/client/assets/js/{perl-x25gw0_p.js → perl-MUnuTclx.js} +1 -1
- package/dist/client/assets/js/{pets-BfRsvl7D.js → pets-D74G2jqA.js} +1 -1
- package/dist/client/assets/js/{pgsql-DAUcGeRq.js → pgsql-BxCBktNe.js} +1 -1
- package/dist/client/assets/js/{php-nri1eqb2.js → php-zp9UgH03.js} +1 -1
- package/dist/client/assets/js/pie-LRSECV5Y-BtnBGhFZ.js +1 -0
- package/dist/client/assets/js/{pieDiagram-4H26LBE5-4LODdtT_.js → pieDiagram-4H26LBE5-CG8_pcHr.js} +1 -1
- package/dist/client/assets/js/{pla-CHi5LWNL.js → pla-DGCtmYZC.js} +1 -1
- package/dist/client/assets/js/{postiats-Bk7jD0AA.js → postiats-DHSW8gnY.js} +1 -1
- package/dist/client/assets/js/{powerquery-UTqJ0Vs7.js → powerquery-BGsPEmJe.js} +1 -1
- package/dist/client/assets/js/{powershell-CuPY3Rqk.js → powershell-BItlb0hE.js} +1 -1
- package/dist/client/assets/js/{profiles-D-vlI-Ec.js → profiles-BK5JKD7h.js} +1 -1
- package/dist/client/assets/js/{protobuf-Be4AIz9j.js → protobuf-BIhm6JYx.js} +1 -1
- package/dist/client/assets/js/{pt-D7_udWb3.js → pt-BSORCDMm.js} +1 -1
- package/dist/client/assets/js/{pug-CZFx15Ey.js → pug-BtnM7KZj.js} +1 -1
- package/dist/client/assets/js/{python-BgRg6Ez6.js → python-DxzTx1Q_.js} +1 -1
- package/dist/client/assets/js/{qsharp-BiBiLhRS.js → qsharp-B_8MSfaB.js} +1 -1
- package/dist/client/assets/js/{quadrantDiagram-W4KKPZXB-g_q9-dXx.js → quadrantDiagram-W4KKPZXB-CsbkMYuV.js} +1 -1
- package/dist/client/assets/js/{r-DM7NVSbZ.js → r-kvKC59jk.js} +1 -1
- package/dist/client/assets/js/radar-GUYGQ44K-BTKMKX4G.js +1 -0
- package/dist/client/assets/js/{razor-CiWy0jCW.js → razor-BwZ0MkaL.js} +1 -1
- package/dist/client/assets/js/{redis-BR2LPmFL.js → redis-5j1U_i85.js} +1 -1
- package/dist/client/assets/js/{redshift-B0sdAV16.js → redshift-CX1dFLA1.js} +1 -1
- package/dist/client/assets/js/{requirementDiagram-4Y6WPE33-EedCclad.js → requirementDiagram-4Y6WPE33-CKC7CQCX.js} +1 -1
- package/dist/client/assets/js/{restructuredtext-kQOBLN1M.js → restructuredtext-MV0-Naya.js} +1 -1
- package/dist/client/assets/js/{rough.esm-Dyx_2DON.js → rough.esm-CV1rL6PC.js} +1 -1
- package/dist/client/assets/js/{ru-CVQQmreT.js → ru-JsH6TKyg.js} +1 -1
- package/dist/client/assets/js/{ruby-CbdJXy6J.js → ruby-Bhyejf9X.js} +1 -1
- package/dist/client/assets/js/{rust-DZanYksk.js → rust-CR8d_FC1.js} +1 -1
- package/dist/client/assets/js/{sankeyDiagram-5OEKKPKP-DFC0nzsd.js → sankeyDiagram-5OEKKPKP-CKlqlvAe.js} +1 -1
- package/dist/client/assets/js/{sb-C5-WiqDZ.js → sb-hLW2EM2L.js} +1 -1
- package/dist/client/assets/js/{scala-Bk7i9nV-.js → scala-DVUhALEZ.js} +1 -1
- package/dist/client/assets/js/{scheme-CaZSWmJ2.js → scheme-BS6yNanr.js} +1 -1
- package/dist/client/assets/js/{scss-ByOYuc7K.js → scss-BfoRsElt.js} +1 -1
- package/dist/client/assets/js/{sequenceDiagram-3UESZ5HK-hWjPfqXt.js → sequenceDiagram-3UESZ5HK-CTimhD6H.js} +1 -1
- package/dist/client/assets/js/{session-browser-prefs-Br8OYA4_.js → session-browser-prefs-BT1woDux.js} +1 -1
- package/dist/client/assets/js/{sessions-iGK9S6zk.js → sessions-IkLKgnN6.js} +1 -1
- package/dist/client/assets/js/{settings-pbanANH0.js → settings-roYY6G3W.js} +1 -1
- package/dist/client/assets/js/{shell-Di0TEySc.js → shell-BO_Lyczz.js} +1 -1
- package/dist/client/assets/js/{skills-DC-UPcXj.js → skills-a5LPwmiT.js} +1 -1
- package/dist/client/assets/js/{solidity-BNTjAuuA.js → solidity-D3T2Ki4l.js} +1 -1
- package/dist/client/assets/js/{sophia-LY__8Yob.js → sophia-iJmIEvi8.js} +1 -1
- package/dist/client/assets/js/{sparql-CWnLfgGS.js → sparql-C2HCEExr.js} +1 -1
- package/dist/client/assets/js/{sql-B0ypQ9lR.js → sql-DM6_3GBc.js} +1 -1
- package/dist/client/assets/js/{src-BihFroE7.js → src-DD_TpJde.js} +1 -1
- package/dist/client/assets/js/{st-CqVFKTbZ.js → st-DSb39Fm5.js} +1 -1
- package/dist/client/assets/js/{stateDiagram-AJRCARHV-B7wEnYVe.js → stateDiagram-AJRCARHV-DwBGmBj6.js} +1 -1
- package/dist/client/assets/js/stateDiagram-v2-BHNVJYJU-5bNcwBne.js +1 -0
- package/dist/client/assets/js/{style-DDAg_jVj.js → style-B5xXhBlp.js} +1 -1
- package/dist/client/assets/js/{swift-B4ZZmDxc.js → swift-DrZYSZK3.js} +1 -1
- package/dist/client/assets/js/{systemverilog-zLt-O1mT.js → systemverilog-BAWNCaf6.js} +1 -1
- package/dist/client/assets/js/{tcl-DCSZmA-l.js → tcl-DY15ex6v.js} +1 -1
- package/dist/client/assets/js/{timeline-definition-PNZ67QCA-BN_LfleE.js → timeline-definition-PNZ67QCA-B8xuIu6g.js} +1 -1
- package/dist/client/assets/js/treeView-BLDUP644-DvZPUnGM.js +1 -0
- package/dist/client/assets/js/treemap-LRROVOQU-Bis1djYh.js +1 -0
- package/dist/client/assets/js/{tsMode-BjUcuHrq.js → tsMode-BE8JCSCE.js} +1 -1
- package/dist/client/assets/js/{ttsHelpers-BLunFYsq.js → ttsHelpers-BLNiQExI.js} +1 -1
- package/dist/client/assets/js/{twig-CuJlVpUG.js → twig-BpHF_18K.js} +1 -1
- package/dist/client/assets/js/{typescript-De40YVFt.js → typescript-FQ3z9hVG.js} +1 -1
- package/dist/client/assets/js/{typespec-8QcsIc3c.js → typespec-BKvcn6aE.js} +1 -1
- package/dist/client/assets/js/{useSttSettings-B1-KXN44.js → useSttSettings-DHX06G8A.js} +1 -1
- package/dist/client/assets/js/{vb-DEGTdhxf.js → vb-B74ucE43.js} +1 -1
- package/dist/client/assets/js/{vennDiagram-CIIHVFJN-hL8ax7wF.js → vennDiagram-CIIHVFJN-DtEu04QR.js} +1 -1
- package/dist/client/assets/js/wardley-L42UT6IY-CD4dIN63.js +1 -0
- package/dist/client/assets/js/{wardleyDiagram-YWT4CUSO-BIR-RA6Y.js → wardleyDiagram-YWT4CUSO-DdNKCPsp.js} +1 -1
- package/dist/client/assets/js/{wgsl-CmbiucmY.js → wgsl-DEf5Vdqv.js} +1 -1
- package/dist/client/assets/js/{workers-BgWBq4qY.js → workers-BbaiLVxx.js} +1 -1
- package/dist/client/assets/js/{workflow-socket-DZ9Ceffc.js → workflow-socket-DH402vxO.js} +1 -1
- package/dist/client/assets/js/{xml-SZLdwDmk.js → xml-zjE51I7v.js} +1 -1
- package/dist/client/assets/js/{xterm-D6CotCNH.js → xterm-Djy4rCx0.js} +1 -1
- package/dist/client/assets/js/{xychartDiagram-2RQKCTM6-DHa486uP.js → xychartDiagram-2RQKCTM6-CKqN7g7r.js} +1 -1
- package/dist/client/assets/js/{yaml-CgQpCgM5.js → yaml-DabeGoTc.js} +1 -1
- package/dist/client/assets/js/{zh-BDlMioZr.js → zh-CI4-L3JY.js} +1 -1
- package/dist/client/assets/js/{zh-TW-DTbLWR1A.js → zh-TW-wYlj-uOZ.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/index.js +3 -3
- package/dist/server/openapi.json +1 -1
- package/package.json +9 -1
- package/dist/client/assets/js/architecture-7EHR7CIX-Cl4Qi40R.js +0 -1
- package/dist/client/assets/js/classDiagram-4FO5ZUOK-DC0BcY8x.js +0 -1
- package/dist/client/assets/js/classDiagram-v2-Q7XG4LA2-BfDDH_fm.js +0 -1
- package/dist/client/assets/js/eventmodeling-FCH6USID-Bgzwnvkn.js +0 -1
- package/dist/client/assets/js/gitGraph-WXDBUCRP-CwFrpI3e.js +0 -1
- package/dist/client/assets/js/info-J43DQDTF-wMwkmIWM.js +0 -1
- package/dist/client/assets/js/packet-YPE3B663-DYmKXJOE.js +0 -1
- package/dist/client/assets/js/pie-LRSECV5Y-Dx0hbcjV.js +0 -1
- package/dist/client/assets/js/radar-GUYGQ44K-D-t-QJhi.js +0 -1
- package/dist/client/assets/js/stateDiagram-v2-BHNVJYJU-CoMhBVvo.js +0 -1
- package/dist/client/assets/js/treeView-BLDUP644-CMJGhbWk.js +0 -1
- package/dist/client/assets/js/treemap-LRROVOQU-_j4KoVDh.js +0 -1
- package/dist/client/assets/js/wardley-L42UT6IY-BeOvmJoM.js +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/js/FilesPanel-
|
|
2
|
-
import{$ as Ur,$i as R,$r as Wr,$t as Se,Bi as Ea,Br as Vr,Di as Da,Dt as Qs,Ei as Ca,Fi as as,Fr as Ma,Ft as Yt,G as zr,Hi as c,Hr as Zs,Ir as Gr,M as Kr,Nr as $a,Nt as ss,Pr as Ra,Qr as ci,Ri as di,Sa as m,Ti as b,Vi as vi,Vr as pi,Wi as pe,Zi as se,_a as s,_i as n,_t as rt,bi as p,ci as qr,di as ns,dt as Hr,ea as os,ei as fi,fi as ls,gi as h,gt as jr,hi as Jr,i as mi,ii as Xr,jt as xa,lt as Yr,mi as Q,n as Ta,ni as Qr,pi as en,r as hi,si as Qt,sn as Ct,t as Ia,tt as Zr,ua as v,vi as te,wa as fe,wi as ue,xa as gi,ya as ae,yi as k,zr as is,zt as Ue}from"./index-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/js/FilesPanel-BHcg6CpC.js","assets/js/index-DN4SafrP.js","assets/css/index-IP31leuw.css","assets/js/sessions-IkLKgnN6.js","assets/js/files-DjI-npgn.js","assets/js/group-chat-Buz8HP-N.js","assets/js/esm-DnZPPtmx.js","assets/js/file-preview-C417aixJ.js","assets/js/FileRenameModal-82RkAZkd.js","assets/js/download-xhRMWMda.js","assets/js/clipboard-DHZFaAvO.js","assets/css/FileRenameModal-Ua3OLTl8.css","assets/css/FilesPanel-Cwqc2_7U.css","assets/js/FilePreview-B7WqYvZs.js","assets/js/highlight-C4yUBxwQ.js","assets/js/desktop-browser-C6AhY0uu.js","assets/css/FilePreview-BeZfXgUq.css","assets/js/WorkspaceDiffPreview-EwZAE18F.js","assets/js/chat-timestamp-4wWFcZWv.js","assets/css/chat-timestamp-D3ERLof0.css","assets/css/WorkspaceDiffPreview--AO-Wv2q.css","assets/js/DesktopBrowserPanel-CWjTU-3y.js","assets/css/DesktopBrowserPanel-ywhxx_L_.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{$ as Ur,$i as R,$r as Wr,$t as Se,Bi as Ea,Br as Vr,Di as Da,Dt as Qs,Ei as Ca,Fi as as,Fr as Ma,Ft as Yt,G as zr,Hi as c,Hr as Zs,Ir as Gr,M as Kr,Nr as $a,Nt as ss,Pr as Ra,Qr as ci,Ri as di,Sa as m,Ti as b,Vi as vi,Vr as pi,Wi as pe,Zi as se,_a as s,_i as n,_t as rt,bi as p,ci as qr,di as ns,dt as Hr,ea as os,ei as fi,fi as ls,gi as h,gt as jr,hi as Jr,i as mi,ii as Xr,jt as xa,lt as Yr,mi as Q,n as Ta,ni as Qr,pi as en,r as hi,si as Qt,sn as Ct,t as Ia,tt as Zr,ua as v,vi as te,wa as fe,wi as ue,xa as gi,ya as ae,yi as k,zr as is,zt as Ue}from"./index-DN4SafrP.js";import{A as eu,F as tu,N as au,T as su,h as nu,i as ou,k as lu,l as iu,n as ru,o as uu}from"./sessions-IkLKgnN6.js";import{n as cu,t as du}from"./files-DjI-npgn.js";import{n as vu,t as tn}from"./clipboard-DHZFaAvO.js";import{n as pu,t as an}from"./desktop-browser-C6AhY0uu.js";import{r as fu,t as mu}from"./profiles-BK5JKD7h.js";import{f as hu,i as _i,o as wi}from"./chat-fUZW3YFa.js";import{i as gu,n as _u,r as sn,s as rs}from"./coding-agents-BNTHD6kd.js";import{r as wu,t as yu}from"./TerminalPanel-Da1nL9P8.js";import{a as ku,l as Su,o as bu,u as Cu}from"./chat-timestamp-4wWFcZWv.js";import{n as Mu,t as xu}from"./session-browser-prefs-BT1woDux.js";import{i as Pu,r as nn}from"./clipboard-files-CBDy-02Y.js";import{a as Au,c as us,d as Eu,f as Du,i as $u,l as Ru,n as Tu,o as Iu,r as Lu,s as Nu,t as Bu,u as Fu}from"./MessageList-5tytzhb0.js";import{a as Ou,c as on,d as Uu,f as Wu,h as ln,i as Vu,l as zu,m as Gu,n as Ku,p as rn,t as qu,u as yi}from"./useSttSettings-DHX06G8A.js";import{a as Hu,d as ju,f as Ju,g as Mt,h as Xu,i as Yu,m as ki,n as Qu,r as Zu,t as ec}from"./ttsHelpers-BLNiQExI.js";import{a as un,i as tc,n as ac,o as cn,r as cs,s as sc,t as nc}from"./OutlinePanel-CF_XPCRn.js";import{a as oc,i as lc,o as dn,s as ic}from"./message-scroll-position-C9_YO3pX.js";import{i as rc,n as uc,r as cc,t as dc}from"./SettingsCircuitBadge-CnWSfQZd.js";import{i as vc,n as pc,t as vn}from"./codingAgentProviders-DM_ouxbL.js";function Si(C){const y=C.trim();return y?(y.match(/\|/g)||[]).length>=2||/^\|?\s*:?-{3,}:?\s*(\|\s*:?-{3,}:?\s*)+\|?$/.test(y):!1}function fc(C){return C.replace(/\[([^\]]+)\]\([^)]+\)/g,"$1").replace(/https?:\/\/[^\s<>)\]]+/gi," ").replace(/www\.[^\s<>)\]]+/gi," ").split(/\r?\n/).filter(y=>!Si(y)).join(`
|
|
3
3
|
`).replace(Ci," ").replace(Mi," ").replace(xi," ").replace(Pi," ").replace(Ai," ").replace(Ei," ").replace(Di," ").replace($i," ").replace(Ri," ").replace(Ti," ").replace(Ii," ").replace(Li," ").replace(/^\s*[-*+]\s+/gm,"").replace(/[*_#>]+/g,"").replace(/\s+/g," ").trim()}function mc(C){return bi.test(C.trimEnd())}function hc(C,y){const E=C[y];if(!/[。!?!?…\.]/.test(E))return-1;if(E==="."){const P=C[y-1]||"",I=C[y+1]||"";if(/\d/.test(P)&&/\d/.test(I)||I&&!/[\s"'”’))\]】》]/.test(I))return-1;const o=C.slice(0,y).match(/([A-Za-z]+)$/)?.[1]?.toLowerCase()||"";if(!I&&/^(?:mr|mrs|ms|dr|prof|sr|jr|vs|etc|e|g|i)$/.test(o))return-1}let x=y+1;for(;x<C.length&&/[。!?!?…\."'”’))\]】》]/.test(C[x]);)x+=1;return x}function gc(C,y=!1){let E=!1,x=!1,P=!1,I=!1,o=!1;for(let w=0;w<C.length;w+=1){const $=C.slice(w);if($.startsWith("```")){E=!E,w+=2;continue}if(E)continue;const M=C[w];if(M==="`"){x=!x;continue}if(!x){if(I){M===")"&&(I=!1);continue}if(o)if(/\s/.test(M))o=!1;else continue;if($.startsWith("http://")||$.startsWith("https://")||$.startsWith("www.")){o=!0,$.startsWith("https://")?w+=7:$.startsWith("http://")?w+=6:w+=3;continue}if(P){M==="]"&&C[w+1]==="("&&(P=!1,I=!0,w+=1);continue}if(M==="["){P=!0;continue}if(y){const L=hc(C,w);if(L>0)return L}if(M===`
|
|
4
4
|
`||M==="\r"){let L=w+1;if(M==="\r"&&C[w+1]===`
|
|
5
5
|
`&&(L+=1,w+=1),y){const O=Math.max(C.lastIndexOf(`
|
|
6
|
-
`,w-1),C.lastIndexOf("\r",w-1))+1;if(Si(C.slice(O,w)))return L}if(mc(C.slice(0,L)))return L}}}return-1}function _c(C={}){let y="";function E(x=!1){const P=[];for(;y.length>0;){let I=gc(y,C.emitOnSentenceEnd);if(I<0){if(!x)break;I=y.length}const o=fc(y.slice(0,I));y=y.slice(I),o&&P.push(o)}return P}return{pushDelta(x){return x?(y+=x,E(!1)):[]},flush(){const x=E(!0);return x.length?x.join(" "):null},reset(){y=""}}}var bi,Ci,Mi,xi,Pi,Ai,Ei,Di,$i,Ri,Ti,Ii,Li,wc=fe((()=>{hu(),yi(),ki(),bi=/[。!?!?.…][\s"'”’))\]】》]*$/,Ci=/<(think|thinking)\b[^>]*>[\s\S]*?<\/\1>/gi,Mi=/<(think|thinking)\b[^>]*>[\s\S]*/gi,xi=/```[\s\S]*?```/g,Pi=/```[\s\S]*/g,Ai=/`[^`\n]+`/g,Ei=/<!--[\s\S]*?-->/g,Di=/<![^>]*>/g,$i=/<\/?[a-zA-Z][\w:-]*(?:\s+(?:[^"'<>]|"[^"]*"|'[^']*')*)?\s*\/?>/g,Ri=/[0-9#*]\uFE0F?\u20E3/gu,Ti=/\p{Extended_Pictographic}[\uFE0E\uFE0F\u{E0100}-\u{E01EF}]?(?:\u200D\p{Extended_Pictographic}[\uFE0E\uFE0F\u{E0100}-\u{E01EF}]?)*/gu,Ii=/[\p{So}\p{Sk}\uFE0E\uFE0F\u{E0100}-\u{E01EF}\u200D\u20E3\u2190-\u21FF\u2300-\u23FF\u2460-\u24FF\u2500-\u257F\u2580-\u259F\u25A0-\u25FF\u2600-\u27BF]/gu,Li=/[\p{Cc}\p{Cf}]/gu})),pn,fn,mn,hn,gn,_n,wn,yn,kn,Sn,bn,Cn,Mn,xn,Pn,An,En,Dn,Pa,$n,Rn,Tn,In,Ln,Ni,Nn=fe((()=>{Qt(),$a(),wc(),yi(),Ou(),ki(),Ru(),Eu(),Gu(),ju(),qu(),Yu(),_i(),pi(),Nu(),Qu(),pn=["aria-label"],fn={class:"voice-stage__header"},mn=["aria-label"],hn={class:"voice-stage__identity"},gn={class:"voice-stage__main"},_n={class:"voice-stage__interaction"},wn=["aria-label","aria-pressed"],yn={class:"voice-stage__status","aria-live":"polite"},kn={class:"voice-stage__caption","aria-live":"polite","aria-atomic":"true","data-testid":"realtime-voice-caption"},Sn={key:0,class:"voice-stage__tools","aria-live":"polite","data-testid":"realtime-voice-tool-calls"},bn={class:"voice-stage__tool-state","aria-hidden":"true"},Cn={key:0,class:"voice-stage__tool-spinner"},Mn={key:1,viewBox:"0 0 20 20"},xn={key:2,viewBox:"0 0 20 20"},Pn={class:"voice-stage__tool-copy"},An={key:0},En={key:0},Dn=1500,Pa=.035,$n=700,Rn=1800,Tn=8e3,In=1e3,Ln=5,Ni=Da({__name:"RealtimeVoiceStage",emits:["close"],setup(C,{emit:y}){const E=y,{t:x}=Ra(),P=wi(),I=Ku(),o=Hu(),w=Ju(),$=Fu({messages:{unsupported:x("chat.voiceInput.browserSpeechUnsupported"),failed:x("chat.voiceInput.browserSpeechFailed"),failedWithReason:i=>x("chat.voiceInput.browserSpeechFailedWithReason",{error:i})}}),M=Du({messages:{unsupported:x("chat.voiceInput.microphoneUnsupported"),recordingFailed:x("chat.voiceInput.microphoneRecordingFailed")}}),L=ln({minSegmentDurationMs:Rn,speechEndSilenceMs:$n,maxSegmentDurationMs:Tn,voiceActivityThreshold:Pa,onChunk:Ze,messages:{unsupported:x("chat.voiceInput.microphoneUnsupported"),recordingFailed:x("chat.voiceInput.microphoneRecordingFailed")}}),O=ln({continuous:!0,maxSegmentDurationMs:In,onChunk:Ze,messages:{unsupported:x("chat.voiceInput.microphoneUnsupported"),recordingFailed:x("chat.voiceInput.microphoneRecordingFailed")}}),_=v("idle"),g=v(!1),l=v(""),A=v(""),F=v(""),H=v(!1),ne=v(!1),ce=v(0),q=v(0),j=v(!1),u=v([]),S=v(null);let B=null,U=null,_e=null,oe=null,Ne=null,We=!1,de=null,Ve=null,Je=null,Zt="",xt="",Pe=0,Ae=null,be=!1,G=0,J=0,Ce=!1,ve=0,z=null,ut=null,W=null,Me=!1,ye=0,ze=Promise.resolve(),ct=null,Ee=null;const Ge=new Set,dt=new Set,Xe=[],Pt=new Map,vt=new Set,Ke=_c({emitOnSentenceEnd:!0}),pt=h(()=>Te([$.transcript.value,$.partialTranscript.value,A.value].filter(Boolean).join(" "))||l.value),ft=h(()=>j.value||w.isPlaying.value||w.isCustomPlaying.value),ea=h(()=>{const i=P.activeSession,d=i?.agent||i?.codingAgentId||"hermes";return{hermes:"Hermes",claude:"Claude Code","claude-code":"Claude Code",codex:"Codex","ekko-agent":"Ekko Agent"}[d]||d}),qe=h(()=>x(`realtimeVoice.status.${_.value}`,{agent:ea.value})),La=h(()=>x(`realtimeVoice.hint.${_.value}`)),Na=h(()=>P.activeSession?.title?.trim()||x("realtimeVoice.untitledSession")),Ba=h(()=>F.value?F.value:_.value==="speaking"&&S.value?S.value.subtitleText:(_.value==="listening"||_.value==="processing"||_.value==="thinking"&&!ne.value)&&pt.value?pt.value:La.value),ta=h(()=>_.value==="listening"?Math.max(.16,q.value):_.value==="thinking"?.42:_.value==="speaking"?.58:_.value==="processing"?.28:.1),Fa=h(()=>({"--voice-energy":ta.value.toFixed(3),transform:`scale(${(1+ta.value*.075).toFixed(3)})`})),He=h(()=>ce.value?P.messages.slice(Pe).filter(i=>i.role==="tool"&&!!i.toolName).slice(-4).reverse():[]);function Te(i){return i.replace(/\s+/g," ").trim()}function aa(i){const d=i.toolStatus==="running"?i.toolPreview??i.toolArgs:i.toolResult??i.toolPreview;if(d==null)return"";let f=typeof d=="string"?d:"";if(!f)try{f=JSON.stringify(d)}catch{f=String(d)}return f=Te(f),f.length>180?`${f.slice(0,177)}...`:f}function sa(){return I.openaiLanguage.value.trim()||I.customLanguage.value.trim()||""}function na(){return!us()}function Oa(i){return!!(i&&(i.provider==="local"||Zs()||us()))}function Be(){B&&clearTimeout(B),U&&clearTimeout(U),B=null,U=null}function At(){const i=Je;Je=null,de&&(de.pause(),de.src="",de=null),Ve&&(URL.revokeObjectURL(Ve),Ve=null),j.value=!1,S.value=null,i?.()}function Ye(){for(const d of dt)d.abort();dt.clear();const i=new DOMException("Speech synthesis cancelled","AbortError");for(;Xe.length>0;)Xe.shift()?.resolve({ok:!1,error:i})}function Et(i,d){return o.provider.value==="openai"&&o.openaiBaseUrl.value?Mt({provider:"openai",text:i,signal:d,options:{baseUrl:o.openaiBaseUrl.value,apiKey:o.openaiApiKey.value,model:o.openaiModel.value,voice:o.openaiVoice.value}}):o.provider.value==="custom"&&o.customUrl.value?Mt({provider:"custom",text:i,signal:d,options:{baseUrl:o.customUrl.value,apiKey:o.customApiKey.value||void 0}}):o.provider.value==="edge"?Mt({provider:"edge",text:i,signal:d,options:{baseUrl:o.edgeUrl.value||"/api/tts/proxy",voice:o.edgeVoice.value,rate:Zu(o.edgeRate.value),pitch:ec(o.edgePitchHz.value)}}):o.provider.value==="mimo"?Mt({provider:"mimo",text:i,signal:d,options:{baseUrl:o.mimoBaseUrl.value,apiKey:o.mimoApiKey.value||void 0,authMode:o.mimoAuthMode.value,model:o.mimoModel.value,voiceMode:o.mimoModel.value==="mimo-v2.5-tts-voicedesign"?"voiceDesign":o.mimoModel.value==="mimo-v2.5-tts-voiceclone"?"voiceClone":"preset",voice:o.mimoVoice.value,voiceDesignDesc:o.mimoVoiceDesignDesc.value||void 0,voiceCloneDataUri:o.mimoVoiceCloneDataUri.value||void 0,voiceCloneFormat:o.mimoVoiceCloneFormat.value,stylePrompt:o.mimoStylePrompt.value||void 0}}):o.provider.value==="doubao"?Mt({provider:"doubao",text:i,signal:d,options:{baseUrl:o.doubaoBaseUrl.value,model:o.doubaoModel.value,voice:o.doubaoVoice.value,stylePrompt:o.doubaoStylePrompt.value||void 0}}):Xu(o.provider.value)?Mt({provider:o.provider.value,text:i,signal:d}):null}function Dt(){for(;ve<Ln&&Xe.length>0;){const i=Xe.shift();if(!i)break;if(i.generation!==G){i.resolve({ok:!1,error:new DOMException("Stale speech segment","AbortError")});continue}const d=new AbortController,f=Et(i.text,d.signal);if(!f){i.resolve({ok:!1,error:new Error("Browser speech does not require synthesis")});continue}ve+=1,dt.add(d),f.then(({audio:D})=>i.resolve({ok:!0,audio:D})).catch(D=>i.resolve({ok:!1,error:D})).finally(()=>{ve-=1,dt.delete(d),Dt()})}}function Ua(i,d){return o.provider.value==="webspeech"||o.provider.value==="openai"&&!o.openaiBaseUrl.value||o.provider.value==="custom"&&!o.customUrl.value?null:new Promise(f=>{Xe.push({generation:d,text:i,resolve:f}),Dt()})}function $t(){G+=1,Ye(),At(),u.value=[],S.value=null,Pe=P.messages.length,Ae=null,be=!1,ne.value=!1,J=0,Pt.clear(),vt.clear(),Ke.reset()}function le(){if(_e!==null&&cancelAnimationFrame(_e),_e=null,We)for(const i of oe?.getTracks()||[])i.stop();oe=null,We=!1,Ne&&Ne.close().catch(()=>{}),Ne=null,q.value=0}async function Rt(i){if(le(),!(typeof AudioContext>"u")&&!(!i&&!navigator.mediaDevices?.getUserMedia))try{const d=!i,f=i||await navigator.mediaDevices.getUserMedia({audio:!0});if(_.value!=="listening"){if(d)for(const ie of f.getTracks())ie.stop();return}const D=new AudioContext,T=D.createAnalyser();T.fftSize=256,T.smoothingTimeConstant=.72,D.createMediaStreamSource(f).connect(T);const V=new Uint8Array(T.frequencyBinCount);oe=f,We=d,Ne=D;const ee=()=>{T.getByteFrequencyData(V);let ie=0;for(let we=0;we<V.length;we+=1)ie+=V[we];const ke=Math.min(1,ie/V.length/96);q.value+=(ke-q.value)*.34,_e=requestAnimationFrame(ee)};ee()}catch{}}async function Qe(){return ut||(ut=Vu().then(i=>{const d=i.activeProvider;return!d||d==="browser"?null:i.providers.find(f=>f.provider===d&&(d==="local"||f.secrets?.apiKey==="[stored]"))||null}).catch(()=>null),ut)}function Z(i){if(De(i)){F.value="",_.value!=="listening"&&(_.value="idle");return}F.value=i instanceof Error?i.message:String(i),_.value="error"}function De(i){const d=i instanceof Error?i.message:String(i);return/no[_ -]?speech|no speech detected/i.test(d)}function oa(){ye+=1,ze=Promise.resolve(),ct=null,A.value=""}function Tt(){return z?.provider==="local"?O:L}async function X(){const i=Ee;Ee=null,i&&await on(i).catch(()=>{})}function Ze(i){const d=z,f=ye,D=d?.provider==="local"?Ee:null;if(!d||i.size<=44)return ze;const T=d.settings;return ze=ze.then(async()=>{if(f===ye)try{const V=d.provider==="local"?await Uu(D||"",i):await rn({audio:i,provider:d.provider,language:typeof T.language=="string"?T.language:void 0,prompt:typeof T.prompt=="string"?T.prompt:void 0});if(f!==ye)return;const ee=Te(V.text);d.provider==="local"?A.value=ee:ee&&(A.value=Te(`${A.value} ${ee}`))}catch(V){if(f!==ye||De(V))return;throw ct=V,V}}).catch(V=>{f!==ye||De(V)||(ct=V,Tt().cancel(),X(),W=null,le(),Z(V))}),ze}async function It(){if(oa(),z?.provider==="local"){const d=ye,f=await Wu();if(d!==ye){await on(f.sessionId).catch(()=>{});return}Ee=f.sessionId}W="backend-stream";const i=Tt();try{await i.start()}catch(d){throw await X(),d}_.value="listening",Rt(i.stream.value)}async function Fe(){if(Be(),!P.activeSessionId){Z(x("realtimeVoice.sessionMissing"));return}if(P.isSessionLive(P.activeSessionId)){_.value="thinking";return}if(w.stop(!0),$.clearError(),F.value="",l.value="",A.value="",S.value=null,ce.value=0,g.value=!0,z=await Qe(),(Zs()||us())&&!z){W=null,Z(x("realtimeVoice.backendStreamRequired"));return}const i=Oa(z);W=i?"backend-stream":"browser";try{if(i){await It();return}if(z)try{await M.start()}catch{z=null}await $.start({language:sa(),continuous:na()}),_.value="listening",Rt(M.stream.value)}catch(d){W=null,M.cancel(),L.cancel(),O.cancel(),X(),Z(d)}}async function je(i){const d=Te(i);if(l.value=d,!d){le(),_.value="idle";return}w.stop(!0),$t(),ce.value=Date.now(),H.value=!0,_.value="thinking",await P.sendMessage(d)}async function mt(i,d){if(i.size<=0){_.value="idle";return}Be(),_.value="processing";try{const f=d.settings;await je((await rn({audio:i,provider:d.provider,language:typeof f.language=="string"?f.language:void 0,prompt:typeof f.prompt=="string"?f.prompt:void 0})).text)}catch(f){if(De(f)){F.value="",W=null,le(),_.value="idle",et();return}Z(f)}}async function la(){if(!(!g.value||W!=="browser"||Me||!$.error.value)){Me=!0,Be();try{if($.errorCode.value==="no-speech"){$.clearError(),_.value==="processing"&&!H.value&&(_.value="listening"),Va();return}if(_.value="processing",$.errorCode.value==="network"&&z){const i=await M.stop();if(le(),W=null,i.size<=0){Z($.error.value);return}await mt(i,z);return}M.cancel(),le(),W=null,Z($.errorCode.value==="network"?x("realtimeVoice.networkUnavailableNoFallback"):$.error.value)}catch(i){M.cancel(),le(),W=null,Z(i)}finally{Me=!1}}}async function me(i=!1){if(_.value!=="listening")return;if(Be(),_.value="processing",W==="backend-stream"&&z){const f=Tt();try{const D=await f.stop();if(le(),D&&Ze(D),await ze,ct)return;if(z.provider==="local"){const T=Ee;if(Ee=null,!T)throw new Error("Local STT stream session is not active");A.value=Te((await zu(T)).text)||A.value}if(W=null,!A.value){_.value=i?"paused":"idle",i||et();return}await je(A.value)}catch(D){if(De(D)){W=null,le(),_.value=i?"paused":"idle",i||et();return}W=null,f.cancel(),await X(),le(),Z(D)}return}let d="";try{d=await $.stop()}catch(f){$.error.value?la():Z(f);return}if(M.state.value.status!=="idle"&&await M.stop().catch(()=>{}),W=null,le(),!Te(d)){_.value=i?"paused":"idle",i||et();return}await je(d)}async function ht(){Be(),$.cancel(),M.cancel(),L.cancel(),O.cancel(),ye+=1,X(),W=null,le(),H.value=!1,$t(),w.stop(!0),await P.stopStreaming(),_.value="idle"}async function Wa(){if(_.value==="listening"){await me(!0);return}if(_.value==="thinking"||_.value==="speaking"){await ht();return}await Fe()}function et(i=420){g.value&&(U&&clearTimeout(U),U=setTimeout(()=>{U=null,g.value&&_.value!=="listening"&&!H.value&&Fe()},i))}function Va(i=420){!g.value||W!=="browser"||(U&&clearTimeout(U),U=setTimeout(()=>{U=null,!(!g.value||W!=="browser")&&($.clearError(),$.start({language:sa(),continuous:na()}).catch(d=>{W=null,M.cancel(),le(),Z(d)}))},i))}function gt(){B&&clearTimeout(B),B=setTimeout(()=>{B=null,_.value==="listening"&&me(!1)},Dn)}function ia(i){return!ft.value||i!==G?Promise.resolve():new Promise(d=>{let f=!1;const D=()=>{f||(f=!0,clearTimeout(V),T(),d())},T=se(ft,ee=>{(!ee||i!==G)&&D()}),V=setTimeout(D,3e5)})}async function _t(i,d){const f=URL.createObjectURL(d),D=new Audio(f);de=D,Ve=f,await new Promise((T,V)=>{let ee=!1;const ie=we=>{ee||(ee=!0,D.onended=null,D.onerror=null,de===D&&(de=null),Ve===f&&(Ve=null),Je===ke&&(Je=null),URL.revokeObjectURL(f),j.value=!1,S.value?.id===i.id&&(S.value=null),we?V(we):T())},ke=()=>ie();Je=ke,D.onended=()=>ie(),D.onerror=()=>ie(new Error("TTS audio playback failed")),D.play().then(()=>{if(i.generation!==G||!g.value){D.pause(),ie();return}j.value=!0,S.value=i,ne.value=!0,_.value="speaking"}).catch(ie)})}async function ra(i){const{id:d,audioText:f,generation:D}=i;if(!(!f||D!==G||!g.value))try{if(i.synthesis){const T=await i.synthesis;if(D!==G||!g.value)return;if(!T.ok)throw T.error;await _t(i,T.audio)}else if(w.isSupported.value){const T=w.extractReadableText(f);w.speakViaBrowser(d,T,{voiceName:o.webspeechVoice.value||void 0}),S.value=i,ne.value=!0,_.value="speaking",await ia(D)}else{D===G&&H.value&&(_.value="thinking");return}if(D!==G||!g.value)return;S.value?.id===i.id&&(S.value=null),H.value&&(_.value="thinking")}catch(T){S.value?.id===i.id&&(S.value=null),D===G&&Z(T)}}function Lt(){if(!(Ce||u.value.length>0)){for(const i of Ge)i();Ge.clear()}}function za(){return!Ce&&u.value.length===0?Promise.resolve():new Promise(i=>Ge.add(i))}async function Oe(){if(!Ce){Ce=!0;try{for(;u.value.length>0;){const i=u.value.shift();!i||i.generation!==G||await ra(i)}}finally{Ce=!1,u.value.length>0?Oe():Lt()}}}function ua(i,d="assistant"){if(!i)return;const f=G;u.value.push({id:`${d}:voice:${++J}`,audioText:i,subtitleText:i,generation:f,synthesis:Ua(i,f)}),Oe()}function Nt(i=Ae||"assistant"){const d=Ke.flush();d&&ua(d,i)}function ca(){const i=P.messages.slice(Pe);for(const d of i){if(d.role==="assistant"){const f=d.content||"",D=Pt.get(d.id)||"";if(Pt.set(d.id,f),!f.startsWith(D))continue;const T=f.slice(D.length);if(!T)continue;Ae&&Ae!==d.id&&Nt(Ae),Ae=d.id;for(const V of Ke.pushDelta(T))ua(V,d.id);continue}d.role==="tool"&&!vt.has(d.id)&&(vt.add(d.id),Nt())}}function da(){if(!H.value||(ca(),P.isStreaming||be))return;const i=P.messages.slice(Pe),d=[...i].reverse().find(D=>D.role==="assistant"&&!!D.content.trim());if(!d){const D=[...i].reverse().find(T=>T.timestamp>=ce.value&&(T.role==="system"||T.systemType==="error"));D&&(H.value=!1,Z(D.content));return}be=!0,Nt(d.id);const f=G;za().finally(()=>{f!==G||!g.value||(H.value=!1,_.value!=="error"&&(_.value=W==="browser"?"listening":"idle"),W===null&&et())})}function Ga(){g.value=!1,H.value=!1,G+=1,u.value=[],S.value=null,Ye(),At(),Be(),$.cancel(),M.cancel(),L.cancel(),O.cancel(),ye+=1,X(),W=null,le(),w.stop(!0),E("close")}return se(pt,i=>{_.value!=="listening"||W!=="browser"||!i||gt()}),se(()=>L.level.value,i=>{_.value!=="listening"||W!=="backend-stream"||!L.hasSpeech.value||i<Pa||gt()}),se(()=>O.level.value,i=>{_.value!=="listening"||W!=="backend-stream"||z?.provider!=="local"||!O.hasSpeech.value||i<Pa||gt()}),se(()=>$.error.value,()=>{la()}),se(()=>P.messages.map(i=>`${i.id}:${i.isStreaming?1:0}:${i.content.length}`).join("|"),da),se(()=>P.isStreaming,da),Ea(()=>{Zt=document.body.style.overflow,xt=document.documentElement.style.overflow,document.body.style.overflow="hidden",document.documentElement.style.overflow="hidden",g.value=!0,U=setTimeout(()=>{U=null,Qe().then(i=>{g.value&&(z=i,Fe())})},180)}),di(()=>{g.value=!1,G+=1,u.value=[],S.value=null,Ye(),At(),Be(),$.cancel(),M.cancel(),L.cancel(),O.cancel(),ye+=1,X(),W=null,le(),w.stop(!0),document.body.style.overflow=Zt,document.documentElement.style.overflow=xt}),(i,d)=>(c(),p("section",{class:ae(["voice-stage dark",[`voice-stage--${_.value}`,{"voice-stage--with-tools":He.value.length>0}]]),role:"dialog","aria-modal":"true","aria-label":s(x)("realtimeVoice.title"),"data-testid":"realtime-voice-stage"},[d[6]||(d[6]=n("div",{class:"voice-stage__wash voice-stage__wash--top","aria-hidden":"true"},null,-1)),d[7]||(d[7]=n("div",{class:"voice-stage__wash voice-stage__wash--bottom","aria-hidden":"true"},null,-1)),n("header",fn,[n("button",{class:"voice-stage__back",type:"button","aria-label":s(x)("realtimeVoice.back"),onClick:Ga},[...d[0]||(d[0]=[n("svg",{viewBox:"0 0 24 24","aria-hidden":"true"},[n("path",{d:"m15 18-6-6 6-6"})],-1)])],8,mn),n("div",hn,[n("strong",null,m(Na.value),1),n("span",null,m(ea.value),1)]),d[1]||(d[1]=n("span",{class:"voice-stage__header-spacer"},null,-1))]),n("main",gn,[n("section",_n,[n("button",{class:"voice-stage__bloom",type:"button",style:gi(Fa.value),"aria-label":qe.value,"aria-pressed":_.value==="listening","data-testid":"realtime-voice-toggle",onClick:Wa},[...d[2]||(d[2]=[n("svg",{viewBox:"0 0 420 420",role:"presentation","aria-hidden":"true"},[n("defs",null,[n("radialGradient",{id:"voice-bloom-cyan",cx:"35%",cy:"30%",r:"75%"},[n("stop",{class:"voice-stage__stop voice-stage__stop--light",offset:"0%"}),n("stop",{class:"voice-stage__stop voice-stage__stop--cyan",offset:"42%"}),n("stop",{class:"voice-stage__stop voice-stage__stop--blue",offset:"100%"})]),n("radialGradient",{id:"voice-bloom-violet",cx:"66%",cy:"72%",r:"70%"},[n("stop",{class:"voice-stage__stop voice-stage__stop--rose",offset:"0%"}),n("stop",{class:"voice-stage__stop voice-stage__stop--violet",offset:"58%"}),n("stop",{offset:"100%","stop-color":"#4427b8","stop-opacity":"0"})]),n("filter",{id:"voice-bloom-warp",x:"-35%",y:"-35%",width:"170%",height:"170%"},[n("feTurbulence",{type:"fractalNoise",baseFrequency:".009 .014",numOctaves:"2",seed:"8",result:"noise"},[n("animate",{attributeName:"baseFrequency",dur:"9s",values:".009 .014;.014 .009;.009 .014",repeatCount:"indefinite"})]),n("feDisplacementMap",{in:"SourceGraphic",in2:"noise",scale:"34",xChannelSelector:"R",yChannelSelector:"B"})]),n("filter",{id:"voice-bloom-blur",x:"-60%",y:"-60%",width:"220%",height:"220%"},[n("feGaussianBlur",{stdDeviation:"24"})])]),n("circle",{class:"voice-stage__bloom-haze",cx:"210",cy:"210",r:"128",fill:"url(#voice-bloom-cyan)",filter:"url(#voice-bloom-blur)"}),n("g",{class:"voice-stage__bloom-body",filter:"url(#voice-bloom-warp)"},[n("circle",{cx:"210",cy:"210",r:"112",fill:"url(#voice-bloom-cyan)"}),n("circle",{class:"voice-stage__bloom-color",cx:"226",cy:"224",r:"104",fill:"url(#voice-bloom-violet)"}),n("ellipse",{class:"voice-stage__bloom-shine",cx:"174",cy:"162",rx:"56",ry:"42",fill:"#ffffff",opacity:".22"})])],-1)])],12,wn),n("div",yn,[d[3]||(d[3]=n("i",null,null,-1)),n("span",null,m(qe.value),1)]),n("p",kn,m(Ba.value),1),He.value.length?(c(),p("div",Sn,[(c(!0),p(Q,null,pe(He.value,f=>(c(),p("article",{key:f.id,class:ae(["voice-stage__tool",`voice-stage__tool--${f.toolStatus||"running"}`])},[n("span",bn,[f.toolStatus==="running"?(c(),p("span",Cn)):f.toolStatus==="error"?(c(),p("svg",Mn,[...d[4]||(d[4]=[n("path",{d:"m6.5 6.5 7 7m0-7-7 7"},null,-1)])])):(c(),p("svg",xn,[...d[5]||(d[5]=[n("path",{d:"m5.5 10.2 2.8 2.8 6.2-6.2"},null,-1)])]))]),n("span",Pn,[n("strong",null,m(f.toolName),1),aa(f)?(c(),p("span",An,m(aa(f)),1)):k("",!0)]),f.toolDuration!==void 0?(c(),p("time",En,m(f.toolDuration.toFixed(1))+"s",1)):k("",!0)],2))),128))])):k("",!0)])])],10,pn))}})})),yc=fe((()=>{})),Bi,kc=fe((()=>{Nn(),Nn(),yc(),Ta(),Bi=Ia(Ni,[["__scopeId","data-v-4028b177"]])}));async function Sc(C={}){const y=new URLSearchParams;return C.humanOnly===!1&&y.set("humanOnly","false"),C.source&&y.set("source",C.source),C.limit!=null&&y.set("limit",String(C.limit)),(await fi(`/api/hermes/sessions/conversations${y.toString()?`?${y.toString()}`:""}`)).sessions}async function bc(C,y={}){const E=new URLSearchParams;y.humanOnly===!1&&E.set("humanOnly","false"),y.source&&E.set("source",y.source);const x=E.toString()?`?${E.toString()}`:"";return fi(`/api/hermes/sessions/conversations/${encodeURIComponent(C)}/messages${x}`)}var Cc=fe((()=>{ci()})),Bn,Fn,On,Un,Wn,Vn,zn,Gn,Kn,qn,Hn,jn,Jn,Xn,Yn,Qn,Zn,eo,to,ao,so,no,Fi,oo=fe((()=>{Qt(),Cc(),sc(),hi(),$a(),Bn={class:"conversation-monitor"},Fn={class:"conversation-monitor__sidebar"},On={key:0,class:"conversation-monitor__empty"},Un={key:1,class:"conversation-monitor__empty"},Wn=["aria-pressed","onClick"],Vn={class:"conversation-monitor__session-title-row"},zn={class:"conversation-monitor__session-title"},Gn={key:0,class:"conversation-monitor__session-live"},Kn={class:"conversation-monitor__session-meta"},qn={key:0,class:"conversation-monitor__session-preview"},Hn={class:"conversation-monitor__detail"},jn={key:0,class:"conversation-monitor__detail-header"},Jn={class:"conversation-monitor__detail-title"},Xn={class:"conversation-monitor__detail-meta"},Yn=["title"],Qn={key:1,class:"conversation-monitor__empty conversation-monitor__empty--error"},Zn={key:2,class:"conversation-monitor__empty"},eo={key:3,class:"conversation-monitor__empty"},to={key:4,class:"conversation-monitor__messages"},ao={class:"conversation-monitor__message-meta"},so={class:"conversation-monitor__message-content"},no=15e3,Fi=Da({__name:"ConversationMonitorPane",props:{humanOnly:{type:Boolean}},setup(C){const y=C,{t:E}=Ra(),x=mi(),P=v([]),I=v(null),o=v(null),w=v(!1),$=v(!1),M=v("");let L=null,O=0,_=0;const g=h(()=>P.value.find(q=>q.id===I.value)||null),l=h(()=>g.value?.model?x.displayModelName(g.value.model,g.value.provider):"");function A(q){return E(q==="user"?"chat.monitorRoleUser":"chat.monitorRoleAssistant")}function F(q){return E("chat.linkedSessions",{count:q})}function H(){O+=1,_+=1}async function ne(q=!1){const j=++O;q||(w.value=!0,M.value="");try{const u=await Sc({humanOnly:y.humanOnly});if(j!==O)return;if(P.value=u,!u.length){I.value=null,o.value=null;return}(!I.value||!u.some(S=>S.id===I.value))&&(I.value=u[0].id)}catch(u){if(j!==O||q)return;M.value=u?.message||String(u),P.value=[],I.value=null,o.value=null}finally{!q&&j===O&&(w.value=!1)}}async function ce(q,j=!1){const u=++_;if(!q){o.value=null;return}const S=y.humanOnly;j||($.value=!0,M.value="");try{const B=await bc(q,{humanOnly:S});if(u!==_||q!==I.value||S!==y.humanOnly)return;o.value=B}catch(B){if(u!==_||j)return;M.value=B?.message||String(B),o.value=null}finally{!j&&u===_&&($.value=!1)}}return se(I,async q=>{await ce(q,!1)}),se(()=>y.humanOnly,async()=>{H(),I.value=null,o.value=null,await ne(!1)}),Ea(async()=>{await ne(!1),L=setInterval(async()=>{await ne(!0),I.value&&await ce(I.value,!0)},no)}),vi(()=>{H(),L&&clearInterval(L)}),(q,j)=>(c(),p("div",Bn,[n("aside",Fn,[w.value&&P.value.length===0?(c(),p("div",On,m(s(E)("common.loading")),1)):P.value.length===0?(c(),p("div",Un,m(s(E)("chat.noSessions")),1)):k("",!0),(c(!0),p(Q,null,pe(P.value,u=>(c(),p("button",{key:u.id,class:ae(["conversation-monitor__session",{active:u.id===I.value}]),"aria-pressed":u.id===I.value,onClick:S=>I.value=u.id},[n("div",Vn,[n("span",zn,m(u.title||u.preview||u.id),1),u.is_active?(c(),p("span",Gn,m(s(E)("chat.recentBadge")),1)):k("",!0)]),n("div",Kn,m(s(cn)(u.source))+" · "+m(s(un)(u.last_active)),1),u.preview?(c(),p("div",qn,m(u.preview),1)):k("",!0)],10,Wn))),128))]),n("section",Hn,[g.value?(c(),p("header",jn,[n("div",Jn,m(g.value.title||g.value.preview||g.value.id),1),n("div",Xn,[n("span",null,m(s(cn)(g.value.source)),1),j[0]||(j[0]=n("span",null,"·",-1)),n("span",{title:g.value.model},m(l.value),9,Yn),j[1]||(j[1]=n("span",null,"·",-1)),n("span",null,m(F(g.value.thread_session_count)),1)])])):k("",!0),M.value?(c(),p("div",Qn,m(M.value),1)):$.value&&!o.value?(c(),p("div",Zn,m(s(E)("common.loading")),1)):!o.value||o.value.messages.length===0?(c(),p("div",eo,m(s(E)("chat.noVisibleMessages")),1)):(c(),p("div",to,[(c(!0),p(Q,null,pe(o.value.messages,u=>(c(),p("article",{key:`${u.session_id}-${u.id}`,class:ae(["conversation-monitor__message",`role-${u.role}`])},[n("div",ao,m(A(u.role))+" · "+m(s(un)(u.timestamp)),1),n("div",so,m(u.content),1)],2))),128))]))])]))}})})),Mc=fe((()=>{})),Oi,xc=fe((()=>{oo(),oo(),Mc(),Ta(),Oi=Ia(Fi,[["__scopeId","data-v-85376dee"]])})),lo,io,ro,uo,co,vo,po,fo,mo,ho,go,_o,wo,yo,ko,Ui,So=fe((()=>{Qt(),$a(),$u(),oc(),bu(),lo={class:"subagent-stream-panel"},io={class:"subagent-stream-header"},ro={class:"subagent-stream-heading"},uo={class:"subagent-stream-kicker"},co={key:0,class:"subagent-task-position"},vo={class:"subagent-stream-title"},po={key:0,class:"subagent-stream-metrics"},fo={class:"subagent-header-actions"},mo=["aria-label","title"],ho={class:"subagent-stream-body"},go={key:0,class:"subagent-empty"},_o={key:0,class:"subagent-run-indicator"},wo={key:0,class:"subagent-live-tools"},yo={class:"subagent-live-tool-name"},ko={key:0,class:"subagent-live-tool-preview"},Ui=Da({__name:"SubagentStreamPanel",props:{stream:{}},emits:["close"],setup(C,{emit:y}){const E=C,x=y,{t:P}=Ra(),I=v(null),o=v(Date.now());let w=null;const $=h(()=>{const u=E.stream;return u?`${u.status}:${u.entries.map(S=>`${S.id}:${S.timestamp}:${S.text?.length||0}`).join("|")}`:"empty"}),M=h(()=>{const u=E.stream;return u?`${u.taskIndex+1}/${Math.max(1,u.taskCount)}`:""}),L=h(()=>E.stream?.status==="running"),O=h(()=>{if(!L.value)return null;const u=E.stream?.entries||[];for(let S=u.length-1;S>=0;S--){const B=u[S];if(B.kind==="thinking"&&B.text?.trim())return B}return null}),_=h(()=>(E.stream?.entries||[]).filter(u=>u.kind==="status"||L.value&&u.kind==="tool"?!1:u.kind!=="thinking").map((u,S)=>q(u,S,L.value))),g=h(()=>L.value?(E.stream?.entries||[]).filter(u=>u.kind==="tool").map((u,S)=>q(u,S)).reverse():[]),l=h(()=>{const u=E.stream?.startedAt||o.value,S=Math.max(0,Math.floor((o.value-u)/1e3)),B=Math.floor(S/3600),U=Math.floor(S%3600/60),_e=S%60;return B>0?`${B}h${U}m${_e}s`:U>0?`${U}m${_e}s`:`${_e}s`}),A=h(()=>{const u=E.stream;if(!u)return[];const S=[];return u.model&&S.push({key:"model",value:u.model}),u.toolCount!=null&&S.push({key:"tools",value:P("subagent.tools",{count:u.toolCount})}),(u.inputTokens!=null||u.outputTokens!=null)&&S.push({key:"tokens",value:P("subagent.tokens",{input:F(u.inputTokens||0),output:F(u.outputTokens||0)})}),u.durationSeconds!=null&&S.push({key:"duration",value:H(u.durationSeconds)}),S});function F(u){return u>=1e6?`${(u/1e6).toFixed(1)}M`:u>=1e3?`${(u/1e3).toFixed(1)}K`:String(u)}function H(u){return u<1?`${Math.round(u*1e3)}ms`:u<60?`${Math.round(u*10)/10}s`:`${Math.floor(u/60)}m ${Math.round(u%60)}s`}function ne(u){return u==="error"?"failed":u}function ce(u){return u?.text&&u.status==="running"?u.text:P(`subagent.${ne(u?.status||E.stream?.status||"running")}`)}function q(u,S,B=!1){const U={id:`subagent-stream:${E.stream?.subagentId||"unknown"}:${u.id}:${S}`,timestamp:u.timestamp};return u.kind==="tool"?{...U,role:"tool",content:"",toolName:u.toolName||P("subagent.tool"),toolCallId:`subagent-stream-tool:${u.id}`,toolPreview:u.text,toolArgs:u.toolArgs,reasoning:B?void 0:u.reasoning,toolStatus:"done"}:u.kind==="thinking"?{...U,role:"assistant",content:"",reasoning:u.text||"",isStreaming:E.stream?.status==="running"&&E.stream.entries[E.stream.entries.length-1]?.id===u.id}:{...U,role:"assistant",content:u.text||"",reasoning:B?void 0:u.reasoning}}function j(){w&&(clearInterval(w),w=null)}return se(L,u=>{j(),o.value=Date.now(),u&&(w=setInterval(()=>{o.value=Date.now()},1e3))},{immediate:!0}),se($,()=>{I.value?.shouldAutoFollowBottom(96)!==!1&&I.value?.scrollToBottom({frames:2,keepAliveMs:250})}),Ea(()=>{I.value?.scrollToBottom({frames:2,keepAliveMs:250})}),di(j),(u,S)=>(c(),p("section",lo,[n("header",io,[n("div",ro,[n("div",uo,[n("span",{class:ae(["subagent-live-dot",{active:C.stream?.status==="running"}]),"aria-hidden":"true"},null,2),n("span",null,m(s(P)("subagent.title")),1),M.value?(c(),p("span",co,m(M.value),1)):k("",!0)]),n("div",vo,m(C.stream?.goal||s(P)("subagent.noGoal")),1),A.value.length?(c(),p("div",po,[(c(!0),p(Q,null,pe(A.value,B=>(c(),p("span",{key:B.key},m(B.value),1))),128))])):k("",!0)]),n("div",fo,[C.stream?(c(),p("span",{key:0,class:ae(["subagent-status",`status-${ne(C.stream.status)}`])},m(ce()),3)):k("",!0),n("button",{type:"button",class:"subagent-close","aria-label":s(P)("subagent.close"),title:s(P)("subagent.close"),onClick:S[0]||(S[0]=B=>x("close"))},[...S[1]||(S[1]=[n("svg",{viewBox:"0 0 24 24","aria-hidden":"true"},[n("path",{d:"M18 6 6 18M6 6l12 12"})],-1)])],8,mo)])]),n("div",ho,[b(ku,{ref_key:"streamListRef",ref:I,messages:_.value,virtualized:!1,padding:"20px","row-gap":16},{item:R(({message:B})=>[b(lc,{message:B},null,8,["message"])]),empty:R(()=>[L.value?k("",!0):(c(),p("div",go,[n("span",null,m(ce()),1)]))]),_:1},8,["messages"]),L.value?(c(),p("div",_o,[b(Lu,{reasoning:O.value?.text,"reasoning-id":O.value?.id,elapsed:l.value},null,8,["reasoning","reasoning-id","elapsed"]),g.value.length?(c(),p("div",wo,[(c(!0),p(Q,null,pe(g.value,B=>(c(),p("div",{key:B.id,class:"subagent-live-tool"},[S[2]||(S[2]=n("svg",{viewBox:"0 0 24 24","aria-hidden":"true"},[n("path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"})],-1)),n("span",yo,m(B.toolName),1),B.toolPreview?(c(),p("span",ko,m(B.toolPreview),1)):k("",!0),S[3]||(S[3]=n("svg",{class:"subagent-live-tool-done",viewBox:"0 0 24 24","aria-hidden":"true"},[n("circle",{cx:"12",cy:"12",r:"10"}),n("path",{d:"m8 12 3 3 5-6"})],-1))]))),128))])):k("",!0)])):k("",!0)])]))}})})),Pc=fe((()=>{})),Wi,Ac=fe((()=>{So(),So(),Pc(),Ta(),Wi=Ia(Ui,[["__scopeId","data-v-1627819b"]])}));function Ec(C,y,E){const x=new Set(C.map(o=>o.id)),P=C.map(o=>({key:`category-${o.id}`,label:o.name,sessions:y.filter(w=>w.categoryId===o.id)})).filter(o=>o.sessions.length>0),I=y.filter(o=>o.categoryId==null||!x.has(o.categoryId));return I.length>0&&P.push({key:"category-none",label:E,sessions:I}),P}function Dc(C,y,E){const x=Math.min(100,Math.max(1,Math.floor(Number(y)||10))),P=[...C].sort((o,w)=>(w.updatedAt||0)-(o.updatedAt||0)).slice(0,x),I=new Set(P.map(o=>o.id));return{group:{key:"recent",label:E,sessions:P},remaining:C.filter(o=>!I.has(o.id))}}var $c=fe((()=>{}));function Rc(C){const y=v([]),E=v([]);function x(){try{const A=localStorage.getItem(ps);if(A)return JSON.parse(A)}catch(A){console.error("Failed to load default workspaces:",A)}return[]}function P(A){try{localStorage.setItem(ps,JSON.stringify(A)),y.value=A}catch(F){console.error("Failed to save default workspaces:",F)}}function I(A){const F=x();F.includes(A)||(F.push(A),P(F))}function o(A){P(x().filter(F=>F!==A))}function w(A){return x().includes(A)?(o(A),!1):(I(A),!0)}function $(A){return y.value.includes(A)}function M(){try{const A=localStorage.getItem(fs);if(A)return JSON.parse(A)}catch(A){console.error("Failed to load recent workspaces:",A)}return[]}function L(A){try{localStorage.setItem(fs,JSON.stringify(A)),E.value=A}catch(F){console.error("Failed to save recent workspaces:",F)}}function O(A){const F=M(),H=F.find(ne=>ne.path===A);H?(H.lastUsed=Date.now(),H.useCount++):F.push({path:A,lastUsed:Date.now(),useCount:1}),F.sort((ne,ce)=>ce.lastUsed-ne.lastUsed),L(F.slice(0,Vi))}function _(){return[...E.value].sort((A,F)=>F.lastUsed-A.lastUsed)}function g(){if(y.value.length===0)return null;const A=_();for(const F of A)if(y.value.includes(F.path))return F.path;return y.value[0]}function l(){y.value=x(),E.value=M()}return{defaultWorkspaces:y,recentWorkspaces:E,loadDefaultWorkspaces:x,saveDefaultWorkspaces:P,addDefaultWorkspace:I,removeDefaultWorkspace:o,toggleDefaultWorkspace:w,isDefaultWorkspace:$,loadRecentWorkspaces:M,saveRecentWorkspaces:L,recordWorkspaceUsage:O,getSortedRecentWorkspaces:_,getMostRecentDefaultWorkspace:g,init:l,defaultWorkspaceCount:h(()=>y.value.length),hasDefaultWorkspace:h(()=>y.value.length>0),autoSelectedWorkspace:h(()=>g())}}var ps,fs,Vi,Tc=fe((()=>{Qt(),ps="hermes:default_workspaces",fs="hermes:recent_workspaces",Vi=10})),bo,Co,Mo,xo,Po,Ao,Eo,Do,$o,Ro,To,Io,Lo,No,Bo,Fo,Oo,Uo,Wo,Vo,zo,Go,Ko,qo,Ho,jo,Jo,Xo,Yo,Qo,Zo,el,tl,al,sl,nl,ol,ll,il,rl,ul,cl,dl,vl,pl,fl,ml,hl,gl,_l,wl,yl,kl,Sl,bl,Cl,Ml,xl,Pl,Al,El,Dl,$l,Rl,Tl,Il,Ll,Nl,Bl,Fl,Ol,Ul,Wl,Vl,zl,Gl,Kl,ql,Hl,jl,Jl,Xl,Yl,Ql,Zl,ei,ti,ai,si,ni,oi,li,ii,ri,ds,vs,Aa,zi,ui=fe((()=>{Qt(),su(),gu(),_i(),hi(),mu(),du(),Su(),xu(),Kr(),Qr(),$a(),vu(),Pu(),Iu(),kc(),xc(),Tu(),tc(),ac(),wu(),Ac(),$c(),rc(),uc(),ci(),Tc(),pc(),ic(),pi(),pu(),Gr(),bo={key:0,class:"page-sidebar-top"},Co={class:"session-list-toolbar"},Mo={class:"session-list-actions"},xo={key:1,class:"session-items"},Po={key:0,class:"session-loading"},Ao={key:1,class:"session-empty"},Eo={class:"session-group-header session-group-header--static"},Do={class:"session-group-label"},$o={class:"session-group-count"},Ro=["title"],To={class:"session-group-header session-group-header--static"},Io={class:"session-group-label"},Lo={class:"session-group-count"},No=["onClick","onContextmenu"],Bo={class:"session-group-label"},Fo={class:"session-group-count"},Oo={key:2,class:"page-sidebar-bottom"},Uo={key:0,class:"session-model-kind-field"},Wo={class:"session-model-kind-label"},Vo=["aria-busy"],zo=["onClick"],Go={class:"session-model-group-label"},Ko={class:"session-model-group-count"},qo={class:"session-model-group-items"},Ho=["aria-disabled","title","onClick"],jo={class:"session-model-item-label"},Jo={class:"session-model-item-name"},Xo={key:0,class:"session-model-item-id"},Yo={key:0,class:"session-model-badge-preview"},Qo={key:1,class:"session-model-badge-disabled"},Zo={key:2,class:"session-model-badge-custom"},el={key:3,class:"session-model-check",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},tl={key:0,class:"session-model-empty"},al=["aria-busy"],sl={class:"session-model-group-items session-moa-items"},nl=["aria-disabled","onClick"],ol={class:"session-model-item-label"},ll={class:"session-model-item-name"},il={key:0,class:"session-model-check",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},rl={key:0,class:"session-model-empty"},ul={key:3,class:"session-model-custom"},cl={class:"session-model-custom-row"},dl={class:"session-model-custom-hint"},vl={class:"new-chat-form"},pl={class:"new-chat-field"},fl={class:"new-chat-label"},ml={key:0,class:"new-chat-field"},hl={class:"new-chat-label"},gl={class:"new-chat-field"},_l={class:"new-chat-label"},wl={class:"new-chat-field"},yl={class:"new-chat-label"},kl={class:"new-chat-field-hint"},Sl={key:1,class:"new-chat-field"},bl={class:"new-chat-label"},Cl={key:2,class:"new-chat-field"},Ml={class:"new-chat-label"},xl={key:3,class:"new-chat-field"},Pl={class:"new-chat-label"},Al={key:4,class:"new-chat-field"},El={class:"new-chat-label"},Dl={key:5,class:"new-chat-field"},$l={class:"new-chat-label"},Rl={key:6,class:"new-chat-field"},Tl={class:"new-chat-label"},Il={class:"new-chat-field"},Ll={class:"new-chat-label"},Nl={class:"workspace-default-badge"},Bl={key:0,class:"default-workspace-chips"},Fl={class:"default-workspace-label"},Ol={class:"workspace-chips-container"},Ul=["onClick","title"],Wl={key:0,class:"workspace-chip-separator"},Vl={key:0,class:"workspace-chip-dropdown"},zl={key:0,class:"workspace-dropdown-menu"},Gl=["onClick","title"],Kl={key:1,class:"recent-workspaces"},ql={class:"recent-workspaces-label"},Hl={class:"recent-workspaces-chips"},jl=["onClick","title"],Jl=["onClick","title"],Xl={class:"new-chat-actions"},Yl={key:0,class:"chat-header"},Ql={class:"header-left"},Zl={class:"header-session-title"},ei=["title"],ti={class:"header-actions"},ai={class:"chat-tool-panel-inner"},si={class:"chat-tool-tabs",role:"tablist"},ni=["title","aria-label","aria-selected"],oi=["title","aria-label","aria-selected"],li=["title","aria-label","aria-selected"],ii={class:"chat-tool-content"},ri=360,ds=560,vs="hermes.chat.toolPanelWidth",Aa="hermes_chat_collapsed_categories",zi=Da({__name:"ChatPanel",props:{standalone:{type:Boolean,default:!1}},setup(C){const y=C,E=Ca(async()=>(await Ma(async()=>{const{default:e}=await import("./FilesPanel-B9cKB5lX.js");return{default:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]))).default),x=Ca(async()=>(await Ma(async()=>{const{default:e}=await import("./FilePreview-CJrVRPRs.js").then(t=>(t.r(),t.n));return{default:e}},__vite__mapDeps([13,1,2,14,10,3,9,4,5,6,7,15,16]))).default),P=Ca(async()=>(await Ma(async()=>{const{default:e}=await import("./WorkspaceDiffPreview-dHIGp-9F.js");return{default:e}},__vite__mapDeps([17,1,2,14,10,18,3,19,4,5,6,7,20]))).default),I=Ca(async()=>(await Ma(async()=>{const{default:e}=await import("./DesktopBrowserPanel-BlBfS64w.js");return{default:e}},__vite__mapDeps([21,1,2,22]))).default),o=wi(),w=mi(),$=fu(),M=cu(),L=Cu(),O=Mu(),_=Xr(),g=jr(),{t:l}=Ra(),A=h(()=>Wr()),F=v(!1),H=v(!1),ne=v(null),ce=v(null),q=v(null),j=v(null);let u=null;const S=v(0),B=v(!1),U=v(!1),_e=v(!1),oe=v("files"),Ne=Vr(),We=is()?.isDesktop===!0&&typeof is()?.openChatWindow=="function",de=v(null),Ve=h(()=>{const e=de.value;return e?o.getSubagentStream(e.sessionId,e.subagentId):null}),Je=h(()=>o.activeSession?.workspace&&!o.activeSession.isLocalOnly?o.activeSession.id:null),Zt=h(()=>o.activeSession?.id&&!o.activeSession.isLocalOnly?o.activeSession.id:null),xt=h(()=>o.activeSession?.workspace&&!o.activeSession.isLocalOnly?o.activeSession.workspace:null),Pe=v(Xe()),Ae=v(null),be=v("chat"),G=v(!1),J=v(new Set),Ce=v(!1),ve=v(!1),z=v(!y.standalone&&(typeof window>"u"||!window.matchMedia("(max-width: 768px)").matches)),ut=h(()=>!y.standalone&&be.value==="chat"&&z.value);let W=null;const Me=v(typeof window<"u"&&window.matchMedia("(max-width: 768px)").matches),ye=h(()=>({width:Me.value?"100%":`min(${Pe.value}px, 100%)`}));function ze(){o.activeSessionId&&(H.value=!0)}function ct(){H.value=!1}function Ee(e){return _.resolve({name:o.runtimeMode==="global_agent"?"hermes.globalAgentSession":"hermes.session",params:{sessionId:e}}).href}function Ge(e){if(typeof window>"u")return;const t=is();if(t?.isDesktop&&t.openChatWindow){t.openChatWindow(e,As(e)||void 0);return}window.open(Ee(e),"_blank","noopener,noreferrer")}function dt(e){ne.value?.scrollToAnchor(e.messageId,e.anchorId),Me.value&&(F.value=!1)}function Xe(){if(typeof window>"u")return ds;const e=Number.parseInt(window.localStorage.getItem(vs)||"",10);return Number.isFinite(e)?Math.round(e):ds}function Pt(){if(typeof window>"u")return 1180;if(Me.value)return window.innerWidth;const e=q.value?.clientWidth||window.innerWidth;return Math.max(320,Math.min(Math.floor(e*.88),e-120))}function vt(e){const t=Pt();return Math.min(t,Math.max(Math.min(ri,t),Math.round(e)))}function Ke(){Me.value||(Pe.value=vt(Pe.value))}function pt(e){const t=Ae.value;if(!t)return;const a=(e.clientX-t.x)*t.deltaSign;Pe.value=vt(t.width+a)}function ft(){Ae.value&&(Ae.value=null,window.removeEventListener("pointermove",pt),window.removeEventListener("pointerup",ft),Me.value||window.localStorage.setItem(vs,String(Pe.value)),document.body.style.userSelect="",document.body.style.cursor="")}function ea(e){Me.value||(e.preventDefault(),Ae.value={x:e.clientX,width:Pe.value,deltaSign:document.documentElement.dir==="rtl"?1:-1},window.addEventListener("pointermove",pt),window.addEventListener("pointerup",ft),document.body.style.userSelect="none",document.body.style.cursor="col-resize")}function qe(){return L.workspaceDiff&&M.hasUnsavedChanges?(g.warning(l("files.unsavedChanges")),!1):(L.workspaceDiff&&M.editingFile&&M.closeEditor(),M.closePreview(),L.closeWorkspaceDiff(),de.value=null,U.value=!1,!0)}function La(){if(U.value){qe();return}U.value=!0}function Na(){_e.value=!1}function Ba(){_e.value=!0}function ta(){_e.value=!1}function Fa(){_e.value=!0}function He(e){return Array.from(e.dataTransfer?.types||[]).includes("Files")}function Te(){S.value=0,B.value=!1}function aa(e){He(e)&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="copy"))}function sa(e){He(e)&&(e.preventDefault(),S.value+=1,B.value=!0)}function na(e){He(e)&&(S.value-=1,S.value<=0&&Te())}function Oa(e){if(!He(e))return;e.preventDefault();const t=Array.from(e.dataTransfer?.files||[]),a=e.target instanceof Element?e.target:null;Te(),!(!t.length||a?.closest(".chat-input-area"))&&ce.value?.addFiles?.(t)}function Be(e){ce.value?.addFiles?.([e])}function At(e){ce.value?.addBrowserAttachment?.(e.file,e.context)}async function Ye(e){o.clearSessionCompletedUnread(e),await _.push({name:o.runtimeMode==="global_agent"?"hermes.globalAgentSession":"hermes.session",params:{sessionId:e}}),o.activeSessionId!==e&&await o.switchSession(e),W?.matches&&(z.value=!1)}function Et(e){Me.value=e.matches,e.matches&&z.value&&(z.value=!1)}function Dt(){z.value=!0}se(ut,e=>w.setPageSidebarExpanded(e),{immediate:!0});function Ua(e){const t=xt.value?.replace(/\\/g,"/").replace(/\/+$/,"");let a=e;try{a=decodeURIComponent(e)}catch{}const r=a.replace(/\\/g,"/").replace(/\/+$/,"");if(!r||!(r.startsWith("/")||/^[a-zA-Z]:\//.test(r)))return null;if(!t)return r;const N=/^[a-zA-Z]:\//.test(t),ge=N?t.toLowerCase():t;return(N?r.toLowerCase():r).startsWith(`${ge}/`)?r.slice(t.length+1):r}function $t(e){const t=e,a=Zt.value,r=Ua(typeof t.detail?.path=="string"?t.detail.path:"");if(!a||!r)return;t.preventDefault();const N=t.detail?.fileName||r.split("/").pop()||r;M.closePreview(),L.closeWorkspaceDiff(),de.value=null,M.openSessionWorkspacePreview(a,r,N).catch(ge=>{g.error(ge instanceof Error?ge.message:l("files.previewFailed"))})}function le(e){const t=e.detail;if(!(!t?.sessionId||!t.subagentId||t.sessionId!==o.activeSessionId)){if(L.workspaceDiff&&M.hasUnsavedChanges){g.warning(l("files.unsavedChanges"));return}L.workspaceDiff&&M.editingFile&&M.closeEditor(),M.closePreview(),L.closeWorkspaceDiff(),de.value=t,U.value=!0}}function Rt(){if(Ne){if(L.workspaceDiff&&M.hasUnsavedChanges){g.warning(l("files.unsavedChanges"));return}L.workspaceDiff&&M.editingFile&&M.closeEditor(),M.closePreview(),L.closeWorkspaceDiff(),de.value=null,oe.value="browser",U.value=!0}}Ea(()=>{W=window.matchMedia("(max-width: 768px)"),Et(W),W.addEventListener("change",Et),window.addEventListener("hermes:open-page-sidebar",Dt),window.addEventListener("hermes:preview-workspace-file",$t),window.addEventListener(an,Rt),window.addEventListener(dn,le),window.addEventListener("resize",Ke),Ke(),$.profiles.length===0&&$.fetchProfiles(),y.standalone||ca()}),se(()=>o.activeSessionId,async(e,t)=>{if(!e||!t||e===t)return;(M.previewFile||L.workspaceDiff||de.value)&&qe(),await as();const a=j.value;!a||typeof a.animate!="function"||(u?.cancel(),u=a.animate([{opacity:0},{opacity:1}],{duration:1500,easing:"ease"}))},{flush:"post"}),vi(()=>{W?.removeEventListener("change",Et),window.removeEventListener("hermes:open-page-sidebar",Dt),window.removeEventListener("hermes:preview-workspace-file",$t),window.removeEventListener(an,Rt),window.removeEventListener(dn,le),window.removeEventListener("resize",Ke),ft(),u?.cancel(),M.previewFile?.workspaceSessionId&&M.closePreview(),L.closeWorkspaceDiff(),u=null}),se(U,async e=>{!e||Me.value||(await as(),Ke())}),se(()=>L.workspaceDiff,e=>{e&&(de.value=null,U.value=!0)}),se(()=>M.previewFile,e=>{e&&(de.value=null,U.value=!0)});const Qe=v(!1),Z=v(""),De=v(null),oa=v(null),Tt=h(()=>o.sessionProfileFilter),X=v([]),Ze=v(!1),It=v(!1);let Fe=null;const je=v(!1),mt=v(O.recentCount);function la(){try{const e=JSON.parse(localStorage.getItem(Aa)||"[]");return new Set(Array.isArray(e)?e.map(String):[])}catch{return new Set}}const me=v(la());function ht(){localStorage.setItem(Aa,JSON.stringify([...me.value]))}function Wa(e){const t=new Set(me.value);t.has(e)?t.delete(e):t.add(e),me.value=t,ht()}const et=h(()=>[{label:l("chat.allProfiles"),value:"__all__"},...$.profiles.map(e=>({label:e.name,value:e.name}))]);async function Va(e){o.setSessionProfileFilter(e==="__all__"?null:e),await o.loadSessions(o.sessionProfileFilter)}function gt(e){return[...e].sort((t,a)=>{const r=o.isSessionLive(t.id);return r!==o.isSessionLive(a.id)?r?-1:1:(a.updatedAt||0)-(t.updatedAt||0)})}const ia=h(()=>Dc(o.sessions,O.recentCount,l("chat.recent"))),_t=h(()=>ia.value.group),ra=h(()=>ia.value.remaining),Lt=h(()=>gt(ra.value.filter(e=>O.isPinned(e.id)))),za=h(()=>gt(ra.value.filter(e=>!O.isPinned(e.id)))),Oe=h(()=>Ec(X.value,za.value,l("chat.uncategorized")));function ua(e){e.stopPropagation(),mt.value=O.recentCount,je.value=!0}function Nt(){O.setRecentCount(mt.value),je.value=!1}se(()=>[It.value,Oe.value.map(e=>e.key).join("\0"),o.activeSessionId],()=>{if(!It.value||Oe.value.length===0)return;const e=o.sessions.find(r=>r.id===o.activeSessionId),t=e?.categoryId==null?"category-none":`category-${e.categoryId}`;if(me.value.has(t)&&(me.value=new Set([...me.value].filter(r=>r!==t)),ht()),localStorage.getItem(Aa)!==null)return;const a=Oe.value.some(r=>r.key===t)?t:Oe.value[0]?.key;me.value=new Set(Oe.value.map(r=>r.key).filter(r=>r!==a)),ht()},{immediate:!0});async function ca(){return Fe||(Ze.value=!0,Fe=(async()=>{try{X.value=await nu()}catch{g.error(l("chat.categoryLoadFailed"))}finally{It.value=!0,Ze.value=!1,Fe=null}})(),Fe)}se(()=>[o.sessionsLoaded,...o.sessions.map(e=>e.id)],e=>{const t=e.slice(1);!e[0]||t.length===0||O.pruneMissingSessions(t)},{immediate:!0});const da=h(()=>o.activeSession?.title||l("chat.newChat")),Ga=h(()=>{const e=o.activeSession;return e?.model?e.provider==="moa"?`MoA · ${e.model}`:w.displayModelName(e.model,e.provider):l("models.selectModel")}),i=h(()=>be.value==="live"?l("chat.liveSessions"):da.value),d=v(!1),f=v("hermes"),D=v("scoped"),T=v("default"),V=v(""),ee=v(""),ie=v("model"),ke=v(""),we=v(""),Bt=v("codex_responses"),he=v(""),tt=v(null),Ft=v(!1),Ie=v(!1),Gi=h(()=>[{label:l("chat.uncategorized"),value:0},...X.value.map(e=>({label:e.name,value:e.id}))]);async function Ki(e){if(e===null||e===0){tt.value=null;return}if(typeof e=="number"){tt.value=e;return}const t=e.trim().replace(/\s+/g," ");if(!t)return;const a=X.value.find(r=>r.name.toLocaleLowerCase()===t.toLocaleLowerCase());if(a){tt.value=a.id;return}Ft.value=!0;try{const r=await ou(t);X.value.some(N=>N.id===r.id)||(X.value=[...X.value,r].sort((N,ge)=>N.name.localeCompare(ge.name))),tt.value=r.id,g.success(l("chat.categoryCreated",{name:r.name}))}catch(r){g.error(r?.message||l("chat.categoryCreateFailed"))}finally{Ft.value=!1}}const Y=v([]),Ot=v([]);let xe=null;function ms(e){xe=Rc(e),Y.value=xe.loadDefaultWorkspaces(),Ot.value=xe.loadRecentWorkspaces()}function qi(){if(!xe)return;const e=he.value;e&&(Y.value.includes(e)?(xe.removeDefaultWorkspace(e),Y.value=Y.value.filter(t=>t!==e)):(xe.addDefaultWorkspace(e),Y.value=[...Y.value,e]))}function Hi(e){he.value=e}function hs(e){he.value=e,va.value=!1}function gs(e){xe&&(Y.value.includes(e)?(xe.removeDefaultWorkspace(e),Y.value=Y.value.filter(t=>t!==e)):(xe.addDefaultWorkspace(e),Y.value=[...Y.value,e]))}const Ka=h(()=>!!(he.value&&Y.value.includes(he.value))),va=v(!1);function qa(e){if(!e)return"";const t=e.split("/");return t[t.length-1]||e}const _s=h(()=>{if(Y.value.length===0)return null;const e=[...Ot.value].sort((t,a)=>a.lastUsed-t.lastUsed);for(const t of e)if(Y.value.includes(t.path))return t.path;return Y.value[0]}),pa=h(()=>{if(Y.value.length===0)return[];const e=Math.min(2,Y.value.length);return Y.value.slice(0,e)}),ws=h(()=>Y.value.length>pa.value.length),ji=h(()=>{const e=new Set(pa.value);return Y.value.filter(t=>!e.has(t))}),Ji=h(()=>[{label:"Hermes",value:"hermes"},{label:"Claude Code",value:"claude-code"},{label:"Codex",value:"codex"},{label:"Ekko Agent",value:"ekko-agent"}]),ys=h(()=>[{label:l("codingAgents.protocolOpenAiChat"),value:"chat_completions"},{label:l("codingAgents.protocolOpenAiResponses"),value:"codex_responses"},{label:l("codingAgents.protocolAnthropicMessages"),value:"anthropic_messages"}]),Xi=h(()=>[{label:l("codingAgents.launchModeGlobal"),value:"global"},{label:l("codingAgents.launchModeScoped"),value:"scoped"}]);function ks(e){return w.profileModelGroups.find(t=>t.profile===e)?.groups||[]}function Yi(e){if(e.provider==="moa")return f.value==="hermes";const t=f.value==="ekko-agent"?"scoped":D.value;return f.value!=="hermes"&&t==="scoped"?vn(f.value,e.provider):!0}function fa(e){return ks(e).filter(Yi)}function Qi(e){const t=fa(e),a=$.activeProfileName||"default",r=w.selectedProvider||"",N=w.selectedModel||"",ge=r?t.find(it=>it.provider===r):void 0;if(e===a&&ge?.models.includes(N))return{provider:r,model:N};const Le=w.profileModelGroups.find(it=>it.profile===e),Re=Le?.default_provider||"",bt=Le?.default||"",ts=(Re?t.find(it=>it.provider===Re):void 0)||t.find(it=>it.models.length>0);return{provider:ts?.provider||"",model:ts?.models.includes(bt)?bt:ts?.models[0]||""}}const Zi=h(()=>($.profiles.length>0?$.profiles:[{name:"default"}]).map(e=>({label:e.name,value:e.name}))),Ha=h(()=>{const e=fa(T.value);return ie.value==="moa"?e.filter(t=>t.provider==="moa"):e.filter(t=>t.provider!=="moa")}),Ss=h(()=>fa(T.value).find(e=>e.provider==="moa")),er=h(()=>f.value==="hermes"&&!!Ss.value?.models.length),tr=h(()=>Ha.value.map(e=>({label:e.label||e.provider,value:e.provider}))),bs=h(()=>{const e=Ha.value.find(t=>t.provider===V.value);return(e?.models||[]).map(t=>({label:w.displayModelName(t,e?.provider),value:t}))}),wt=h(()=>Ha.value.find(e=>e.provider===V.value)),at=h(()=>f.value!=="hermes"),Cs=h(()=>f.value==="claude-code"||f.value==="codex"),yt=h(()=>f.value==="ekko-agent"?"scoped":D.value),ar=h(()=>at.value&&yt.value==="global"),Ut=h(()=>!ar.value),Ms=h(()=>at.value&&yt.value==="scoped"&&!wt.value?.base_url),sr=h(()=>vc(f.value,wt.value?.provider)),xs=h(()=>at.value&&yt.value==="scoped"&&!sr.value&&!wt.value?.api_key),nr=h(()=>Ft.value||!T.value?!1:Ut.value?!V.value||!ee.value?!1:at.value?!(at.value&&yt.value==="scoped"&&!Bt.value||Ms.value&&!ke.value.trim()||xs.value&&!we.value.trim()):!0:!0);function or(e){const t=String(e?.provider||V.value||"").toLowerCase(),a=String(e?.base_url||ke.value||"").toLowerCase();return rs(e?.api_mode,sn(t,a))}function ma(){Bt.value=or(wt.value)}function ja(){const e=Qi(T.value);ie.value=e.provider==="moa"&&f.value==="hermes"?"moa":"model",V.value=e.provider,ee.value=e.model,ke.value="",we.value="",ma()}function lr(e){if(e==="moa"){const t=Ss.value;if(!t?.models.length)return;ie.value="moa",V.value="moa",ee.value=t.models[0]}else{ie.value="model";const t=fa(T.value).filter(N=>N.provider!=="moa"),a=w.profileModelGroups.find(N=>N.profile===T.value),r=t.find(N=>N.provider===a?.default_provider)||t.find(N=>N.models.length>0);V.value=r?.provider||"",ee.value=r?.models.includes(a?.default||"")?a?.default||"":r?.models[0]||""}ke.value="",we.value="",ma()}function ir(){if(!Ut.value)return;const e=wt.value;if(e&&e.models.includes(ee.value)){ma();return}ja()}se(()=>[f.value,D.value,T.value],()=>{ir(),T.value&&ms(T.value)});async function Ps(){G.value=!1,J.value.clear(),Ce.value=!1,d.value=!0,Ie.value=!0,tt.value=null;try{await ca(),$.profiles.length===0&&await $.fetchProfiles(),w.modelGroups.length===0&&w.profileModelGroups.length===0&&await w.loadModels(),T.value=$.activeProfileName||$.profiles.find(e=>e.active)?.name||$.profiles[0]?.name||"default",ms(T.value),_s.value?he.value=_s.value:he.value="",ja()}finally{Ie.value=!1}}function rr(e){T.value=e,ja()}function ur(e){V.value=e,ee.value=bs.value[0]?.value||"",ke.value="",we.value="",ma()}async function cr(){if(Cs.value){Ie.value=!0;try{const Le=f.value,Re=(await _u()).tools.find(bt=>bt.id===Le);if(!Re?.installed){const bt=Le==="codex"?"Codex":"Claude Code";g.warning(l("codingAgents.installRequired",{agent:Re?.name||bt})),d.value=!1,await _.push({name:"hermes.codingAgents"});return}}catch{g.error(l("codingAgents.loadFailed"));return}finally{Ie.value=!1}}const e=wt.value,t=f.value==="hermes"?"cli":"coding_agent",a=yt.value,r=t==="coding_agent"&&a==="global",N=f.value==="codex"?"codex":f.value==="claude-code"?"claude":f.value==="ekko-agent"?"ekko-agent":"hermes",ge=o.newChat({profile:T.value,provider:r?void 0:V.value,model:r?void 0:ee.value,source:t,agent:N,codingAgentId:f.value==="hermes"?void 0:f.value,codingAgentMode:t==="coding_agent"?a:void 0,workspace:he.value||null,categoryId:tt.value,baseUrl:t==="coding_agent"&&!r&&(e?.base_url||ke.value.trim())||void 0,apiKey:t==="coding_agent"&&!r&&(e?.api_key||we.value.trim())||void 0,apiMode:at.value&&!r?Bt.value:void 0});he.value&&xe&&(xe.recordWorkspaceUsage(he.value),Ot.value=xe.loadRecentWorkspaces()),await _.push({name:o.runtimeMode==="global_agent"?"hermes.globalAgentSession":"hermes.session",params:{sessionId:ge.id}}),d.value=!1}function As(e){return o.sessions.find(t=>t.id===e)?.profile||null}function dr(e,t){const a=_.resolve({name:o.runtimeMode==="global_agent"?"hermes.globalAgentSession":"hermes.session",params:{sessionId:e},query:t?{profile:t}:void 0}).href;return`${window.location.origin}${window.location.pathname}${a}`}async function vr(e){const t=e||o.activeSessionId;t&&(await tn(dr(t,As(t)))?g.success(l("common.copied")):g.error(l("common.copied")+" ✗"))}async function Es(e){const t=e||o.activeSessionId;t&&(await tn(t)?g.success(l("common.copied")):g.error(l("common.copied")+" ✗"))}async function Ja(e){if(!await o.deleteSession(e)){g.error(l("common.deleteFailed"));return}O.removePinned(e),g.success(l("chat.sessionDeleted"))}function Ds(){ve.value||(G.value=!G.value,G.value||(J.value.clear(),Ce.value=!1))}function Wt(e){return`${e.profile||"default"}\0${e.id}`}function Xa(e){if(ve.value)return;const t=Wt(e);J.value.has(t)?J.value.delete(t):J.value.add(t),J.value=new Set(J.value),J.value.size===0&&(Ce.value=!1)}function Ya(e){return J.value.has(Wt(e))}async function pr(){if(J.value.size===0||ve.value)return;const e=new Map(o.sessions.map(a=>[Wt(a),a])),t=Array.from(J.value).map(a=>e.get(a)).filter(a=>!!a).map(a=>({id:a.id,profile:a.profile||null}));if(t.length!==0){ve.value=!0;try{const a=await ru(t);if(a.deleted>0){for(const r of t)O.removePinned(r.id);await o.loadSessions(o.sessionProfileFilter),g.success(l("chat.batchDeleteSuccess",{count:a.deleted})),a.failed>0&&g.warning(l("chat.batchDeletePartial",{failed:a.failed}))}else g.error(l("chat.batchDeleteFailed"))}catch{g.error(l("chat.batchDeleteFailed"))}finally{ve.value=!1,Ce.value=!1,G.value=!1,J.value.clear()}}}function fr(){return pr(),!1}function mr(){if(!ve.value){J.value.clear();for(const e of o.sessions)e.id!==o.activeSessionId&&J.value.add(Wt(e));J.value=new Set(J.value)}}const $s=h(()=>J.value.size),hr=h(()=>o.sessions.some(e=>e.id!==o.activeSessionId)),re=v(null),gr=h(()=>re.value?O.isPinned(re.value):!1),Vt=h(()=>re.value&&o.sessions.find(e=>e.id===re.value)||null),zt=v(!1),Rs=v(0),Ts=v(0),Gt=v(null),_r=h(()=>X.value.find(e=>e.id===Gt.value)?.name||""),wr=h(()=>[{label:l("chat.renameCategory"),key:"rename"},{label:l("chat.deleteCategory"),key:"delete"}]),ha=v(!1),ga=v(""),_a=v(!1);function yr(e,t){if(t==="category-none")return;const a=Number(t.slice(9));Number.isSafeInteger(a)&&(e.preventDefault(),e.stopPropagation(),Kt.value=!1,Gt.value=a,Rs.value=e.clientX,Ts.value=e.clientY,zt.value=!0)}function kr(e){zt.value=!1;const t=X.value.find(a=>a.id===Gt.value);t&&(e==="rename"?(ga.value=t.name,ha.value=!0):e==="delete"&&(_a.value=!0))}async function Is(){const e=Gt.value,t=ga.value.trim().replace(/\s+/g," ");if(!e||!t)return!1;try{const a=await eu(e,t);X.value=X.value.map(r=>r.id===a.id?a:r).sort((r,N)=>r.name.localeCompare(N.name)),g.success(l("chat.categoryRenamed")),ha.value=!1}catch(a){return g.error(a?.message||l("chat.categoryRenameFailed")),!1}}async function Sr(){const e=Gt.value;if(!e)return!1;try{await uu(e),X.value=X.value.filter(a=>a.id!==e);for(const a of o.sessions)a.categoryId===e&&(a.categoryId=null);const t=`category-${e}`;me.value.has(t)&&(me.value=new Set([...me.value].filter(a=>a!==t)),ht()),g.success(l("chat.categoryDeleted")),_a.value=!1}catch(t){return g.error(t?.message||l("chat.categoryDeleteFailed")),!1}}const br=h(()=>{const e=[{label:l(gr.value?"chat.unpin":"chat.pin"),key:"pin"},{label:l("chat.rename"),key:"rename"}];return Vt.value?.source!=="global_agent"&&e.push({label:l("chat.archiveSession"),key:"archive"}),e.push({label:l("chat.setWorkspace"),key:"workspace"}),(Vt.value?.source==="cli"||Vt.value?.source==="coding_agent")&&e.push({label:l("chat.setModel"),key:"model"}),e.push({label:l("chat.moveToCategory"),key:"category",children:[{label:l("chat.uncategorized"),key:"category:none"},...X.value.map(t=>({label:t.name,key:`category:${t.id}`}))]}),e.push({label:l("chat.export"),key:"export",children:[{label:l("chat.exportFull"),key:"export-full",children:[{label:"JSON",key:"export-full-json"},{label:"TXT",key:"export-full-txt"}]},{label:l("chat.exportCompressed"),key:"export-compressed",children:[{label:"JSON",key:"export-compressed-json"},{label:"TXT",key:"export-compressed-txt"}]}]}),e.push({label:l(We?"chat.openSessionInNewWindow":"chat.openSessionInNewTab"),key:"open-link"}),e.push({label:l("chat.copySessionLink"),key:"copy-link"}),e.push({label:l("chat.copySessionId"),key:"copy-id"}),e});function Cr(){_.push({name:"hermes.settings"})}function Qa(e,t){e.preventDefault(),zt.value=!1,re.value=t,Kt.value=!0,Ls.value=e.clientX,Ns.value=e.clientY}const Kt=v(!1),Ls=v(0),Ns=v(0);function Bs(e){return e==="export-full-json"?{mode:"full",ext:"json"}:e==="export-full-txt"?{mode:"full",ext:"txt"}:e==="export-compressed-json"?{mode:"compressed",ext:"json"}:e==="export-compressed-txt"?{mode:"compressed",ext:"txt"}:null}async function Mr(e){if(Kt.value=!1,!!re.value){if(e==="pin"){O.togglePinned(re.value);return}if(e.startsWith("category:")){const t=Vt.value;if(!t)return;const a=e.slice(9),r=a==="none"?null:Number(a);if(r!==null&&!Number.isSafeInteger(r))return;try{t.isLocalOnly||await au(t.id,r)}catch(N){g.error(N?.message||l("chat.categoryUpdateFailed"));return}t.categoryId=r,g.success(l("chat.categoryUpdated"));return}if(e==="copy-link")vr(re.value);else if(e==="copy-id")Es(re.value);else if(e==="open-link")Ge(re.value);else if(e==="archive"){const t=Vt.value;await o.archiveSession(re.value)?(O.removePinned(re.value),t&&(J.value.delete(Wt(t)),J.value=new Set(J.value)),g.success(l("chat.sessionArchived"))):g.error(l("chat.archiveSessionFailed"))}else if(Bs(e)){const{mode:t,ext:a}=Bs(e),r=t==="compressed"?g.loading(l("chat.exportCompressing"),{duration:0}):null;try{await iu(re.value,t,a),r?.destroy(),g.success(l("chat.exportSuccess"))}catch{r?.destroy(),g.error(l("chat.exportFailed"))}}else if(e==="workspace"){const t=o.sessions.find(a=>a.id===re.value);kt.value=re.value,st.value=t?.workspace||"",qt.value=!0}else if(e==="model")await js(re.value);else if(e==="rename"){const t=o.sessions.find(a=>a.id===re.value);De.value=re.value,Z.value=t?.title||"",Qe.value=!0,as(()=>{oa.value?.focus()})}}}function xr(){Kt.value=!1}async function Fs(){if(!(!De.value||!Z.value.trim())){if(await lu(De.value,Z.value.trim())){const e=o.sessions.find(t=>t.id===De.value);e&&(e.title=Z.value.trim()),o.activeSession?.id===De.value&&(o.activeSession.title=Z.value.trim()),g.success(l("chat.renamed"))}else g.error(l("chat.renameFailed"));Qe.value=!1}}const qt=v(!1),st=v(""),kt=v(null);function Pr(){const e=o.activeSession;e?.id&&(kt.value=e.id,st.value=e.workspace||"",qt.value=!0)}async function Ar(){if(kt.value){if(await tu(kt.value,st.value||null)){const e=o.sessions.find(t=>t.id===kt.value);e&&(e.workspace=st.value||null),o.activeSession?.id===kt.value&&(o.activeSession.workspace=st.value||null),g.success(l("chat.workspaceSet"))}else g.error(l("chat.workspaceSetFailed"));qt.value=!1}}const wa=v(!1),Ht=v(!1),nt=v(null),ot=v(""),jt=v("model"),ya=v({}),St=v(""),lt=v(""),ka=v(""),Sa=v(""),Jt=v("codex_responses"),ba=v(null),K=v(!1),Os=h(()=>o.sessions.find(e=>e.id===nt.value)?.profile||null),$e=h(()=>o.sessions.find(e=>e.id===nt.value)||(o.activeSession?.id===nt.value?o.activeSession:void 0)),Us=h(()=>$e.value?.source==="coding_agent"&&$e.value?.codingAgentMode!=="global"),Ws=h(()=>$e.value?.codingAgentId||($e.value?.agent==="claude"?"claude-code":$e.value?.agent==="codex"?"codex":$e.value?.agent==="ekko-agent"?"ekko-agent":void 0)),Vs=h(()=>$e.value?.source==="coding_agent"||!!$e.value?.codingAgentId),zs=h(()=>Os.value?ks(Os.value).filter(e=>e.provider==="moa"?!Vs.value:!Us.value||!Ws.value||vn(Ws.value,e.provider)):[]),Xt=h(()=>zs.value.filter(e=>e.provider!=="moa")),Gs=h(()=>zs.value.find(e=>e.provider==="moa")),Za=h(()=>!Vs.value&&!!Gs.value?.models.length),Er=h(()=>Xt.value.map(e=>({label:e.label,value:e.provider}))),Ks=h(()=>Xt.value.map(e=>({...e,models:[...e.models,...(w.customModels[e.provider]||[]).filter(t=>!e.models.includes(t))]}))),qs=h(()=>{const e=ot.value.trim().toLowerCase();return e?Ks.value.map(t=>({...t,models:t.models.filter(a=>{const r=w.displayModelName(a,t.provider);return a.toLowerCase().includes(e)||r.toLowerCase().includes(e)})})).filter(t=>t.models.length>0||t.label.toLowerCase().includes(e)):Ks.value}),Hs=h(()=>{const e=Gs.value?.models||[],t=ot.value.trim().toLowerCase();return t?e.filter(a=>a.toLowerCase().includes(t)):e});async function js(e){w.modelGroups.length===0&&w.profileModelGroups.length===0&&await w.loadModels();const t=o.sessions.find(Re=>Re.id===e)||(o.activeSession?.id===e?o.activeSession:void 0);nt.value=e;const a=Xt.value,r=t?.provider?a.find(Re=>Re.provider===t.provider):void 0,N=r||a.find(Re=>Re.models.length>0),ge={provider:N?.provider||"",model:N?.models.includes(t?.model||"")?t?.model||"":N?.models[0]||""},Le=t?.provider==="moa"&&Za.value;jt.value=Le?"moa":"model",St.value=Le?t?.model||"":r?t?.model||ge.model||"":ge.model||"",lt.value=Le?"moa":r?t?.provider||"":ge.provider||"",Sa.value=Le?ge.provider:lt.value,ot.value="",ka.value="",ya.value={},wa.value=!0}function Dr(e){K.value||e==="moa"&&!Za.value||(jt.value=e,ot.value="")}function $r(){const e=o.activeSession?.id;if(!e){Ps();return}js(e)}function Js(e){return!!ya.value[e]}function Rr(e){K.value||(ya.value[e]=!ya.value[e])}function Tr(e,t){return(w.customModels[t]||[]).includes(e)}function Ir(e,t){return w.displayModelName(e,t)}function Lr(e,t){return w.getModelAlias(e,t)}function Xs(e){const t=Xt.value.find(N=>N.provider===e),a=String(t?.provider||e||"").toLowerCase(),r=String(t?.base_url||"").toLowerCase();return rs(t?.api_mode,sn(a,r))}async function es(e,t,a){if(!(!nt.value||K.value)){K.value=!0;try{await o.switchSessionModel(e,t,nt.value,a)?(St.value=e,lt.value=t,a&&(Jt.value=a),ba.value=null,Ht.value=!1,wa.value=!1,g.success(l("chat.modelSet"))):g.error(l("chat.modelSetFailed"))}finally{K.value=!1}}}async function Ys(e,t){if(!(Xt.value.find(a=>a.provider===t)?.model_meta?.[e]?.disabled||!nt.value||K.value)){if(Us.value){ba.value={model:e,provider:t},Jt.value=$e.value?.provider===t&&$e.value.apiMode?rs($e.value.apiMode,Xs(t)):Xs(t),Ht.value=!0;return}await es(e,t)}}async function Nr(e){!e||K.value||await es(e,"moa")}async function Br(){const e=ba.value;e&&await es(e.model,e.provider,Jt.value)}function Fr(){K.value||(ba.value=null,Ht.value=!1)}async function Or(){const e=ka.value.trim(),t=Sa.value;!e||!t||K.value||await Ys(e,t)}return(e,t)=>(c(),p("div",{class:ae(["chat-panel",{"chat-panel--standalone":C.standalone}])},[be.value==="chat"&&!C.standalone?(c(),p("div",{key:0,class:ae(["session-backdrop",{active:z.value}]),onClick:t[0]||(t[0]=a=>z.value=!1)},null,2)):k("",!0),be.value==="chat"&&!C.standalone?(c(),p("aside",{key:1,class:ae(["session-list",{collapsed:!z.value}])},[z.value?(c(),p("div",bo,[b(cc,{active:s(o).runtimeMode==="global_agent"?"global":"chat","primary-label":s(l)("chat.newChat"),onPrimary:Ps},null,8,["active","primary-label"]),n("div",Co,[b(s(Ue),{class:"session-profile-filter",value:Tt.value||"__all__",options:et.value,size:"small",loading:s($).loading,"onUpdate:value":Va},null,8,["value","options","loading"]),n("div",Mo,[n("button",{class:"session-close-btn",onClick:t[1]||(t[1]=a=>z.value=!1)},[...t[35]||(t[35]=[n("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[n("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),n("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])]),G.value?k("",!0):(c(),te(s(Se),{key:0,quaternary:"",size:"tiny",onClick:Ds,title:s(l)("chat.toggleBatchMode")},{icon:R(()=>[...t[36]||(t[36]=[n("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[n("path",{d:"M9 11l3 3L22 4"}),n("path",{d:"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"})],-1)])]),_:1},8,["title"])),G.value?(c(),te(s(Se),{key:1,quaternary:"",size:"tiny",onClick:mr,disabled:!hr.value||ve.value,title:s(l)("chat.selectAll")},{icon:R(()=>[...t[37]||(t[37]=[n("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[n("path",{d:"M9 11l3 3L22 4"}),n("path",{d:"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"})],-1)])]),_:1},8,["disabled","title"])):k("",!0),G.value&&$s.value>0?(c(),te(s(Ur),{key:2,show:Ce.value,"onUpdate:show":t[2]||(t[2]=a=>Ce.value=a),"positive-button-props":{loading:ve.value,disabled:ve.value},"negative-button-props":{disabled:ve.value},onPositiveClick:fr},{trigger:R(()=>[b(s(Se),{quaternary:"",size:"tiny",type:"error",loading:ve.value,disabled:ve.value},{icon:R(()=>[...t[38]||(t[38]=[n("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[n("polyline",{points:"3 6 5 6 21 6"}),n("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})],-1)])]),_:1},8,["loading","disabled"])]),default:R(()=>[ue(" "+m(s(l)("chat.confirmBatchDelete",{count:$s.value})),1)]),_:1},8,["show","positive-button-props","negative-button-props"])):k("",!0),G.value?(c(),te(s(Se),{key:3,quaternary:"",size:"tiny",onClick:Ds,disabled:ve.value},{icon:R(()=>[...t[39]||(t[39]=[n("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[n("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),n("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])]),_:1},8,["disabled"])):k("",!0)])])])):k("",!0),z.value?(c(),p("div",xo,[s(o).isLoadingSessions&&s(o).sessions.length===0?(c(),p("div",Po,m(s(l)("common.loading")),1)):s(o).sessions.length===0?(c(),p("div",Ao,m(s(l)("chat.noSessions")),1)):k("",!0),_t.value.sessions.length>0?(c(),p(Q,{key:2},[n("div",Eo,[n("span",Do,m(_t.value.label),1),n("span",$o,m(_t.value.sessions.length),1),n("button",{class:"session-group-config",type:"button",title:s(l)("chat.recentCount"),onClick:ua},"⚙",8,Ro)]),(c(!0),p(Q,null,pe(_t.value.sessions,a=>(c(),te(cs,{key:`recent-${a.id}`,session:a,active:a.id===s(o).activeSessionId,pinned:s(O).isPinned(a.id),"can-delete":a.id!==s(o).activeSessionId||s(o).sessions.length>1,streaming:s(o).isSessionLive(a.id),"completed-unread":s(o).isSessionCompletedUnread(a.id),selectable:G.value,selected:Ya(a),"show-profile":!0,to:Ee(a.id),"intercept-modified-navigation":s(We),onSelect:r=>Ye(a.id),onOpenNew:r=>Ge(a.id),onContextmenu:r=>Qa(r,a.id),onDelete:r=>Ja(a.id),onToggleSelect:r=>Xa(a)},null,8,["session","active","pinned","can-delete","streaming","completed-unread","selectable","selected","to","intercept-modified-navigation","onSelect","onOpenNew","onContextmenu","onDelete","onToggleSelect"]))),128))],64)):k("",!0),Lt.value.length>0?(c(),p(Q,{key:3},[n("div",To,[n("span",Io,m(s(l)("chat.pinned")),1),n("span",Lo,m(Lt.value.length),1)]),(c(!0),p(Q,null,pe(Lt.value,a=>(c(),te(cs,{key:`pinned-${a.id}`,session:a,active:a.id===s(o).activeSessionId,pinned:!0,"can-delete":a.id!==s(o).activeSessionId||s(o).sessions.length>1,streaming:s(o).isSessionLive(a.id),"completed-unread":s(o).isSessionCompletedUnread(a.id),selectable:G.value,selected:Ya(a),"show-profile":!0,to:Ee(a.id),"intercept-modified-navigation":s(We),onSelect:r=>Ye(a.id),onOpenNew:r=>Ge(a.id),onContextmenu:r=>Qa(r,a.id),onDelete:r=>Ja(a.id),onToggleSelect:r=>Xa(a)},null,8,["session","active","can-delete","streaming","completed-unread","selectable","selected","to","intercept-modified-navigation","onSelect","onOpenNew","onContextmenu","onDelete","onToggleSelect"]))),128))],64)):k("",!0),(c(!0),p(Q,null,pe(Oe.value,a=>(c(),p(Q,{key:a.key},[n("div",{class:"session-group-header",onClick:r=>Wa(a.key),onContextmenu:r=>yr(r,a.key)},[(c(),p("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",class:ae(["group-chevron",{collapsed:me.value.has(a.key)}])},[...t[40]||(t[40]=[n("polyline",{points:"9 18 15 12 9 6"},null,-1)])],2)),n("span",Bo,m(a.label),1),n("span",Fo,m(a.sessions.length),1)],40,No),me.value.has(a.key)?k("",!0):(c(!0),p(Q,{key:0},pe(a.sessions,r=>(c(),te(cs,{key:r.id,session:r,active:r.id===s(o).activeSessionId,pinned:!1,"can-delete":r.id!==s(o).activeSessionId||s(o).sessions.length>1,streaming:s(o).isSessionLive(r.id),"completed-unread":s(o).isSessionCompletedUnread(r.id),selectable:G.value,selected:Ya(r),"show-profile":!0,to:Ee(r.id),"intercept-modified-navigation":s(We),onSelect:N=>Ye(r.id),onOpenNew:N=>Ge(r.id),onContextmenu:N=>Qa(N,r.id),onDelete:N=>Ja(r.id),onToggleSelect:N=>Xa(r)},null,8,["session","active","can-delete","streaming","completed-unread","selectable","selected","to","intercept-modified-navigation","onSelect","onOpenNew","onContextmenu","onDelete","onToggleSelect"]))),128))],64))),128))])):k("",!0),z.value?(c(),p("div",Oo,[n("button",{class:"page-sidebar-menu-btn",type:"button",onClick:Cr},[t[41]||(t[41]=n("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[n("circle",{cx:"12",cy:"12",r:"3"}),n("path",{d:"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"})],-1)),n("span",null,m(s(l)("sidebar.settings")),1)]),b(dc)])):k("",!0)],2)):k("",!0),b(s(Qs),{placement:"bottom-start",trigger:"manual",x:Ls.value,y:Ns.value,options:br.value,show:Kt.value,onSelect:Mr,onClickoutside:xr},null,8,["x","y","options","show"]),b(s(rt),{show:je.value,"onUpdate:show":t[4]||(t[4]=a=>je.value=a),preset:"dialog",title:s(l)("chat.recentCount"),"positive-text":s(l)("common.ok"),"negative-text":s(l)("common.cancel"),onPositiveClick:Nt},{default:R(()=>[b(s(Zr),{value:mt.value,"onUpdate:value":t[3]||(t[3]=a=>mt.value=a),min:1,max:100},null,8,["value"])]),_:1},8,["show","title","positive-text","negative-text"]),b(s(Qs),{placement:"bottom-start",trigger:"manual",x:Rs.value,y:Ts.value,options:wr.value,show:zt.value,onSelect:kr,onClickoutside:t[5]||(t[5]=a=>zt.value=!1)},null,8,["x","y","options","show"]),b(s(rt),{show:ha.value,"onUpdate:show":t[7]||(t[7]=a=>ha.value=a),preset:"dialog",title:s(l)("chat.renameCategory"),"positive-text":s(l)("common.ok"),"negative-text":s(l)("common.cancel"),onPositiveClick:Is},{default:R(()=>[b(s(Ct),{value:ga.value,"onUpdate:value":t[6]||(t[6]=a=>ga.value=a),placeholder:s(l)("chat.enterCategoryName"),maxlength:40,onKeydown:ls(Is,["enter"])},null,8,["value","placeholder"])]),_:1},8,["show","title","positive-text","negative-text"]),b(s(rt),{show:_a.value,"onUpdate:show":t[8]||(t[8]=a=>_a.value=a),preset:"dialog",type:"warning",title:s(l)("chat.deleteCategory"),"positive-text":s(l)("common.delete"),"negative-text":s(l)("common.cancel"),onPositiveClick:Sr},{default:R(()=>[ue(m(s(l)("chat.confirmDeleteCategory",{name:_r.value})),1)]),_:1},8,["show","title","positive-text","negative-text"]),b(s(rt),{show:Qe.value,"onUpdate:show":t[10]||(t[10]=a=>Qe.value=a),preset:"dialog",title:s(l)("chat.renameSession"),"positive-text":s(l)("common.ok"),"negative-text":s(l)("common.cancel"),onPositiveClick:Fs},{default:R(()=>[b(s(Ct),{ref_key:"renameInputRef",ref:oa,value:Z.value,"onUpdate:value":t[9]||(t[9]=a=>Z.value=a),placeholder:s(l)("chat.enterNewTitle"),onKeydown:ls(Fs,["enter"])},null,8,["value","placeholder"])]),_:1},8,["show","title","positive-text","negative-text"]),b(s(rt),{show:qt.value,"onUpdate:show":t[12]||(t[12]=a=>qt.value=a),preset:"dialog",title:s(l)("chat.setWorkspaceTitle"),"positive-text":s(l)("common.ok"),"negative-text":s(l)("common.cancel"),style:{width:"520px"},onPositiveClick:Ar},{default:R(()=>[b(nn,{modelValue:st.value,"onUpdate:modelValue":t[11]||(t[11]=a=>st.value=a)},null,8,["modelValue"])]),_:1},8,["show","title","positive-text","negative-text"]),b(s(rt),{show:wa.value,"onUpdate:show":t[16]||(t[16]=a=>wa.value=a),preset:"card",title:s(l)("chat.setModelTitle"),style:{width:"min(480px, calc(100vw - 32px))"},"mask-closable":!K.value,"close-on-esc":!K.value,closable:!K.value},{default:R(()=>[b(s(zr),{show:K.value,class:"session-model-switch-spin"},{description:R(()=>[ue(m(s(l)("chat.modelSwitching")),1)]),default:R(()=>[Za.value?(c(),p("div",Uo,[n("span",Wo,m(s(l)("chat.modelType")),1),b(s(ss),{value:jt.value,name:"session-model-kind","onUpdate:value":Dr},{default:R(()=>[b(s(Yt),{value:"model"},{default:R(()=>[ue(m(s(l)("chat.standardModels")),1)]),_:1}),b(s(Yt),{value:"moa"},{default:R(()=>[ue(m(s(l)("chat.moaPresets")),1)]),_:1})]),_:1},8,["value"])])):k("",!0),b(s(Ct),{value:ot.value,"onUpdate:value":t[13]||(t[13]=a=>ot.value=a),placeholder:s(l)("models.searchPlaceholder"),disabled:K.value,clearable:"",size:"small",class:"session-model-search"},null,8,["value","placeholder","disabled"]),jt.value==="model"?(c(),p("div",{key:1,class:"session-model-list","aria-busy":K.value},[(c(!0),p(Q,null,pe(qs.value,a=>(c(),p("div",{key:a.provider,class:"session-model-group"},[n("div",{class:"session-model-group-header",onClick:r=>Rr(a.provider)},[(c(),p("svg",{class:ae(["session-model-group-arrow",{collapsed:Js(a.provider)}]),width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[...t[42]||(t[42]=[n("polyline",{points:"6 9 12 15 18 9"},null,-1)])],2)),n("span",Go,m(a.label),1),n("span",Ko,m(a.models.length),1)],8,zo),os(n("div",qo,[(c(!0),p(Q,null,pe(a.models,r=>(c(),p("div",{key:r,class:ae(["session-model-item",{active:r===St.value&&a.provider===lt.value,disabled:!!a.model_meta?.[r]?.disabled,switching:K.value}]),"aria-disabled":K.value||!!a.model_meta?.[r]?.disabled,title:a.model_meta?.[r]?.disabled?s(l)("models.disabledTooltip"):"",onClick:N=>Ys(r,a.provider)},[n("span",jo,[n("span",Jo,m(Ir(r,a.provider)),1),Lr(r,a.provider)?(c(),p("span",Xo,m(s(l)("models.aliasCanonical",{model:r})),1)):k("",!0)]),a.model_meta?.[r]?.preview?(c(),p("span",Yo,m(s(l)("models.previewBadge")),1)):k("",!0),a.model_meta?.[r]?.disabled?(c(),p("span",Qo,m(s(l)("models.disabledBadge")),1)):k("",!0),Tr(r,a.provider)?(c(),p("span",Zo,m(s(l)("models.customBadge")),1)):k("",!0),r===St.value&&a.provider===lt.value?(c(),p("svg",el,[...t[43]||(t[43]=[n("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):k("",!0)],10,Ho))),128))],512),[[ns,!Js(a.provider)]])]))),128)),qs.value.length===0?(c(),p("div",tl,m(ot.value?"No results":"No models"),1)):k("",!0)],8,Vo)):(c(),p("div",{key:2,class:"session-model-list","aria-busy":K.value},[n("div",sl,[(c(!0),p(Q,null,pe(Hs.value,a=>(c(),p("div",{key:a,class:ae(["session-model-item",{active:a===St.value&<.value==="moa",switching:K.value}]),"aria-disabled":K.value,onClick:r=>Nr(a)},[n("span",ol,[n("span",ll,m(a),1)]),a===St.value&<.value==="moa"?(c(),p("svg",il,[...t[44]||(t[44]=[n("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):k("",!0)],10,nl))),128))]),Hs.value.length===0?(c(),p("div",rl,m(s(l)("chat.noMoaPresets")),1)):k("",!0)],8,al)),jt.value==="model"?(c(),p("div",ul,[n("div",cl,[b(s(Ue),{value:Sa.value,"onUpdate:value":t[14]||(t[14]=a=>Sa.value=a),options:Er.value,disabled:K.value,size:"small",class:"session-model-custom-provider"},null,8,["value","options","disabled"]),b(s(Ct),{value:ka.value,"onUpdate:value":t[15]||(t[15]=a=>ka.value=a),placeholder:s(l)("models.customModelPlaceholder"),disabled:K.value,size:"small",class:"session-model-custom-input",onKeydown:ls(Or,["enter"])},null,8,["value","placeholder","disabled"])]),n("div",dl,m(s(l)("models.customModelHint")),1)])):k("",!0)]),_:1},8,["show"])]),_:1},8,["show","title","mask-closable","close-on-esc","closable"]),b(s(rt),{show:Ht.value,"onUpdate:show":t[18]||(t[18]=a=>Ht.value=a),preset:"dialog",title:s(l)("codingAgents.protocolScope"),"mask-closable":!K.value,"close-on-esc":!K.value,closable:!K.value,style:{width:"min(420px, calc(100vw - 32px))"}},{action:R(()=>[b(s(Se),{size:"small",disabled:K.value,onClick:Fr},{default:R(()=>[ue(m(s(l)("common.cancel")),1)]),_:1},8,["disabled"]),b(s(Se),{size:"small",type:"primary",loading:K.value,onClick:Br},{default:R(()=>[ue(m(K.value?s(l)("chat.modelSwitching"):s(l)("common.confirm")),1)]),_:1},8,["loading"])]),default:R(()=>[b(s(Ue),{value:Jt.value,"onUpdate:value":t[17]||(t[17]=a=>Jt.value=a),options:ys.value,disabled:K.value},null,8,["value","options","disabled"])]),_:1},8,["show","title","mask-closable","close-on-esc","closable"]),b(s(Hr),{show:d.value,"onUpdate:show":t[28]||(t[28]=a=>d.value=a),class:"new-chat-drawer",placement:"right",width:"min(440px, 100vw)","mask-closable":!0},{default:R(()=>[b(s(Yr),{title:s(l)("chat.newChat"),closable:""},{footer:R(()=>[n("div",Xl,[b(s(Se),{onClick:t[27]||(t[27]=a=>d.value=!1)},{default:R(()=>[ue(m(s(l)("common.cancel")),1)]),_:1}),b(s(Se),{type:"primary",disabled:!nr.value,onClick:cr},{default:R(()=>[ue(m(s(l)("common.create")),1)]),_:1},8,["disabled"])])]),default:R(()=>[n("div",vl,[n("label",pl,[n("span",fl,m(s(l)("chat.agent")),1),b(s(Ue),{value:f.value,"onUpdate:value":t[19]||(t[19]=a=>f.value=a),options:Ji.value,disabled:Ie.value},null,8,["value","options","disabled"])]),Cs.value?(c(),p("label",ml,[n("span",hl,m(s(l)("codingAgents.launchModeScope")),1),b(s(ss),{value:D.value,"onUpdate:value":t[20]||(t[20]=a=>D.value=a),name:"new-chat-coding-agent-mode"},{default:R(()=>[(c(!0),p(Q,null,pe(Xi.value,a=>(c(),te(s(Yt),{key:a.value,value:a.value},{default:R(()=>[ue(m(a.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])])):k("",!0),n("label",gl,[n("span",_l,m(s(l)("sidebar.profiles")),1),b(s(Ue),{value:T.value,options:Zi.value,loading:Ie.value||s($).loading,"onUpdate:value":rr},null,8,["value","options","loading"])]),n("label",wl,[n("span",yl,m(s(l)("chat.category")),1),b(s(Ue),{value:tt.value??0,options:Gi.value,placeholder:s(l)("chat.categoryPlaceholder"),loading:Ze.value||Ft.value,disabled:Ie.value||Ft.value,filterable:"",tag:"","onUpdate:value":Ki},null,8,["value","options","placeholder","loading","disabled"]),n("span",kl,m(s(l)("chat.categoryCreateHint")),1)]),Ut.value&&er.value?(c(),p("label",Sl,[n("span",bl,m(s(l)("chat.modelType")),1),b(s(ss),{value:ie.value,name:"new-chat-model-kind","onUpdate:value":lr},{default:R(()=>[b(s(Yt),{value:"model"},{default:R(()=>[ue(m(s(l)("chat.standardModels")),1)]),_:1}),b(s(Yt),{value:"moa"},{default:R(()=>[ue(m(s(l)("chat.moaPresets")),1)]),_:1})]),_:1},8,["value"])])):k("",!0),Ut.value&&ie.value==="model"?(c(),p("label",Cl,[n("span",Ml,m(s(l)("models.provider")),1),b(s(Ue),{value:V.value,options:tr.value,disabled:Ie.value,"onUpdate:value":ur},null,8,["value","options","disabled"])])):k("",!0),Ut.value?(c(),p("label",xl,[n("span",Pl,m(ie.value==="moa"?s(l)("chat.moaPresets"):s(l)("models.models")),1),b(s(Ue),{value:ee.value,"onUpdate:value":t[21]||(t[21]=a=>ee.value=a),options:bs.value,disabled:Ie.value||!V.value,filterable:""},null,8,["value","options","disabled"])])):k("",!0),at.value&&yt.value==="scoped"?(c(),p("label",Al,[n("span",El,m(s(l)("codingAgents.protocolScope")),1),b(s(Ue),{value:Bt.value,"onUpdate:value":t[22]||(t[22]=a=>Bt.value=a),options:ys.value,disabled:Ie.value},null,8,["value","options","disabled"])])):k("",!0),Ms.value?(c(),p("label",Dl,[n("span",$l,m(s(l)("models.baseUrl")),1),b(s(Ct),{value:ke.value,"onUpdate:value":t[23]||(t[23]=a=>ke.value=a),placeholder:s(l)("models.baseUrlPlaceholder")},null,8,["value","placeholder"])])):k("",!0),xs.value?(c(),p("label",Rl,[n("span",Tl,m(s(l)("models.apiKey")),1),b(s(Ct),{value:we.value,"onUpdate:value":t[24]||(t[24]=a=>we.value=a),type:"password","show-password-on":"click",placeholder:s(l)("models.apiKeyPlaceholder")},null,8,["value","placeholder"])])):k("",!0),n("div",Il,[n("span",Ll,[ue(m(s(l)("chat.workspace"))+" ",1),Ka.value?(c(),te(s(xa),{key:0},{trigger:R(()=>[n("span",Nl,m(s(l)("chat.workspaceDefault")),1)]),default:R(()=>[ue(" "+m(s(l)("chat.workspaceDefaultTooltip")),1)]),_:1})):k("",!0)]),Y.value.length>0?(c(),p("div",Bl,[n("span",Fl,m(s(l)("chat.defaultWorkspace"))+":",1),n("div",Ol,[(c(!0),p(Q,null,pe(pa.value,(a,r)=>(c(),p(Q,{key:a},[n("div",{class:ae(["workspace-chip",{active:he.value===a}]),onClick:N=>hs(a),title:a},m(qa(a)),11,Ul),r<pa.value.length-1||ws.value?(c(),p("span",Wl,"/")):k("",!0)],64))),128)),ws.value?(c(),p("div",Vl,[n("button",{class:"workspace-chip-more",onClick:t[25]||(t[25]=a=>va.value=!va.value)},m(s(l)("chat.more"))+" ▼ ",1),va.value?(c(),p("div",zl,[(c(!0),p(Q,null,pe(ji.value,a=>(c(),p("div",{key:a,class:"workspace-dropdown-item",onClick:r=>hs(a),title:a},m(qa(a)),9,Gl))),128))])):k("",!0)])):k("",!0)])])):k("",!0),b(nn,{modelValue:he.value,"onUpdate:modelValue":t[26]||(t[26]=a=>he.value=a),"show-favorite":"",favorite:Ka.value,"favorite-disabled":!he.value,"favorite-title":Ka.value?s(l)("chat.workspaceUnpin"):s(l)("chat.workspacePin"),onToggleFavorite:qi},null,8,["modelValue","favorite","favorite-disabled","favorite-title"]),Ot.value.length>0?(c(),p("div",Kl,[n("span",ql,m(s(l)("chat.workspaceRecent"))+":",1),n("div",Hl,[(c(!0),p(Q,null,pe(Ot.value,a=>(c(),te(s(Se),{key:a.path,size:"tiny",type:a.path===he.value?"primary":"default",onClick:r=>Hi(a.path)},{icon:R(()=>[Y.value.includes(a.path)?(c(),p("span",{key:0,class:"recent-pin-icon",onClick:en(r=>gs(a.path),["stop"]),title:s(l)("chat.workspaceUnpin")},"★",8,jl)):(c(),p("span",{key:1,class:"recent-pin-icon",onClick:en(r=>gs(a.path),["stop"]),title:s(l)("chat.workspacePin")},"☆",8,Jl))]),default:R(()=>[ue(" "+m(qa(a.path)),1)]),_:2},1032,["type","onClick"]))),128))])])):k("",!0)])])]),_:1},8,["title"])]),_:1},8,["show"]),n("div",{class:ae(["chat-main",{"chat-main--sidebar-collapsed":be.value!=="chat"||!z.value}])},[C.standalone?k("",!0):(c(),p("header",Yl,[n("div",Ql,[be.value==="chat"?(c(),te(s(Se),{key:0,class:"header-sidebar-toggle",quaternary:"",size:"small",onClick:t[29]||(t[29]=a=>z.value=!z.value),circle:""},{icon:R(()=>[...t[45]||(t[45]=[n("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[n("rect",{x:"3",y:"3",width:"7",height:"7"}),n("rect",{x:"14",y:"3",width:"7",height:"7"}),n("rect",{x:"3",y:"14",width:"7",height:"7"}),n("rect",{x:"14",y:"14",width:"7",height:"7"})],-1)])]),_:1})):k("",!0),n("span",Zl,m(i.value),1),s(o).activeSession?.workspace?(c(),p("button",{key:1,class:"workspace-badge",type:"button",title:s(o).activeSession.workspace,onClick:Pr},[t[46]||(t[46]=n("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n("path",{d:"M3 7a2 2 0 0 1 2-2h5l2 2h7a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"})],-1)),n("span",null,m(s(o).activeSession.workspace.split("/").pop()||s(o).activeSession.workspace),1)],8,ei)):k("",!0)]),n("div",ti,[be.value==="chat"?(c(),p(Q,{key:0},[A.value?(c(),te(s(xa),{key:0,trigger:"hover"},{trigger:R(()=>[b(s(Se),{class:ae(["header-tool-toggle",{active:U.value}]),quaternary:"",size:"small",onClick:La,circle:""},{icon:R(()=>[...t[47]||(t[47]=[n("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),n("line",{x1:"15",y1:"3",x2:"15",y2:"21"})],-1)])]),_:1},8,["class"])]),default:R(()=>[ue(" "+m(s(Ne)?`${s(l)("drawer.files")} / ${s(l)("drawer.terminal")} / ${s(l)("browser.title")}`:`${s(l)("drawer.files")} / ${s(l)("drawer.terminal")}`),1)]),_:1})):k("",!0),b(s(xa),{trigger:"hover"},{trigger:R(()=>[b(s(Se),{quaternary:"",size:"small",onClick:t[30]||(t[30]=a=>F.value=!F.value),circle:""},{icon:R(()=>[...t[48]||(t[48]=[n("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[n("path",{d:"M3 12h18M3 6h18M3 18h18"})],-1)])]),_:1})]),default:R(()=>[ue(" "+m(s(l)("chat.outlineTitle")),1)]),_:1}),b(s(xa),{trigger:"hover"},{trigger:R(()=>[b(s(Se),{quaternary:"",size:"small",onClick:t[31]||(t[31]=a=>Es()),circle:""},{icon:R(()=>[...t[49]||(t[49]=[n("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[n("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),n("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})],-1)])]),_:1})]),default:R(()=>[ue(" "+m(s(l)("chat.copySessionId")),1)]),_:1})],64)):k("",!0)])])),be.value==="chat"?(c(),p("div",{key:1,ref_key:"chatContentWrapperRef",ref:q,class:ae(["chat-content-wrapper",{"chat-content-wrapper--drop-active":B.value}]),onDragover:aa,onDragenter:sa,onDragleave:na,onDrop:Oa},[n("div",{ref_key:"chatMainContentRef",ref:j,class:"chat-main-content"},[b(Bu,{ref_key:"messageListRef",ref:ne,"approval-portal-to-body":H.value,"scroll-scope":"chat"},null,8,["approval-portal-to-body"]),b(Au,{ref_key:"chatInputRef",ref:ce,"model-label":Ga.value,onModelClick:$r,onVoiceClick:ze},null,8,["model-label"])],512),F.value?(c(),te(nc,{key:0,messages:s(o).messages,onNavigate:dt},null,8,["messages"])):k("",!0),b(qr,{name:"tool-panel",onBeforeEnter:Na,onAfterEnter:Ba,onBeforeLeave:ta,onLeaveCancelled:Fa},{default:R(()=>[U.value?(c(),p("aside",{key:0,class:"chat-tool-panel",style:gi(ye.value)},[n("div",{class:"chat-tool-resize-handle",onPointerdown:ea},null,32),n("div",ai,[s(L).workspaceDiff?(c(),te(s(P),{key:0,"custom-close":qe})):s(M).previewFile?(c(),te(s(x),{key:1,"custom-close":qe})):de.value?(c(),te(Wi,{key:2,stream:Ve.value,onClose:qe},null,8,["stream"])):(c(),p(Q,{key:3},[n("div",si,[n("button",{class:ae(["chat-tool-tab",{active:oe.value==="files"}]),type:"button",role:"tab",title:s(l)("drawer.files"),"aria-label":s(l)("drawer.files"),"aria-selected":oe.value==="files",onClick:t[32]||(t[32]=a=>oe.value="files")},[...t[50]||(t[50]=[n("svg",{viewBox:"0 0 24 24","aria-hidden":"true"},[n("path",{d:"M3 7.5A2.5 2.5 0 0 1 5.5 5H10l2 2h6.5A2.5 2.5 0 0 1 21 9.5v7A2.5 2.5 0 0 1 18.5 19h-13A2.5 2.5 0 0 1 3 16.5z"})],-1)])],10,ni),n("button",{class:ae(["chat-tool-tab",{active:oe.value==="terminal"}]),type:"button",role:"tab",title:s(l)("drawer.terminal"),"aria-label":s(l)("drawer.terminal"),"aria-selected":oe.value==="terminal",onClick:t[33]||(t[33]=a=>oe.value="terminal")},[...t[51]||(t[51]=[n("svg",{viewBox:"0 0 24 24","aria-hidden":"true"},[n("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),n("path",{d:"m7 9 3 3-3 3M13 15h4"})],-1)])],10,oi),s(Ne)?(c(),p("button",{key:0,class:ae(["chat-tool-tab",{active:oe.value==="browser"}]),type:"button",role:"tab",title:s(l)("browser.title"),"aria-label":s(l)("browser.title"),"aria-selected":oe.value==="browser",onClick:t[34]||(t[34]=a=>oe.value="browser")},[...t[52]||(t[52]=[n("svg",{viewBox:"0 0 24 24","aria-hidden":"true"},[n("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),n("path",{d:"M3 9h18"}),n("circle",{cx:"6.5",cy:"6.5",r:".75",fill:"currentColor",stroke:"none"}),n("circle",{cx:"9.5",cy:"6.5",r:".75",fill:"currentColor",stroke:"none"})],-1)])],10,li)):k("",!0)]),n("div",ii,[os(b(s(E),{"workspace-session-id":Je.value,workspace:xt.value,onAttach:Be},null,8,["workspace-session-id","workspace"]),[[ns,oe.value==="files"]]),os(b(yu,{visible:U.value&&oe.value==="terminal"},null,8,["visible"]),[[ns,oe.value==="terminal"]]),s(Ne)&&oe.value==="browser"?(c(),te(s(I),{key:0,visible:_e.value,onAttach:At},null,8,["visible"])):k("",!0)])],64))])],4)):k("",!0)]),_:1})],34)):(c(),te(Oi,{key:2,"human-only":s(O).humanOnly},null,8,["human-only"]))],2),(c(),te(Jr,{to:"body"},[H.value?(c(),te(Bi,{key:0,onClose:ct})):k("",!0)]))],2))}})})),Ic=fe((()=>{})),Lc,wd=fe((()=>{ui(),ui(),Ic(),Ta(),Lc=Ia(zi,[["__scopeId","data-v-22ec9d99"]])}));export{wd as n,Lc as t};
|
|
6
|
+
`,w-1),C.lastIndexOf("\r",w-1))+1;if(Si(C.slice(O,w)))return L}if(mc(C.slice(0,L)))return L}}}return-1}function _c(C={}){let y="";function E(x=!1){const P=[];for(;y.length>0;){let I=gc(y,C.emitOnSentenceEnd);if(I<0){if(!x)break;I=y.length}const o=fc(y.slice(0,I));y=y.slice(I),o&&P.push(o)}return P}return{pushDelta(x){return x?(y+=x,E(!1)):[]},flush(){const x=E(!0);return x.length?x.join(" "):null},reset(){y=""}}}var bi,Ci,Mi,xi,Pi,Ai,Ei,Di,$i,Ri,Ti,Ii,Li,wc=fe((()=>{hu(),yi(),ki(),bi=/[。!?!?.…][\s"'”’))\]】》]*$/,Ci=/<(think|thinking)\b[^>]*>[\s\S]*?<\/\1>/gi,Mi=/<(think|thinking)\b[^>]*>[\s\S]*/gi,xi=/```[\s\S]*?```/g,Pi=/```[\s\S]*/g,Ai=/`[^`\n]+`/g,Ei=/<!--[\s\S]*?-->/g,Di=/<![^>]*>/g,$i=/<\/?[a-zA-Z][\w:-]*(?:\s+(?:[^"'<>]|"[^"]*"|'[^']*')*)?\s*\/?>/g,Ri=/[0-9#*]\uFE0F?\u20E3/gu,Ti=/\p{Extended_Pictographic}[\uFE0E\uFE0F\u{E0100}-\u{E01EF}]?(?:\u200D\p{Extended_Pictographic}[\uFE0E\uFE0F\u{E0100}-\u{E01EF}]?)*/gu,Ii=/[\p{So}\p{Sk}\uFE0E\uFE0F\u{E0100}-\u{E01EF}\u200D\u20E3\u2190-\u21FF\u2300-\u23FF\u2460-\u24FF\u2500-\u257F\u2580-\u259F\u25A0-\u25FF\u2600-\u27BF]/gu,Li=/[\p{Cc}\p{Cf}]/gu})),pn,fn,mn,hn,gn,_n,wn,yn,kn,Sn,bn,Cn,Mn,xn,Pn,An,En,Dn,Pa,$n,Rn,Tn,In,Ln,Ni,Nn=fe((()=>{Qt(),$a(),wc(),yi(),Ou(),ki(),Ru(),Eu(),Gu(),ju(),qu(),Yu(),_i(),pi(),Nu(),Qu(),pn=["aria-label"],fn={class:"voice-stage__header"},mn=["aria-label"],hn={class:"voice-stage__identity"},gn={class:"voice-stage__main"},_n={class:"voice-stage__interaction"},wn=["aria-label","aria-pressed"],yn={class:"voice-stage__status","aria-live":"polite"},kn={class:"voice-stage__caption","aria-live":"polite","aria-atomic":"true","data-testid":"realtime-voice-caption"},Sn={key:0,class:"voice-stage__tools","aria-live":"polite","data-testid":"realtime-voice-tool-calls"},bn={class:"voice-stage__tool-state","aria-hidden":"true"},Cn={key:0,class:"voice-stage__tool-spinner"},Mn={key:1,viewBox:"0 0 20 20"},xn={key:2,viewBox:"0 0 20 20"},Pn={class:"voice-stage__tool-copy"},An={key:0},En={key:0},Dn=1500,Pa=.035,$n=700,Rn=1800,Tn=8e3,In=1e3,Ln=5,Ni=Da({__name:"RealtimeVoiceStage",emits:["close"],setup(C,{emit:y}){const E=y,{t:x}=Ra(),P=wi(),I=Ku(),o=Hu(),w=Ju(),$=Fu({messages:{unsupported:x("chat.voiceInput.browserSpeechUnsupported"),failed:x("chat.voiceInput.browserSpeechFailed"),failedWithReason:i=>x("chat.voiceInput.browserSpeechFailedWithReason",{error:i})}}),M=Du({messages:{unsupported:x("chat.voiceInput.microphoneUnsupported"),recordingFailed:x("chat.voiceInput.microphoneRecordingFailed")}}),L=ln({minSegmentDurationMs:Rn,speechEndSilenceMs:$n,maxSegmentDurationMs:Tn,voiceActivityThreshold:Pa,onChunk:Ze,messages:{unsupported:x("chat.voiceInput.microphoneUnsupported"),recordingFailed:x("chat.voiceInput.microphoneRecordingFailed")}}),O=ln({continuous:!0,maxSegmentDurationMs:In,onChunk:Ze,messages:{unsupported:x("chat.voiceInput.microphoneUnsupported"),recordingFailed:x("chat.voiceInput.microphoneRecordingFailed")}}),_=v("idle"),g=v(!1),l=v(""),A=v(""),F=v(""),H=v(!1),ne=v(!1),ce=v(0),q=v(0),j=v(!1),u=v([]),S=v(null);let B=null,U=null,_e=null,oe=null,Ne=null,We=!1,de=null,Ve=null,Je=null,Zt="",xt="",Pe=0,Ae=null,be=!1,G=0,J=0,Ce=!1,ve=0,z=null,ut=null,W=null,Me=!1,ye=0,ze=Promise.resolve(),ct=null,Ee=null;const Ge=new Set,dt=new Set,Xe=[],Pt=new Map,vt=new Set,Ke=_c({emitOnSentenceEnd:!0}),pt=h(()=>Te([$.transcript.value,$.partialTranscript.value,A.value].filter(Boolean).join(" "))||l.value),ft=h(()=>j.value||w.isPlaying.value||w.isCustomPlaying.value),ea=h(()=>{const i=P.activeSession,d=i?.agent||i?.codingAgentId||"hermes";return{hermes:"Hermes",claude:"Claude Code","claude-code":"Claude Code",codex:"Codex","ekko-agent":"Ekko Agent"}[d]||d}),qe=h(()=>x(`realtimeVoice.status.${_.value}`,{agent:ea.value})),La=h(()=>x(`realtimeVoice.hint.${_.value}`)),Na=h(()=>P.activeSession?.title?.trim()||x("realtimeVoice.untitledSession")),Ba=h(()=>F.value?F.value:_.value==="speaking"&&S.value?S.value.subtitleText:(_.value==="listening"||_.value==="processing"||_.value==="thinking"&&!ne.value)&&pt.value?pt.value:La.value),ta=h(()=>_.value==="listening"?Math.max(.16,q.value):_.value==="thinking"?.42:_.value==="speaking"?.58:_.value==="processing"?.28:.1),Fa=h(()=>({"--voice-energy":ta.value.toFixed(3),transform:`scale(${(1+ta.value*.075).toFixed(3)})`})),He=h(()=>ce.value?P.messages.slice(Pe).filter(i=>i.role==="tool"&&!!i.toolName).slice(-4).reverse():[]);function Te(i){return i.replace(/\s+/g," ").trim()}function aa(i){const d=i.toolStatus==="running"?i.toolPreview??i.toolArgs:i.toolResult??i.toolPreview;if(d==null)return"";let f=typeof d=="string"?d:"";if(!f)try{f=JSON.stringify(d)}catch{f=String(d)}return f=Te(f),f.length>180?`${f.slice(0,177)}...`:f}function sa(){return I.openaiLanguage.value.trim()||I.customLanguage.value.trim()||""}function na(){return!us()}function Oa(i){return!!(i&&(i.provider==="local"||Zs()||us()))}function Be(){B&&clearTimeout(B),U&&clearTimeout(U),B=null,U=null}function At(){const i=Je;Je=null,de&&(de.pause(),de.src="",de=null),Ve&&(URL.revokeObjectURL(Ve),Ve=null),j.value=!1,S.value=null,i?.()}function Ye(){for(const d of dt)d.abort();dt.clear();const i=new DOMException("Speech synthesis cancelled","AbortError");for(;Xe.length>0;)Xe.shift()?.resolve({ok:!1,error:i})}function Et(i,d){return o.provider.value==="openai"&&o.openaiBaseUrl.value?Mt({provider:"openai",text:i,signal:d,options:{baseUrl:o.openaiBaseUrl.value,apiKey:o.openaiApiKey.value,model:o.openaiModel.value,voice:o.openaiVoice.value}}):o.provider.value==="custom"&&o.customUrl.value?Mt({provider:"custom",text:i,signal:d,options:{baseUrl:o.customUrl.value,apiKey:o.customApiKey.value||void 0}}):o.provider.value==="edge"?Mt({provider:"edge",text:i,signal:d,options:{baseUrl:o.edgeUrl.value||"/api/tts/proxy",voice:o.edgeVoice.value,rate:Zu(o.edgeRate.value),pitch:ec(o.edgePitchHz.value)}}):o.provider.value==="mimo"?Mt({provider:"mimo",text:i,signal:d,options:{baseUrl:o.mimoBaseUrl.value,apiKey:o.mimoApiKey.value||void 0,authMode:o.mimoAuthMode.value,model:o.mimoModel.value,voiceMode:o.mimoModel.value==="mimo-v2.5-tts-voicedesign"?"voiceDesign":o.mimoModel.value==="mimo-v2.5-tts-voiceclone"?"voiceClone":"preset",voice:o.mimoVoice.value,voiceDesignDesc:o.mimoVoiceDesignDesc.value||void 0,voiceCloneDataUri:o.mimoVoiceCloneDataUri.value||void 0,voiceCloneFormat:o.mimoVoiceCloneFormat.value,stylePrompt:o.mimoStylePrompt.value||void 0}}):o.provider.value==="doubao"?Mt({provider:"doubao",text:i,signal:d,options:{baseUrl:o.doubaoBaseUrl.value,model:o.doubaoModel.value,voice:o.doubaoVoice.value,stylePrompt:o.doubaoStylePrompt.value||void 0}}):Xu(o.provider.value)?Mt({provider:o.provider.value,text:i,signal:d}):null}function Dt(){for(;ve<Ln&&Xe.length>0;){const i=Xe.shift();if(!i)break;if(i.generation!==G){i.resolve({ok:!1,error:new DOMException("Stale speech segment","AbortError")});continue}const d=new AbortController,f=Et(i.text,d.signal);if(!f){i.resolve({ok:!1,error:new Error("Browser speech does not require synthesis")});continue}ve+=1,dt.add(d),f.then(({audio:D})=>i.resolve({ok:!0,audio:D})).catch(D=>i.resolve({ok:!1,error:D})).finally(()=>{ve-=1,dt.delete(d),Dt()})}}function Ua(i,d){return o.provider.value==="webspeech"||o.provider.value==="openai"&&!o.openaiBaseUrl.value||o.provider.value==="custom"&&!o.customUrl.value?null:new Promise(f=>{Xe.push({generation:d,text:i,resolve:f}),Dt()})}function $t(){G+=1,Ye(),At(),u.value=[],S.value=null,Pe=P.messages.length,Ae=null,be=!1,ne.value=!1,J=0,Pt.clear(),vt.clear(),Ke.reset()}function le(){if(_e!==null&&cancelAnimationFrame(_e),_e=null,We)for(const i of oe?.getTracks()||[])i.stop();oe=null,We=!1,Ne&&Ne.close().catch(()=>{}),Ne=null,q.value=0}async function Rt(i){if(le(),!(typeof AudioContext>"u")&&!(!i&&!navigator.mediaDevices?.getUserMedia))try{const d=!i,f=i||await navigator.mediaDevices.getUserMedia({audio:!0});if(_.value!=="listening"){if(d)for(const ie of f.getTracks())ie.stop();return}const D=new AudioContext,T=D.createAnalyser();T.fftSize=256,T.smoothingTimeConstant=.72,D.createMediaStreamSource(f).connect(T);const V=new Uint8Array(T.frequencyBinCount);oe=f,We=d,Ne=D;const ee=()=>{T.getByteFrequencyData(V);let ie=0;for(let we=0;we<V.length;we+=1)ie+=V[we];const ke=Math.min(1,ie/V.length/96);q.value+=(ke-q.value)*.34,_e=requestAnimationFrame(ee)};ee()}catch{}}async function Qe(){return ut||(ut=Vu().then(i=>{const d=i.activeProvider;return!d||d==="browser"?null:i.providers.find(f=>f.provider===d&&(d==="local"||f.secrets?.apiKey==="[stored]"))||null}).catch(()=>null),ut)}function Z(i){if(De(i)){F.value="",_.value!=="listening"&&(_.value="idle");return}F.value=i instanceof Error?i.message:String(i),_.value="error"}function De(i){const d=i instanceof Error?i.message:String(i);return/no[_ -]?speech|no speech detected/i.test(d)}function oa(){ye+=1,ze=Promise.resolve(),ct=null,A.value=""}function Tt(){return z?.provider==="local"?O:L}async function X(){const i=Ee;Ee=null,i&&await on(i).catch(()=>{})}function Ze(i){const d=z,f=ye,D=d?.provider==="local"?Ee:null;if(!d||i.size<=44)return ze;const T=d.settings;return ze=ze.then(async()=>{if(f===ye)try{const V=d.provider==="local"?await Uu(D||"",i):await rn({audio:i,provider:d.provider,language:typeof T.language=="string"?T.language:void 0,prompt:typeof T.prompt=="string"?T.prompt:void 0});if(f!==ye)return;const ee=Te(V.text);d.provider==="local"?A.value=ee:ee&&(A.value=Te(`${A.value} ${ee}`))}catch(V){if(f!==ye||De(V))return;throw ct=V,V}}).catch(V=>{f!==ye||De(V)||(ct=V,Tt().cancel(),X(),W=null,le(),Z(V))}),ze}async function It(){if(oa(),z?.provider==="local"){const d=ye,f=await Wu();if(d!==ye){await on(f.sessionId).catch(()=>{});return}Ee=f.sessionId}W="backend-stream";const i=Tt();try{await i.start()}catch(d){throw await X(),d}_.value="listening",Rt(i.stream.value)}async function Fe(){if(Be(),!P.activeSessionId){Z(x("realtimeVoice.sessionMissing"));return}if(P.isSessionLive(P.activeSessionId)){_.value="thinking";return}if(w.stop(!0),$.clearError(),F.value="",l.value="",A.value="",S.value=null,ce.value=0,g.value=!0,z=await Qe(),(Zs()||us())&&!z){W=null,Z(x("realtimeVoice.backendStreamRequired"));return}const i=Oa(z);W=i?"backend-stream":"browser";try{if(i){await It();return}if(z)try{await M.start()}catch{z=null}await $.start({language:sa(),continuous:na()}),_.value="listening",Rt(M.stream.value)}catch(d){W=null,M.cancel(),L.cancel(),O.cancel(),X(),Z(d)}}async function je(i){const d=Te(i);if(l.value=d,!d){le(),_.value="idle";return}w.stop(!0),$t(),ce.value=Date.now(),H.value=!0,_.value="thinking",await P.sendMessage(d)}async function mt(i,d){if(i.size<=0){_.value="idle";return}Be(),_.value="processing";try{const f=d.settings;await je((await rn({audio:i,provider:d.provider,language:typeof f.language=="string"?f.language:void 0,prompt:typeof f.prompt=="string"?f.prompt:void 0})).text)}catch(f){if(De(f)){F.value="",W=null,le(),_.value="idle",et();return}Z(f)}}async function la(){if(!(!g.value||W!=="browser"||Me||!$.error.value)){Me=!0,Be();try{if($.errorCode.value==="no-speech"){$.clearError(),_.value==="processing"&&!H.value&&(_.value="listening"),Va();return}if(_.value="processing",$.errorCode.value==="network"&&z){const i=await M.stop();if(le(),W=null,i.size<=0){Z($.error.value);return}await mt(i,z);return}M.cancel(),le(),W=null,Z($.errorCode.value==="network"?x("realtimeVoice.networkUnavailableNoFallback"):$.error.value)}catch(i){M.cancel(),le(),W=null,Z(i)}finally{Me=!1}}}async function me(i=!1){if(_.value!=="listening")return;if(Be(),_.value="processing",W==="backend-stream"&&z){const f=Tt();try{const D=await f.stop();if(le(),D&&Ze(D),await ze,ct)return;if(z.provider==="local"){const T=Ee;if(Ee=null,!T)throw new Error("Local STT stream session is not active");A.value=Te((await zu(T)).text)||A.value}if(W=null,!A.value){_.value=i?"paused":"idle",i||et();return}await je(A.value)}catch(D){if(De(D)){W=null,le(),_.value=i?"paused":"idle",i||et();return}W=null,f.cancel(),await X(),le(),Z(D)}return}let d="";try{d=await $.stop()}catch(f){$.error.value?la():Z(f);return}if(M.state.value.status!=="idle"&&await M.stop().catch(()=>{}),W=null,le(),!Te(d)){_.value=i?"paused":"idle",i||et();return}await je(d)}async function ht(){Be(),$.cancel(),M.cancel(),L.cancel(),O.cancel(),ye+=1,X(),W=null,le(),H.value=!1,$t(),w.stop(!0),await P.stopStreaming(),_.value="idle"}async function Wa(){if(_.value==="listening"){await me(!0);return}if(_.value==="thinking"||_.value==="speaking"){await ht();return}await Fe()}function et(i=420){g.value&&(U&&clearTimeout(U),U=setTimeout(()=>{U=null,g.value&&_.value!=="listening"&&!H.value&&Fe()},i))}function Va(i=420){!g.value||W!=="browser"||(U&&clearTimeout(U),U=setTimeout(()=>{U=null,!(!g.value||W!=="browser")&&($.clearError(),$.start({language:sa(),continuous:na()}).catch(d=>{W=null,M.cancel(),le(),Z(d)}))},i))}function gt(){B&&clearTimeout(B),B=setTimeout(()=>{B=null,_.value==="listening"&&me(!1)},Dn)}function ia(i){return!ft.value||i!==G?Promise.resolve():new Promise(d=>{let f=!1;const D=()=>{f||(f=!0,clearTimeout(V),T(),d())},T=se(ft,ee=>{(!ee||i!==G)&&D()}),V=setTimeout(D,3e5)})}async function _t(i,d){const f=URL.createObjectURL(d),D=new Audio(f);de=D,Ve=f,await new Promise((T,V)=>{let ee=!1;const ie=we=>{ee||(ee=!0,D.onended=null,D.onerror=null,de===D&&(de=null),Ve===f&&(Ve=null),Je===ke&&(Je=null),URL.revokeObjectURL(f),j.value=!1,S.value?.id===i.id&&(S.value=null),we?V(we):T())},ke=()=>ie();Je=ke,D.onended=()=>ie(),D.onerror=()=>ie(new Error("TTS audio playback failed")),D.play().then(()=>{if(i.generation!==G||!g.value){D.pause(),ie();return}j.value=!0,S.value=i,ne.value=!0,_.value="speaking"}).catch(ie)})}async function ra(i){const{id:d,audioText:f,generation:D}=i;if(!(!f||D!==G||!g.value))try{if(i.synthesis){const T=await i.synthesis;if(D!==G||!g.value)return;if(!T.ok)throw T.error;await _t(i,T.audio)}else if(w.isSupported.value){const T=w.extractReadableText(f);w.speakViaBrowser(d,T,{voiceName:o.webspeechVoice.value||void 0}),S.value=i,ne.value=!0,_.value="speaking",await ia(D)}else{D===G&&H.value&&(_.value="thinking");return}if(D!==G||!g.value)return;S.value?.id===i.id&&(S.value=null),H.value&&(_.value="thinking")}catch(T){S.value?.id===i.id&&(S.value=null),D===G&&Z(T)}}function Lt(){if(!(Ce||u.value.length>0)){for(const i of Ge)i();Ge.clear()}}function za(){return!Ce&&u.value.length===0?Promise.resolve():new Promise(i=>Ge.add(i))}async function Oe(){if(!Ce){Ce=!0;try{for(;u.value.length>0;){const i=u.value.shift();!i||i.generation!==G||await ra(i)}}finally{Ce=!1,u.value.length>0?Oe():Lt()}}}function ua(i,d="assistant"){if(!i)return;const f=G;u.value.push({id:`${d}:voice:${++J}`,audioText:i,subtitleText:i,generation:f,synthesis:Ua(i,f)}),Oe()}function Nt(i=Ae||"assistant"){const d=Ke.flush();d&&ua(d,i)}function ca(){const i=P.messages.slice(Pe);for(const d of i){if(d.role==="assistant"){const f=d.content||"",D=Pt.get(d.id)||"";if(Pt.set(d.id,f),!f.startsWith(D))continue;const T=f.slice(D.length);if(!T)continue;Ae&&Ae!==d.id&&Nt(Ae),Ae=d.id;for(const V of Ke.pushDelta(T))ua(V,d.id);continue}d.role==="tool"&&!vt.has(d.id)&&(vt.add(d.id),Nt())}}function da(){if(!H.value||(ca(),P.isStreaming||be))return;const i=P.messages.slice(Pe),d=[...i].reverse().find(D=>D.role==="assistant"&&!!D.content.trim());if(!d){const D=[...i].reverse().find(T=>T.timestamp>=ce.value&&(T.role==="system"||T.systemType==="error"));D&&(H.value=!1,Z(D.content));return}be=!0,Nt(d.id);const f=G;za().finally(()=>{f!==G||!g.value||(H.value=!1,_.value!=="error"&&(_.value=W==="browser"?"listening":"idle"),W===null&&et())})}function Ga(){g.value=!1,H.value=!1,G+=1,u.value=[],S.value=null,Ye(),At(),Be(),$.cancel(),M.cancel(),L.cancel(),O.cancel(),ye+=1,X(),W=null,le(),w.stop(!0),E("close")}return se(pt,i=>{_.value!=="listening"||W!=="browser"||!i||gt()}),se(()=>L.level.value,i=>{_.value!=="listening"||W!=="backend-stream"||!L.hasSpeech.value||i<Pa||gt()}),se(()=>O.level.value,i=>{_.value!=="listening"||W!=="backend-stream"||z?.provider!=="local"||!O.hasSpeech.value||i<Pa||gt()}),se(()=>$.error.value,()=>{la()}),se(()=>P.messages.map(i=>`${i.id}:${i.isStreaming?1:0}:${i.content.length}`).join("|"),da),se(()=>P.isStreaming,da),Ea(()=>{Zt=document.body.style.overflow,xt=document.documentElement.style.overflow,document.body.style.overflow="hidden",document.documentElement.style.overflow="hidden",g.value=!0,U=setTimeout(()=>{U=null,Qe().then(i=>{g.value&&(z=i,Fe())})},180)}),di(()=>{g.value=!1,G+=1,u.value=[],S.value=null,Ye(),At(),Be(),$.cancel(),M.cancel(),L.cancel(),O.cancel(),ye+=1,X(),W=null,le(),w.stop(!0),document.body.style.overflow=Zt,document.documentElement.style.overflow=xt}),(i,d)=>(c(),p("section",{class:ae(["voice-stage dark",[`voice-stage--${_.value}`,{"voice-stage--with-tools":He.value.length>0}]]),role:"dialog","aria-modal":"true","aria-label":s(x)("realtimeVoice.title"),"data-testid":"realtime-voice-stage"},[d[6]||(d[6]=n("div",{class:"voice-stage__wash voice-stage__wash--top","aria-hidden":"true"},null,-1)),d[7]||(d[7]=n("div",{class:"voice-stage__wash voice-stage__wash--bottom","aria-hidden":"true"},null,-1)),n("header",fn,[n("button",{class:"voice-stage__back",type:"button","aria-label":s(x)("realtimeVoice.back"),onClick:Ga},[...d[0]||(d[0]=[n("svg",{viewBox:"0 0 24 24","aria-hidden":"true"},[n("path",{d:"m15 18-6-6 6-6"})],-1)])],8,mn),n("div",hn,[n("strong",null,m(Na.value),1),n("span",null,m(ea.value),1)]),d[1]||(d[1]=n("span",{class:"voice-stage__header-spacer"},null,-1))]),n("main",gn,[n("section",_n,[n("button",{class:"voice-stage__bloom",type:"button",style:gi(Fa.value),"aria-label":qe.value,"aria-pressed":_.value==="listening","data-testid":"realtime-voice-toggle",onClick:Wa},[...d[2]||(d[2]=[n("svg",{viewBox:"0 0 420 420",role:"presentation","aria-hidden":"true"},[n("defs",null,[n("radialGradient",{id:"voice-bloom-cyan",cx:"35%",cy:"30%",r:"75%"},[n("stop",{class:"voice-stage__stop voice-stage__stop--light",offset:"0%"}),n("stop",{class:"voice-stage__stop voice-stage__stop--cyan",offset:"42%"}),n("stop",{class:"voice-stage__stop voice-stage__stop--blue",offset:"100%"})]),n("radialGradient",{id:"voice-bloom-violet",cx:"66%",cy:"72%",r:"70%"},[n("stop",{class:"voice-stage__stop voice-stage__stop--rose",offset:"0%"}),n("stop",{class:"voice-stage__stop voice-stage__stop--violet",offset:"58%"}),n("stop",{offset:"100%","stop-color":"#4427b8","stop-opacity":"0"})]),n("filter",{id:"voice-bloom-warp",x:"-35%",y:"-35%",width:"170%",height:"170%"},[n("feTurbulence",{type:"fractalNoise",baseFrequency:".009 .014",numOctaves:"2",seed:"8",result:"noise"},[n("animate",{attributeName:"baseFrequency",dur:"9s",values:".009 .014;.014 .009;.009 .014",repeatCount:"indefinite"})]),n("feDisplacementMap",{in:"SourceGraphic",in2:"noise",scale:"34",xChannelSelector:"R",yChannelSelector:"B"})]),n("filter",{id:"voice-bloom-blur",x:"-60%",y:"-60%",width:"220%",height:"220%"},[n("feGaussianBlur",{stdDeviation:"24"})])]),n("circle",{class:"voice-stage__bloom-haze",cx:"210",cy:"210",r:"128",fill:"url(#voice-bloom-cyan)",filter:"url(#voice-bloom-blur)"}),n("g",{class:"voice-stage__bloom-body",filter:"url(#voice-bloom-warp)"},[n("circle",{cx:"210",cy:"210",r:"112",fill:"url(#voice-bloom-cyan)"}),n("circle",{class:"voice-stage__bloom-color",cx:"226",cy:"224",r:"104",fill:"url(#voice-bloom-violet)"}),n("ellipse",{class:"voice-stage__bloom-shine",cx:"174",cy:"162",rx:"56",ry:"42",fill:"#ffffff",opacity:".22"})])],-1)])],12,wn),n("div",yn,[d[3]||(d[3]=n("i",null,null,-1)),n("span",null,m(qe.value),1)]),n("p",kn,m(Ba.value),1),He.value.length?(c(),p("div",Sn,[(c(!0),p(Q,null,pe(He.value,f=>(c(),p("article",{key:f.id,class:ae(["voice-stage__tool",`voice-stage__tool--${f.toolStatus||"running"}`])},[n("span",bn,[f.toolStatus==="running"?(c(),p("span",Cn)):f.toolStatus==="error"?(c(),p("svg",Mn,[...d[4]||(d[4]=[n("path",{d:"m6.5 6.5 7 7m0-7-7 7"},null,-1)])])):(c(),p("svg",xn,[...d[5]||(d[5]=[n("path",{d:"m5.5 10.2 2.8 2.8 6.2-6.2"},null,-1)])]))]),n("span",Pn,[n("strong",null,m(f.toolName),1),aa(f)?(c(),p("span",An,m(aa(f)),1)):k("",!0)]),f.toolDuration!==void 0?(c(),p("time",En,m(f.toolDuration.toFixed(1))+"s",1)):k("",!0)],2))),128))])):k("",!0)])])],10,pn))}})})),yc=fe((()=>{})),Bi,kc=fe((()=>{Nn(),Nn(),yc(),Ta(),Bi=Ia(Ni,[["__scopeId","data-v-4028b177"]])}));async function Sc(C={}){const y=new URLSearchParams;return C.humanOnly===!1&&y.set("humanOnly","false"),C.source&&y.set("source",C.source),C.limit!=null&&y.set("limit",String(C.limit)),(await fi(`/api/hermes/sessions/conversations${y.toString()?`?${y.toString()}`:""}`)).sessions}async function bc(C,y={}){const E=new URLSearchParams;y.humanOnly===!1&&E.set("humanOnly","false"),y.source&&E.set("source",y.source);const x=E.toString()?`?${E.toString()}`:"";return fi(`/api/hermes/sessions/conversations/${encodeURIComponent(C)}/messages${x}`)}var Cc=fe((()=>{ci()})),Bn,Fn,On,Un,Wn,Vn,zn,Gn,Kn,qn,Hn,jn,Jn,Xn,Yn,Qn,Zn,eo,to,ao,so,no,Fi,oo=fe((()=>{Qt(),Cc(),sc(),hi(),$a(),Bn={class:"conversation-monitor"},Fn={class:"conversation-monitor__sidebar"},On={key:0,class:"conversation-monitor__empty"},Un={key:1,class:"conversation-monitor__empty"},Wn=["aria-pressed","onClick"],Vn={class:"conversation-monitor__session-title-row"},zn={class:"conversation-monitor__session-title"},Gn={key:0,class:"conversation-monitor__session-live"},Kn={class:"conversation-monitor__session-meta"},qn={key:0,class:"conversation-monitor__session-preview"},Hn={class:"conversation-monitor__detail"},jn={key:0,class:"conversation-monitor__detail-header"},Jn={class:"conversation-monitor__detail-title"},Xn={class:"conversation-monitor__detail-meta"},Yn=["title"],Qn={key:1,class:"conversation-monitor__empty conversation-monitor__empty--error"},Zn={key:2,class:"conversation-monitor__empty"},eo={key:3,class:"conversation-monitor__empty"},to={key:4,class:"conversation-monitor__messages"},ao={class:"conversation-monitor__message-meta"},so={class:"conversation-monitor__message-content"},no=15e3,Fi=Da({__name:"ConversationMonitorPane",props:{humanOnly:{type:Boolean}},setup(C){const y=C,{t:E}=Ra(),x=mi(),P=v([]),I=v(null),o=v(null),w=v(!1),$=v(!1),M=v("");let L=null,O=0,_=0;const g=h(()=>P.value.find(q=>q.id===I.value)||null),l=h(()=>g.value?.model?x.displayModelName(g.value.model,g.value.provider):"");function A(q){return E(q==="user"?"chat.monitorRoleUser":"chat.monitorRoleAssistant")}function F(q){return E("chat.linkedSessions",{count:q})}function H(){O+=1,_+=1}async function ne(q=!1){const j=++O;q||(w.value=!0,M.value="");try{const u=await Sc({humanOnly:y.humanOnly});if(j!==O)return;if(P.value=u,!u.length){I.value=null,o.value=null;return}(!I.value||!u.some(S=>S.id===I.value))&&(I.value=u[0].id)}catch(u){if(j!==O||q)return;M.value=u?.message||String(u),P.value=[],I.value=null,o.value=null}finally{!q&&j===O&&(w.value=!1)}}async function ce(q,j=!1){const u=++_;if(!q){o.value=null;return}const S=y.humanOnly;j||($.value=!0,M.value="");try{const B=await bc(q,{humanOnly:S});if(u!==_||q!==I.value||S!==y.humanOnly)return;o.value=B}catch(B){if(u!==_||j)return;M.value=B?.message||String(B),o.value=null}finally{!j&&u===_&&($.value=!1)}}return se(I,async q=>{await ce(q,!1)}),se(()=>y.humanOnly,async()=>{H(),I.value=null,o.value=null,await ne(!1)}),Ea(async()=>{await ne(!1),L=setInterval(async()=>{await ne(!0),I.value&&await ce(I.value,!0)},no)}),vi(()=>{H(),L&&clearInterval(L)}),(q,j)=>(c(),p("div",Bn,[n("aside",Fn,[w.value&&P.value.length===0?(c(),p("div",On,m(s(E)("common.loading")),1)):P.value.length===0?(c(),p("div",Un,m(s(E)("chat.noSessions")),1)):k("",!0),(c(!0),p(Q,null,pe(P.value,u=>(c(),p("button",{key:u.id,class:ae(["conversation-monitor__session",{active:u.id===I.value}]),"aria-pressed":u.id===I.value,onClick:S=>I.value=u.id},[n("div",Vn,[n("span",zn,m(u.title||u.preview||u.id),1),u.is_active?(c(),p("span",Gn,m(s(E)("chat.recentBadge")),1)):k("",!0)]),n("div",Kn,m(s(cn)(u.source))+" · "+m(s(un)(u.last_active)),1),u.preview?(c(),p("div",qn,m(u.preview),1)):k("",!0)],10,Wn))),128))]),n("section",Hn,[g.value?(c(),p("header",jn,[n("div",Jn,m(g.value.title||g.value.preview||g.value.id),1),n("div",Xn,[n("span",null,m(s(cn)(g.value.source)),1),j[0]||(j[0]=n("span",null,"·",-1)),n("span",{title:g.value.model},m(l.value),9,Yn),j[1]||(j[1]=n("span",null,"·",-1)),n("span",null,m(F(g.value.thread_session_count)),1)])])):k("",!0),M.value?(c(),p("div",Qn,m(M.value),1)):$.value&&!o.value?(c(),p("div",Zn,m(s(E)("common.loading")),1)):!o.value||o.value.messages.length===0?(c(),p("div",eo,m(s(E)("chat.noVisibleMessages")),1)):(c(),p("div",to,[(c(!0),p(Q,null,pe(o.value.messages,u=>(c(),p("article",{key:`${u.session_id}-${u.id}`,class:ae(["conversation-monitor__message",`role-${u.role}`])},[n("div",ao,m(A(u.role))+" · "+m(s(un)(u.timestamp)),1),n("div",so,m(u.content),1)],2))),128))]))])]))}})})),Mc=fe((()=>{})),Oi,xc=fe((()=>{oo(),oo(),Mc(),Ta(),Oi=Ia(Fi,[["__scopeId","data-v-85376dee"]])})),lo,io,ro,uo,co,vo,po,fo,mo,ho,go,_o,wo,yo,ko,Ui,So=fe((()=>{Qt(),$a(),$u(),oc(),bu(),lo={class:"subagent-stream-panel"},io={class:"subagent-stream-header"},ro={class:"subagent-stream-heading"},uo={class:"subagent-stream-kicker"},co={key:0,class:"subagent-task-position"},vo={class:"subagent-stream-title"},po={key:0,class:"subagent-stream-metrics"},fo={class:"subagent-header-actions"},mo=["aria-label","title"],ho={class:"subagent-stream-body"},go={key:0,class:"subagent-empty"},_o={key:0,class:"subagent-run-indicator"},wo={key:0,class:"subagent-live-tools"},yo={class:"subagent-live-tool-name"},ko={key:0,class:"subagent-live-tool-preview"},Ui=Da({__name:"SubagentStreamPanel",props:{stream:{}},emits:["close"],setup(C,{emit:y}){const E=C,x=y,{t:P}=Ra(),I=v(null),o=v(Date.now());let w=null;const $=h(()=>{const u=E.stream;return u?`${u.status}:${u.entries.map(S=>`${S.id}:${S.timestamp}:${S.text?.length||0}`).join("|")}`:"empty"}),M=h(()=>{const u=E.stream;return u?`${u.taskIndex+1}/${Math.max(1,u.taskCount)}`:""}),L=h(()=>E.stream?.status==="running"),O=h(()=>{if(!L.value)return null;const u=E.stream?.entries||[];for(let S=u.length-1;S>=0;S--){const B=u[S];if(B.kind==="thinking"&&B.text?.trim())return B}return null}),_=h(()=>(E.stream?.entries||[]).filter(u=>u.kind==="status"||L.value&&u.kind==="tool"?!1:u.kind!=="thinking").map((u,S)=>q(u,S,L.value))),g=h(()=>L.value?(E.stream?.entries||[]).filter(u=>u.kind==="tool").map((u,S)=>q(u,S)).reverse():[]),l=h(()=>{const u=E.stream?.startedAt||o.value,S=Math.max(0,Math.floor((o.value-u)/1e3)),B=Math.floor(S/3600),U=Math.floor(S%3600/60),_e=S%60;return B>0?`${B}h${U}m${_e}s`:U>0?`${U}m${_e}s`:`${_e}s`}),A=h(()=>{const u=E.stream;if(!u)return[];const S=[];return u.model&&S.push({key:"model",value:u.model}),u.toolCount!=null&&S.push({key:"tools",value:P("subagent.tools",{count:u.toolCount})}),(u.inputTokens!=null||u.outputTokens!=null)&&S.push({key:"tokens",value:P("subagent.tokens",{input:F(u.inputTokens||0),output:F(u.outputTokens||0)})}),u.durationSeconds!=null&&S.push({key:"duration",value:H(u.durationSeconds)}),S});function F(u){return u>=1e6?`${(u/1e6).toFixed(1)}M`:u>=1e3?`${(u/1e3).toFixed(1)}K`:String(u)}function H(u){return u<1?`${Math.round(u*1e3)}ms`:u<60?`${Math.round(u*10)/10}s`:`${Math.floor(u/60)}m ${Math.round(u%60)}s`}function ne(u){return u==="error"?"failed":u}function ce(u){return u?.text&&u.status==="running"?u.text:P(`subagent.${ne(u?.status||E.stream?.status||"running")}`)}function q(u,S,B=!1){const U={id:`subagent-stream:${E.stream?.subagentId||"unknown"}:${u.id}:${S}`,timestamp:u.timestamp};return u.kind==="tool"?{...U,role:"tool",content:"",toolName:u.toolName||P("subagent.tool"),toolCallId:`subagent-stream-tool:${u.id}`,toolPreview:u.text,toolArgs:u.toolArgs,reasoning:B?void 0:u.reasoning,toolStatus:"done"}:u.kind==="thinking"?{...U,role:"assistant",content:"",reasoning:u.text||"",isStreaming:E.stream?.status==="running"&&E.stream.entries[E.stream.entries.length-1]?.id===u.id}:{...U,role:"assistant",content:u.text||"",reasoning:B?void 0:u.reasoning}}function j(){w&&(clearInterval(w),w=null)}return se(L,u=>{j(),o.value=Date.now(),u&&(w=setInterval(()=>{o.value=Date.now()},1e3))},{immediate:!0}),se($,()=>{I.value?.shouldAutoFollowBottom(96)!==!1&&I.value?.scrollToBottom({frames:2,keepAliveMs:250})}),Ea(()=>{I.value?.scrollToBottom({frames:2,keepAliveMs:250})}),di(j),(u,S)=>(c(),p("section",lo,[n("header",io,[n("div",ro,[n("div",uo,[n("span",{class:ae(["subagent-live-dot",{active:C.stream?.status==="running"}]),"aria-hidden":"true"},null,2),n("span",null,m(s(P)("subagent.title")),1),M.value?(c(),p("span",co,m(M.value),1)):k("",!0)]),n("div",vo,m(C.stream?.goal||s(P)("subagent.noGoal")),1),A.value.length?(c(),p("div",po,[(c(!0),p(Q,null,pe(A.value,B=>(c(),p("span",{key:B.key},m(B.value),1))),128))])):k("",!0)]),n("div",fo,[C.stream?(c(),p("span",{key:0,class:ae(["subagent-status",`status-${ne(C.stream.status)}`])},m(ce()),3)):k("",!0),n("button",{type:"button",class:"subagent-close","aria-label":s(P)("subagent.close"),title:s(P)("subagent.close"),onClick:S[0]||(S[0]=B=>x("close"))},[...S[1]||(S[1]=[n("svg",{viewBox:"0 0 24 24","aria-hidden":"true"},[n("path",{d:"M18 6 6 18M6 6l12 12"})],-1)])],8,mo)])]),n("div",ho,[b(ku,{ref_key:"streamListRef",ref:I,messages:_.value,virtualized:!1,padding:"20px","row-gap":16},{item:R(({message:B})=>[b(lc,{message:B},null,8,["message"])]),empty:R(()=>[L.value?k("",!0):(c(),p("div",go,[n("span",null,m(ce()),1)]))]),_:1},8,["messages"]),L.value?(c(),p("div",_o,[b(Lu,{reasoning:O.value?.text,"reasoning-id":O.value?.id,elapsed:l.value},null,8,["reasoning","reasoning-id","elapsed"]),g.value.length?(c(),p("div",wo,[(c(!0),p(Q,null,pe(g.value,B=>(c(),p("div",{key:B.id,class:"subagent-live-tool"},[S[2]||(S[2]=n("svg",{viewBox:"0 0 24 24","aria-hidden":"true"},[n("path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"})],-1)),n("span",yo,m(B.toolName),1),B.toolPreview?(c(),p("span",ko,m(B.toolPreview),1)):k("",!0),S[3]||(S[3]=n("svg",{class:"subagent-live-tool-done",viewBox:"0 0 24 24","aria-hidden":"true"},[n("circle",{cx:"12",cy:"12",r:"10"}),n("path",{d:"m8 12 3 3 5-6"})],-1))]))),128))])):k("",!0)])):k("",!0)])]))}})})),Pc=fe((()=>{})),Wi,Ac=fe((()=>{So(),So(),Pc(),Ta(),Wi=Ia(Ui,[["__scopeId","data-v-1627819b"]])}));function Ec(C,y,E){const x=new Set(C.map(o=>o.id)),P=C.map(o=>({key:`category-${o.id}`,label:o.name,sessions:y.filter(w=>w.categoryId===o.id)})).filter(o=>o.sessions.length>0),I=y.filter(o=>o.categoryId==null||!x.has(o.categoryId));return I.length>0&&P.push({key:"category-none",label:E,sessions:I}),P}function Dc(C,y,E){const x=Math.min(100,Math.max(1,Math.floor(Number(y)||10))),P=[...C].sort((o,w)=>(w.updatedAt||0)-(o.updatedAt||0)).slice(0,x),I=new Set(P.map(o=>o.id));return{group:{key:"recent",label:E,sessions:P},remaining:C.filter(o=>!I.has(o.id))}}var $c=fe((()=>{}));function Rc(C){const y=v([]),E=v([]);function x(){try{const A=localStorage.getItem(ps);if(A)return JSON.parse(A)}catch(A){console.error("Failed to load default workspaces:",A)}return[]}function P(A){try{localStorage.setItem(ps,JSON.stringify(A)),y.value=A}catch(F){console.error("Failed to save default workspaces:",F)}}function I(A){const F=x();F.includes(A)||(F.push(A),P(F))}function o(A){P(x().filter(F=>F!==A))}function w(A){return x().includes(A)?(o(A),!1):(I(A),!0)}function $(A){return y.value.includes(A)}function M(){try{const A=localStorage.getItem(fs);if(A)return JSON.parse(A)}catch(A){console.error("Failed to load recent workspaces:",A)}return[]}function L(A){try{localStorage.setItem(fs,JSON.stringify(A)),E.value=A}catch(F){console.error("Failed to save recent workspaces:",F)}}function O(A){const F=M(),H=F.find(ne=>ne.path===A);H?(H.lastUsed=Date.now(),H.useCount++):F.push({path:A,lastUsed:Date.now(),useCount:1}),F.sort((ne,ce)=>ce.lastUsed-ne.lastUsed),L(F.slice(0,Vi))}function _(){return[...E.value].sort((A,F)=>F.lastUsed-A.lastUsed)}function g(){if(y.value.length===0)return null;const A=_();for(const F of A)if(y.value.includes(F.path))return F.path;return y.value[0]}function l(){y.value=x(),E.value=M()}return{defaultWorkspaces:y,recentWorkspaces:E,loadDefaultWorkspaces:x,saveDefaultWorkspaces:P,addDefaultWorkspace:I,removeDefaultWorkspace:o,toggleDefaultWorkspace:w,isDefaultWorkspace:$,loadRecentWorkspaces:M,saveRecentWorkspaces:L,recordWorkspaceUsage:O,getSortedRecentWorkspaces:_,getMostRecentDefaultWorkspace:g,init:l,defaultWorkspaceCount:h(()=>y.value.length),hasDefaultWorkspace:h(()=>y.value.length>0),autoSelectedWorkspace:h(()=>g())}}var ps,fs,Vi,Tc=fe((()=>{Qt(),ps="hermes:default_workspaces",fs="hermes:recent_workspaces",Vi=10})),bo,Co,Mo,xo,Po,Ao,Eo,Do,$o,Ro,To,Io,Lo,No,Bo,Fo,Oo,Uo,Wo,Vo,zo,Go,Ko,qo,Ho,jo,Jo,Xo,Yo,Qo,Zo,el,tl,al,sl,nl,ol,ll,il,rl,ul,cl,dl,vl,pl,fl,ml,hl,gl,_l,wl,yl,kl,Sl,bl,Cl,Ml,xl,Pl,Al,El,Dl,$l,Rl,Tl,Il,Ll,Nl,Bl,Fl,Ol,Ul,Wl,Vl,zl,Gl,Kl,ql,Hl,jl,Jl,Xl,Yl,Ql,Zl,ei,ti,ai,si,ni,oi,li,ii,ri,ds,vs,Aa,zi,ui=fe((()=>{Qt(),su(),gu(),_i(),hi(),mu(),du(),Su(),xu(),Kr(),Qr(),$a(),vu(),Pu(),Iu(),kc(),xc(),Tu(),tc(),ac(),wu(),Ac(),$c(),rc(),uc(),ci(),Tc(),pc(),ic(),pi(),pu(),Gr(),bo={key:0,class:"page-sidebar-top"},Co={class:"session-list-toolbar"},Mo={class:"session-list-actions"},xo={key:1,class:"session-items"},Po={key:0,class:"session-loading"},Ao={key:1,class:"session-empty"},Eo={class:"session-group-header session-group-header--static"},Do={class:"session-group-label"},$o={class:"session-group-count"},Ro=["title"],To={class:"session-group-header session-group-header--static"},Io={class:"session-group-label"},Lo={class:"session-group-count"},No=["onClick","onContextmenu"],Bo={class:"session-group-label"},Fo={class:"session-group-count"},Oo={key:2,class:"page-sidebar-bottom"},Uo={key:0,class:"session-model-kind-field"},Wo={class:"session-model-kind-label"},Vo=["aria-busy"],zo=["onClick"],Go={class:"session-model-group-label"},Ko={class:"session-model-group-count"},qo={class:"session-model-group-items"},Ho=["aria-disabled","title","onClick"],jo={class:"session-model-item-label"},Jo={class:"session-model-item-name"},Xo={key:0,class:"session-model-item-id"},Yo={key:0,class:"session-model-badge-preview"},Qo={key:1,class:"session-model-badge-disabled"},Zo={key:2,class:"session-model-badge-custom"},el={key:3,class:"session-model-check",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},tl={key:0,class:"session-model-empty"},al=["aria-busy"],sl={class:"session-model-group-items session-moa-items"},nl=["aria-disabled","onClick"],ol={class:"session-model-item-label"},ll={class:"session-model-item-name"},il={key:0,class:"session-model-check",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},rl={key:0,class:"session-model-empty"},ul={key:3,class:"session-model-custom"},cl={class:"session-model-custom-row"},dl={class:"session-model-custom-hint"},vl={class:"new-chat-form"},pl={class:"new-chat-field"},fl={class:"new-chat-label"},ml={key:0,class:"new-chat-field"},hl={class:"new-chat-label"},gl={class:"new-chat-field"},_l={class:"new-chat-label"},wl={class:"new-chat-field"},yl={class:"new-chat-label"},kl={class:"new-chat-field-hint"},Sl={key:1,class:"new-chat-field"},bl={class:"new-chat-label"},Cl={key:2,class:"new-chat-field"},Ml={class:"new-chat-label"},xl={key:3,class:"new-chat-field"},Pl={class:"new-chat-label"},Al={key:4,class:"new-chat-field"},El={class:"new-chat-label"},Dl={key:5,class:"new-chat-field"},$l={class:"new-chat-label"},Rl={key:6,class:"new-chat-field"},Tl={class:"new-chat-label"},Il={class:"new-chat-field"},Ll={class:"new-chat-label"},Nl={class:"workspace-default-badge"},Bl={key:0,class:"default-workspace-chips"},Fl={class:"default-workspace-label"},Ol={class:"workspace-chips-container"},Ul=["onClick","title"],Wl={key:0,class:"workspace-chip-separator"},Vl={key:0,class:"workspace-chip-dropdown"},zl={key:0,class:"workspace-dropdown-menu"},Gl=["onClick","title"],Kl={key:1,class:"recent-workspaces"},ql={class:"recent-workspaces-label"},Hl={class:"recent-workspaces-chips"},jl=["onClick","title"],Jl=["onClick","title"],Xl={class:"new-chat-actions"},Yl={key:0,class:"chat-header"},Ql={class:"header-left"},Zl={class:"header-session-title"},ei=["title"],ti={class:"header-actions"},ai={class:"chat-tool-panel-inner"},si={class:"chat-tool-tabs",role:"tablist"},ni=["title","aria-label","aria-selected"],oi=["title","aria-label","aria-selected"],li=["title","aria-label","aria-selected"],ii={class:"chat-tool-content"},ri=360,ds=560,vs="hermes.chat.toolPanelWidth",Aa="hermes_chat_collapsed_categories",zi=Da({__name:"ChatPanel",props:{standalone:{type:Boolean,default:!1}},setup(C){const y=C,E=Ca(async()=>(await Ma(async()=>{const{default:e}=await import("./FilesPanel-BHcg6CpC.js");return{default:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]))).default),x=Ca(async()=>(await Ma(async()=>{const{default:e}=await import("./FilePreview-B7WqYvZs.js").then(t=>(t.r(),t.n));return{default:e}},__vite__mapDeps([13,1,2,14,10,3,9,4,5,6,7,15,16]))).default),P=Ca(async()=>(await Ma(async()=>{const{default:e}=await import("./WorkspaceDiffPreview-EwZAE18F.js");return{default:e}},__vite__mapDeps([17,1,2,14,10,18,3,19,4,5,6,7,20]))).default),I=Ca(async()=>(await Ma(async()=>{const{default:e}=await import("./DesktopBrowserPanel-CWjTU-3y.js");return{default:e}},__vite__mapDeps([21,1,2,22]))).default),o=wi(),w=mi(),$=fu(),M=cu(),L=Cu(),O=Mu(),_=Xr(),g=jr(),{t:l}=Ra(),A=h(()=>Wr()),F=v(!1),H=v(!1),ne=v(null),ce=v(null),q=v(null),j=v(null);let u=null;const S=v(0),B=v(!1),U=v(!1),_e=v(!1),oe=v("files"),Ne=Vr(),We=is()?.isDesktop===!0&&typeof is()?.openChatWindow=="function",de=v(null),Ve=h(()=>{const e=de.value;return e?o.getSubagentStream(e.sessionId,e.subagentId):null}),Je=h(()=>o.activeSession?.workspace&&!o.activeSession.isLocalOnly?o.activeSession.id:null),Zt=h(()=>o.activeSession?.id&&!o.activeSession.isLocalOnly?o.activeSession.id:null),xt=h(()=>o.activeSession?.workspace&&!o.activeSession.isLocalOnly?o.activeSession.workspace:null),Pe=v(Xe()),Ae=v(null),be=v("chat"),G=v(!1),J=v(new Set),Ce=v(!1),ve=v(!1),z=v(!y.standalone&&(typeof window>"u"||!window.matchMedia("(max-width: 768px)").matches)),ut=h(()=>!y.standalone&&be.value==="chat"&&z.value);let W=null;const Me=v(typeof window<"u"&&window.matchMedia("(max-width: 768px)").matches),ye=h(()=>({width:Me.value?"100%":`min(${Pe.value}px, 100%)`}));function ze(){o.activeSessionId&&(H.value=!0)}function ct(){H.value=!1}function Ee(e){return _.resolve({name:o.runtimeMode==="global_agent"?"hermes.globalAgentSession":"hermes.session",params:{sessionId:e}}).href}function Ge(e){if(typeof window>"u")return;const t=is();if(t?.isDesktop&&t.openChatWindow){t.openChatWindow(e,As(e)||void 0);return}window.open(Ee(e),"_blank","noopener,noreferrer")}function dt(e){ne.value?.scrollToAnchor(e.messageId,e.anchorId),Me.value&&(F.value=!1)}function Xe(){if(typeof window>"u")return ds;const e=Number.parseInt(window.localStorage.getItem(vs)||"",10);return Number.isFinite(e)?Math.round(e):ds}function Pt(){if(typeof window>"u")return 1180;if(Me.value)return window.innerWidth;const e=q.value?.clientWidth||window.innerWidth;return Math.max(320,Math.min(Math.floor(e*.88),e-120))}function vt(e){const t=Pt();return Math.min(t,Math.max(Math.min(ri,t),Math.round(e)))}function Ke(){Me.value||(Pe.value=vt(Pe.value))}function pt(e){const t=Ae.value;if(!t)return;const a=(e.clientX-t.x)*t.deltaSign;Pe.value=vt(t.width+a)}function ft(){Ae.value&&(Ae.value=null,window.removeEventListener("pointermove",pt),window.removeEventListener("pointerup",ft),Me.value||window.localStorage.setItem(vs,String(Pe.value)),document.body.style.userSelect="",document.body.style.cursor="")}function ea(e){Me.value||(e.preventDefault(),Ae.value={x:e.clientX,width:Pe.value,deltaSign:document.documentElement.dir==="rtl"?1:-1},window.addEventListener("pointermove",pt),window.addEventListener("pointerup",ft),document.body.style.userSelect="none",document.body.style.cursor="col-resize")}function qe(){return L.workspaceDiff&&M.hasUnsavedChanges?(g.warning(l("files.unsavedChanges")),!1):(L.workspaceDiff&&M.editingFile&&M.closeEditor(),M.closePreview(),L.closeWorkspaceDiff(),de.value=null,U.value=!1,!0)}function La(){if(U.value){qe();return}U.value=!0}function Na(){_e.value=!1}function Ba(){_e.value=!0}function ta(){_e.value=!1}function Fa(){_e.value=!0}function He(e){return Array.from(e.dataTransfer?.types||[]).includes("Files")}function Te(){S.value=0,B.value=!1}function aa(e){He(e)&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="copy"))}function sa(e){He(e)&&(e.preventDefault(),S.value+=1,B.value=!0)}function na(e){He(e)&&(S.value-=1,S.value<=0&&Te())}function Oa(e){if(!He(e))return;e.preventDefault();const t=Array.from(e.dataTransfer?.files||[]),a=e.target instanceof Element?e.target:null;Te(),!(!t.length||a?.closest(".chat-input-area"))&&ce.value?.addFiles?.(t)}function Be(e){ce.value?.addFiles?.([e])}function At(e){ce.value?.addBrowserAttachment?.(e.file,e.context)}async function Ye(e){o.clearSessionCompletedUnread(e),await _.push({name:o.runtimeMode==="global_agent"?"hermes.globalAgentSession":"hermes.session",params:{sessionId:e}}),o.activeSessionId!==e&&await o.switchSession(e),W?.matches&&(z.value=!1)}function Et(e){Me.value=e.matches,e.matches&&z.value&&(z.value=!1)}function Dt(){z.value=!0}se(ut,e=>w.setPageSidebarExpanded(e),{immediate:!0});function Ua(e){const t=xt.value?.replace(/\\/g,"/").replace(/\/+$/,"");let a=e;try{a=decodeURIComponent(e)}catch{}const r=a.replace(/\\/g,"/").replace(/\/+$/,"");if(!r||!(r.startsWith("/")||/^[a-zA-Z]:\//.test(r)))return null;if(!t)return r;const N=/^[a-zA-Z]:\//.test(t),ge=N?t.toLowerCase():t;return(N?r.toLowerCase():r).startsWith(`${ge}/`)?r.slice(t.length+1):r}function $t(e){const t=e,a=Zt.value,r=Ua(typeof t.detail?.path=="string"?t.detail.path:"");if(!a||!r)return;t.preventDefault();const N=t.detail?.fileName||r.split("/").pop()||r;M.closePreview(),L.closeWorkspaceDiff(),de.value=null,M.openSessionWorkspacePreview(a,r,N).catch(ge=>{g.error(ge instanceof Error?ge.message:l("files.previewFailed"))})}function le(e){const t=e.detail;if(!(!t?.sessionId||!t.subagentId||t.sessionId!==o.activeSessionId)){if(L.workspaceDiff&&M.hasUnsavedChanges){g.warning(l("files.unsavedChanges"));return}L.workspaceDiff&&M.editingFile&&M.closeEditor(),M.closePreview(),L.closeWorkspaceDiff(),de.value=t,U.value=!0}}function Rt(){if(Ne){if(L.workspaceDiff&&M.hasUnsavedChanges){g.warning(l("files.unsavedChanges"));return}L.workspaceDiff&&M.editingFile&&M.closeEditor(),M.closePreview(),L.closeWorkspaceDiff(),de.value=null,oe.value="browser",U.value=!0}}Ea(()=>{W=window.matchMedia("(max-width: 768px)"),Et(W),W.addEventListener("change",Et),window.addEventListener("hermes:open-page-sidebar",Dt),window.addEventListener("hermes:preview-workspace-file",$t),window.addEventListener(an,Rt),window.addEventListener(dn,le),window.addEventListener("resize",Ke),Ke(),$.profiles.length===0&&$.fetchProfiles(),y.standalone||ca()}),se(()=>o.activeSessionId,async(e,t)=>{if(!e||!t||e===t)return;(M.previewFile||L.workspaceDiff||de.value)&&qe(),await as();const a=j.value;!a||typeof a.animate!="function"||(u?.cancel(),u=a.animate([{opacity:0},{opacity:1}],{duration:1500,easing:"ease"}))},{flush:"post"}),vi(()=>{W?.removeEventListener("change",Et),window.removeEventListener("hermes:open-page-sidebar",Dt),window.removeEventListener("hermes:preview-workspace-file",$t),window.removeEventListener(an,Rt),window.removeEventListener(dn,le),window.removeEventListener("resize",Ke),ft(),u?.cancel(),M.previewFile?.workspaceSessionId&&M.closePreview(),L.closeWorkspaceDiff(),u=null}),se(U,async e=>{!e||Me.value||(await as(),Ke())}),se(()=>L.workspaceDiff,e=>{e&&(de.value=null,U.value=!0)}),se(()=>M.previewFile,e=>{e&&(de.value=null,U.value=!0)});const Qe=v(!1),Z=v(""),De=v(null),oa=v(null),Tt=h(()=>o.sessionProfileFilter),X=v([]),Ze=v(!1),It=v(!1);let Fe=null;const je=v(!1),mt=v(O.recentCount);function la(){try{const e=JSON.parse(localStorage.getItem(Aa)||"[]");return new Set(Array.isArray(e)?e.map(String):[])}catch{return new Set}}const me=v(la());function ht(){localStorage.setItem(Aa,JSON.stringify([...me.value]))}function Wa(e){const t=new Set(me.value);t.has(e)?t.delete(e):t.add(e),me.value=t,ht()}const et=h(()=>[{label:l("chat.allProfiles"),value:"__all__"},...$.profiles.map(e=>({label:e.name,value:e.name}))]);async function Va(e){o.setSessionProfileFilter(e==="__all__"?null:e),await o.loadSessions(o.sessionProfileFilter)}function gt(e){return[...e].sort((t,a)=>{const r=o.isSessionLive(t.id);return r!==o.isSessionLive(a.id)?r?-1:1:(a.updatedAt||0)-(t.updatedAt||0)})}const ia=h(()=>Dc(o.sessions,O.recentCount,l("chat.recent"))),_t=h(()=>ia.value.group),ra=h(()=>ia.value.remaining),Lt=h(()=>gt(ra.value.filter(e=>O.isPinned(e.id)))),za=h(()=>gt(ra.value.filter(e=>!O.isPinned(e.id)))),Oe=h(()=>Ec(X.value,za.value,l("chat.uncategorized")));function ua(e){e.stopPropagation(),mt.value=O.recentCount,je.value=!0}function Nt(){O.setRecentCount(mt.value),je.value=!1}se(()=>[It.value,Oe.value.map(e=>e.key).join("\0"),o.activeSessionId],()=>{if(!It.value||Oe.value.length===0)return;const e=o.sessions.find(r=>r.id===o.activeSessionId),t=e?.categoryId==null?"category-none":`category-${e.categoryId}`;if(me.value.has(t)&&(me.value=new Set([...me.value].filter(r=>r!==t)),ht()),localStorage.getItem(Aa)!==null)return;const a=Oe.value.some(r=>r.key===t)?t:Oe.value[0]?.key;me.value=new Set(Oe.value.map(r=>r.key).filter(r=>r!==a)),ht()},{immediate:!0});async function ca(){return Fe||(Ze.value=!0,Fe=(async()=>{try{X.value=await nu()}catch{g.error(l("chat.categoryLoadFailed"))}finally{It.value=!0,Ze.value=!1,Fe=null}})(),Fe)}se(()=>[o.sessionsLoaded,...o.sessions.map(e=>e.id)],e=>{const t=e.slice(1);!e[0]||t.length===0||O.pruneMissingSessions(t)},{immediate:!0});const da=h(()=>o.activeSession?.title||l("chat.newChat")),Ga=h(()=>{const e=o.activeSession;return e?.model?e.provider==="moa"?`MoA · ${e.model}`:w.displayModelName(e.model,e.provider):l("models.selectModel")}),i=h(()=>be.value==="live"?l("chat.liveSessions"):da.value),d=v(!1),f=v("hermes"),D=v("scoped"),T=v("default"),V=v(""),ee=v(""),ie=v("model"),ke=v(""),we=v(""),Bt=v("codex_responses"),he=v(""),tt=v(null),Ft=v(!1),Ie=v(!1),Gi=h(()=>[{label:l("chat.uncategorized"),value:0},...X.value.map(e=>({label:e.name,value:e.id}))]);async function Ki(e){if(e===null||e===0){tt.value=null;return}if(typeof e=="number"){tt.value=e;return}const t=e.trim().replace(/\s+/g," ");if(!t)return;const a=X.value.find(r=>r.name.toLocaleLowerCase()===t.toLocaleLowerCase());if(a){tt.value=a.id;return}Ft.value=!0;try{const r=await ou(t);X.value.some(N=>N.id===r.id)||(X.value=[...X.value,r].sort((N,ge)=>N.name.localeCompare(ge.name))),tt.value=r.id,g.success(l("chat.categoryCreated",{name:r.name}))}catch(r){g.error(r?.message||l("chat.categoryCreateFailed"))}finally{Ft.value=!1}}const Y=v([]),Ot=v([]);let xe=null;function ms(e){xe=Rc(e),Y.value=xe.loadDefaultWorkspaces(),Ot.value=xe.loadRecentWorkspaces()}function qi(){if(!xe)return;const e=he.value;e&&(Y.value.includes(e)?(xe.removeDefaultWorkspace(e),Y.value=Y.value.filter(t=>t!==e)):(xe.addDefaultWorkspace(e),Y.value=[...Y.value,e]))}function Hi(e){he.value=e}function hs(e){he.value=e,va.value=!1}function gs(e){xe&&(Y.value.includes(e)?(xe.removeDefaultWorkspace(e),Y.value=Y.value.filter(t=>t!==e)):(xe.addDefaultWorkspace(e),Y.value=[...Y.value,e]))}const Ka=h(()=>!!(he.value&&Y.value.includes(he.value))),va=v(!1);function qa(e){if(!e)return"";const t=e.split("/");return t[t.length-1]||e}const _s=h(()=>{if(Y.value.length===0)return null;const e=[...Ot.value].sort((t,a)=>a.lastUsed-t.lastUsed);for(const t of e)if(Y.value.includes(t.path))return t.path;return Y.value[0]}),pa=h(()=>{if(Y.value.length===0)return[];const e=Math.min(2,Y.value.length);return Y.value.slice(0,e)}),ws=h(()=>Y.value.length>pa.value.length),ji=h(()=>{const e=new Set(pa.value);return Y.value.filter(t=>!e.has(t))}),Ji=h(()=>[{label:"Hermes",value:"hermes"},{label:"Claude Code",value:"claude-code"},{label:"Codex",value:"codex"},{label:"Ekko Agent",value:"ekko-agent"}]),ys=h(()=>[{label:l("codingAgents.protocolOpenAiChat"),value:"chat_completions"},{label:l("codingAgents.protocolOpenAiResponses"),value:"codex_responses"},{label:l("codingAgents.protocolAnthropicMessages"),value:"anthropic_messages"}]),Xi=h(()=>[{label:l("codingAgents.launchModeGlobal"),value:"global"},{label:l("codingAgents.launchModeScoped"),value:"scoped"}]);function ks(e){return w.profileModelGroups.find(t=>t.profile===e)?.groups||[]}function Yi(e){if(e.provider==="moa")return f.value==="hermes";const t=f.value==="ekko-agent"?"scoped":D.value;return f.value!=="hermes"&&t==="scoped"?vn(f.value,e.provider):!0}function fa(e){return ks(e).filter(Yi)}function Qi(e){const t=fa(e),a=$.activeProfileName||"default",r=w.selectedProvider||"",N=w.selectedModel||"",ge=r?t.find(it=>it.provider===r):void 0;if(e===a&&ge?.models.includes(N))return{provider:r,model:N};const Le=w.profileModelGroups.find(it=>it.profile===e),Re=Le?.default_provider||"",bt=Le?.default||"",ts=(Re?t.find(it=>it.provider===Re):void 0)||t.find(it=>it.models.length>0);return{provider:ts?.provider||"",model:ts?.models.includes(bt)?bt:ts?.models[0]||""}}const Zi=h(()=>($.profiles.length>0?$.profiles:[{name:"default"}]).map(e=>({label:e.name,value:e.name}))),Ha=h(()=>{const e=fa(T.value);return ie.value==="moa"?e.filter(t=>t.provider==="moa"):e.filter(t=>t.provider!=="moa")}),Ss=h(()=>fa(T.value).find(e=>e.provider==="moa")),er=h(()=>f.value==="hermes"&&!!Ss.value?.models.length),tr=h(()=>Ha.value.map(e=>({label:e.label||e.provider,value:e.provider}))),bs=h(()=>{const e=Ha.value.find(t=>t.provider===V.value);return(e?.models||[]).map(t=>({label:w.displayModelName(t,e?.provider),value:t}))}),wt=h(()=>Ha.value.find(e=>e.provider===V.value)),at=h(()=>f.value!=="hermes"),Cs=h(()=>f.value==="claude-code"||f.value==="codex"),yt=h(()=>f.value==="ekko-agent"?"scoped":D.value),ar=h(()=>at.value&&yt.value==="global"),Ut=h(()=>!ar.value),Ms=h(()=>at.value&&yt.value==="scoped"&&!wt.value?.base_url),sr=h(()=>vc(f.value,wt.value?.provider)),xs=h(()=>at.value&&yt.value==="scoped"&&!sr.value&&!wt.value?.api_key),nr=h(()=>Ft.value||!T.value?!1:Ut.value?!V.value||!ee.value?!1:at.value?!(at.value&&yt.value==="scoped"&&!Bt.value||Ms.value&&!ke.value.trim()||xs.value&&!we.value.trim()):!0:!0);function or(e){const t=String(e?.provider||V.value||"").toLowerCase(),a=String(e?.base_url||ke.value||"").toLowerCase();return rs(e?.api_mode,sn(t,a))}function ma(){Bt.value=or(wt.value)}function ja(){const e=Qi(T.value);ie.value=e.provider==="moa"&&f.value==="hermes"?"moa":"model",V.value=e.provider,ee.value=e.model,ke.value="",we.value="",ma()}function lr(e){if(e==="moa"){const t=Ss.value;if(!t?.models.length)return;ie.value="moa",V.value="moa",ee.value=t.models[0]}else{ie.value="model";const t=fa(T.value).filter(N=>N.provider!=="moa"),a=w.profileModelGroups.find(N=>N.profile===T.value),r=t.find(N=>N.provider===a?.default_provider)||t.find(N=>N.models.length>0);V.value=r?.provider||"",ee.value=r?.models.includes(a?.default||"")?a?.default||"":r?.models[0]||""}ke.value="",we.value="",ma()}function ir(){if(!Ut.value)return;const e=wt.value;if(e&&e.models.includes(ee.value)){ma();return}ja()}se(()=>[f.value,D.value,T.value],()=>{ir(),T.value&&ms(T.value)});async function Ps(){G.value=!1,J.value.clear(),Ce.value=!1,d.value=!0,Ie.value=!0,tt.value=null;try{await ca(),$.profiles.length===0&&await $.fetchProfiles(),w.modelGroups.length===0&&w.profileModelGroups.length===0&&await w.loadModels(),T.value=$.activeProfileName||$.profiles.find(e=>e.active)?.name||$.profiles[0]?.name||"default",ms(T.value),_s.value?he.value=_s.value:he.value="",ja()}finally{Ie.value=!1}}function rr(e){T.value=e,ja()}function ur(e){V.value=e,ee.value=bs.value[0]?.value||"",ke.value="",we.value="",ma()}async function cr(){if(Cs.value){Ie.value=!0;try{const Le=f.value,Re=(await _u()).tools.find(bt=>bt.id===Le);if(!Re?.installed){const bt=Le==="codex"?"Codex":"Claude Code";g.warning(l("codingAgents.installRequired",{agent:Re?.name||bt})),d.value=!1,await _.push({name:"hermes.codingAgents"});return}}catch{g.error(l("codingAgents.loadFailed"));return}finally{Ie.value=!1}}const e=wt.value,t=f.value==="hermes"?"cli":"coding_agent",a=yt.value,r=t==="coding_agent"&&a==="global",N=f.value==="codex"?"codex":f.value==="claude-code"?"claude":f.value==="ekko-agent"?"ekko-agent":"hermes",ge=o.newChat({profile:T.value,provider:r?void 0:V.value,model:r?void 0:ee.value,source:t,agent:N,codingAgentId:f.value==="hermes"?void 0:f.value,codingAgentMode:t==="coding_agent"?a:void 0,workspace:he.value||null,categoryId:tt.value,baseUrl:t==="coding_agent"&&!r&&(e?.base_url||ke.value.trim())||void 0,apiKey:t==="coding_agent"&&!r&&(e?.api_key||we.value.trim())||void 0,apiMode:at.value&&!r?Bt.value:void 0});he.value&&xe&&(xe.recordWorkspaceUsage(he.value),Ot.value=xe.loadRecentWorkspaces()),await _.push({name:o.runtimeMode==="global_agent"?"hermes.globalAgentSession":"hermes.session",params:{sessionId:ge.id}}),d.value=!1}function As(e){return o.sessions.find(t=>t.id===e)?.profile||null}function dr(e,t){const a=_.resolve({name:o.runtimeMode==="global_agent"?"hermes.globalAgentSession":"hermes.session",params:{sessionId:e},query:t?{profile:t}:void 0}).href;return`${window.location.origin}${window.location.pathname}${a}`}async function vr(e){const t=e||o.activeSessionId;t&&(await tn(dr(t,As(t)))?g.success(l("common.copied")):g.error(l("common.copied")+" ✗"))}async function Es(e){const t=e||o.activeSessionId;t&&(await tn(t)?g.success(l("common.copied")):g.error(l("common.copied")+" ✗"))}async function Ja(e){if(!await o.deleteSession(e)){g.error(l("common.deleteFailed"));return}O.removePinned(e),g.success(l("chat.sessionDeleted"))}function Ds(){ve.value||(G.value=!G.value,G.value||(J.value.clear(),Ce.value=!1))}function Wt(e){return`${e.profile||"default"}\0${e.id}`}function Xa(e){if(ve.value)return;const t=Wt(e);J.value.has(t)?J.value.delete(t):J.value.add(t),J.value=new Set(J.value),J.value.size===0&&(Ce.value=!1)}function Ya(e){return J.value.has(Wt(e))}async function pr(){if(J.value.size===0||ve.value)return;const e=new Map(o.sessions.map(a=>[Wt(a),a])),t=Array.from(J.value).map(a=>e.get(a)).filter(a=>!!a).map(a=>({id:a.id,profile:a.profile||null}));if(t.length!==0){ve.value=!0;try{const a=await ru(t);if(a.deleted>0){for(const r of t)O.removePinned(r.id);await o.loadSessions(o.sessionProfileFilter),g.success(l("chat.batchDeleteSuccess",{count:a.deleted})),a.failed>0&&g.warning(l("chat.batchDeletePartial",{failed:a.failed}))}else g.error(l("chat.batchDeleteFailed"))}catch{g.error(l("chat.batchDeleteFailed"))}finally{ve.value=!1,Ce.value=!1,G.value=!1,J.value.clear()}}}function fr(){return pr(),!1}function mr(){if(!ve.value){J.value.clear();for(const e of o.sessions)e.id!==o.activeSessionId&&J.value.add(Wt(e));J.value=new Set(J.value)}}const $s=h(()=>J.value.size),hr=h(()=>o.sessions.some(e=>e.id!==o.activeSessionId)),re=v(null),gr=h(()=>re.value?O.isPinned(re.value):!1),Vt=h(()=>re.value&&o.sessions.find(e=>e.id===re.value)||null),zt=v(!1),Rs=v(0),Ts=v(0),Gt=v(null),_r=h(()=>X.value.find(e=>e.id===Gt.value)?.name||""),wr=h(()=>[{label:l("chat.renameCategory"),key:"rename"},{label:l("chat.deleteCategory"),key:"delete"}]),ha=v(!1),ga=v(""),_a=v(!1);function yr(e,t){if(t==="category-none")return;const a=Number(t.slice(9));Number.isSafeInteger(a)&&(e.preventDefault(),e.stopPropagation(),Kt.value=!1,Gt.value=a,Rs.value=e.clientX,Ts.value=e.clientY,zt.value=!0)}function kr(e){zt.value=!1;const t=X.value.find(a=>a.id===Gt.value);t&&(e==="rename"?(ga.value=t.name,ha.value=!0):e==="delete"&&(_a.value=!0))}async function Is(){const e=Gt.value,t=ga.value.trim().replace(/\s+/g," ");if(!e||!t)return!1;try{const a=await eu(e,t);X.value=X.value.map(r=>r.id===a.id?a:r).sort((r,N)=>r.name.localeCompare(N.name)),g.success(l("chat.categoryRenamed")),ha.value=!1}catch(a){return g.error(a?.message||l("chat.categoryRenameFailed")),!1}}async function Sr(){const e=Gt.value;if(!e)return!1;try{await uu(e),X.value=X.value.filter(a=>a.id!==e);for(const a of o.sessions)a.categoryId===e&&(a.categoryId=null);const t=`category-${e}`;me.value.has(t)&&(me.value=new Set([...me.value].filter(a=>a!==t)),ht()),g.success(l("chat.categoryDeleted")),_a.value=!1}catch(t){return g.error(t?.message||l("chat.categoryDeleteFailed")),!1}}const br=h(()=>{const e=[{label:l(gr.value?"chat.unpin":"chat.pin"),key:"pin"},{label:l("chat.rename"),key:"rename"}];return Vt.value?.source!=="global_agent"&&e.push({label:l("chat.archiveSession"),key:"archive"}),e.push({label:l("chat.setWorkspace"),key:"workspace"}),(Vt.value?.source==="cli"||Vt.value?.source==="coding_agent")&&e.push({label:l("chat.setModel"),key:"model"}),e.push({label:l("chat.moveToCategory"),key:"category",children:[{label:l("chat.uncategorized"),key:"category:none"},...X.value.map(t=>({label:t.name,key:`category:${t.id}`}))]}),e.push({label:l("chat.export"),key:"export",children:[{label:l("chat.exportFull"),key:"export-full",children:[{label:"JSON",key:"export-full-json"},{label:"TXT",key:"export-full-txt"}]},{label:l("chat.exportCompressed"),key:"export-compressed",children:[{label:"JSON",key:"export-compressed-json"},{label:"TXT",key:"export-compressed-txt"}]}]}),e.push({label:l(We?"chat.openSessionInNewWindow":"chat.openSessionInNewTab"),key:"open-link"}),e.push({label:l("chat.copySessionLink"),key:"copy-link"}),e.push({label:l("chat.copySessionId"),key:"copy-id"}),e});function Cr(){_.push({name:"hermes.settings"})}function Qa(e,t){e.preventDefault(),zt.value=!1,re.value=t,Kt.value=!0,Ls.value=e.clientX,Ns.value=e.clientY}const Kt=v(!1),Ls=v(0),Ns=v(0);function Bs(e){return e==="export-full-json"?{mode:"full",ext:"json"}:e==="export-full-txt"?{mode:"full",ext:"txt"}:e==="export-compressed-json"?{mode:"compressed",ext:"json"}:e==="export-compressed-txt"?{mode:"compressed",ext:"txt"}:null}async function Mr(e){if(Kt.value=!1,!!re.value){if(e==="pin"){O.togglePinned(re.value);return}if(e.startsWith("category:")){const t=Vt.value;if(!t)return;const a=e.slice(9),r=a==="none"?null:Number(a);if(r!==null&&!Number.isSafeInteger(r))return;try{t.isLocalOnly||await au(t.id,r)}catch(N){g.error(N?.message||l("chat.categoryUpdateFailed"));return}t.categoryId=r,g.success(l("chat.categoryUpdated"));return}if(e==="copy-link")vr(re.value);else if(e==="copy-id")Es(re.value);else if(e==="open-link")Ge(re.value);else if(e==="archive"){const t=Vt.value;await o.archiveSession(re.value)?(O.removePinned(re.value),t&&(J.value.delete(Wt(t)),J.value=new Set(J.value)),g.success(l("chat.sessionArchived"))):g.error(l("chat.archiveSessionFailed"))}else if(Bs(e)){const{mode:t,ext:a}=Bs(e),r=t==="compressed"?g.loading(l("chat.exportCompressing"),{duration:0}):null;try{await iu(re.value,t,a),r?.destroy(),g.success(l("chat.exportSuccess"))}catch{r?.destroy(),g.error(l("chat.exportFailed"))}}else if(e==="workspace"){const t=o.sessions.find(a=>a.id===re.value);kt.value=re.value,st.value=t?.workspace||"",qt.value=!0}else if(e==="model")await js(re.value);else if(e==="rename"){const t=o.sessions.find(a=>a.id===re.value);De.value=re.value,Z.value=t?.title||"",Qe.value=!0,as(()=>{oa.value?.focus()})}}}function xr(){Kt.value=!1}async function Fs(){if(!(!De.value||!Z.value.trim())){if(await lu(De.value,Z.value.trim())){const e=o.sessions.find(t=>t.id===De.value);e&&(e.title=Z.value.trim()),o.activeSession?.id===De.value&&(o.activeSession.title=Z.value.trim()),g.success(l("chat.renamed"))}else g.error(l("chat.renameFailed"));Qe.value=!1}}const qt=v(!1),st=v(""),kt=v(null);function Pr(){const e=o.activeSession;e?.id&&(kt.value=e.id,st.value=e.workspace||"",qt.value=!0)}async function Ar(){if(kt.value){if(await tu(kt.value,st.value||null)){const e=o.sessions.find(t=>t.id===kt.value);e&&(e.workspace=st.value||null),o.activeSession?.id===kt.value&&(o.activeSession.workspace=st.value||null),g.success(l("chat.workspaceSet"))}else g.error(l("chat.workspaceSetFailed"));qt.value=!1}}const wa=v(!1),Ht=v(!1),nt=v(null),ot=v(""),jt=v("model"),ya=v({}),St=v(""),lt=v(""),ka=v(""),Sa=v(""),Jt=v("codex_responses"),ba=v(null),K=v(!1),Os=h(()=>o.sessions.find(e=>e.id===nt.value)?.profile||null),$e=h(()=>o.sessions.find(e=>e.id===nt.value)||(o.activeSession?.id===nt.value?o.activeSession:void 0)),Us=h(()=>$e.value?.source==="coding_agent"&&$e.value?.codingAgentMode!=="global"),Ws=h(()=>$e.value?.codingAgentId||($e.value?.agent==="claude"?"claude-code":$e.value?.agent==="codex"?"codex":$e.value?.agent==="ekko-agent"?"ekko-agent":void 0)),Vs=h(()=>$e.value?.source==="coding_agent"||!!$e.value?.codingAgentId),zs=h(()=>Os.value?ks(Os.value).filter(e=>e.provider==="moa"?!Vs.value:!Us.value||!Ws.value||vn(Ws.value,e.provider)):[]),Xt=h(()=>zs.value.filter(e=>e.provider!=="moa")),Gs=h(()=>zs.value.find(e=>e.provider==="moa")),Za=h(()=>!Vs.value&&!!Gs.value?.models.length),Er=h(()=>Xt.value.map(e=>({label:e.label,value:e.provider}))),Ks=h(()=>Xt.value.map(e=>({...e,models:[...e.models,...(w.customModels[e.provider]||[]).filter(t=>!e.models.includes(t))]}))),qs=h(()=>{const e=ot.value.trim().toLowerCase();return e?Ks.value.map(t=>({...t,models:t.models.filter(a=>{const r=w.displayModelName(a,t.provider);return a.toLowerCase().includes(e)||r.toLowerCase().includes(e)})})).filter(t=>t.models.length>0||t.label.toLowerCase().includes(e)):Ks.value}),Hs=h(()=>{const e=Gs.value?.models||[],t=ot.value.trim().toLowerCase();return t?e.filter(a=>a.toLowerCase().includes(t)):e});async function js(e){w.modelGroups.length===0&&w.profileModelGroups.length===0&&await w.loadModels();const t=o.sessions.find(Re=>Re.id===e)||(o.activeSession?.id===e?o.activeSession:void 0);nt.value=e;const a=Xt.value,r=t?.provider?a.find(Re=>Re.provider===t.provider):void 0,N=r||a.find(Re=>Re.models.length>0),ge={provider:N?.provider||"",model:N?.models.includes(t?.model||"")?t?.model||"":N?.models[0]||""},Le=t?.provider==="moa"&&Za.value;jt.value=Le?"moa":"model",St.value=Le?t?.model||"":r?t?.model||ge.model||"":ge.model||"",lt.value=Le?"moa":r?t?.provider||"":ge.provider||"",Sa.value=Le?ge.provider:lt.value,ot.value="",ka.value="",ya.value={},wa.value=!0}function Dr(e){K.value||e==="moa"&&!Za.value||(jt.value=e,ot.value="")}function $r(){const e=o.activeSession?.id;if(!e){Ps();return}js(e)}function Js(e){return!!ya.value[e]}function Rr(e){K.value||(ya.value[e]=!ya.value[e])}function Tr(e,t){return(w.customModels[t]||[]).includes(e)}function Ir(e,t){return w.displayModelName(e,t)}function Lr(e,t){return w.getModelAlias(e,t)}function Xs(e){const t=Xt.value.find(N=>N.provider===e),a=String(t?.provider||e||"").toLowerCase(),r=String(t?.base_url||"").toLowerCase();return rs(t?.api_mode,sn(a,r))}async function es(e,t,a){if(!(!nt.value||K.value)){K.value=!0;try{await o.switchSessionModel(e,t,nt.value,a)?(St.value=e,lt.value=t,a&&(Jt.value=a),ba.value=null,Ht.value=!1,wa.value=!1,g.success(l("chat.modelSet"))):g.error(l("chat.modelSetFailed"))}finally{K.value=!1}}}async function Ys(e,t){if(!(Xt.value.find(a=>a.provider===t)?.model_meta?.[e]?.disabled||!nt.value||K.value)){if(Us.value){ba.value={model:e,provider:t},Jt.value=$e.value?.provider===t&&$e.value.apiMode?rs($e.value.apiMode,Xs(t)):Xs(t),Ht.value=!0;return}await es(e,t)}}async function Nr(e){!e||K.value||await es(e,"moa")}async function Br(){const e=ba.value;e&&await es(e.model,e.provider,Jt.value)}function Fr(){K.value||(ba.value=null,Ht.value=!1)}async function Or(){const e=ka.value.trim(),t=Sa.value;!e||!t||K.value||await Ys(e,t)}return(e,t)=>(c(),p("div",{class:ae(["chat-panel",{"chat-panel--standalone":C.standalone}])},[be.value==="chat"&&!C.standalone?(c(),p("div",{key:0,class:ae(["session-backdrop",{active:z.value}]),onClick:t[0]||(t[0]=a=>z.value=!1)},null,2)):k("",!0),be.value==="chat"&&!C.standalone?(c(),p("aside",{key:1,class:ae(["session-list",{collapsed:!z.value}])},[z.value?(c(),p("div",bo,[b(cc,{active:s(o).runtimeMode==="global_agent"?"global":"chat","primary-label":s(l)("chat.newChat"),onPrimary:Ps},null,8,["active","primary-label"]),n("div",Co,[b(s(Ue),{class:"session-profile-filter",value:Tt.value||"__all__",options:et.value,size:"small",loading:s($).loading,"onUpdate:value":Va},null,8,["value","options","loading"]),n("div",Mo,[n("button",{class:"session-close-btn",onClick:t[1]||(t[1]=a=>z.value=!1)},[...t[35]||(t[35]=[n("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[n("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),n("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])]),G.value?k("",!0):(c(),te(s(Se),{key:0,quaternary:"",size:"tiny",onClick:Ds,title:s(l)("chat.toggleBatchMode")},{icon:R(()=>[...t[36]||(t[36]=[n("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[n("path",{d:"M9 11l3 3L22 4"}),n("path",{d:"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"})],-1)])]),_:1},8,["title"])),G.value?(c(),te(s(Se),{key:1,quaternary:"",size:"tiny",onClick:mr,disabled:!hr.value||ve.value,title:s(l)("chat.selectAll")},{icon:R(()=>[...t[37]||(t[37]=[n("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[n("path",{d:"M9 11l3 3L22 4"}),n("path",{d:"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"})],-1)])]),_:1},8,["disabled","title"])):k("",!0),G.value&&$s.value>0?(c(),te(s(Ur),{key:2,show:Ce.value,"onUpdate:show":t[2]||(t[2]=a=>Ce.value=a),"positive-button-props":{loading:ve.value,disabled:ve.value},"negative-button-props":{disabled:ve.value},onPositiveClick:fr},{trigger:R(()=>[b(s(Se),{quaternary:"",size:"tiny",type:"error",loading:ve.value,disabled:ve.value},{icon:R(()=>[...t[38]||(t[38]=[n("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[n("polyline",{points:"3 6 5 6 21 6"}),n("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})],-1)])]),_:1},8,["loading","disabled"])]),default:R(()=>[ue(" "+m(s(l)("chat.confirmBatchDelete",{count:$s.value})),1)]),_:1},8,["show","positive-button-props","negative-button-props"])):k("",!0),G.value?(c(),te(s(Se),{key:3,quaternary:"",size:"tiny",onClick:Ds,disabled:ve.value},{icon:R(()=>[...t[39]||(t[39]=[n("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[n("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),n("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])]),_:1},8,["disabled"])):k("",!0)])])])):k("",!0),z.value?(c(),p("div",xo,[s(o).isLoadingSessions&&s(o).sessions.length===0?(c(),p("div",Po,m(s(l)("common.loading")),1)):s(o).sessions.length===0?(c(),p("div",Ao,m(s(l)("chat.noSessions")),1)):k("",!0),_t.value.sessions.length>0?(c(),p(Q,{key:2},[n("div",Eo,[n("span",Do,m(_t.value.label),1),n("span",$o,m(_t.value.sessions.length),1),n("button",{class:"session-group-config",type:"button",title:s(l)("chat.recentCount"),onClick:ua},"⚙",8,Ro)]),(c(!0),p(Q,null,pe(_t.value.sessions,a=>(c(),te(cs,{key:`recent-${a.id}`,session:a,active:a.id===s(o).activeSessionId,pinned:s(O).isPinned(a.id),"can-delete":a.id!==s(o).activeSessionId||s(o).sessions.length>1,streaming:s(o).isSessionLive(a.id),"completed-unread":s(o).isSessionCompletedUnread(a.id),selectable:G.value,selected:Ya(a),"show-profile":!0,to:Ee(a.id),"intercept-modified-navigation":s(We),onSelect:r=>Ye(a.id),onOpenNew:r=>Ge(a.id),onContextmenu:r=>Qa(r,a.id),onDelete:r=>Ja(a.id),onToggleSelect:r=>Xa(a)},null,8,["session","active","pinned","can-delete","streaming","completed-unread","selectable","selected","to","intercept-modified-navigation","onSelect","onOpenNew","onContextmenu","onDelete","onToggleSelect"]))),128))],64)):k("",!0),Lt.value.length>0?(c(),p(Q,{key:3},[n("div",To,[n("span",Io,m(s(l)("chat.pinned")),1),n("span",Lo,m(Lt.value.length),1)]),(c(!0),p(Q,null,pe(Lt.value,a=>(c(),te(cs,{key:`pinned-${a.id}`,session:a,active:a.id===s(o).activeSessionId,pinned:!0,"can-delete":a.id!==s(o).activeSessionId||s(o).sessions.length>1,streaming:s(o).isSessionLive(a.id),"completed-unread":s(o).isSessionCompletedUnread(a.id),selectable:G.value,selected:Ya(a),"show-profile":!0,to:Ee(a.id),"intercept-modified-navigation":s(We),onSelect:r=>Ye(a.id),onOpenNew:r=>Ge(a.id),onContextmenu:r=>Qa(r,a.id),onDelete:r=>Ja(a.id),onToggleSelect:r=>Xa(a)},null,8,["session","active","can-delete","streaming","completed-unread","selectable","selected","to","intercept-modified-navigation","onSelect","onOpenNew","onContextmenu","onDelete","onToggleSelect"]))),128))],64)):k("",!0),(c(!0),p(Q,null,pe(Oe.value,a=>(c(),p(Q,{key:a.key},[n("div",{class:"session-group-header",onClick:r=>Wa(a.key),onContextmenu:r=>yr(r,a.key)},[(c(),p("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",class:ae(["group-chevron",{collapsed:me.value.has(a.key)}])},[...t[40]||(t[40]=[n("polyline",{points:"9 18 15 12 9 6"},null,-1)])],2)),n("span",Bo,m(a.label),1),n("span",Fo,m(a.sessions.length),1)],40,No),me.value.has(a.key)?k("",!0):(c(!0),p(Q,{key:0},pe(a.sessions,r=>(c(),te(cs,{key:r.id,session:r,active:r.id===s(o).activeSessionId,pinned:!1,"can-delete":r.id!==s(o).activeSessionId||s(o).sessions.length>1,streaming:s(o).isSessionLive(r.id),"completed-unread":s(o).isSessionCompletedUnread(r.id),selectable:G.value,selected:Ya(r),"show-profile":!0,to:Ee(r.id),"intercept-modified-navigation":s(We),onSelect:N=>Ye(r.id),onOpenNew:N=>Ge(r.id),onContextmenu:N=>Qa(N,r.id),onDelete:N=>Ja(r.id),onToggleSelect:N=>Xa(r)},null,8,["session","active","can-delete","streaming","completed-unread","selectable","selected","to","intercept-modified-navigation","onSelect","onOpenNew","onContextmenu","onDelete","onToggleSelect"]))),128))],64))),128))])):k("",!0),z.value?(c(),p("div",Oo,[n("button",{class:"page-sidebar-menu-btn",type:"button",onClick:Cr},[t[41]||(t[41]=n("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[n("circle",{cx:"12",cy:"12",r:"3"}),n("path",{d:"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"})],-1)),n("span",null,m(s(l)("sidebar.settings")),1)]),b(dc)])):k("",!0)],2)):k("",!0),b(s(Qs),{placement:"bottom-start",trigger:"manual",x:Ls.value,y:Ns.value,options:br.value,show:Kt.value,onSelect:Mr,onClickoutside:xr},null,8,["x","y","options","show"]),b(s(rt),{show:je.value,"onUpdate:show":t[4]||(t[4]=a=>je.value=a),preset:"dialog",title:s(l)("chat.recentCount"),"positive-text":s(l)("common.ok"),"negative-text":s(l)("common.cancel"),onPositiveClick:Nt},{default:R(()=>[b(s(Zr),{value:mt.value,"onUpdate:value":t[3]||(t[3]=a=>mt.value=a),min:1,max:100},null,8,["value"])]),_:1},8,["show","title","positive-text","negative-text"]),b(s(Qs),{placement:"bottom-start",trigger:"manual",x:Rs.value,y:Ts.value,options:wr.value,show:zt.value,onSelect:kr,onClickoutside:t[5]||(t[5]=a=>zt.value=!1)},null,8,["x","y","options","show"]),b(s(rt),{show:ha.value,"onUpdate:show":t[7]||(t[7]=a=>ha.value=a),preset:"dialog",title:s(l)("chat.renameCategory"),"positive-text":s(l)("common.ok"),"negative-text":s(l)("common.cancel"),onPositiveClick:Is},{default:R(()=>[b(s(Ct),{value:ga.value,"onUpdate:value":t[6]||(t[6]=a=>ga.value=a),placeholder:s(l)("chat.enterCategoryName"),maxlength:40,onKeydown:ls(Is,["enter"])},null,8,["value","placeholder"])]),_:1},8,["show","title","positive-text","negative-text"]),b(s(rt),{show:_a.value,"onUpdate:show":t[8]||(t[8]=a=>_a.value=a),preset:"dialog",type:"warning",title:s(l)("chat.deleteCategory"),"positive-text":s(l)("common.delete"),"negative-text":s(l)("common.cancel"),onPositiveClick:Sr},{default:R(()=>[ue(m(s(l)("chat.confirmDeleteCategory",{name:_r.value})),1)]),_:1},8,["show","title","positive-text","negative-text"]),b(s(rt),{show:Qe.value,"onUpdate:show":t[10]||(t[10]=a=>Qe.value=a),preset:"dialog",title:s(l)("chat.renameSession"),"positive-text":s(l)("common.ok"),"negative-text":s(l)("common.cancel"),onPositiveClick:Fs},{default:R(()=>[b(s(Ct),{ref_key:"renameInputRef",ref:oa,value:Z.value,"onUpdate:value":t[9]||(t[9]=a=>Z.value=a),placeholder:s(l)("chat.enterNewTitle"),onKeydown:ls(Fs,["enter"])},null,8,["value","placeholder"])]),_:1},8,["show","title","positive-text","negative-text"]),b(s(rt),{show:qt.value,"onUpdate:show":t[12]||(t[12]=a=>qt.value=a),preset:"dialog",title:s(l)("chat.setWorkspaceTitle"),"positive-text":s(l)("common.ok"),"negative-text":s(l)("common.cancel"),style:{width:"520px"},onPositiveClick:Ar},{default:R(()=>[b(nn,{modelValue:st.value,"onUpdate:modelValue":t[11]||(t[11]=a=>st.value=a)},null,8,["modelValue"])]),_:1},8,["show","title","positive-text","negative-text"]),b(s(rt),{show:wa.value,"onUpdate:show":t[16]||(t[16]=a=>wa.value=a),preset:"card",title:s(l)("chat.setModelTitle"),style:{width:"min(480px, calc(100vw - 32px))"},"mask-closable":!K.value,"close-on-esc":!K.value,closable:!K.value},{default:R(()=>[b(s(zr),{show:K.value,class:"session-model-switch-spin"},{description:R(()=>[ue(m(s(l)("chat.modelSwitching")),1)]),default:R(()=>[Za.value?(c(),p("div",Uo,[n("span",Wo,m(s(l)("chat.modelType")),1),b(s(ss),{value:jt.value,name:"session-model-kind","onUpdate:value":Dr},{default:R(()=>[b(s(Yt),{value:"model"},{default:R(()=>[ue(m(s(l)("chat.standardModels")),1)]),_:1}),b(s(Yt),{value:"moa"},{default:R(()=>[ue(m(s(l)("chat.moaPresets")),1)]),_:1})]),_:1},8,["value"])])):k("",!0),b(s(Ct),{value:ot.value,"onUpdate:value":t[13]||(t[13]=a=>ot.value=a),placeholder:s(l)("models.searchPlaceholder"),disabled:K.value,clearable:"",size:"small",class:"session-model-search"},null,8,["value","placeholder","disabled"]),jt.value==="model"?(c(),p("div",{key:1,class:"session-model-list","aria-busy":K.value},[(c(!0),p(Q,null,pe(qs.value,a=>(c(),p("div",{key:a.provider,class:"session-model-group"},[n("div",{class:"session-model-group-header",onClick:r=>Rr(a.provider)},[(c(),p("svg",{class:ae(["session-model-group-arrow",{collapsed:Js(a.provider)}]),width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[...t[42]||(t[42]=[n("polyline",{points:"6 9 12 15 18 9"},null,-1)])],2)),n("span",Go,m(a.label),1),n("span",Ko,m(a.models.length),1)],8,zo),os(n("div",qo,[(c(!0),p(Q,null,pe(a.models,r=>(c(),p("div",{key:r,class:ae(["session-model-item",{active:r===St.value&&a.provider===lt.value,disabled:!!a.model_meta?.[r]?.disabled,switching:K.value}]),"aria-disabled":K.value||!!a.model_meta?.[r]?.disabled,title:a.model_meta?.[r]?.disabled?s(l)("models.disabledTooltip"):"",onClick:N=>Ys(r,a.provider)},[n("span",jo,[n("span",Jo,m(Ir(r,a.provider)),1),Lr(r,a.provider)?(c(),p("span",Xo,m(s(l)("models.aliasCanonical",{model:r})),1)):k("",!0)]),a.model_meta?.[r]?.preview?(c(),p("span",Yo,m(s(l)("models.previewBadge")),1)):k("",!0),a.model_meta?.[r]?.disabled?(c(),p("span",Qo,m(s(l)("models.disabledBadge")),1)):k("",!0),Tr(r,a.provider)?(c(),p("span",Zo,m(s(l)("models.customBadge")),1)):k("",!0),r===St.value&&a.provider===lt.value?(c(),p("svg",el,[...t[43]||(t[43]=[n("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):k("",!0)],10,Ho))),128))],512),[[ns,!Js(a.provider)]])]))),128)),qs.value.length===0?(c(),p("div",tl,m(ot.value?"No results":"No models"),1)):k("",!0)],8,Vo)):(c(),p("div",{key:2,class:"session-model-list","aria-busy":K.value},[n("div",sl,[(c(!0),p(Q,null,pe(Hs.value,a=>(c(),p("div",{key:a,class:ae(["session-model-item",{active:a===St.value&<.value==="moa",switching:K.value}]),"aria-disabled":K.value,onClick:r=>Nr(a)},[n("span",ol,[n("span",ll,m(a),1)]),a===St.value&<.value==="moa"?(c(),p("svg",il,[...t[44]||(t[44]=[n("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):k("",!0)],10,nl))),128))]),Hs.value.length===0?(c(),p("div",rl,m(s(l)("chat.noMoaPresets")),1)):k("",!0)],8,al)),jt.value==="model"?(c(),p("div",ul,[n("div",cl,[b(s(Ue),{value:Sa.value,"onUpdate:value":t[14]||(t[14]=a=>Sa.value=a),options:Er.value,disabled:K.value,size:"small",class:"session-model-custom-provider"},null,8,["value","options","disabled"]),b(s(Ct),{value:ka.value,"onUpdate:value":t[15]||(t[15]=a=>ka.value=a),placeholder:s(l)("models.customModelPlaceholder"),disabled:K.value,size:"small",class:"session-model-custom-input",onKeydown:ls(Or,["enter"])},null,8,["value","placeholder","disabled"])]),n("div",dl,m(s(l)("models.customModelHint")),1)])):k("",!0)]),_:1},8,["show"])]),_:1},8,["show","title","mask-closable","close-on-esc","closable"]),b(s(rt),{show:Ht.value,"onUpdate:show":t[18]||(t[18]=a=>Ht.value=a),preset:"dialog",title:s(l)("codingAgents.protocolScope"),"mask-closable":!K.value,"close-on-esc":!K.value,closable:!K.value,style:{width:"min(420px, calc(100vw - 32px))"}},{action:R(()=>[b(s(Se),{size:"small",disabled:K.value,onClick:Fr},{default:R(()=>[ue(m(s(l)("common.cancel")),1)]),_:1},8,["disabled"]),b(s(Se),{size:"small",type:"primary",loading:K.value,onClick:Br},{default:R(()=>[ue(m(K.value?s(l)("chat.modelSwitching"):s(l)("common.confirm")),1)]),_:1},8,["loading"])]),default:R(()=>[b(s(Ue),{value:Jt.value,"onUpdate:value":t[17]||(t[17]=a=>Jt.value=a),options:ys.value,disabled:K.value},null,8,["value","options","disabled"])]),_:1},8,["show","title","mask-closable","close-on-esc","closable"]),b(s(Hr),{show:d.value,"onUpdate:show":t[28]||(t[28]=a=>d.value=a),class:"new-chat-drawer",placement:"right",width:"min(440px, 100vw)","mask-closable":!0},{default:R(()=>[b(s(Yr),{title:s(l)("chat.newChat"),closable:""},{footer:R(()=>[n("div",Xl,[b(s(Se),{onClick:t[27]||(t[27]=a=>d.value=!1)},{default:R(()=>[ue(m(s(l)("common.cancel")),1)]),_:1}),b(s(Se),{type:"primary",disabled:!nr.value,onClick:cr},{default:R(()=>[ue(m(s(l)("common.create")),1)]),_:1},8,["disabled"])])]),default:R(()=>[n("div",vl,[n("label",pl,[n("span",fl,m(s(l)("chat.agent")),1),b(s(Ue),{value:f.value,"onUpdate:value":t[19]||(t[19]=a=>f.value=a),options:Ji.value,disabled:Ie.value},null,8,["value","options","disabled"])]),Cs.value?(c(),p("label",ml,[n("span",hl,m(s(l)("codingAgents.launchModeScope")),1),b(s(ss),{value:D.value,"onUpdate:value":t[20]||(t[20]=a=>D.value=a),name:"new-chat-coding-agent-mode"},{default:R(()=>[(c(!0),p(Q,null,pe(Xi.value,a=>(c(),te(s(Yt),{key:a.value,value:a.value},{default:R(()=>[ue(m(a.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])])):k("",!0),n("label",gl,[n("span",_l,m(s(l)("sidebar.profiles")),1),b(s(Ue),{value:T.value,options:Zi.value,loading:Ie.value||s($).loading,"onUpdate:value":rr},null,8,["value","options","loading"])]),n("label",wl,[n("span",yl,m(s(l)("chat.category")),1),b(s(Ue),{value:tt.value??0,options:Gi.value,placeholder:s(l)("chat.categoryPlaceholder"),loading:Ze.value||Ft.value,disabled:Ie.value||Ft.value,filterable:"",tag:"","onUpdate:value":Ki},null,8,["value","options","placeholder","loading","disabled"]),n("span",kl,m(s(l)("chat.categoryCreateHint")),1)]),Ut.value&&er.value?(c(),p("label",Sl,[n("span",bl,m(s(l)("chat.modelType")),1),b(s(ss),{value:ie.value,name:"new-chat-model-kind","onUpdate:value":lr},{default:R(()=>[b(s(Yt),{value:"model"},{default:R(()=>[ue(m(s(l)("chat.standardModels")),1)]),_:1}),b(s(Yt),{value:"moa"},{default:R(()=>[ue(m(s(l)("chat.moaPresets")),1)]),_:1})]),_:1},8,["value"])])):k("",!0),Ut.value&&ie.value==="model"?(c(),p("label",Cl,[n("span",Ml,m(s(l)("models.provider")),1),b(s(Ue),{value:V.value,options:tr.value,disabled:Ie.value,"onUpdate:value":ur},null,8,["value","options","disabled"])])):k("",!0),Ut.value?(c(),p("label",xl,[n("span",Pl,m(ie.value==="moa"?s(l)("chat.moaPresets"):s(l)("models.models")),1),b(s(Ue),{value:ee.value,"onUpdate:value":t[21]||(t[21]=a=>ee.value=a),options:bs.value,disabled:Ie.value||!V.value,filterable:""},null,8,["value","options","disabled"])])):k("",!0),at.value&&yt.value==="scoped"?(c(),p("label",Al,[n("span",El,m(s(l)("codingAgents.protocolScope")),1),b(s(Ue),{value:Bt.value,"onUpdate:value":t[22]||(t[22]=a=>Bt.value=a),options:ys.value,disabled:Ie.value},null,8,["value","options","disabled"])])):k("",!0),Ms.value?(c(),p("label",Dl,[n("span",$l,m(s(l)("models.baseUrl")),1),b(s(Ct),{value:ke.value,"onUpdate:value":t[23]||(t[23]=a=>ke.value=a),placeholder:s(l)("models.baseUrlPlaceholder")},null,8,["value","placeholder"])])):k("",!0),xs.value?(c(),p("label",Rl,[n("span",Tl,m(s(l)("models.apiKey")),1),b(s(Ct),{value:we.value,"onUpdate:value":t[24]||(t[24]=a=>we.value=a),type:"password","show-password-on":"click",placeholder:s(l)("models.apiKeyPlaceholder")},null,8,["value","placeholder"])])):k("",!0),n("div",Il,[n("span",Ll,[ue(m(s(l)("chat.workspace"))+" ",1),Ka.value?(c(),te(s(xa),{key:0},{trigger:R(()=>[n("span",Nl,m(s(l)("chat.workspaceDefault")),1)]),default:R(()=>[ue(" "+m(s(l)("chat.workspaceDefaultTooltip")),1)]),_:1})):k("",!0)]),Y.value.length>0?(c(),p("div",Bl,[n("span",Fl,m(s(l)("chat.defaultWorkspace"))+":",1),n("div",Ol,[(c(!0),p(Q,null,pe(pa.value,(a,r)=>(c(),p(Q,{key:a},[n("div",{class:ae(["workspace-chip",{active:he.value===a}]),onClick:N=>hs(a),title:a},m(qa(a)),11,Ul),r<pa.value.length-1||ws.value?(c(),p("span",Wl,"/")):k("",!0)],64))),128)),ws.value?(c(),p("div",Vl,[n("button",{class:"workspace-chip-more",onClick:t[25]||(t[25]=a=>va.value=!va.value)},m(s(l)("chat.more"))+" ▼ ",1),va.value?(c(),p("div",zl,[(c(!0),p(Q,null,pe(ji.value,a=>(c(),p("div",{key:a,class:"workspace-dropdown-item",onClick:r=>hs(a),title:a},m(qa(a)),9,Gl))),128))])):k("",!0)])):k("",!0)])])):k("",!0),b(nn,{modelValue:he.value,"onUpdate:modelValue":t[26]||(t[26]=a=>he.value=a),"show-favorite":"",favorite:Ka.value,"favorite-disabled":!he.value,"favorite-title":Ka.value?s(l)("chat.workspaceUnpin"):s(l)("chat.workspacePin"),onToggleFavorite:qi},null,8,["modelValue","favorite","favorite-disabled","favorite-title"]),Ot.value.length>0?(c(),p("div",Kl,[n("span",ql,m(s(l)("chat.workspaceRecent"))+":",1),n("div",Hl,[(c(!0),p(Q,null,pe(Ot.value,a=>(c(),te(s(Se),{key:a.path,size:"tiny",type:a.path===he.value?"primary":"default",onClick:r=>Hi(a.path)},{icon:R(()=>[Y.value.includes(a.path)?(c(),p("span",{key:0,class:"recent-pin-icon",onClick:en(r=>gs(a.path),["stop"]),title:s(l)("chat.workspaceUnpin")},"★",8,jl)):(c(),p("span",{key:1,class:"recent-pin-icon",onClick:en(r=>gs(a.path),["stop"]),title:s(l)("chat.workspacePin")},"☆",8,Jl))]),default:R(()=>[ue(" "+m(qa(a.path)),1)]),_:2},1032,["type","onClick"]))),128))])])):k("",!0)])])]),_:1},8,["title"])]),_:1},8,["show"]),n("div",{class:ae(["chat-main",{"chat-main--sidebar-collapsed":be.value!=="chat"||!z.value}])},[C.standalone?k("",!0):(c(),p("header",Yl,[n("div",Ql,[be.value==="chat"?(c(),te(s(Se),{key:0,class:"header-sidebar-toggle",quaternary:"",size:"small",onClick:t[29]||(t[29]=a=>z.value=!z.value),circle:""},{icon:R(()=>[...t[45]||(t[45]=[n("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[n("rect",{x:"3",y:"3",width:"7",height:"7"}),n("rect",{x:"14",y:"3",width:"7",height:"7"}),n("rect",{x:"3",y:"14",width:"7",height:"7"}),n("rect",{x:"14",y:"14",width:"7",height:"7"})],-1)])]),_:1})):k("",!0),n("span",Zl,m(i.value),1),s(o).activeSession?.workspace?(c(),p("button",{key:1,class:"workspace-badge",type:"button",title:s(o).activeSession.workspace,onClick:Pr},[t[46]||(t[46]=n("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n("path",{d:"M3 7a2 2 0 0 1 2-2h5l2 2h7a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"})],-1)),n("span",null,m(s(o).activeSession.workspace.split("/").pop()||s(o).activeSession.workspace),1)],8,ei)):k("",!0)]),n("div",ti,[be.value==="chat"?(c(),p(Q,{key:0},[A.value?(c(),te(s(xa),{key:0,trigger:"hover"},{trigger:R(()=>[b(s(Se),{class:ae(["header-tool-toggle",{active:U.value}]),quaternary:"",size:"small",onClick:La,circle:""},{icon:R(()=>[...t[47]||(t[47]=[n("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[n("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),n("line",{x1:"15",y1:"3",x2:"15",y2:"21"})],-1)])]),_:1},8,["class"])]),default:R(()=>[ue(" "+m(s(Ne)?`${s(l)("drawer.files")} / ${s(l)("drawer.terminal")} / ${s(l)("browser.title")}`:`${s(l)("drawer.files")} / ${s(l)("drawer.terminal")}`),1)]),_:1})):k("",!0),b(s(xa),{trigger:"hover"},{trigger:R(()=>[b(s(Se),{quaternary:"",size:"small",onClick:t[30]||(t[30]=a=>F.value=!F.value),circle:""},{icon:R(()=>[...t[48]||(t[48]=[n("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[n("path",{d:"M3 12h18M3 6h18M3 18h18"})],-1)])]),_:1})]),default:R(()=>[ue(" "+m(s(l)("chat.outlineTitle")),1)]),_:1}),b(s(xa),{trigger:"hover"},{trigger:R(()=>[b(s(Se),{quaternary:"",size:"small",onClick:t[31]||(t[31]=a=>Es()),circle:""},{icon:R(()=>[...t[49]||(t[49]=[n("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[n("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),n("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})],-1)])]),_:1})]),default:R(()=>[ue(" "+m(s(l)("chat.copySessionId")),1)]),_:1})],64)):k("",!0)])])),be.value==="chat"?(c(),p("div",{key:1,ref_key:"chatContentWrapperRef",ref:q,class:ae(["chat-content-wrapper",{"chat-content-wrapper--drop-active":B.value}]),onDragover:aa,onDragenter:sa,onDragleave:na,onDrop:Oa},[n("div",{ref_key:"chatMainContentRef",ref:j,class:"chat-main-content"},[b(Bu,{ref_key:"messageListRef",ref:ne,"approval-portal-to-body":H.value,"scroll-scope":"chat"},null,8,["approval-portal-to-body"]),b(Au,{ref_key:"chatInputRef",ref:ce,"model-label":Ga.value,onModelClick:$r,onVoiceClick:ze},null,8,["model-label"])],512),F.value?(c(),te(nc,{key:0,messages:s(o).messages,onNavigate:dt},null,8,["messages"])):k("",!0),b(qr,{name:"tool-panel",onBeforeEnter:Na,onAfterEnter:Ba,onBeforeLeave:ta,onLeaveCancelled:Fa},{default:R(()=>[U.value?(c(),p("aside",{key:0,class:"chat-tool-panel",style:gi(ye.value)},[n("div",{class:"chat-tool-resize-handle",onPointerdown:ea},null,32),n("div",ai,[s(L).workspaceDiff?(c(),te(s(P),{key:0,"custom-close":qe})):s(M).previewFile?(c(),te(s(x),{key:1,"custom-close":qe})):de.value?(c(),te(Wi,{key:2,stream:Ve.value,onClose:qe},null,8,["stream"])):(c(),p(Q,{key:3},[n("div",si,[n("button",{class:ae(["chat-tool-tab",{active:oe.value==="files"}]),type:"button",role:"tab",title:s(l)("drawer.files"),"aria-label":s(l)("drawer.files"),"aria-selected":oe.value==="files",onClick:t[32]||(t[32]=a=>oe.value="files")},[...t[50]||(t[50]=[n("svg",{viewBox:"0 0 24 24","aria-hidden":"true"},[n("path",{d:"M3 7.5A2.5 2.5 0 0 1 5.5 5H10l2 2h6.5A2.5 2.5 0 0 1 21 9.5v7A2.5 2.5 0 0 1 18.5 19h-13A2.5 2.5 0 0 1 3 16.5z"})],-1)])],10,ni),n("button",{class:ae(["chat-tool-tab",{active:oe.value==="terminal"}]),type:"button",role:"tab",title:s(l)("drawer.terminal"),"aria-label":s(l)("drawer.terminal"),"aria-selected":oe.value==="terminal",onClick:t[33]||(t[33]=a=>oe.value="terminal")},[...t[51]||(t[51]=[n("svg",{viewBox:"0 0 24 24","aria-hidden":"true"},[n("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),n("path",{d:"m7 9 3 3-3 3M13 15h4"})],-1)])],10,oi),s(Ne)?(c(),p("button",{key:0,class:ae(["chat-tool-tab",{active:oe.value==="browser"}]),type:"button",role:"tab",title:s(l)("browser.title"),"aria-label":s(l)("browser.title"),"aria-selected":oe.value==="browser",onClick:t[34]||(t[34]=a=>oe.value="browser")},[...t[52]||(t[52]=[n("svg",{viewBox:"0 0 24 24","aria-hidden":"true"},[n("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),n("path",{d:"M3 9h18"}),n("circle",{cx:"6.5",cy:"6.5",r:".75",fill:"currentColor",stroke:"none"}),n("circle",{cx:"9.5",cy:"6.5",r:".75",fill:"currentColor",stroke:"none"})],-1)])],10,li)):k("",!0)]),n("div",ii,[os(b(s(E),{"workspace-session-id":Je.value,workspace:xt.value,onAttach:Be},null,8,["workspace-session-id","workspace"]),[[ns,oe.value==="files"]]),os(b(yu,{visible:U.value&&oe.value==="terminal"},null,8,["visible"]),[[ns,oe.value==="terminal"]]),s(Ne)&&oe.value==="browser"?(c(),te(s(I),{key:0,visible:_e.value,onAttach:At},null,8,["visible"])):k("",!0)])],64))])],4)):k("",!0)]),_:1})],34)):(c(),te(Oi,{key:2,"human-only":s(O).humanOnly},null,8,["human-only"]))],2),(c(),te(Jr,{to:"body"},[H.value?(c(),te(Bi,{key:0,onClose:ct})):k("",!0)]))],2))}})})),Ic=fe((()=>{})),Lc,wd=fe((()=>{ui(),ui(),Ic(),Ta(),Lc=Ia(zi,[["__scopeId","data-v-22ec9d99"]])}));export{wd as n,Lc as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Bi as S,Di as y,Hi as C,Ti as P,Vi as g,Zi as m,bi as V,gi as r,i as x,ii as R,n as b,ni as F,r as M,ri as k,si as B,t as H,wa as u,ya as I}from"./index-
|
|
1
|
+
import{Bi as S,Di as y,Hi as C,Ti as P,Vi as g,Zi as m,bi as V,gi as r,i as x,ii as R,n as b,ni as F,r as M,ri as k,si as B,t as H,wa as u,ya as I}from"./index-DN4SafrP.js";import{r as N,t as T}from"./profiles-BK5JKD7h.js";import{i as j,o as q}from"./chat-fUZW3YFa.js";import{n as z,t as A}from"./settings-roYY6G3W.js";import{n as D,t as E}from"./ChatPanel-ANAZWluc.js";var o,d,f=u((()=>{B(),F(),D(),M(),j(),T(),A(),o="Hermes Studio",d=y({__name:"ChatView",setup(G){const v=x(),t=q(),i=N(),h=z(),a=k(),w=R(),s=r(()=>{const e=a.params.sessionId;return typeof e=="string"&&e.trim()?e:null}),l=r(()=>{const e=a.query.profile;return typeof e=="string"&&e.trim()?e:null}),_=r(()=>a.meta?.standaloneChat===!0);m(r(()=>a.name!=="hermes.session"&&a.name!=="desktop.chat"?o:t.activeSession?.title?.trim()||o),e=>{document.title=e},{immediate:!0}),g(()=>{document.title=o});async function c(){await t.loadSessions(t.sessionProfileFilter,s.value),s.value&&t.activeSessionId!==s.value&&await w.replace({name:"hermes.chat"})}async function p(){const e=l.value;!e||e===i.activeProfileName||i.profiles.some(n=>n.name===e)&&(await i.switchProfile(e),t.setSessionProfileFilter(e))}return S(async()=>{t.setRuntimeMode("default"),v.loadModels(),await Promise.all([i.fetchProfiles(),h.fetchSettings()]),t.validateSessionProfileFilter(i.profiles.map(e=>e.name)),await p(),await c()}),m([s,l],async([e])=>{if(t.sessionsLoaded){if(await p(),!e){await t.loadSessions(t.sessionProfileFilter);return}if(t.activeSessionId!==e){if(!t.sessions.some(n=>n.id===e)){await c();return}await t.switchSession(e)}}}),(e,n)=>(C(),V("div",{class:I(["chat-view",{"chat-view--standalone":_.value}])},[P(E,{standalone:_.value},null,8,["standalone"])],2))}})})),L=u((()=>{})),U,Z=u((()=>{f(),f(),L(),b(),U=H(d,[["__scopeId","data-v-1001cf04"]])}));Z();export{U as default};
|