hermes-web-ui 0.4.5 → 0.4.6
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/README.md +11 -0
- package/dist/client/assets/{Add-DnSsGBZy.js → Add-D7GrQ-Em.js} +1 -1
- package/dist/client/assets/{Button-6kn5x8wB.js → Button-XML6qzjK.js} +1 -1
- package/dist/client/assets/{ChannelsView-BQaQ41b8.js → ChannelsView-B8rre6Vi.js} +1 -1
- package/dist/client/assets/{ChatView-Crbl3WuM.js → ChatView-CVcqUhM9.js} +1 -1
- package/dist/client/assets/{Close--rdg4fyH.js → Close-CVswUl20.js} +1 -1
- package/dist/client/assets/{Dropdown-C3W_MZAx.js → Dropdown-PWEJ7U74.js} +1 -1
- package/dist/client/assets/{Empty-CO5atRZx.js → Empty-D2AE_ZlK.js} +1 -1
- package/dist/client/assets/{FilesView-D_IAXsWt.js → FilesView-CYbVjetd.js} +1 -1
- package/dist/client/assets/{FormItem-cCAlzrYv.js → FormItem-DryuDiWg.js} +1 -1
- package/dist/client/assets/{GatewaysView-B7jVPJm1.js → GatewaysView-BM8MVoUJ.js} +1 -1
- package/dist/client/assets/{GroupChatView-CMYjNyhW.js → GroupChatView-mALkeZI8.js} +1 -1
- package/dist/client/assets/{Input-DOn-NDi-.js → Input-DWLw7VSO.js} +1 -1
- package/dist/client/assets/{InputNumber-CEwvr7we.js → InputNumber-DWU7lpWO.js} +1 -1
- package/dist/client/assets/{JobsView-BVkx_mtz.js → JobsView-DPcCqfeg.js} +2 -2
- package/dist/client/assets/{LoginView-DOqEhm1e.js → LoginView-Didr-64F.js} +1 -1
- package/dist/client/assets/{LogsView-CckftzzR.js → LogsView-BPL2WKzs.js} +1 -1
- package/dist/client/assets/{MarkdownRenderer-WDZUw_r0.js → MarkdownRenderer-Dzf2i2R9.js} +1 -1
- package/dist/client/assets/{MemoryView-9IrcgpHt.js → MemoryView-B5zb27Cz.js} +1 -1
- package/dist/client/assets/{Modal-Ct66o3O5.js → Modal-CcDwIOab.js} +1 -1
- package/dist/client/assets/{ModelsView-blUeTbrG.js → ModelsView-DCWQ4JAD.js} +1 -1
- package/dist/client/assets/{Popconfirm-DNWpYtil.js → Popconfirm-zfNVjMed.js} +1 -1
- package/dist/client/assets/{Popover-upoiJRFk.js → Popover-Df4h1K87.js} +1 -1
- package/dist/client/assets/{ProfilesView-CUkMLIWp.js → ProfilesView-DtJPNWxS.js} +1 -1
- package/dist/client/assets/{Select-C96PU4NS.js → Select-CN-VEjPp.js} +1 -1
- package/dist/client/assets/{SettingRow-DLje7tBG.js → SettingRow-Cm8BWHc8.js} +1 -1
- package/dist/client/assets/{SettingsView-C6M8z2mR.js → SettingsView-Dx7VgzgQ.js} +1 -1
- package/dist/client/assets/{SkillsView-wqPd5oak.js → SkillsView-Cqqjs5MV.js} +1 -1
- package/dist/client/assets/{Space-XC9pMFNY.js → Space-C979miZ6.js} +1 -1
- package/dist/client/assets/{Spin-CNWMVtvF.js → Spin-DicuilvT.js} +1 -1
- package/dist/client/assets/{Suffix-BMy3yeNM.js → Suffix-D03EcSpG.js} +1 -1
- package/dist/client/assets/{Switch-BIgwRax1.js → Switch-_uewFg1w.js} +1 -1
- package/dist/client/assets/{Tag-DNHVnryL.js → Tag-DdDsBGRV.js} +1 -1
- package/dist/client/assets/{TerminalView-D-ypEEEb.js → TerminalView-C1kOE48Y.js} +1 -1
- package/dist/client/assets/{Tooltip-MYN2D0HZ.js → Tooltip-CB3bMMbn.js} +1 -1
- package/dist/client/assets/{Upload-CyjCHVmT.js → Upload-BRboVHlo.js} +1 -1
- package/dist/client/assets/{UsageView-Nuq5z2DT.js → UsageView-C1gY07x9.js} +1 -1
- package/dist/client/assets/{Warning-cHbjPxlH.js → Warning-Dme2hdHB.js} +1 -1
- package/dist/client/assets/{_plugin-vue_export-helper-BA1W5EEO.js → _plugin-vue_export-helper-9xP-z52L.js} +1 -1
- package/dist/client/assets/app-Bye4afa9.js +1 -0
- package/dist/client/assets/app-DpVwxn5E.js +1 -0
- package/dist/client/assets/{auth-DKa161qW.js → auth-BE7p-Kmu.js} +1 -1
- package/dist/client/assets/{browser-BIv3pBug.js → browser-CRTDc_Be.js} +1 -1
- package/dist/client/assets/{chat-COI--6cJ.js → chat-CIiy7Gwo.js} +2 -2
- package/dist/client/assets/composables-BjmZducA.js +1 -0
- package/dist/client/assets/{fade-in-height-expand.cssr-CJZoRQPB.js → fade-in-height-expand.cssr-Di-q1YGm.js} +1 -1
- package/dist/client/assets/{fade-in.cssr-BvBFOzvO.js → fade-in.cssr-ZKfQkQl9.js} +1 -1
- package/dist/client/assets/{index-BBxmX-_2.js → index-D61jARAv.js} +1 -1
- package/dist/client/assets/jobs-D-9ea8_u.js +1 -0
- package/dist/client/assets/{jobs-kBilk6_x.js → jobs-DhMMkH9o.js} +1 -1
- package/dist/client/assets/{light-D4vpAk8k.js → light--dc4fdXI.js} +1 -1
- package/dist/client/assets/{light-C4XaZN5a.js → light-BOJpHLZr.js} +1 -1
- package/dist/client/assets/{light-DCznx22W.js → light-C3LBcWfs.js} +1 -1
- package/dist/client/assets/{light-OgGmbeuv.js → light-D-8ypucm.js} +1 -1
- package/dist/client/assets/{light-C2mxSkxV.js → light-DS_k1uOd.js} +1 -1
- package/dist/client/assets/{light-CNs4B0mO.js → light-DbAu3UYZ.js} +1 -1
- package/dist/client/assets/{light-vSRhMiQi.js → light-Dewn_gGV.js} +1 -1
- package/dist/client/assets/{light-DalFWniD.js → light-PgWU0EWW.js} +1 -1
- package/dist/client/assets/{models-C0y2ql6-.js → models-B2A46pRJ.js} +1 -1
- package/dist/client/assets/{pinia-DRC0gpqt.js → pinia-UrA63qkH.js} +1 -1
- package/dist/client/assets/{profiles-COfldPiC.js → profiles-Dk45I0q1.js} +1 -1
- package/dist/client/assets/{router-BDvjwA-_.js → router-Deam6ffd.js} +2 -2
- package/dist/client/assets/{session-browser-prefs-LlrIrhBd.js → session-browser-prefs-Wo3XFysm.js} +1 -1
- package/dist/client/assets/{sessions-BUqqfXt4.js → sessions-BDXdWl17.js} +1 -1
- package/dist/client/assets/{skills-hi1CfGAH.js → skills-dEDjBsEe.js} +1 -1
- package/dist/client/assets/{use-message-x3IR-EsB.js → use-message-sJtQsIMH.js} +1 -1
- package/dist/client/assets/{useTheme-DSy5LWpW.js → useTheme-BH5wkcEo.js} +1 -1
- package/dist/client/index.html +32 -32
- package/dist/server/index.js +2 -2
- package/package.json +1 -1
- package/dist/client/assets/app-CQp0_YLA.js +0 -1
- package/dist/client/assets/app-Cu9UcSB8.js +0 -1
- package/dist/client/assets/composables-DNiaqO4T.js +0 -1
- package/dist/client/assets/jobs-hrnPO3Z3.js +0 -1
package/README.md
CHANGED
|
@@ -108,6 +108,17 @@ Unified configuration for **8 platforms** in one page:
|
|
|
108
108
|
- Create directories
|
|
109
109
|
- View file content with syntax highlighting
|
|
110
110
|
|
|
111
|
+
### Group Chat
|
|
112
|
+
|
|
113
|
+
- Multi-agent chat rooms with real-time messaging via Socket.IO
|
|
114
|
+
- @mention routing — mention an agent to trigger a contextual reply
|
|
115
|
+
- Context compression — automatic conversation summarization when history exceeds token threshold
|
|
116
|
+
- Typing status and reply progress indicators
|
|
117
|
+
- Room creation, deletion, and invite code management
|
|
118
|
+
- Agent management — add/remove agents from rooms with per-agent profiles
|
|
119
|
+
- SQLite message persistence
|
|
120
|
+
- Mobile responsive with collapsible sidebar
|
|
121
|
+
|
|
111
122
|
### Skills & Memory
|
|
112
123
|
|
|
113
124
|
- Browse and search installed skills
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as e,M as t}from"./router-
|
|
1
|
+
import{A as e,M as t}from"./router-Deam6ffd.js";var n=e({name:`Add`,render(){return t(`svg`,{width:`512`,height:`512`,viewBox:`0 0 512 512`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},t(`path`,{d:`M256 112V400M400 256H112`,stroke:`currentColor`,"stroke-width":`32`,"stroke-linecap":`round`,"stroke-linejoin":`round`}))}});export{n as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{A as e,B as t,L as n,M as r,P as i,S as a,d as o,st as s,u as c,ut as l}from"./router-
|
|
1
|
+
import{A as e,B as t,L as n,M as r,P as i,S as a,d as o,st as s,u as c,ut as l}from"./router-Deam6ffd.js";import{$ as u,B as d,J as f,K as p,R as m,U as h,a as g,c as _,ct as v,d as y,dt as b,et as x,ft as S,it as C,l as w,lt as T,mt as E,n as D,nt as O,o as k,pt as A,r as j,rt as M,t as N,u as P,z as F}from"./browser-CRTDc_Be.js";function I(e){return e.replace(/#|\(|\)|,|\s|\./g,`_`)}var L=e({name:`FadeInExpandTransition`,props:{appear:Boolean,group:Boolean,mode:String,onLeave:Function,onAfterLeave:Function,onAfterEnter:Function,width:Boolean,reverse:Boolean},setup(e,{slots:t}){function n(t){e.width?t.style.maxWidth=`${t.offsetWidth}px`:t.style.maxHeight=`${t.offsetHeight}px`,t.offsetWidth}function i(t){e.width?t.style.maxWidth=`0`:t.style.maxHeight=`0`,t.offsetWidth;let{onLeave:n}=e;n&&n()}function a(t){e.width?t.style.maxWidth=``:t.style.maxHeight=``;let{onAfterLeave:n}=e;n&&n()}function s(t){if(t.style.transition=`none`,e.width){let e=t.offsetWidth;t.style.maxWidth=`0`,t.offsetWidth,t.style.transition=``,t.style.maxWidth=`${e}px`}else if(e.reverse)t.style.maxHeight=`${t.offsetHeight}px`,t.offsetHeight,t.style.transition=``,t.style.maxHeight=`0`;else{let e=t.offsetHeight;t.style.maxHeight=`0`,t.offsetWidth,t.style.transition=``,t.style.maxHeight=`${e}px`}t.offsetWidth}function l(t){var n;e.width?t.style.maxWidth=``:e.reverse||(t.style.maxHeight=``),(n=e.onAfterEnter)==null||n.call(e)}return()=>{let{group:u,width:d,appear:f,mode:p}=e,m=u?o:c,h={name:d?`fade-in-width-expand-transition`:`fade-in-height-expand-transition`,appear:f,onEnter:s,onAfterEnter:l,onBeforeLeave:n,onLeave:i,onAfterLeave:a};return u||(h.mode=p),r(m,h,t)}}}),{cubicBezierEaseInOut:R}=P;function z({duration:e=`.2s`,delay:t=`.1s`}={}){return[v(`&.fade-in-width-expand-transition-leave-from, &.fade-in-width-expand-transition-enter-to`,{opacity:1}),v(`&.fade-in-width-expand-transition-leave-to, &.fade-in-width-expand-transition-enter-from`,`
|
|
2
2
|
opacity: 0!important;
|
|
3
3
|
margin-left: 0!important;
|
|
4
4
|
margin-right: 0!important;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as e,C as t,E as n,H as r,J as i,K as a,O as o,S as s,T as c,U as l,W as u,Z as d,at as f,ft as p,ht as m,k as h,pt as g,q as _,st as v,v as y,w as b}from"./router-BDvjwA-_.js";import{r as x,t as S}from"./_plugin-vue_export-helper-BA1W5EEO.js";import{t as C}from"./Button-6kn5x8wB.js";import{t as w}from"./Input-DOn-NDi-.js";import{t as T}from"./Tag-DNHVnryL.js";import{t as E}from"./use-message-x3IR-EsB.js";import{t as D}from"./Spin-CNWMVtvF.js";import{t as O}from"./Switch-BIgwRax1.js";import{a as k,i as A,n as j,o as M,r as N,t as P}from"./SettingRow-DLje7tBG.js";var F={class:`platform-info`},I=[`innerHTML`],L={class:`platform-name`},R={key:0,class:`platform-card-body`},z=S(e({__name:`PlatformCard`,props:{name:{},icon:{},config:{},credentials:{}},setup(e){let r=e,i=v(!0),{t:a}=x(),l=s(()=>{let e=r.credentials;if(!e)return!1;let t=[`token`,`api_key`,`app_id`,`client_id`,`secret`,`app_secret`,`client_secret`,`access_token`,`bot_id`,`account_id`,`enabled`];return[e,e.extra].filter(Boolean).some(e=>t.some(t=>{let n=e[t];return n!=null&&n!==``&&n!==!1}))});return(r,s)=>(u(),n(`div`,{class:g([`platform-card`,{configured:l.value}])},[t(`div`,{class:`platform-card-header`,onClick:s[0]||=e=>i.value=!i.value},[t(`div`,F,[t(`span`,{class:`platform-icon`,innerHTML:e.icon},null,8,I),t(`span`,L,m(e.name),1),h(p(T),{type:l.value?`success`:`default`,size:`small`,round:``},{default:d(()=>[o(m(l.value?p(a)(`common.configured`):p(a)(`common.notConfigured`)),1)]),_:1},8,[`type`])]),t(`span`,{class:g([`expand-icon`,{expanded:i.value}])},`▾`,2)]),i.value?(u(),n(`div`,R,[_(r.$slots,`default`,{},void 0,!0)])):c(``,!0)],2))}}),[[`__scopeId`,`data-v-cee18614`]]),B={class:`settings-section`},V={class:`weixin-qr-section`},H={key:1,class:`weixin-qr-loading`},U={key:2,class:`weixin-qr-hint`},W=S(e({__name:`PlatformSettings`,setup(e){let r=j(),s=E(),{t:g}=x(),_=f({});function S(e,t){return`${e}.${t}`}function T(e,t){return!!_[S(e,t)]}async function D(e,t,n){let r=S(e,t);_[r]=!0;try{await n(),s.success(g(`settings.saved`))}catch{s.error(g(`settings.saveFailed`))}finally{_[r]=!1}}async function F(e,t,n){D(e,t,()=>r.saveSection(e,n))}async function I(e,t,n){D(e,t,async()=>{await k(e,n),await r.fetchSettings()})}function L(e){return r.platforms[e]||{}}let R=v(``),W=v(``),G=v(`idle`),K=null;async function q(){G.value=`loading`,R.value=``,W.value=``,Y();try{let e=await N();W.value=e.qrcode,R.value=e.qrcode_url,window.open(e.qrcode_url,`_blank`),G.value=`waiting`,J()}catch(e){G.value=`error`,s.error(e.message||g(`platform.qrFetching`))}}function J(){W.value&&(K=setTimeout(async()=>{try{let e=await A(W.value);e.status===`wait`?J():e.status===`scaned`?(G.value=`scaned`,J()):e.status===`expired`?G.value=`expired`:e.status===`confirmed`&&(G.value=`confirmed`,await M({account_id:e.account_id,token:e.token,base_url:e.base_url}),await r.fetchSettings(),s.success(g(`settings.saved`)))}catch{J()}},3e3))}function Y(){K&&=(clearTimeout(K),null)}l(()=>{Y()});let X=[{key:`telegram`,name:`Telegram`,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`,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`,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`,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`,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:`weixin`,name:`Weixin`,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(e,s)=>{let l=i(`NSpin`);return u(),n(`section`,B,[(u(),n(y,null,a(X,e=>h(z,{key:e.key,name:e.name,icon:e.icon,config:p(r)[e.key],credentials:L(e.key)},{default:d(()=>[e.key===`telegram`?(u(),n(y,{key:0},[h(P,{label:p(g)(`platform.botToken`),hint:p(g)(`platform.botTokenHint`)},{default:d(()=>[h(p(w),{"default-value":L(`telegram`).token||``,loading:T(`telegram`,`token`),clearable:``,size:`small`,class:`input-lg`,placeholder:`123456:ABC-DEF...`,onChange:s[0]||=e=>I(`telegram`,`token`,{token:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.requireMention`),hint:p(g)(`platform.requireMentionGroup`)},{default:d(()=>[h(p(O),{value:p(r).telegram.require_mention,loading:T(`telegram`,`require_mention`),"onUpdate:value":s[1]||=e=>F(`telegram`,`require_mention`,{require_mention:e})},null,8,[`value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.reactions`),hint:p(g)(`platform.reactionsHint`)},{default:d(()=>[h(p(O),{value:p(r).telegram.reactions,loading:T(`telegram`,`reactions`),"onUpdate:value":s[2]||=e=>F(`telegram`,`reactions`,{reactions:e})},null,8,[`value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.freeResponseChats`),hint:p(g)(`platform.freeResponseChatsHint`)},{default:d(()=>[h(p(w),{"default-value":p(r).telegram.free_response_chats||``,loading:T(`telegram`,`free_response_chats`),size:`small`,placeholder:`chat_id1,chat_id2`,onChange:s[3]||=e=>F(`telegram`,`free_response_chats`,{free_response_chats:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.mentionPatterns`),hint:p(g)(`platform.mentionPatternsHint`)},{default:d(()=>[h(p(w),{"default-value":(p(r).telegram.mention_patterns||[]).join(`, `),loading:T(`telegram`,`mention_patterns`),size:`small`,placeholder:`pattern1, pattern2`,onChange:s[4]||=e=>F(`telegram`,`mention_patterns`,{mention_patterns:e?e.split(`,`).map(e=>e.trim()):[]})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`])],64)):c(``,!0),e.key===`discord`?(u(),n(y,{key:1},[h(P,{label:p(g)(`platform.botToken`),hint:p(g)(`platform.botTokenHint`)},{default:d(()=>[h(p(w),{"default-value":L(`discord`).token||``,loading:T(`discord`,`token`),clearable:``,size:`small`,class:`input-lg`,placeholder:`Bot token...`,onChange:s[5]||=e=>I(`discord`,`token`,{token:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.requireMention`),hint:p(g)(`platform.requireMentionChannel`)},{default:d(()=>[h(p(O),{value:p(r).discord.require_mention,loading:T(`discord`,`require_mention`),"onUpdate:value":s[6]||=e=>F(`discord`,`require_mention`,{require_mention:e})},null,8,[`value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.autoThread`),hint:p(g)(`platform.autoThreadHint`)},{default:d(()=>[h(p(O),{value:p(r).discord.auto_thread,loading:T(`discord`,`auto_thread`),"onUpdate:value":s[7]||=e=>F(`discord`,`auto_thread`,{auto_thread:e})},null,8,[`value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.reactions`),hint:p(g)(`platform.reactionsHint`)},{default:d(()=>[h(p(O),{value:p(r).discord.reactions,loading:T(`discord`,`reactions`),"onUpdate:value":s[8]||=e=>F(`discord`,`reactions`,{reactions:e})},null,8,[`value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.freeResponseChannels`),hint:p(g)(`platform.freeResponseChannelsHint`)},{default:d(()=>[h(p(w),{"default-value":p(r).discord.free_response_channels||``,loading:T(`discord`,`free_response_channels`),size:`small`,placeholder:`channel_id1,channel_id2`,onChange:s[9]||=e=>F(`discord`,`free_response_channels`,{free_response_channels:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.allowedChannels`),hint:p(g)(`platform.allowedChannelsHint`)},{default:d(()=>[h(p(w),{"default-value":p(r).discord.allowed_channels||``,loading:T(`discord`,`allowed_channels`),size:`small`,placeholder:`channel_id1,channel_id2`,onChange:s[10]||=e=>F(`discord`,`allowed_channels`,{allowed_channels:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.ignoredChannels`),hint:p(g)(`platform.ignoredChannelsHint`)},{default:d(()=>[h(p(w),{"default-value":p(r).discord.ignored_channels||``,loading:T(`discord`,`ignored_channels`),size:`small`,placeholder:`channel_id1,channel_id2`,onChange:s[11]||=e=>F(`discord`,`ignored_channels`,{ignored_channels:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.noThreadChannels`),hint:p(g)(`platform.noThreadChannelsHint`)},{default:d(()=>[h(p(w),{"default-value":p(r).discord.no_thread_channels||``,loading:T(`discord`,`no_thread_channels`),size:`small`,placeholder:`channel_id1,channel_id2`,onChange:s[12]||=e=>F(`discord`,`no_thread_channels`,{no_thread_channels:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`])],64)):c(``,!0),e.key===`slack`?(u(),n(y,{key:2},[h(P,{label:p(g)(`platform.botToken`),hint:p(g)(`platform.botTokenHint`)},{default:d(()=>[h(p(w),{"default-value":L(`slack`).token||``,loading:T(`slack`,`token`),clearable:``,size:`small`,class:`input-lg`,placeholder:`xoxb-...`,onChange:s[13]||=e=>I(`slack`,`token`,{token:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.requireMention`),hint:p(g)(`platform.requireMentionChannel`)},{default:d(()=>[h(p(O),{value:p(r).slack.require_mention,loading:T(`slack`,`require_mention`),"onUpdate:value":s[14]||=e=>F(`slack`,`require_mention`,{require_mention:e})},null,8,[`value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.allowBots`),hint:p(g)(`platform.allowBotsHint`)},{default:d(()=>[h(p(O),{value:p(r).slack.allow_bots,loading:T(`slack`,`allow_bots`),"onUpdate:value":s[15]||=e=>F(`slack`,`allow_bots`,{allow_bots:e})},null,8,[`value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.freeResponseChannels`),hint:p(g)(`platform.freeResponseChannelsHint`)},{default:d(()=>[h(p(w),{"default-value":p(r).slack.free_response_channels||``,loading:T(`slack`,`free_response_channels`),size:`small`,placeholder:`channel_id1,channel_id2`,onChange:s[16]||=e=>F(`slack`,`free_response_channels`,{free_response_channels:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`])],64)):c(``,!0),e.key===`whatsapp`?(u(),n(y,{key:3},[h(P,{label:p(g)(`platform.waEnabled`),hint:p(g)(`platform.waEnabledHint`)},{default:d(()=>[h(p(O),{value:L(`whatsapp`).enabled,loading:T(`whatsapp`,`enabled`),"onUpdate:value":s[17]||=e=>I(`whatsapp`,`enabled`,{enabled:e})},null,8,[`value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.requireMention`),hint:p(g)(`platform.requireMentionGroup`)},{default:d(()=>[h(p(O),{value:p(r).whatsapp.require_mention,loading:T(`whatsapp`,`require_mention`),"onUpdate:value":s[18]||=e=>F(`whatsapp`,`require_mention`,{require_mention:e})},null,8,[`value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.freeResponseChats`),hint:p(g)(`platform.freeResponseChatsHint`)},{default:d(()=>[h(p(w),{"default-value":p(r).whatsapp.free_response_chats||``,loading:T(`whatsapp`,`free_response_chats`),size:`small`,placeholder:`chat_id1,chat_id2`,onChange:s[19]||=e=>F(`whatsapp`,`free_response_chats`,{free_response_chats:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.mentionPatterns`),hint:p(g)(`platform.mentionPatternsHint`)},{default:d(()=>[h(p(w),{"default-value":(p(r).whatsapp.mention_patterns||[]).join(`, `),loading:T(`whatsapp`,`mention_patterns`),size:`small`,placeholder:`pattern1, pattern2`,onChange:s[20]||=e=>F(`whatsapp`,`mention_patterns`,{mention_patterns:e?e.split(`,`).map(e=>e.trim()):[]})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`])],64)):c(``,!0),e.key===`matrix`?(u(),n(y,{key:4},[h(P,{label:p(g)(`platform.accessToken`),hint:p(g)(`platform.accessTokenHint`)},{default:d(()=>[h(p(w),{"default-value":L(`matrix`).token||``,loading:T(`matrix`,`token`),clearable:``,size:`small`,class:`input-lg`,placeholder:`syt_...`,onChange:s[21]||=e=>I(`matrix`,`token`,{token:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.homeserver`),hint:p(g)(`platform.homeserverHint`)},{default:d(()=>[h(p(w),{"default-value":L(`matrix`).extra?.homeserver||``,loading:T(`matrix`,`homeserver`),clearable:``,size:`small`,class:`input-lg`,placeholder:`https://matrix.org`,onChange:s[22]||=e=>I(`matrix`,`homeserver`,{extra:{...L(`matrix`).extra,homeserver:e}})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.requireMention`),hint:p(g)(`platform.requireMentionRoom`)},{default:d(()=>[h(p(O),{value:p(r).matrix.require_mention,loading:T(`matrix`,`require_mention`),"onUpdate:value":s[23]||=e=>F(`matrix`,`require_mention`,{require_mention:e})},null,8,[`value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.autoThread`),hint:p(g)(`platform.autoThreadHintRoom`)},{default:d(()=>[h(p(O),{value:p(r).matrix.auto_thread,loading:T(`matrix`,`auto_thread`),"onUpdate:value":s[24]||=e=>F(`matrix`,`auto_thread`,{auto_thread:e})},null,8,[`value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.dmMentionThreads`),hint:p(g)(`platform.dmMentionThreadsHint`)},{default:d(()=>[h(p(O),{value:p(r).matrix.dm_mention_threads,loading:T(`matrix`,`dm_mention_threads`),"onUpdate:value":s[25]||=e=>F(`matrix`,`dm_mention_threads`,{dm_mention_threads:e})},null,8,[`value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.freeResponseRooms`),hint:p(g)(`platform.freeResponseRoomsHint`)},{default:d(()=>[h(p(w),{"default-value":p(r).matrix.free_response_rooms||``,loading:T(`matrix`,`free_response_rooms`),size:`small`,placeholder:`room_id1,room_id2`,onChange:s[26]||=e=>F(`matrix`,`free_response_rooms`,{free_response_rooms:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`])],64)):c(``,!0),e.key===`feishu`?(u(),n(y,{key:5},[h(P,{label:p(g)(`platform.appId`),hint:p(g)(`platform.appIdHint`)},{default:d(()=>[h(p(w),{"default-value":L(`feishu`).extra?.app_id||``,loading:T(`feishu`,`app_id`),clearable:``,size:`small`,class:`input-lg`,placeholder:`cli_...`,onChange:s[27]||=e=>I(`feishu`,`app_id`,{extra:{...L(`feishu`).extra,app_id:e}})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.appSecret`),hint:p(g)(`platform.appSecretHint`)},{default:d(()=>[h(p(w),{"default-value":L(`feishu`).extra?.app_secret||``,loading:T(`feishu`,`app_secret`),clearable:``,size:`small`,class:`input-lg`,placeholder:`App Secret`,onChange:s[28]||=e=>I(`feishu`,`app_secret`,{extra:{...L(`feishu`).extra,app_secret:e}})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.requireMention`),hint:p(g)(`platform.requireMentionGroup`)},{default:d(()=>[h(p(O),{value:p(r).feishu.require_mention,loading:T(`feishu`,`require_mention`),"onUpdate:value":s[29]||=e=>F(`feishu`,`require_mention`,{require_mention:e})},null,8,[`value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.freeResponseChats`),hint:p(g)(`platform.freeResponseChatsHint`)},{default:d(()=>[h(p(w),{"default-value":p(r).feishu.free_response_chats||``,loading:T(`feishu`,`free_response_chats`),size:`small`,placeholder:`chat_id1,chat_id2`,onChange:s[30]||=e=>F(`feishu`,`free_response_chats`,{free_response_chats:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`])],64)):c(``,!0),e.key===`dingtalk`?(u(),n(y,{key:6},[h(P,{label:p(g)(`platform.clientId`),hint:p(g)(`platform.clientIdHint`)},{default:d(()=>[h(p(w),{"default-value":L(`dingtalk`).extra?.client_id||``,loading:T(`dingtalk`,`client_id`),clearable:``,size:`small`,class:`input-lg`,placeholder:`Client ID`,onChange:s[31]||=e=>I(`dingtalk`,`client_id`,{extra:{...L(`dingtalk`).extra,client_id:e}})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.clientSecret`),hint:p(g)(`platform.clientSecretHint`)},{default:d(()=>[h(p(w),{"default-value":L(`dingtalk`).extra?.client_secret||``,loading:T(`dingtalk`,`client_secret`),clearable:``,size:`small`,class:`input-lg`,placeholder:`Client Secret`,onChange:s[32]||=e=>I(`dingtalk`,`client_secret`,{extra:{...L(`dingtalk`).extra,client_secret:e}})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.requireMention`),hint:p(g)(`platform.requireMentionGroup`)},{default:d(()=>[h(p(O),{value:p(r).dingtalk.require_mention,loading:T(`dingtalk`,`require_mention`),"onUpdate:value":s[33]||=e=>F(`dingtalk`,`require_mention`,{require_mention:e})},null,8,[`value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.freeResponseChats`),hint:p(g)(`platform.freeResponseChatsHint`)},{default:d(()=>[h(p(w),{"default-value":p(r).dingtalk.free_response_chats||``,loading:T(`dingtalk`,`free_response_chats`),size:`small`,placeholder:`chat_id1,chat_id2`,onChange:s[34]||=e=>F(`dingtalk`,`free_response_chats`,{free_response_chats:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`])],64)):c(``,!0),e.key===`weixin`?(u(),n(y,{key:7},[t(`div`,V,[G.value===`idle`||G.value===`error`||G.value===`expired`||G.value===`confirmed`?(u(),b(p(C),{key:0,type:`primary`,size:`small`,onClick:q},{default:d(()=>[o(m(G.value===`confirmed`?p(g)(`platform.qrRelogin`):p(g)(`platform.qrLogin`)),1)]),_:1})):c(``,!0),G.value===`loading`?(u(),n(`div`,H,[h(l,{size:`small`}),t(`span`,null,m(p(g)(`platform.qrFetching`)),1)])):c(``,!0),G.value===`waiting`||G.value===`scaned`?(u(),n(`div`,U,m(G.value===`scaned`?p(g)(`platform.qrScanedHint`):p(g)(`platform.qrScanHint`)),1)):c(``,!0)]),h(P,{label:p(g)(`platform.weixinToken`),hint:p(g)(`platform.weixinTokenHint`)},{default:d(()=>[h(p(w),{"default-value":L(`weixin`).token||``,loading:T(`weixin`,`token`),clearable:``,size:`small`,class:`input-lg`,placeholder:`Token`,onChange:s[35]||=e=>I(`weixin`,`token`,{token:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.accountId`),hint:p(g)(`platform.accountIdHint`)},{default:d(()=>[h(p(w),{"default-value":L(`weixin`).extra?.account_id||``,loading:T(`weixin`,`account_id`),clearable:``,size:`small`,class:`input-lg`,placeholder:`Account ID`,onChange:s[36]||=e=>I(`weixin`,`account_id`,{extra:{...L(`weixin`).extra,account_id:e}})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`])],64)):c(``,!0),e.key===`wecom`?(u(),n(y,{key:8},[h(P,{label:p(g)(`platform.botId`),hint:p(g)(`platform.botIdHint`)},{default:d(()=>[h(p(w),{"default-value":L(`wecom`).extra?.bot_id||``,loading:T(`wecom`,`bot_id`),clearable:``,size:`small`,class:`input-lg`,placeholder:`Bot ID`,onChange:s[37]||=e=>I(`wecom`,`bot_id`,{extra:{...L(`wecom`).extra,bot_id:e}})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.appSecret`),hint:p(g)(`platform.wecomSecretHint`)},{default:d(()=>[h(p(w),{"default-value":L(`wecom`).extra?.secret||``,loading:T(`wecom`,`secret`),clearable:``,size:`small`,class:`input-lg`,placeholder:`Secret`,onChange:s[38]||=e=>I(`wecom`,`secret`,{extra:{...L(`wecom`).extra,secret:e}})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`])],64)):c(``,!0)]),_:2},1032,[`name`,`icon`,`config`,`credentials`])),64))])}}}),[[`__scopeId`,`data-v-c7999829`]]),G={class:`channels-view`},K={class:`page-header`},q={class:`header-title`},J={class:`channels-content`},Y=S(e({__name:`ChannelsView`,setup(e){let i=j(),{t:a}=x();return r(()=>{i.fetchSettings()}),(e,r)=>(u(),n(`div`,G,[t(`header`,K,[t(`h2`,q,m(p(a)(`sidebar.channels`)),1)]),t(`div`,J,[h(p(D),{show:p(i).loading||p(i).saving,size:`large`,description:p(a)(`common.loading`)},{default:d(()=>[p(i).loading?c(``,!0):(u(),b(W,{key:0}))]),_:1},8,[`show`,`description`])])]))}}),[[`__scopeId`,`data-v-e25dbf6c`]]);export{Y as default};
|
|
1
|
+
import{A as e,C as t,E as n,H as r,J as i,K as a,O as o,S as s,T as c,U as l,W as u,Z as d,at as f,ft as p,ht as m,k as h,pt as g,q as _,st as v,v as y,w as b}from"./router-Deam6ffd.js";import{r as x,t as S}from"./_plugin-vue_export-helper-9xP-z52L.js";import{t as C}from"./Button-XML6qzjK.js";import{t as w}from"./Input-DWLw7VSO.js";import{t as T}from"./Tag-DdDsBGRV.js";import{t as E}from"./use-message-sJtQsIMH.js";import{t as D}from"./Spin-DicuilvT.js";import{t as O}from"./Switch-_uewFg1w.js";import{a as k,i as A,n as j,o as M,r as N,t as P}from"./SettingRow-Cm8BWHc8.js";var F={class:`platform-info`},I=[`innerHTML`],L={class:`platform-name`},R={key:0,class:`platform-card-body`},z=S(e({__name:`PlatformCard`,props:{name:{},icon:{},config:{},credentials:{}},setup(e){let r=e,i=v(!0),{t:a}=x(),l=s(()=>{let e=r.credentials;if(!e)return!1;let t=[`token`,`api_key`,`app_id`,`client_id`,`secret`,`app_secret`,`client_secret`,`access_token`,`bot_id`,`account_id`,`enabled`];return[e,e.extra].filter(Boolean).some(e=>t.some(t=>{let n=e[t];return n!=null&&n!==``&&n!==!1}))});return(r,s)=>(u(),n(`div`,{class:g([`platform-card`,{configured:l.value}])},[t(`div`,{class:`platform-card-header`,onClick:s[0]||=e=>i.value=!i.value},[t(`div`,F,[t(`span`,{class:`platform-icon`,innerHTML:e.icon},null,8,I),t(`span`,L,m(e.name),1),h(p(T),{type:l.value?`success`:`default`,size:`small`,round:``},{default:d(()=>[o(m(l.value?p(a)(`common.configured`):p(a)(`common.notConfigured`)),1)]),_:1},8,[`type`])]),t(`span`,{class:g([`expand-icon`,{expanded:i.value}])},`▾`,2)]),i.value?(u(),n(`div`,R,[_(r.$slots,`default`,{},void 0,!0)])):c(``,!0)],2))}}),[[`__scopeId`,`data-v-cee18614`]]),B={class:`settings-section`},V={class:`weixin-qr-section`},H={key:1,class:`weixin-qr-loading`},U={key:2,class:`weixin-qr-hint`},W=S(e({__name:`PlatformSettings`,setup(e){let r=j(),s=E(),{t:g}=x(),_=f({});function S(e,t){return`${e}.${t}`}function T(e,t){return!!_[S(e,t)]}async function D(e,t,n){let r=S(e,t);_[r]=!0;try{await n(),s.success(g(`settings.saved`))}catch{s.error(g(`settings.saveFailed`))}finally{_[r]=!1}}async function F(e,t,n){D(e,t,()=>r.saveSection(e,n))}async function I(e,t,n){D(e,t,async()=>{await k(e,n),await r.fetchSettings()})}function L(e){return r.platforms[e]||{}}let R=v(``),W=v(``),G=v(`idle`),K=null;async function q(){G.value=`loading`,R.value=``,W.value=``,Y();try{let e=await N();W.value=e.qrcode,R.value=e.qrcode_url,window.open(e.qrcode_url,`_blank`),G.value=`waiting`,J()}catch(e){G.value=`error`,s.error(e.message||g(`platform.qrFetching`))}}function J(){W.value&&(K=setTimeout(async()=>{try{let e=await A(W.value);e.status===`wait`?J():e.status===`scaned`?(G.value=`scaned`,J()):e.status===`expired`?G.value=`expired`:e.status===`confirmed`&&(G.value=`confirmed`,await M({account_id:e.account_id,token:e.token,base_url:e.base_url}),await r.fetchSettings(),s.success(g(`settings.saved`)))}catch{J()}},3e3))}function Y(){K&&=(clearTimeout(K),null)}l(()=>{Y()});let X=[{key:`telegram`,name:`Telegram`,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`,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`,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`,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`,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:`weixin`,name:`Weixin`,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(e,s)=>{let l=i(`NSpin`);return u(),n(`section`,B,[(u(),n(y,null,a(X,e=>h(z,{key:e.key,name:e.name,icon:e.icon,config:p(r)[e.key],credentials:L(e.key)},{default:d(()=>[e.key===`telegram`?(u(),n(y,{key:0},[h(P,{label:p(g)(`platform.botToken`),hint:p(g)(`platform.botTokenHint`)},{default:d(()=>[h(p(w),{"default-value":L(`telegram`).token||``,loading:T(`telegram`,`token`),clearable:``,size:`small`,class:`input-lg`,placeholder:`123456:ABC-DEF...`,onChange:s[0]||=e=>I(`telegram`,`token`,{token:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.requireMention`),hint:p(g)(`platform.requireMentionGroup`)},{default:d(()=>[h(p(O),{value:p(r).telegram.require_mention,loading:T(`telegram`,`require_mention`),"onUpdate:value":s[1]||=e=>F(`telegram`,`require_mention`,{require_mention:e})},null,8,[`value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.reactions`),hint:p(g)(`platform.reactionsHint`)},{default:d(()=>[h(p(O),{value:p(r).telegram.reactions,loading:T(`telegram`,`reactions`),"onUpdate:value":s[2]||=e=>F(`telegram`,`reactions`,{reactions:e})},null,8,[`value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.freeResponseChats`),hint:p(g)(`platform.freeResponseChatsHint`)},{default:d(()=>[h(p(w),{"default-value":p(r).telegram.free_response_chats||``,loading:T(`telegram`,`free_response_chats`),size:`small`,placeholder:`chat_id1,chat_id2`,onChange:s[3]||=e=>F(`telegram`,`free_response_chats`,{free_response_chats:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.mentionPatterns`),hint:p(g)(`platform.mentionPatternsHint`)},{default:d(()=>[h(p(w),{"default-value":(p(r).telegram.mention_patterns||[]).join(`, `),loading:T(`telegram`,`mention_patterns`),size:`small`,placeholder:`pattern1, pattern2`,onChange:s[4]||=e=>F(`telegram`,`mention_patterns`,{mention_patterns:e?e.split(`,`).map(e=>e.trim()):[]})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`])],64)):c(``,!0),e.key===`discord`?(u(),n(y,{key:1},[h(P,{label:p(g)(`platform.botToken`),hint:p(g)(`platform.botTokenHint`)},{default:d(()=>[h(p(w),{"default-value":L(`discord`).token||``,loading:T(`discord`,`token`),clearable:``,size:`small`,class:`input-lg`,placeholder:`Bot token...`,onChange:s[5]||=e=>I(`discord`,`token`,{token:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.requireMention`),hint:p(g)(`platform.requireMentionChannel`)},{default:d(()=>[h(p(O),{value:p(r).discord.require_mention,loading:T(`discord`,`require_mention`),"onUpdate:value":s[6]||=e=>F(`discord`,`require_mention`,{require_mention:e})},null,8,[`value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.autoThread`),hint:p(g)(`platform.autoThreadHint`)},{default:d(()=>[h(p(O),{value:p(r).discord.auto_thread,loading:T(`discord`,`auto_thread`),"onUpdate:value":s[7]||=e=>F(`discord`,`auto_thread`,{auto_thread:e})},null,8,[`value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.reactions`),hint:p(g)(`platform.reactionsHint`)},{default:d(()=>[h(p(O),{value:p(r).discord.reactions,loading:T(`discord`,`reactions`),"onUpdate:value":s[8]||=e=>F(`discord`,`reactions`,{reactions:e})},null,8,[`value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.freeResponseChannels`),hint:p(g)(`platform.freeResponseChannelsHint`)},{default:d(()=>[h(p(w),{"default-value":p(r).discord.free_response_channels||``,loading:T(`discord`,`free_response_channels`),size:`small`,placeholder:`channel_id1,channel_id2`,onChange:s[9]||=e=>F(`discord`,`free_response_channels`,{free_response_channels:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.allowedChannels`),hint:p(g)(`platform.allowedChannelsHint`)},{default:d(()=>[h(p(w),{"default-value":p(r).discord.allowed_channels||``,loading:T(`discord`,`allowed_channels`),size:`small`,placeholder:`channel_id1,channel_id2`,onChange:s[10]||=e=>F(`discord`,`allowed_channels`,{allowed_channels:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.ignoredChannels`),hint:p(g)(`platform.ignoredChannelsHint`)},{default:d(()=>[h(p(w),{"default-value":p(r).discord.ignored_channels||``,loading:T(`discord`,`ignored_channels`),size:`small`,placeholder:`channel_id1,channel_id2`,onChange:s[11]||=e=>F(`discord`,`ignored_channels`,{ignored_channels:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.noThreadChannels`),hint:p(g)(`platform.noThreadChannelsHint`)},{default:d(()=>[h(p(w),{"default-value":p(r).discord.no_thread_channels||``,loading:T(`discord`,`no_thread_channels`),size:`small`,placeholder:`channel_id1,channel_id2`,onChange:s[12]||=e=>F(`discord`,`no_thread_channels`,{no_thread_channels:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`])],64)):c(``,!0),e.key===`slack`?(u(),n(y,{key:2},[h(P,{label:p(g)(`platform.botToken`),hint:p(g)(`platform.botTokenHint`)},{default:d(()=>[h(p(w),{"default-value":L(`slack`).token||``,loading:T(`slack`,`token`),clearable:``,size:`small`,class:`input-lg`,placeholder:`xoxb-...`,onChange:s[13]||=e=>I(`slack`,`token`,{token:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.requireMention`),hint:p(g)(`platform.requireMentionChannel`)},{default:d(()=>[h(p(O),{value:p(r).slack.require_mention,loading:T(`slack`,`require_mention`),"onUpdate:value":s[14]||=e=>F(`slack`,`require_mention`,{require_mention:e})},null,8,[`value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.allowBots`),hint:p(g)(`platform.allowBotsHint`)},{default:d(()=>[h(p(O),{value:p(r).slack.allow_bots,loading:T(`slack`,`allow_bots`),"onUpdate:value":s[15]||=e=>F(`slack`,`allow_bots`,{allow_bots:e})},null,8,[`value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.freeResponseChannels`),hint:p(g)(`platform.freeResponseChannelsHint`)},{default:d(()=>[h(p(w),{"default-value":p(r).slack.free_response_channels||``,loading:T(`slack`,`free_response_channels`),size:`small`,placeholder:`channel_id1,channel_id2`,onChange:s[16]||=e=>F(`slack`,`free_response_channels`,{free_response_channels:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`])],64)):c(``,!0),e.key===`whatsapp`?(u(),n(y,{key:3},[h(P,{label:p(g)(`platform.waEnabled`),hint:p(g)(`platform.waEnabledHint`)},{default:d(()=>[h(p(O),{value:L(`whatsapp`).enabled,loading:T(`whatsapp`,`enabled`),"onUpdate:value":s[17]||=e=>I(`whatsapp`,`enabled`,{enabled:e})},null,8,[`value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.requireMention`),hint:p(g)(`platform.requireMentionGroup`)},{default:d(()=>[h(p(O),{value:p(r).whatsapp.require_mention,loading:T(`whatsapp`,`require_mention`),"onUpdate:value":s[18]||=e=>F(`whatsapp`,`require_mention`,{require_mention:e})},null,8,[`value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.freeResponseChats`),hint:p(g)(`platform.freeResponseChatsHint`)},{default:d(()=>[h(p(w),{"default-value":p(r).whatsapp.free_response_chats||``,loading:T(`whatsapp`,`free_response_chats`),size:`small`,placeholder:`chat_id1,chat_id2`,onChange:s[19]||=e=>F(`whatsapp`,`free_response_chats`,{free_response_chats:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.mentionPatterns`),hint:p(g)(`platform.mentionPatternsHint`)},{default:d(()=>[h(p(w),{"default-value":(p(r).whatsapp.mention_patterns||[]).join(`, `),loading:T(`whatsapp`,`mention_patterns`),size:`small`,placeholder:`pattern1, pattern2`,onChange:s[20]||=e=>F(`whatsapp`,`mention_patterns`,{mention_patterns:e?e.split(`,`).map(e=>e.trim()):[]})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`])],64)):c(``,!0),e.key===`matrix`?(u(),n(y,{key:4},[h(P,{label:p(g)(`platform.accessToken`),hint:p(g)(`platform.accessTokenHint`)},{default:d(()=>[h(p(w),{"default-value":L(`matrix`).token||``,loading:T(`matrix`,`token`),clearable:``,size:`small`,class:`input-lg`,placeholder:`syt_...`,onChange:s[21]||=e=>I(`matrix`,`token`,{token:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.homeserver`),hint:p(g)(`platform.homeserverHint`)},{default:d(()=>[h(p(w),{"default-value":L(`matrix`).extra?.homeserver||``,loading:T(`matrix`,`homeserver`),clearable:``,size:`small`,class:`input-lg`,placeholder:`https://matrix.org`,onChange:s[22]||=e=>I(`matrix`,`homeserver`,{extra:{...L(`matrix`).extra,homeserver:e}})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.requireMention`),hint:p(g)(`platform.requireMentionRoom`)},{default:d(()=>[h(p(O),{value:p(r).matrix.require_mention,loading:T(`matrix`,`require_mention`),"onUpdate:value":s[23]||=e=>F(`matrix`,`require_mention`,{require_mention:e})},null,8,[`value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.autoThread`),hint:p(g)(`platform.autoThreadHintRoom`)},{default:d(()=>[h(p(O),{value:p(r).matrix.auto_thread,loading:T(`matrix`,`auto_thread`),"onUpdate:value":s[24]||=e=>F(`matrix`,`auto_thread`,{auto_thread:e})},null,8,[`value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.dmMentionThreads`),hint:p(g)(`platform.dmMentionThreadsHint`)},{default:d(()=>[h(p(O),{value:p(r).matrix.dm_mention_threads,loading:T(`matrix`,`dm_mention_threads`),"onUpdate:value":s[25]||=e=>F(`matrix`,`dm_mention_threads`,{dm_mention_threads:e})},null,8,[`value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.freeResponseRooms`),hint:p(g)(`platform.freeResponseRoomsHint`)},{default:d(()=>[h(p(w),{"default-value":p(r).matrix.free_response_rooms||``,loading:T(`matrix`,`free_response_rooms`),size:`small`,placeholder:`room_id1,room_id2`,onChange:s[26]||=e=>F(`matrix`,`free_response_rooms`,{free_response_rooms:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`])],64)):c(``,!0),e.key===`feishu`?(u(),n(y,{key:5},[h(P,{label:p(g)(`platform.appId`),hint:p(g)(`platform.appIdHint`)},{default:d(()=>[h(p(w),{"default-value":L(`feishu`).extra?.app_id||``,loading:T(`feishu`,`app_id`),clearable:``,size:`small`,class:`input-lg`,placeholder:`cli_...`,onChange:s[27]||=e=>I(`feishu`,`app_id`,{extra:{...L(`feishu`).extra,app_id:e}})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.appSecret`),hint:p(g)(`platform.appSecretHint`)},{default:d(()=>[h(p(w),{"default-value":L(`feishu`).extra?.app_secret||``,loading:T(`feishu`,`app_secret`),clearable:``,size:`small`,class:`input-lg`,placeholder:`App Secret`,onChange:s[28]||=e=>I(`feishu`,`app_secret`,{extra:{...L(`feishu`).extra,app_secret:e}})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.requireMention`),hint:p(g)(`platform.requireMentionGroup`)},{default:d(()=>[h(p(O),{value:p(r).feishu.require_mention,loading:T(`feishu`,`require_mention`),"onUpdate:value":s[29]||=e=>F(`feishu`,`require_mention`,{require_mention:e})},null,8,[`value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.freeResponseChats`),hint:p(g)(`platform.freeResponseChatsHint`)},{default:d(()=>[h(p(w),{"default-value":p(r).feishu.free_response_chats||``,loading:T(`feishu`,`free_response_chats`),size:`small`,placeholder:`chat_id1,chat_id2`,onChange:s[30]||=e=>F(`feishu`,`free_response_chats`,{free_response_chats:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`])],64)):c(``,!0),e.key===`dingtalk`?(u(),n(y,{key:6},[h(P,{label:p(g)(`platform.clientId`),hint:p(g)(`platform.clientIdHint`)},{default:d(()=>[h(p(w),{"default-value":L(`dingtalk`).extra?.client_id||``,loading:T(`dingtalk`,`client_id`),clearable:``,size:`small`,class:`input-lg`,placeholder:`Client ID`,onChange:s[31]||=e=>I(`dingtalk`,`client_id`,{extra:{...L(`dingtalk`).extra,client_id:e}})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.clientSecret`),hint:p(g)(`platform.clientSecretHint`)},{default:d(()=>[h(p(w),{"default-value":L(`dingtalk`).extra?.client_secret||``,loading:T(`dingtalk`,`client_secret`),clearable:``,size:`small`,class:`input-lg`,placeholder:`Client Secret`,onChange:s[32]||=e=>I(`dingtalk`,`client_secret`,{extra:{...L(`dingtalk`).extra,client_secret:e}})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.requireMention`),hint:p(g)(`platform.requireMentionGroup`)},{default:d(()=>[h(p(O),{value:p(r).dingtalk.require_mention,loading:T(`dingtalk`,`require_mention`),"onUpdate:value":s[33]||=e=>F(`dingtalk`,`require_mention`,{require_mention:e})},null,8,[`value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.freeResponseChats`),hint:p(g)(`platform.freeResponseChatsHint`)},{default:d(()=>[h(p(w),{"default-value":p(r).dingtalk.free_response_chats||``,loading:T(`dingtalk`,`free_response_chats`),size:`small`,placeholder:`chat_id1,chat_id2`,onChange:s[34]||=e=>F(`dingtalk`,`free_response_chats`,{free_response_chats:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`])],64)):c(``,!0),e.key===`weixin`?(u(),n(y,{key:7},[t(`div`,V,[G.value===`idle`||G.value===`error`||G.value===`expired`||G.value===`confirmed`?(u(),b(p(C),{key:0,type:`primary`,size:`small`,onClick:q},{default:d(()=>[o(m(G.value===`confirmed`?p(g)(`platform.qrRelogin`):p(g)(`platform.qrLogin`)),1)]),_:1})):c(``,!0),G.value===`loading`?(u(),n(`div`,H,[h(l,{size:`small`}),t(`span`,null,m(p(g)(`platform.qrFetching`)),1)])):c(``,!0),G.value===`waiting`||G.value===`scaned`?(u(),n(`div`,U,m(G.value===`scaned`?p(g)(`platform.qrScanedHint`):p(g)(`platform.qrScanHint`)),1)):c(``,!0)]),h(P,{label:p(g)(`platform.weixinToken`),hint:p(g)(`platform.weixinTokenHint`)},{default:d(()=>[h(p(w),{"default-value":L(`weixin`).token||``,loading:T(`weixin`,`token`),clearable:``,size:`small`,class:`input-lg`,placeholder:`Token`,onChange:s[35]||=e=>I(`weixin`,`token`,{token:e})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.accountId`),hint:p(g)(`platform.accountIdHint`)},{default:d(()=>[h(p(w),{"default-value":L(`weixin`).extra?.account_id||``,loading:T(`weixin`,`account_id`),clearable:``,size:`small`,class:`input-lg`,placeholder:`Account ID`,onChange:s[36]||=e=>I(`weixin`,`account_id`,{extra:{...L(`weixin`).extra,account_id:e}})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`])],64)):c(``,!0),e.key===`wecom`?(u(),n(y,{key:8},[h(P,{label:p(g)(`platform.botId`),hint:p(g)(`platform.botIdHint`)},{default:d(()=>[h(p(w),{"default-value":L(`wecom`).extra?.bot_id||``,loading:T(`wecom`,`bot_id`),clearable:``,size:`small`,class:`input-lg`,placeholder:`Bot ID`,onChange:s[37]||=e=>I(`wecom`,`bot_id`,{extra:{...L(`wecom`).extra,bot_id:e}})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`]),h(P,{label:p(g)(`platform.appSecret`),hint:p(g)(`platform.wecomSecretHint`)},{default:d(()=>[h(p(w),{"default-value":L(`wecom`).extra?.secret||``,loading:T(`wecom`,`secret`),clearable:``,size:`small`,class:`input-lg`,placeholder:`Secret`,onChange:s[38]||=e=>I(`wecom`,`secret`,{extra:{...L(`wecom`).extra,secret:e}})},null,8,[`default-value`,`loading`])]),_:1},8,[`label`,`hint`])],64)):c(``,!0)]),_:2},1032,[`name`,`icon`,`config`,`credentials`])),64))])}}}),[[`__scopeId`,`data-v-c7999829`]]),G={class:`channels-view`},K={class:`page-header`},q={class:`header-title`},J={class:`channels-content`},Y=S(e({__name:`ChannelsView`,setup(e){let i=j(),{t:a}=x();return r(()=>{i.fetchSettings()}),(e,r)=>(u(),n(`div`,G,[t(`header`,K,[t(`h2`,q,m(p(a)(`sidebar.channels`)),1)]),t(`div`,J,[h(p(D),{show:p(i).loading||p(i).saving,size:`large`,description:p(a)(`common.loading`)},{default:d(()=>[p(i).loading?c(``,!0):(u(),b(W,{key:0}))]),_:1},8,[`show`,`description`])])]))}}),[[`__scopeId`,`data-v-e25dbf6c`]]);export{Y as default};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{A as e,C as t,E as n,H as r,K as i,L as a,O as o,Q as s,S as c,T as l,U as u,W as d,Y as f,Z as p,a as m,ft as h,g,h as _,ht as v,k as y,mt as b,p as x,pt as S,st as C,u as w,v as T,w as E}from"./router-BDvjwA-_.js";import{r as D,t as O}from"./_plugin-vue_export-helper-BA1W5EEO.js";import{t as k}from"./logo-D12u0f1i.js";import{t as A}from"./Modal-Ct66o3O5.js";import{t as j}from"./Dropdown-C3W_MZAx.js";import{t as M}from"./Button-6kn5x8wB.js";import{t as N}from"./Input-DOn-NDi-.js";import{t as P}from"./Tooltip-MYN2D0HZ.js";import{t as F}from"./use-message-x3IR-EsB.js";import{t as I}from"./Popconfirm-DNWpYtil.js";import{t as L}from"./useTheme-DSy5LWpW.js";import{t as R}from"./app-CQp0_YLA.js";import{t as z}from"./profiles-COfldPiC.js";import{t as B}from"./chat-COI--6cJ.js";import{n as V,o as H}from"./sessions-BUqqfXt4.js";import{t as ee}from"./session-browser-prefs-LlrIrhBd.js";import{t as te}from"./clipboard-B8wB3Hjs.js";import{a as U,i as W,n as G,r as K,t as q}from"./MarkdownRenderer-WDZUw_r0.js";var ne={telegram:`Telegram`,api_server:`API Server`,cli:`CLI`,discord:`Discord`,slack:`Slack`,matrix:`Matrix`,whatsapp:`WhatsApp`,signal:`Signal`,email:`Email`,sms:`SMS`,dingtalk:`DingTalk`,feishu:`Feishu`,wecom:`WeCom`,weixin:`WeChat`,bluebubbles:`iMessage`,mattermost:`Mattermost`,cron:`Cron`};function J(e){return e?ne[e]||e:``}function Y(e){if(!e)return``;let t=new Date(e),n=new Date;return t.toDateString()===n.toDateString()?t.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}):t.toLocaleDateString([],{month:`short`,day:`numeric`})}function X(e){return Y(e*1e3)}var re={class:`chat-input-area`},ie={class:`input-top-bar`},ae={key:1,class:`context-bar`},oe={key:0,class:`attachment-previews`},se=[`src`,`alt`],ce={key:1,class:`attachment-file`},le={class:`file-name`},Z={class:`file-size`},ue=[`onClick`],de=[`placeholder`],fe={class:`input-actions`},Q=2e5,pe=O(e({__name:`ChatInput`,setup(e){let a=B(),{t:u}=D(),m=C(``),g=C(),_=C(),w=C([]),O=C(!1),k=C(0),A=C(!1),j=c(()=>m.value.trim()||w.value.length>0),N=C(2e5);async function F(){try{N.value=await V(z().activeProfileName||void 0)}catch{N.value=Q}}r(F),f(()=>z().activeProfileName,F),f(()=>R().selectedModel,F);let I=c(()=>(a.activeSession?.inputTokens??0)+(a.activeSession?.outputTokens??0)),L=c(()=>N.value-I.value),H=c(()=>Math.min(I.value/N.value*100,100));function ee(e){return e>=1e6?(e/1e6).toFixed(1)+`M`:e>=1e3?(e/1e3).toFixed(1)+`k`:String(e)}function te(e){if(w.value.find(t=>t.name===e.name))return;let t=Date.now().toString(36)+Math.random().toString(36).slice(2,8),n=URL.createObjectURL(e);w.value.push({id:t,name:e.name,type:e.type,size:e.size,url:n,file:e})}function U(){_.value?.click()}function W(e){let t=e.target;if(t.files){for(let e of t.files)te(e);t.value=``}}function G(e){let t=Array.from(e.clipboardData?.items||[]).filter(e=>e.type.startsWith(`image/`));if(t.length){e.preventDefault();for(let e of t){let t=e.getAsFile();if(!t)continue;let n=e.type.split(`/`)[1]||`png`;te(new File([t],`pasted-${Date.now()}.${n}`,{type:e.type}))}}}function K(e){e.preventDefault()}function q(e){e.preventDefault(),e.dataTransfer?.types.includes(`Files`)&&(k.value++,O.value=!0)}function ne(){k.value--,k.value<=0&&(k.value=0,O.value=!1)}function J(e){e.preventDefault(),k.value=0,O.value=!1;let t=Array.from(e.dataTransfer?.files||[]);if(t.length){for(let e of t)te(e);g.value?.focus()}}function Y(){let e=m.value.trim();!e&&w.value.length===0||(a.sendMessage(e,w.value.length>0?w.value:void 0),m.value=``,w.value=[],g.value&&(g.value.style.height=`auto`))}function X(){A.value=!0}function pe(){requestAnimationFrame(()=>{A.value=!1})}function me(e){return A.value||e.isComposing||e.keyCode===229}function he(e){e.key!==`Enter`||e.shiftKey||me(e)||(e.preventDefault(),Y())}function ge(e){let t=e.target;t.style.height=`auto`,t.style.height=Math.min(t.scrollHeight,100)+`px`}function _e(e){let t=w.value.findIndex(t=>t.id===e);t!==-1&&(URL.revokeObjectURL(w.value[t].url),w.value.splice(t,1))}function ve(e){return e<1024?e+` B`:e<1024*1024?(e/1024).toFixed(1)+` KB`:(e/(1024*1024)).toFixed(1)+` MB`}function ye(e){return e.startsWith(`image/`)}return(e,r)=>(d(),n(`div`,re,[t(`div`,ie,[y(h(P),{trigger:`hover`},{trigger:p(()=>[y(h(M),{quaternary:``,size:`tiny`,onClick:U,circle:``},{icon:p(()=>[...r[2]||=[t(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`},[t(`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(()=>[o(` `+v(h(u)(`chat.attachFiles`)),1)]),_:1}),I.value>0?(d(),n(`span`,{key:0,class:S([`context-info`,{"context-warning":H.value>80}])},v(ee(I.value))+` / `+v(ee(N.value))+` · `+v(h(u)(`chat.contextRemaining`))+` `+v(ee(L.value)),3)):l(``,!0),I.value>0?(d(),n(`div`,ae,[t(`div`,{class:S([`context-bar-fill`,{"context-bar-warn":H.value>60&&H.value<=80,"context-bar-danger":H.value>80}]),style:b({width:`${H.value}%`})},null,6)])):l(``,!0)]),w.value.length>0?(d(),n(`div`,oe,[(d(!0),n(T,null,i(w.value,e=>(d(),n(`div`,{key:e.id,class:S([`attachment-preview`,{image:ye(e.type)}])},[ye(e.type)?(d(),n(`img`,{key:0,src:e.url,alt:e.name,class:`attachment-thumb`},null,8,se)):(d(),n(`div`,ce,[r[3]||=t(`svg`,{width:`20`,height:`20`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`},[t(`path`,{d:`M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z`}),t(`polyline`,{points:`14 2 14 8 20 8`})],-1),t(`span`,le,v(e.name),1),t(`span`,Z,v(ve(e.size)),1)])),t(`button`,{class:`attachment-remove`,onClick:t=>_e(e.id)},[...r[4]||=[t(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[t(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),t(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})],-1)]],8,ue)],2))),128))])):l(``,!0),t(`div`,{class:S([`input-wrapper`,{"drag-over":O.value}]),onDragover:K,onDragenter:q,onDragleave:ne,onDrop:J},[t(`input`,{ref_key:`fileInputRef`,ref:_,type:`file`,multiple:``,class:`file-input-hidden`,onChange:W},null,544),s(t(`textarea`,{ref_key:`textareaRef`,ref:g,"onUpdate:modelValue":r[0]||=e=>m.value=e,class:`input-textarea`,placeholder:h(u)(`chat.inputPlaceholder`),rows:`1`,onKeydown:he,onCompositionstart:X,onCompositionend:pe,onInput:ge,onPaste:G},null,40,de),[[x,m.value]]),t(`div`,fe,[h(a).isStreaming?(d(),E(h(M),{key:0,size:`small`,type:`error`,onClick:r[1]||=e=>h(a).stopStreaming()},{default:p(()=>[o(v(h(u)(`chat.stop`)),1)]),_:1})):l(``,!0),y(h(M),{size:`small`,type:`primary`,disabled:!j.value||h(a).isStreaming,onClick:Y},{icon:p(()=>[...r[5]||=[t(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[t(`line`,{x1:`22`,y1:`2`,x2:`11`,y2:`13`}),t(`polygon`,{points:`22 2 15 22 11 13 2 9 22 2`})],-1)]]),default:p(()=>[o(` `+v(h(u)(`chat.send`)),1)]),_:1},8,[`disabled`])])],34)]))}}),[[`__scopeId`,`data-v-86c00ae3`]]);async function me(e={}){let t=new URLSearchParams;return e.humanOnly===!1&&t.set(`humanOnly`,`false`),e.source&&t.set(`source`,e.source),e.limit!=null&&t.set(`limit`,String(e.limit)),(await m(`/api/hermes/sessions/conversations${t.toString()?`?${t.toString()}`:``}`)).sessions}async function he(e,t={}){let n=new URLSearchParams;t.humanOnly===!1&&n.set(`humanOnly`,`false`),t.source&&n.set(`source`,t.source);let r=n.toString()?`?${n.toString()}`:``;return m(`/api/hermes/sessions/conversations/${encodeURIComponent(e)}/messages${r}`)}var ge={class:`conversation-monitor`},_e={class:`conversation-monitor__sidebar`},ve={key:0,class:`conversation-monitor__empty`},ye={key:1,class:`conversation-monitor__empty`},be=[`aria-pressed`,`onClick`],xe={class:`conversation-monitor__session-title-row`},Se={class:`conversation-monitor__session-title`},Ce={key:0,class:`conversation-monitor__session-live`},we={class:`conversation-monitor__session-meta`},Te={key:0,class:`conversation-monitor__session-preview`},Ee={class:`conversation-monitor__detail`},De={key:0,class:`conversation-monitor__detail-header`},Oe={class:`conversation-monitor__detail-title`},ke={class:`conversation-monitor__detail-meta`},Ae={key:1,class:`conversation-monitor__empty conversation-monitor__empty--error`},je={key:2,class:`conversation-monitor__empty`},Me={key:3,class:`conversation-monitor__empty`},Ne={key:4,class:`conversation-monitor__messages`},Pe={class:`conversation-monitor__message-meta`},Fe={class:`conversation-monitor__message-content`},Ie=15e3,Le=O(e({__name:`ConversationMonitorPane`,props:{humanOnly:{type:Boolean}},setup(e){let a=e,{t:o}=D(),s=C([]),p=C(null),m=C(null),g=C(!1),_=C(!1),y=C(``),b=null,x=0,w=0,E=c(()=>s.value.find(e=>e.id===p.value)||null);function O(e){return o(e===`user`?`chat.monitorRoleUser`:`chat.monitorRoleAssistant`)}function k(e){return o(`chat.linkedSessions`,{count:e})}function A(){x+=1,w+=1}async function j(e=!1){let t=++x;e||(g.value=!0,y.value=``);try{let e=await me({humanOnly:a.humanOnly});if(t!==x)return;if(s.value=e,!e.length){p.value=null,m.value=null;return}(!p.value||!e.some(e=>e.id===p.value))&&(p.value=e[0].id)}catch(n){if(t!==x||e)return;y.value=n?.message||String(n),s.value=[],p.value=null,m.value=null}finally{!e&&t===x&&(g.value=!1)}}async function M(e,t=!1){let n=++w;if(!e){m.value=null;return}let r=a.humanOnly;t||(_.value=!0,y.value=``);try{let t=await he(e,{humanOnly:r});if(n!==w||e!==p.value||r!==a.humanOnly)return;m.value=t}catch(e){if(n!==w||t)return;y.value=e?.message||String(e),m.value=null}finally{!t&&n===w&&(_.value=!1)}}return f(p,async e=>{await M(e,!1)}),f(()=>a.humanOnly,async()=>{A(),p.value=null,m.value=null,await j(!1)}),r(async()=>{await j(!1),b=setInterval(async()=>{await j(!0),p.value&&await M(p.value,!0)},Ie)}),u(()=>{A(),b&&clearInterval(b)}),(e,r)=>(d(),n(`div`,ge,[t(`aside`,_e,[g.value&&s.value.length===0?(d(),n(`div`,ve,v(h(o)(`common.loading`)),1)):s.value.length===0?(d(),n(`div`,ye,v(h(o)(`chat.noSessions`)),1)):l(``,!0),(d(!0),n(T,null,i(s.value,e=>(d(),n(`button`,{key:e.id,class:S([`conversation-monitor__session`,{active:e.id===p.value}]),"aria-pressed":e.id===p.value,onClick:t=>p.value=e.id},[t(`div`,xe,[t(`span`,Se,v(e.title||e.preview||e.id),1),e.is_active?(d(),n(`span`,Ce,v(h(o)(`chat.recentBadge`)),1)):l(``,!0)]),t(`div`,we,v(h(J)(e.source))+` · `+v(h(X)(e.last_active)),1),e.preview?(d(),n(`div`,Te,v(e.preview),1)):l(``,!0)],10,be))),128))]),t(`section`,Ee,[E.value?(d(),n(`header`,De,[t(`div`,Oe,v(E.value.title||E.value.preview||E.value.id),1),t(`div`,ke,[t(`span`,null,v(h(J)(E.value.source)),1),r[0]||=t(`span`,null,`·`,-1),t(`span`,null,v(E.value.model),1),r[1]||=t(`span`,null,`·`,-1),t(`span`,null,v(k(E.value.thread_session_count)),1)])])):l(``,!0),y.value?(d(),n(`div`,Ae,v(y.value),1)):_.value&&!m.value?(d(),n(`div`,je,v(h(o)(`common.loading`)),1)):!m.value||m.value.messages.length===0?(d(),n(`div`,Me,v(h(o)(`chat.noVisibleMessages`)),1)):(d(),n(`div`,Ne,[(d(!0),n(T,null,i(m.value.messages,e=>(d(),n(`article`,{key:`${e.session_id}-${e.id}`,class:S([`conversation-monitor__message`,`role-${e.role}`])},[t(`div`,Pe,v(O(e.role))+` · `+v(h(X)(e.timestamp)),1),t(`div`,Fe,v(e.content),1)],2))),128))]))])]))}}),[[`__scopeId`,`data-v-be298d0d`]]),Re=[`id`],ze={key:1,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`,class:`tool-icon`},Be={class:`tool-name`},Ve={key:2,class:`tool-preview`},He={key:3,class:`tool-spinner`},Ue={key:4,class:`tool-error-badge`},We={key:0,class:`tool-detail-section`,"data-copy-source":`tool-args`},Ge={class:`tool-detail-label`},Ke=[`innerHTML`],qe={key:1,class:`tool-detail-section`,"data-copy-source":`tool-result`},Je={class:`tool-detail-label`},Ye=[`innerHTML`],Xe={key:1,class:`msg-body`},Ze={key:0,src:k,alt:`Hermes`,class:`msg-avatar`},Qe={key:0,class:`msg-attachments`},$e=[`src`,`alt`],et=[`onClick`,`title`],tt={class:`att-name`},nt={class:`att-size`},rt={key:2,class:`streaming-dots`},it={class:`message-time`},$=2e3,at=O(e({__name:`MessageItem`,props:{message:{},highlight:{type:Boolean}},setup(e){let r=e,{t:a}=D(),o=F(),s=c(()=>r.message.role===`system`),u=C(!1),f=c(()=>new Date(r.message.timestamp).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}));function p(e){return e.startsWith(`image/`)}function m(e){return e<1024?e+` B`:e<1024*1024?(e/1024).toFixed(1)+` KB`:(e/(1024*1024)).toFixed(1)+` MB`}function g(e){let t=r.message.content||``,n=/\[File:\s*([^\]]+)\]\(([^)]+)\)/g,i;for(;(i=n.exec(t))!==null;)if(i[1].trim()===e.trim())return i[2];return null}function _(e){let t=g(e.name);if(t){o.info(a(`download.downloading`)),U(t,e.name).catch(e=>{o.error(e.message||a(`download.downloadFailed`))});return}if(e.url&&e.url.startsWith(`blob:`)){let t=document.createElement(`a`);t.href=e.url,t.download=e.name,document.body.appendChild(t),t.click(),document.body.removeChild(t)}}function y(e){if(!e)return{full:``,display:``};try{let t=JSON.stringify(JSON.parse(e),null,2);return{full:t,display:t.length>$?t.slice(0,$)+`
|
|
1
|
+
import{A as e,C as t,E as n,H as r,K as i,L as a,O as o,Q as s,S as c,T as l,U as u,W as d,Y as f,Z as p,a as m,ft as h,g,h as _,ht as v,k as y,mt as b,p as x,pt as S,st as C,u as w,v as T,w as E}from"./router-Deam6ffd.js";import{r as D,t as O}from"./_plugin-vue_export-helper-9xP-z52L.js";import{t as k}from"./logo-D12u0f1i.js";import{t as A}from"./Modal-CcDwIOab.js";import{t as j}from"./Dropdown-PWEJ7U74.js";import{t as M}from"./Button-XML6qzjK.js";import{t as N}from"./Input-DWLw7VSO.js";import{t as P}from"./Tooltip-CB3bMMbn.js";import{t as F}from"./use-message-sJtQsIMH.js";import{t as I}from"./Popconfirm-zfNVjMed.js";import{t as L}from"./useTheme-BH5wkcEo.js";import{t as R}from"./app-Bye4afa9.js";import{t as z}from"./profiles-Dk45I0q1.js";import{t as B}from"./chat-CIiy7Gwo.js";import{n as V,o as H}from"./sessions-BDXdWl17.js";import{t as ee}from"./session-browser-prefs-Wo3XFysm.js";import{t as te}from"./clipboard-B8wB3Hjs.js";import{a as U,i as W,n as G,r as K,t as q}from"./MarkdownRenderer-Dzf2i2R9.js";var ne={telegram:`Telegram`,api_server:`API Server`,cli:`CLI`,discord:`Discord`,slack:`Slack`,matrix:`Matrix`,whatsapp:`WhatsApp`,signal:`Signal`,email:`Email`,sms:`SMS`,dingtalk:`DingTalk`,feishu:`Feishu`,wecom:`WeCom`,weixin:`WeChat`,bluebubbles:`iMessage`,mattermost:`Mattermost`,cron:`Cron`};function J(e){return e?ne[e]||e:``}function Y(e){if(!e)return``;let t=new Date(e),n=new Date;return t.toDateString()===n.toDateString()?t.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}):t.toLocaleDateString([],{month:`short`,day:`numeric`})}function X(e){return Y(e*1e3)}var re={class:`chat-input-area`},ie={class:`input-top-bar`},ae={key:1,class:`context-bar`},oe={key:0,class:`attachment-previews`},se=[`src`,`alt`],ce={key:1,class:`attachment-file`},le={class:`file-name`},Z={class:`file-size`},ue=[`onClick`],de=[`placeholder`],fe={class:`input-actions`},Q=2e5,pe=O(e({__name:`ChatInput`,setup(e){let a=B(),{t:u}=D(),m=C(``),g=C(),_=C(),w=C([]),O=C(!1),k=C(0),A=C(!1),j=c(()=>m.value.trim()||w.value.length>0),N=C(2e5);async function F(){try{N.value=await V(z().activeProfileName||void 0)}catch{N.value=Q}}r(F),f(()=>z().activeProfileName,F),f(()=>R().selectedModel,F);let I=c(()=>(a.activeSession?.inputTokens??0)+(a.activeSession?.outputTokens??0)),L=c(()=>N.value-I.value),H=c(()=>Math.min(I.value/N.value*100,100));function ee(e){return e>=1e6?(e/1e6).toFixed(1)+`M`:e>=1e3?(e/1e3).toFixed(1)+`k`:String(e)}function te(e){if(w.value.find(t=>t.name===e.name))return;let t=Date.now().toString(36)+Math.random().toString(36).slice(2,8),n=URL.createObjectURL(e);w.value.push({id:t,name:e.name,type:e.type,size:e.size,url:n,file:e})}function U(){_.value?.click()}function W(e){let t=e.target;if(t.files){for(let e of t.files)te(e);t.value=``}}function G(e){let t=Array.from(e.clipboardData?.items||[]).filter(e=>e.type.startsWith(`image/`));if(t.length){e.preventDefault();for(let e of t){let t=e.getAsFile();if(!t)continue;let n=e.type.split(`/`)[1]||`png`;te(new File([t],`pasted-${Date.now()}.${n}`,{type:e.type}))}}}function K(e){e.preventDefault()}function q(e){e.preventDefault(),e.dataTransfer?.types.includes(`Files`)&&(k.value++,O.value=!0)}function ne(){k.value--,k.value<=0&&(k.value=0,O.value=!1)}function J(e){e.preventDefault(),k.value=0,O.value=!1;let t=Array.from(e.dataTransfer?.files||[]);if(t.length){for(let e of t)te(e);g.value?.focus()}}function Y(){let e=m.value.trim();!e&&w.value.length===0||(a.sendMessage(e,w.value.length>0?w.value:void 0),m.value=``,w.value=[],g.value&&(g.value.style.height=`auto`))}function X(){A.value=!0}function pe(){requestAnimationFrame(()=>{A.value=!1})}function me(e){return A.value||e.isComposing||e.keyCode===229}function he(e){e.key!==`Enter`||e.shiftKey||me(e)||(e.preventDefault(),Y())}function ge(e){let t=e.target;t.style.height=`auto`,t.style.height=Math.min(t.scrollHeight,100)+`px`}function _e(e){let t=w.value.findIndex(t=>t.id===e);t!==-1&&(URL.revokeObjectURL(w.value[t].url),w.value.splice(t,1))}function ve(e){return e<1024?e+` B`:e<1024*1024?(e/1024).toFixed(1)+` KB`:(e/(1024*1024)).toFixed(1)+` MB`}function ye(e){return e.startsWith(`image/`)}return(e,r)=>(d(),n(`div`,re,[t(`div`,ie,[y(h(P),{trigger:`hover`},{trigger:p(()=>[y(h(M),{quaternary:``,size:`tiny`,onClick:U,circle:``},{icon:p(()=>[...r[2]||=[t(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`},[t(`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(()=>[o(` `+v(h(u)(`chat.attachFiles`)),1)]),_:1}),I.value>0?(d(),n(`span`,{key:0,class:S([`context-info`,{"context-warning":H.value>80}])},v(ee(I.value))+` / `+v(ee(N.value))+` · `+v(h(u)(`chat.contextRemaining`))+` `+v(ee(L.value)),3)):l(``,!0),I.value>0?(d(),n(`div`,ae,[t(`div`,{class:S([`context-bar-fill`,{"context-bar-warn":H.value>60&&H.value<=80,"context-bar-danger":H.value>80}]),style:b({width:`${H.value}%`})},null,6)])):l(``,!0)]),w.value.length>0?(d(),n(`div`,oe,[(d(!0),n(T,null,i(w.value,e=>(d(),n(`div`,{key:e.id,class:S([`attachment-preview`,{image:ye(e.type)}])},[ye(e.type)?(d(),n(`img`,{key:0,src:e.url,alt:e.name,class:`attachment-thumb`},null,8,se)):(d(),n(`div`,ce,[r[3]||=t(`svg`,{width:`20`,height:`20`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`},[t(`path`,{d:`M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z`}),t(`polyline`,{points:`14 2 14 8 20 8`})],-1),t(`span`,le,v(e.name),1),t(`span`,Z,v(ve(e.size)),1)])),t(`button`,{class:`attachment-remove`,onClick:t=>_e(e.id)},[...r[4]||=[t(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[t(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),t(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})],-1)]],8,ue)],2))),128))])):l(``,!0),t(`div`,{class:S([`input-wrapper`,{"drag-over":O.value}]),onDragover:K,onDragenter:q,onDragleave:ne,onDrop:J},[t(`input`,{ref_key:`fileInputRef`,ref:_,type:`file`,multiple:``,class:`file-input-hidden`,onChange:W},null,544),s(t(`textarea`,{ref_key:`textareaRef`,ref:g,"onUpdate:modelValue":r[0]||=e=>m.value=e,class:`input-textarea`,placeholder:h(u)(`chat.inputPlaceholder`),rows:`1`,onKeydown:he,onCompositionstart:X,onCompositionend:pe,onInput:ge,onPaste:G},null,40,de),[[x,m.value]]),t(`div`,fe,[h(a).isStreaming?(d(),E(h(M),{key:0,size:`small`,type:`error`,onClick:r[1]||=e=>h(a).stopStreaming()},{default:p(()=>[o(v(h(u)(`chat.stop`)),1)]),_:1})):l(``,!0),y(h(M),{size:`small`,type:`primary`,disabled:!j.value||h(a).isStreaming,onClick:Y},{icon:p(()=>[...r[5]||=[t(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[t(`line`,{x1:`22`,y1:`2`,x2:`11`,y2:`13`}),t(`polygon`,{points:`22 2 15 22 11 13 2 9 22 2`})],-1)]]),default:p(()=>[o(` `+v(h(u)(`chat.send`)),1)]),_:1},8,[`disabled`])])],34)]))}}),[[`__scopeId`,`data-v-86c00ae3`]]);async function me(e={}){let t=new URLSearchParams;return e.humanOnly===!1&&t.set(`humanOnly`,`false`),e.source&&t.set(`source`,e.source),e.limit!=null&&t.set(`limit`,String(e.limit)),(await m(`/api/hermes/sessions/conversations${t.toString()?`?${t.toString()}`:``}`)).sessions}async function he(e,t={}){let n=new URLSearchParams;t.humanOnly===!1&&n.set(`humanOnly`,`false`),t.source&&n.set(`source`,t.source);let r=n.toString()?`?${n.toString()}`:``;return m(`/api/hermes/sessions/conversations/${encodeURIComponent(e)}/messages${r}`)}var ge={class:`conversation-monitor`},_e={class:`conversation-monitor__sidebar`},ve={key:0,class:`conversation-monitor__empty`},ye={key:1,class:`conversation-monitor__empty`},be=[`aria-pressed`,`onClick`],xe={class:`conversation-monitor__session-title-row`},Se={class:`conversation-monitor__session-title`},Ce={key:0,class:`conversation-monitor__session-live`},we={class:`conversation-monitor__session-meta`},Te={key:0,class:`conversation-monitor__session-preview`},Ee={class:`conversation-monitor__detail`},De={key:0,class:`conversation-monitor__detail-header`},Oe={class:`conversation-monitor__detail-title`},ke={class:`conversation-monitor__detail-meta`},Ae={key:1,class:`conversation-monitor__empty conversation-monitor__empty--error`},je={key:2,class:`conversation-monitor__empty`},Me={key:3,class:`conversation-monitor__empty`},Ne={key:4,class:`conversation-monitor__messages`},Pe={class:`conversation-monitor__message-meta`},Fe={class:`conversation-monitor__message-content`},Ie=15e3,Le=O(e({__name:`ConversationMonitorPane`,props:{humanOnly:{type:Boolean}},setup(e){let a=e,{t:o}=D(),s=C([]),p=C(null),m=C(null),g=C(!1),_=C(!1),y=C(``),b=null,x=0,w=0,E=c(()=>s.value.find(e=>e.id===p.value)||null);function O(e){return o(e===`user`?`chat.monitorRoleUser`:`chat.monitorRoleAssistant`)}function k(e){return o(`chat.linkedSessions`,{count:e})}function A(){x+=1,w+=1}async function j(e=!1){let t=++x;e||(g.value=!0,y.value=``);try{let e=await me({humanOnly:a.humanOnly});if(t!==x)return;if(s.value=e,!e.length){p.value=null,m.value=null;return}(!p.value||!e.some(e=>e.id===p.value))&&(p.value=e[0].id)}catch(n){if(t!==x||e)return;y.value=n?.message||String(n),s.value=[],p.value=null,m.value=null}finally{!e&&t===x&&(g.value=!1)}}async function M(e,t=!1){let n=++w;if(!e){m.value=null;return}let r=a.humanOnly;t||(_.value=!0,y.value=``);try{let t=await he(e,{humanOnly:r});if(n!==w||e!==p.value||r!==a.humanOnly)return;m.value=t}catch(e){if(n!==w||t)return;y.value=e?.message||String(e),m.value=null}finally{!t&&n===w&&(_.value=!1)}}return f(p,async e=>{await M(e,!1)}),f(()=>a.humanOnly,async()=>{A(),p.value=null,m.value=null,await j(!1)}),r(async()=>{await j(!1),b=setInterval(async()=>{await j(!0),p.value&&await M(p.value,!0)},Ie)}),u(()=>{A(),b&&clearInterval(b)}),(e,r)=>(d(),n(`div`,ge,[t(`aside`,_e,[g.value&&s.value.length===0?(d(),n(`div`,ve,v(h(o)(`common.loading`)),1)):s.value.length===0?(d(),n(`div`,ye,v(h(o)(`chat.noSessions`)),1)):l(``,!0),(d(!0),n(T,null,i(s.value,e=>(d(),n(`button`,{key:e.id,class:S([`conversation-monitor__session`,{active:e.id===p.value}]),"aria-pressed":e.id===p.value,onClick:t=>p.value=e.id},[t(`div`,xe,[t(`span`,Se,v(e.title||e.preview||e.id),1),e.is_active?(d(),n(`span`,Ce,v(h(o)(`chat.recentBadge`)),1)):l(``,!0)]),t(`div`,we,v(h(J)(e.source))+` · `+v(h(X)(e.last_active)),1),e.preview?(d(),n(`div`,Te,v(e.preview),1)):l(``,!0)],10,be))),128))]),t(`section`,Ee,[E.value?(d(),n(`header`,De,[t(`div`,Oe,v(E.value.title||E.value.preview||E.value.id),1),t(`div`,ke,[t(`span`,null,v(h(J)(E.value.source)),1),r[0]||=t(`span`,null,`·`,-1),t(`span`,null,v(E.value.model),1),r[1]||=t(`span`,null,`·`,-1),t(`span`,null,v(k(E.value.thread_session_count)),1)])])):l(``,!0),y.value?(d(),n(`div`,Ae,v(y.value),1)):_.value&&!m.value?(d(),n(`div`,je,v(h(o)(`common.loading`)),1)):!m.value||m.value.messages.length===0?(d(),n(`div`,Me,v(h(o)(`chat.noVisibleMessages`)),1)):(d(),n(`div`,Ne,[(d(!0),n(T,null,i(m.value.messages,e=>(d(),n(`article`,{key:`${e.session_id}-${e.id}`,class:S([`conversation-monitor__message`,`role-${e.role}`])},[t(`div`,Pe,v(O(e.role))+` · `+v(h(X)(e.timestamp)),1),t(`div`,Fe,v(e.content),1)],2))),128))]))])]))}}),[[`__scopeId`,`data-v-be298d0d`]]),Re=[`id`],ze={key:1,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`,class:`tool-icon`},Be={class:`tool-name`},Ve={key:2,class:`tool-preview`},He={key:3,class:`tool-spinner`},Ue={key:4,class:`tool-error-badge`},We={key:0,class:`tool-detail-section`,"data-copy-source":`tool-args`},Ge={class:`tool-detail-label`},Ke=[`innerHTML`],qe={key:1,class:`tool-detail-section`,"data-copy-source":`tool-result`},Je={class:`tool-detail-label`},Ye=[`innerHTML`],Xe={key:1,class:`msg-body`},Ze={key:0,src:k,alt:`Hermes`,class:`msg-avatar`},Qe={key:0,class:`msg-attachments`},$e=[`src`,`alt`],et=[`onClick`,`title`],tt={class:`att-name`},nt={class:`att-size`},rt={key:2,class:`streaming-dots`},it={class:`message-time`},$=2e3,at=O(e({__name:`MessageItem`,props:{message:{},highlight:{type:Boolean}},setup(e){let r=e,{t:a}=D(),o=F(),s=c(()=>r.message.role===`system`),u=C(!1),f=c(()=>new Date(r.message.timestamp).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}));function p(e){return e.startsWith(`image/`)}function m(e){return e<1024?e+` B`:e<1024*1024?(e/1024).toFixed(1)+` KB`:(e/(1024*1024)).toFixed(1)+` MB`}function g(e){let t=r.message.content||``,n=/\[File:\s*([^\]]+)\]\(([^)]+)\)/g,i;for(;(i=n.exec(t))!==null;)if(i[1].trim()===e.trim())return i[2];return null}function _(e){let t=g(e.name);if(t){o.info(a(`download.downloading`)),U(t,e.name).catch(e=>{o.error(e.message||a(`download.downloadFailed`))});return}if(e.url&&e.url.startsWith(`blob:`)){let t=document.createElement(`a`);t.href=e.url,t.download=e.name,document.body.appendChild(t),t.click(),document.body.removeChild(t)}}function y(e){if(!e)return{full:``,display:``};try{let t=JSON.stringify(JSON.parse(e),null,2);return{full:t,display:t.length>$?t.slice(0,$)+`
|
|
2
2
|
`+a(`chat.truncated`):t,language:`json`}}catch{return{full:e,display:e.length>$?e.slice(0,$)+`
|
|
3
3
|
`+a(`chat.truncated`):e}}}function b(e,t){return W(e,t,a(`common.copy`),{maxHighlightLength:$})}async function x(e){let t=e.target;if(!(t instanceof HTMLElement))return;let n=t.closest(`[data-copy-code="true"]`);if(!n)return;e.preventDefault();let r=n.closest(`[data-copy-source]`)?.dataset.copySource;if(r===`tool-args`&&j.value){await G(j.value);return}if(r===`tool-result`&&N.value){await G(N.value);return}await K(e)}let w=c(()=>(r.message.attachments?.length??0)>0),O=c(()=>!!(r.message.toolArgs||r.message.toolResult)),k=c(()=>y(r.message.toolArgs)),A=c(()=>y(r.message.toolResult)),j=c(()=>k.value.full),M=c(()=>k.value.display),N=c(()=>A.value.full),P=c(()=>A.value.display),I=c(()=>M.value?b(M.value,k.value.language):``),L=c(()=>P.value?b(P.value,A.value.language):``);return(r,o)=>(d(),n(`div`,{class:S([`message`,[e.message.role,{highlight:e.highlight}]]),id:`message-${e.message.id}`},[e.message.role===`tool`?(d(),n(T,{key:0},[t(`div`,{class:S([`tool-line`,{expandable:O.value}]),onClick:o[0]||=e=>O.value&&(u.value=!u.value)},[O.value?(d(),n(`svg`,{key:0,width:`10`,height:`10`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,class:S([`tool-chevron`,{rotated:u.value}])},[...o[1]||=[t(`polyline`,{points:`9 18 15 12 9 6`},null,-1)]],2)):(d(),n(`svg`,ze,[...o[2]||=[t(`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`},null,-1)]])),t(`span`,Be,v(e.message.toolName),1),e.message.toolPreview&&!u.value?(d(),n(`span`,Ve,v(e.message.toolPreview),1)):l(``,!0),e.message.toolStatus===`running`?(d(),n(`span`,He)):l(``,!0),e.message.toolStatus===`error`?(d(),n(`span`,Ue,v(h(a)(`chat.error`)),1)):l(``,!0)],2),u.value&&O.value?(d(),n(`div`,{key:0,class:`tool-details`,onClick:x},[M.value?(d(),n(`div`,We,[t(`div`,Ge,v(h(a)(`chat.arguments`)),1),t(`div`,{class:`tool-detail-code-block`,innerHTML:I.value},null,8,Ke)])):l(``,!0),P.value?(d(),n(`div`,qe,[t(`div`,Je,v(h(a)(`chat.result`)),1),t(`div`,{class:`tool-detail-code-block`,innerHTML:L.value},null,8,Ye)])):l(``,!0)])):l(``,!0)],64)):(d(),n(`div`,Xe,[e.message.role===`assistant`?(d(),n(`img`,Ze)):l(``,!0),t(`div`,{class:S([`msg-content`,e.message.role])},[t(`div`,{class:S([`message-bubble`,{system:s.value}])},[w.value?(d(),n(`div`,Qe,[(d(!0),n(T,null,i(e.message.attachments,e=>(d(),n(`div`,{key:e.id,class:S([`msg-attachment`,{image:p(e.type)}])},[p(e.type)&&e.url?(d(),n(`img`,{key:0,src:e.url,alt:e.name,class:`msg-attachment-thumb`},null,8,$e)):(d(),n(`div`,{key:1,class:`msg-attachment-file`,onClick:t=>_(e),style:{cursor:`pointer`},title:h(a)(`download.downloadFile`)},[o[3]||=t(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`},[t(`path`,{d:`M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z`}),t(`polyline`,{points:`14 2 14 8 20 8`})],-1),t(`span`,tt,v(e.name),1),t(`span`,nt,v(m(e.size)),1),o[4]||=t(`svg`,{class:`att-download-icon`,width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[t(`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}),t(`polyline`,{points:`7 10 12 15 17 10`}),t(`line`,{x1:`12`,y1:`15`,x2:`12`,y2:`3`})],-1)],8,et))],2))),128))])):l(``,!0),e.message.content?(d(),E(q,{key:1,content:e.message.content},null,8,[`content`])):l(``,!0),e.message.isStreaming&&!e.message.content?(d(),n(`span`,rt,[...o[5]||=[t(`span`,null,null,-1),t(`span`,null,null,-1),t(`span`,null,null,-1)]])):l(``,!0)],2),t(`div`,it,v(f.value),1)],2)]))],10,Re))}}),[[`__scopeId`,`data-v-e2cd1dc7`]]),ot=`/assets/thinking-light-BjeGd2gJ.mp4`,st=`/assets/thinking-dark-yYkYRZLs.mp4`,ct={key:0,class:`empty-state`},lt={key:0,class:`streaming-indicator`},ut=[`src`],dt={key:0,class:`tool-calls-panel`},ft={class:`tool-call-name`},pt={key:0,class:`tool-call-preview`},mt={key:1,class:`tool-call-spinner`},ht={key:2,class:`tool-call-error`},gt=O(e({__name:`MessageList`,setup(e){let r=B(),{t:o}=D(),{isDark:s}=L(),u=C(),m=c(()=>r.messages.filter(e=>e.role!==`tool`)),g=c(()=>{let e=r.messages,t=-1;for(let n=e.length-1;n>=0;n--)if(e[n].role===`user`){t=n;break}return[...e.filter((e,n)=>e.role===`tool`&&n>t)].reverse()});function _(e=200){let t=u.value;return t?t.scrollHeight-t.scrollTop-t.clientHeight<e:!0}function b(){a(()=>{u.value&&(u.value.scrollTop=u.value.scrollHeight)})}function x(e){a(()=>{let t=document.getElementById(`message-${e}`);t&&t.scrollIntoView({block:`center`})})}return f(()=>r.activeSessionId,e=>{if(e){if(r.focusMessageId){x(r.focusMessageId);return}b()}},{immediate:!0}),f(()=>r.focusMessageId,e=>{e&&x(e)}),f(()=>r.isRunActive,e=>{e&&b()}),f(()=>r.messages[r.messages.length-1]?.content,()=>{if(r.focusMessageId){x(r.focusMessageId);return}if(!r.isStreaming){b();return}_()&&b()}),f(g,()=>{if(r.focusMessageId){x(r.focusMessageId);return}if(!r.isStreaming){b();return}_()&&b()}),(e,a)=>(d(),n(`div`,{ref_key:`listRef`,ref:u,class:`message-list`},[h(r).messages.length===0?(d(),n(`div`,ct,[a[0]||=t(`img`,{src:`/logo.png`,alt:`Hermes`,class:`empty-logo`},null,-1),t(`p`,null,v(h(o)(`chat.emptyState`)),1)])):l(``,!0),(d(!0),n(T,null,i(m.value,e=>(d(),E(at,{key:e.id,message:e,highlight:h(r).focusMessageId===e.id},null,8,[`message`,`highlight`]))),128)),y(w,{name:`fade`},{default:p(()=>[h(r).isRunActive?(d(),n(`div`,lt,[t(`video`,{src:h(s)?h(st):h(ot),autoplay:``,loop:``,muted:``,playsinline:``,class:`thinking-video`},null,8,ut),g.value.length>0?(d(),n(`div`,dt,[(d(!0),n(T,null,i(g.value,e=>(d(),n(`div`,{key:e.id,class:`tool-call-item`},[a[1]||=t(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`,class:`tool-call-icon`},[t(`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),t(`span`,ft,v(e.toolName),1),e.toolPreview?(d(),n(`span`,pt,v(e.toolPreview),1)):l(``,!0),e.toolStatus===`running`?(d(),n(`span`,mt)):l(``,!0),e.toolStatus===`error`?(d(),n(`span`,ht,v(h(o)(`chat.error`)),1)):l(``,!0)]))),128))])):l(``,!0)])):l(``,!0)]),_:1})],512))}}),[[`__scopeId`,`data-v-aa66438c`]]),_t=[`aria-current`],vt={class:`session-item-content`},yt={class:`session-item-title-row`},bt={key:0,class:`session-item-active-indicator`,"aria-hidden":`true`},xt={key:1,class:`session-item-pin`,"aria-hidden":`true`},St={class:`session-item-title`},Ct={key:2,class:`session-item-live-badge`},wt={class:`session-item-meta`},Tt={key:0,class:`session-item-model`},Et={class:`session-item-time`},Dt=e({__name:`SessionListItem`,props:{session:{},active:{type:Boolean},live:{type:Boolean},pinned:{type:Boolean},canDelete:{type:Boolean}},emits:[`select`,`contextmenu`,`delete`],setup(e,{emit:r}){let i=r,{t:a}=D();return(r,s)=>(d(),n(`button`,{class:S([`session-item`,{active:e.active,live:e.live}]),"aria-current":e.active?`page`:void 0,onClick:s[2]||=e=>i(`select`),onContextmenu:s[3]||=e=>i(`contextmenu`,e)},[t(`div`,vt,[t(`span`,yt,[e.live?(d(),n(`span`,bt,[...s[4]||=[t(`svg`,{class:`session-item-active-spinner`,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`},[t(`circle`,{cx:`12`,cy:`12`,r:`8`,opacity:`0.2`}),t(`path`,{d:`M20 12a8 8 0 0 0-8-8`})],-1)]])):l(``,!0),e.pinned?(d(),n(`span`,xt,[...s[5]||=[t(`svg`,{width:`11`,height:`11`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[t(`path`,{d:`M12 17v5`}),t(`path`,{d:`M5 8l14 0`}),t(`path`,{d:`M8 3l8 0 0 5 3 5-14 0 3-5z`})],-1)]])):l(``,!0),t(`span`,St,v(e.session.title),1),e.live?(d(),n(`span`,Ct,[s[6]||=t(`span`,{class:`live-dot`},null,-1),t(`span`,null,v(h(a)(`chat.liveMode`)),1)])):l(``,!0)]),t(`span`,wt,[e.session.model?(d(),n(`span`,Tt,v(e.session.model),1)):l(``,!0),t(`span`,Et,v(h(Y)(e.session.createdAt)),1)])]),e.canDelete?(d(),E(h(I),{key:0,onPositiveClick:s[1]||=e=>i(`delete`)},{trigger:p(()=>[t(`button`,{class:`session-item-delete`,onClick:s[0]||=g(()=>{},[`stop`])},[...s[7]||=[t(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[t(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),t(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})],-1)]])]),default:p(()=>[o(` `+v(h(a)(`chat.deleteSession`)),1)]),_:1})):l(``,!0)],42,_t))}}),Ot={class:`chat-panel`},kt={class:`session-list-header`},At={key:0,class:`session-list-title`},jt={class:`session-list-actions`},Mt={key:0,class:`session-items`},Nt={key:0,class:`session-loading`},Pt={key:1,class:`session-empty`},Ft={class:`session-group-header session-group-header--static`},It={class:`session-group-label`},Lt={class:`session-group-count`},Rt=[`onClick`],zt={class:`session-group-label`},Bt={class:`session-group-count`},Vt={class:`chat-main`},Ht={class:`chat-header`},Ut={class:`header-left`},Wt={class:`header-session-title`},Gt={key:1,class:`source-badge`},Kt={class:`header-actions`},qt={class:`chat-mode-toggle`},Jt=O(e({__name:`ChatPanel`,setup(e){let s=B(),m=ee(),g=F(),{t:b}=D(),x=C(`chat`),w=C(typeof window>`u`||!window.matchMedia(`(max-width: 768px)`).matches),O=C(w.value),k=null,I=C(!1);function L(e){s.switchSession(e),k?.matches&&(w.value=!1)}function R(e){e!==x.value&&(e===`live`?(O.value=w.value,w.value=!1):w.value=k?.matches?!1:O.value,x.value=e)}function z(e){I.value=e.matches,e.matches&&w.value&&(w.value=!1)}r(()=>{k=window.matchMedia(`(max-width: 768px)`),z(k),k.addEventListener(`change`,z)}),u(()=>{k?.removeEventListener(`change`,z)});let V=C(!1),U=C(``),W=C(null),G=C(null),K=C(new Set(JSON.parse(localStorage.getItem(`hermes_collapsed_groups`)||`[]`)));function q(e){return e===`api_server`?-1:e===`cron`?999:0}function ne(e){return[...e].sort((e,t)=>{let n=s.isSessionLive(e.id);return n===s.isSessionLive(t.id)?(t.updatedAt||0)-(e.updatedAt||0):n?-1:1})}let Y=c(()=>ne(s.sessions.filter(e=>m.isPinned(e.id)))),X=c(()=>{let e=new Map;for(let t of s.sessions){if(m.isPinned(t.id))continue;let n=t.source||``;e.has(n)||e.set(n,[]),e.get(n).push(t)}return[...e.keys()].sort((t,n)=>{let r=e.get(t)?.some(e=>s.isSessionLive(e.id))||!1;if(r!==(e.get(n)?.some(e=>s.isSessionLive(e.id))||!1))return r?-1:1;let i=q(t),a=q(n);return i===a?t.localeCompare(n):i-a}).map(t=>({source:t,label:t?J(t):b(`chat.other`),sessions:ne(e.get(t))}))});function re(e){if(!K.value.has(e))K.value=new Set([...K.value,e]);else{K.value=new Set(X.value.map(e=>e.source).filter(t=>t!==e));let t=X.value.find(t=>t.source===e);t?.sessions.length&&s.switchSession(t.sessions[0].id)}localStorage.setItem(`hermes_collapsed_groups`,JSON.stringify([...K.value]))}f(X,e=>{if(localStorage.getItem(`hermes_collapsed_groups`)!==null){let e=s.activeSession?.source;e&&K.value.has(e)&&(K.value=new Set([...K.value].filter(t=>t!==e)),localStorage.setItem(`hermes_collapsed_groups`,JSON.stringify([...K.value])));return}K.value=new Set(e.slice(1).map(e=>e.source)),localStorage.setItem(`hermes_collapsed_groups`,JSON.stringify([...K.value]))},{once:!0}),f(()=>[s.sessionsLoaded,...s.sessions.map(e=>e.id)],e=>{let t=e.slice(1);!e[0]||t.length===0||m.pruneMissingSessions(t)},{immediate:!0});let ie=c(()=>s.activeSession?.title||b(`chat.newChat`)),ae=c(()=>x.value===`live`?b(`chat.liveSessions`):ie.value),oe=c(()=>x.value===`chat`&&s.activeSession?.source||``);function se(){s.newChat()}async function ce(e){let t=e||s.activeSessionId;t&&(await te(t)?g.success(b(`common.copied`)):g.error(b(`common.copied`)+` ✗`))}function le(e){m.removePinned(e),s.deleteSession(e),g.success(b(`chat.sessionDeleted`))}let Z=C(null),ue=c(()=>Z.value?m.isPinned(Z.value):!1),de=c(()=>[{label:b(ue.value?`chat.unpin`:`chat.pin`),key:`pin`},{label:b(`chat.rename`),key:`rename`},{label:b(`chat.copySessionId`),key:`copy-id`}]);function fe(e,t){e.preventDefault(),Z.value=t,Q.value=!0,me.value=e.clientX,he.value=e.clientY}let Q=C(!1),me=C(0),he=C(0);function ge(e){if(Q.value=!1,Z.value){if(e===`pin`){m.togglePinned(Z.value);return}if(e===`copy-id`)ce(Z.value);else if(e===`rename`){let e=s.sessions.find(e=>e.id===Z.value);W.value=Z.value,U.value=e?.title||``,V.value=!0,a(()=>{G.value?.focus()})}}}function _e(){Q.value=!1}async function ve(){if(!(!W.value||!U.value.trim())){if(await H(W.value,U.value.trim())){let e=s.sessions.find(e=>e.id===W.value);e&&(e.title=U.value.trim()),s.activeSession?.id===W.value&&(s.activeSession.title=U.value.trim()),g.success(b(`chat.renamed`))}else g.error(b(`chat.renameFailed`));V.value=!1}}return(e,r)=>(d(),n(`div`,Ot,[x.value===`chat`?(d(),n(`div`,{key:0,class:S([`session-backdrop`,{active:w.value}]),onClick:r[0]||=e=>w.value=!1},null,2)):l(``,!0),x.value===`chat`?(d(),n(`aside`,{key:1,class:S([`session-list`,{collapsed:!w.value}])},[t(`div`,kt,[w.value?(d(),n(`span`,At,v(h(b)(`chat.sessions`)),1)):l(``,!0),t(`div`,jt,[t(`button`,{class:`session-close-btn`,onClick:r[1]||=e=>w.value=!1},[...r[8]||=[t(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[t(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),t(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})],-1)]]),y(h(M),{quaternary:``,size:`tiny`,onClick:se,circle:``},{icon:p(()=>[...r[9]||=[t(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[t(`line`,{x1:`12`,y1:`5`,x2:`12`,y2:`19`}),t(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`})],-1)]]),_:1})])]),w.value?(d(),n(`div`,Mt,[h(s).isLoadingSessions&&h(s).sessions.length===0?(d(),n(`div`,Nt,v(h(b)(`common.loading`)),1)):h(s).sessions.length===0?(d(),n(`div`,Pt,v(h(b)(`chat.noSessions`)),1)):l(``,!0),Y.value.length>0?(d(),n(T,{key:2},[t(`div`,Ft,[t(`span`,It,v(h(b)(`chat.pinned`)),1),t(`span`,Lt,v(Y.value.length),1)]),(d(!0),n(T,null,i(Y.value,e=>(d(),E(Dt,{key:`pinned-${e.id}`,session:e,active:e.id===h(s).activeSessionId,live:h(s).isSessionLive(e.id),pinned:!0,"can-delete":e.id!==h(s).activeSessionId||h(s).sessions.length>1,onSelect:t=>L(e.id),onContextmenu:t=>fe(t,e.id),onDelete:t=>le(e.id)},null,8,[`session`,`active`,`live`,`can-delete`,`onSelect`,`onContextmenu`,`onDelete`]))),128))],64)):l(``,!0),(d(!0),n(T,null,i(X.value,e=>(d(),n(T,{key:e.source},[t(`div`,{class:`session-group-header`,onClick:t=>re(e.source)},[(d(),n(`svg`,{width:`10`,height:`10`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,class:S([`group-chevron`,{collapsed:K.value.has(e.source)}])},[...r[10]||=[t(`polyline`,{points:`9 18 15 12 9 6`},null,-1)]],2)),t(`span`,zt,v(e.label),1),t(`span`,Bt,v(e.sessions.length),1)],8,Rt),K.value.has(e.source)?l(``,!0):(d(!0),n(T,{key:0},i(e.sessions,e=>(d(),E(Dt,{key:e.id,session:e,active:e.id===h(s).activeSessionId,live:h(s).isSessionLive(e.id),pinned:!1,"can-delete":e.id!==h(s).activeSessionId||h(s).sessions.length>1,onSelect:t=>L(e.id),onContextmenu:t=>fe(t,e.id),onDelete:t=>le(e.id)},null,8,[`session`,`active`,`live`,`can-delete`,`onSelect`,`onContextmenu`,`onDelete`]))),128))],64))),128))])):l(``,!0)],2)):l(``,!0),y(h(j),{placement:`bottom-start`,trigger:`manual`,x:me.value,y:he.value,options:de.value,show:Q.value,onSelect:ge,onClickoutside:_e},null,8,[`x`,`y`,`options`,`show`]),y(h(A),{show:V.value,"onUpdate:show":r[3]||=e=>V.value=e,preset:`dialog`,title:h(b)(`chat.renameSession`),"positive-text":h(b)(`common.ok`),"negative-text":h(b)(`common.cancel`),onPositiveClick:ve},{default:p(()=>[y(h(N),{ref_key:`renameInputRef`,ref:G,value:U.value,"onUpdate:value":r[2]||=e=>U.value=e,placeholder:h(b)(`chat.enterNewTitle`),onKeydown:_(ve,[`enter`])},null,8,[`value`,`placeholder`])]),_:1},8,[`show`,`title`,`positive-text`,`negative-text`]),t(`div`,Vt,[t(`header`,Ht,[t(`div`,Ut,[x.value===`chat`?(d(),E(h(M),{key:0,quaternary:``,size:`small`,onClick:r[4]||=e=>w.value=!w.value,circle:``},{icon:p(()=>[...r[11]||=[t(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`},[t(`rect`,{x:`3`,y:`3`,width:`7`,height:`7`}),t(`rect`,{x:`14`,y:`3`,width:`7`,height:`7`}),t(`rect`,{x:`3`,y:`14`,width:`7`,height:`7`}),t(`rect`,{x:`14`,y:`14`,width:`7`,height:`7`})],-1)]]),_:1})):l(``,!0),t(`span`,Wt,v(ae.value),1),oe.value?(d(),n(`span`,Gt,v(h(J)(oe.value)),1)):l(``,!0)]),t(`div`,Kt,[t(`div`,qt,[y(h(M),{size:`small`,type:x.value===`chat`?`primary`:`default`,"aria-pressed":x.value===`chat`,onClick:r[5]||=e=>R(`chat`)},{default:p(()=>[o(v(h(b)(`chat.chatMode`)),1)]),_:1},8,[`type`,`aria-pressed`]),y(h(M),{size:`small`,type:x.value===`live`?`primary`:`default`,"aria-pressed":x.value===`live`,onClick:r[6]||=e=>R(`live`)},{default:p(()=>[o(v(h(b)(`chat.liveMode`)),1)]),_:1},8,[`type`,`aria-pressed`])]),x.value===`chat`?(d(),n(T,{key:0},[y(h(P),{trigger:`hover`},{trigger:p(()=>[y(h(M),{quaternary:``,size:`small`,onClick:r[7]||=e=>ce(),circle:``},{icon:p(()=>[...r[12]||=[t(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`},[t(`rect`,{x:`9`,y:`9`,width:`13`,height:`13`,rx:`2`,ry:`2`}),t(`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(()=>[o(` `+v(h(b)(`chat.copySessionId`)),1)]),_:1}),y(h(M),{size:`small`,circle:I.value,onClick:se},{icon:p(()=>[...r[13]||=[t(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[t(`line`,{x1:`12`,y1:`5`,x2:`12`,y2:`19`}),t(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`})],-1)]]),default:p(()=>[I.value?l(``,!0):(d(),n(T,{key:0},[o(v(h(b)(`chat.newChat`)),1)],64))]),_:1},8,[`circle`])],64)):l(``,!0)])]),x.value===`chat`?(d(),n(T,{key:0},[y(gt),y(pe)],64)):(d(),E(Le,{key:1,"human-only":h(m).humanOnly},null,8,[`human-only`]))])]))}}),[[`__scopeId`,`data-v-ed01ae3e`]]),Yt={class:`chat-view`},Xt=O(e({__name:`ChatView`,setup(e){let t=R(),i=B(),a=z();return r(async()=>{t.loadModels(),await a.fetchProfiles(),i.loadSessions()}),(e,t)=>(d(),n(`div`,Yt,[y(Jt)]))}}),[[`__scopeId`,`data-v-6dae3628`]]);export{Xt as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{A as e,M as t,S as n,ut as r}from"./router-
|
|
1
|
+
import{A as e,M as t,S as n,ut as r}from"./router-Deam6ffd.js";import{ct as i,ft as a,l as o,lt as s,pt as c}from"./browser-CRTDc_Be.js";import{n as l,r as u}from"./fade-in.cssr-ZKfQkQl9.js";function d(e,t){return n(()=>{for(let n of t)if(e[n]!==void 0)return e[n];return e[t[t.length-1]]})}var f=l(`close`,()=>t(`svg`,{viewBox:`0 0 12 12`,version:`1.1`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":!0},t(`g`,{stroke:`none`,"stroke-width":`1`,fill:`none`,"fill-rule":`evenodd`},t(`g`,{fill:`currentColor`,"fill-rule":`nonzero`},t(`path`,{d:`M2.08859116,2.2156945 L2.14644661,2.14644661 C2.32001296,1.97288026 2.58943736,1.95359511 2.7843055,2.08859116 L2.85355339,2.14644661 L6,5.293 L9.14644661,2.14644661 C9.34170876,1.95118446 9.65829124,1.95118446 9.85355339,2.14644661 C10.0488155,2.34170876 10.0488155,2.65829124 9.85355339,2.85355339 L6.707,6 L9.85355339,9.14644661 C10.0271197,9.32001296 10.0464049,9.58943736 9.91140884,9.7843055 L9.85355339,9.85355339 C9.67998704,10.0271197 9.41056264,10.0464049 9.2156945,9.91140884 L9.14644661,9.85355339 L6,6.707 L2.85355339,9.85355339 C2.65829124,10.0488155 2.34170876,10.0488155 2.14644661,9.85355339 C1.95118446,9.65829124 1.95118446,9.34170876 2.14644661,9.14644661 L5.293,6 L2.14644661,2.85355339 C1.97288026,2.67998704 1.95359511,2.41056264 2.08859116,2.2156945 L2.14644661,2.14644661 L2.08859116,2.2156945 Z`}))))),p=s(`base-close`,`
|
|
2
2
|
display: flex;
|
|
3
3
|
align-items: center;
|
|
4
4
|
justify-content: center;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{A as e,B as t,G as n,I as r,M as i,P as a,S as o,Y as s,at as c,ot as l,st as u,u as d,ut as f,v as p,z as m}from"./router-
|
|
1
|
+
import{A as e,B as t,G as n,I as r,M as i,P as a,S as o,Y as s,at as c,ot as l,st as u,u as d,ut as f,v as p,z as m}from"./router-Deam6ffd.js";import{B as h,J as g,Z as _,c as v,ct as y,dt as b,et as x,ft as S,lt as C,mt as w,nt as T,pt as E,z as D}from"./browser-CRTDc_Be.js";import{C as O,E as k,N as A,S as j,T as M,c as N,g as P,k as F,l as I,m as L,n as R,o as z,r as B,t as ee}from"./Popover-Df4h1K87.js";import{i as V,t as te}from"./create-DgSD0xTd.js";import{d as ne,f as H,p as U,r as re}from"./Suffix-D03EcSpG.js";import{r as ie,t as ae}from"./light-BOJpHLZr.js";function oe(e={},n){let r=c({ctrl:!1,command:!1,win:!1,shift:!1,tab:!1}),{keydown:i,keyup:a}=e,o=e=>{switch(e.key){case`Control`:r.ctrl=!0;break;case`Meta`:r.command=!0,r.win=!0;break;case`Shift`:r.shift=!0;break;case`Tab`:r.tab=!0;break}i!==void 0&&Object.keys(i).forEach(t=>{if(t!==e.key)return;let n=i[t];if(typeof n==`function`)n(e);else{let{stop:t=!1,prevent:r=!1}=n;t&&e.stopPropagation(),r&&e.preventDefault(),n.handler(e)}})},u=e=>{switch(e.key){case`Control`:r.ctrl=!1;break;case`Meta`:r.command=!1,r.win=!1;break;case`Shift`:r.shift=!1;break;case`Tab`:r.tab=!1;break}a!==void 0&&Object.keys(a).forEach(t=>{if(t!==e.key)return;let n=a[t];if(typeof n==`function`)n(e);else{let{stop:t=!1,prevent:r=!1}=n;t&&e.stopPropagation(),r&&e.preventDefault(),n.handler(e)}})},d=()=>{(n===void 0||n.value)&&(U(`keydown`,document,o),U(`keyup`,document,u)),n!==void 0&&s(n,e=>{e?(U(`keydown`,document,o),U(`keyup`,document,u)):(H(`keydown`,document,o),H(`keyup`,document,u))})};return A()?(m(d),t(()=>{(n===void 0||n.value)&&(H(`keydown`,document,o),H(`keyup`,document,u))})):d(),l(r)}function se(e,t,n){if(!t)return e;let r=u(e.value),i=null;return s(e,e=>{i!==null&&window.clearTimeout(i),e===!0?n&&!n.value?r.value=!0:i=window.setTimeout(()=>{r.value=!0},t):r.value=!1}),r}function ce(e){return t=>{t?e.value=t.$el:e.value=null}}var W=e({name:`ChevronRight`,render(){return i(`svg`,{viewBox:`0 0 16 16`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},i(`path`,{d:`M5.64645 3.14645C5.45118 3.34171 5.45118 3.65829 5.64645 3.85355L9.79289 8L5.64645 12.1464C5.45118 12.3417 5.45118 12.6583 5.64645 12.8536C5.84171 13.0488 6.15829 13.0488 6.35355 12.8536L10.8536 8.35355C11.0488 8.15829 11.0488 7.84171 10.8536 7.64645L6.35355 3.14645C6.15829 2.95118 5.84171 2.95118 5.64645 3.14645Z`,fill:`currentColor`}))}}),G=x(`n-dropdown-menu`),K=x(`n-dropdown`),q=x(`n-dropdown-option`),J=e({name:`DropdownDivider`,props:{clsPrefix:{type:String,required:!0}},render(){return i(`div`,{class:`${this.clsPrefix}-dropdown-divider`})}}),le=e({name:`DropdownGroupHeader`,props:{clsPrefix:{type:String,required:!0},tmNode:{type:Object,required:!0}},setup(){let{showIconRef:e,hasSubmenuRef:t}=a(G),{renderLabelRef:n,labelFieldRef:r,nodePropsRef:i,renderOptionRef:o}=a(K);return{labelField:r,showIcon:e,hasSubmenu:t,renderLabel:n,nodeProps:i,renderOption:o}},render(){let{clsPrefix:e,hasSubmenu:t,showIcon:n,nodeProps:r,renderLabel:a,renderOption:o}=this,{rawNode:s}=this.tmNode,c=i(`div`,Object.assign({class:`${e}-dropdown-option`},r?.(s)),i(`div`,{class:`${e}-dropdown-option-body ${e}-dropdown-option-body--group`},i(`div`,{"data-dropdown-option":!0,class:[`${e}-dropdown-option-body__prefix`,n&&`${e}-dropdown-option-body__prefix--show-icon`]},N(s.icon)),i(`div`,{class:`${e}-dropdown-option-body__label`,"data-dropdown-option":!0},a?a(s):N(s.title??s[this.labelField])),i(`div`,{class:[`${e}-dropdown-option-body__suffix`,t&&`${e}-dropdown-option-body__suffix--has-submenu`],"data-dropdown-option":!0})));return o?o({node:c,option:s}):c}}),ue=C(`icon`,`
|
|
2
2
|
height: 1em;
|
|
3
3
|
width: 1em;
|
|
4
4
|
line-height: 1em;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{A as e,G as t,H as n,I as r,M as i,P as a,R as o,S as s,V as c,st as l,ut as u}from"./router-
|
|
1
|
+
import{A as e,G as t,H as n,I as r,M as i,P as a,R as o,S as s,V as c,st as l,ut as u}from"./router-Deam6ffd.js";import{B as d,Q as f,c as p,ct as m,dt as h,lt as g,mt as _,n as v,nt as y,z as b}from"./browser-CRTDc_Be.js";import{R as x,v as S,y as C}from"./Popover-Df4h1K87.js";import{l as w,s as T}from"./Suffix-D03EcSpG.js";import{r as E,s as D,u as O}from"./fade-in.cssr-ZKfQkQl9.js";function k(e){return e&-e}var A=class{constructor(e,t){this.l=e,this.min=t;let n=Array(e+1);for(let t=0;t<e+1;++t)n[t]=0;this.ft=n}add(e,t){if(t===0)return;let{l:n,ft:r}=this;for(e+=1;e<=n;)r[e]+=t,e+=k(e)}get(e){return this.sum(e+1)-this.sum(e)}sum(e){if(e===void 0&&(e=this.l),e<=0)return 0;let{ft:t,min:n,l:r}=this;if(e>r)throw Error("[FinweckTree.sum]: `i` is larger than length.");let i=e*n;for(;e>0;)i+=t[e],e-=k(e);return i}getBound(e){let t=0,n=this.l;for(;n>t;){let r=Math.floor((t+n)/2),i=this.sum(r);if(i>e){n=r;continue}else if(i<e){if(t===r)return this.sum(t+1)<=e?t+1:r;t=r}else return r}return t}},j;function M(){return typeof document>`u`?!1:(j===void 0&&(j=`matchMedia`in window?window.matchMedia(`(pointer:coarse)`).matches:!1),j)}var N;function P(){return typeof document>`u`?1:(N===void 0&&(N=`chrome`in window?window.devicePixelRatio:1),N)}var F=`VVirtualListXScroll`;function I({columnsRef:e,renderColRef:n,renderItemWithColsRef:r}){let i=l(0),a=l(0),o=s(()=>{let t=e.value;if(t.length===0)return null;let n=new A(t.length,0);return t.forEach((e,t)=>{n.add(t,e.width)}),n});return t(F,{startIndexRef:y(()=>{let e=o.value;return e===null?0:Math.max(e.getBound(a.value)-1,0)}),endIndexRef:y(()=>{let t=o.value;return t===null?0:Math.min(t.getBound(a.value+i.value)+1,e.value.length-1)}),columnsRef:e,renderColRef:n,renderItemWithColsRef:r,getLeft:e=>{let t=o.value;return t===null?0:t.sum(e)}}),{listWidthRef:i,scrollLeftRef:a}}var L=e({name:`VirtualListRow`,props:{index:{type:Number,required:!0},item:{type:Object,required:!0}},setup(){let{startIndexRef:e,endIndexRef:t,columnsRef:n,getLeft:r,renderColRef:i,renderItemWithColsRef:o}=a(F);return{startIndex:e,endIndex:t,columns:n,renderCol:i,renderItemWithCols:o,getLeft:r}},render(){let{startIndex:e,endIndex:t,columns:n,renderCol:r,renderItemWithCols:i,getLeft:a,item:o}=this;if(i!=null)return i({itemIndex:this.index,startColIndex:e,endColIndex:t,allColumns:n,item:o,getLeft:a});if(r!=null){let i=[];for(let s=e;s<=t;++s){let e=n[s];i.push(r({column:e,left:a(s),item:o}))}return i}return null}}),R=S(`.v-vl`,{maxHeight:`inherit`,height:`100%`,overflow:`auto`,minWidth:`1px`},[S(`&:not(.v-vl--show-scrollbar)`,{scrollbarWidth:`none`},[S(`&::-webkit-scrollbar, &::-webkit-scrollbar-track-piece, &::-webkit-scrollbar-thumb`,{width:0,height:0,display:`none`})])]),z=e({name:`VirtualList`,inheritAttrs:!1,props:{showScrollbar:{type:Boolean,default:!0},columns:{type:Array,default:()=>[]},renderCol:Function,renderItemWithCols:Function,items:{type:Array,default:()=>[]},itemSize:{type:Number,required:!0},itemResizable:Boolean,itemsStyle:[String,Object],visibleItemsTag:{type:[String,Object],default:`div`},visibleItemsProps:Object,ignoreItemResize:Boolean,onScroll:Function,onWheel:Function,onResize:Function,defaultScrollKey:[Number,String],defaultScrollIndex:Number,keyField:{type:String,default:`key`},paddingTop:{type:[Number,String],default:0},paddingBottom:{type:[Number,String],default:0}},setup(e){let t=f();R.mount({id:`vueuc/virtual-list`,head:!0,anchorMetaName:C,ssr:t}),n(()=>{let{defaultScrollIndex:t,defaultScrollKey:n}=e;t==null?n!=null&&E({key:n}):E({index:t})});let r=!1,i=!1;o(()=>{if(r=!1,!i){i=!0;return}E({top:S.value,left:p.value})}),c(()=>{r=!0,i||=!0});let a=y(()=>{if(e.renderCol==null&&e.renderItemWithCols==null||e.columns.length===0)return;let t=0;return e.columns.forEach(e=>{t+=e.width}),t}),d=s(()=>{let t=new Map,{keyField:n}=e;return e.items.forEach((e,r)=>{t.set(e[n],r)}),t}),{scrollLeftRef:p,listWidthRef:m}=I({columnsRef:u(e,`columns`),renderColRef:u(e,`renderCol`),renderItemWithColsRef:u(e,`renderItemWithCols`)}),h=l(null),g=l(void 0),_=new Map,v=s(()=>{let{items:t,itemSize:n,keyField:r}=e,i=new A(t.length,n);return t.forEach((e,t)=>{let n=e[r],a=_.get(n);a!==void 0&&i.add(t,a)}),i}),b=l(0),S=l(0),w=y(()=>Math.max(v.value.getBound(S.value-D(e.paddingTop))-1,0)),T=s(()=>{let{value:t}=g;if(t===void 0)return[];let{items:n,itemSize:r}=e,i=w.value,a=Math.min(i+Math.ceil(t/r+1),n.length-1),o=[];for(let e=i;e<=a;++e)o.push(n[e]);return o}),E=(e,t)=>{if(typeof e==`number`){F(e,t,`auto`);return}let{left:n,top:r,index:i,key:a,position:o,behavior:s,debounce:c=!0}=e;if(n!==void 0||r!==void 0)F(n,r,s);else if(i!==void 0)N(i,s,c);else if(a!==void 0){let e=d.value.get(a);e!==void 0&&N(e,s,c)}else o===`bottom`?F(0,2**53-1,s):o===`top`&&F(0,0,s)},k,j=null;function N(t,n,r){let{value:i}=v,a=i.sum(t)+D(e.paddingTop);if(!r)h.value.scrollTo({left:0,top:a,behavior:n});else{k=t,j!==null&&window.clearTimeout(j),j=window.setTimeout(()=>{k=void 0,j=null},16);let{scrollTop:e,offsetHeight:r}=h.value;if(a>e){let o=i.get(t);a+o<=e+r||h.value.scrollTo({left:0,top:a+o-r,behavior:n})}else h.value.scrollTo({left:0,top:a,behavior:n})}}function F(e,t,n){h.value.scrollTo({left:e,top:t,behavior:n})}function L(t,n){if(r||e.ignoreItemResize||G(n.target))return;let{value:i}=v,a=d.value.get(t),o=i.get(a),s=n.borderBoxSize?.[0]?.blockSize??n.contentRect.height;if(s===o)return;s-e.itemSize===0?_.delete(t):_.set(t,s-e.itemSize);let c=s-o;if(c===0)return;i.add(a,c);let l=h.value;if(l!=null){if(k===void 0){let e=i.sum(a);l.scrollTop>e&&l.scrollBy(0,c)}else (a<k||a===k&&s+i.sum(a)>l.scrollTop+l.offsetHeight)&&l.scrollBy(0,c);W()}b.value++}let z=!M(),B=!1;function V(t){var n;(n=e.onScroll)==null||n.call(e,t),(!z||!B)&&W()}function H(t){var n;if((n=e.onWheel)==null||n.call(e,t),z){let e=h.value;if(e!=null){if(t.deltaX===0&&(e.scrollTop===0&&t.deltaY<=0||e.scrollTop+e.offsetHeight>=e.scrollHeight&&t.deltaY>=0))return;t.preventDefault(),e.scrollTop+=t.deltaY/P(),e.scrollLeft+=t.deltaX/P(),W(),B=!0,x(()=>{B=!1})}}}function U(t){if(r||G(t.target))return;if(e.renderCol==null&&e.renderItemWithCols==null){if(t.contentRect.height===g.value)return}else if(t.contentRect.height===g.value&&t.contentRect.width===m.value)return;g.value=t.contentRect.height,m.value=t.contentRect.width;let{onResize:n}=e;n!==void 0&&n(t)}function W(){let{value:e}=h;e!=null&&(S.value=e.scrollTop,p.value=e.scrollLeft)}function G(e){let t=e;for(;t!==null;){if(t.style.display===`none`)return!0;t=t.parentElement}return!1}return{listHeight:g,listStyle:{overflow:`auto`},keyToIndex:d,itemsStyle:s(()=>{let{itemResizable:t}=e,n=O(v.value.sum());return b.value,[e.itemsStyle,{boxSizing:`content-box`,width:O(a.value),height:t?``:n,minHeight:t?n:``,paddingTop:O(e.paddingTop),paddingBottom:O(e.paddingBottom)}]}),visibleItemsStyle:s(()=>(b.value,{transform:`translateY(${O(v.value.sum(w.value))})`})),viewportItems:T,listElRef:h,itemsElRef:l(null),scrollTo:E,handleListResize:U,handleListScroll:V,handleListWheel:H,handleItemResize:L}},render(){let{itemResizable:e,keyField:t,keyToIndex:n,visibleItemsTag:a}=this;return i(w,{onResize:this.handleListResize},{default:()=>{var o;return i(`div`,r(this.$attrs,{class:[`v-vl`,this.showScrollbar&&`v-vl--show-scrollbar`],onScroll:this.handleListScroll,onWheel:this.handleListWheel,ref:`listElRef`}),[this.items.length===0?(o=this.$slots).empty?.call(o):i(`div`,{ref:`itemsElRef`,class:`v-vl-items`,style:this.itemsStyle},[i(a,Object.assign({class:`v-vl-visible-items`,style:this.visibleItemsStyle},this.visibleItemsProps),{default:()=>{let{renderCol:r,renderItemWithCols:a}=this;return this.viewportItems.map(o=>{let s=o[t],c=n.get(s),l=r==null?void 0:i(L,{index:c,item:o}),u=a==null?void 0:i(L,{index:c,item:o}),d=this.$slots.default({item:o,renderedCols:l,renderedItemWithCols:u,index:c})[0];return e?i(w,{key:s,onResize:e=>this.handleItemResize(s,e)},{default:()=>d}):(d.key=s,d)})}})])])}})}}),B=e({name:`Empty`,render(){return i(`svg`,{viewBox:`0 0 28 28`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},i(`path`,{d:`M26 7.5C26 11.0899 23.0899 14 19.5 14C15.9101 14 13 11.0899 13 7.5C13 3.91015 15.9101 1 19.5 1C23.0899 1 26 3.91015 26 7.5ZM16.8536 4.14645C16.6583 3.95118 16.3417 3.95118 16.1464 4.14645C15.9512 4.34171 15.9512 4.65829 16.1464 4.85355L18.7929 7.5L16.1464 10.1464C15.9512 10.3417 15.9512 10.6583 16.1464 10.8536C16.3417 11.0488 16.6583 11.0488 16.8536 10.8536L19.5 8.20711L22.1464 10.8536C22.3417 11.0488 22.6583 11.0488 22.8536 10.8536C23.0488 10.6583 23.0488 10.3417 22.8536 10.1464L20.2071 7.5L22.8536 4.85355C23.0488 4.65829 23.0488 4.34171 22.8536 4.14645C22.6583 3.95118 22.3417 3.95118 22.1464 4.14645L19.5 6.79289L16.8536 4.14645Z`,fill:`currentColor`}),i(`path`,{d:`M25 22.75V12.5991C24.5572 13.0765 24.053 13.4961 23.5 13.8454V16H17.5L17.3982 16.0068C17.0322 16.0565 16.75 16.3703 16.75 16.75C16.75 18.2688 15.5188 19.5 14 19.5C12.4812 19.5 11.25 18.2688 11.25 16.75L11.2432 16.6482C11.1935 16.2822 10.8797 16 10.5 16H4.5V7.25C4.5 6.2835 5.2835 5.5 6.25 5.5H12.2696C12.4146 4.97463 12.6153 4.47237 12.865 4H6.25C4.45507 4 3 5.45507 3 7.25V22.75C3 24.5449 4.45507 26 6.25 26H21.75C23.5449 26 25 24.5449 25 22.75ZM4.5 22.75V17.5H9.81597L9.85751 17.7041C10.2905 19.5919 11.9808 21 14 21L14.215 20.9947C16.2095 20.8953 17.842 19.4209 18.184 17.5H23.5V22.75C23.5 23.7165 22.7165 24.5 21.75 24.5H6.25C5.2835 24.5 4.5 23.7165 4.5 22.75Z`,fill:`currentColor`}))}}),V={iconSizeTiny:`28px`,iconSizeSmall:`34px`,iconSizeMedium:`40px`,iconSizeLarge:`46px`,iconSizeHuge:`52px`};function H(e){let{textColorDisabled:t,iconColor:n,textColor2:r,fontSizeTiny:i,fontSizeSmall:a,fontSizeMedium:o,fontSizeLarge:s,fontSizeHuge:c}=e;return Object.assign(Object.assign({},V),{fontSizeTiny:i,fontSizeSmall:a,fontSizeMedium:o,fontSizeLarge:s,fontSizeHuge:c,textColor:t,iconColor:n,extraTextColor:r})}var U={name:`Empty`,common:v,self:H},W=g(`empty`,`
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
4
|
align-items: center;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/cssMode-DuLfQ0R_.js","assets/lspLanguageFeatures-B95K-PCU.js","assets/editor.api2-DXf3wf2_.js","assets/chunk-DECur_0Z.js","assets/editor-Br_kD0ds.css","assets/workers-rtkNY4Ef.js","assets/htmlMode-H_gqdZ5h.js","assets/jsonMode-BLdIcbxa.js","assets/freemarker2-BJywvy-6.js","assets/handlebars-DqUpBxgH.js","assets/html-DhH6WTBt.js","assets/javascript-05pIhd4Y.js","assets/typescript-CIa57MS_.js","assets/liquid-nqKfrf5r.js","assets/mdx-_cBoTPvb.js","assets/python-CMbwnkAX.js","assets/razor-Bsd_Kdo4.js","assets/xml-C900Nhri.js","assets/yaml-D3f4VH6B.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{n as e}from"./chunk-DECur_0Z.js";import{A as t,B as n,C as r,E as i,G as a,H as o,K as s,L as c,M as l,O as u,P as d,S as f,T as p,U as m,W as h,X as g,Y as _,Z as v,a as y,ft as b,g as x,h as ee,ht as S,k as C,n as te,r as ne,st as w,ut as T,v as re,w as E}from"./router-
|
|
2
|
+
import{n as e}from"./chunk-DECur_0Z.js";import{A as t,B as n,C as r,E as i,G as a,H as o,K as s,L as c,M as l,O as u,P as d,S as f,T as p,U as m,W as h,X as g,Y as _,Z as v,a as y,ft as b,g as x,h as ee,ht as S,k as C,n as te,r as ne,st as w,ut as T,v as re,w as E}from"./router-Deam6ffd.js";import{n as ie}from"./pinia-UrA63qkH.js";import{t as D}from"./preload-helper-rov5CBGT.js";import{r as O,t as k}from"./_plugin-vue_export-helper-9xP-z52L.js";import{$ as ae,B as oe,J as A,K as se,R as j,W as M,a as N,c as ce,ct as P,d as le,dt as F,et as I,ft as L,gt as ue,ht as de,lt as R,mt as fe,nt as z,o as pe,pt as B,r as me,z as he}from"./browser-CRTDc_Be.js";import{I as ge,L as _e,c as ve}from"./Popover-Df4h1K87.js";import{i as ye,n as be,r as xe,t as Se}from"./create-DgSD0xTd.js";import{d as Ce,p as we,r as Te}from"./Suffix-D03EcSpG.js";import{l as Ee,r as De,s as Oe,u as ke}from"./fade-in.cssr-ZKfQkQl9.js";import{t as Ae}from"./Modal-CcDwIOab.js";import{n as V,t as je}from"./Dropdown-PWEJ7U74.js";import{i as Me,t as Ne}from"./Empty-D2AE_ZlK.js";import{a as Pe,t as H}from"./Button-XML6qzjK.js";import{t as Fe}from"./Upload-BRboVHlo.js";import{t as Ie}from"./Space-C979miZ6.js";import{t as Le}from"./Input-DWLw7VSO.js";import{t as Re}from"./fade-in-height-expand.cssr-Di-q1YGm.js";import{a as ze,n as Be,r as Ve}from"./light-C3LBcWfs.js";import{t as He}from"./composables-BjmZducA.js";import{t as Ue}from"./use-message-sJtQsIMH.js";import{t as We}from"./Spin-DicuilvT.js";import{a as Ge,c as Ke,i as U,l as qe,n as Je,r as Ye,t as Xe,u as W}from"./editor.api2-DXf3wf2_.js";import"./workers-rtkNY4Ef.js";import{t as Ze}from"./monaco.contribution-DRFiJmCN.js";import{t as Qe}from"./clipboard-B8wB3Hjs.js";import{a as $e,t as et}from"./MarkdownRenderer-Dzf2i2R9.js";function tt(e){return typeof e==`string`?`s-${e}`:`n-${e}`}var nt=t({name:`Switcher`,render(){return l(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 32`},l(`path`,{d:`M12 8l10 8l-10 8z`}))}}),rt=R(`breadcrumb`,`
|
|
3
3
|
white-space: nowrap;
|
|
4
4
|
cursor: default;
|
|
5
5
|
line-height: var(--n-item-line-height);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{A as e,B as t,G as n,H as r,M as i,P as a,S as o,Y as s,j as c,st as l,u,ut as d}from"./router-
|
|
1
|
+
import{A as e,B as t,G as n,H as r,M as i,P as a,S as o,Y as s,j as c,st as l,u,ut as d}from"./router-Deam6ffd.js";import{B as f,K as p,L as m,Z as h,c as g,ct as _,dt as v,et as y,ft as b,lt as x,mt as S,u as C,z as ee}from"./browser-CRTDc_Be.js";import{I as te,m as w,s as ne}from"./Popover-Df4h1K87.js";import{n as T}from"./Warning-Dme2hdHB.js";import{t as re}from"./light-DS_k1uOd.js";function ie(e,n,r){let i=a(e,null);if(i===null)return;let o=c()?.proxy;s(r,l),l(r.value),t(()=>{l(void 0,r.value)});function l(e,t){if(!i)return;let r=i[n];t!==void 0&&u(r,t),e!==void 0&&d(r,e)}function u(e,t){e[t]||(e[t]=[]),e[t].splice(e[t].findIndex(e=>e===o),1)}function d(e,t){e[t]||(e[t]=[]),~e[t].findIndex(e=>e===o)||e[t].push(o)}}var E=y(`n-form`),ae=y(`n-form-item-insts`),D=x(`form`,[b(`inline`,`
|
|
2
2
|
width: 100%;
|
|
3
3
|
display: inline-flex;
|
|
4
4
|
align-items: flex-start;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as e,C as t,E as n,H as r,K as i,O as a,T as o,W as s,Z as c,a as l,ft as u,ht as d,k as f,st as p,v as m}from"./router-
|
|
1
|
+
import{A as e,C as t,E as n,H as r,K as i,O as a,T as o,W as s,Z as c,a as l,ft as u,ht as d,k as f,st as p,v as m}from"./router-Deam6ffd.js";import{n as h}from"./pinia-UrA63qkH.js";import{r as g,t as _}from"./_plugin-vue_export-helper-9xP-z52L.js";import{t as v}from"./Button-XML6qzjK.js";import{t as y}from"./Tag-DdDsBGRV.js";import{t as b}from"./use-message-sJtQsIMH.js";import{t as x}from"./Spin-DicuilvT.js";async function S(){return(await l(`/api/hermes/gateways`)).gateways}async function C(e){return(await l(`/api/hermes/gateways/${e}/start`,{method:`POST`})).gateway}async function w(e){await l(`/api/hermes/gateways/${e}/stop`,{method:`POST`})}var T=h(`gateways`,()=>{let e=p([]),t=p(!1);async function n(){t.value=!0;try{let t=await S();e.value=Array.isArray(t)?t:Object.values(t||{})}finally{t.value=!1}}async function r(n){t.value=!0;try{let t=await C(n),r=e.value.findIndex(e=>e.profile===n);r>=0?e.value[r]=t:e.value.push(t)}finally{t.value=!1}}async function i(n){t.value=!0;try{await w(n);let t=e.value.find(e=>e.profile===n);t&&(t.running=!1,t.pid=void 0)}finally{t.value=!1}}return{gateways:e,loading:t,fetchStatus:n,start:r,stop:i}}),E={class:`gateways-view`},D={class:`page-header`},O={class:`header-title`},k={class:`gateways-content`},A={key:0,class:`empty-state`},j={key:1,class:`gateway-list`},M={class:`gateway-info`},N={class:`gateway-name`},P={class:`gateway-meta`},F={class:`meta-item`},I={key:0,class:`meta-item`},L={class:`gateway-actions`},R=_(e({__name:`GatewaysView`,setup(e){let{t:l}=g(),p=b(),h=T();r(()=>{h.fetchStatus()});async function _(e,t){try{t?(await h.stop(e),p.success(`${l(`gateways.stopped`)}: ${e}`)):(await h.start(e),p.success(`${l(`gateways.started`)}: ${e}`))}catch(e){p.error(e.message)}}return(e,r)=>(s(),n(`div`,E,[t(`header`,D,[t(`h2`,O,d(u(l)(`gateways.title`)),1)]),t(`div`,k,[f(u(x),{show:u(h).loading,size:`large`},{default:c(()=>[u(h).gateways.length===0?(s(),n(`div`,A,d(u(l)(`common.noData`)),1)):(s(),n(`div`,j,[(s(!0),n(m,null,i(u(h).gateways,e=>(s(),n(`div`,{key:e.profile,class:`gateway-card`},[t(`div`,M,[t(`div`,N,d(e.profile),1),t(`div`,P,[t(`span`,F,d(e.host)+`:`+d(e.port),1),e.pid?(s(),n(`span`,I,`PID: `+d(e.pid),1)):o(``,!0)])]),t(`div`,L,[f(u(y),{type:e.running?`success`:`default`,size:`small`,round:``},{default:c(()=>[a(d(e.running?u(l)(`gateways.running`):u(l)(`gateways.stopped`)),1)]),_:2},1032,[`type`]),f(u(v),{size:`small`,type:e.running?`warning`:`primary`,round:``,onClick:t=>_(e.profile,e.running)},{default:c(()=>[a(d(e.running?u(l)(`common.stop`):u(l)(`common.start`)),1)]),_:2},1032,[`type`,`onClick`])])]))),128))]))]),_:1},8,[`show`])])]))}}),[[`__scopeId`,`data-v-d70aa8a3`]]);export{R as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e,r as t,t as n}from"./chunk-DECur_0Z.js";import{A as r,C as i,E as a,G as o,H as s,K as c,L as l,M as u,O as d,P as f,Q as p,S as m,T as h,U as g,W as _,Y as v,Z as y,a as b,ft as x,g as S,h as C,ht as w,k as T,m as E,mt as ee,n as D,p as te,pt as O,st as k,ut as A,v as j,w as M,y as ne}from"./router-
|
|
1
|
+
import{n as e,r as t,t as n}from"./chunk-DECur_0Z.js";import{A as r,C as i,E as a,G as o,H as s,K as c,L as l,M as u,O as d,P as f,Q as p,S as m,T as h,U as g,W as _,Y as v,Z as y,a as b,ft as x,g as S,h as C,ht as w,k as T,m as E,mt as ee,n as D,p as te,pt as O,st as k,ut as A,v as j,w as M,y as ne}from"./router-Deam6ffd.js";import{n as N}from"./pinia-UrA63qkH.js";import{r as re,t as P}from"./_plugin-vue_export-helper-9xP-z52L.js";import{B as ie,G as ae,J as F,X as oe,c as se,ct as ce,d as le,dt as I,et as ue,ft as L,lt as R,nt as de,pt as fe,q as pe,z as me}from"./browser-CRTDc_Be.js";import{F as he,I as ge,t as _e}from"./Popover-Df4h1K87.js";import{i as ve}from"./create-DgSD0xTd.js";import{d as ye}from"./Suffix-D03EcSpG.js";import{r as be}from"./fade-in.cssr-ZKfQkQl9.js";import{r as xe,t as Se}from"./Dropdown-PWEJ7U74.js";import{t as Ce}from"./Select-CN-VEjPp.js";import{a as we,t as z}from"./Button-XML6qzjK.js";import{t as Te}from"./Space-C979miZ6.js";import{t as B}from"./Input-DWLw7VSO.js";import{t as V}from"./InputNumber-DWU7lpWO.js";import{t as Ee}from"./fade-in-height-expand.cssr-Di-q1YGm.js";import{t as De}from"./light--dc4fdXI.js";import{t as Oe}from"./use-message-sJtQsIMH.js";import{t as ke}from"./Popconfirm-zfNVjMed.js";import{t as Ae}from"./profiles-Dk45I0q1.js";import{t as je}from"./MarkdownRenderer-Dzf2i2R9.js";var Me=r({name:`ChevronLeft`,render(){return u(`svg`,{viewBox:`0 0 16 16`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},u(`path`,{d:`M10.3536 3.14645C10.5488 3.34171 10.5488 3.65829 10.3536 3.85355L6.20711 8L10.3536 12.1464C10.5488 12.3417 10.5488 12.6583 10.3536 12.8536C10.1583 13.0488 9.84171 13.0488 9.64645 12.8536L5.14645 8.35355C4.95118 8.15829 4.95118 7.84171 5.14645 7.64645L9.64645 3.14645C9.84171 2.95118 10.1583 2.95118 10.3536 3.14645Z`,fill:`currentColor`}))}}),Ne=R(`collapse`,`width: 100%;`,[R(`collapse-item`,`
|
|
2
2
|
font-size: var(--n-font-size);
|
|
3
3
|
color: var(--n-text-color);
|
|
4
4
|
transition:
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{A as e,G as t,H as n,L as r,M as i,P as a,S as o,X as s,Y as c,j as l,st as u,ut as d,v as f}from"./router-
|
|
1
|
+
import{A as e,G as t,H as n,L as r,M as i,P as a,S as o,X as s,Y as c,j as l,st as u,ut as d,v as f}from"./router-Deam6ffd.js";import{B as ee,G as p,J as m,K as h,R as te,W as g,c as _,ct as v,d as ne,dt as y,et as b,ft as x,l as re,lt as S,mt as C,n as w,nt as T,pt as E,rt as D,s as O,t as k,z as A}from"./browser-CRTDc_Be.js";import{d as ie,f as ae,i as oe,l as j,n as M,o as N,p as P,s as se,t as F}from"./Suffix-D03EcSpG.js";import{l as ce,r as I}from"./fade-in.cssr-ZKfQkQl9.js";var L=e({name:`Eye`,render(){return i(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 512 512`},i(`path`,{d:`M255.66 112c-77.94 0-157.89 45.11-220.83 135.33a16 16 0 0 0-.27 17.77C82.92 340.8 161.8 400 255.66 400c92.84 0 173.34-59.38 221.79-135.25a16.14 16.14 0 0 0 0-17.47C428.89 172.28 347.8 112 255.66 112z`,fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`32`}),i(`circle`,{cx:`256`,cy:`256`,r:`80`,fill:`none`,stroke:`currentColor`,"stroke-miterlimit":`10`,"stroke-width":`32`}))}}),R=e({name:`EyeOff`,render(){return i(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 512 512`},i(`path`,{d:`M432 448a15.92 15.92 0 0 1-11.31-4.69l-352-352a16 16 0 0 1 22.62-22.62l352 352A16 16 0 0 1 432 448z`,fill:`currentColor`}),i(`path`,{d:`M255.66 384c-41.49 0-81.5-12.28-118.92-36.5c-34.07-22-64.74-53.51-88.7-91v-.08c19.94-28.57 41.78-52.73 65.24-72.21a2 2 0 0 0 .14-2.94L93.5 161.38a2 2 0 0 0-2.71-.12c-24.92 21-48.05 46.76-69.08 76.92a31.92 31.92 0 0 0-.64 35.54c26.41 41.33 60.4 76.14 98.28 100.65C162 402 207.9 416 255.66 416a239.13 239.13 0 0 0 75.8-12.58a2 2 0 0 0 .77-3.31l-21.58-21.58a4 4 0 0 0-3.83-1a204.8 204.8 0 0 1-51.16 6.47z`,fill:`currentColor`}),i(`path`,{d:`M490.84 238.6c-26.46-40.92-60.79-75.68-99.27-100.53C349 110.55 302 96 255.66 96a227.34 227.34 0 0 0-74.89 12.83a2 2 0 0 0-.75 3.31l21.55 21.55a4 4 0 0 0 3.88 1a192.82 192.82 0 0 1 50.21-6.69c40.69 0 80.58 12.43 118.55 37c34.71 22.4 65.74 53.88 89.76 91a.13.13 0 0 1 0 .16a310.72 310.72 0 0 1-64.12 72.73a2 2 0 0 0-.15 2.95l19.9 19.89a2 2 0 0 0 2.7.13a343.49 343.49 0 0 0 68.64-78.48a32.2 32.2 0 0 0-.1-34.78z`,fill:`currentColor`}),i(`path`,{d:`M256 160a95.88 95.88 0 0 0-21.37 2.4a2 2 0 0 0-1 3.38l112.59 112.56a2 2 0 0 0 3.38-1A96 96 0 0 0 256 160z`,fill:`currentColor`}),i(`path`,{d:`M165.78 233.66a2 2 0 0 0-3.38 1a96 96 0 0 0 115 115a2 2 0 0 0 1-3.38z`,fill:`currentColor`}))}}),z={paddingTiny:`0 8px`,paddingSmall:`0 10px`,paddingMedium:`0 12px`,paddingLarge:`0 14px`,clearSize:`16px`};function B(e){let{textColor2:t,textColor3:n,textColorDisabled:r,primaryColor:i,primaryColorHover:a,inputColor:o,inputColorDisabled:s,borderColor:c,warningColor:l,warningColorHover:u,errorColor:d,errorColorHover:f,borderRadius:ee,lineHeight:p,fontSizeTiny:m,fontSizeSmall:h,fontSizeMedium:te,fontSizeLarge:g,heightTiny:_,heightSmall:v,heightMedium:ne,heightLarge:y,actionColor:b,clearColor:x,clearColorHover:re,clearColorPressed:S,placeholderColor:C,placeholderColorDisabled:w,iconColor:T,iconColorDisabled:E,iconColorHover:O,iconColorPressed:k,fontWeight:A}=e;return Object.assign(Object.assign({},z),{fontWeight:A,countTextColorDisabled:r,countTextColor:n,heightTiny:_,heightSmall:v,heightMedium:ne,heightLarge:y,fontSizeTiny:m,fontSizeSmall:h,fontSizeMedium:te,fontSizeLarge:g,lineHeight:p,lineHeightTextarea:p,borderRadius:ee,iconSize:`16px`,groupLabelColor:b,groupLabelTextColor:t,textColor:t,textColorDisabled:r,textDecorationColor:t,caretColor:i,placeholderColor:C,placeholderColorDisabled:w,color:o,colorDisabled:s,colorFocus:o,groupLabelBorder:`1px solid ${c}`,border:`1px solid ${c}`,borderHover:`1px solid ${a}`,borderDisabled:`1px solid ${c}`,borderFocus:`1px solid ${a}`,boxShadowFocus:`0 0 0 2px ${D(i,{alpha:.2})}`,loadingColor:i,loadingColorWarning:l,borderWarning:`1px solid ${l}`,borderHoverWarning:`1px solid ${u}`,colorFocusWarning:o,borderFocusWarning:`1px solid ${u}`,boxShadowFocusWarning:`0 0 0 2px ${D(l,{alpha:.2})}`,caretColorWarning:l,loadingColorError:d,borderError:`1px solid ${d}`,borderHoverError:`1px solid ${f}`,colorFocusError:o,borderFocusError:`1px solid ${f}`,boxShadowFocusError:`0 0 0 2px ${D(d,{alpha:.2})}`,caretColorError:d,clearColor:x,clearColorHover:re,clearColorPressed:S,iconColor:T,iconColorDisabled:E,iconColorHover:O,iconColorPressed:k,suffixTextColor:t})}var V=O({name:`Input`,common:w,peers:{Scrollbar:oe},self:B}),H=b(`n-input`),le=S(`input`,`
|
|
2
2
|
max-width: 100%;
|
|
3
3
|
cursor: text;
|
|
4
4
|
line-height: 1.5;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{A as e,L as t,M as n,S as r,Y as i,st as a,ut as o}from"./router-
|
|
1
|
+
import{A as e,L as t,M as n,S as r,Y as i,st as a,ut as o}from"./router-Deam6ffd.js";import{B as s,J as c,K as l,R as ee,W as u,at as te,c as d,ct as f,d as p,lt as m,n as h,nt as g,s as _}from"./browser-CRTDc_Be.js";import{d as ne,p as v,s as re}from"./Suffix-D03EcSpG.js";import{r as y}from"./fade-in.cssr-ZKfQkQl9.js";import{n as b,r as x}from"./Button-XML6qzjK.js";import{t as S}from"./Add-D7GrQ-Em.js";import{n as C,t as w}from"./Input-DWLw7VSO.js";var T=e({name:`Remove`,render(){return n(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 512 512`},n(`line`,{x1:`400`,y1:`256`,x2:`112`,y2:`256`,style:`
|
|
2
2
|
fill: none;
|
|
3
3
|
stroke: currentColor;
|
|
4
4
|
stroke-linecap: round;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jobs-
|
|
2
|
-
import{A as e,C as t,D as n,E as r,H as i,K as a,O as o,S as s,T as c,W as l,Z as u,ft as d,ht as f,k as p,pt as m,st as h,v as g,w as _}from"./router-BDvjwA-_.js";import{n as v}from"./pinia-DRC0gpqt.js";import{t as y}from"./preload-helper-rov5CBGT.js";import{r as b,t as x}from"./_plugin-vue_export-helper-BA1W5EEO.js";import{t as S}from"./Modal-Ct66o3O5.js";import{n as C,t as w}from"./FormItem-cCAlzrYv.js";import{t as T}from"./Select-C96PU4NS.js";import{t as E}from"./Button-6kn5x8wB.js";import{t as D}from"./Input-DOn-NDi-.js";import{t as O}from"./InputNumber-CEwvr7we.js";import{t as k}from"./Tooltip-MYN2D0HZ.js";import{t as A}from"./use-message-x3IR-EsB.js";import{t as j}from"./Spin-CNWMVtvF.js";import{a as M,c as N,i as P,n as F,o as I,s as L,t as ee}from"./jobs-kBilk6_x.js";function R(e,t){return e.job_id===t||e.id===t}var z=v(`jobs`,()=>{let e=h([]),t=h(!1);async function n(){t.value=!0;try{e.value=await P()}catch(e){console.error(`Failed to fetch jobs:`,e)}finally{t.value=!1}}async function r(t){let n=await ee(t);return e.value.unshift(n),n}async function i(t,n){let r=await N(t,n),i=e.value.findIndex(e=>R(e,t));return i!==-1&&(e.value[i]=r),r}async function a(t){await F(t),e.value=e.value.filter(e=>!R(e,t))}async function o(t){let n=await M(t),r=e.value.findIndex(e=>R(e,t));r!==-1&&(e.value[r]=n)}async function s(t){let n=await I(t),r=e.value.findIndex(e=>R(e,t));r!==-1&&(e.value[r]=n)}async function c(t){let n=await L(t),r=e.value.findIndex(e=>R(e,t));r!==-1&&(e.value[r]=n)}return{jobs:e,loading:t,fetchJobs:n,createJob:r,updateJob:i,deleteJob:a,pauseJob:o,resumeJob:s,runJob:c}}),B={class:`job-card`},V={class:`card-header`},H={class:`job-name`},U={class:`card-body`},W={class:`info-row`},G={class:`info-label`},K={class:`info-value mono`},q={class:`info-row`},J={class:`info-label`},Y={class:`info-value`},X={class:`info-row`},Z={class:`info-label`},Q={class:`info-value`},te={class:`info-row`},ne={class:`info-label`},re={class:`info-value`},ie={key:0,class:`info-row`},ae={class:`info-label`},oe={class:`info-value`},se={class:`card-actions`},$=x(e({__name:`JobCard`,props:{job:{}},emits:[`edit`],setup(e,{emit:n}){let i=e,a=n,{t:h}=b(),v=z(),y=A(),x=s(()=>i.job.job_id||i.job.id),S=s(()=>i.job.state===`running`?h(`jobs.status.running`):i.job.state===`paused`?h(`jobs.status.paused`):i.job.enabled?h(`jobs.status.scheduled`):h(`jobs.status.disabled`)),C=s(()=>i.job.state===`running`?`info`:i.job.state===`paused`?`warning`:i.job.enabled?`success`:`error`),w=s(()=>{let e=i.job.schedule;return typeof e==`string`?e:e?.expr||i.job.schedule_display||`—`}),T=e=>e?new Date(e).toLocaleString():`—`;async function D(){try{await v.pauseJob(x.value),y.success(h(`jobs.jobPaused`))}catch(e){y.error(e.message)}}async function O(){try{await v.resumeJob(x.value),y.success(h(`jobs.jobResumed`))}catch(e){y.error(e.message)}}async function j(){try{await v.runJob(x.value),y.info(h(`jobs.jobTriggered`))}catch(e){y.error(e.message)}}async function M(){try{await v.deleteJob(x.value),y.success(h(`jobs.jobDeleted`))}catch(e){y.error(e.message)}}return(n,i)=>(l(),r(`div`,B,[t(`div`,V,[t(`h3`,H,f(e.job.name),1),t(`span`,{class:m([`status-badge`,C.value])},f(S.value),3)]),t(`div`,U,[t(`div`,W,[t(`span`,G,f(d(h)(`jobs.info.schedule`)),1),t(`code`,K,f(w.value),1)]),t(`div`,q,[t(`span`,J,f(d(h)(`jobs.info.lastRun`)),1),t(`span`,Y,[o(f(T(e.job.last_run_at))+` `,1),e.job.last_status?(l(),r(`span`,{key:0,class:m([`run-status`,{ok:e.job.last_status===`ok`,err:e.job.last_status!==`ok`}])},f(e.job.last_status===`ok`?d(h)(`common.ok`):e.job.last_status),3)):c(``,!0)])]),t(`div`,X,[t(`span`,Z,f(d(h)(`jobs.info.nextRun`)),1),t(`span`,Q,f(T(e.job.next_run_at)),1)]),t(`div`,te,[t(`span`,ne,f(d(h)(`jobs.info.deliver`)),1),t(`span`,re,[o(f(e.job.deliver),1),e.job.origin?(l(),r(g,{key:0},[o(` (`+f(e.job.origin.platform)+`)`,1)],64)):c(``,!0)])]),e.job.repeat?(l(),r(`div`,ie,[t(`span`,ae,f(d(h)(`jobs.info.repeat`)),1),t(`span`,oe,[typeof e.job.repeat==`string`?(l(),r(g,{key:0},[o(f(e.job.repeat),1)],64)):(l(),r(g,{key:1},[o(f(e.job.repeat.completed)+` / `+f(e.job.repeat.times??`∞`),1)],64))])])):c(``,!0)]),t(`div`,se,[e.job.state!==`paused`&&e.job.enabled?(l(),_(d(k),{key:0},{trigger:u(()=>[p(d(E),{size:`tiny`,quaternary:``,onClick:D},{default:u(()=>[o(f(d(h)(`jobs.action.pause`)),1)]),_:1})]),default:u(()=>[o(` `+f(d(h)(`jobs.action.pauseJob`)),1)]),_:1})):e.job.state===`paused`?(l(),_(d(k),{key:1},{trigger:u(()=>[p(d(E),{size:`tiny`,quaternary:``,onClick:O},{default:u(()=>[o(f(d(h)(`jobs.action.resume`)),1)]),_:1})]),default:u(()=>[o(` `+f(d(h)(`jobs.action.resumeJob`)),1)]),_:1})):c(``,!0),p(d(k),null,{trigger:u(()=>[p(d(E),{size:`tiny`,quaternary:``,onClick:j},{default:u(()=>[o(f(d(h)(`jobs.action.runNow`)),1)]),_:1})]),default:u(()=>[o(` `+f(d(h)(`jobs.action.triggerImmediately`)),1)]),_:1}),p(d(E),{size:`tiny`,quaternary:``,onClick:i[0]||=e=>a(`edit`,x.value)},{default:u(()=>[o(f(d(h)(`common.edit`)),1)]),_:1}),p(d(E),{size:`tiny`,quaternary:``,type:`error`,onClick:M},{default:u(()=>[o(f(d(h)(`common.delete`)),1)]),_:1})])]))}}),[[`__scopeId`,`data-v-5c958088`]]),ce={key:0,class:`empty-state`},le={key:1,class:`jobs-grid`},ue=x(e({__name:`JobsPanel`,emits:[`edit`],setup(e,{emit:i}){let{t:o}=b(),s=i,c=z();return(e,i)=>d(c).jobs.length===0?(l(),r(`div`,ce,[i[0]||=n(`<svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" class="empty-icon" data-v-a0a8d138><rect x="3" y="4" width="18" height="18" rx="2" ry="2" data-v-a0a8d138></rect><line x1="16" y1="2" x2="16" y2="6" data-v-a0a8d138></line><line x1="8" y1="2" x2="8" y2="6" data-v-a0a8d138></line><line x1="3" y1="10" x2="21" y2="10" data-v-a0a8d138></line></svg>`,1),t(`p`,null,f(d(o)(`jobs.noJobs`)),1)])):(l(),r(`div`,le,[(l(!0),r(g,null,a(d(c).jobs,e=>(l(),_($,{key:e.id,job:e,onEdit:t=>s(`edit`,e.id)},null,8,[`job`,`onEdit`]))),128))]))}}),[[`__scopeId`,`data-v-a0a8d138`]]),de={class:`modal-footer`},fe=x(e({__name:`JobFormModal`,props:{jobId:{}},emits:[`close`,`saved`],setup(e,{emit:n}){let{t:r}=b(),a=e,c=n,m=z(),g=A(),v=h(!0),x=h(!1),k=h({name:``,schedule:``,prompt:``,deliver:`origin`,repeat_times:null}),j=h(null),M=s(()=>!!a.jobId),N=s(()=>[{label:r(`jobs.presetEveryMinute`),value:`* * * * *`},{label:r(`jobs.presetEvery5Min`),value:`*/5 * * * *`},{label:r(`jobs.presetEveryHour`),value:`0 * * * *`},{label:r(`jobs.presetEveryDay`),value:`0 0 * * *`},{label:r(`jobs.presetEveryDay9`),value:`0 9 * * *`},{label:r(`jobs.presetEveryMonday`),value:`0 9 * * 1`},{label:r(`jobs.presetEveryMonth`),value:`0 9 1 * *`}]),P=s(()=>[{label:r(`jobs.origin`),value:`origin`},{label:r(`jobs.local`),value:`local`}]),F=h(null);i(async()=>{if(a.jobId)try{let{getJob:e}=await y(async()=>{let{getJob:e}=await import(`./jobs-hrnPO3Z3.js`);return{getJob:e}},__vite__mapDeps([0,1,2,3,4])),t=await e(a.jobId);k.value={name:t.name,schedule:typeof t.schedule==`string`?t.schedule:t.schedule?.expr||t.schedule_display||``,prompt:t.prompt,deliver:t.deliver||`origin`,repeat_times:typeof t.repeat==`number`?t.repeat:typeof t.repeat==`object`?t.repeat.times:null},typeof t.schedule==`object`&&t.schedule&&(F.value=t.schedule)}catch(e){g.error(r(`jobs.loadFailed`)+`: `+e.message)}});async function I(){if(!k.value.name.trim()){g.warning(r(`jobs.nameRequired`));return}if(!k.value.schedule.trim()){g.warning(r(`jobs.scheduleRequired`));return}x.value=!0;try{let e={name:k.value.name,schedule:k.value.schedule,prompt:k.value.prompt,deliver:k.value.deliver,repeat:k.value.repeat_times??void 0};M.value&&F.value&&(e.schedule={kind:F.value.kind,expr:k.value.schedule,display:k.value.schedule}),M.value?(await m.updateJob(a.jobId,e),g.success(r(`jobs.jobUpdated`))):(await m.createJob(e),g.success(r(`jobs.jobCreated`))),c(`saved`)}catch(e){g.error(e.message)}finally{x.value=!1}}function L(){v.value=!1,setTimeout(()=>c(`close`),200)}return(e,n)=>(l(),_(d(S),{show:v.value,"onUpdate:show":n[7]||=e=>v.value=e,preset:`card`,title:M.value?d(r)(`jobs.editJob`):d(r)(`jobs.createJob`),style:{width:`min(520px, calc(100vw - 32px))`},"mask-closable":!x.value,onAfterLeave:n[8]||=e=>c(`close`)},{footer:u(()=>[t(`div`,de,[p(d(E),{onClick:L},{default:u(()=>[o(f(d(r)(`common.cancel`)),1)]),_:1}),p(d(E),{type:`primary`,loading:x.value,onClick:I},{default:u(()=>[o(f(M.value?d(r)(`common.update`):d(r)(`common.create`)),1)]),_:1},8,[`loading`])])]),default:u(()=>[p(d(C),{"label-placement":`top`},{default:u(()=>[p(d(w),{label:d(r)(`jobs.name`),required:``},{default:u(()=>[p(d(D),{value:k.value.name,"onUpdate:value":n[0]||=e=>k.value.name=e,placeholder:d(r)(`jobs.namePlaceholder`),maxlength:`200`,"show-count":``},null,8,[`value`,`placeholder`])]),_:1},8,[`label`]),p(d(w),{label:d(r)(`jobs.schedule`),required:``},{default:u(()=>[p(d(D),{value:k.value.schedule,"onUpdate:value":n[1]||=e=>k.value.schedule=e,placeholder:d(r)(`jobs.schedulePlaceholder`)},null,8,[`value`,`placeholder`])]),_:1},8,[`label`]),p(d(w),{label:d(r)(`jobs.quickPresets`)},{default:u(()=>[p(d(T),{value:j.value,"onUpdate:value":[n[2]||=e=>j.value=e,n[3]||=e=>k.value.schedule=e],options:N.value,placeholder:d(r)(`jobs.selectPreset`)},null,8,[`value`,`options`,`placeholder`])]),_:1},8,[`label`]),p(d(w),{label:d(r)(`jobs.prompt`),required:``},{default:u(()=>[p(d(D),{value:k.value.prompt,"onUpdate:value":n[4]||=e=>k.value.prompt=e,type:`textarea`,placeholder:d(r)(`jobs.promptPlaceholder`),rows:4,maxlength:`5000`,"show-count":``},null,8,[`value`,`placeholder`])]),_:1},8,[`label`]),p(d(w),{label:d(r)(`jobs.deliverTarget`)},{default:u(()=>[p(d(T),{value:k.value.deliver,"onUpdate:value":n[5]||=e=>k.value.deliver=e,options:P.value},null,8,[`value`,`options`])]),_:1},8,[`label`]),p(d(w),{label:d(r)(`jobs.repeatCount`)},{default:u(()=>[p(d(O),{value:k.value.repeat_times,"onUpdate:value":n[6]||=e=>k.value.repeat_times=e,min:1,placeholder:d(r)(`jobs.repeatPlaceholder`),clearable:``,style:{width:`100%`}},null,8,[`value`,`placeholder`])]),_:1},8,[`label`])]),_:1})]),_:1},8,[`show`,`title`,`mask-closable`]))}}),[[`__scopeId`,`data-v-b339cfa2`]]),pe={class:`jobs-view`},me={class:`page-header`},he={class:`header-title`},ge={class:`jobs-content`},_e=x(e({__name:`JobsView`,setup(e){let{t:n}=b(),a=z(),s=h(!1),m=h(null);i(()=>{a.fetchJobs()});function g(){m.value=null,s.value=!0}function v(e){m.value=e,s.value=!0}function y(){s.value=!1,m.value=null}async function x(){await a.fetchJobs(),y()}return(e,i)=>(l(),r(`div`,pe,[t(`header`,me,[t(`h2`,he,f(d(n)(`jobs.title`)),1),p(d(E),{type:`primary`,size:`small`,onClick:g},{icon:u(()=>[...i[0]||=[t(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[t(`line`,{x1:`12`,y1:`5`,x2:`12`,y2:`19`}),t(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`})],-1)]]),default:u(()=>[o(` `+f(d(n)(`jobs.createJob`)),1)]),_:1})]),t(`div`,ge,[p(d(j),{show:d(a).loading&&d(a).jobs.length===0},{default:u(()=>[p(ue,{onEdit:v})]),_:1},8,[`show`])]),s.value?(l(),_(fe,{key:0,"job-id":m.value,onClose:y,onSaved:x},null,8,[`job-id`])):c(``,!0)]))}}),[[`__scopeId`,`data-v-c0d68ae3`]]);export{_e as default};
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jobs-D-9ea8_u.js","assets/jobs-DhMMkH9o.js","assets/router-Deam6ffd.js","assets/chunk-DECur_0Z.js","assets/preload-helper-rov5CBGT.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{A as e,C as t,D as n,E as r,H as i,K as a,O as o,S as s,T as c,W as l,Z as u,ft as d,ht as f,k as p,pt as m,st as h,v as g,w as _}from"./router-Deam6ffd.js";import{n as v}from"./pinia-UrA63qkH.js";import{t as y}from"./preload-helper-rov5CBGT.js";import{r as b,t as x}from"./_plugin-vue_export-helper-9xP-z52L.js";import{t as S}from"./Modal-CcDwIOab.js";import{n as C,t as w}from"./FormItem-DryuDiWg.js";import{t as T}from"./Select-CN-VEjPp.js";import{t as E}from"./Button-XML6qzjK.js";import{t as D}from"./Input-DWLw7VSO.js";import{t as O}from"./InputNumber-DWU7lpWO.js";import{t as k}from"./Tooltip-CB3bMMbn.js";import{t as A}from"./use-message-sJtQsIMH.js";import{t as j}from"./Spin-DicuilvT.js";import{a as M,c as N,i as P,n as F,o as I,s as L,t as ee}from"./jobs-DhMMkH9o.js";function R(e,t){return e.job_id===t||e.id===t}var z=v(`jobs`,()=>{let e=h([]),t=h(!1);async function n(){t.value=!0;try{e.value=await P()}catch(e){console.error(`Failed to fetch jobs:`,e)}finally{t.value=!1}}async function r(t){let n=await ee(t);return e.value.unshift(n),n}async function i(t,n){let r=await N(t,n),i=e.value.findIndex(e=>R(e,t));return i!==-1&&(e.value[i]=r),r}async function a(t){await F(t),e.value=e.value.filter(e=>!R(e,t))}async function o(t){let n=await M(t),r=e.value.findIndex(e=>R(e,t));r!==-1&&(e.value[r]=n)}async function s(t){let n=await I(t),r=e.value.findIndex(e=>R(e,t));r!==-1&&(e.value[r]=n)}async function c(t){let n=await L(t),r=e.value.findIndex(e=>R(e,t));r!==-1&&(e.value[r]=n)}return{jobs:e,loading:t,fetchJobs:n,createJob:r,updateJob:i,deleteJob:a,pauseJob:o,resumeJob:s,runJob:c}}),B={class:`job-card`},V={class:`card-header`},H={class:`job-name`},U={class:`card-body`},W={class:`info-row`},G={class:`info-label`},K={class:`info-value mono`},q={class:`info-row`},J={class:`info-label`},Y={class:`info-value`},X={class:`info-row`},Z={class:`info-label`},Q={class:`info-value`},te={class:`info-row`},ne={class:`info-label`},re={class:`info-value`},ie={key:0,class:`info-row`},ae={class:`info-label`},oe={class:`info-value`},se={class:`card-actions`},$=x(e({__name:`JobCard`,props:{job:{}},emits:[`edit`],setup(e,{emit:n}){let i=e,a=n,{t:h}=b(),v=z(),y=A(),x=s(()=>i.job.job_id||i.job.id),S=s(()=>i.job.state===`running`?h(`jobs.status.running`):i.job.state===`paused`?h(`jobs.status.paused`):i.job.enabled?h(`jobs.status.scheduled`):h(`jobs.status.disabled`)),C=s(()=>i.job.state===`running`?`info`:i.job.state===`paused`?`warning`:i.job.enabled?`success`:`error`),w=s(()=>{let e=i.job.schedule;return typeof e==`string`?e:e?.expr||i.job.schedule_display||`—`}),T=e=>e?new Date(e).toLocaleString():`—`;async function D(){try{await v.pauseJob(x.value),y.success(h(`jobs.jobPaused`))}catch(e){y.error(e.message)}}async function O(){try{await v.resumeJob(x.value),y.success(h(`jobs.jobResumed`))}catch(e){y.error(e.message)}}async function j(){try{await v.runJob(x.value),y.info(h(`jobs.jobTriggered`))}catch(e){y.error(e.message)}}async function M(){try{await v.deleteJob(x.value),y.success(h(`jobs.jobDeleted`))}catch(e){y.error(e.message)}}return(n,i)=>(l(),r(`div`,B,[t(`div`,V,[t(`h3`,H,f(e.job.name),1),t(`span`,{class:m([`status-badge`,C.value])},f(S.value),3)]),t(`div`,U,[t(`div`,W,[t(`span`,G,f(d(h)(`jobs.info.schedule`)),1),t(`code`,K,f(w.value),1)]),t(`div`,q,[t(`span`,J,f(d(h)(`jobs.info.lastRun`)),1),t(`span`,Y,[o(f(T(e.job.last_run_at))+` `,1),e.job.last_status?(l(),r(`span`,{key:0,class:m([`run-status`,{ok:e.job.last_status===`ok`,err:e.job.last_status!==`ok`}])},f(e.job.last_status===`ok`?d(h)(`common.ok`):e.job.last_status),3)):c(``,!0)])]),t(`div`,X,[t(`span`,Z,f(d(h)(`jobs.info.nextRun`)),1),t(`span`,Q,f(T(e.job.next_run_at)),1)]),t(`div`,te,[t(`span`,ne,f(d(h)(`jobs.info.deliver`)),1),t(`span`,re,[o(f(e.job.deliver),1),e.job.origin?(l(),r(g,{key:0},[o(` (`+f(e.job.origin.platform)+`)`,1)],64)):c(``,!0)])]),e.job.repeat?(l(),r(`div`,ie,[t(`span`,ae,f(d(h)(`jobs.info.repeat`)),1),t(`span`,oe,[typeof e.job.repeat==`string`?(l(),r(g,{key:0},[o(f(e.job.repeat),1)],64)):(l(),r(g,{key:1},[o(f(e.job.repeat.completed)+` / `+f(e.job.repeat.times??`∞`),1)],64))])])):c(``,!0)]),t(`div`,se,[e.job.state!==`paused`&&e.job.enabled?(l(),_(d(k),{key:0},{trigger:u(()=>[p(d(E),{size:`tiny`,quaternary:``,onClick:D},{default:u(()=>[o(f(d(h)(`jobs.action.pause`)),1)]),_:1})]),default:u(()=>[o(` `+f(d(h)(`jobs.action.pauseJob`)),1)]),_:1})):e.job.state===`paused`?(l(),_(d(k),{key:1},{trigger:u(()=>[p(d(E),{size:`tiny`,quaternary:``,onClick:O},{default:u(()=>[o(f(d(h)(`jobs.action.resume`)),1)]),_:1})]),default:u(()=>[o(` `+f(d(h)(`jobs.action.resumeJob`)),1)]),_:1})):c(``,!0),p(d(k),null,{trigger:u(()=>[p(d(E),{size:`tiny`,quaternary:``,onClick:j},{default:u(()=>[o(f(d(h)(`jobs.action.runNow`)),1)]),_:1})]),default:u(()=>[o(` `+f(d(h)(`jobs.action.triggerImmediately`)),1)]),_:1}),p(d(E),{size:`tiny`,quaternary:``,onClick:i[0]||=e=>a(`edit`,x.value)},{default:u(()=>[o(f(d(h)(`common.edit`)),1)]),_:1}),p(d(E),{size:`tiny`,quaternary:``,type:`error`,onClick:M},{default:u(()=>[o(f(d(h)(`common.delete`)),1)]),_:1})])]))}}),[[`__scopeId`,`data-v-5c958088`]]),ce={key:0,class:`empty-state`},le={key:1,class:`jobs-grid`},ue=x(e({__name:`JobsPanel`,emits:[`edit`],setup(e,{emit:i}){let{t:o}=b(),s=i,c=z();return(e,i)=>d(c).jobs.length===0?(l(),r(`div`,ce,[i[0]||=n(`<svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" class="empty-icon" data-v-a0a8d138><rect x="3" y="4" width="18" height="18" rx="2" ry="2" data-v-a0a8d138></rect><line x1="16" y1="2" x2="16" y2="6" data-v-a0a8d138></line><line x1="8" y1="2" x2="8" y2="6" data-v-a0a8d138></line><line x1="3" y1="10" x2="21" y2="10" data-v-a0a8d138></line></svg>`,1),t(`p`,null,f(d(o)(`jobs.noJobs`)),1)])):(l(),r(`div`,le,[(l(!0),r(g,null,a(d(c).jobs,e=>(l(),_($,{key:e.id,job:e,onEdit:t=>s(`edit`,e.id)},null,8,[`job`,`onEdit`]))),128))]))}}),[[`__scopeId`,`data-v-a0a8d138`]]),de={class:`modal-footer`},fe=x(e({__name:`JobFormModal`,props:{jobId:{}},emits:[`close`,`saved`],setup(e,{emit:n}){let{t:r}=b(),a=e,c=n,m=z(),g=A(),v=h(!0),x=h(!1),k=h({name:``,schedule:``,prompt:``,deliver:`origin`,repeat_times:null}),j=h(null),M=s(()=>!!a.jobId),N=s(()=>[{label:r(`jobs.presetEveryMinute`),value:`* * * * *`},{label:r(`jobs.presetEvery5Min`),value:`*/5 * * * *`},{label:r(`jobs.presetEveryHour`),value:`0 * * * *`},{label:r(`jobs.presetEveryDay`),value:`0 0 * * *`},{label:r(`jobs.presetEveryDay9`),value:`0 9 * * *`},{label:r(`jobs.presetEveryMonday`),value:`0 9 * * 1`},{label:r(`jobs.presetEveryMonth`),value:`0 9 1 * *`}]),P=s(()=>[{label:r(`jobs.origin`),value:`origin`},{label:r(`jobs.local`),value:`local`}]),F=h(null);i(async()=>{if(a.jobId)try{let{getJob:e}=await y(async()=>{let{getJob:e}=await import(`./jobs-D-9ea8_u.js`);return{getJob:e}},__vite__mapDeps([0,1,2,3,4])),t=await e(a.jobId);k.value={name:t.name,schedule:typeof t.schedule==`string`?t.schedule:t.schedule?.expr||t.schedule_display||``,prompt:t.prompt,deliver:t.deliver||`origin`,repeat_times:typeof t.repeat==`number`?t.repeat:typeof t.repeat==`object`?t.repeat.times:null},typeof t.schedule==`object`&&t.schedule&&(F.value=t.schedule)}catch(e){g.error(r(`jobs.loadFailed`)+`: `+e.message)}});async function I(){if(!k.value.name.trim()){g.warning(r(`jobs.nameRequired`));return}if(!k.value.schedule.trim()){g.warning(r(`jobs.scheduleRequired`));return}x.value=!0;try{let e={name:k.value.name,schedule:k.value.schedule,prompt:k.value.prompt,deliver:k.value.deliver,repeat:k.value.repeat_times??void 0};M.value&&F.value&&(e.schedule={kind:F.value.kind,expr:k.value.schedule,display:k.value.schedule}),M.value?(await m.updateJob(a.jobId,e),g.success(r(`jobs.jobUpdated`))):(await m.createJob(e),g.success(r(`jobs.jobCreated`))),c(`saved`)}catch(e){g.error(e.message)}finally{x.value=!1}}function L(){v.value=!1,setTimeout(()=>c(`close`),200)}return(e,n)=>(l(),_(d(S),{show:v.value,"onUpdate:show":n[7]||=e=>v.value=e,preset:`card`,title:M.value?d(r)(`jobs.editJob`):d(r)(`jobs.createJob`),style:{width:`min(520px, calc(100vw - 32px))`},"mask-closable":!x.value,onAfterLeave:n[8]||=e=>c(`close`)},{footer:u(()=>[t(`div`,de,[p(d(E),{onClick:L},{default:u(()=>[o(f(d(r)(`common.cancel`)),1)]),_:1}),p(d(E),{type:`primary`,loading:x.value,onClick:I},{default:u(()=>[o(f(M.value?d(r)(`common.update`):d(r)(`common.create`)),1)]),_:1},8,[`loading`])])]),default:u(()=>[p(d(C),{"label-placement":`top`},{default:u(()=>[p(d(w),{label:d(r)(`jobs.name`),required:``},{default:u(()=>[p(d(D),{value:k.value.name,"onUpdate:value":n[0]||=e=>k.value.name=e,placeholder:d(r)(`jobs.namePlaceholder`),maxlength:`200`,"show-count":``},null,8,[`value`,`placeholder`])]),_:1},8,[`label`]),p(d(w),{label:d(r)(`jobs.schedule`),required:``},{default:u(()=>[p(d(D),{value:k.value.schedule,"onUpdate:value":n[1]||=e=>k.value.schedule=e,placeholder:d(r)(`jobs.schedulePlaceholder`)},null,8,[`value`,`placeholder`])]),_:1},8,[`label`]),p(d(w),{label:d(r)(`jobs.quickPresets`)},{default:u(()=>[p(d(T),{value:j.value,"onUpdate:value":[n[2]||=e=>j.value=e,n[3]||=e=>k.value.schedule=e],options:N.value,placeholder:d(r)(`jobs.selectPreset`)},null,8,[`value`,`options`,`placeholder`])]),_:1},8,[`label`]),p(d(w),{label:d(r)(`jobs.prompt`),required:``},{default:u(()=>[p(d(D),{value:k.value.prompt,"onUpdate:value":n[4]||=e=>k.value.prompt=e,type:`textarea`,placeholder:d(r)(`jobs.promptPlaceholder`),rows:4,maxlength:`5000`,"show-count":``},null,8,[`value`,`placeholder`])]),_:1},8,[`label`]),p(d(w),{label:d(r)(`jobs.deliverTarget`)},{default:u(()=>[p(d(T),{value:k.value.deliver,"onUpdate:value":n[5]||=e=>k.value.deliver=e,options:P.value},null,8,[`value`,`options`])]),_:1},8,[`label`]),p(d(w),{label:d(r)(`jobs.repeatCount`)},{default:u(()=>[p(d(O),{value:k.value.repeat_times,"onUpdate:value":n[6]||=e=>k.value.repeat_times=e,min:1,placeholder:d(r)(`jobs.repeatPlaceholder`),clearable:``,style:{width:`100%`}},null,8,[`value`,`placeholder`])]),_:1},8,[`label`])]),_:1})]),_:1},8,[`show`,`title`,`mask-closable`]))}}),[[`__scopeId`,`data-v-b339cfa2`]]),pe={class:`jobs-view`},me={class:`page-header`},he={class:`header-title`},ge={class:`jobs-content`},_e=x(e({__name:`JobsView`,setup(e){let{t:n}=b(),a=z(),s=h(!1),m=h(null);i(()=>{a.fetchJobs()});function g(){m.value=null,s.value=!0}function v(e){m.value=e,s.value=!0}function y(){s.value=!1,m.value=null}async function x(){await a.fetchJobs(),y()}return(e,i)=>(l(),r(`div`,pe,[t(`header`,me,[t(`h2`,he,f(d(n)(`jobs.title`)),1),p(d(E),{type:`primary`,size:`small`,onClick:g},{icon:u(()=>[...i[0]||=[t(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[t(`line`,{x1:`12`,y1:`5`,x2:`12`,y2:`19`}),t(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`})],-1)]]),default:u(()=>[o(` `+f(d(n)(`jobs.createJob`)),1)]),_:1})]),t(`div`,ge,[p(d(j),{show:d(a).loading&&d(a).jobs.length===0},{default:u(()=>[p(ue,{onEdit:v})]),_:1},8,[`show`])]),s.value?(l(),_(fe,{key:0,"job-id":m.value,onClose:y,onSaved:x},null,8,[`job-id`])):c(``,!0)]))}}),[[`__scopeId`,`data-v-c0d68ae3`]]);export{_e as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as e,C as t,E as n,H as r,Q as i,T as a,W as o,c as s,ft as c,g as l,h as u,ht as d,i as f,o as p,p as m,pt as h,st as g,v as _}from"./router-
|
|
1
|
+
import{A as e,C as t,E as n,H as r,Q as i,T as a,W as o,c as s,ft as c,g as l,h as u,ht as d,i as f,o as p,p as m,pt as h,st as g,v as _}from"./router-Deam6ffd.js";import{r as v,t as y}from"./_plugin-vue_export-helper-9xP-z52L.js";import"./logo-D12u0f1i.js";import{i as b,r as x}from"./auth-BE7p-Kmu.js";var S={class:`login-view`},C={class:`login-card`},w={class:`login-title`},T={class:`login-desc`},E={key:0,class:`login-method-toggle`},D=[`placeholder`],O=[`placeholder`],k=[`placeholder`],A={key:2,class:`login-error`},j=[`disabled`],M=y(e({__name:`LoginView`,setup(e){let{t:y}=v(),M=s(),N=window.__LOGIN_TOKEN__||``,P=g(N),F=g(``),I=g(``),L=g(!1),R=g(``),z=g(`token`),B=g(!1);f()&&M.replace(`/hermes/chat`),r(async()=>{try{let e=await x();B.value=e.hasPasswordLogin,e.hasPasswordLogin&&!N&&(z.value=`password`)}catch{}});async function V(){z.value===`token`?await H():await U()}async function H(){let e=P.value.trim();if(!e){R.value=y(`login.tokenRequired`);return}L.value=!0,R.value=``;try{if((await fetch(`/api/sessions`,{headers:{Authorization:`Bearer ${e}`}})).status===401){R.value=y(`login.invalidToken`),L.value=!1;return}p(e),M.replace(`/hermes/chat`)}catch{R.value=y(`login.connectionFailed`)}finally{L.value=!1}}async function U(){if(!F.value.trim()||!I.value){R.value=y(`login.credentialsRequired`);return}L.value=!0,R.value=``;try{p(await b(F.value.trim(),I.value)),M.replace(`/hermes/chat`)}catch(e){R.value=e.message||y(`login.invalidCredentials`)}finally{L.value=!1}}return(e,r)=>(o(),n(`div`,S,[t(`div`,C,[r[5]||=t(`div`,{class:`login-logo`},[t(`img`,{src:`/logo.png`,alt:`Hermes`,width:`80`,height:`80`})],-1),t(`h1`,w,d(c(y)(`login.title`)),1),t(`p`,T,d(c(y)(`login.description`)),1),B.value?(o(),n(`div`,E,[t(`button`,{class:h([`toggle-btn`,{active:z.value===`password`}]),onClick:r[0]||=e=>z.value=`password`},d(c(y)(`login.passwordLogin`)),3),t(`button`,{class:h([`toggle-btn`,{active:z.value===`token`}]),onClick:r[1]||=e=>z.value=`token`},d(c(y)(`login.tokenLogin`)),3)])):a(``,!0),t(`form`,{class:`login-form`,onSubmit:l(V,[`prevent`])},[z.value===`token`?i((o(),n(`input`,{key:0,"onUpdate:modelValue":r[2]||=e=>P.value=e,type:`password`,class:`login-input`,placeholder:c(y)(`login.placeholder`),autofocus:``},null,8,D)),[[m,P.value]]):a(``,!0),z.value===`password`?(o(),n(_,{key:1},[i(t(`input`,{"onUpdate:modelValue":r[3]||=e=>F.value=e,type:`text`,class:`login-input`,placeholder:c(y)(`login.usernamePlaceholder`),autofocus:``},null,8,O),[[m,F.value]]),i(t(`input`,{"onUpdate:modelValue":r[4]||=e=>I.value=e,type:`password`,class:`login-input`,placeholder:c(y)(`login.passwordPlaceholder`),onKeyup:u(V,[`enter`])},null,40,k),[[m,I.value]])],64)):a(``,!0),R.value?(o(),n(`div`,A,d(R.value),1)):a(``,!0),t(`button`,{type:`submit`,class:`login-btn`,disabled:L.value},d(L.value?`...`:c(y)(`login.submit`)),9,j)],32)])]))}}),[[`__scopeId`,`data-v-852ca6c8`]]);export{M as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as e,C as t,E as n,H as r,K as i,O as a,Q as o,S as s,T as ee,W as c,Z as l,a as u,ft as d,ht as f,k as p,p as m,pt as h,st as g,v as _}from"./router-
|
|
1
|
+
import{A as e,C as t,E as n,H as r,K as i,O as a,Q as o,S as s,T as ee,W as c,Z as l,a as u,ft as d,ht as f,k as p,p as m,pt as h,st as g,v as _}from"./router-Deam6ffd.js";import{r as v,t as y}from"./_plugin-vue_export-helper-9xP-z52L.js";import{t as b}from"./Select-CN-VEjPp.js";import{t as x}from"./Button-XML6qzjK.js";import{t as S}from"./use-message-sJtQsIMH.js";import{t as C}from"./Spin-DicuilvT.js";async function w(){return(await u(`/api/hermes/logs`)).files}async function T(e,t){let n=new URLSearchParams;t?.lines&&n.set(`lines`,String(t.lines)),t?.level&&n.set(`level`,t.level),t?.session&&n.set(`session`,t.session),t?.since&&n.set(`since`,t.since);let r=n.toString();return(await u(`/api/hermes/logs/${e}${r?`?${r}`:``}`)).entries.filter(e=>e!==null)}var E={class:`logs-view`},D={class:`page-header`},O={class:`header-title`},k={class:`header-actions`},A=[`placeholder`],j={class:`logs-body`},M={key:0,class:`logs-empty`},N={class:`log-list`},P={class:`log-time`},F={class:`log-logger`},I={class:`access-method`},L={class:`access-path`},R={key:1,class:`log-message`},z=y(e({__name:`LogsView`,setup(e){let{t:u}=v(),y=S(),z=g([]),B=g(`agent`),V=g([]),H=g(!1),U=g(100),W=g(``),G=g(``),K=s(()=>z.value.map(e=>({label:`${e.name} (${e.size})`,value:e.name}))),q=s(()=>[{label:u(`logs.all`),value:``},{label:`ERROR`,value:`ERROR`},{label:`WARNING`,value:`WARNING`},{label:`INFO`,value:`INFO`},{label:`DEBUG`,value:`DEBUG`}]),J=[{label:`50`,value:50},{label:`100`,value:100},{label:`200`,value:200},{label:`500`,value:500}],Y=s(()=>{if(!G.value)return V.value;let e=G.value.toLowerCase();return V.value.filter(t=>t.message.toLowerCase().includes(e)||t.logger.toLowerCase().includes(e)||t.raw.toLowerCase().includes(e))});function X(e){switch(e){case`ERROR`:return`level-error`;case`WARNING`:return`level-warning`;case`DEBUG`:return`level-debug`;default:return`level-info`}}function Z(e){let t=e.match(/\d{2}:\d{2}:\d{2}/);return t?t[0]:e}function Q(e){let t=e.match(/"(\w+)\s+(\S+)\s+HTTP\/[^"]+"\s+(\d+)/);return t?{method:t[1],path:t[2],status:t[3]}:null}async function $(){H.value=!0;try{V.value=(await T(B.value,{lines:U.value,level:W.value||void 0})).filter(e=>e!==null)}catch(e){y.error(e.message)}finally{H.value=!1}}return r(async()=>{z.value=await w(),await $()}),(e,r)=>(c(),n(`div`,E,[t(`header`,D,[t(`h2`,O,f(d(u)(`logs.title`)),1),t(`div`,k,[p(d(b),{value:B.value,"onUpdate:value":[r[0]||=e=>B.value=e,$],options:K.value,size:`small`,class:`input-md`},null,8,[`value`,`options`]),p(d(b),{value:W.value,options:q.value,size:`small`,class:`input-sm`,"onUpdate:value":r[1]||=e=>{W.value=e,$()}},null,8,[`value`,`options`]),p(d(b),{value:U.value,options:J,size:`small`,class:`input-sm`,"onUpdate:value":r[2]||=e=>{U.value=e,$()}},null,8,[`value`]),o(t(`input`,{"onUpdate:modelValue":r[3]||=e=>G.value=e,class:`search-input`,placeholder:d(u)(`logs.searchPlaceholder`)},null,8,A),[[m,G.value]]),p(d(x),{size:`small`,loading:H.value,onClick:$},{default:l(()=>[a(f(d(u)(`logs.refresh`)),1)]),_:1},8,[`loading`])])]),t(`div`,j,[p(d(C),{show:H.value},{default:l(()=>[Y.value.length===0&&!H.value?(c(),n(`div`,M,f(d(u)(`logs.noEntries`)),1)):ee(``,!0),t(`div`,N,[(c(!0),n(_,null,i(Y.value,(e,r)=>(c(),n(`div`,{key:r,class:h([`log-entry`,X(e.level)])},[t(`span`,P,f(Z(e.timestamp)),1),t(`span`,{class:h([`log-level`,X(e.level)])},f(e.level),3),t(`span`,F,f(e.logger),1),Q(e.message)?(c(),n(_,{key:0},[t(`span`,I,f(Q(e.message).method),1),t(`span`,L,f(Q(e.message).path),1),t(`span`,{class:h([`access-status`,`status-`+(Q(e.message).status?.[0]||`x`)])},f(Q(e.message).status),3)],64)):(c(),n(`span`,R,f(e.message),1))],2))),128))])]),_:1},8,[`show`])])]))}}),[[`__scopeId`,`data-v-c785e2a9`]]);export{z as default};
|