@quanthermes/hermes-web-ui 0.6.16 → 0.6.17
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/{ChannelsView-C3g3StjL.js → ChannelsView-BwP8wsUV.js} +1 -1
- package/dist/client/assets/js/{ChatView-tIA9-kE6.js → ChatView-Mf_KaepB.js} +1 -1
- package/dist/client/assets/js/{CodingAgentsView-BjVUaZEX.js → CodingAgentsView-C0OyfzpB.js} +1 -1
- package/dist/client/assets/js/{DevicesView-CrHv1Mcc.js → DevicesView-Cfk24oSi.js} +1 -1
- package/dist/client/assets/js/{FileRenameModal-BmQIUMYK.js → FileRenameModal-DhB_Oy1Y.js} +1 -1
- package/dist/client/assets/js/{FilesView-BSJjUAhT.js → FilesView-CL3bT4UM.js} +1 -1
- package/dist/client/assets/js/{GroupChatView-DtWcdFAL.js → GroupChatView-DhNycaZ-.js} +1 -1
- package/dist/client/assets/js/{HistoryMessageList-L-9SSk3K.js → HistoryMessageList-C9ywhLVB.js} +1 -1
- package/dist/client/assets/js/{HistoryView-DWEeHcuC.js → HistoryView-CB4oqwnG.js} +1 -1
- package/dist/client/assets/js/{JobsView-BgofNKg-.js → JobsView-DrZUX1TJ.js} +1 -1
- package/dist/client/assets/js/{KanbanView-QPxTlH-J.js → KanbanView-B-rpBbt3.js} +1 -1
- package/dist/client/assets/js/{LoginView-McUee9pQ.js → LoginView-Ca6fECMY.js} +1 -1
- package/dist/client/assets/js/{LogsView-BT-4Df4G.js → LogsView-IjXDeQ1e.js} +1 -1
- package/dist/client/assets/js/{MarkdownRenderer-Jwbx4dOP.js → MarkdownRenderer-BlxKlSHX.js} +1 -1
- package/dist/client/assets/js/{McpManagerView-DLDPI-_O.js → McpManagerView-D-oJeFHz.js} +1 -1
- package/dist/client/assets/js/{MemoryView-Dq3pEc1S.js → MemoryView-BSlKBKzI.js} +1 -1
- package/dist/client/assets/js/{MessageItem-Dr5idUZb.js → MessageItem-Di7V6T5S.js} +1 -1
- package/dist/client/assets/js/{ModelsView-sfHqVERI.js → ModelsView-qxOq5hFg.js} +1 -1
- package/dist/client/assets/js/{OutlinePanel-BddtVbQw.js → OutlinePanel-D62oj0V9.js} +1 -1
- package/dist/client/assets/js/{PerformanceView-BYMIVkGl.js → PerformanceView-Coa_4sVf.js} +1 -1
- package/dist/client/assets/js/{PluginsView-Be878n_l.js → PluginsView-BHOXiJZv.js} +1 -1
- package/dist/client/assets/js/{ProfilesView-B6TQX72B.js → ProfilesView-DjODeu2z.js} +1 -1
- package/dist/client/assets/js/{SettingRow-vaeYDW5h.js → SettingRow-DWprXoV4.js} +1 -1
- package/dist/client/assets/js/{SettingsView-ClBbruK3.js → SettingsView-D5QX2BHT.js} +1 -1
- package/dist/client/assets/js/{SkillsUsageView-cAHh5inD.js → SkillsUsageView-CgpixSYd.js} +1 -1
- package/dist/client/assets/js/{SkillsView-DFxNT1UO.js → SkillsView-DVA_LzFa.js} +1 -1
- package/dist/client/assets/js/{TerminalPanel-Bwa-6ai-.js → TerminalPanel-DhnPxJTG.js} +1 -1
- package/dist/client/assets/js/{TerminalView-KMAVVfPx.js → TerminalView-tgOY8x6C.js} +1 -1
- package/dist/client/assets/js/{UsageView-DQUEWEZR.js → UsageView-DDvy4JWs.js} +1 -1
- package/dist/client/assets/js/{VersionPreviewView-BD_8pfy6.js → VersionPreviewView-DoYv9yy6.js} +1 -1
- package/dist/client/assets/js/{VirtualMessageList-BNu9wFPU.js → VirtualMessageList-CfXQfWcE.js} +1 -1
- package/dist/client/assets/js/{_plugin-vue_export-helper-uEMLHKI8.js → _plugin-vue_export-helper-CwNymSRn.js} +2 -2
- package/dist/client/assets/js/{index-1yNqMnGv.js → index-DW8M4rjb.js} +1 -1
- package/dist/client/assets/js/{models-B67JDoKt.js → models-BDUkz58x.js} +1 -1
- package/dist/client/assets/js/{session-browser-prefs-BMKJzhU0.js → session-browser-prefs-DjzuPSf7.js} +1 -1
- package/dist/client/assets/js/{skills-oOSUGydJ.js → skills-kS4Wy1_s.js} +1 -1
- package/dist/client/assets/js/{system-ClONwY0c.js → system-DaAaRr9k.js} +1 -1
- package/dist/client/assets/js/{useSttSettings-BAlyngwO.js → useSttSettings-DnVfL8DF.js} +1 -1
- package/dist/client/index.html +3 -3
- package/dist/server/index.js +3 -3
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as H}from"./rolldown-runtime-M0oDzQ_3.js";import{$t as C,Cn as Ae,Dn as Ie,It as Pe,Mn as Be,On as Re,Ot as te,Pn as o,Pt as u,Qn as e,Rt as Ve,Tn as v,Un as P,V as De,Wn as D,Wt as N,an as b,dn as Q,er as ne,g as xe,in as F,ln as L,m as g,nn as Le,on as _,rn as z,rr as S,t as O,un as n,wn as $e}from"./ui-vendor-dYn1tJGA.js";import{c as E,l as J}from"./vue-vendor-DZ4A_GHn.js";import{n as j,t as G}from"./_plugin-vue_export-helper-uEMLHKI8.js";import{A as We,C as we,D as Ne,E as Qe,S as qe,T as Fe,X as Oe,Y as Ee,k as Je}from"./index-1yNqMnGv.js";import{n as je,t as s}from"./SettingRow-vaeYDW5h.js";var ie,oe,re,se,ye,de=H((()=>{N(),O(),E(),ie={class:"platform-info"},oe=["innerHTML"],re={class:"platform-name"},se={key:0,class:"platform-card-body"},ye=Q({__name:"PlatformCard",props:{name:{},icon:{},config:{},credentials:{},exclusive:{type:Boolean}},setup(T){const h=T,q=D(!0),{t:a}=J(),U=Le(()=>{const k=h.credentials;if(!k)return!1;const w=["token","api_key","app_id","client_id","secret","app_secret","client_secret","access_token","bot_id","account_id","enabled"];return[k,k.extra].filter(Boolean).some(M=>w.some(A=>{const y=M[A];return y!=null&&y!==""&&y!==!1}))});return(k,w)=>(v(),_("div",{class:ne(["platform-card",{configured:U.value}])},[z("div",{class:"platform-card-header",onClick:w[0]||(w[0]=M=>q.value=!q.value)},[z("div",ie,[z("span",{class:"platform-icon",innerHTML:T.icon},null,8,oe),z("span",re,S(T.name),1),n(e(Ve),{type:U.value?"success":"default",size:"small",round:""},{default:o(()=>[L(S(U.value?e(a)("common.configured"):e(a)("common.notConfigured")),1)]),_:1},8,["type"])]),z("span",{class:ne(["expand-icon",{expanded:q.value}])},"▾",2)]),q.value?(v(),_("div",se,[T.exclusive?(v(),F(e(Pe),{key:0,type:"warning","show-icon":!0,class:"exclusive-alert"},{default:o(()=>[L(S(e(a)("platform.exclusiveTokenWarning")),1)]),_:1})):b("",!0),Re(k.$slots,"default",{},void 0,!0)])):b("",!0)],2))}})})),Ge=H((()=>{})),Ce,Xe=H((()=>{de(),de(),Ge(),j(),Ce=G(ye,[["__scopeId","data-v-e27ecbbe"]])})),ue,pe,ce,me,fe,ze,ve=H((()=>{N(),O(),E(),qe(),Qe(),Xe(),je(),ue={class:"settings-section"},pe={class:"weixin-qr-section"},ce={key:1,class:"weixin-qr-loading"},me={key:2,class:"weixin-qr-hint"},fe={class:"platform-actions"},ze=Q({__name:"PlatformSettings",setup(T){const h=we(),q=De(),{t:a}=J(),U=P({}),k=P({}),w=P({}),M=P({}),A=P({});function y(i){return JSON.parse(JSON.stringify(i||{}))}function $(i,l){for(const[m,t]of Object.entries(l))t&&typeof t=="object"&&!Array.isArray(t)?i[m]=$({...i[m]||{}},t):i[m]=t;return i}function p(i){return k[i]||(k[i]=y(h[i])),k[i]}function d(i){return w[i]||(w[i]=y(I(i))),w[i]}function c(i,l){k[i]=$({...p(i)},l),M[i]=!0}function f(i,l){w[i]=$({...d(i)},l),A[i]=!0}function X(i,l){return JSON.stringify(i||{})===JSON.stringify(l||{})}function Y(i){return!!M[i]&&!!k[i]&&!X(k[i],h[i])}function K(i){return!!A[i]&&!!w[i]&&!X(w[i],I(i))}function Se(i){return Y(i)||K(i)}function r(i){return!!U[i]}async function Me(i){U[i]=!0;try{const l=Y(i),m=K(i);l&&await h.saveSection(i,p(i),{restart:!m}),m&&(await Je(i,d(i)),await h.fetchSettings()),k[i]=y(h[i]),w[i]=y(I(i)),M[i]=!1,A[i]=!1,q.success(a("settings.saved"))}catch(l){q.error(l?.message||a("settings.saveFailed"))}finally{U[i]=!1}}function I(i){return h.platforms[i]||{}}function Z(i){return i===!0||i==="true"}const ee=D(""),B=D(""),x=D("idle");let R=null;async function Te(){x.value="loading",ee.value="",B.value="",le();try{const i=await Fe();B.value=i.qrcode,ee.value=i.qrcode_url,window.open(i.qrcode_url,"_blank"),x.value="waiting",V()}catch(i){x.value="error",q.error(i.message||a("platform.qrFetching"))}}function V(){B.value&&(R=setTimeout(async()=>{try{const i=await Ne(B.value);i.status==="wait"?V():i.status==="scaned"?(x.value="scaned",V()):i.status==="expired"?x.value="expired":i.status==="confirmed"&&(x.value="confirmed",await We({account_id:i.account_id,token:i.token,base_url:i.base_url}),await h.fetchSettings(),q.success(a("settings.saved")))}catch{V()}},3e3))}function le(){R&&(clearTimeout(R),R=null)}$e(()=>{le()});const ae=[{key:"telegram",name:"Telegram",exclusive:!0,icon:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.479.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"/></svg>'},{key:"discord",name:"Discord",exclusive:!0,icon:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189z"/></svg>'},{key:"slack",name:"Slack",exclusive:!0,icon:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.122 0a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V5.042zm-1.27 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zM15.165 18.956a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.27a2.527 2.527 0 0 1 2.523-2.52h6.313A2.528 2.528 0 0 1 24 18.956a2.528 2.528 0 0 1-2.522 2.523h-6.313z"/></svg>'},{key:"whatsapp",name:"WhatsApp",exclusive:!0,icon:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z"/></svg>'},{key:"matrix",name:"Matrix",icon:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M.632.55v22.9H2.28V24H0V0h2.28v.55zm7.043 7.26v1.157h.033c.309-.443.683-.784 1.117-1.024.433-.245.936-.365 1.5-.365.54 0 1.033.107 1.48.324.448.217.786.619 1.017 1.205.24-.376.558-.702.956-.98.398-.277.872-.414 1.424-.414.41 0 .784.065 1.122.194.34.13.629.325.87.588.241.263.428.59.56.984.132.393.198.85.198 1.368v5.89h-2.49v-4.893c0-.268-.016-.525-.048-.77a1.627 1.627 0 00-.2-.63 1.028 1.028 0 00-.392-.426 1.294 1.294 0 00-.616-.134c-.277 0-.508.05-.693.15a1.043 1.043 0 00-.43.41 1.768 1.768 0 00-.214.616 4.15 4.15 0 00-.06.74v4.937H9.29v-4.937c0-.25-.01-.498-.032-.742a1.84 1.84 0 00-.166-.638.998.998 0 00-.363-.448 1.206 1.206 0 00-.624-.154c-.26 0-.483.048-.67.144a1.055 1.055 0 00-.436.402 1.744 1.744 0 00-.227.616 4.108 4.108 0 00-.063.74v4.937H5.21V7.81zm15.693 15.64V.55H21.72V0H24v24h-2.28v-.55z"/></svg>'},{key:"feishu",name:"Feishu",exclusive:!0,icon:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M6.59 3.41a2.25 2.25 0 0 1 3.182 0L13.5 7.14l-3.182 3.182L6.59 7.59a2.25 2.25 0 0 1 0-3.182zm5.303 5.303L15.075 5.53a2.25 2.25 0 0 1 3.182 3.182L15.075 11.894 11.893 8.713zM3.41 6.59a2.25 2.25 0 0 1 3.182 0l3.182 3.182-3.182 3.182a2.25 2.25 0 0 1-3.182-3.182L3.41 6.59zm5.303 5.303L11.894 15.075a2.25 2.25 0 0 1-3.182 3.182L5.53 15.075 8.713 11.893zm5.303-5.303L17.478 9.778a2.25 2.25 0 0 1-3.182 3.182L10.53 10.075l3.182-3.182 0 .023z"/></svg>'},{key:"dingtalk",name:"DingTalk",exclusive:!0,icon:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M19.76 7.05c-.23-.52-.7-.9-1.26-1.02L5.35 3.2c-.77-.16-1.51.38-1.58 1.16-.22 2.55.17 5.4 1.13 7.66.97 2.29 2.52 4.11 4.45 4.82l-1.28 3.03c-.17.4.24.79.63.59l9.47-4.83c.34-.17.55-.52.55-.9v-3.12c.73-.4 1.22-1.17 1.22-2.06 0-.87-.08-1.73-.18-2.5zm-3.66 5.95-5.19 2.65.76-1.8c.12-.29-.03-.62-.33-.72-2.1-.73-3.56-3.54-3.95-6.73l9.27 2c.04.38.07.76.07 1.15 0 .45-.36.81-.81.81h-2.79c-.35 0-.63.28-.63.63s.28.63.63.63h2.97V13z"/></svg>'},{key:"qqbot",name:"QQBot",exclusive:!0,icon:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 2C7.58 2 4 5.27 4 9.31c0 2.3 1.15 4.34 2.95 5.68-.13.58-.48 1.62-1.26 2.53-.24.28-.05.72.32.73 1.72.05 3.02-.68 3.69-1.15.72.16 1.49.25 2.3.25 4.42 0 8-3.27 8-7.31S16.42 2 12 2zm-3.2 7.63c-.63 0-1.14-.55-1.14-1.23s.51-1.23 1.14-1.23 1.14.55 1.14 1.23-.51 1.23-1.14 1.23zm6.4 0c-.63 0-1.14-.55-1.14-1.23s.51-1.23 1.14-1.23 1.14.55 1.14 1.23-.51 1.23-1.14 1.23zM5.5 20.5a.5.5 0 0 1 .5-.5h12a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z"/></svg>'},{key:"weixin",name:"Weixin",exclusive:!0,icon:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M8.691 2.188C3.891 2.188 0 5.476 0 9.53c0 2.212 1.17 4.203 3.002 5.55a.59.59 0 01.213.665l-.39 1.48c-.019.07-.048.141-.048.213 0 .163.13.295.29.295a.326.326 0 00.167-.054l1.903-1.114a.864.864 0 01.717-.098 10.16 10.16 0 002.837.403c.276 0 .543-.027.811-.05-.857-2.578.157-4.972 1.932-6.446 1.703-1.415 3.882-1.98 5.853-1.838-.576-3.583-4.196-6.348-8.596-6.348zM5.785 5.991c.642 0 1.162.529 1.162 1.18a1.17 1.17 0 01-1.162 1.178A1.17 1.17 0 014.623 7.17c0-.651.52-1.18 1.162-1.18zm5.813 0c.642 0 1.162.529 1.162 1.18a1.17 1.17 0 01-1.162 1.178 1.17 1.17 0 01-1.162-1.178c0-.651.52-1.18 1.162-1.18zm3.68 4.025c-3.694 0-6.69 2.462-6.69 5.496 0 3.034 2.996 5.496 6.69 5.496.753 0 1.477-.1 2.158-.28a.66.66 0 01.548.074l1.46.854a.25.25 0 00.127.041.224.224 0 00.221-.225c0-.055-.022-.109-.037-.162l-.298-1.131a.453.453 0 01.163-.509C21.81 18.613 22.77 16.973 22.77 15.512c0-3.034-2.996-5.496-6.69-5.496h.198zm-2.454 3.347c.491 0 .889.404.889.902a.896.896 0 01-.889.903.896.896 0 01-.889-.903c0-.498.398-.902.889-.902zm4.912 0c.491 0 .889.404.889.902a.896.896 0 01-.889.903.896.896 0 01-.889-.903c0-.498.398-.902.889-.902z"/></svg>'},{key:"wecom",name:"WeCom",icon:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M8.691 2.188C3.891 2.188 0 5.476 0 9.53c0 2.212 1.17 4.203 3.002 5.55a.59.59 0 01.213.665l-.39 1.48c-.019.07-.048.141-.048.213 0 .163.13.295.29.295a.326.326 0 00.167-.054l1.903-1.114a.864.864 0 01.717-.098 10.16 10.16 0 002.837.403c.276 0 .543-.027.811-.05-.857-2.578.157-4.972 1.932-6.446 1.703-1.415 3.882-1.98 5.853-1.838-.576-3.583-4.196-6.348-8.596-6.348zM5.785 5.991c.642 0 1.162.529 1.162 1.18a1.17 1.17 0 01-1.162 1.178A1.17 1.17 0 014.623 7.17c0-.651.52-1.18 1.162-1.18zm5.813 0c.642 0 1.162.529 1.162 1.18a1.17 1.17 0 01-1.162 1.178 1.17 1.17 0 01-1.162-1.178c0-.651.52-1.18 1.162-1.18zm3.68 4.025c-3.694 0-6.69 2.462-6.69 5.496 0 3.034 2.996 5.496 6.69 5.496.753 0 1.477-.1 2.158-.28a.66.66 0 01.548.074l1.46.854a.25.25 0 00.127.041.224.224 0 00.221-.225c0-.055-.022-.109-.037-.162l-.298-1.131a.453.453 0 01.163-.509C21.81 18.613 22.77 16.973 22.77 15.512c0-3.034-2.996-5.496-6.69-5.496h.198zm-2.454 3.347c.491 0 .889.404.889.902a.896.896 0 01-.889.903.896.896 0 01-.889-.903c0-.498.398-.902.889-.902zm4.912 0c.491 0 .889.404.889.902a.896.896 0 01-.889.903.896.896 0 01-.889-.903c0-.498.398-.902.889-.902z"/></svg>'}];return Be(()=>ae.map(i=>({key:i.key,config:h[i.key],credentials:I(i.key)})),i=>{for(const l of i)M[l.key]||(k[l.key]=y(l.config)),A[l.key]||(w[l.key]=y(l.credentials))},{deep:!0,immediate:!0}),(i,l)=>(v(),_("section",ue,[(v(),_(C,null,Ie(ae,m=>n(Ce,{key:m.key,name:m.name,icon:m.icon,exclusive:m.exclusive,config:e(h)[m.key],credentials:I(m.key)},{default:o(()=>[m.key==="telegram"?(v(),_(C,{key:0},[n(s,{label:e(a)("platform.botToken"),hint:e(a)("platform.botTokenHint")},{default:o(()=>[n(e(u),{value:d("telegram").token||"",loading:r("telegram"),clearable:"",size:"small",class:"input-lg",placeholder:"123456:ABC-DEF...","onUpdate:value":l[0]||(l[0]=t=>f("telegram",{token:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.requireMention"),hint:e(a)("platform.requireMentionGroup")},{default:o(()=>[n(e(g),{value:p("telegram").require_mention,loading:r("telegram"),"onUpdate:value":l[1]||(l[1]=t=>c("telegram",{require_mention:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.reactions"),hint:e(a)("platform.reactionsHint")},{default:o(()=>[n(e(g),{value:p("telegram").reactions,loading:r("telegram"),"onUpdate:value":l[2]||(l[2]=t=>c("telegram",{reactions:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.freeResponseChats"),hint:e(a)("platform.freeResponseChatsHint")},{default:o(()=>[n(e(u),{value:p("telegram").free_response_chats||"",loading:r("telegram"),size:"small",placeholder:"chat_id1,chat_id2","onUpdate:value":l[3]||(l[3]=t=>c("telegram",{free_response_chats:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.mentionPatterns"),hint:e(a)("platform.mentionPatternsHint")},{default:o(()=>[n(e(u),{value:(p("telegram").mention_patterns||[]).join(", "),loading:r("telegram"),size:"small",placeholder:"pattern1, pattern2","onUpdate:value":l[4]||(l[4]=t=>c("telegram",{mention_patterns:t?t.split(",").map(W=>W.trim()):[]}))},null,8,["value","loading"])]),_:1},8,["label","hint"])],64)):b("",!0),m.key==="discord"?(v(),_(C,{key:1},[n(s,{label:e(a)("platform.botToken"),hint:e(a)("platform.botTokenHint")},{default:o(()=>[n(e(u),{value:d("discord").token||"",loading:r("discord"),clearable:"",size:"small",class:"input-lg",placeholder:"Bot token...","onUpdate:value":l[5]||(l[5]=t=>f("discord",{token:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.requireMention"),hint:e(a)("platform.requireMentionChannel")},{default:o(()=>[n(e(g),{value:p("discord").require_mention,loading:r("discord"),"onUpdate:value":l[6]||(l[6]=t=>c("discord",{require_mention:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.autoThread"),hint:e(a)("platform.autoThreadHint")},{default:o(()=>[n(e(g),{value:p("discord").auto_thread,loading:r("discord"),"onUpdate:value":l[7]||(l[7]=t=>c("discord",{auto_thread:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.reactions"),hint:e(a)("platform.reactionsHint")},{default:o(()=>[n(e(g),{value:p("discord").reactions,loading:r("discord"),"onUpdate:value":l[8]||(l[8]=t=>c("discord",{reactions:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.freeResponseChannels"),hint:e(a)("platform.freeResponseChannelsHint")},{default:o(()=>[n(e(u),{value:p("discord").free_response_channels||"",loading:r("discord"),size:"small",placeholder:"channel_id1,channel_id2","onUpdate:value":l[9]||(l[9]=t=>c("discord",{free_response_channels:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.allowedChannels"),hint:e(a)("platform.allowedChannelsHint")},{default:o(()=>[n(e(u),{value:p("discord").allowed_channels||"",loading:r("discord"),size:"small",placeholder:"channel_id1,channel_id2","onUpdate:value":l[10]||(l[10]=t=>c("discord",{allowed_channels:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.ignoredChannels"),hint:e(a)("platform.ignoredChannelsHint")},{default:o(()=>[n(e(u),{value:p("discord").ignored_channels||"",loading:r("discord"),size:"small",placeholder:"channel_id1,channel_id2","onUpdate:value":l[11]||(l[11]=t=>c("discord",{ignored_channels:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.noThreadChannels"),hint:e(a)("platform.noThreadChannelsHint")},{default:o(()=>[n(e(u),{value:p("discord").no_thread_channels||"",loading:r("discord"),size:"small",placeholder:"channel_id1,channel_id2","onUpdate:value":l[12]||(l[12]=t=>c("discord",{no_thread_channels:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"])],64)):b("",!0),m.key==="slack"?(v(),_(C,{key:2},[n(s,{label:e(a)("platform.botToken"),hint:e(a)("platform.botTokenHint")},{default:o(()=>[n(e(u),{value:d("slack").token||"",loading:r("slack"),clearable:"",size:"small",class:"input-lg",placeholder:"xoxb-...","onUpdate:value":l[13]||(l[13]=t=>f("slack",{token:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.requireMention"),hint:e(a)("platform.requireMentionChannel")},{default:o(()=>[n(e(g),{value:p("slack").require_mention,loading:r("slack"),"onUpdate:value":l[14]||(l[14]=t=>c("slack",{require_mention:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.allowBots"),hint:e(a)("platform.allowBotsHint")},{default:o(()=>[n(e(g),{value:p("slack").allow_bots,loading:r("slack"),"onUpdate:value":l[15]||(l[15]=t=>c("slack",{allow_bots:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.freeResponseChannels"),hint:e(a)("platform.freeResponseChannelsHint")},{default:o(()=>[n(e(u),{value:p("slack").free_response_channels||"",loading:r("slack"),size:"small",placeholder:"channel_id1,channel_id2","onUpdate:value":l[16]||(l[16]=t=>c("slack",{free_response_channels:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"])],64)):b("",!0),m.key==="whatsapp"?(v(),_(C,{key:3},[n(s,{label:e(a)("platform.waEnabled"),hint:e(a)("platform.waEnabledHint")},{default:o(()=>[n(e(g),{value:d("whatsapp").enabled,loading:r("whatsapp"),"onUpdate:value":l[17]||(l[17]=t=>f("whatsapp",{enabled:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.requireMention"),hint:e(a)("platform.requireMentionGroup")},{default:o(()=>[n(e(g),{value:p("whatsapp").require_mention,loading:r("whatsapp"),"onUpdate:value":l[18]||(l[18]=t=>c("whatsapp",{require_mention:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.freeResponseChats"),hint:e(a)("platform.freeResponseChatsHint")},{default:o(()=>[n(e(u),{value:p("whatsapp").free_response_chats||"",loading:r("whatsapp"),size:"small",placeholder:"chat_id1,chat_id2","onUpdate:value":l[19]||(l[19]=t=>c("whatsapp",{free_response_chats:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.mentionPatterns"),hint:e(a)("platform.mentionPatternsHint")},{default:o(()=>[n(e(u),{value:(p("whatsapp").mention_patterns||[]).join(", "),loading:r("whatsapp"),size:"small",placeholder:"pattern1, pattern2","onUpdate:value":l[20]||(l[20]=t=>c("whatsapp",{mention_patterns:t?t.split(",").map(W=>W.trim()):[]}))},null,8,["value","loading"])]),_:1},8,["label","hint"])],64)):b("",!0),m.key==="matrix"?(v(),_(C,{key:4},[n(s,{label:e(a)("platform.accessToken"),hint:e(a)("platform.accessTokenHint")},{default:o(()=>[n(e(u),{value:d("matrix").token||"",loading:r("matrix"),clearable:"",size:"small",class:"input-lg",placeholder:"syt_...","onUpdate:value":l[21]||(l[21]=t=>f("matrix",{token:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.homeserver"),hint:e(a)("platform.homeserverHint")},{default:o(()=>[n(e(u),{value:d("matrix").extra?.homeserver||"",loading:r("matrix"),clearable:"",size:"small",class:"input-lg",placeholder:"https://matrix.org","onUpdate:value":l[22]||(l[22]=t=>f("matrix",{extra:{...d("matrix").extra,homeserver:t}}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.requireMention"),hint:e(a)("platform.requireMentionRoom")},{default:o(()=>[n(e(g),{value:p("matrix").require_mention,loading:r("matrix"),"onUpdate:value":l[23]||(l[23]=t=>c("matrix",{require_mention:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.autoThread"),hint:e(a)("platform.autoThreadHintRoom")},{default:o(()=>[n(e(g),{value:p("matrix").auto_thread,loading:r("matrix"),"onUpdate:value":l[24]||(l[24]=t=>c("matrix",{auto_thread:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.dmMentionThreads"),hint:e(a)("platform.dmMentionThreadsHint")},{default:o(()=>[n(e(g),{value:p("matrix").dm_mention_threads,loading:r("matrix"),"onUpdate:value":l[25]||(l[25]=t=>c("matrix",{dm_mention_threads:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.freeResponseRooms"),hint:e(a)("platform.freeResponseRoomsHint")},{default:o(()=>[n(e(u),{value:p("matrix").free_response_rooms||"",loading:r("matrix"),size:"small",placeholder:"room_id1,room_id2","onUpdate:value":l[26]||(l[26]=t=>c("matrix",{free_response_rooms:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"])],64)):b("",!0),m.key==="feishu"?(v(),_(C,{key:5},[n(s,{label:e(a)("platform.appId"),hint:e(a)("platform.appIdHint")},{default:o(()=>[n(e(u),{value:d("feishu").extra?.app_id||"",loading:r("feishu"),clearable:"",size:"small",class:"input-lg",placeholder:"cli_...","onUpdate:value":l[27]||(l[27]=t=>f("feishu",{extra:{...d("feishu").extra,app_id:t}}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.appSecret"),hint:e(a)("platform.appSecretHint")},{default:o(()=>[n(e(u),{value:d("feishu").extra?.app_secret||"",loading:r("feishu"),clearable:"",size:"small",class:"input-lg",placeholder:"App Secret","onUpdate:value":l[28]||(l[28]=t=>f("feishu",{extra:{...d("feishu").extra,app_secret:t}}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.requireMention"),hint:e(a)("platform.requireMentionGroup")},{default:o(()=>[n(e(g),{value:p("feishu").require_mention,loading:r("feishu"),"onUpdate:value":l[29]||(l[29]=t=>c("feishu",{require_mention:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.freeResponseChats"),hint:e(a)("platform.freeResponseChatsHint")},{default:o(()=>[n(e(u),{value:p("feishu").free_response_chats||"",loading:r("feishu"),size:"small",placeholder:"chat_id1,chat_id2","onUpdate:value":l[30]||(l[30]=t=>c("feishu",{free_response_chats:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"])],64)):b("",!0),m.key==="dingtalk"?(v(),_(C,{key:6},[n(s,{label:e(a)("platform.clientId"),hint:e(a)("platform.clientIdHint")},{default:o(()=>[n(e(u),{value:d("dingtalk").extra?.client_id||"",loading:r("dingtalk"),clearable:"",size:"small",class:"input-lg",placeholder:"Client ID","onUpdate:value":l[31]||(l[31]=t=>f("dingtalk",{extra:{...d("dingtalk").extra,client_id:t}}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.clientSecret"),hint:e(a)("platform.clientSecretHint")},{default:o(()=>[n(e(u),{value:d("dingtalk").extra?.client_secret||"",loading:r("dingtalk"),clearable:"",size:"small",class:"input-lg",placeholder:"Client Secret","onUpdate:value":l[32]||(l[32]=t=>f("dingtalk",{extra:{...d("dingtalk").extra,client_secret:t}}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.cardTemplateId"),hint:e(a)("platform.cardTemplateIdHint")},{default:o(()=>[n(e(u),{value:d("dingtalk").extra?.card_template_id||"",loading:r("dingtalk"),clearable:"",size:"small",class:"input-lg",placeholder:"AI Card Template ID","onUpdate:value":l[33]||(l[33]=t=>f("dingtalk",{extra:{...d("dingtalk").extra,card_template_id:t}}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.allowAllUsers"),hint:e(a)("platform.allowAllUsersHint")},{default:o(()=>[n(e(g),{value:Z(d("dingtalk").allow_all_users),loading:r("dingtalk"),"onUpdate:value":l[34]||(l[34]=t=>f("dingtalk",{allow_all_users:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.allowedUsers"),hint:e(a)("platform.allowedUsersHint")},{default:o(()=>[n(e(u),{value:d("dingtalk").allowed_users||"",loading:r("dingtalk"),clearable:"",size:"small",class:"input-lg",placeholder:"user_id1,user_id2","onUpdate:value":l[35]||(l[35]=t=>f("dingtalk",{allowed_users:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.requireMention"),hint:e(a)("platform.requireMentionGroup")},{default:o(()=>[n(e(g),{value:p("dingtalk").require_mention,loading:r("dingtalk"),"onUpdate:value":l[36]||(l[36]=t=>c("dingtalk",{require_mention:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.freeResponseChats"),hint:e(a)("platform.freeResponseChatsHint")},{default:o(()=>[n(e(u),{value:p("dingtalk").free_response_chats||"",loading:r("dingtalk"),size:"small",placeholder:"chat_id1,chat_id2","onUpdate:value":l[37]||(l[37]=t=>c("dingtalk",{free_response_chats:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"])],64)):b("",!0),m.key==="qqbot"?(v(),_(C,{key:7},[n(s,{label:e(a)("platform.qqAppId"),hint:e(a)("platform.qqAppIdHint")},{default:o(()=>[n(e(u),{value:d("qqbot").extra?.app_id||"",loading:r("qqbot"),clearable:"",size:"small",class:"input-lg",placeholder:"App ID","onUpdate:value":l[38]||(l[38]=t=>f("qqbot",{extra:{...d("qqbot").extra,app_id:t}}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.qqAppSecret"),hint:e(a)("platform.qqAppSecretHint")},{default:o(()=>[n(e(u),{value:d("qqbot").extra?.client_secret||"",loading:r("qqbot"),clearable:"",size:"small",class:"input-lg",placeholder:"App Secret","onUpdate:value":l[39]||(l[39]=t=>f("qqbot",{extra:{...d("qqbot").extra,client_secret:t}}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.allowedUsers"),hint:e(a)("platform.allowedUsersHint")},{default:o(()=>[n(e(u),{value:d("qqbot").allowed_users||"",loading:r("qqbot"),clearable:"",size:"small",class:"input-lg",placeholder:"openid1,openid2","onUpdate:value":l[40]||(l[40]=t=>f("qqbot",{allowed_users:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.allowAllUsers"),hint:e(a)("platform.allowAllUsersHint")},{default:o(()=>[n(e(g),{value:Z(d("qqbot").allow_all_users),loading:r("qqbot"),"onUpdate:value":l[41]||(l[41]=t=>f("qqbot",{allow_all_users:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.qqMarkdown"),hint:e(a)("platform.qqMarkdownHint")},{default:o(()=>[n(e(g),{value:p("qqbot").extra?.markdown_support??!0,loading:r("qqbot"),"onUpdate:value":l[42]||(l[42]=t=>c("qqbot",{extra:{...p("qqbot").extra,markdown_support:t}}))},null,8,["value","loading"])]),_:1},8,["label","hint"])],64)):b("",!0),m.key==="weixin"?(v(),_(C,{key:8},[z("div",pe,[x.value==="idle"||x.value==="error"||x.value==="expired"||x.value==="confirmed"?(v(),F(e(te),{key:0,type:"primary",size:"small",onClick:Te},{default:o(()=>[L(S(x.value==="confirmed"?e(a)("platform.qrRelogin"):e(a)("platform.qrLogin")),1)]),_:1})):b("",!0),x.value==="loading"?(v(),_("div",ce,[n(e(xe),{size:"small"}),z("span",null,S(e(a)("platform.qrFetching")),1)])):b("",!0),x.value==="waiting"||x.value==="scaned"?(v(),_("div",me,S(x.value==="scaned"?e(a)("platform.qrScanedHint"):e(a)("platform.qrScanHint")),1)):b("",!0)]),n(s,{label:e(a)("platform.weixinToken"),hint:e(a)("platform.weixinTokenHint")},{default:o(()=>[n(e(u),{value:d("weixin").token||"",loading:r("weixin"),clearable:"",size:"small",class:"input-lg",placeholder:"Token","onUpdate:value":l[43]||(l[43]=t=>f("weixin",{token:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.accountId"),hint:e(a)("platform.accountIdHint")},{default:o(()=>[n(e(u),{value:d("weixin").extra?.account_id||"",loading:r("weixin"),clearable:"",size:"small",class:"input-lg",placeholder:"Account ID","onUpdate:value":l[44]||(l[44]=t=>f("weixin",{extra:{...d("weixin").extra,account_id:t}}))},null,8,["value","loading"])]),_:1},8,["label","hint"])],64)):b("",!0),m.key==="wecom"?(v(),_(C,{key:9},[n(s,{label:e(a)("platform.botId"),hint:e(a)("platform.botIdHint")},{default:o(()=>[n(e(u),{value:d("wecom").extra?.bot_id||"",loading:r("wecom"),clearable:"",size:"small",class:"input-lg",placeholder:"Bot ID","onUpdate:value":l[45]||(l[45]=t=>f("wecom",{extra:{...d("wecom").extra,bot_id:t}}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.appSecret"),hint:e(a)("platform.wecomSecretHint")},{default:o(()=>[n(e(u),{value:d("wecom").extra?.secret||"",loading:r("wecom"),clearable:"",size:"small",class:"input-lg",placeholder:"Secret","onUpdate:value":l[46]||(l[46]=t=>f("wecom",{extra:{...d("wecom").extra,secret:t}}))},null,8,["value","loading"])]),_:1},8,["label","hint"])],64)):b("",!0),z("div",fe,[n(e(te),{type:"primary",size:"small",loading:r(m.key),disabled:!Se(m.key),onClick:t=>Me(m.key)},{default:o(()=>[L(S(e(a)("common.save")),1)]),_:1},8,["loading","disabled","onClick"])])]),_:2},1032,["name","icon","exclusive","config","credentials"])),64))]))}})})),Ye=H((()=>{})),Ue,Ke=H((()=>{ve(),ve(),Ye(),j(),Ue=G(ze,[["__scopeId","data-v-f6e465ec"]])})),ge,_e,he,be,He,ke=H((()=>{N(),O(),E(),qe(),Ee(),Ke(),ge={class:"channels-view"},_e={class:"page-header"},he={class:"header-title"},be={class:"channels-content"},He=Q({__name:"ChannelsView",setup(T){const h=we(),q=Oe(),{t:a}=J();async function U(){(!q.activeProfileName||q.profiles.length===0)&&await q.fetchProfiles(),await h.fetchSettings()}return Ae(()=>{U()}),(k,w)=>(v(),_("div",ge,[z("header",_e,[z("h2",he,S(e(a)("sidebar.channels")),1)]),z("div",be,[n(e(xe),{show:e(h).loading||e(h).saving,size:"large",description:e(a)("common.loading")},{default:o(()=>[e(h).loading?b("",!0):(v(),F(Ue,{key:0}))]),_:1},8,["show","description"])])]))}})})),Ze=H((()=>{})),el,ll=H((()=>{ke(),ke(),Ze(),j(),el=G(He,[["__scopeId","data-v-2a2475d5"]])}));ll();export{el as default};
|
|
1
|
+
import{n as H}from"./rolldown-runtime-M0oDzQ_3.js";import{$t as C,Cn as Ae,Dn as Ie,It as Pe,Mn as Be,On as Re,Ot as te,Pn as o,Pt as u,Qn as e,Rt as Ve,Tn as v,Un as P,V as De,Wn as D,Wt as N,an as b,dn as Q,er as ne,g as xe,in as F,ln as L,m as g,nn as Le,on as _,rn as z,rr as S,t as O,un as n,wn as $e}from"./ui-vendor-dYn1tJGA.js";import{c as E,l as J}from"./vue-vendor-DZ4A_GHn.js";import{n as j,t as G}from"./_plugin-vue_export-helper-CwNymSRn.js";import{A as We,C as we,D as Ne,E as Qe,S as qe,T as Fe,X as Oe,Y as Ee,k as Je}from"./index-DW8M4rjb.js";import{n as je,t as s}from"./SettingRow-DWprXoV4.js";var ie,oe,re,se,ye,de=H((()=>{N(),O(),E(),ie={class:"platform-info"},oe=["innerHTML"],re={class:"platform-name"},se={key:0,class:"platform-card-body"},ye=Q({__name:"PlatformCard",props:{name:{},icon:{},config:{},credentials:{},exclusive:{type:Boolean}},setup(T){const h=T,q=D(!0),{t:a}=J(),U=Le(()=>{const k=h.credentials;if(!k)return!1;const w=["token","api_key","app_id","client_id","secret","app_secret","client_secret","access_token","bot_id","account_id","enabled"];return[k,k.extra].filter(Boolean).some(M=>w.some(A=>{const y=M[A];return y!=null&&y!==""&&y!==!1}))});return(k,w)=>(v(),_("div",{class:ne(["platform-card",{configured:U.value}])},[z("div",{class:"platform-card-header",onClick:w[0]||(w[0]=M=>q.value=!q.value)},[z("div",ie,[z("span",{class:"platform-icon",innerHTML:T.icon},null,8,oe),z("span",re,S(T.name),1),n(e(Ve),{type:U.value?"success":"default",size:"small",round:""},{default:o(()=>[L(S(U.value?e(a)("common.configured"):e(a)("common.notConfigured")),1)]),_:1},8,["type"])]),z("span",{class:ne(["expand-icon",{expanded:q.value}])},"▾",2)]),q.value?(v(),_("div",se,[T.exclusive?(v(),F(e(Pe),{key:0,type:"warning","show-icon":!0,class:"exclusive-alert"},{default:o(()=>[L(S(e(a)("platform.exclusiveTokenWarning")),1)]),_:1})):b("",!0),Re(k.$slots,"default",{},void 0,!0)])):b("",!0)],2))}})})),Ge=H((()=>{})),Ce,Xe=H((()=>{de(),de(),Ge(),j(),Ce=G(ye,[["__scopeId","data-v-e27ecbbe"]])})),ue,pe,ce,me,fe,ze,ve=H((()=>{N(),O(),E(),qe(),Qe(),Xe(),je(),ue={class:"settings-section"},pe={class:"weixin-qr-section"},ce={key:1,class:"weixin-qr-loading"},me={key:2,class:"weixin-qr-hint"},fe={class:"platform-actions"},ze=Q({__name:"PlatformSettings",setup(T){const h=we(),q=De(),{t:a}=J(),U=P({}),k=P({}),w=P({}),M=P({}),A=P({});function y(i){return JSON.parse(JSON.stringify(i||{}))}function $(i,l){for(const[m,t]of Object.entries(l))t&&typeof t=="object"&&!Array.isArray(t)?i[m]=$({...i[m]||{}},t):i[m]=t;return i}function p(i){return k[i]||(k[i]=y(h[i])),k[i]}function d(i){return w[i]||(w[i]=y(I(i))),w[i]}function c(i,l){k[i]=$({...p(i)},l),M[i]=!0}function f(i,l){w[i]=$({...d(i)},l),A[i]=!0}function X(i,l){return JSON.stringify(i||{})===JSON.stringify(l||{})}function Y(i){return!!M[i]&&!!k[i]&&!X(k[i],h[i])}function K(i){return!!A[i]&&!!w[i]&&!X(w[i],I(i))}function Se(i){return Y(i)||K(i)}function r(i){return!!U[i]}async function Me(i){U[i]=!0;try{const l=Y(i),m=K(i);l&&await h.saveSection(i,p(i),{restart:!m}),m&&(await Je(i,d(i)),await h.fetchSettings()),k[i]=y(h[i]),w[i]=y(I(i)),M[i]=!1,A[i]=!1,q.success(a("settings.saved"))}catch(l){q.error(l?.message||a("settings.saveFailed"))}finally{U[i]=!1}}function I(i){return h.platforms[i]||{}}function Z(i){return i===!0||i==="true"}const ee=D(""),B=D(""),x=D("idle");let R=null;async function Te(){x.value="loading",ee.value="",B.value="",le();try{const i=await Fe();B.value=i.qrcode,ee.value=i.qrcode_url,window.open(i.qrcode_url,"_blank"),x.value="waiting",V()}catch(i){x.value="error",q.error(i.message||a("platform.qrFetching"))}}function V(){B.value&&(R=setTimeout(async()=>{try{const i=await Ne(B.value);i.status==="wait"?V():i.status==="scaned"?(x.value="scaned",V()):i.status==="expired"?x.value="expired":i.status==="confirmed"&&(x.value="confirmed",await We({account_id:i.account_id,token:i.token,base_url:i.base_url}),await h.fetchSettings(),q.success(a("settings.saved")))}catch{V()}},3e3))}function le(){R&&(clearTimeout(R),R=null)}$e(()=>{le()});const ae=[{key:"telegram",name:"Telegram",exclusive:!0,icon:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.479.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"/></svg>'},{key:"discord",name:"Discord",exclusive:!0,icon:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189z"/></svg>'},{key:"slack",name:"Slack",exclusive:!0,icon:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.122 0a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V5.042zm-1.27 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zM15.165 18.956a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.27a2.527 2.527 0 0 1 2.523-2.52h6.313A2.528 2.528 0 0 1 24 18.956a2.528 2.528 0 0 1-2.522 2.523h-6.313z"/></svg>'},{key:"whatsapp",name:"WhatsApp",exclusive:!0,icon:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z"/></svg>'},{key:"matrix",name:"Matrix",icon:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M.632.55v22.9H2.28V24H0V0h2.28v.55zm7.043 7.26v1.157h.033c.309-.443.683-.784 1.117-1.024.433-.245.936-.365 1.5-.365.54 0 1.033.107 1.48.324.448.217.786.619 1.017 1.205.24-.376.558-.702.956-.98.398-.277.872-.414 1.424-.414.41 0 .784.065 1.122.194.34.13.629.325.87.588.241.263.428.59.56.984.132.393.198.85.198 1.368v5.89h-2.49v-4.893c0-.268-.016-.525-.048-.77a1.627 1.627 0 00-.2-.63 1.028 1.028 0 00-.392-.426 1.294 1.294 0 00-.616-.134c-.277 0-.508.05-.693.15a1.043 1.043 0 00-.43.41 1.768 1.768 0 00-.214.616 4.15 4.15 0 00-.06.74v4.937H9.29v-4.937c0-.25-.01-.498-.032-.742a1.84 1.84 0 00-.166-.638.998.998 0 00-.363-.448 1.206 1.206 0 00-.624-.154c-.26 0-.483.048-.67.144a1.055 1.055 0 00-.436.402 1.744 1.744 0 00-.227.616 4.108 4.108 0 00-.063.74v4.937H5.21V7.81zm15.693 15.64V.55H21.72V0H24v24h-2.28v-.55z"/></svg>'},{key:"feishu",name:"Feishu",exclusive:!0,icon:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M6.59 3.41a2.25 2.25 0 0 1 3.182 0L13.5 7.14l-3.182 3.182L6.59 7.59a2.25 2.25 0 0 1 0-3.182zm5.303 5.303L15.075 5.53a2.25 2.25 0 0 1 3.182 3.182L15.075 11.894 11.893 8.713zM3.41 6.59a2.25 2.25 0 0 1 3.182 0l3.182 3.182-3.182 3.182a2.25 2.25 0 0 1-3.182-3.182L3.41 6.59zm5.303 5.303L11.894 15.075a2.25 2.25 0 0 1-3.182 3.182L5.53 15.075 8.713 11.893zm5.303-5.303L17.478 9.778a2.25 2.25 0 0 1-3.182 3.182L10.53 10.075l3.182-3.182 0 .023z"/></svg>'},{key:"dingtalk",name:"DingTalk",exclusive:!0,icon:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M19.76 7.05c-.23-.52-.7-.9-1.26-1.02L5.35 3.2c-.77-.16-1.51.38-1.58 1.16-.22 2.55.17 5.4 1.13 7.66.97 2.29 2.52 4.11 4.45 4.82l-1.28 3.03c-.17.4.24.79.63.59l9.47-4.83c.34-.17.55-.52.55-.9v-3.12c.73-.4 1.22-1.17 1.22-2.06 0-.87-.08-1.73-.18-2.5zm-3.66 5.95-5.19 2.65.76-1.8c.12-.29-.03-.62-.33-.72-2.1-.73-3.56-3.54-3.95-6.73l9.27 2c.04.38.07.76.07 1.15 0 .45-.36.81-.81.81h-2.79c-.35 0-.63.28-.63.63s.28.63.63.63h2.97V13z"/></svg>'},{key:"qqbot",name:"QQBot",exclusive:!0,icon:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 2C7.58 2 4 5.27 4 9.31c0 2.3 1.15 4.34 2.95 5.68-.13.58-.48 1.62-1.26 2.53-.24.28-.05.72.32.73 1.72.05 3.02-.68 3.69-1.15.72.16 1.49.25 2.3.25 4.42 0 8-3.27 8-7.31S16.42 2 12 2zm-3.2 7.63c-.63 0-1.14-.55-1.14-1.23s.51-1.23 1.14-1.23 1.14.55 1.14 1.23-.51 1.23-1.14 1.23zm6.4 0c-.63 0-1.14-.55-1.14-1.23s.51-1.23 1.14-1.23 1.14.55 1.14 1.23-.51 1.23-1.14 1.23zM5.5 20.5a.5.5 0 0 1 .5-.5h12a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z"/></svg>'},{key:"weixin",name:"Weixin",exclusive:!0,icon:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M8.691 2.188C3.891 2.188 0 5.476 0 9.53c0 2.212 1.17 4.203 3.002 5.55a.59.59 0 01.213.665l-.39 1.48c-.019.07-.048.141-.048.213 0 .163.13.295.29.295a.326.326 0 00.167-.054l1.903-1.114a.864.864 0 01.717-.098 10.16 10.16 0 002.837.403c.276 0 .543-.027.811-.05-.857-2.578.157-4.972 1.932-6.446 1.703-1.415 3.882-1.98 5.853-1.838-.576-3.583-4.196-6.348-8.596-6.348zM5.785 5.991c.642 0 1.162.529 1.162 1.18a1.17 1.17 0 01-1.162 1.178A1.17 1.17 0 014.623 7.17c0-.651.52-1.18 1.162-1.18zm5.813 0c.642 0 1.162.529 1.162 1.18a1.17 1.17 0 01-1.162 1.178 1.17 1.17 0 01-1.162-1.178c0-.651.52-1.18 1.162-1.18zm3.68 4.025c-3.694 0-6.69 2.462-6.69 5.496 0 3.034 2.996 5.496 6.69 5.496.753 0 1.477-.1 2.158-.28a.66.66 0 01.548.074l1.46.854a.25.25 0 00.127.041.224.224 0 00.221-.225c0-.055-.022-.109-.037-.162l-.298-1.131a.453.453 0 01.163-.509C21.81 18.613 22.77 16.973 22.77 15.512c0-3.034-2.996-5.496-6.69-5.496h.198zm-2.454 3.347c.491 0 .889.404.889.902a.896.896 0 01-.889.903.896.896 0 01-.889-.903c0-.498.398-.902.889-.902zm4.912 0c.491 0 .889.404.889.902a.896.896 0 01-.889.903.896.896 0 01-.889-.903c0-.498.398-.902.889-.902z"/></svg>'},{key:"wecom",name:"WeCom",icon:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M8.691 2.188C3.891 2.188 0 5.476 0 9.53c0 2.212 1.17 4.203 3.002 5.55a.59.59 0 01.213.665l-.39 1.48c-.019.07-.048.141-.048.213 0 .163.13.295.29.295a.326.326 0 00.167-.054l1.903-1.114a.864.864 0 01.717-.098 10.16 10.16 0 002.837.403c.276 0 .543-.027.811-.05-.857-2.578.157-4.972 1.932-6.446 1.703-1.415 3.882-1.98 5.853-1.838-.576-3.583-4.196-6.348-8.596-6.348zM5.785 5.991c.642 0 1.162.529 1.162 1.18a1.17 1.17 0 01-1.162 1.178A1.17 1.17 0 014.623 7.17c0-.651.52-1.18 1.162-1.18zm5.813 0c.642 0 1.162.529 1.162 1.18a1.17 1.17 0 01-1.162 1.178 1.17 1.17 0 01-1.162-1.178c0-.651.52-1.18 1.162-1.18zm3.68 4.025c-3.694 0-6.69 2.462-6.69 5.496 0 3.034 2.996 5.496 6.69 5.496.753 0 1.477-.1 2.158-.28a.66.66 0 01.548.074l1.46.854a.25.25 0 00.127.041.224.224 0 00.221-.225c0-.055-.022-.109-.037-.162l-.298-1.131a.453.453 0 01.163-.509C21.81 18.613 22.77 16.973 22.77 15.512c0-3.034-2.996-5.496-6.69-5.496h.198zm-2.454 3.347c.491 0 .889.404.889.902a.896.896 0 01-.889.903.896.896 0 01-.889-.903c0-.498.398-.902.889-.902zm4.912 0c.491 0 .889.404.889.902a.896.896 0 01-.889.903.896.896 0 01-.889-.903c0-.498.398-.902.889-.902z"/></svg>'}];return Be(()=>ae.map(i=>({key:i.key,config:h[i.key],credentials:I(i.key)})),i=>{for(const l of i)M[l.key]||(k[l.key]=y(l.config)),A[l.key]||(w[l.key]=y(l.credentials))},{deep:!0,immediate:!0}),(i,l)=>(v(),_("section",ue,[(v(),_(C,null,Ie(ae,m=>n(Ce,{key:m.key,name:m.name,icon:m.icon,exclusive:m.exclusive,config:e(h)[m.key],credentials:I(m.key)},{default:o(()=>[m.key==="telegram"?(v(),_(C,{key:0},[n(s,{label:e(a)("platform.botToken"),hint:e(a)("platform.botTokenHint")},{default:o(()=>[n(e(u),{value:d("telegram").token||"",loading:r("telegram"),clearable:"",size:"small",class:"input-lg",placeholder:"123456:ABC-DEF...","onUpdate:value":l[0]||(l[0]=t=>f("telegram",{token:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.requireMention"),hint:e(a)("platform.requireMentionGroup")},{default:o(()=>[n(e(g),{value:p("telegram").require_mention,loading:r("telegram"),"onUpdate:value":l[1]||(l[1]=t=>c("telegram",{require_mention:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.reactions"),hint:e(a)("platform.reactionsHint")},{default:o(()=>[n(e(g),{value:p("telegram").reactions,loading:r("telegram"),"onUpdate:value":l[2]||(l[2]=t=>c("telegram",{reactions:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.freeResponseChats"),hint:e(a)("platform.freeResponseChatsHint")},{default:o(()=>[n(e(u),{value:p("telegram").free_response_chats||"",loading:r("telegram"),size:"small",placeholder:"chat_id1,chat_id2","onUpdate:value":l[3]||(l[3]=t=>c("telegram",{free_response_chats:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.mentionPatterns"),hint:e(a)("platform.mentionPatternsHint")},{default:o(()=>[n(e(u),{value:(p("telegram").mention_patterns||[]).join(", "),loading:r("telegram"),size:"small",placeholder:"pattern1, pattern2","onUpdate:value":l[4]||(l[4]=t=>c("telegram",{mention_patterns:t?t.split(",").map(W=>W.trim()):[]}))},null,8,["value","loading"])]),_:1},8,["label","hint"])],64)):b("",!0),m.key==="discord"?(v(),_(C,{key:1},[n(s,{label:e(a)("platform.botToken"),hint:e(a)("platform.botTokenHint")},{default:o(()=>[n(e(u),{value:d("discord").token||"",loading:r("discord"),clearable:"",size:"small",class:"input-lg",placeholder:"Bot token...","onUpdate:value":l[5]||(l[5]=t=>f("discord",{token:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.requireMention"),hint:e(a)("platform.requireMentionChannel")},{default:o(()=>[n(e(g),{value:p("discord").require_mention,loading:r("discord"),"onUpdate:value":l[6]||(l[6]=t=>c("discord",{require_mention:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.autoThread"),hint:e(a)("platform.autoThreadHint")},{default:o(()=>[n(e(g),{value:p("discord").auto_thread,loading:r("discord"),"onUpdate:value":l[7]||(l[7]=t=>c("discord",{auto_thread:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.reactions"),hint:e(a)("platform.reactionsHint")},{default:o(()=>[n(e(g),{value:p("discord").reactions,loading:r("discord"),"onUpdate:value":l[8]||(l[8]=t=>c("discord",{reactions:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.freeResponseChannels"),hint:e(a)("platform.freeResponseChannelsHint")},{default:o(()=>[n(e(u),{value:p("discord").free_response_channels||"",loading:r("discord"),size:"small",placeholder:"channel_id1,channel_id2","onUpdate:value":l[9]||(l[9]=t=>c("discord",{free_response_channels:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.allowedChannels"),hint:e(a)("platform.allowedChannelsHint")},{default:o(()=>[n(e(u),{value:p("discord").allowed_channels||"",loading:r("discord"),size:"small",placeholder:"channel_id1,channel_id2","onUpdate:value":l[10]||(l[10]=t=>c("discord",{allowed_channels:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.ignoredChannels"),hint:e(a)("platform.ignoredChannelsHint")},{default:o(()=>[n(e(u),{value:p("discord").ignored_channels||"",loading:r("discord"),size:"small",placeholder:"channel_id1,channel_id2","onUpdate:value":l[11]||(l[11]=t=>c("discord",{ignored_channels:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.noThreadChannels"),hint:e(a)("platform.noThreadChannelsHint")},{default:o(()=>[n(e(u),{value:p("discord").no_thread_channels||"",loading:r("discord"),size:"small",placeholder:"channel_id1,channel_id2","onUpdate:value":l[12]||(l[12]=t=>c("discord",{no_thread_channels:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"])],64)):b("",!0),m.key==="slack"?(v(),_(C,{key:2},[n(s,{label:e(a)("platform.botToken"),hint:e(a)("platform.botTokenHint")},{default:o(()=>[n(e(u),{value:d("slack").token||"",loading:r("slack"),clearable:"",size:"small",class:"input-lg",placeholder:"xoxb-...","onUpdate:value":l[13]||(l[13]=t=>f("slack",{token:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.requireMention"),hint:e(a)("platform.requireMentionChannel")},{default:o(()=>[n(e(g),{value:p("slack").require_mention,loading:r("slack"),"onUpdate:value":l[14]||(l[14]=t=>c("slack",{require_mention:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.allowBots"),hint:e(a)("platform.allowBotsHint")},{default:o(()=>[n(e(g),{value:p("slack").allow_bots,loading:r("slack"),"onUpdate:value":l[15]||(l[15]=t=>c("slack",{allow_bots:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.freeResponseChannels"),hint:e(a)("platform.freeResponseChannelsHint")},{default:o(()=>[n(e(u),{value:p("slack").free_response_channels||"",loading:r("slack"),size:"small",placeholder:"channel_id1,channel_id2","onUpdate:value":l[16]||(l[16]=t=>c("slack",{free_response_channels:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"])],64)):b("",!0),m.key==="whatsapp"?(v(),_(C,{key:3},[n(s,{label:e(a)("platform.waEnabled"),hint:e(a)("platform.waEnabledHint")},{default:o(()=>[n(e(g),{value:d("whatsapp").enabled,loading:r("whatsapp"),"onUpdate:value":l[17]||(l[17]=t=>f("whatsapp",{enabled:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.requireMention"),hint:e(a)("platform.requireMentionGroup")},{default:o(()=>[n(e(g),{value:p("whatsapp").require_mention,loading:r("whatsapp"),"onUpdate:value":l[18]||(l[18]=t=>c("whatsapp",{require_mention:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.freeResponseChats"),hint:e(a)("platform.freeResponseChatsHint")},{default:o(()=>[n(e(u),{value:p("whatsapp").free_response_chats||"",loading:r("whatsapp"),size:"small",placeholder:"chat_id1,chat_id2","onUpdate:value":l[19]||(l[19]=t=>c("whatsapp",{free_response_chats:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.mentionPatterns"),hint:e(a)("platform.mentionPatternsHint")},{default:o(()=>[n(e(u),{value:(p("whatsapp").mention_patterns||[]).join(", "),loading:r("whatsapp"),size:"small",placeholder:"pattern1, pattern2","onUpdate:value":l[20]||(l[20]=t=>c("whatsapp",{mention_patterns:t?t.split(",").map(W=>W.trim()):[]}))},null,8,["value","loading"])]),_:1},8,["label","hint"])],64)):b("",!0),m.key==="matrix"?(v(),_(C,{key:4},[n(s,{label:e(a)("platform.accessToken"),hint:e(a)("platform.accessTokenHint")},{default:o(()=>[n(e(u),{value:d("matrix").token||"",loading:r("matrix"),clearable:"",size:"small",class:"input-lg",placeholder:"syt_...","onUpdate:value":l[21]||(l[21]=t=>f("matrix",{token:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.homeserver"),hint:e(a)("platform.homeserverHint")},{default:o(()=>[n(e(u),{value:d("matrix").extra?.homeserver||"",loading:r("matrix"),clearable:"",size:"small",class:"input-lg",placeholder:"https://matrix.org","onUpdate:value":l[22]||(l[22]=t=>f("matrix",{extra:{...d("matrix").extra,homeserver:t}}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.requireMention"),hint:e(a)("platform.requireMentionRoom")},{default:o(()=>[n(e(g),{value:p("matrix").require_mention,loading:r("matrix"),"onUpdate:value":l[23]||(l[23]=t=>c("matrix",{require_mention:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.autoThread"),hint:e(a)("platform.autoThreadHintRoom")},{default:o(()=>[n(e(g),{value:p("matrix").auto_thread,loading:r("matrix"),"onUpdate:value":l[24]||(l[24]=t=>c("matrix",{auto_thread:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.dmMentionThreads"),hint:e(a)("platform.dmMentionThreadsHint")},{default:o(()=>[n(e(g),{value:p("matrix").dm_mention_threads,loading:r("matrix"),"onUpdate:value":l[25]||(l[25]=t=>c("matrix",{dm_mention_threads:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.freeResponseRooms"),hint:e(a)("platform.freeResponseRoomsHint")},{default:o(()=>[n(e(u),{value:p("matrix").free_response_rooms||"",loading:r("matrix"),size:"small",placeholder:"room_id1,room_id2","onUpdate:value":l[26]||(l[26]=t=>c("matrix",{free_response_rooms:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"])],64)):b("",!0),m.key==="feishu"?(v(),_(C,{key:5},[n(s,{label:e(a)("platform.appId"),hint:e(a)("platform.appIdHint")},{default:o(()=>[n(e(u),{value:d("feishu").extra?.app_id||"",loading:r("feishu"),clearable:"",size:"small",class:"input-lg",placeholder:"cli_...","onUpdate:value":l[27]||(l[27]=t=>f("feishu",{extra:{...d("feishu").extra,app_id:t}}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.appSecret"),hint:e(a)("platform.appSecretHint")},{default:o(()=>[n(e(u),{value:d("feishu").extra?.app_secret||"",loading:r("feishu"),clearable:"",size:"small",class:"input-lg",placeholder:"App Secret","onUpdate:value":l[28]||(l[28]=t=>f("feishu",{extra:{...d("feishu").extra,app_secret:t}}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.requireMention"),hint:e(a)("platform.requireMentionGroup")},{default:o(()=>[n(e(g),{value:p("feishu").require_mention,loading:r("feishu"),"onUpdate:value":l[29]||(l[29]=t=>c("feishu",{require_mention:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.freeResponseChats"),hint:e(a)("platform.freeResponseChatsHint")},{default:o(()=>[n(e(u),{value:p("feishu").free_response_chats||"",loading:r("feishu"),size:"small",placeholder:"chat_id1,chat_id2","onUpdate:value":l[30]||(l[30]=t=>c("feishu",{free_response_chats:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"])],64)):b("",!0),m.key==="dingtalk"?(v(),_(C,{key:6},[n(s,{label:e(a)("platform.clientId"),hint:e(a)("platform.clientIdHint")},{default:o(()=>[n(e(u),{value:d("dingtalk").extra?.client_id||"",loading:r("dingtalk"),clearable:"",size:"small",class:"input-lg",placeholder:"Client ID","onUpdate:value":l[31]||(l[31]=t=>f("dingtalk",{extra:{...d("dingtalk").extra,client_id:t}}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.clientSecret"),hint:e(a)("platform.clientSecretHint")},{default:o(()=>[n(e(u),{value:d("dingtalk").extra?.client_secret||"",loading:r("dingtalk"),clearable:"",size:"small",class:"input-lg",placeholder:"Client Secret","onUpdate:value":l[32]||(l[32]=t=>f("dingtalk",{extra:{...d("dingtalk").extra,client_secret:t}}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.cardTemplateId"),hint:e(a)("platform.cardTemplateIdHint")},{default:o(()=>[n(e(u),{value:d("dingtalk").extra?.card_template_id||"",loading:r("dingtalk"),clearable:"",size:"small",class:"input-lg",placeholder:"AI Card Template ID","onUpdate:value":l[33]||(l[33]=t=>f("dingtalk",{extra:{...d("dingtalk").extra,card_template_id:t}}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.allowAllUsers"),hint:e(a)("platform.allowAllUsersHint")},{default:o(()=>[n(e(g),{value:Z(d("dingtalk").allow_all_users),loading:r("dingtalk"),"onUpdate:value":l[34]||(l[34]=t=>f("dingtalk",{allow_all_users:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.allowedUsers"),hint:e(a)("platform.allowedUsersHint")},{default:o(()=>[n(e(u),{value:d("dingtalk").allowed_users||"",loading:r("dingtalk"),clearable:"",size:"small",class:"input-lg",placeholder:"user_id1,user_id2","onUpdate:value":l[35]||(l[35]=t=>f("dingtalk",{allowed_users:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.requireMention"),hint:e(a)("platform.requireMentionGroup")},{default:o(()=>[n(e(g),{value:p("dingtalk").require_mention,loading:r("dingtalk"),"onUpdate:value":l[36]||(l[36]=t=>c("dingtalk",{require_mention:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.freeResponseChats"),hint:e(a)("platform.freeResponseChatsHint")},{default:o(()=>[n(e(u),{value:p("dingtalk").free_response_chats||"",loading:r("dingtalk"),size:"small",placeholder:"chat_id1,chat_id2","onUpdate:value":l[37]||(l[37]=t=>c("dingtalk",{free_response_chats:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"])],64)):b("",!0),m.key==="qqbot"?(v(),_(C,{key:7},[n(s,{label:e(a)("platform.qqAppId"),hint:e(a)("platform.qqAppIdHint")},{default:o(()=>[n(e(u),{value:d("qqbot").extra?.app_id||"",loading:r("qqbot"),clearable:"",size:"small",class:"input-lg",placeholder:"App ID","onUpdate:value":l[38]||(l[38]=t=>f("qqbot",{extra:{...d("qqbot").extra,app_id:t}}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.qqAppSecret"),hint:e(a)("platform.qqAppSecretHint")},{default:o(()=>[n(e(u),{value:d("qqbot").extra?.client_secret||"",loading:r("qqbot"),clearable:"",size:"small",class:"input-lg",placeholder:"App Secret","onUpdate:value":l[39]||(l[39]=t=>f("qqbot",{extra:{...d("qqbot").extra,client_secret:t}}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.allowedUsers"),hint:e(a)("platform.allowedUsersHint")},{default:o(()=>[n(e(u),{value:d("qqbot").allowed_users||"",loading:r("qqbot"),clearable:"",size:"small",class:"input-lg",placeholder:"openid1,openid2","onUpdate:value":l[40]||(l[40]=t=>f("qqbot",{allowed_users:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.allowAllUsers"),hint:e(a)("platform.allowAllUsersHint")},{default:o(()=>[n(e(g),{value:Z(d("qqbot").allow_all_users),loading:r("qqbot"),"onUpdate:value":l[41]||(l[41]=t=>f("qqbot",{allow_all_users:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.qqMarkdown"),hint:e(a)("platform.qqMarkdownHint")},{default:o(()=>[n(e(g),{value:p("qqbot").extra?.markdown_support??!0,loading:r("qqbot"),"onUpdate:value":l[42]||(l[42]=t=>c("qqbot",{extra:{...p("qqbot").extra,markdown_support:t}}))},null,8,["value","loading"])]),_:1},8,["label","hint"])],64)):b("",!0),m.key==="weixin"?(v(),_(C,{key:8},[z("div",pe,[x.value==="idle"||x.value==="error"||x.value==="expired"||x.value==="confirmed"?(v(),F(e(te),{key:0,type:"primary",size:"small",onClick:Te},{default:o(()=>[L(S(x.value==="confirmed"?e(a)("platform.qrRelogin"):e(a)("platform.qrLogin")),1)]),_:1})):b("",!0),x.value==="loading"?(v(),_("div",ce,[n(e(xe),{size:"small"}),z("span",null,S(e(a)("platform.qrFetching")),1)])):b("",!0),x.value==="waiting"||x.value==="scaned"?(v(),_("div",me,S(x.value==="scaned"?e(a)("platform.qrScanedHint"):e(a)("platform.qrScanHint")),1)):b("",!0)]),n(s,{label:e(a)("platform.weixinToken"),hint:e(a)("platform.weixinTokenHint")},{default:o(()=>[n(e(u),{value:d("weixin").token||"",loading:r("weixin"),clearable:"",size:"small",class:"input-lg",placeholder:"Token","onUpdate:value":l[43]||(l[43]=t=>f("weixin",{token:t}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.accountId"),hint:e(a)("platform.accountIdHint")},{default:o(()=>[n(e(u),{value:d("weixin").extra?.account_id||"",loading:r("weixin"),clearable:"",size:"small",class:"input-lg",placeholder:"Account ID","onUpdate:value":l[44]||(l[44]=t=>f("weixin",{extra:{...d("weixin").extra,account_id:t}}))},null,8,["value","loading"])]),_:1},8,["label","hint"])],64)):b("",!0),m.key==="wecom"?(v(),_(C,{key:9},[n(s,{label:e(a)("platform.botId"),hint:e(a)("platform.botIdHint")},{default:o(()=>[n(e(u),{value:d("wecom").extra?.bot_id||"",loading:r("wecom"),clearable:"",size:"small",class:"input-lg",placeholder:"Bot ID","onUpdate:value":l[45]||(l[45]=t=>f("wecom",{extra:{...d("wecom").extra,bot_id:t}}))},null,8,["value","loading"])]),_:1},8,["label","hint"]),n(s,{label:e(a)("platform.appSecret"),hint:e(a)("platform.wecomSecretHint")},{default:o(()=>[n(e(u),{value:d("wecom").extra?.secret||"",loading:r("wecom"),clearable:"",size:"small",class:"input-lg",placeholder:"Secret","onUpdate:value":l[46]||(l[46]=t=>f("wecom",{extra:{...d("wecom").extra,secret:t}}))},null,8,["value","loading"])]),_:1},8,["label","hint"])],64)):b("",!0),z("div",fe,[n(e(te),{type:"primary",size:"small",loading:r(m.key),disabled:!Se(m.key),onClick:t=>Me(m.key)},{default:o(()=>[L(S(e(a)("common.save")),1)]),_:1},8,["loading","disabled","onClick"])])]),_:2},1032,["name","icon","exclusive","config","credentials"])),64))]))}})})),Ye=H((()=>{})),Ue,Ke=H((()=>{ve(),ve(),Ye(),j(),Ue=G(ze,[["__scopeId","data-v-f6e465ec"]])})),ge,_e,he,be,He,ke=H((()=>{N(),O(),E(),qe(),Ee(),Ke(),ge={class:"channels-view"},_e={class:"page-header"},he={class:"header-title"},be={class:"channels-content"},He=Q({__name:"ChannelsView",setup(T){const h=we(),q=Oe(),{t:a}=J();async function U(){(!q.activeProfileName||q.profiles.length===0)&&await q.fetchProfiles(),await h.fetchSettings()}return Ae(()=>{U()}),(k,w)=>(v(),_("div",ge,[z("header",_e,[z("h2",he,S(e(a)("sidebar.channels")),1)]),z("div",be,[n(e(xe),{show:e(h).loading||e(h).saving,size:"large",description:e(a)("common.loading")},{default:o(()=>[e(h).loading?b("",!0):(v(),F(Ue,{key:0}))]),_:1},8,["show","description"])])]))}})})),Ze=H((()=>{})),el,ll=H((()=>{ke(),ke(),Ze(),j(),el=G(He,[["__scopeId","data-v-2a2475d5"]])}));ll();export{el as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{n as N}from"./rolldown-runtime-M0oDzQ_3.js";import{$t as X,Cn as Ee,Dn as re,E as Ko,Fn as At,I as jo,K as Tt,Kt as is,Mn as te,Ot as H,P as Ho,Pn as P,Pt as Ke,Qn as t,Qt as lo,Tn as u,V as oo,Wn as h,Wt as fe,Xt as rs,Yt as Wo,Zt as Ss,an as w,cn as Qo,ct as Yo,dn as be,en as Xo,er as J,g as Jo,gt as Zo,in as Q,ln as j,m as ei,mt as Ge,nn as S,nr as Lt,nt as ti,on as d,ot as je,rn as e,rr as v,t as Dt,un as b,ut as si,w as ai,wn as Rt,xn as ni,yn as Re}from"./ui-vendor-dYn1tJGA.js";import{c as Ae,f as io,l as Le,m as ro,p as li}from"./vue-vendor-DZ4A_GHn.js";import{f as Et,n as Ce,t as xe,u as cs}from"./_plugin-vue_export-helper-uEMLHKI8.js";import{$ as oi,C as ii,F as ri,G as ui,K as ci,L as di,Q as Vt,R as vi,S as pi,W as uo,X as ds,Y as vs,Z as Ut,_ as Ot,et as fi,v as Nt}from"./index-1yNqMnGv.js";import{a as hi,i as mi,n as _i,t as gi}from"./TerminalPanel-Bwa-6ai-.js";import{n as yi,t as wi}from"./session-browser-prefs-BMKJzhU0.js";import{n as ki,t as bs}from"./clipboard-1NPxC3YL.js";import{i as co,n as Si,r as vo,t as bi}from"./VirtualMessageList-BNu9wFPU.js";import{c as Ci,d as xi,l as Mi,n as $i,t as Pi,u as Ii}from"./useSttSettings-BAlyngwO.js";import{o as Ti,s as Ai}from"./ttsHelpers-CzQCvABU.js";import{a as Cs,i as Li,n as Bi,o as xs,r as Ms,s as Fi,t as Di}from"./OutlinePanel-BddtVbQw.js";import{n as Ri,t as Ei}from"./MessageItem-Dr5idUZb.js";import{_ as Vi,a as Ui,b as Oi,c as Ni,d as zi,f as qi,g as Gi,h as Ki,i as ji,l as Hi,m as Wi,n as Qi,o as Yi,p as Xi,r as Ji,s as Zi,t as er,u as tr,v as sr,y as ar}from"./FileRenameModal-BmQIUMYK.js";var $s,Ps,Is,Ts,As,Ls,Bs,Fs,Ds,Rs,Es,Vs,po,Us=N((()=>{fe(),Dt(),Ae(),cs(),$s={class:"folder-picker"},Ps={key:0,class:"folder-picker-loading"},Is={key:1,class:"folder-tree"},Ts={class:"folder-name"},As=["onClick"],Ls=["onClick"],Bs={class:"folder-name"},Fs={class:"folder-empty-text"},Ds={key:1,class:"folder-empty"},Rs={key:2,class:"folder-selected"},Es={class:"folder-selected-label"},Vs={class:"folder-selected-path"},po=be({__name:"FolderPicker",props:{modelValue:{}},emits:["update:modelValue"],setup(x,{emit:i}){const r=x,A=i,{t:c}=Le(),_=h(!1),f=h(""),n=h([]),L=h(new Set),O=h(new Map),I=h(new Set),V=h(r.modelValue||""),E=h(!1);te(()=>r.modelValue,g=>{V.value=g||""});function F(g){const $=String(g||"").trim();V.value=$,A("update:modelValue",$||null)}async function D(g=""){try{return await Et(`/api/hermes/workspace/folders${g?`?path=${encodeURIComponent(g)}`:""}`)}catch{return null}}Ee(async()=>{_.value=!0;const g=await D();g?(f.value=g.base,n.value=g.folders,E.value=!1):E.value=!0,_.value=!1});async function q(g){if(L.value.has(g.path)){L.value.delete(g.path),L.value=new Set(L.value);return}if(L.value.add(g.path),L.value=new Set(L.value),!O.value.has(g.path)){I.value.add(g.path),I.value=new Set(I.value);const $=await D(g.path);O.value.set(g.path,$?.folders||[]),O.value=new Map(O.value),I.value.delete(g.path),I.value=new Set(I.value)}}function R(g){F(g.fullPath)}function K(){F(f.value)}const W=S(()=>{const g=[];function $(k,T){for(const G of k){const z=L.value.has(G.path),ce=I.value.has(G.path),m=O.value.get(G.path);g.push({folder:G,depth:T,isExpanded:z,isLoading:ce,hasChildren:m?m.length>0:null}),z&&m&&m.length>0&&$(m,T+1)}}return $(n.value,0),g});return(g,$)=>(u(),d("div",$s,[b(t(Ke),{value:V.value,placeholder:t(c)("chat.workspacePlaceholder"),clearable:"",size:"small",class:"folder-path-input","onUpdate:value":F},null,8,["value","placeholder"]),_.value?(u(),d("div",Ps,[b(t(Jo),{size:"small"})])):(u(),d("div",Is,[f.value?(u(),d("div",{key:0,class:J(["folder-item root",{selected:V.value===f.value}]),onClick:K},[$[0]||($[0]=e("span",{class:"folder-icon"},"📂",-1)),e("span",Ts,v(f.value||"/"),1)],2)):w("",!0),(u(!0),d(X,null,re(W.value,k=>(u(),d("div",{key:k.folder.path,class:J(["folder-item",{selected:V.value===k.folder.fullPath}]),style:Lt({paddingLeft:`${12+k.depth*16}px`}),onClick:T=>R(k.folder)},[e("span",{class:"folder-expand",onClick:lo(T=>q(k.folder),["stop"])},[k.isLoading?(u(),d(X,{key:0},[j("⏳")],64)):(u(),d(X,{key:1},[j(v(k.isExpanded?"▼":"▶"),1)],64))],8,Ls),$[1]||($[1]=e("span",{class:"folder-icon"},"📁",-1)),e("span",Bs,v(k.folder.name),1)],14,As))),128)),(u(!0),d(X,null,re(W.value,k=>(u(),d(X,{key:"empty-"+k.folder.path},[k.isExpanded&&!k.isLoading&&k.hasChildren===!1?(u(),d("div",{key:0,class:"folder-item empty",style:Lt({paddingLeft:`${28+k.depth*16}px`})},[e("span",Fs,v(t(c)("chat.folderPickerEmpty")),1)],4)):w("",!0)],64))),128)),(n.value.length===0||E.value)&&!_.value?(u(),d("div",Ds,v(t(c)("chat.folderPickerNoFolders")),1)):w("",!0)])),V.value?(u(),d("div",Rs,[e("span",Es,v(t(c)("chat.folderPickerSelected")),1),e("span",Vs,v(V.value),1)])):w("",!0)]))}})})),nr=N((()=>{})),us,lr=N((()=>{Us(),Us(),nr(),Ce(),us=xe(po,[["__scopeId","data-v-8b472308"]])}));async function or(x,i,r){return(await Et(`/api/hermes/model-context/${encodeURIComponent(x)}/${encodeURIComponent(i)}`,{method:"PUT",body:JSON.stringify({provider:x,model:i,context_limit:r})})).data}var ir=N((()=>{cs()})),Os,Ns,zs,qs,Gs,Ks,js,fo,Hs=N((()=>{fe(),Ae(),Os=["data-status"],Ns={class:"voice-transcript-overlay__status"},zs={key:0,class:"voice-transcript-overlay__transcript"},qs={key:1,class:"voice-transcript-overlay__error",role:"alert"},Gs={key:2,class:"voice-transcript-overlay__debug"},Ks={class:"voice-transcript-overlay__debug-title"},js={class:"voice-transcript-overlay__debug-list"},fo=be({__name:"VoiceTranscriptOverlay",props:{status:{},transcript:{},error:{default:null},floating:{type:Boolean,default:!1},events:{default:()=>[]},debug:{type:Boolean,default:!1}},setup(x){const i=x,{t:r}=Le(),A=S(()=>r(`chat.voiceInput.status.${i.status}`)),c=S(()=>r("chat.voiceInput.statusLabel",{status:A.value})),_=S(()=>r("chat.voiceInput.transcriptLabel",{text:i.transcript})),f=S(()=>r("chat.voiceInput.errorLabel",{error:i.error})),n=S(()=>i.events.slice(-5).map(L=>L.type));return(L,O)=>(u(),d("div",{class:J(["voice-transcript-overlay",{"voice-transcript-overlay--floating":i.floating}]),"data-testid":"voice-transcript-overlay","data-status":i.status,role:"status","aria-live":"polite"},[e("p",Ns,v(c.value),1),i.transcript?(u(),d("p",zs,v(_.value),1)):w("",!0),i.error?(u(),d("p",qs,v(f.value),1)):w("",!0),i.debug&&n.value.length?(u(),d("div",Gs,[e("p",Ks,v(t(r)("chat.voiceInput.recentEvents")),1),e("ol",js,[(u(!0),d(X,null,re(n.value,(I,V)=>(u(),d("li",{key:`${V}:${I}`,class:"voice-transcript-overlay__debug-item","data-testid":"voice-event-debug-item"},v(I),1))),128))])])):w("",!0)],10,Os))}})})),rr=N((()=>{})),ho,ur=N((()=>{Hs(),Hs(),rr(),Ce(),ho=xe(fo,[["__scopeId","data-v-2d59fc0f"]])})),Ws,Qs,Ys,Xs,Js,mo,Zs=N((()=>{fe(),Ae(),ur(),Ws={class:"voice-dialogue-controls__actions"},Qs=["aria-label","aria-pressed"],Ys={key:0,class:"voice-dialogue-controls__icon",width:"16",height:"16",viewBox:"0 0 24 24","aria-hidden":"true"},Xs={key:1,class:"voice-dialogue-controls__icon",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},Js=["aria-label"],mo=be({__name:"VoiceDialogueControls",props:{status:{},transcript:{},error:{default:null},events:{default:()=>[]},debug:{type:Boolean,default:!1},onStart:{},onStop:{},onCancel:{}},setup(x){const i=x,r=new Set(["capturing","transcribing","sending"]),{t:A}=Le(),c=S(()=>r.has(i.status)),_=S(()=>c.value||!!i.transcript||!!i.error),f=S(()=>c.value?A("chat.voiceInput.stopCaptureAndInsert"):A("chat.voiceInput.startCapture"));async function n(){if(c.value){await i.onStop();return}await i.onStart()}function L(){i.onCancel()}return(O,I)=>(u(),d("div",{class:J(["voice-dialogue-controls voice-dialogue-controls--floating-overlay",{active:c.value}])},[_.value?(u(),Q(ho,{key:0,floating:"",status:i.status,transcript:i.transcript,error:i.error,events:i.events,debug:i.debug},null,8,["status","transcript","error","events","debug"])):w("",!0),e("div",Ws,[e("button",{type:"button",class:J(["voice-dialogue-controls__toggle",{active:c.value}]),"data-testid":"voice-record-toggle","aria-label":f.value,"aria-pressed":c.value,onClick:n},[c.value?(u(),d("svg",Ys,[...I[0]||(I[0]=[e("rect",{x:"7",y:"7",width:"10",height:"10",rx:"2",fill:"currentColor"},null,-1)])])):(u(),d("svg",Xs,[...I[1]||(I[1]=[e("path",{d:"M12 3a3 3 0 0 0-3 3v5a3 3 0 0 0 6 0V6a3 3 0 0 0-3-3Z"},null,-1),e("path",{d:"M5 10v1a7 7 0 0 0 14 0v-1"},null,-1),e("path",{d:"M12 18v3"},null,-1),e("path",{d:"M9 21h6"},null,-1)])]))],10,Qs),c.value?(u(),d("button",{key:0,type:"button",class:"voice-dialogue-controls__cancel","data-testid":"voice-record-cancel","aria-label":t(A)("chat.voiceInput.cancelCapture"),onClick:L},[...I[2]||(I[2]=[e("svg",{class:"voice-dialogue-controls__icon voice-dialogue-controls__icon--small",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","aria-hidden":"true"},[e("path",{d:"M18 6 6 18"}),e("path",{d:"m6 6 12 12"})],-1)])],8,Js)):w("",!0)])],2))}})})),cr=N((()=>{})),_o,dr=N((()=>{Zs(),Zs(),cr(),Ce(),_o=xe(mo,[["__scopeId","data-v-bed1a556"]])}));function vr(x){let i=0;return function(A,c={}){return i+=1,{id:`${x}:${i}`,seq:i,sessionId:x,type:A,captureId:c.captureId,turnId:c.turnId,timestamp:c.timestamp??new Date().toISOString(),final:c.final,payload:c.payload}}}var pr=N((()=>{}));function ns(x){return`${x}-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function ea(x){return x instanceof Error?x:new Error(String(x))}function fr(x){return x.replace(/\s+/g," ").trim()}function hr(x){const i=ns("voice-session"),r=vr(i),A=h([]),c=h("idle"),_=h(null),f=h(null),n=h(""),L=h(null),O=S(()=>c.value!=="idle");function I(g,$={}){const k=r(g,{...$,captureId:$.captureId??_.value??void 0,turnId:$.turnId??f.value??void 0});return A.value.push(k),A.value.length>50&&A.value.splice(0,A.value.length-50),k}function V(g,$={}){const k=ea(g);return L.value=k,c.value="error",I("session.error",{captureId:$.captureId,turnId:$.turnId,final:!0,payload:k}),k}function E(g={}){const $=g.captureId??_.value,k=g.turnId??f.value;k&&I("turn.cancelled",{captureId:$??void 0,turnId:k,final:!0}),$&&I("capture.cancelled",{captureId:$,turnId:k??void 0,final:!0}),_.value=null,f.value=null,n.value="",L.value=null,c.value="idle"}I("session.started",{final:!0});async function F(){try{await Promise.resolve(x.stopOutputAudio?.())}catch($){console.warn("[useVoiceDialogue] Failed to stop output audio before capture:",ea($))}(_.value||f.value)&&E(),L.value=null,n.value="",c.value="capturing",f.value=null;const g=ns("capture");return _.value=g,I("capture.started",{captureId:g}),{captureId:g}}async function D(g,$){if(_.value!==g)return;const k=fr($);if(!k){n.value="",R(g);return}L.value=null,n.value=k,c.value="sending",I("transcript.done",{captureId:g,final:!0,payload:{text:k}});const T=ns("turn");f.value=T,I("turn.started",{captureId:g,turnId:T,payload:{text:k}});try{await Promise.resolve(x.sendMessage(k))}catch(G){if(_.value===g&&f.value===T)throw V(G,{captureId:g,turnId:T}),G;return}_.value!==g||f.value!==T||(I("turn.ended",{captureId:g,turnId:T,final:!0,payload:{text:k}}),_.value=null,f.value=null,n.value="",c.value="idle")}async function q(g,$){if(_.value===g){L.value=null,c.value="transcribing";try{const k=await x.transcribe($);if(_.value!==g)return;await D(g,k.text)}catch(k){if(_.value===g)throw L.value===null&&V(k,{captureId:g,turnId:f.value??void 0}),k;return}}}function R(g=_.value){!g||_.value!==g||E({captureId:g,turnId:f.value})}function K(g){I("output.audio.started",{payload:g})}function W(g){I("output.audio.done",{final:!0,payload:g})}return{sessionId:i,events:A,status:c,activeCaptureId:_,activeTurnId:f,transcript:n,error:L,isBusy:O,beginCapture:F,transcribeAndSend:q,commitTranscript:D,cancelCapture:R,markOutputStarted:K,markOutputDone:W}}var mr=N((()=>{fe(),pr()}));function ls(x){return x instanceof Error?x:new Error(String(x))}function Bt(x){return x.replace(/\s+/g," ").trim()}function Ft(x){return Bt(x.filter(Boolean).join(" "))}function _r(x){return Bt(x?.[0]?.transcript??"")}function gr(x){const i=x.results,r=typeof x.resultIndex=="number"?x.resultIndex:0,A=[],c=[];if(!i||typeof i.length!="number")return{finalText:"",interimText:""};for(let _=r;_<i.length;_+=1){const f=i[_],n=_r(f);n&&(f?.isFinal?A.push(n):c.push(n))}return{finalText:Ft(A),interimText:Ft(c)}}function ta(){if(typeof window>"u")return null;const x=window;return x.SpeechRecognition??x.webkitSpeechRecognition??null}function yr(x={}){const i=h(!!ta()),r=h("idle"),A=h(""),c=h(""),_=h(null);let f=null,n=0,L=null,O=null,I=null,V=null;function E(){return x.messages?.unsupported||go}function F(M){const B=M?.trim();return B&&x.messages?.failedWithReason?x.messages.failedWithReason(B):B?`Browser speech recognition failed: ${B}.`:x.messages?.failed||"Browser speech recognition failed."}function D(){V!==null&&(clearTimeout(V),V=null)}function q(){L=null,O=null,I=null,D()}function R(M){M&&(M.onresult=null,M.onerror=null,M.onend=null)}function K(M){const B=O;q(),B?.(Bt(M))}function W(M){const B=I,ee=ls(M);q(),B?.(ee)}function g(M={}){r.value="idle",M.clearTranscript&&(A.value=""),c.value="",M.clearError&&(_.value=null)}function $(){return Ft([A.value,c.value])}function k(M,B,ee){const Z=new M;return f=Z,Z.lang=ee,Z.interimResults=!0,Z.continuous=!0,Z.onresult=ne=>{if(B!==n||f!==Z)return;const{finalText:de,interimText:le}=gr(ne);de&&(A.value=Ft([A.value,de])),c.value=le},Z.onerror=ne=>{z(B,new Error(F(typeof ne.error=="string"?ne.error:void 0)))},Z.onend=()=>{if(!(B!==n||f!==Z)){if(r.value==="listening"&&!L){f=null,R(Z),c.value="";try{k(M,B,ee).start()}catch(ne){z(B,ne)}return}G(B)}},Z}function T(){_.value=null,r.value==="error"&&(r.value="idle")}function G(M,B=$()){if(M!==n)return;const ee=f;f=null,R(ee),g(),K(B)}function z(M,B){if(M!==n)return ls(B);const ee=ls(B),Z=f;return f=null,R(Z),c.value="",r.value="error",_.value=ee,W(ee),ee}async function ce(M={}){const B=ta();if(i.value=!!B,!B){const de=new Error(E());throw r.value="error",_.value=de,de}y();const ee=++n,Z=typeof M.language=="string"?M.language.trim():"";A.value="",c.value="",_.value=null,r.value="listening";const ne=k(B,ee,Z);try{ne.start()}catch(de){throw z(ee,de)}}function m(){const M=n,B=f;return B?L||(r.value="stopping",L=new Promise((ee,Z)=>{O=ee,I=Z,D(),V=setTimeout(()=>{G(M)},yo);try{B.stop()}catch(ne){z(M,ne)}}),L):(r.value!=="error"&&g(),Promise.resolve(Bt($())))}function y(){n+=1;const M=f;f=null,R(M);try{M?.abort()}catch{}K(""),g({clearTranscript:!0,clearError:!0})}return{isSupported:i,status:r,transcript:A,partialTranscript:c,error:_,start:ce,stop:m,cancel:y,clearError:T}}var go,yo,wr=N((()=>{fe(),go="Browser speech recognition is not supported in this browser.",yo=1e3})),sa,aa,na,la,oa,ia,ra,ua,ca,da,va,pa,fa,ha,ma,_a,ga,ya,wa,ka,Pt,Sa,wo,ba=N((()=>{fe(),Ot(),Ut(),vs(),uo(),ir(),Dt(),Ae(),vo(),dr(),Ii(),Ti(),mr(),Ci(),Pi(),wr(),sa={class:"chat-input-area"},aa={class:"input-top-bar"},na={class:"auto-play-speech-switch"},la={key:2,class:"context-bar"},oa={key:0,class:"attachment-previews"},ia=["src","alt"],ra={key:1,class:"attachment-file"},ua={class:"file-name"},ca={class:"file-size"},da=["onClick"],va=["placeholder"],pa=["onMousedown","onMouseenter"],fa={class:"slash-command-name"},ha={key:0,class:"slash-command-args"},ma={class:"slash-command-desc"},_a={class:"input-actions"},ga={class:"context-edit-content"},ya={style:{"margin-bottom":"16px",color:"#666"}},wa={style:{"margin-top":"12px","font-size":"12px",color:"#999"}},ka={style:{display:"flex","justify-content":"flex-end",gap:"8px"}},Pt="hermes_chat_input_drafts_v1",Sa=256e3,wo=be({__name:"ChatInput",setup(x){const i=Nt(),r=Vt(),A=ds(),{t:c}=Le(),_=oo(),{toolTraceVisible:f,toggleToolTraceVisible:n}=co(),L=S(()=>[{label:c("chat.reasoningEffort.options.default"),value:""},{label:c("chat.reasoningEffort.options.none"),value:"none"},{label:c("chat.reasoningEffort.options.minimal"),value:"minimal"},{label:c("chat.reasoningEffort.options.low"),value:"low"},{label:c("chat.reasoningEffort.options.medium"),value:"medium"},{label:c("chat.reasoningEffort.options.high"),value:"high"},{label:c("chat.reasoningEffort.options.xhigh"),value:"xhigh"}]),O=S(()=>i.activeSession?.reasoningEffort||""),I=S(()=>{const l=O.value;return l?L.value.find(p=>p.value===l)?.label||l:c("chat.reasoningEffort.defaultLabel")});function V(l){const p=i.activeSessionId;p&&i.setSessionReasoningEffort(p,l||"")}const E=h(""),F=h(),D=h(),q=h(),R=h([]),K=h(!1),W=h(0),g=h(!1),$=Ai(),k=xi({messages:{unsupported:c("chat.voiceInput.microphoneUnsupported"),recordingFailed:c("chat.voiceInput.microphoneRecordingFailed")}}),T=$i(),G=yr({messages:{unsupported:c("chat.voiceInput.browserSpeechUnsupported"),failed:c("chat.voiceInput.browserSpeechFailed"),failedWithReason:l=>c("chat.voiceInput.browserSpeechFailedWithReason",{error:l})}}),z=h(null);function ce(l){return l.replace(/\s+/g," ").trim()}function m(){return T.provider.value==="custom"?{provider:"custom",language:T.customLanguage.value.trim()||void 0,prompt:T.customPrompt.value.trim()||void 0}:{provider:"openai",language:T.openaiLanguage.value.trim()||void 0,prompt:T.openaiPrompt.value.trim()||void 0}}function y(){return T.openaiLanguage.value.trim()||T.customLanguage.value.trim()||""}function M(l){const p=ce(l);if(!p)return;const C=F.value,se=E.value,he=C?.selectionStart??se.length,qe=C?.selectionEnd??he,Fe=se.slice(0,he),Y=se.slice(qe),gt=Fe&&!/\s$/.test(Fe)?" ":"",ts=`${Fe}${gt}${p}${Y&&!/^\s/.test(Y)?" ":""}${Y}`,yt=Fe.length+gt.length+p.length;E.value=ts,le.value=!1,Re(()=>{const Te=F.value;Te&&(Te.focus(),Te.setSelectionRange(yt,yt),Ve.value===null&&(Te.style.height="auto",Te.style.height=`${Math.min(Te.scrollHeight,100)}px`))})}const B=hr({transcribe:async l=>{const{provider:p,language:C,prompt:se}=m();return Mi({audio:l,provider:p,language:C,prompt:se})},sendMessage:async l=>{M(l)},stopOutputAudio:()=>$.stop(!0)}),ee=S(()=>z.value!=="browser"||B.status.value!=="capturing"?B.transcript.value:ce([G.transcript.value,G.partialTranscript.value].filter(Boolean).join(" "))),Z=S(()=>T.provider.value==="browser"||z.value==="browser"),ne=S(()=>B.error.value?.message??(Z.value?G.error.value?.message:null)??k.state.value.error?.message??null),de=S(()=>[{name:"usage",args:"",description:c("chat.slashCommands.usage")},{name:"status",args:"",description:c("chat.slashCommands.status")},{name:"abort",args:"",description:c("chat.slashCommands.abort")},{name:"queue",args:c("chat.slashCommandArgs.message"),description:c("chat.slashCommands.queue")},{name:"plan",args:c("chat.slashCommandArgs.text"),description:c("chat.slashCommands.plan")},{name:"goal",args:c("chat.slashCommandArgs.text"),description:c("chat.slashCommands.goal")},{name:"goal",args:"status",insertText:"goal status",description:c("chat.slashCommands.goalStatus")},{name:"goal",args:"pause",insertText:"goal pause",description:c("chat.slashCommands.goalPause")},{name:"goal",args:"resume",insertText:"goal resume",description:c("chat.slashCommands.goalResume")},{name:"goal",args:"done",insertText:"goal done",description:c("chat.slashCommands.goalDone")},{name:"goal",args:"clear",insertText:"goal clear",description:c("chat.slashCommands.goalClear")},{name:"subgoal",args:c("chat.slashCommandArgs.text"),description:c("chat.slashCommands.subgoal")},{name:"clear",args:"",description:c("chat.slashCommands.clear")},{name:"clear",args:"--history",insertText:"clear --history",description:c("chat.slashCommands.clearHistory")},{name:"title",args:c("chat.slashCommandArgs.title"),description:c("chat.slashCommands.title")},{name:"compress",args:"",description:c("chat.slashCommands.compress")},{name:"steer",args:c("chat.slashCommandArgs.text"),description:c("chat.slashCommands.steer")},{name:"destroy",args:"",description:c("chat.slashCommands.destroy")},{name:"reload-mcp",args:"",description:c("chat.slashCommands.reloadMcp")}]),le=h(!1),ct=h(""),me=h(0),zt=S(()=>i.activeSession?.source==="cli"),ae=S(()=>{const l=ct.value.toLowerCase();return de.value.filter(p=>p.name.includes(l)||p.insertText?.includes(l))}),Ve=h(null);function Ue(l){l.preventDefault();const p=F.value;if(!p)return;const C=p.clientHeight,se=l.clientY;function he(Fe){const Y=C-(Fe.clientY-se);Ve.value=Math.max(20,Math.min(400,Math.round(Y)))}function qe(){document.removeEventListener("mousemove",he),document.removeEventListener("mouseup",qe),document.body.style.cursor="",document.body.style.userSelect=""}document.body.style.cursor="row-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",he),document.addEventListener("mouseup",qe)}const _e=h(!1);function He(){try{const l=JSON.parse(localStorage.getItem(Pt)||"{}");return l&&typeof l=="object"&&!Array.isArray(l)?l:{}}catch{return{}}}function Me(){return i.activeSessionId||i.activeSession?.id||""}function oe(){const l=Me();E.value=l&&He()[l]||""}function ve(l){const p=Me();if(!p)return;const C=He();l?C[p]=l:delete C[p],Object.keys(C).length>0?localStorage.setItem(Pt,JSON.stringify(C)):localStorage.removeItem(Pt)}Ee(()=>{oe();const l=localStorage.getItem("autoPlaySpeech");l!==null&&(_e.value=l==="true",i.setAutoPlaySpeech(_e.value))}),te(_e,l=>{localStorage.setItem("autoPlaySpeech",String(l)),i.setAutoPlaySpeech(l)}),te(E,l=>{ve(l)}),te(()=>i.activeSession?.id,()=>{oe()});const ge=S(()=>E.value.trim()||R.value.length>0);function pe(){Re(()=>{D.value&&D.value.querySelector(".active")?.scrollIntoView({block:"nearest",behavior:"instant"})})}function ye(){if(!zt.value){le.value=!1;return}const l=F.value;if(!l)return;const p=l.selectionStart,C=E.value.slice(0,p);if(!C.startsWith("/")||C.includes(" ")||C.includes(`
|
|
1
|
+
import{n as N}from"./rolldown-runtime-M0oDzQ_3.js";import{$t as X,Cn as Ee,Dn as re,E as Ko,Fn as At,I as jo,K as Tt,Kt as is,Mn as te,Ot as H,P as Ho,Pn as P,Pt as Ke,Qn as t,Qt as lo,Tn as u,V as oo,Wn as h,Wt as fe,Xt as rs,Yt as Wo,Zt as Ss,an as w,cn as Qo,ct as Yo,dn as be,en as Xo,er as J,g as Jo,gt as Zo,in as Q,ln as j,m as ei,mt as Ge,nn as S,nr as Lt,nt as ti,on as d,ot as je,rn as e,rr as v,t as Dt,un as b,ut as si,w as ai,wn as Rt,xn as ni,yn as Re}from"./ui-vendor-dYn1tJGA.js";import{c as Ae,f as io,l as Le,m as ro,p as li}from"./vue-vendor-DZ4A_GHn.js";import{f as Et,n as Ce,t as xe,u as cs}from"./_plugin-vue_export-helper-CwNymSRn.js";import{$ as oi,C as ii,F as ri,G as ui,K as ci,L as di,Q as Vt,R as vi,S as pi,W as uo,X as ds,Y as vs,Z as Ut,_ as Ot,et as fi,v as Nt}from"./index-DW8M4rjb.js";import{a as hi,i as mi,n as _i,t as gi}from"./TerminalPanel-DhnPxJTG.js";import{n as yi,t as wi}from"./session-browser-prefs-DjzuPSf7.js";import{n as ki,t as bs}from"./clipboard-1NPxC3YL.js";import{i as co,n as Si,r as vo,t as bi}from"./VirtualMessageList-CfXQfWcE.js";import{c as Ci,d as xi,l as Mi,n as $i,t as Pi,u as Ii}from"./useSttSettings-DnVfL8DF.js";import{o as Ti,s as Ai}from"./ttsHelpers-CzQCvABU.js";import{a as Cs,i as Li,n as Bi,o as xs,r as Ms,s as Fi,t as Di}from"./OutlinePanel-D62oj0V9.js";import{n as Ri,t as Ei}from"./MessageItem-Di7V6T5S.js";import{_ as Vi,a as Ui,b as Oi,c as Ni,d as zi,f as qi,g as Gi,h as Ki,i as ji,l as Hi,m as Wi,n as Qi,o as Yi,p as Xi,r as Ji,s as Zi,t as er,u as tr,v as sr,y as ar}from"./FileRenameModal-DhB_Oy1Y.js";var $s,Ps,Is,Ts,As,Ls,Bs,Fs,Ds,Rs,Es,Vs,po,Us=N((()=>{fe(),Dt(),Ae(),cs(),$s={class:"folder-picker"},Ps={key:0,class:"folder-picker-loading"},Is={key:1,class:"folder-tree"},Ts={class:"folder-name"},As=["onClick"],Ls=["onClick"],Bs={class:"folder-name"},Fs={class:"folder-empty-text"},Ds={key:1,class:"folder-empty"},Rs={key:2,class:"folder-selected"},Es={class:"folder-selected-label"},Vs={class:"folder-selected-path"},po=be({__name:"FolderPicker",props:{modelValue:{}},emits:["update:modelValue"],setup(x,{emit:i}){const r=x,A=i,{t:c}=Le(),_=h(!1),f=h(""),n=h([]),L=h(new Set),O=h(new Map),I=h(new Set),V=h(r.modelValue||""),E=h(!1);te(()=>r.modelValue,g=>{V.value=g||""});function F(g){const $=String(g||"").trim();V.value=$,A("update:modelValue",$||null)}async function D(g=""){try{return await Et(`/api/hermes/workspace/folders${g?`?path=${encodeURIComponent(g)}`:""}`)}catch{return null}}Ee(async()=>{_.value=!0;const g=await D();g?(f.value=g.base,n.value=g.folders,E.value=!1):E.value=!0,_.value=!1});async function q(g){if(L.value.has(g.path)){L.value.delete(g.path),L.value=new Set(L.value);return}if(L.value.add(g.path),L.value=new Set(L.value),!O.value.has(g.path)){I.value.add(g.path),I.value=new Set(I.value);const $=await D(g.path);O.value.set(g.path,$?.folders||[]),O.value=new Map(O.value),I.value.delete(g.path),I.value=new Set(I.value)}}function R(g){F(g.fullPath)}function K(){F(f.value)}const W=S(()=>{const g=[];function $(k,T){for(const G of k){const z=L.value.has(G.path),ce=I.value.has(G.path),m=O.value.get(G.path);g.push({folder:G,depth:T,isExpanded:z,isLoading:ce,hasChildren:m?m.length>0:null}),z&&m&&m.length>0&&$(m,T+1)}}return $(n.value,0),g});return(g,$)=>(u(),d("div",$s,[b(t(Ke),{value:V.value,placeholder:t(c)("chat.workspacePlaceholder"),clearable:"",size:"small",class:"folder-path-input","onUpdate:value":F},null,8,["value","placeholder"]),_.value?(u(),d("div",Ps,[b(t(Jo),{size:"small"})])):(u(),d("div",Is,[f.value?(u(),d("div",{key:0,class:J(["folder-item root",{selected:V.value===f.value}]),onClick:K},[$[0]||($[0]=e("span",{class:"folder-icon"},"📂",-1)),e("span",Ts,v(f.value||"/"),1)],2)):w("",!0),(u(!0),d(X,null,re(W.value,k=>(u(),d("div",{key:k.folder.path,class:J(["folder-item",{selected:V.value===k.folder.fullPath}]),style:Lt({paddingLeft:`${12+k.depth*16}px`}),onClick:T=>R(k.folder)},[e("span",{class:"folder-expand",onClick:lo(T=>q(k.folder),["stop"])},[k.isLoading?(u(),d(X,{key:0},[j("⏳")],64)):(u(),d(X,{key:1},[j(v(k.isExpanded?"▼":"▶"),1)],64))],8,Ls),$[1]||($[1]=e("span",{class:"folder-icon"},"📁",-1)),e("span",Bs,v(k.folder.name),1)],14,As))),128)),(u(!0),d(X,null,re(W.value,k=>(u(),d(X,{key:"empty-"+k.folder.path},[k.isExpanded&&!k.isLoading&&k.hasChildren===!1?(u(),d("div",{key:0,class:"folder-item empty",style:Lt({paddingLeft:`${28+k.depth*16}px`})},[e("span",Fs,v(t(c)("chat.folderPickerEmpty")),1)],4)):w("",!0)],64))),128)),(n.value.length===0||E.value)&&!_.value?(u(),d("div",Ds,v(t(c)("chat.folderPickerNoFolders")),1)):w("",!0)])),V.value?(u(),d("div",Rs,[e("span",Es,v(t(c)("chat.folderPickerSelected")),1),e("span",Vs,v(V.value),1)])):w("",!0)]))}})})),nr=N((()=>{})),us,lr=N((()=>{Us(),Us(),nr(),Ce(),us=xe(po,[["__scopeId","data-v-8b472308"]])}));async function or(x,i,r){return(await Et(`/api/hermes/model-context/${encodeURIComponent(x)}/${encodeURIComponent(i)}`,{method:"PUT",body:JSON.stringify({provider:x,model:i,context_limit:r})})).data}var ir=N((()=>{cs()})),Os,Ns,zs,qs,Gs,Ks,js,fo,Hs=N((()=>{fe(),Ae(),Os=["data-status"],Ns={class:"voice-transcript-overlay__status"},zs={key:0,class:"voice-transcript-overlay__transcript"},qs={key:1,class:"voice-transcript-overlay__error",role:"alert"},Gs={key:2,class:"voice-transcript-overlay__debug"},Ks={class:"voice-transcript-overlay__debug-title"},js={class:"voice-transcript-overlay__debug-list"},fo=be({__name:"VoiceTranscriptOverlay",props:{status:{},transcript:{},error:{default:null},floating:{type:Boolean,default:!1},events:{default:()=>[]},debug:{type:Boolean,default:!1}},setup(x){const i=x,{t:r}=Le(),A=S(()=>r(`chat.voiceInput.status.${i.status}`)),c=S(()=>r("chat.voiceInput.statusLabel",{status:A.value})),_=S(()=>r("chat.voiceInput.transcriptLabel",{text:i.transcript})),f=S(()=>r("chat.voiceInput.errorLabel",{error:i.error})),n=S(()=>i.events.slice(-5).map(L=>L.type));return(L,O)=>(u(),d("div",{class:J(["voice-transcript-overlay",{"voice-transcript-overlay--floating":i.floating}]),"data-testid":"voice-transcript-overlay","data-status":i.status,role:"status","aria-live":"polite"},[e("p",Ns,v(c.value),1),i.transcript?(u(),d("p",zs,v(_.value),1)):w("",!0),i.error?(u(),d("p",qs,v(f.value),1)):w("",!0),i.debug&&n.value.length?(u(),d("div",Gs,[e("p",Ks,v(t(r)("chat.voiceInput.recentEvents")),1),e("ol",js,[(u(!0),d(X,null,re(n.value,(I,V)=>(u(),d("li",{key:`${V}:${I}`,class:"voice-transcript-overlay__debug-item","data-testid":"voice-event-debug-item"},v(I),1))),128))])])):w("",!0)],10,Os))}})})),rr=N((()=>{})),ho,ur=N((()=>{Hs(),Hs(),rr(),Ce(),ho=xe(fo,[["__scopeId","data-v-2d59fc0f"]])})),Ws,Qs,Ys,Xs,Js,mo,Zs=N((()=>{fe(),Ae(),ur(),Ws={class:"voice-dialogue-controls__actions"},Qs=["aria-label","aria-pressed"],Ys={key:0,class:"voice-dialogue-controls__icon",width:"16",height:"16",viewBox:"0 0 24 24","aria-hidden":"true"},Xs={key:1,class:"voice-dialogue-controls__icon",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},Js=["aria-label"],mo=be({__name:"VoiceDialogueControls",props:{status:{},transcript:{},error:{default:null},events:{default:()=>[]},debug:{type:Boolean,default:!1},onStart:{},onStop:{},onCancel:{}},setup(x){const i=x,r=new Set(["capturing","transcribing","sending"]),{t:A}=Le(),c=S(()=>r.has(i.status)),_=S(()=>c.value||!!i.transcript||!!i.error),f=S(()=>c.value?A("chat.voiceInput.stopCaptureAndInsert"):A("chat.voiceInput.startCapture"));async function n(){if(c.value){await i.onStop();return}await i.onStart()}function L(){i.onCancel()}return(O,I)=>(u(),d("div",{class:J(["voice-dialogue-controls voice-dialogue-controls--floating-overlay",{active:c.value}])},[_.value?(u(),Q(ho,{key:0,floating:"",status:i.status,transcript:i.transcript,error:i.error,events:i.events,debug:i.debug},null,8,["status","transcript","error","events","debug"])):w("",!0),e("div",Ws,[e("button",{type:"button",class:J(["voice-dialogue-controls__toggle",{active:c.value}]),"data-testid":"voice-record-toggle","aria-label":f.value,"aria-pressed":c.value,onClick:n},[c.value?(u(),d("svg",Ys,[...I[0]||(I[0]=[e("rect",{x:"7",y:"7",width:"10",height:"10",rx:"2",fill:"currentColor"},null,-1)])])):(u(),d("svg",Xs,[...I[1]||(I[1]=[e("path",{d:"M12 3a3 3 0 0 0-3 3v5a3 3 0 0 0 6 0V6a3 3 0 0 0-3-3Z"},null,-1),e("path",{d:"M5 10v1a7 7 0 0 0 14 0v-1"},null,-1),e("path",{d:"M12 18v3"},null,-1),e("path",{d:"M9 21h6"},null,-1)])]))],10,Qs),c.value?(u(),d("button",{key:0,type:"button",class:"voice-dialogue-controls__cancel","data-testid":"voice-record-cancel","aria-label":t(A)("chat.voiceInput.cancelCapture"),onClick:L},[...I[2]||(I[2]=[e("svg",{class:"voice-dialogue-controls__icon voice-dialogue-controls__icon--small",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","aria-hidden":"true"},[e("path",{d:"M18 6 6 18"}),e("path",{d:"m6 6 12 12"})],-1)])],8,Js)):w("",!0)])],2))}})})),cr=N((()=>{})),_o,dr=N((()=>{Zs(),Zs(),cr(),Ce(),_o=xe(mo,[["__scopeId","data-v-bed1a556"]])}));function vr(x){let i=0;return function(A,c={}){return i+=1,{id:`${x}:${i}`,seq:i,sessionId:x,type:A,captureId:c.captureId,turnId:c.turnId,timestamp:c.timestamp??new Date().toISOString(),final:c.final,payload:c.payload}}}var pr=N((()=>{}));function ns(x){return`${x}-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function ea(x){return x instanceof Error?x:new Error(String(x))}function fr(x){return x.replace(/\s+/g," ").trim()}function hr(x){const i=ns("voice-session"),r=vr(i),A=h([]),c=h("idle"),_=h(null),f=h(null),n=h(""),L=h(null),O=S(()=>c.value!=="idle");function I(g,$={}){const k=r(g,{...$,captureId:$.captureId??_.value??void 0,turnId:$.turnId??f.value??void 0});return A.value.push(k),A.value.length>50&&A.value.splice(0,A.value.length-50),k}function V(g,$={}){const k=ea(g);return L.value=k,c.value="error",I("session.error",{captureId:$.captureId,turnId:$.turnId,final:!0,payload:k}),k}function E(g={}){const $=g.captureId??_.value,k=g.turnId??f.value;k&&I("turn.cancelled",{captureId:$??void 0,turnId:k,final:!0}),$&&I("capture.cancelled",{captureId:$,turnId:k??void 0,final:!0}),_.value=null,f.value=null,n.value="",L.value=null,c.value="idle"}I("session.started",{final:!0});async function F(){try{await Promise.resolve(x.stopOutputAudio?.())}catch($){console.warn("[useVoiceDialogue] Failed to stop output audio before capture:",ea($))}(_.value||f.value)&&E(),L.value=null,n.value="",c.value="capturing",f.value=null;const g=ns("capture");return _.value=g,I("capture.started",{captureId:g}),{captureId:g}}async function D(g,$){if(_.value!==g)return;const k=fr($);if(!k){n.value="",R(g);return}L.value=null,n.value=k,c.value="sending",I("transcript.done",{captureId:g,final:!0,payload:{text:k}});const T=ns("turn");f.value=T,I("turn.started",{captureId:g,turnId:T,payload:{text:k}});try{await Promise.resolve(x.sendMessage(k))}catch(G){if(_.value===g&&f.value===T)throw V(G,{captureId:g,turnId:T}),G;return}_.value!==g||f.value!==T||(I("turn.ended",{captureId:g,turnId:T,final:!0,payload:{text:k}}),_.value=null,f.value=null,n.value="",c.value="idle")}async function q(g,$){if(_.value===g){L.value=null,c.value="transcribing";try{const k=await x.transcribe($);if(_.value!==g)return;await D(g,k.text)}catch(k){if(_.value===g)throw L.value===null&&V(k,{captureId:g,turnId:f.value??void 0}),k;return}}}function R(g=_.value){!g||_.value!==g||E({captureId:g,turnId:f.value})}function K(g){I("output.audio.started",{payload:g})}function W(g){I("output.audio.done",{final:!0,payload:g})}return{sessionId:i,events:A,status:c,activeCaptureId:_,activeTurnId:f,transcript:n,error:L,isBusy:O,beginCapture:F,transcribeAndSend:q,commitTranscript:D,cancelCapture:R,markOutputStarted:K,markOutputDone:W}}var mr=N((()=>{fe(),pr()}));function ls(x){return x instanceof Error?x:new Error(String(x))}function Bt(x){return x.replace(/\s+/g," ").trim()}function Ft(x){return Bt(x.filter(Boolean).join(" "))}function _r(x){return Bt(x?.[0]?.transcript??"")}function gr(x){const i=x.results,r=typeof x.resultIndex=="number"?x.resultIndex:0,A=[],c=[];if(!i||typeof i.length!="number")return{finalText:"",interimText:""};for(let _=r;_<i.length;_+=1){const f=i[_],n=_r(f);n&&(f?.isFinal?A.push(n):c.push(n))}return{finalText:Ft(A),interimText:Ft(c)}}function ta(){if(typeof window>"u")return null;const x=window;return x.SpeechRecognition??x.webkitSpeechRecognition??null}function yr(x={}){const i=h(!!ta()),r=h("idle"),A=h(""),c=h(""),_=h(null);let f=null,n=0,L=null,O=null,I=null,V=null;function E(){return x.messages?.unsupported||go}function F(M){const B=M?.trim();return B&&x.messages?.failedWithReason?x.messages.failedWithReason(B):B?`Browser speech recognition failed: ${B}.`:x.messages?.failed||"Browser speech recognition failed."}function D(){V!==null&&(clearTimeout(V),V=null)}function q(){L=null,O=null,I=null,D()}function R(M){M&&(M.onresult=null,M.onerror=null,M.onend=null)}function K(M){const B=O;q(),B?.(Bt(M))}function W(M){const B=I,ee=ls(M);q(),B?.(ee)}function g(M={}){r.value="idle",M.clearTranscript&&(A.value=""),c.value="",M.clearError&&(_.value=null)}function $(){return Ft([A.value,c.value])}function k(M,B,ee){const Z=new M;return f=Z,Z.lang=ee,Z.interimResults=!0,Z.continuous=!0,Z.onresult=ne=>{if(B!==n||f!==Z)return;const{finalText:de,interimText:le}=gr(ne);de&&(A.value=Ft([A.value,de])),c.value=le},Z.onerror=ne=>{z(B,new Error(F(typeof ne.error=="string"?ne.error:void 0)))},Z.onend=()=>{if(!(B!==n||f!==Z)){if(r.value==="listening"&&!L){f=null,R(Z),c.value="";try{k(M,B,ee).start()}catch(ne){z(B,ne)}return}G(B)}},Z}function T(){_.value=null,r.value==="error"&&(r.value="idle")}function G(M,B=$()){if(M!==n)return;const ee=f;f=null,R(ee),g(),K(B)}function z(M,B){if(M!==n)return ls(B);const ee=ls(B),Z=f;return f=null,R(Z),c.value="",r.value="error",_.value=ee,W(ee),ee}async function ce(M={}){const B=ta();if(i.value=!!B,!B){const de=new Error(E());throw r.value="error",_.value=de,de}y();const ee=++n,Z=typeof M.language=="string"?M.language.trim():"";A.value="",c.value="",_.value=null,r.value="listening";const ne=k(B,ee,Z);try{ne.start()}catch(de){throw z(ee,de)}}function m(){const M=n,B=f;return B?L||(r.value="stopping",L=new Promise((ee,Z)=>{O=ee,I=Z,D(),V=setTimeout(()=>{G(M)},yo);try{B.stop()}catch(ne){z(M,ne)}}),L):(r.value!=="error"&&g(),Promise.resolve(Bt($())))}function y(){n+=1;const M=f;f=null,R(M);try{M?.abort()}catch{}K(""),g({clearTranscript:!0,clearError:!0})}return{isSupported:i,status:r,transcript:A,partialTranscript:c,error:_,start:ce,stop:m,cancel:y,clearError:T}}var go,yo,wr=N((()=>{fe(),go="Browser speech recognition is not supported in this browser.",yo=1e3})),sa,aa,na,la,oa,ia,ra,ua,ca,da,va,pa,fa,ha,ma,_a,ga,ya,wa,ka,Pt,Sa,wo,ba=N((()=>{fe(),Ot(),Ut(),vs(),uo(),ir(),Dt(),Ae(),vo(),dr(),Ii(),Ti(),mr(),Ci(),Pi(),wr(),sa={class:"chat-input-area"},aa={class:"input-top-bar"},na={class:"auto-play-speech-switch"},la={key:2,class:"context-bar"},oa={key:0,class:"attachment-previews"},ia=["src","alt"],ra={key:1,class:"attachment-file"},ua={class:"file-name"},ca={class:"file-size"},da=["onClick"],va=["placeholder"],pa=["onMousedown","onMouseenter"],fa={class:"slash-command-name"},ha={key:0,class:"slash-command-args"},ma={class:"slash-command-desc"},_a={class:"input-actions"},ga={class:"context-edit-content"},ya={style:{"margin-bottom":"16px",color:"#666"}},wa={style:{"margin-top":"12px","font-size":"12px",color:"#999"}},ka={style:{display:"flex","justify-content":"flex-end",gap:"8px"}},Pt="hermes_chat_input_drafts_v1",Sa=256e3,wo=be({__name:"ChatInput",setup(x){const i=Nt(),r=Vt(),A=ds(),{t:c}=Le(),_=oo(),{toolTraceVisible:f,toggleToolTraceVisible:n}=co(),L=S(()=>[{label:c("chat.reasoningEffort.options.default"),value:""},{label:c("chat.reasoningEffort.options.none"),value:"none"},{label:c("chat.reasoningEffort.options.minimal"),value:"minimal"},{label:c("chat.reasoningEffort.options.low"),value:"low"},{label:c("chat.reasoningEffort.options.medium"),value:"medium"},{label:c("chat.reasoningEffort.options.high"),value:"high"},{label:c("chat.reasoningEffort.options.xhigh"),value:"xhigh"}]),O=S(()=>i.activeSession?.reasoningEffort||""),I=S(()=>{const l=O.value;return l?L.value.find(p=>p.value===l)?.label||l:c("chat.reasoningEffort.defaultLabel")});function V(l){const p=i.activeSessionId;p&&i.setSessionReasoningEffort(p,l||"")}const E=h(""),F=h(),D=h(),q=h(),R=h([]),K=h(!1),W=h(0),g=h(!1),$=Ai(),k=xi({messages:{unsupported:c("chat.voiceInput.microphoneUnsupported"),recordingFailed:c("chat.voiceInput.microphoneRecordingFailed")}}),T=$i(),G=yr({messages:{unsupported:c("chat.voiceInput.browserSpeechUnsupported"),failed:c("chat.voiceInput.browserSpeechFailed"),failedWithReason:l=>c("chat.voiceInput.browserSpeechFailedWithReason",{error:l})}}),z=h(null);function ce(l){return l.replace(/\s+/g," ").trim()}function m(){return T.provider.value==="custom"?{provider:"custom",language:T.customLanguage.value.trim()||void 0,prompt:T.customPrompt.value.trim()||void 0}:{provider:"openai",language:T.openaiLanguage.value.trim()||void 0,prompt:T.openaiPrompt.value.trim()||void 0}}function y(){return T.openaiLanguage.value.trim()||T.customLanguage.value.trim()||""}function M(l){const p=ce(l);if(!p)return;const C=F.value,se=E.value,he=C?.selectionStart??se.length,qe=C?.selectionEnd??he,Fe=se.slice(0,he),Y=se.slice(qe),gt=Fe&&!/\s$/.test(Fe)?" ":"",ts=`${Fe}${gt}${p}${Y&&!/^\s/.test(Y)?" ":""}${Y}`,yt=Fe.length+gt.length+p.length;E.value=ts,le.value=!1,Re(()=>{const Te=F.value;Te&&(Te.focus(),Te.setSelectionRange(yt,yt),Ve.value===null&&(Te.style.height="auto",Te.style.height=`${Math.min(Te.scrollHeight,100)}px`))})}const B=hr({transcribe:async l=>{const{provider:p,language:C,prompt:se}=m();return Mi({audio:l,provider:p,language:C,prompt:se})},sendMessage:async l=>{M(l)},stopOutputAudio:()=>$.stop(!0)}),ee=S(()=>z.value!=="browser"||B.status.value!=="capturing"?B.transcript.value:ce([G.transcript.value,G.partialTranscript.value].filter(Boolean).join(" "))),Z=S(()=>T.provider.value==="browser"||z.value==="browser"),ne=S(()=>B.error.value?.message??(Z.value?G.error.value?.message:null)??k.state.value.error?.message??null),de=S(()=>[{name:"usage",args:"",description:c("chat.slashCommands.usage")},{name:"status",args:"",description:c("chat.slashCommands.status")},{name:"abort",args:"",description:c("chat.slashCommands.abort")},{name:"queue",args:c("chat.slashCommandArgs.message"),description:c("chat.slashCommands.queue")},{name:"plan",args:c("chat.slashCommandArgs.text"),description:c("chat.slashCommands.plan")},{name:"goal",args:c("chat.slashCommandArgs.text"),description:c("chat.slashCommands.goal")},{name:"goal",args:"status",insertText:"goal status",description:c("chat.slashCommands.goalStatus")},{name:"goal",args:"pause",insertText:"goal pause",description:c("chat.slashCommands.goalPause")},{name:"goal",args:"resume",insertText:"goal resume",description:c("chat.slashCommands.goalResume")},{name:"goal",args:"done",insertText:"goal done",description:c("chat.slashCommands.goalDone")},{name:"goal",args:"clear",insertText:"goal clear",description:c("chat.slashCommands.goalClear")},{name:"subgoal",args:c("chat.slashCommandArgs.text"),description:c("chat.slashCommands.subgoal")},{name:"clear",args:"",description:c("chat.slashCommands.clear")},{name:"clear",args:"--history",insertText:"clear --history",description:c("chat.slashCommands.clearHistory")},{name:"title",args:c("chat.slashCommandArgs.title"),description:c("chat.slashCommands.title")},{name:"compress",args:"",description:c("chat.slashCommands.compress")},{name:"steer",args:c("chat.slashCommandArgs.text"),description:c("chat.slashCommands.steer")},{name:"destroy",args:"",description:c("chat.slashCommands.destroy")},{name:"reload-mcp",args:"",description:c("chat.slashCommands.reloadMcp")}]),le=h(!1),ct=h(""),me=h(0),zt=S(()=>i.activeSession?.source==="cli"),ae=S(()=>{const l=ct.value.toLowerCase();return de.value.filter(p=>p.name.includes(l)||p.insertText?.includes(l))}),Ve=h(null);function Ue(l){l.preventDefault();const p=F.value;if(!p)return;const C=p.clientHeight,se=l.clientY;function he(Fe){const Y=C-(Fe.clientY-se);Ve.value=Math.max(20,Math.min(400,Math.round(Y)))}function qe(){document.removeEventListener("mousemove",he),document.removeEventListener("mouseup",qe),document.body.style.cursor="",document.body.style.userSelect=""}document.body.style.cursor="row-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",he),document.addEventListener("mouseup",qe)}const _e=h(!1);function He(){try{const l=JSON.parse(localStorage.getItem(Pt)||"{}");return l&&typeof l=="object"&&!Array.isArray(l)?l:{}}catch{return{}}}function Me(){return i.activeSessionId||i.activeSession?.id||""}function oe(){const l=Me();E.value=l&&He()[l]||""}function ve(l){const p=Me();if(!p)return;const C=He();l?C[p]=l:delete C[p],Object.keys(C).length>0?localStorage.setItem(Pt,JSON.stringify(C)):localStorage.removeItem(Pt)}Ee(()=>{oe();const l=localStorage.getItem("autoPlaySpeech");l!==null&&(_e.value=l==="true",i.setAutoPlaySpeech(_e.value))}),te(_e,l=>{localStorage.setItem("autoPlaySpeech",String(l)),i.setAutoPlaySpeech(l)}),te(E,l=>{ve(l)}),te(()=>i.activeSession?.id,()=>{oe()});const ge=S(()=>E.value.trim()||R.value.length>0);function pe(){Re(()=>{D.value&&D.value.querySelector(".active")?.scrollIntoView({block:"nearest",behavior:"instant"})})}function ye(){if(!zt.value){le.value=!1;return}const l=F.value;if(!l)return;const p=l.selectionStart,C=E.value.slice(0,p);if(!C.startsWith("/")||C.includes(" ")||C.includes(`
|
|
2
2
|
`)){le.value=!1;return}ct.value=C.slice(1),me.value=0,le.value=ae.value.length>0}function we(l){E.value=`/${l.insertText||l.name} `,le.value=!1,Re(()=>{const p=F.value;if(!p)return;const C=E.value.length;p.setSelectionRange(C,C),p.focus()})}const ue=h(256e3);let ke="",$e="",ie=null;const Oe=h(!1),Pe=h(256e3),We=h(!1),Qe=S(()=>i.activeSession?.source==="coding_agent");async function dt(){Qe.value||(Pe.value=ue.value,Oe.value=!0)}async function qt(){if(!Pe.value||Pe.value<=0){_.error(c("chat.contextEditInvalid"));return}We.value=!0;try{const l=i.activeSession?.provider||r.selectedProvider||"",p=i.activeSession?.model||r.selectedModel||"";if(!l||!p){_.error(c("chat.contextEditFailed"));return}await or(l,p,Pe.value),ue.value=Pe.value,ke=Ne(),Oe.value=!1,_.success(c("chat.contextEditSuccess"))}catch(l){_.error(`${c("chat.contextEditFailed")}: ${l.message||""}`)}finally{We.value=!1}}function vt(){const l=i.activeSession;return{profile:l?.profile||A.activeProfileName||void 0,provider:l?.provider||void 0,model:l?.model||void 0}}function Ne(){const l=vt();return`${l.profile||""}|${l.provider||""}|${l.model||""}`}async function at(){if(Qe.value)return;const l=Ne();if(l!==ke)return l===$e&&ie||($e=l,ie=(async()=>{const p=vt();try{const C=await vi(p.profile,p.provider,p.model);if(Ne()!==l)return;ue.value=C,ke=l}catch{if(Ne()!==l)return;ue.value=Sa,ke=l}finally{$e===l&&(ie=null,$e="")}})()),ie}Ee(at),te(()=>[A.activeProfileName,r.selectedProvider,r.selectedModel,i.activeSession?.id,i.activeSession?.profile,i.activeSession?.provider,i.activeSession?.model,i.activeSession?.source],at,{flush:"post"});const Ye=S(()=>{if(Qe.value)return 0;const l=i.activeSession?.contextTokens;return typeof l=="number"&&Number.isFinite(l)&&l>0?l:(i.activeSession?.inputTokens??0)+(i.activeSession?.outputTokens??0)}),Xe=S(()=>Ye.value>0),Gt=S(()=>Math.max(0,ue.value-Ye.value)),Be=S(()=>Math.min(Ye.value/ue.value*100,100));function Ie(l){return l>=1e6?(l/1e6).toFixed(1)+"M":l>=1e3?(l/1e3).toFixed(1)+"k":String(l)}function Se(l){if(R.value.find(se=>se.name===l.name))return;const p=Date.now().toString(36)+Math.random().toString(36).slice(2,8),C=URL.createObjectURL(l);R.value.push({id:p,name:l.name,type:l.type,size:l.size,url:C,file:l})}function Kt(){q.value?.click()}function Je(l){const p=l.target;if(p.files){for(const C of p.files)Se(C);p.value=""}}function pt(l){const p=Array.from(l.clipboardData?.items||[]).filter(C=>C.type.startsWith("image/"));if(p.length){l.preventDefault();for(const C of p){const se=C.getAsFile();if(!se)continue;const he=C.type.split("/")[1]||"png";Se(new File([se],`pasted-${Date.now()}.${he}`,{type:C.type}))}}}function ft(l){l.preventDefault()}function jt(l){l.preventDefault(),l.dataTransfer?.types.includes("Files")&&(W.value++,K.value=!0)}function Ht(){W.value--,W.value<=0&&(W.value=0,K.value=!1)}function nt(l){l.preventDefault(),W.value=0,K.value=!1;const p=Array.from(l.dataTransfer?.files||[]);if(p.length){for(const C of p)Se(C);F.value?.focus()}}function Ze(){const l=E.value.trim();!l&&R.value.length===0||(i.sendMessage(l,R.value.length>0?R.value:void 0),E.value="",ve(""),R.value=[],le.value=!1,F.value&&(F.value.style.height="auto"))}async function Wt(){G.clearError();const{captureId:l}=await B.beginCapture(),p=T.provider.value==="browser";z.value=p?"browser":"backend";try{if(p){await G.start({language:y()});return}await k.start()}catch{z.value=null,B.cancelCapture(l)}}async function ht(){const l=B.activeCaptureId.value;if(!l)return;if(z.value==="browser"){let C="";try{C=await G.stop()}catch{z.value=null,B.cancelCapture(l);return}z.value=null;try{await B.commitTranscript(l,C)}catch{}return}if(k.state.value.status==="requesting"){k.cancel(),z.value=null,B.cancelCapture(l);return}let p;try{p=await k.stop()}catch{z.value=null,B.cancelCapture(l);return}if(z.value=null,p.size<=0){B.cancelCapture(l);return}try{await B.transcribeAndSend(l,p)}catch{}}function Qt(){z.value==="browser"?G.cancel():k.cancel(),z.value=null,B.cancelCapture()}function Yt(){g.value=!0}function Xt(){requestAnimationFrame(()=>{g.value=!1,ye()})}function et(l){return g.value||l.isComposing||l.keyCode===229}function Jt(l){if(le.value&&ae.value.length>0){if(l.key==="ArrowDown"){l.preventDefault(),me.value=(me.value+1)%ae.value.length,pe();return}if(l.key==="ArrowUp"){l.preventDefault(),me.value=(me.value-1+ae.value.length)%ae.value.length,pe();return}if(l.key==="Enter"||l.key==="Tab"){l.preventDefault(),we(ae.value[me.value]);return}if(l.key==="Escape"){l.preventDefault(),le.value=!1;return}}l.key!=="Enter"||l.shiftKey||et(l)||(l.preventDefault(),Ze())}function Zt(l){const p=l.target;g.value||ye(),Ve.value===null&&(p.style.height="auto",p.style.height=Math.min(p.scrollHeight,100)+"px")}function es(l){me.value=l}function lt(l){if(!le.value)return;const p=l.target;!p.closest(".slash-command-dropdown")&&!p.closest(".input-wrapper")&&(le.value=!1)}Ee(()=>{document.addEventListener("mousedown",lt)}),Rt(()=>{document.removeEventListener("mousedown",lt)});function mt(l){const p=R.value.findIndex(C=>C.id===l);p!==-1&&(URL.revokeObjectURL(R.value[p].url),R.value.splice(p,1))}function _t(l){return l<1024?l+" B":l<1024*1024?(l/1024).toFixed(1)+" KB":(l/(1024*1024)).toFixed(1)+" MB"}function ze(l){return l.startsWith("image/")}return(l,p)=>(u(),d("div",sa,[e("div",aa,[b(t(je),{trigger:"hover"},{trigger:P(()=>[b(t(H),{quaternary:"",size:"tiny",onClick:Kt,circle:""},{icon:P(()=>[...p[6]||(p[6]=[e("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[e("path",{d:"M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48"})],-1)])]),_:1})]),default:P(()=>[j(" "+v(t(c)("chat.attachFiles")),1)]),_:1}),Qe.value?w("",!0):(u(),Q(t(Zo),{key:0,value:O.value,options:L.value,trigger:"click","onUpdate:value":V},{default:P(()=>[b(t(je),{trigger:"hover"},{trigger:P(()=>[b(t(H),{quaternary:"",size:"tiny",circle:"",class:J(["reasoning-effort-button",{active:!!O.value}]),"aria-label":`${t(c)("chat.reasoningEffort.tooltip")}: ${I.value}`},{icon:P(()=>[...p[7]||(p[7]=[e("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.6","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"M9.5 2A2.5 2.5 0 0 1 12 4.5v15a2.5 2.5 0 0 1-4.96.44 2.5 2.5 0 0 1-2.96-3.08 3 3 0 0 1-.34-5.58 2.5 2.5 0 0 1 1.32-4.24 2.5 2.5 0 0 1 1.98-3A2.5 2.5 0 0 1 9.5 2Z"}),e("path",{d:"M14.5 2A2.5 2.5 0 0 0 12 4.5v15a2.5 2.5 0 0 0 4.96.44 2.5 2.5 0 0 0 2.96-3.08 3 3 0 0 0 .34-5.58 2.5 2.5 0 0 0-1.32-4.24 2.5 2.5 0 0 0-1.98-3A2.5 2.5 0 0 0 14.5 2Z"})],-1)])]),_:1},8,["class","aria-label"])]),default:P(()=>[j(" "+v(t(c)("chat.reasoningEffort.tooltip"))+": "+v(I.value),1)]),_:1})]),_:1},8,["value","options"])),e("div",na,[b(t(je),{trigger:"hover"},{trigger:P(()=>[...p[8]||(p[8]=[e("div",{class:"switch-label"},[e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("polygon",{points:"5 3 19 12 5 21 5 3"})])],-1)])]),default:P(()=>[j(" "+v(t(c)("chat.autoPlaySpeech")),1)]),_:1}),b(t(ei),{size:"small",value:_e.value,"onUpdate:value":p[0]||(p[0]=C=>_e.value=C),round:!1},null,8,["value"])]),b(t(je),{trigger:"hover"},{trigger:P(()=>[b(t(H),{quaternary:"",size:"tiny",class:J(["tool-trace-toggle",{active:t(f)}]),"aria-label":t(f)?t(c)("chat.hideToolCalls"):t(c)("chat.showToolCalls"),onClick:t(n)},{default:P(()=>[...p[9]||(p[9]=[e("svg",{class:"tool-trace-icon",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"M14.7 6.3a4.5 4.5 0 0 0-5.8 5.8L3.5 17.5a2.1 2.1 0 0 0 3 3l5.4-5.4a4.5 4.5 0 0 0 5.8-5.8l-3 3-3-3 3-3z"})],-1)])]),_:1},8,["class","aria-label","onClick"])]),default:P(()=>[j(" "+v(t(f)?t(c)("chat.hideToolCalls"):t(c)("chat.showToolCalls")),1)]),_:1}),Xe.value?(u(),d("span",{key:1,class:J(["context-info",{"context-warning":Be.value>80}])},[j(v(Ie(Ye.value))+" / ",1),b(t(je),{trigger:"hover"},{trigger:P(()=>[e("span",{class:"context-limit-editable",onClick:dt},v(Ie(ue.value)),1)]),default:P(()=>[e("span",null,v(t(c)("chat.contextClickToEdit")),1)]),_:1}),j(" · "+v(t(c)("chat.contextRemaining"))+" "+v(Ie(Gt.value)),1)],2)):w("",!0),Xe.value?(u(),d("div",la,[e("div",{class:J(["context-bar-fill",{"context-bar-warn":Be.value>60&&Be.value<=80,"context-bar-danger":Be.value>80}]),style:Lt({width:`${Be.value}%`})},null,6)])):w("",!0)]),R.value.length>0?(u(),d("div",oa,[(u(!0),d(X,null,re(R.value,C=>(u(),d("div",{key:C.id,class:J(["attachment-preview",{image:ze(C.type)}])},[ze(C.type)?(u(),d("img",{key:0,src:C.url,alt:C.name,class:"attachment-thumb"},null,8,ia)):(u(),d("div",ra,[p[10]||(p[10]=e("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[e("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),e("polyline",{points:"14 2 14 8 20 8"})],-1)),e("span",ua,v(C.name),1),e("span",ca,v(_t(C.size)),1)])),e("button",{class:"attachment-remove",onClick:se=>mt(C.id)},[...p[11]||(p[11]=[e("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),e("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])],8,da)],2))),128))])):w("",!0),e("div",{class:J(["input-wrapper",{"drag-over":K.value}]),onDragover:ft,onDragenter:jt,onDragleave:Ht,onDrop:nt},[e("input",{ref_key:"fileInputRef",ref:q,type:"file",multiple:"",class:"file-input-hidden",onChange:Je},null,544),e("div",{class:"resize-handle",onMousedown:Ue},null,32),At(e("textarea",{ref_key:"textareaRef",ref:F,"onUpdate:modelValue":p[1]||(p[1]=C=>E.value=C),class:"input-textarea",style:Lt(Ve.value?{height:Ve.value+"px"}:{}),placeholder:t(c)("chat.inputPlaceholder"),rows:"1",onKeydown:Jt,onCompositionstart:Yt,onCompositionend:Xt,onInput:Zt,onPaste:pt},null,44,va),[[Wo,E.value]]),b(is,{name:"dropdown-fade"},{default:P(()=>[le.value&&ae.value.length>0?(u(),d("div",{key:0,ref_key:"commandDropdownRef",ref:D,class:"slash-command-dropdown"},[(u(!0),d(X,null,re(ae.value,(C,se)=>(u(),d("div",{key:C.name,class:J(["slash-command-item",{active:se===me.value}]),onMousedown:lo(he=>we(C),["prevent"]),onMouseenter:he=>es(se)},[e("span",fa,"/"+v(C.name),1),C.args?(u(),d("span",ha,v(C.args),1)):w("",!0),e("span",ma,v(C.description),1)],42,pa))),128))],512)):w("",!0)]),_:1}),e("div",_a,[b(_o,{status:t(B).status.value,transcript:ee.value,error:ne.value,events:t(B).events.value,"on-start":Wt,"on-stop":ht,"on-cancel":Qt},null,8,["status","transcript","error","events"]),t(i).isStreaming?(u(),Q(t(H),{key:0,size:"small",type:"error",disabled:t(i).isAborting,onClick:p[2]||(p[2]=C=>t(i).stopStreaming())},{default:P(()=>[j(v(t(c)("chat.stop")),1)]),_:1},8,["disabled"])):w("",!0),b(t(H),{size:"small",type:"primary",disabled:!ge.value,onClick:Ze},{icon:P(()=>[...p[12]||(p[12]=[e("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("line",{x1:"22",y1:"2",x2:"11",y2:"13"}),e("polygon",{points:"22 2 15 22 11 13 2 9 22 2"})],-1)])]),default:P(()=>[j(" "+v(t(c)("chat.send")),1)]),_:1},8,["disabled"])])],34),b(t(Tt),{show:Oe.value,"onUpdate:show":p[5]||(p[5]=C=>Oe.value=C),title:t(c)("chat.contextEditTitle"),"mask-closable":!0,preset:"card",style:{width:"400px"}},{footer:P(()=>[e("div",ka,[b(t(H),{onClick:p[4]||(p[4]=C=>Oe.value=!1),disabled:We.value},{default:P(()=>[j(v(t(c)("chat.contextEditCancel")),1)]),_:1},8,["disabled"]),b(t(H),{type:"primary",onClick:qt,loading:We.value},{default:P(()=>[j(v(t(c)("chat.contextEditSave")),1)]),_:1},8,["loading"])])]),default:P(()=>[e("div",ga,[e("p",ya,v(t(c)("chat.contextEditDesc")),1),b(t(Ko),{value:Pe.value,"onUpdate:value":p[3]||(p[3]=C=>Pe.value=C),min:1e3,max:1e7,step:1e3,"show-button":!1,placeholder:t(c)("chat.contextEditPlaceholder"),style:{width:"100%"}},{suffix:P(()=>[...p[13]||(p[13]=[e("span",{style:{color:"#999"}},"tokens",-1)])]),_:1},8,["value","placeholder"]),e("div",wa,v(t(c)("chat.contextEditHint")),1)])]),_:1},8,["show","title"])]))}})})),kr=N((()=>{})),ko,Sr=N((()=>{ba(),ba(),kr(),Ce(),ko=xe(wo,[["__scopeId","data-v-ac18c03f"]])}));async function br(x={}){const i=new URLSearchParams;return x.humanOnly===!1&&i.set("humanOnly","false"),x.source&&i.set("source",x.source),x.limit!=null&&i.set("limit",String(x.limit)),(await Et(`/api/hermes/sessions/conversations${i.toString()?`?${i.toString()}`:""}`)).sessions}async function Cr(x,i={}){const r=new URLSearchParams;i.humanOnly===!1&&r.set("humanOnly","false"),i.source&&r.set("source",i.source);const A=r.toString()?`?${r.toString()}`:"";return Et(`/api/hermes/sessions/conversations/${encodeURIComponent(x)}/messages${A}`)}var xr=N((()=>{cs()})),Ca,xa,Ma,$a,Pa,Ia,Ta,Aa,La,Ba,Fa,Da,Ra,Ea,Va,Ua,Oa,Na,za,qa,Ga,Ka,So,ja=N((()=>{fe(),xr(),Fi(),Ut(),Ae(),Ca={class:"conversation-monitor"},xa={class:"conversation-monitor__sidebar"},Ma={key:0,class:"conversation-monitor__empty"},$a={key:1,class:"conversation-monitor__empty"},Pa=["aria-pressed","onClick"],Ia={class:"conversation-monitor__session-title-row"},Ta={class:"conversation-monitor__session-title"},Aa={key:0,class:"conversation-monitor__session-live"},La={class:"conversation-monitor__session-meta"},Ba={key:0,class:"conversation-monitor__session-preview"},Fa={class:"conversation-monitor__detail"},Da={key:0,class:"conversation-monitor__detail-header"},Ra={class:"conversation-monitor__detail-title"},Ea={class:"conversation-monitor__detail-meta"},Va=["title"],Ua={key:1,class:"conversation-monitor__empty conversation-monitor__empty--error"},Oa={key:2,class:"conversation-monitor__empty"},Na={key:3,class:"conversation-monitor__empty"},za={key:4,class:"conversation-monitor__messages"},qa={class:"conversation-monitor__message-meta"},Ga={class:"conversation-monitor__message-content"},Ka=15e3,So=be({__name:"ConversationMonitorPane",props:{humanOnly:{type:Boolean}},setup(x){const i=x,{t:r}=Le(),A=Vt(),c=h([]),_=h(null),f=h(null),n=h(!1),L=h(!1),O=h("");let I=null,V=0,E=0;const F=S(()=>c.value.find($=>$.id===_.value)||null),D=S(()=>F.value?.model?A.displayModelName(F.value.model,F.value.provider):"");function q($){return r($==="user"?"chat.monitorRoleUser":"chat.monitorRoleAssistant")}function R($){return r("chat.linkedSessions",{count:$})}function K(){V+=1,E+=1}async function W($=!1){const k=++V;$||(n.value=!0,O.value="");try{const T=await br({humanOnly:i.humanOnly});if(k!==V)return;if(c.value=T,!T.length){_.value=null,f.value=null;return}(!_.value||!T.some(G=>G.id===_.value))&&(_.value=T[0].id)}catch(T){if(k!==V||$)return;O.value=T?.message||String(T),c.value=[],_.value=null,f.value=null}finally{!$&&k===V&&(n.value=!1)}}async function g($,k=!1){const T=++E;if(!$){f.value=null;return}const G=i.humanOnly;k||(L.value=!0,O.value="");try{const z=await Cr($,{humanOnly:G});if(T!==E||$!==_.value||G!==i.humanOnly)return;f.value=z}catch(z){if(T!==E||k)return;O.value=z?.message||String(z),f.value=null}finally{!k&&T===E&&(L.value=!1)}}return te(_,async $=>{await g($,!1)}),te(()=>i.humanOnly,async()=>{K(),_.value=null,f.value=null,await W(!1)}),Ee(async()=>{await W(!1),I=setInterval(async()=>{await W(!0),_.value&&await g(_.value,!0)},Ka)}),Rt(()=>{K(),I&&clearInterval(I)}),($,k)=>(u(),d("div",Ca,[e("aside",xa,[n.value&&c.value.length===0?(u(),d("div",Ma,v(t(r)("common.loading")),1)):c.value.length===0?(u(),d("div",$a,v(t(r)("chat.noSessions")),1)):w("",!0),(u(!0),d(X,null,re(c.value,T=>(u(),d("button",{key:T.id,class:J(["conversation-monitor__session",{active:T.id===_.value}]),"aria-pressed":T.id===_.value,onClick:G=>_.value=T.id},[e("div",Ia,[e("span",Ta,v(T.title||T.preview||T.id),1),T.is_active?(u(),d("span",Aa,v(t(r)("chat.recentBadge")),1)):w("",!0)]),e("div",La,v(t(xs)(T.source))+" · "+v(t(Cs)(T.last_active)),1),T.preview?(u(),d("div",Ba,v(T.preview),1)):w("",!0)],10,Pa))),128))]),e("section",Fa,[F.value?(u(),d("header",Da,[e("div",Ra,v(F.value.title||F.value.preview||F.value.id),1),e("div",Ea,[e("span",null,v(t(xs)(F.value.source)),1),k[0]||(k[0]=e("span",null,"·",-1)),e("span",{title:F.value.model},v(D.value),9,Va),k[1]||(k[1]=e("span",null,"·",-1)),e("span",null,v(R(F.value.thread_session_count)),1)])])):w("",!0),O.value?(u(),d("div",Ua,v(O.value),1)):L.value&&!f.value?(u(),d("div",Oa,v(t(r)("common.loading")),1)):!f.value||f.value.messages.length===0?(u(),d("div",Na,v(t(r)("chat.noVisibleMessages")),1)):(u(),d("div",za,[(u(!0),d(X,null,re(f.value.messages,T=>(u(),d("article",{key:`${T.session_id}-${T.id}`,class:J(["conversation-monitor__message",`role-${T.role}`])},[e("div",qa,v(q(T.role))+" · "+v(t(Cs)(T.timestamp)),1),e("div",Ga,v(T.content),1)],2))),128))]))])]))}})})),Mr=N((()=>{})),bo,$r=N((()=>{ja(),ja(),Mr(),Ce(),bo=xe(So,[["__scopeId","data-v-71fcd8c4"]])})),Co,Pr=N((()=>{Co="/assets/gif/thinking-light-DQ8oyIIA.gif"})),xo,Ir=N((()=>{xo="/assets/gif/thinking-dark-D3nwXrFU.gif"})),Ha,Wa,Qa,Ya,Xa,Ja,Za,en,tn,sn,an,nn,ln,on,rn,un,cn,dn,vn,pn,fn,hn,mn,_n,gn,yn,wn,kn,Sn,bn,os,Mo,Cn=N((()=>{fe(),Ae(),Si(),Ri(),Ot(),Pr(),Ir(),oi(),vo(),Ha={class:"message-list-shell"},Wa={class:"empty-state"},Qa=["src","alt"],Ya={key:0,class:"history-loader"},Xa={key:0,class:"history-loader-spinner"},Ja={key:0,class:"streaming-indicator"},Za=["src"],en={key:0,class:"tool-calls-panel"},tn={key:0,class:"tool-call-item compression-item"},sn={key:0,width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5",class:"tool-call-icon"},an={key:1,width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5",class:"tool-call-icon"},nn={class:"tool-call-name"},ln={key:2,class:"tool-call-spinner"},on={key:1,class:"tool-call-item compression-item"},rn={key:0,width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5",class:"tool-call-icon"},un={key:1,width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5",class:"tool-call-icon"},cn={class:"tool-call-name"},dn={key:2,class:"tool-call-spinner"},vn={class:"tool-call-name"},pn={key:0,class:"tool-call-preview"},fn=["title"],hn={key:2,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",class:"tool-call-success-icon"},mn={key:3,class:"tool-call-spinner"},_n={key:4,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",class:"tool-call-error-icon"},gn={key:0,class:"queue-float-panel"},yn={class:"queue-float-header"},wn={class:"queue-float-list"},kn={class:"queue-index"},Sn={class:"queue-text"},bn=["title","onClick"],os=new Map,Mo=be({__name:"MessageList",setup(x,{expose:i}){const r=Nt(),{t:A}=Le(),{isDark:c}=fi(),{toolTraceVisible:_}=co(),f=h(null),n=h(null),L={frames:8,keepAliveMs:1200};function O(m){return m>=1e6?(m/1e6).toFixed(1)+"M":m>=1e3?(m/1e3).toFixed(1)+"K":String(m)}function I(m){return m<1?`${Math.round(m*1e3)}ms`:m<60?`${Math.round(m*10)/10}s`:`${Math.floor(m/60)}m ${Math.round(m%60)}s`}const V=S(()=>{const m=r.messages;let y=-1;for(let M=m.length-1;M>=0;M--)if(m[M].role==="user"){y=M;break}return[...m.filter((M,B)=>M.role==="tool"&&B>y)].reverse()}),E=S(()=>V.value.filter(m=>!!m.toolName)),F=S(()=>{const m=r.activeSession,y=m?.codingAgentId||(m?.agent==="codex"?"codex":m?.agent==="claude"?"claude-code":void 0);return y==="codex"?{logo:"/coding-agents/codex-openai.png",alt:"Codex",text:A("chat.emptyStateAgent",{agent:"Codex"})}:y==="claude-code"?{logo:"/coding-agents/claude-code.svg",alt:"Claude Code",text:A("chat.emptyStateAgent",{agent:"Claude Code"})}:{logo:"/logo.png",alt:"Hermes",text:A("chat.emptyState")}}),D=S(()=>{const m=new Set(V.value.map(y=>y.id));return r.messages.filter(y=>y.role==="tool"?_.value&&!!y.toolName&&!(r.isRunActive&&m.has(y.id)):!(y.role==="assistant"&&y.isStreaming&&!y.content?.trim()&&y.reasoning?.trim()&&V.value.length===0))}),q=S(()=>{const m=r.activeSessionId;return m?r.queuedUserMessages.get(m)||[]:[]}),R=S(()=>q.value.length>0?"20px 20px 240px":"20px");function K(m){const y=r.activeSessionId;y&&r.removeQueuedMessage(y,m)}function W(m){const y=m.replace(/\s+/g," ").trim();return y.length>48?`${y.slice(0,48)}...`:y}function g(m=100){return f.value?.shouldAutoFollowBottom(m)??!0}function $(m){f.value?.scrollToBottom(m)}function k(m){f.value?.scrollToMessage(m)}function T(m,y){f.value?.scrollToAnchor(m,y)}function G(m){if(!m)return;const y=f.value?.captureViewportPosition()??null;y&&os.set(m,y)}function z(m){if(r.activeSessionId!==m)return;if(r.focusMessageId){n.value=null,k(r.focusMessageId);return}const y=os.get(m);if(y){n.value=null,y.wasNearBottom?$(L):f.value?.restoreViewportPosition(y);return}$(L),r.messages.length>0&&!r.isLoadingMessages&&(n.value=null)}async function ce(){const m=r.activeSession;if(!m?.hasMoreBefore||m.isLoadingOlderMessages)return;const y=f.value?.captureScrollPosition()??null;await r.loadOlderMessages(m.id)&&(await Re(),f.value?.restoreScrollPosition(y))}return te(()=>r.activeSessionId,async(m,y)=>{G(y),m&&(n.value=m,await Re(),z(m))},{immediate:!0}),te(()=>[r.activeSessionId,r.messages.length],([m,y])=>{!m||n.value!==m||y===0||z(m)},{flush:"post"}),te(()=>r.isLoadingMessages,async(m,y)=>{if(m||!y)return;const M=r.activeSessionId;if(!(!M||n.value!==M)){if(r.focusMessageId){n.value=null;return}await Re(),r.activeSessionId===M&&($(L),n.value=null)}},{flush:"post"}),te(()=>r.focusMessageId,m=>{m&&k(m)}),te(()=>r.isRunActive,m=>{m&&$({frames:3,keepAliveMs:400})}),te(()=>r.messages[r.messages.length-1]?.content,()=>{if(n.value!==r.activeSessionId){if(r.focusMessageId){k(r.focusMessageId);return}g()&&$({frames:1,keepAliveMs:0})}}),te(V,()=>{if(n.value!==r.activeSessionId){if(r.focusMessageId){k(r.focusMessageId);return}g()&&$({frames:1,keepAliveMs:0})}}),te(()=>q.value.length,async(m,y)=>{if(n.value===r.activeSessionId||r.focusMessageId||m<=y)return;const M=g(320);await Re(),!(!M&&!r.isRunActive)&&$({frames:4,keepAliveMs:600})}),ni(()=>{G(r.activeSessionId)}),i({scrollToBottom:$,scrollToMessage:k,scrollToAnchor:T}),(m,y)=>(u(),d("div",Ha,[(u(),Q(bi,{key:t(r).activeSessionId||"chat-empty",ref_key:"listRef",ref:f,messages:D.value,padding:R.value,onTopReach:ce},{empty:P(()=>[e("div",Wa,[e("img",{src:F.value.logo,alt:F.value.alt,class:"empty-logo"},null,8,Qa),e("p",null,v(F.value.text),1)])]),before:P(()=>[t(r).activeSession?.hasMoreBefore||t(r).activeSession?.isLoadingOlderMessages?(u(),d("div",Ya,[t(r).activeSession?.isLoadingOlderMessages?(u(),d("span",Xa)):w("",!0)])):w("",!0)]),item:P(({message:M})=>[b(Ei,{message:M,highlight:t(r).focusMessageId===M.id},null,8,["message","highlight"])]),after:P(()=>[b(is,{name:"fade"},{default:P(()=>[t(r).isRunActive||t(r).abortState?(u(),d("div",Ja,[e("img",{src:t(c)?t(xo):t(Co),alt:"","aria-hidden":"true",class:"thinking-video"},null,8,Za),E.value.length>0||t(r).compressionState||t(r).abortState?(u(),d("div",en,[t(r).abortState?(u(),d("div",tn,[t(r).abortState.aborting?(u(),d("svg",sn,[...y[0]||(y[0]=[e("path",{d:"M10 9v6m4-6v6M5 5h14v14H5z"},null,-1)])])):(u(),d("svg",an,[...y[1]||(y[1]=[e("path",{d:"M5 13l4 4L19 7"},null,-1)])])),e("span",nn,v(t(r).abortState.aborting?t(r).abortState.timedOut?t(r).abortState.message||"Still stopping... new messages will be queued":"Pausing... waiting for the run to stop and sync":t(r).abortState.synced?"Paused and synced":"Paused"),1),t(r).abortState.aborting?(u(),d("span",ln)):w("",!0)])):w("",!0),t(r).compressionState?(u(),d("div",on,[t(r).compressionState.compressing?(u(),d("svg",rn,[...y[2]||(y[2]=[e("path",{d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"},null,-1)])])):t(r).compressionState.compressed?(u(),d("svg",un,[...y[3]||(y[3]=[e("path",{d:"M5 13l4 4L19 7"},null,-1)])])):w("",!0),e("span",cn,v(t(r).compressionState.compressing?`Compressing... (${t(r).compressionState.messageCount} msgs, ~${O(t(r).compressionState.beforeTokens)} tokens)`:t(r).compressionState.compressed?`Compressed ${t(r).compressionState.messageCount} msgs: ~${O(t(r).compressionState.beforeTokens)} → ~${O(t(r).compressionState.afterTokens)} tokens`:"Compression skipped"),1),t(r).compressionState.compressing?(u(),d("span",dn)):w("",!0)])):w("",!0),(u(!0),d(X,null,re(E.value,M=>(u(),d("div",{key:M.id,class:"tool-call-item"},[y[6]||(y[6]=e("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5",class:"tool-call-icon"},[e("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)),e("span",vn,v(M.toolName),1),M.toolPreview?(u(),d("span",pn,v(M.toolPreview),1)):w("",!0),M.toolDuration&&M.toolStatus!=="running"?(u(),d("span",{key:1,class:"tool-call-duration",title:m.$t("chat.executionDuration")},v(I(M.toolDuration)),9,fn)):w("",!0),M.toolStatus==="done"?(u(),d("svg",hn,[...y[4]||(y[4]=[e("circle",{cx:"12",cy:"12",r:"10",fill:"currentColor","fill-opacity":"0.15"},null,-1),e("path",{d:"M8 12L11 15L16 9",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",fill:"none"},null,-1)])])):w("",!0),M.toolStatus==="running"?(u(),d("span",mn)):w("",!0),M.toolStatus==="error"?(u(),d("svg",_n,[...y[5]||(y[5]=[e("circle",{cx:"12",cy:"12",r:"10",fill:"currentColor","fill-opacity":"0.15"},null,-1),e("path",{d:"M15 9L9 15M9 9L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",fill:"none"},null,-1)])])):w("",!0)]))),128))])):w("",!0)])):w("",!0)]),_:1})]),_:1},8,["messages","padding"])),b(is,{name:"queue-float"},{default:P(()=>[q.value.length>0?(u(),d("div",gn,[e("div",yn,[y[7]||(y[7]=e("span",{class:"queue-orbit","aria-hidden":"true"},[e("span")],-1)),e("span",null,v(t(A)("chat.messageQueue")),1),e("strong",null,v(q.value.length),1)]),e("div",wn,[(u(!0),d(X,null,re(q.value,(M,B)=>(u(),d("div",{key:M.id,class:"queue-float-item"},[e("span",kn,v(B+1),1),e("span",Sn,v(W(M.content)),1),e("button",{type:"button",class:"queue-remove",title:t(A)("chat.removeQueuedMessage"),onClick:ee=>K(M.id)},[...y[8]||(y[8]=[e("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),e("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])],8,bn)]))),128))])])):w("",!0)]),_:1})]))}})})),Tr=N((()=>{})),$o,Ar=N((()=>{Cn(),Cn(),Tr(),Ce(),$o=xe(Mo,[["__scopeId","data-v-24ac5708"]])})),xn,Mn,$n,Pn,Po,In=N((()=>{fe(),ar(),Ae(),Dt(),sr(),Gi(),Wi(),qi(),tr(),Ni(),Yi(),ji(),Qi(),xn={class:"files-panel-drawer"},Mn={class:"files-main-panel"},$n={class:"main-toolbar"},Pn={class:"files-content"},Po=be({__name:"FilesPanel",setup(x){const i=Oi(),{t:r}=Le(),A=h(null),c=h(!1),_=h(!1),f=h("newFile"),n=h(null),L=h(!1);function O(F,D){A.value?.show(F,D)}function I(){f.value="newFile",n.value=null,_.value=!0}function V(){f.value="newFolder",n.value=null,_.value=!0}function E(F){f.value="rename",n.value=F,_.value=!0}return Ee(()=>{i.fetchEntries("")}),(F,D)=>(u(),d("div",xn,[L.value?(u(),d("div",{key:0,class:"sidebar-overlay",onClick:D[0]||(D[0]=q=>L.value=!1)})):w("",!0),e("div",{class:J(["files-tree-panel",{"mobile-visible":L.value}])},[b(Vi)],2),e("div",Mn,[e("div",$n,[b(t(H),{size:"small",onClick:D[1]||(D[1]=q=>L.value=!L.value),class:"sidebar-toggle"},{icon:P(()=>[...D[5]||(D[5]=[e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),e("line",{x1:"9",y1:"3",x2:"9",y2:"21"})],-1)])]),default:P(()=>[j(" "+v(t(r)("files.fileTree")),1)]),_:1}),b(Xi,{onShowNewFile:I,onShowNewFolder:V,onShowUpload:D[2]||(D[2]=q=>c.value=!0)})]),b(Ki),e("div",Pn,[t(i).editingFile?(u(),Q(Zi,{key:0})):t(i).previewFile?(u(),Q(Ui,{key:1})):(u(),Q(zi,{key:2,onContextmenuEntry:O}))])]),b(Hi,{ref_key:"contextMenuRef",ref:A,onRename:E},null,512),b(Ji,{show:c.value,"onUpdate:show":D[3]||(D[3]=q=>c.value=q)},null,8,["show"]),b(er,{show:_.value,"onUpdate:show":D[4]||(D[4]=q=>_.value=q),mode:f.value,entry:n.value},null,8,["show","mode","entry"])]))}})})),Lr=N((()=>{})),Io,Br=N((()=>{In(),In(),Lr(),Ce(),Io=xe(Po,[["__scopeId","data-v-efc529cd"]])})),Tn,An,Ln,Bn,Fn,To,Dn=N((()=>{fe(),Ae(),_i(),Br(),Tn={class:"drawer-header"},An={class:"drawer-tabs"},Ln={class:"drawer-content"},Bn={class:"drawer-pane"},Fn={class:"drawer-pane"},To=be({__name:"DrawerPanel",props:{show:{type:Boolean},activeTab:{default:"files"}},emits:["update:show"],setup(x,{emit:i}){const r=x,A=i,{t:c}=Le(),_=h(r.activeTab);te(()=>r.activeTab,n=>{n&&(_.value=n)});function f(){A("update:show",!1)}return(n,L)=>(u(),Q(Xo,{to:"body"},[x.show?(u(),d("div",{key:0,class:"drawer-overlay",onClick:f})):w("",!0),e("div",{class:J(["drawer-panel",{show:x.show}])},[e("div",Tn,[e("div",An,[e("button",{class:J(["tab-button",{active:_.value==="files"}]),onClick:L[0]||(L[0]=O=>_.value="files")},v(t(c)("drawer.files")),3),e("button",{class:J(["tab-button",{active:_.value==="terminal"}]),onClick:L[1]||(L[1]=O=>_.value="terminal")},v(t(c)("drawer.terminal")),3)]),e("button",{class:"close-button",onClick:f},[...L[2]||(L[2]=[e("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),e("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])]),e("div",Ln,[At(e("div",Bn,[b(Io)],512),[[rs,_.value==="files"]]),At(e("div",Fn,[b(gi,{visible:_.value==="terminal"&&x.show},null,8,["visible"])],512),[[rs,_.value==="terminal"]])])],2)]))}})})),Fr=N((()=>{})),Ao,Dr=N((()=>{Dn(),Dn(),Fr(),Ce(),Ao=xe(To,[["__scopeId","data-v-9e646a0b"]])})),Rn,En,Vn,Un,On,Nn,zn,qn,Gn,Kn,jn,Hn,Wn,Qn,Yn,Xn,Jn,Zn,el,tl,sl,al,nl,ll,ol,il,rl,ul,cl,dl,vl,pl,fl,hl,ml,_l,gl,yl,wl,kl,Sl,bl,Cl,xl,Ml,$l,Pl,Il,Tl,Al,Ll,Bl,Fl,Dl,Rl,El,Vl,Ul,Ol,Nl,zl,ql,Gl,Kl,jl,Hl,Wl,Ql,Yl,Xl,Jl,Zl,eo,to,Lo,so=N((()=>{fe(),uo(),hi(),Ot(),Ut(),vs(),wi(),Dt(),io(),Ae(),ki(),lr(),Sr(),$r(),Ar(),Li(),Dr(),Bi(),Rn={class:"chat-panel"},En={class:"session-list-header"},Vn={key:0,class:"session-list-title"},Un={class:"session-list-actions"},On={key:0,class:"session-profile-filter"},Nn={key:1,class:"session-items"},zn={key:0,class:"session-loading"},qn={key:1,class:"session-empty"},Gn={class:"session-group-header session-group-header--static"},Kn={class:"session-group-label"},jn={class:"session-group-count"},Hn={class:"session-model-list"},Wn=["onClick"],Qn={class:"session-model-group-label"},Yn={class:"session-model-group-count"},Xn={class:"session-model-group-items"},Jn=["title","onClick"],Zn={class:"session-model-item-label"},el={class:"session-model-item-name"},tl={key:0,class:"session-model-item-id"},sl={key:0,class:"session-model-badge-preview"},al={key:1,class:"session-model-badge-disabled"},nl={key:2,class:"session-model-badge-custom"},ll={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"},ol={key:0,class:"session-model-empty"},il={class:"session-model-custom"},rl={class:"session-model-custom-row"},ul={class:"session-model-custom-hint"},cl={class:"new-chat-form"},dl={class:"new-chat-field"},vl={class:"new-chat-label"},pl={key:0,class:"new-chat-field"},fl={class:"new-chat-label"},hl={class:"new-chat-field"},ml={class:"new-chat-label"},_l={key:1,class:"new-chat-field"},gl={class:"new-chat-label"},yl={key:2,class:"new-chat-field"},wl={class:"new-chat-label"},kl={key:3,class:"new-chat-field"},Sl={class:"new-chat-label"},bl={key:4,class:"new-chat-field"},Cl={class:"new-chat-label"},xl={key:5,class:"new-chat-field"},Ml={class:"new-chat-label"},$l={class:"new-chat-field"},Pl={class:"new-chat-label"},Il={class:"new-chat-actions"},Tl={class:"chat-main"},Al={class:"chat-header"},Ll={class:"header-left"},Bl={class:"header-session-title"},Fl=["title"],Dl={class:"header-actions"},Rl={class:"chat-content-wrapper"},El={class:"chat-main-content"},Vl={key:0,class:"approval-bar"},Ul={class:"approval-content"},Ol={class:"approval-main"},Nl={class:"approval-kicker"},zl={class:"approval-title"},ql={class:"approval-desc"},Gl={class:"approval-command"},Kl={class:"approval-actions"},jl={key:1,class:"clarify-bar"},Hl={class:"clarify-content"},Wl={class:"clarify-main"},Ql={class:"clarify-kicker"},Yl={class:"clarify-title"},Xl={class:"clarify-desc"},Jl={key:0,class:"clarify-actions"},Zl={key:1,class:"clarify-actions clarify-actions-open"},eo={class:"clarify-input-row"},to={class:"drawer-button-wrapper"},Lo=be({__name:"ChatPanel",setup(x){const i=Nt(),r=Vt(),A=ds(),c=yi(),_=ro(),f=oo(),{t:n}=Le(),L=h(!1),O=h("files"),I=h(!1),V=h(null),E=h("chat"),F=h(!1),D=h(new Set),q=h(!1),R=h(!1),K=h(typeof window>"u"||!window.matchMedia("(max-width: 768px)").matches);let W=null;const g=h(!1);function $(a){return _.resolve({name:"hermes.session",params:{sessionId:a}}).href}function k(a){typeof window>"u"||window.open($(a),"_blank","noopener,noreferrer")}function T(a){V.value?.scrollToAnchor(a.messageId,a.anchorId)}async function G(a){await _.push({name:"hermes.session",params:{sessionId:a}}),W?.matches&&(K.value=!1)}function z(a){g.value=a.matches,a.matches&&K.value&&(K.value=!1)}Ee(()=>{W=window.matchMedia("(max-width: 768px)"),z(W),W.addEventListener("change",z),A.profiles.length===0&&A.fetchProfiles()}),Rt(()=>{W?.removeEventListener("change",z)});const ce=h(!1),m=h(""),y=h(null),M=h(null),B=S(()=>i.sessionProfileFilter),ee=S(()=>[{label:n("chat.allProfiles"),value:"__all__"},...A.profiles.map(a=>({label:a.name,value:a.name}))]);async function Z(a){i.sessionProfileFilter=a==="__all__"?null:a,await i.loadSessions(i.sessionProfileFilter)}function ne(a){return[...a].sort((s,o)=>(o.updatedAt||0)-(s.updatedAt||0))}const de=S(()=>ne(i.sessions.filter(a=>c.isPinned(a.id)))),le=S(()=>ne(i.sessions.filter(a=>!c.isPinned(a.id))));te(()=>[i.sessionsLoaded,...i.sessions.map(a=>a.id)],a=>{const s=a.slice(1);!a[0]||s.length===0||c.pruneMissingSessions(s)},{immediate:!0});const ct=S(()=>i.activeSession?.title||n("chat.newChat")),me=S(()=>E.value==="live"?n("chat.liveSessions"):ct.value),zt=S(()=>i.activePendingApproval),ae=S(()=>zt.value),Ve=S(()=>i.activePendingClarify),Ue=S(()=>Ve.value),_e=h("");function He(a){const s=a!==void 0?a:_e.value.trim();i.respondToClarify(s),_e.value=""}const Me=h(!1),oe=h("hermes"),ve=h("scoped"),ge=h("default"),pe=h(""),ye=h(""),we=h(""),ue=h(""),ke=h("codex_responses"),$e=h(""),ie=h(!1),Oe=new Set(["openai-codex","copilot","xai-oauth","nous"]),Pe=S(()=>[{label:"Hermes",value:"hermes"},{label:"Claude Code",value:"claude-code"},{label:"Codex",value:"codex"}]),We=S(()=>[{label:n("codingAgents.protocolOpenAiChat"),value:"chat_completions"},{label:n("codingAgents.protocolOpenAiResponses"),value:"codex_responses"},{label:n("codingAgents.protocolAnthropicMessages"),value:"anthropic_messages"}]),Qe=S(()=>[{label:n("codingAgents.launchModeGlobal"),value:"global"},{label:n("codingAgents.launchModeScoped"),value:"scoped"}]);function dt(a){return r.profileModelGroups.find(s=>s.profile===a)?.groups||[]}function qt(a){return Oe.has(String(a||"").toLowerCase())}function vt(a){return oe.value!=="hermes"&&ve.value==="scoped"?!qt(a.provider):!0}function Ne(a){return dt(a).filter(vt)}function at(a){const s=Ne(a),o=r.profileModelGroups.find(De=>De.profile===a),U=o?.default_provider||"",ut=o?.default||"",st=(U?s.find(De=>De.provider===U):void 0)||s.find(De=>De.models.length>0);return{provider:st?.provider||"",model:st?.models.includes(ut)?ut:st?.models[0]||""}}const Ye=S(()=>(A.profiles.length>0?A.profiles:[{name:"default"}]).map(a=>({label:a.name,value:a.name}))),Xe=S(()=>Ne(ge.value)),Gt=S(()=>Xe.value.map(a=>({label:a.label||a.provider,value:a.provider}))),Be=S(()=>{const a=Xe.value.find(s=>s.provider===pe.value);return(a?.models||[]).map(s=>({label:r.displayModelName(s,a?.provider),value:s}))}),Ie=S(()=>Xe.value.find(a=>a.provider===pe.value)),Se=S(()=>oe.value!=="hermes"),Kt=S(()=>Se.value&&ve.value==="global"),Je=S(()=>!Kt.value),pt=S(()=>Se.value&&ve.value==="scoped"&&!Ie.value?.base_url),ft=S(()=>Se.value&&ve.value==="scoped"&&!Ie.value?.api_key),jt=S(()=>ge.value?Je.value?!pe.value||!ye.value?!1:Se.value?!(!ke.value||pt.value&&!we.value.trim()||ft.value&&!ue.value.trim()):!0:!0:!1);function Ht(a){if(a?.api_mode)return a.api_mode;const s=String(a?.provider||pe.value||"").toLowerCase(),o=String(a?.base_url||we.value||"").toLowerCase();return s.includes("claude")||s==="anthropic"||o.includes("anthropic")||o.includes("/anthropic")?"anthropic_messages":s==="deepseek"||s==="lmstudio"||o.includes("deepseek")||o.includes("127.0.0.1")||o.includes("localhost")?"chat_completions":"codex_responses"}function nt(){ke.value=Ht(Ie.value)}function Ze(){const a=at(ge.value);pe.value=a.provider,ye.value=a.model,we.value="",ue.value="",nt()}function Wt(){if(!Je.value)return;const a=Ie.value;if(a&&a.models.includes(ye.value)){nt();return}Ze()}te(()=>[oe.value,ve.value,ge.value],()=>Wt());async function ht(){Me.value=!0,ie.value=!0;try{A.profiles.length===0&&await A.fetchProfiles(),r.modelGroups.length===0&&r.profileModelGroups.length===0&&await r.loadModels(),$e.value="",ge.value=A.activeProfileName||A.profiles.find(a=>a.active)?.name||A.profiles[0]?.name||"default",Ze()}finally{ie.value=!1}}function Qt(a){ge.value=a,Ze()}function Yt(a){pe.value=a,ye.value=Be.value[0]?.value||"",we.value="",ue.value="",nt()}async function Xt(){if(oe.value!=="hermes"){ie.value=!0;try{const st=oe.value,De=(await mi()).tools.find(as=>as.id===st);if(!De?.installed){const as=st==="codex"?"Codex":"Claude Code";f.warning(n("codingAgents.installRequired",{agent:De?.name||as})),Me.value=!1,await _.push({name:"hermes.codingAgents"});return}}catch{f.error(n("codingAgents.loadFailed"));return}finally{ie.value=!1}}const a=Ie.value,s=oe.value==="hermes"?"cli":"coding_agent",o=s==="coding_agent"&&ve.value==="global",U=oe.value==="codex"?"codex":oe.value==="claude-code"?"claude":"hermes",ut=i.newChat({profile:ge.value,provider:o?void 0:pe.value,model:o?void 0:ye.value,source:s,agent:U,codingAgentId:oe.value==="hermes"?void 0:oe.value,codingAgentMode:s==="coding_agent"?ve.value:void 0,workspace:$e.value||null,baseUrl:s==="coding_agent"&&!o&&(a?.base_url||we.value.trim())||void 0,apiKey:s==="coding_agent"&&!o&&(a?.api_key||ue.value.trim())||void 0,apiMode:s==="coding_agent"&&!o?ke.value:void 0});await _.push({name:"hermes.session",params:{sessionId:ut.id}}),Me.value=!1}function et(a){i.respondApproval(a)}function Jt(a){return i.sessions.find(s=>s.id===a)?.profile||null}function Zt(a,s){const o=_.resolve({name:"hermes.session",params:{sessionId:a},query:s?{profile:s}:void 0}).href;return`${window.location.origin}${window.location.pathname}${o}`}async function es(a){const s=a||i.activeSessionId;s&&(await bs(Zt(s,Jt(s)))?f.success(n("common.copied")):f.error(n("common.copied")+" ✗"))}async function lt(a){const s=a||i.activeSessionId;s&&(await bs(s)?f.success(n("common.copied")):f.error(n("common.copied")+" ✗"))}async function mt(a){if(!await i.deleteSession(a)){f.error(n("common.deleteFailed"));return}c.removePinned(a),f.success(n("chat.sessionDeleted"))}function _t(){R.value||(F.value=!F.value,F.value||(D.value.clear(),q.value=!1))}function ze(a){return`${a.profile||"default"}\0${a.id}`}function l(a){if(R.value)return;const s=ze(a);D.value.has(s)?D.value.delete(s):D.value.add(s),D.value=new Set(D.value),D.value.size===0&&(q.value=!1)}function p(a){return D.value.has(ze(a))}async function C(){if(D.value.size===0||R.value)return;const a=new Map(i.sessions.map(o=>[ze(o),o])),s=Array.from(D.value).map(o=>a.get(o)).filter(o=>!!o).map(o=>({id:o.id,profile:o.profile||null}));if(s.length!==0){R.value=!0;try{const o=await ri(s);if(o.deleted>0){for(const U of s)c.removePinned(U.id);await i.loadSessions(i.sessionProfileFilter),f.success(n("chat.batchDeleteSuccess",{count:o.deleted})),o.failed>0&&f.warning(n("chat.batchDeletePartial",{failed:o.failed}))}else f.error(n("chat.batchDeleteFailed"))}catch{f.error(n("chat.batchDeleteFailed"))}finally{R.value=!1,q.value=!1,F.value=!1,D.value.clear()}}}function se(){return C(),!1}function he(){if(!R.value){D.value.clear();for(const a of i.sessions)a.id!==i.activeSessionId&&D.value.add(ze(a));D.value=new Set(D.value)}}const qe=S(()=>D.value.size),Fe=S(()=>i.sessions.some(a=>a.id!==i.activeSessionId)),Y=h(null),gt=S(()=>Y.value?c.isPinned(Y.value):!1),ts=S(()=>Y.value&&i.sessions.find(a=>a.id===Y.value)||null),yt=S(()=>{const a=[{label:n(gt.value?"chat.unpin":"chat.pin"),key:"pin"},{label:n("chat.rename"),key:"rename"},{label:n("chat.setWorkspace"),key:"workspace"}];return ts.value?.source==="cli"&&a.push({label:n("chat.setModel"),key:"model"}),a.push({label:n("chat.export"),key:"export",children:[{label:n("chat.exportFull"),key:"export-full",children:[{label:"JSON",key:"export-full-json"},{label:"TXT",key:"export-full-txt"}]},{label:n("chat.exportCompressed"),key:"export-compressed",children:[{label:"JSON",key:"export-compressed-json"},{label:"TXT",key:"export-compressed-txt"}]}]}),a.push({label:n("chat.openSessionInNewTab"),key:"open-link"}),a.push({label:n("chat.copySessionLink"),key:"copy-link"}),a.push({label:n("chat.copySessionId"),key:"copy-id"}),a});function Te(a,s){a.preventDefault(),Y.value=s,wt.value=!0,ps.value=a.clientX,fs.value=a.clientY}const wt=h(!1),ps=h(0),fs=h(0);function hs(a){return a==="export-full-json"?{mode:"full",ext:"json"}:a==="export-full-txt"?{mode:"full",ext:"txt"}:a==="export-compressed-json"?{mode:"compressed",ext:"json"}:a==="export-compressed-txt"?{mode:"compressed",ext:"txt"}:null}async function Do(a){if(wt.value=!1,!!Y.value){if(a==="pin"){c.togglePinned(Y.value);return}if(a==="copy-link")es(Y.value);else if(a==="copy-id")lt(Y.value);else if(a==="open-link")k(Y.value);else if(hs(a)){const{mode:s,ext:o}=hs(a),U=s==="compressed"?f.loading(n("chat.exportCompressing"),{duration:0}):null;try{await di(Y.value,s,o),U?.destroy(),f.success(n("chat.exportSuccess"))}catch{U?.destroy(),f.error(n("chat.exportFailed"))}}else if(a==="workspace"){const s=i.sessions.find(o=>o.id===Y.value);ot.value=Y.value,tt.value=s?.workspace||"",kt.value=!0}else if(a==="model")await Uo(Y.value);else if(a==="rename"){const s=i.sessions.find(o=>o.id===Y.value);y.value=Y.value,m.value=s?.title||"",ce.value=!0,Re(()=>{M.value?.focus()})}}}function Ro(){wt.value=!1}async function ms(){if(!(!y.value||!m.value.trim())){if(await ui(y.value,m.value.trim())){const a=i.sessions.find(s=>s.id===y.value);a&&(a.title=m.value.trim()),i.activeSession?.id===y.value&&(i.activeSession.title=m.value.trim()),f.success(n("chat.renamed"))}else f.error(n("chat.renameFailed"));ce.value=!1}}const kt=h(!1),tt=h(""),ot=h(null);async function Eo(){if(ot.value){if(await ci(ot.value,tt.value||null)){const a=i.sessions.find(s=>s.id===ot.value);a&&(a.workspace=tt.value||null),i.activeSession?.id===ot.value&&(i.activeSession.workspace=tt.value||null),f.success(n("chat.workspaceSet"))}else f.error(n("chat.workspaceSetFailed"));kt.value=!1}}const St=h(!1),bt=h(null),it=h(""),Ct=h({}),xt=h(""),rt=h(""),Mt=h(""),$t=h(""),_s=S(()=>i.sessions.find(a=>a.id===bt.value)?.profile||null),ss=S(()=>_s.value?dt(_s.value):[]),Vo=S(()=>ss.value.map(a=>({label:a.label,value:a.provider}))),gs=S(()=>ss.value.map(a=>({...a,models:[...a.models,...(r.customModels[a.provider]||[]).filter(s=>!a.models.includes(s))]}))),ys=S(()=>{const a=it.value.trim().toLowerCase();return a?gs.value.map(s=>({...s,models:s.models.filter(o=>{const U=r.displayModelName(o,s.provider);return o.toLowerCase().includes(a)||U.toLowerCase().includes(a)})})).filter(s=>s.models.length>0||s.label.toLowerCase().includes(a)):gs.value});async function Uo(a){r.modelGroups.length===0&&r.profileModelGroups.length===0&&await r.loadModels();const s=i.sessions.find(U=>U.id===a),o=s?.profile?at(s.profile):{provider:"",model:""};bt.value=a,xt.value=s?.model||o.model||"",rt.value=s?.provider||o.provider||"",$t.value=rt.value,it.value="",Mt.value="",Ct.value={},St.value=!0}function ws(a){return!!Ct.value[a]}function Oo(a){Ct.value[a]=!Ct.value[a]}function No(a,s){return(r.customModels[s]||[]).includes(a)}function zo(a,s){return r.displayModelName(a,s)}function qo(a,s){return r.getModelAlias(a,s)}async function ks(a,s){ss.value.find(o=>o.provider===s)?.model_meta?.[a]?.disabled||!bt.value||(await i.switchSessionModel(a,s,bt.value)?(xt.value=a,rt.value=s,St.value=!1,f.success(n("chat.modelSet"))):f.error(n("chat.modelSetFailed")))}async function Go(){const a=Mt.value.trim(),s=$t.value;!a||!s||await ks(a,s)}return(a,s)=>(u(),d("div",Rn,[E.value==="chat"?(u(),d("div",{key:0,class:J(["session-backdrop",{active:K.value}]),onClick:s[0]||(s[0]=o=>K.value=!1)},null,2)):w("",!0),E.value==="chat"?(u(),d("aside",{key:1,class:J(["session-list",{collapsed:!K.value}])},[e("div",En,[K.value?(u(),d("span",Vn,v(t(n)("chat.webUiSessions")),1)):w("",!0),e("div",Un,[e("button",{class:"session-close-btn",onClick:s[1]||(s[1]=o=>K.value=!1)},[...s[32]||(s[32]=[e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),e("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])]),F.value?w("",!0):(u(),Q(t(H),{key:0,quaternary:"",size:"tiny",onClick:_t,title:t(n)("chat.toggleBatchMode")},{icon:P(()=>[...s[33]||(s[33]=[e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("path",{d:"M9 11l3 3L22 4"}),e("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"])),F.value?(u(),Q(t(H),{key:1,quaternary:"",size:"tiny",onClick:he,disabled:!Fe.value||R.value,title:t(n)("chat.selectAll")},{icon:P(()=>[...s[34]||(s[34]=[e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("path",{d:"M9 11l3 3L22 4"}),e("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"])):w("",!0),F.value&&qe.value>0?(u(),Q(t(ai),{key:2,show:q.value,"onUpdate:show":s[2]||(s[2]=o=>q.value=o),"positive-button-props":{loading:R.value,disabled:R.value},"negative-button-props":{disabled:R.value},onPositiveClick:se},{trigger:P(()=>[b(t(H),{quaternary:"",size:"tiny",type:"error",loading:R.value,disabled:R.value},{icon:P(()=>[...s[35]||(s[35]=[e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("polyline",{points:"3 6 5 6 21 6"}),e("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:P(()=>[j(" "+v(t(n)("chat.confirmBatchDelete",{count:qe.value})),1)]),_:1},8,["show","positive-button-props","negative-button-props"])):w("",!0),F.value?(u(),Q(t(H),{key:3,quaternary:"",size:"tiny",onClick:_t,disabled:R.value},{icon:P(()=>[...s[36]||(s[36]=[e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),e("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])]),_:1},8,["disabled"])):w("",!0),b(t(H),{quaternary:"",size:"tiny",circle:"",onClick:ht},{icon:P(()=>[...s[37]||(s[37]=[e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),e("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1)])]),_:1})])]),K.value?(u(),d("div",On,[b(t(Ge),{value:B.value||"__all__",options:ee.value,size:"small",loading:t(A).loading,"onUpdate:value":Z},null,8,["value","options","loading"])])):w("",!0),K.value?(u(),d("div",Nn,[t(i).isLoadingSessions&&t(i).sessions.length===0?(u(),d("div",zn,v(t(n)("common.loading")),1)):t(i).sessions.length===0?(u(),d("div",qn,v(t(n)("chat.noSessions")),1)):w("",!0),de.value.length>0?(u(),d(X,{key:2},[e("div",Gn,[e("span",Kn,v(t(n)("chat.pinned")),1),e("span",jn,v(de.value.length),1)]),(u(!0),d(X,null,re(de.value,o=>(u(),Q(Ms,{key:`pinned-${o.id}`,session:o,active:o.id===t(i).activeSessionId,pinned:!0,"can-delete":o.id!==t(i).activeSessionId||t(i).sessions.length>1,streaming:t(i).isSessionLive(o.id),selectable:F.value,selected:p(o),"show-profile":!0,to:$(o.id),onSelect:U=>G(o.id),onContextmenu:U=>Te(U,o.id),onDelete:U=>mt(o.id),onToggleSelect:U=>l(o)},null,8,["session","active","can-delete","streaming","selectable","selected","to","onSelect","onContextmenu","onDelete","onToggleSelect"]))),128))],64)):w("",!0),(u(!0),d(X,null,re(le.value,o=>(u(),Q(Ms,{key:o.id,session:o,active:o.id===t(i).activeSessionId,pinned:!1,"can-delete":o.id!==t(i).activeSessionId||t(i).sessions.length>1,streaming:t(i).isSessionLive(o.id),selectable:F.value,selected:p(o),"show-profile":!0,to:$(o.id),onSelect:U=>G(o.id),onContextmenu:U=>Te(U,o.id),onDelete:U=>mt(o.id),onToggleSelect:U=>l(o)},null,8,["session","active","can-delete","streaming","selectable","selected","to","onSelect","onContextmenu","onDelete","onToggleSelect"]))),128))])):w("",!0)],2)):w("",!0),b(t(ti),{placement:"bottom-start",trigger:"manual",x:ps.value,y:fs.value,options:yt.value,show:wt.value,onSelect:Do,onClickoutside:Ro},null,8,["x","y","options","show"]),b(t(Tt),{show:ce.value,"onUpdate:show":s[4]||(s[4]=o=>ce.value=o),preset:"dialog",title:t(n)("chat.renameSession"),"positive-text":t(n)("common.ok"),"negative-text":t(n)("common.cancel"),onPositiveClick:ms},{default:P(()=>[b(t(Ke),{ref_key:"renameInputRef",ref:M,value:m.value,"onUpdate:value":s[3]||(s[3]=o=>m.value=o),placeholder:t(n)("chat.enterNewTitle"),onKeydown:Ss(ms,["enter"])},null,8,["value","placeholder"])]),_:1},8,["show","title","positive-text","negative-text"]),b(t(Tt),{show:kt.value,"onUpdate:show":s[6]||(s[6]=o=>kt.value=o),preset:"dialog",title:t(n)("chat.setWorkspaceTitle"),"positive-text":t(n)("common.ok"),"negative-text":t(n)("common.cancel"),style:{width:"520px"},onPositiveClick:Eo},{default:P(()=>[b(us,{modelValue:tt.value,"onUpdate:modelValue":s[5]||(s[5]=o=>tt.value=o)},null,8,["modelValue"])]),_:1},8,["show","title","positive-text","negative-text"]),b(t(Tt),{show:St.value,"onUpdate:show":s[10]||(s[10]=o=>St.value=o),preset:"card",title:t(n)("chat.setModelTitle"),style:{width:"min(480px, calc(100vw - 32px))"},"mask-closable":!0},{default:P(()=>[b(t(Ke),{value:it.value,"onUpdate:value":s[7]||(s[7]=o=>it.value=o),placeholder:t(n)("models.searchPlaceholder"),clearable:"",size:"small",class:"session-model-search"},null,8,["value","placeholder"]),e("div",Hn,[(u(!0),d(X,null,re(ys.value,o=>(u(),d("div",{key:o.provider,class:"session-model-group"},[e("div",{class:"session-model-group-header",onClick:U=>Oo(o.provider)},[(u(),d("svg",{class:J(["session-model-group-arrow",{collapsed:ws(o.provider)}]),width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[...s[38]||(s[38]=[e("polyline",{points:"6 9 12 15 18 9"},null,-1)])],2)),e("span",Qn,v(o.label),1),e("span",Yn,v(o.models.length),1)],8,Wn),At(e("div",Xn,[(u(!0),d(X,null,re(o.models,U=>(u(),d("div",{key:U,class:J(["session-model-item",{active:U===xt.value&&o.provider===rt.value,disabled:!!o.model_meta?.[U]?.disabled}]),title:o.model_meta?.[U]?.disabled?t(n)("models.disabledTooltip"):"",onClick:ut=>ks(U,o.provider)},[e("span",Zn,[e("span",el,v(zo(U,o.provider)),1),qo(U,o.provider)?(u(),d("span",tl,v(t(n)("models.aliasCanonical",{model:U})),1)):w("",!0)]),o.model_meta?.[U]?.preview?(u(),d("span",sl,v(t(n)("models.previewBadge")),1)):w("",!0),o.model_meta?.[U]?.disabled?(u(),d("span",al,v(t(n)("models.disabledBadge")),1)):w("",!0),No(U,o.provider)?(u(),d("span",nl,v(t(n)("models.customBadge")),1)):w("",!0),U===xt.value&&o.provider===rt.value?(u(),d("svg",ll,[...s[39]||(s[39]=[e("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):w("",!0)],10,Jn))),128))],512),[[rs,!ws(o.provider)]])]))),128)),ys.value.length===0?(u(),d("div",ol,v(it.value?"No results":"No models"),1)):w("",!0),e("div",il,[e("div",rl,[b(t(Ge),{value:$t.value,"onUpdate:value":s[8]||(s[8]=o=>$t.value=o),options:Vo.value,size:"small",class:"session-model-custom-provider"},null,8,["value","options"]),b(t(Ke),{value:Mt.value,"onUpdate:value":s[9]||(s[9]=o=>Mt.value=o),placeholder:t(n)("models.customModelPlaceholder"),size:"small",class:"session-model-custom-input",onKeydown:Ss(Go,["enter"])},null,8,["value","placeholder"])]),e("div",ul,v(t(n)("models.customModelHint")),1)])])]),_:1},8,["show","title"]),b(t(jo),{show:Me.value,"onUpdate:show":s[19]||(s[19]=o=>Me.value=o),class:"new-chat-drawer",placement:"right",width:"min(440px, 100vw)","mask-closable":!0},{default:P(()=>[b(t(Ho),{title:t(n)("chat.newChat"),closable:""},{footer:P(()=>[e("div",Il,[b(t(H),{onClick:s[18]||(s[18]=o=>Me.value=!1)},{default:P(()=>[j(v(t(n)("common.cancel")),1)]),_:1}),b(t(H),{type:"primary",disabled:!jt.value,onClick:Xt},{default:P(()=>[j(v(t(n)("chat.newChat")),1)]),_:1},8,["disabled"])])]),default:P(()=>[e("div",cl,[e("label",dl,[e("span",vl,v(t(n)("chat.agent")),1),b(t(Ge),{value:oe.value,"onUpdate:value":s[11]||(s[11]=o=>oe.value=o),options:Pe.value,disabled:ie.value},null,8,["value","options","disabled"])]),Se.value?(u(),d("label",pl,[e("span",fl,v(t(n)("codingAgents.launchModeScope")),1),b(t(Yo),{value:ve.value,"onUpdate:value":s[12]||(s[12]=o=>ve.value=o),name:"new-chat-coding-agent-mode"},{default:P(()=>[(u(!0),d(X,null,re(Qe.value,o=>(u(),Q(t(si),{key:o.value,value:o.value},{default:P(()=>[j(v(o.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])])):w("",!0),e("label",hl,[e("span",ml,v(t(n)("sidebar.profiles")),1),b(t(Ge),{value:ge.value,options:Ye.value,loading:ie.value||t(A).loading,"onUpdate:value":Qt},null,8,["value","options","loading"])]),Je.value?(u(),d("label",_l,[e("span",gl,v(t(n)("models.provider")),1),b(t(Ge),{value:pe.value,options:Gt.value,disabled:ie.value,"onUpdate:value":Yt},null,8,["value","options","disabled"])])):w("",!0),Je.value?(u(),d("label",yl,[e("span",wl,v(t(n)("models.models")),1),b(t(Ge),{value:ye.value,"onUpdate:value":s[13]||(s[13]=o=>ye.value=o),options:Be.value,disabled:ie.value||!pe.value,filterable:""},null,8,["value","options","disabled"])])):w("",!0),Se.value&&ve.value==="scoped"?(u(),d("label",kl,[e("span",Sl,v(t(n)("codingAgents.protocolScope")),1),b(t(Ge),{value:ke.value,"onUpdate:value":s[14]||(s[14]=o=>ke.value=o),options:We.value,disabled:ie.value},null,8,["value","options","disabled"])])):w("",!0),pt.value?(u(),d("label",bl,[e("span",Cl,v(t(n)("models.baseUrl")),1),b(t(Ke),{value:we.value,"onUpdate:value":s[15]||(s[15]=o=>we.value=o),placeholder:t(n)("models.baseUrlPlaceholder")},null,8,["value","placeholder"])])):w("",!0),ft.value?(u(),d("label",xl,[e("span",Ml,v(t(n)("models.apiKey")),1),b(t(Ke),{value:ue.value,"onUpdate:value":s[16]||(s[16]=o=>ue.value=o),type:"password","show-password-on":"click",placeholder:t(n)("models.apiKeyPlaceholder")},null,8,["value","placeholder"])])):w("",!0),e("div",$l,[e("span",Pl,v(t(n)("chat.workspace")),1),b(us,{modelValue:$e.value,"onUpdate:modelValue":s[17]||(s[17]=o=>$e.value=o)},null,8,["modelValue"])])])]),_:1},8,["title"])]),_:1},8,["show"]),e("div",Tl,[e("header",Al,[e("div",Ll,[E.value==="chat"?(u(),Q(t(H),{key:0,quaternary:"",size:"small",onClick:s[20]||(s[20]=o=>K.value=!K.value),circle:""},{icon:P(()=>[...s[40]||(s[40]=[e("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[e("rect",{x:"3",y:"3",width:"7",height:"7"}),e("rect",{x:"14",y:"3",width:"7",height:"7"}),e("rect",{x:"3",y:"14",width:"7",height:"7"}),e("rect",{x:"14",y:"14",width:"7",height:"7"})],-1)])]),_:1})):w("",!0),e("span",Bl,v(me.value),1),t(i).activeSession?.workspace?(u(),d("span",{key:1,class:"workspace-badge",title:t(i).activeSession.workspace},"📁 "+v(t(i).activeSession.workspace.split("/").pop()||t(i).activeSession.workspace),9,Fl)):w("",!0)]),e("div",Dl,[E.value==="chat"?(u(),d(X,{key:0},[b(t(je),{trigger:"hover"},{trigger:P(()=>[b(t(H),{quaternary:"",size:"small",onClick:s[21]||(s[21]=o=>I.value=!I.value),circle:""},{icon:P(()=>[...s[41]||(s[41]=[e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[e("path",{d:"M3 12h18M3 6h18M3 18h18"})],-1)])]),_:1})]),default:P(()=>[j(" "+v(t(n)("chat.outlineTitle")),1)]),_:1}),b(t(je),{trigger:"hover"},{trigger:P(()=>[b(t(H),{quaternary:"",size:"small",onClick:s[22]||(s[22]=o=>lt()),circle:""},{icon:P(()=>[...s[42]||(s[42]=[e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[e("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),e("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:P(()=>[j(" "+v(t(n)("chat.copySessionId")),1)]),_:1}),b(t(H),{size:"small",circle:g.value,onClick:ht},{icon:P(()=>[...s[43]||(s[43]=[e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),e("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1)])]),default:P(()=>[g.value?w("",!0):(u(),d(X,{key:0},[j(v(t(n)("chat.newChat")),1)],64))]),_:1},8,["circle"])],64)):w("",!0)])]),E.value==="chat"?(u(),d(X,{key:0},[e("div",Rl,[e("div",El,[b($o,{ref_key:"messageListRef",ref:V},null,512)]),I.value?(u(),Q(Di,{key:0,messages:t(i).messages,onNavigate:T},null,8,["messages"])):w("",!0)]),ae.value?(u(),d("div",Vl,[s[44]||(s[44]=e("div",{class:"approval-icon","aria-hidden":"true"},[e("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10"}),e("path",{d:"m9 12 2 2 4-4"})])],-1)),e("div",Ul,[e("div",Ol,[e("div",Nl,v(t(n)("chat.approvalKicker")),1),e("div",zl,v(t(n)("chat.approvalTitle")),1),e("div",ql,v(ae.value.description),1),e("code",Gl,v(ae.value.command),1)]),e("div",Kl,[ae.value.choices.includes("once")?(u(),Q(t(H),{key:0,size:"small",type:"primary",onClick:s[23]||(s[23]=o=>et("once"))},{default:P(()=>[j(v(t(n)("chat.approvalAllowOnce")),1)]),_:1})):w("",!0),ae.value.choices.includes("session")?(u(),Q(t(H),{key:1,size:"small",secondary:"",onClick:s[24]||(s[24]=o=>et("session"))},{default:P(()=>[j(v(t(n)("chat.approvalAllowSession")),1)]),_:1})):w("",!0),ae.value.choices.includes("always")?(u(),Q(t(H),{key:2,size:"small",secondary:"",onClick:s[25]||(s[25]=o=>et("always"))},{default:P(()=>[j(v(t(n)("chat.approvalAlways")),1)]),_:1})):w("",!0),ae.value.choices.includes("deny")?(u(),Q(t(H),{key:3,size:"small",type:"error",secondary:"",onClick:s[26]||(s[26]=o=>et("deny"))},{default:P(()=>[j(v(t(n)("chat.approvalDeny")),1)]),_:1})):w("",!0)])])])):w("",!0),Ue.value?(u(),d("div",jl,[s[45]||(s[45]=Qo('<div class="clarify-icon" aria-hidden="true" data-v-4faba74c><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-4faba74c><circle cx="12" cy="12" r="10" data-v-4faba74c></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" data-v-4faba74c></path><line x1="12" y1="17" x2="12.01" y2="17" data-v-4faba74c></line></svg></div>',1)),e("div",Hl,[e("div",Wl,[e("div",Ql,v(t(n)("chat.clarifyKicker")),1),e("div",Yl,v(t(n)("chat.clarifyTitle")),1),e("div",Xl,v(Ue.value.question),1)]),Ue.value.choices&&Ue.value.choices.length?(u(),d("div",Jl,[(u(!0),d(X,null,re(Ue.value.choices,o=>(u(),Q(t(H),{key:o,size:"small",type:"primary",onClick:U=>He(o)},{default:P(()=>[j(v(o),1)]),_:2},1032,["onClick"]))),128)),b(t(H),{size:"small",type:"error",secondary:"",onClick:s[27]||(s[27]=o=>He(""))},{default:P(()=>[j(v(t(n)("chat.clarifyDismiss")),1)]),_:1})])):(u(),d("div",Zl,[e("div",eo,[b(t(Ke),{value:_e.value,"onUpdate:value":s[28]||(s[28]=o=>_e.value=o),size:"small",placeholder:t(n)("chat.clarifyPlaceholder")},null,8,["value","placeholder"]),b(t(H),{size:"small",type:"primary",onClick:s[29]||(s[29]=o=>He())},{default:P(()=>[j(v(t(n)("chat.clarifySubmit")),1)]),_:1})])]))])])):w("",!0),b(ko)],64)):(u(),Q(bo,{key:1,"human-only":t(c).humanOnly},null,8,["human-only"]))]),e("div",to,[e("div",{class:"drawer-button",onClick:s[30]||(s[30]=o=>L.value=!0)},[...s[46]||(s[46]=[e("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[e("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"}),e("line",{x1:"9",y1:"3",x2:"9",y2:"21"}),e("line",{x1:"15",y1:"3",x2:"15",y2:"21"})],-1)])])]),b(Ao,{show:L.value,"onUpdate:show":s[31]||(s[31]=o=>L.value=o),"active-tab":O.value},null,8,["show","active-tab"])]))}})})),Rr=N((()=>{})),Bo,Er=N((()=>{so(),so(),Rr(),Ce(),Bo=xe(Lo,[["__scopeId","data-v-4faba74c"]])})),ao,It,Fo,no=N((()=>{fe(),io(),Er(),Ut(),Ot(),vs(),pi(),ao={class:"chat-view"},It="Hermes Studio",Fo=be({__name:"ChatView",setup(x){const i=Vt(),r=Nt(),A=ds(),c=ii(),_=li(),f=ro(),n=S(()=>{const I=_.params.sessionId;return typeof I=="string"&&I.trim()?I:null}),L=S(()=>{const I=_.query.profile;return typeof I=="string"&&I.trim()?I:null});te(S(()=>_.name!=="hermes.session"?It:r.activeSession?.title?.trim()||It),I=>{document.title=I},{immediate:!0}),Rt(()=>{document.title=It});async function O(){await r.loadSessions(r.sessionProfileFilter,n.value),n.value&&r.activeSessionId!==n.value&&await f.replace({name:"hermes.chat"})}return Ee(async()=>{i.loadModels(),await Promise.all([A.fetchProfiles(),c.fetchSettings()]),await O()}),te([n,L],async([I])=>{if(r.sessionsLoaded){if(!I){await r.loadSessions(r.sessionProfileFilter);return}if(r.activeSessionId!==I){if(!r.sessions.some(V=>V.id===I)){await O();return}await r.switchSession(I)}}}),(I,V)=>(u(),d("div",ao,[b(Bo)]))}})})),Vr=N((()=>{})),Ur,Or=N((()=>{no(),no(),Vr(),Ce(),Ur=xe(Fo,[["__scopeId","data-v-fb7cebf1"]])}));Or();export{Ur as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as Q}from"./rolldown-runtime-M0oDzQ_3.js";import{$t as E,A as la,Cn as na,Dn as W,It as se,K as sa,M as ie,O as N,Ot as b,Pn as o,Pt as ia,Qn as l,Rt as P,Tn as r,V as oa,Wn as u,Wt as da,an as p,ct as ua,dn as ra,en as ca,er as oe,g as de,in as f,ln as v,mt as J,nn as h,on as m,rn as s,rr as d,t as ga,un as c,ut as va}from"./ui-vendor-dYn1tJGA.js";import{c as fa,l as _a}from"./vue-vendor-DZ4A_GHn.js";import{n as pa,t as ha}from"./_plugin-vue_export-helper-uEMLHKI8.js";import{a as ma,u as ya}from"./system-ClONwY0c.js";import{X as Aa,Y as Ca}from"./index-1yNqMnGv.js";import{a as ba,c as wa,i as xa,l as Fa,n as Sa,o as Pa,r as ka,s as Ma,t as La,u as Ta}from"./TerminalPanel-Bwa-6ai-.js";var ue,re,ce,ge,ve,fe,_e,pe,he,me,ye,Ae,Ce,be,we,xe,Fe,Se,Pe,ke,Me,Le,Te,Be,Ne,Ve,ze,je,Oe=Q((()=>{da(),ga(),fa(),ba(),ya(),Ca(),Sa(),ue={class:"coding-agents-view"},re={class:"page-header"},ce={class:"header-title"},ge={class:"coding-agents-content"},ve={class:"content-description"},fe={class:"agent-blocks"},_e={class:"agent-block-header"},pe=["src"],he={class:"agent-install-state"},me={class:"install-state-main"},ye={class:"install-state-title"},Ae={class:"install-state-value"},Ce={class:"version-text"},be={key:0,class:"install-error-detail"},we={class:"config-file-section"},xe={class:"config-file-title"},Fe={class:"config-file-list"},Se=["onClick"],Pe={class:"inline-config-editor"},ke={class:"config-editor-meta"},Me={class:"config-editor-path"},Le={class:"config-editor-actions"},Te={class:"drawer-header"},Be={class:"drawer-tabs"},Ne={class:"tab-button active",type:"button"},Ve={class:"drawer-content"},ze={class:"drawer-pane"},je=ra({__name:"CodingAgentsView",setup(za){const{t:n}=_a(),g=oa(),Ie=Aa(),k=u(!1),V=u(""),z=u([]),O=u({"claude-code":!1,codex:!1}),w=u({"claude-code":"",codex:""}),x=u({"claude-code":"",codex:""}),j=u({"claude-code":!1,codex:!1}),M=u(!1),H=u(!1),I=u(!1),U=u(!1),D=u("claude-code"),L=u([]),$=u("scoped"),y=u(""),A=u(""),T=u("codex_responses"),G=u(null),F=u(!1),X=u(""),Y=u(0),Ue={"Claude Code":"/coding-agents/claude-code.svg",Codex:"/coding-agents/codex-openai.png"},$e=[{id:"claude-code",tool:"Claude Code",provider:"Anthropic"},{id:"codex",tool:"Codex",provider:"OpenAI"}],B={"claude-code":[{key:"settings",path:"~/.claude/settings.json",language:"json"},{key:"mcp",path:"~/.claude.json",language:"json"},{key:"prompt",path:"~/.claude/CLAUDE.md",language:"markdown"}],codex:[{key:"auth",path:"~/.codex/auth.json",language:"json"},{key:"config",path:"~/.codex/config.toml",language:"ini"},{key:"agents",path:"~/.codex/AGENTS.md",language:"markdown"}]},_=u({"claude-code":{selectedKey:"settings",content:"",originalContent:"",loading:!1,saving:!1},codex:{selectedKey:"config",content:"",originalContent:"",loading:!1,saving:!1}}),Re=h(()=>z.value.reduce((a,t)=>(a[t.id]=t,a),{})),R=h(()=>Ie.activeProfileName||"default"),Ke=h(()=>L.value.map(a=>({label:a.label&&a.label!==a.provider?`${a.label} (${a.provider})`:a.provider,value:a.provider}))),Z=h(()=>L.value.find(a=>a.provider===y.value)||null),Ee=h(()=>Z.value?.models.map(a=>({label:a,value:a}))||[]),He=h(()=>[{label:n("codingAgents.protocolOpenAiChat"),value:"chat_completions"},{label:n("codingAgents.protocolOpenAiResponses"),value:"codex_responses"},{label:n("codingAgents.protocolAnthropicMessages"),value:"anthropic_messages"}]),De=h(()=>[{label:n("codingAgents.launchModeGlobal"),value:"global"},{label:n("codingAgents.launchModeScoped"),value:"scoped"}]),Ge={buttonColorActive:"#111827",buttonTextColorActive:"#fff",buttonBorderColorActive:"#111827",buttonBoxShadow:"inset 0 0 0 1px var(--border-color)",buttonBoxShadowHover:"inset 0 0 0 1px #111827"},S=h(()=>$.value==="global");function C(a){return Re.value[a]}function qe(a){return B[a]}function ee(a){return B[a].find(t=>t.key===_.value[a].selectedKey)||B[a][0]}function We(a){const t=_.value[a];return t.content!==t.originalContent}async function ae(){k.value=!0,V.value="";try{z.value=(await xa()).tools}catch(a){V.value=a?.message||n("codingAgents.loadFailed")}finally{k.value=!1}}async function q(a,t){const e=_.value[a];e.selectedKey=t.key,e.loading=!0;try{const i=await Fa(a,t.key);e.content=i.content,e.originalContent=i.content,e.absolutePath=i.absolutePath,e.exists=i.exists}catch(i){g.error(i?.message||n("codingAgents.configLoadFailed"))}finally{e.loading=!1}}async function Je(a){const t=_.value[a],e=ee(a);if(e){t.saving=!0;try{const i=await Ta(a,e.key,t.content);t.originalContent=i.content,t.absolutePath=i.absolutePath,t.exists=i.exists,g.success(n("files.saved"))}catch(i){g.error(i?.message||n("files.saveFailed"))}finally{t.saving=!1}}}function Qe(){const a=L.value[0];y.value=a?.provider||"",A.value=a?.models[0]||"",T.value=te(a)}function Xe(a){const t=L.value.find(e=>e.provider===a);A.value=t?.models[0]||"",T.value=te(t)}function te(a){const t=String(a?.provider||"").toLowerCase(),e=String(a?.base_url||"").toLowerCase();return t.includes("claude")||t==="anthropic"||e.includes("anthropic")||e.includes("/anthropic")?"anthropic_messages":t==="deepseek"||t==="lmstudio"||e.includes("deepseek")||e.includes("127.0.0.1")||e.includes("localhost")?"chat_completions":"codex_responses"}async function Ye(a){D.value=a,$.value="scoped",M.value=!0,G.value=null,H.value=!0;try{L.value=(await ma(R.value)).groups||[],Qe()}catch(t){g.error(t?.message||n("codingAgents.loadProvidersFailed"))}finally{H.value=!1}}function le(){if(S.value)return{mode:"global",profile:R.value};const a=Z.value;return{mode:"scoped",profile:R.value,provider:y.value,model:A.value,baseUrl:a?.base_url||"",apiKey:a?.api_key||"",apiMode:T.value}}function K(a,t,e="codingAgents.installFailed"){return a==="node_environment_missing"?n("codingAgents.nodeEnvironmentMissing"):t||n(e)}function ne(a){const t=String(a?.message||""),e=t.indexOf("{");if(e<0)return null;try{const i=JSON.parse(t.slice(e));return i&&typeof i=="object"?i:null}catch{return null}}async function Ze(){if(!S.value&&(!y.value||!A.value)){g.error(n("codingAgents.selectProviderModel"));return}I.value=!0;try{G.value=await wa(D.value,le()),X.value=G.value.shellCommand,Y.value+=1,M.value=!1,F.value=!0,g.success(n("codingAgents.launchPrepared"))}catch(a){g.error(a?.message||n("codingAgents.launchPrepareFailed"))}finally{I.value=!1}}async function ea(){if(!S.value&&(!y.value||!A.value)){g.error(n("codingAgents.selectProviderModel"));return}U.value=!0;try{await Ma(D.value,le()),M.value=!1,g.success(n("codingAgents.nativeLaunchStarted"))}catch(a){g.error(a?.message||n("codingAgents.nativeLaunchFailed"))}finally{U.value=!1}}async function aa(a){O.value[a]=!0,w.value[a]="",x.value[a]="";try{const t=await Pa(a);if(z.value=t.tools,t.success)g.success(n("codingAgents.installSuccess")),w.value[a]="",x.value[a]="";else{const e=K(t.code,t.message,"codingAgents.installFailed");g.error(e),w.value[a]=n("codingAgents.installFailedHermesHint"),x.value[a]=e}}catch(t){const e=ne(t),i=K(e?.code,e?.message||t?.message,"codingAgents.installFailed");g.error(i),w.value[a]=n("codingAgents.installFailedHermesHint"),x.value[a]=i}finally{O.value[a]=!1}}async function ta(a){j.value[a]=!0;try{const t=await ka(a);z.value=t.tools,t.success?g.success(n("codingAgents.deleteSuccess")):g.error(K(t.code,t.message,"codingAgents.deleteFailed"))}catch(t){const e=ne(t);g.error(K(e?.code,e?.message||t?.message,"codingAgents.deleteFailed"))}finally{j.value[a]=!1}}return na(()=>{ae(),q("claude-code",B["claude-code"][0]),q("codex",B.codex[1])}),(a,t)=>(r(),m("div",ue,[s("header",re,[s("h2",ce,d(l(n)("codingAgents.title")),1),c(l(b),{size:"small",quaternary:"",loading:k.value,onClick:ae},{default:o(()=>[v(d(l(n)("codingAgents.refresh")),1)]),_:1},8,["loading"])]),s("div",ge,[V.value?(r(),f(l(se),{key:0,type:"error",class:"status-alert"},{default:o(()=>[v(d(V.value),1)]),_:1})):p("",!0),s("p",ve,d(l(n)("codingAgents.notice")),1),s("div",fe,[(r(),m(E,null,W($e,e=>s("section",{key:e.tool,class:"agent-block"},[s("header",_e,[s("img",{class:"agent-logo",src:Ue[e.tool],alt:""},null,8,pe),s("div",null,[s("h3",null,d(e.tool),1),c(l(P),{class:"provider-tag",size:"small"},{default:o(()=>[v(d(e.provider),1)]),_:2},1024)])]),s("div",he,[s("div",me,[s("div",ye,d(l(n)("codingAgents.installStatus")),1),s("div",Ae,[k.value&&!C(e.id)?(r(),f(l(P),{key:0,size:"small"},{default:o(()=>[v(d(l(n)("codingAgents.checking")),1)]),_:1})):C(e.id)?.installed?(r(),m(E,{key:1},[c(l(P),{size:"small",type:"success"},{default:o(()=>[v(d(l(n)("codingAgents.installed")),1)]),_:1}),s("span",Ce,d(C(e.id)?.version||C(e.id)?.rawVersion),1)],64)):(r(),f(l(P),{key:2,size:"small",type:"warning"},{default:o(()=>[v(d(l(n)("codingAgents.notInstalled")),1)]),_:1}))])]),C(e.id)?.installed?(r(),f(l(b),{key:0,size:"small",type:"error",secondary:"",loading:j.value[e.id],onClick:i=>ta(e.id)},{default:o(()=>[v(d(j.value[e.id]?l(n)("codingAgents.deleting"):l(n)("codingAgents.deleteNow")),1)]),_:2},1032,["loading","onClick"])):(r(),f(l(b),{key:1,size:"small",type:"primary",secondary:"",loading:O.value[e.id],disabled:k.value&&!C(e.id),onClick:i=>aa(e.id)},{default:o(()=>[v(d(O.value[e.id]?l(n)("codingAgents.installing"):l(n)("codingAgents.installNow")),1)]),_:2},1032,["loading","disabled","onClick"]))]),w.value[e.id]?(r(),f(l(se),{key:0,class:"install-helper-alert",type:"warning",bordered:!1},{default:o(()=>[s("div",null,d(w.value[e.id]),1),x.value[e.id]?(r(),m("div",be,d(l(n)("codingAgents.installFailureReason"))+": "+d(x.value[e.id]),1)):p("",!0)]),_:2},1024)):p("",!0),s("div",we,[s("div",xe,d(l(n)("codingAgents.configFiles")),1),s("div",Fe,[(r(!0),m(E,null,W(qe(e.id),i=>(r(),m("button",{key:i.key,class:oe(["config-file-cell",{active:_.value[e.id].selectedKey===i.key}]),type:"button",onClick:Oa=>q(e.id,i)},d(i.path),11,Se))),128))])]),s("div",Pe,[s("div",ke,[s("span",Me,d(ee(e.id)?.path),1),_.value[e.id].exists===!1?(r(),f(l(P),{key:0,size:"small",type:"warning"},{default:o(()=>[v(d(l(n)("codingAgents.configFileNotCreated")),1)]),_:1})):p("",!0)]),c(l(de),{show:_.value[e.id].loading},{default:o(()=>[c(l(ia),{value:_.value[e.id].content,"onUpdate:value":i=>_.value[e.id].content=i,type:"textarea",class:"config-textarea",disabled:_.value[e.id].loading},null,8,["value","onUpdate:value","disabled"])]),_:2},1032,["show"]),s("div",Le,[c(l(ie),{justify:"end"},{default:o(()=>[c(l(b),{size:"small",type:"primary",loading:_.value[e.id].saving,disabled:_.value[e.id].loading||!We(e.id),onClick:i=>Je(e.id)},{default:o(()=>[v(d(l(n)("files.saveFile")),1)]),_:1},8,["loading","disabled","onClick"]),c(l(b),{size:"small",type:"primary",disabled:!C(e.id)?.installed,onClick:i=>Ye(e.id)},{default:o(()=>[v(d(l(n)("codingAgents.launch")),1)]),_:1},8,["disabled","onClick"])]),_:2},1024)])])])),64))])]),c(l(sa),{show:M.value,"onUpdate:show":t[4]||(t[4]=e=>M.value=e),preset:"card",class:"launch-modal",style:{width:"620px",maxWidth:"calc(100vw - 32px)"},title:l(n)("codingAgents.launchTitle"),bordered:!1},{footer:o(()=>[c(l(ie),{justify:"end"},{default:o(()=>[c(l(b),{secondary:"",loading:I.value,disabled:U.value,onClick:Ze},{default:o(()=>[v(d(l(n)("codingAgents.builtInTerminal")),1)]),_:1},8,["loading","disabled"]),c(l(b),{type:"primary",loading:U.value,disabled:I.value,onClick:ea},{default:o(()=>[v(d(l(n)("codingAgents.nativeTerminal")),1)]),_:1},8,["loading","disabled"])]),_:1})]),default:o(()=>[c(l(de),{show:H.value},{default:o(()=>[c(l(la),{"label-placement":"top"},{default:o(()=>[c(l(N),{label:l(n)("codingAgents.profileScope")},{default:o(()=>[c(l(P),{size:"small"},{default:o(()=>[v(d(R.value),1)]),_:1})]),_:1},8,["label"]),c(l(N),{label:l(n)("codingAgents.launchModeScope")},{default:o(()=>[c(l(ua),{value:$.value,"onUpdate:value":t[0]||(t[0]=e=>$.value=e),name:"coding-agent-launch-mode","theme-overrides":Ge},{default:o(()=>[(r(!0),m(E,null,W(De.value,e=>(r(),f(l(va),{key:e.value,value:e.value},{default:o(()=>[v(d(e.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),S.value?p("",!0):(r(),f(l(N),{key:0,label:l(n)("codingAgents.providerScope")},{default:o(()=>[c(l(J),{value:y.value,"onUpdate:value":[t[1]||(t[1]=e=>y.value=e),Xe],options:Ke.value,placeholder:l(n)("codingAgents.providerPlaceholder"),filterable:""},null,8,["value","options","placeholder"])]),_:1},8,["label"])),S.value?p("",!0):(r(),f(l(N),{key:1,label:l(n)("codingAgents.modelScope")},{default:o(()=>[c(l(J),{value:A.value,"onUpdate:value":t[2]||(t[2]=e=>A.value=e),options:Ee.value,placeholder:l(n)("codingAgents.modelPlaceholder"),filterable:""},null,8,["value","options","placeholder"])]),_:1},8,["label"])),S.value?p("",!0):(r(),f(l(N),{key:2,label:l(n)("codingAgents.protocolScope")},{default:o(()=>[c(l(J),{value:T.value,"onUpdate:value":t[3]||(t[3]=e=>T.value=e),options:He.value},null,8,["value","options"])]),_:1},8,["label"]))]),_:1})]),_:1},8,["show"])]),_:1},8,["show","title"]),(r(),f(ca,{to:"body"},[F.value?(r(),m("div",{key:0,class:"drawer-overlay",onClick:t[5]||(t[5]=e=>F.value=!1)})):p("",!0),s("div",{class:oe(["drawer-panel",{show:F.value}])},[s("div",Te,[s("div",Be,[s("button",Ne,d(l(n)("codingAgents.terminalTitle")),1)]),s("button",{class:"close-button",type:"button",onClick:t[6]||(t[6]=e=>F.value=!1)},[...t[7]||(t[7]=[s("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[s("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),s("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])]),s("div",Ve,[s("div",ze,[(r(),f(La,{key:Y.value,visible:F.value,"initial-command":X.value},null,8,["visible","initial-command"]))])])],2)]))]))}})})),Ba=Q((()=>{})),Na,Va=Q((()=>{Oe(),Oe(),Ba(),pa(),Na=ha(je,[["__scopeId","data-v-8e0f0029"]])}));Va();export{Na as default};
|
|
1
|
+
import{n as Q}from"./rolldown-runtime-M0oDzQ_3.js";import{$t as E,A as la,Cn as na,Dn as W,It as se,K as sa,M as ie,O as N,Ot as b,Pn as o,Pt as ia,Qn as l,Rt as P,Tn as r,V as oa,Wn as u,Wt as da,an as p,ct as ua,dn as ra,en as ca,er as oe,g as de,in as f,ln as v,mt as J,nn as h,on as m,rn as s,rr as d,t as ga,un as c,ut as va}from"./ui-vendor-dYn1tJGA.js";import{c as fa,l as _a}from"./vue-vendor-DZ4A_GHn.js";import{n as pa,t as ha}from"./_plugin-vue_export-helper-CwNymSRn.js";import{a as ma,u as ya}from"./system-DaAaRr9k.js";import{X as Aa,Y as Ca}from"./index-DW8M4rjb.js";import{a as ba,c as wa,i as xa,l as Fa,n as Sa,o as Pa,r as ka,s as Ma,t as La,u as Ta}from"./TerminalPanel-DhnPxJTG.js";var ue,re,ce,ge,ve,fe,_e,pe,he,me,ye,Ae,Ce,be,we,xe,Fe,Se,Pe,ke,Me,Le,Te,Be,Ne,Ve,ze,je,Oe=Q((()=>{da(),ga(),fa(),ba(),ya(),Ca(),Sa(),ue={class:"coding-agents-view"},re={class:"page-header"},ce={class:"header-title"},ge={class:"coding-agents-content"},ve={class:"content-description"},fe={class:"agent-blocks"},_e={class:"agent-block-header"},pe=["src"],he={class:"agent-install-state"},me={class:"install-state-main"},ye={class:"install-state-title"},Ae={class:"install-state-value"},Ce={class:"version-text"},be={key:0,class:"install-error-detail"},we={class:"config-file-section"},xe={class:"config-file-title"},Fe={class:"config-file-list"},Se=["onClick"],Pe={class:"inline-config-editor"},ke={class:"config-editor-meta"},Me={class:"config-editor-path"},Le={class:"config-editor-actions"},Te={class:"drawer-header"},Be={class:"drawer-tabs"},Ne={class:"tab-button active",type:"button"},Ve={class:"drawer-content"},ze={class:"drawer-pane"},je=ra({__name:"CodingAgentsView",setup(za){const{t:n}=_a(),g=oa(),Ie=Aa(),k=u(!1),V=u(""),z=u([]),O=u({"claude-code":!1,codex:!1}),w=u({"claude-code":"",codex:""}),x=u({"claude-code":"",codex:""}),j=u({"claude-code":!1,codex:!1}),M=u(!1),H=u(!1),I=u(!1),U=u(!1),D=u("claude-code"),L=u([]),$=u("scoped"),y=u(""),A=u(""),T=u("codex_responses"),G=u(null),F=u(!1),X=u(""),Y=u(0),Ue={"Claude Code":"/coding-agents/claude-code.svg",Codex:"/coding-agents/codex-openai.png"},$e=[{id:"claude-code",tool:"Claude Code",provider:"Anthropic"},{id:"codex",tool:"Codex",provider:"OpenAI"}],B={"claude-code":[{key:"settings",path:"~/.claude/settings.json",language:"json"},{key:"mcp",path:"~/.claude.json",language:"json"},{key:"prompt",path:"~/.claude/CLAUDE.md",language:"markdown"}],codex:[{key:"auth",path:"~/.codex/auth.json",language:"json"},{key:"config",path:"~/.codex/config.toml",language:"ini"},{key:"agents",path:"~/.codex/AGENTS.md",language:"markdown"}]},_=u({"claude-code":{selectedKey:"settings",content:"",originalContent:"",loading:!1,saving:!1},codex:{selectedKey:"config",content:"",originalContent:"",loading:!1,saving:!1}}),Re=h(()=>z.value.reduce((a,t)=>(a[t.id]=t,a),{})),R=h(()=>Ie.activeProfileName||"default"),Ke=h(()=>L.value.map(a=>({label:a.label&&a.label!==a.provider?`${a.label} (${a.provider})`:a.provider,value:a.provider}))),Z=h(()=>L.value.find(a=>a.provider===y.value)||null),Ee=h(()=>Z.value?.models.map(a=>({label:a,value:a}))||[]),He=h(()=>[{label:n("codingAgents.protocolOpenAiChat"),value:"chat_completions"},{label:n("codingAgents.protocolOpenAiResponses"),value:"codex_responses"},{label:n("codingAgents.protocolAnthropicMessages"),value:"anthropic_messages"}]),De=h(()=>[{label:n("codingAgents.launchModeGlobal"),value:"global"},{label:n("codingAgents.launchModeScoped"),value:"scoped"}]),Ge={buttonColorActive:"#111827",buttonTextColorActive:"#fff",buttonBorderColorActive:"#111827",buttonBoxShadow:"inset 0 0 0 1px var(--border-color)",buttonBoxShadowHover:"inset 0 0 0 1px #111827"},S=h(()=>$.value==="global");function C(a){return Re.value[a]}function qe(a){return B[a]}function ee(a){return B[a].find(t=>t.key===_.value[a].selectedKey)||B[a][0]}function We(a){const t=_.value[a];return t.content!==t.originalContent}async function ae(){k.value=!0,V.value="";try{z.value=(await xa()).tools}catch(a){V.value=a?.message||n("codingAgents.loadFailed")}finally{k.value=!1}}async function q(a,t){const e=_.value[a];e.selectedKey=t.key,e.loading=!0;try{const i=await Fa(a,t.key);e.content=i.content,e.originalContent=i.content,e.absolutePath=i.absolutePath,e.exists=i.exists}catch(i){g.error(i?.message||n("codingAgents.configLoadFailed"))}finally{e.loading=!1}}async function Je(a){const t=_.value[a],e=ee(a);if(e){t.saving=!0;try{const i=await Ta(a,e.key,t.content);t.originalContent=i.content,t.absolutePath=i.absolutePath,t.exists=i.exists,g.success(n("files.saved"))}catch(i){g.error(i?.message||n("files.saveFailed"))}finally{t.saving=!1}}}function Qe(){const a=L.value[0];y.value=a?.provider||"",A.value=a?.models[0]||"",T.value=te(a)}function Xe(a){const t=L.value.find(e=>e.provider===a);A.value=t?.models[0]||"",T.value=te(t)}function te(a){const t=String(a?.provider||"").toLowerCase(),e=String(a?.base_url||"").toLowerCase();return t.includes("claude")||t==="anthropic"||e.includes("anthropic")||e.includes("/anthropic")?"anthropic_messages":t==="deepseek"||t==="lmstudio"||e.includes("deepseek")||e.includes("127.0.0.1")||e.includes("localhost")?"chat_completions":"codex_responses"}async function Ye(a){D.value=a,$.value="scoped",M.value=!0,G.value=null,H.value=!0;try{L.value=(await ma(R.value)).groups||[],Qe()}catch(t){g.error(t?.message||n("codingAgents.loadProvidersFailed"))}finally{H.value=!1}}function le(){if(S.value)return{mode:"global",profile:R.value};const a=Z.value;return{mode:"scoped",profile:R.value,provider:y.value,model:A.value,baseUrl:a?.base_url||"",apiKey:a?.api_key||"",apiMode:T.value}}function K(a,t,e="codingAgents.installFailed"){return a==="node_environment_missing"?n("codingAgents.nodeEnvironmentMissing"):t||n(e)}function ne(a){const t=String(a?.message||""),e=t.indexOf("{");if(e<0)return null;try{const i=JSON.parse(t.slice(e));return i&&typeof i=="object"?i:null}catch{return null}}async function Ze(){if(!S.value&&(!y.value||!A.value)){g.error(n("codingAgents.selectProviderModel"));return}I.value=!0;try{G.value=await wa(D.value,le()),X.value=G.value.shellCommand,Y.value+=1,M.value=!1,F.value=!0,g.success(n("codingAgents.launchPrepared"))}catch(a){g.error(a?.message||n("codingAgents.launchPrepareFailed"))}finally{I.value=!1}}async function ea(){if(!S.value&&(!y.value||!A.value)){g.error(n("codingAgents.selectProviderModel"));return}U.value=!0;try{await Ma(D.value,le()),M.value=!1,g.success(n("codingAgents.nativeLaunchStarted"))}catch(a){g.error(a?.message||n("codingAgents.nativeLaunchFailed"))}finally{U.value=!1}}async function aa(a){O.value[a]=!0,w.value[a]="",x.value[a]="";try{const t=await Pa(a);if(z.value=t.tools,t.success)g.success(n("codingAgents.installSuccess")),w.value[a]="",x.value[a]="";else{const e=K(t.code,t.message,"codingAgents.installFailed");g.error(e),w.value[a]=n("codingAgents.installFailedHermesHint"),x.value[a]=e}}catch(t){const e=ne(t),i=K(e?.code,e?.message||t?.message,"codingAgents.installFailed");g.error(i),w.value[a]=n("codingAgents.installFailedHermesHint"),x.value[a]=i}finally{O.value[a]=!1}}async function ta(a){j.value[a]=!0;try{const t=await ka(a);z.value=t.tools,t.success?g.success(n("codingAgents.deleteSuccess")):g.error(K(t.code,t.message,"codingAgents.deleteFailed"))}catch(t){const e=ne(t);g.error(K(e?.code,e?.message||t?.message,"codingAgents.deleteFailed"))}finally{j.value[a]=!1}}return na(()=>{ae(),q("claude-code",B["claude-code"][0]),q("codex",B.codex[1])}),(a,t)=>(r(),m("div",ue,[s("header",re,[s("h2",ce,d(l(n)("codingAgents.title")),1),c(l(b),{size:"small",quaternary:"",loading:k.value,onClick:ae},{default:o(()=>[v(d(l(n)("codingAgents.refresh")),1)]),_:1},8,["loading"])]),s("div",ge,[V.value?(r(),f(l(se),{key:0,type:"error",class:"status-alert"},{default:o(()=>[v(d(V.value),1)]),_:1})):p("",!0),s("p",ve,d(l(n)("codingAgents.notice")),1),s("div",fe,[(r(),m(E,null,W($e,e=>s("section",{key:e.tool,class:"agent-block"},[s("header",_e,[s("img",{class:"agent-logo",src:Ue[e.tool],alt:""},null,8,pe),s("div",null,[s("h3",null,d(e.tool),1),c(l(P),{class:"provider-tag",size:"small"},{default:o(()=>[v(d(e.provider),1)]),_:2},1024)])]),s("div",he,[s("div",me,[s("div",ye,d(l(n)("codingAgents.installStatus")),1),s("div",Ae,[k.value&&!C(e.id)?(r(),f(l(P),{key:0,size:"small"},{default:o(()=>[v(d(l(n)("codingAgents.checking")),1)]),_:1})):C(e.id)?.installed?(r(),m(E,{key:1},[c(l(P),{size:"small",type:"success"},{default:o(()=>[v(d(l(n)("codingAgents.installed")),1)]),_:1}),s("span",Ce,d(C(e.id)?.version||C(e.id)?.rawVersion),1)],64)):(r(),f(l(P),{key:2,size:"small",type:"warning"},{default:o(()=>[v(d(l(n)("codingAgents.notInstalled")),1)]),_:1}))])]),C(e.id)?.installed?(r(),f(l(b),{key:0,size:"small",type:"error",secondary:"",loading:j.value[e.id],onClick:i=>ta(e.id)},{default:o(()=>[v(d(j.value[e.id]?l(n)("codingAgents.deleting"):l(n)("codingAgents.deleteNow")),1)]),_:2},1032,["loading","onClick"])):(r(),f(l(b),{key:1,size:"small",type:"primary",secondary:"",loading:O.value[e.id],disabled:k.value&&!C(e.id),onClick:i=>aa(e.id)},{default:o(()=>[v(d(O.value[e.id]?l(n)("codingAgents.installing"):l(n)("codingAgents.installNow")),1)]),_:2},1032,["loading","disabled","onClick"]))]),w.value[e.id]?(r(),f(l(se),{key:0,class:"install-helper-alert",type:"warning",bordered:!1},{default:o(()=>[s("div",null,d(w.value[e.id]),1),x.value[e.id]?(r(),m("div",be,d(l(n)("codingAgents.installFailureReason"))+": "+d(x.value[e.id]),1)):p("",!0)]),_:2},1024)):p("",!0),s("div",we,[s("div",xe,d(l(n)("codingAgents.configFiles")),1),s("div",Fe,[(r(!0),m(E,null,W(qe(e.id),i=>(r(),m("button",{key:i.key,class:oe(["config-file-cell",{active:_.value[e.id].selectedKey===i.key}]),type:"button",onClick:Oa=>q(e.id,i)},d(i.path),11,Se))),128))])]),s("div",Pe,[s("div",ke,[s("span",Me,d(ee(e.id)?.path),1),_.value[e.id].exists===!1?(r(),f(l(P),{key:0,size:"small",type:"warning"},{default:o(()=>[v(d(l(n)("codingAgents.configFileNotCreated")),1)]),_:1})):p("",!0)]),c(l(de),{show:_.value[e.id].loading},{default:o(()=>[c(l(ia),{value:_.value[e.id].content,"onUpdate:value":i=>_.value[e.id].content=i,type:"textarea",class:"config-textarea",disabled:_.value[e.id].loading},null,8,["value","onUpdate:value","disabled"])]),_:2},1032,["show"]),s("div",Le,[c(l(ie),{justify:"end"},{default:o(()=>[c(l(b),{size:"small",type:"primary",loading:_.value[e.id].saving,disabled:_.value[e.id].loading||!We(e.id),onClick:i=>Je(e.id)},{default:o(()=>[v(d(l(n)("files.saveFile")),1)]),_:1},8,["loading","disabled","onClick"]),c(l(b),{size:"small",type:"primary",disabled:!C(e.id)?.installed,onClick:i=>Ye(e.id)},{default:o(()=>[v(d(l(n)("codingAgents.launch")),1)]),_:1},8,["disabled","onClick"])]),_:2},1024)])])])),64))])]),c(l(sa),{show:M.value,"onUpdate:show":t[4]||(t[4]=e=>M.value=e),preset:"card",class:"launch-modal",style:{width:"620px",maxWidth:"calc(100vw - 32px)"},title:l(n)("codingAgents.launchTitle"),bordered:!1},{footer:o(()=>[c(l(ie),{justify:"end"},{default:o(()=>[c(l(b),{secondary:"",loading:I.value,disabled:U.value,onClick:Ze},{default:o(()=>[v(d(l(n)("codingAgents.builtInTerminal")),1)]),_:1},8,["loading","disabled"]),c(l(b),{type:"primary",loading:U.value,disabled:I.value,onClick:ea},{default:o(()=>[v(d(l(n)("codingAgents.nativeTerminal")),1)]),_:1},8,["loading","disabled"])]),_:1})]),default:o(()=>[c(l(de),{show:H.value},{default:o(()=>[c(l(la),{"label-placement":"top"},{default:o(()=>[c(l(N),{label:l(n)("codingAgents.profileScope")},{default:o(()=>[c(l(P),{size:"small"},{default:o(()=>[v(d(R.value),1)]),_:1})]),_:1},8,["label"]),c(l(N),{label:l(n)("codingAgents.launchModeScope")},{default:o(()=>[c(l(ua),{value:$.value,"onUpdate:value":t[0]||(t[0]=e=>$.value=e),name:"coding-agent-launch-mode","theme-overrides":Ge},{default:o(()=>[(r(!0),m(E,null,W(De.value,e=>(r(),f(l(va),{key:e.value,value:e.value},{default:o(()=>[v(d(e.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),S.value?p("",!0):(r(),f(l(N),{key:0,label:l(n)("codingAgents.providerScope")},{default:o(()=>[c(l(J),{value:y.value,"onUpdate:value":[t[1]||(t[1]=e=>y.value=e),Xe],options:Ke.value,placeholder:l(n)("codingAgents.providerPlaceholder"),filterable:""},null,8,["value","options","placeholder"])]),_:1},8,["label"])),S.value?p("",!0):(r(),f(l(N),{key:1,label:l(n)("codingAgents.modelScope")},{default:o(()=>[c(l(J),{value:A.value,"onUpdate:value":t[2]||(t[2]=e=>A.value=e),options:Ee.value,placeholder:l(n)("codingAgents.modelPlaceholder"),filterable:""},null,8,["value","options","placeholder"])]),_:1},8,["label"])),S.value?p("",!0):(r(),f(l(N),{key:2,label:l(n)("codingAgents.protocolScope")},{default:o(()=>[c(l(J),{value:T.value,"onUpdate:value":t[3]||(t[3]=e=>T.value=e),options:He.value},null,8,["value","options"])]),_:1},8,["label"]))]),_:1})]),_:1},8,["show"])]),_:1},8,["show","title"]),(r(),f(ca,{to:"body"},[F.value?(r(),m("div",{key:0,class:"drawer-overlay",onClick:t[5]||(t[5]=e=>F.value=!1)})):p("",!0),s("div",{class:oe(["drawer-panel",{show:F.value}])},[s("div",Te,[s("div",Be,[s("button",Ne,d(l(n)("codingAgents.terminalTitle")),1)]),s("button",{class:"close-button",type:"button",onClick:t[6]||(t[6]=e=>F.value=!1)},[...t[7]||(t[7]=[s("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[s("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),s("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])]),s("div",Ve,[s("div",ze,[(r(),f(La,{key:Y.value,visible:F.value,"initial-command":X.value},null,8,["visible","initial-command"]))])])],2)]))]))}})})),Ba=Q((()=>{})),Na,Va=Q((()=>{Oe(),Oe(),Ba(),pa(),Na=ha(je,[["__scopeId","data-v-8e0f0029"]])}));Va();export{Na as default};
|