hermes-web-ui 0.5.0-beta.5 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/client/assets/{Add-Dr4Jk48X.js → Add-NBp7zkwe.js} +1 -1
- package/dist/client/assets/{Button-DYmcvTbN.js → Button-BJ3HnUMM.js} +1 -1
- package/dist/client/assets/{ChannelsView-Dh0ICMj8.js → ChannelsView-B-0f3nH3.js} +1 -1
- package/dist/client/assets/{ChatView-BNcvd0kp.js → ChatView-DyD_eBjo.js} +1 -1
- package/dist/client/assets/{Close-LuRGl6hi.js → Close-DiA5GrM6.js} +1 -1
- package/dist/client/assets/{Dropdown-BN18Yt-z.js → Dropdown-CMzZdYV2.js} +1 -1
- package/dist/client/assets/{Empty-B_RF1otI.js → Empty-xIQdZMjG.js} +1 -1
- package/dist/client/assets/{FilesView-BW8XkKgD.js → FilesView-DDMLKq8y.js} +1 -1
- package/dist/client/assets/{FormItem-B-aeeAjp.js → FormItem-q6UvWtxc.js} +1 -1
- package/dist/client/assets/{GatewaysView-CvFpwjiX.js → GatewaysView-Bh0XACit.js} +1 -1
- package/dist/client/assets/{GroupChatView-D3V_gUcQ.js → GroupChatView-CWPvt2Rk.js} +1 -1
- package/dist/client/assets/{Input-SPue8VZI.js → Input-2gBFym15.js} +1 -1
- package/dist/client/assets/{InputNumber-QAdbpSMo.js → InputNumber-_enQEStY.js} +1 -1
- package/dist/client/assets/{JobsView-DpMxxNwA.js → JobsView-k9MQ-9Ek.js} +2 -2
- package/dist/client/assets/{LoginView-B44O3gYg.js → LoginView-DJb50vGo.js} +1 -1
- package/dist/client/assets/{LogsView-B6Ns0TUh.js → LogsView-BZfMiCny.js} +1 -1
- package/dist/client/assets/{MarkdownRenderer-COMtmX_T.js → MarkdownRenderer-DxUwWPe4.js} +1 -1
- package/dist/client/assets/{MemoryView-BTSLZPho.js → MemoryView-BwZSbx0s.js} +1 -1
- package/dist/client/assets/{Modal-D8mstzxZ.js → Modal-_Mv0_OD6.js} +1 -1
- package/dist/client/assets/{ModelsView-D4qgYlxy.js → ModelsView-bqcwdeAZ.js} +1 -1
- package/dist/client/assets/{Popconfirm-COpwSVy4.js → Popconfirm-B5f0yyvw.js} +1 -1
- package/dist/client/assets/{Popover-DIaL_WIu.js → Popover-Ctici93J.js} +1 -1
- package/dist/client/assets/{ProfilesView-BYiVlXgE.js → ProfilesView-OWYoaF8u.js} +1 -1
- package/dist/client/assets/{Select-D16ckeZu.js → Select-CTSlWykV.js} +1 -1
- package/dist/client/assets/{SettingRow-Dcezb69-.js → SettingRow-RBjlgsbB.js} +1 -1
- package/dist/client/assets/{SettingsView-qihpa0_7.js → SettingsView-B441ZDnG.js} +1 -1
- package/dist/client/assets/{SkillsView-cXW54ieC.js → SkillsView-Be-qNAG_.js} +1 -1
- package/dist/client/assets/{Space-BFARhsCH.js → Space-Du4MQqfe.js} +1 -1
- package/dist/client/assets/{Spin-DlVnRWbk.js → Spin-CmdboY2D.js} +1 -1
- package/dist/client/assets/{Suffix-B33anHG8.js → Suffix-CsTOHUZV.js} +1 -1
- package/dist/client/assets/{Switch-BEdw9evH.js → Switch-xNCZy7xs.js} +1 -1
- package/dist/client/assets/{Tag-CQg_3m5j.js → Tag-1ZyNDKDi.js} +1 -1
- package/dist/client/assets/{TerminalView-CYGM050D.js → TerminalView-BOP9Gr11.js} +1 -1
- package/dist/client/assets/{Tooltip-xQbcMD5V.js → Tooltip-reeEhHZc.js} +1 -1
- package/dist/client/assets/{Upload-4GKxNdoq.js → Upload-DOsQN79F.js} +1 -1
- package/dist/client/assets/{UsageView-Bv4tVS3u.js → UsageView-BK7-4DcO.js} +1 -1
- package/dist/client/assets/{Warning-D97Z4brh.js → Warning-Hekjemsg.js} +1 -1
- package/dist/client/assets/{_plugin-vue_export-helper-Bhv11fsa.js → _plugin-vue_export-helper-Cnt2qsYI.js} +1 -1
- package/dist/client/assets/app-Da8PL5EA.js +1 -0
- package/dist/client/assets/app-DtvjZy2l.js +1 -0
- package/dist/client/assets/{auth-Dx-Ny1bt.js → auth-CxZBcU7_.js} +1 -1
- package/dist/client/assets/{browser-DxdQOkQL.js → browser--sIIsc3s.js} +1 -1
- package/dist/client/assets/{chat-DwPVOcBq.js → chat-CmbySGMw.js} +2 -2
- package/dist/client/assets/composables-CTKELLKo.js +1 -0
- package/dist/client/assets/{fade-in-height-expand.cssr-B03yyE4H.js → fade-in-height-expand.cssr-Bvuzq2Hq.js} +1 -1
- package/dist/client/assets/{fade-in.cssr-CaoGAkOd.js → fade-in.cssr-C8lLVqHV.js} +1 -1
- package/dist/client/assets/{index-Do9wjiYj.js → index-C9KCXSkX.js} +1 -1
- package/dist/client/assets/{jobs-XkV2JfeS.js → jobs-B7ItUxJJ.js} +1 -1
- package/dist/client/assets/jobs-BkdMASP0.js +1 -0
- package/dist/client/assets/{light-iLgQRBbY.js → light-BobLY7UT.js} +1 -1
- package/dist/client/assets/{light-Br9EVo_j.js → light-CKjHul3b.js} +1 -1
- package/dist/client/assets/{light-Dnf6zYNe.js → light-Cpcmi3R_.js} +1 -1
- package/dist/client/assets/{light-CNLYq5yI.js → light-Cr_T-yRY.js} +1 -1
- package/dist/client/assets/{light-uHPWNInT.js → light-CtgDyYn0.js} +1 -1
- package/dist/client/assets/{light-6ipDkOJp.js → light-DLPNkM26.js} +1 -1
- package/dist/client/assets/{light-BQ13q8RY2.js → light-WEeVZ3KJ2.js} +1 -1
- package/dist/client/assets/{light-fGd7ruvr.js → light-uEv5wn5t.js} +1 -1
- package/dist/client/assets/{light-BLU0AvIa.js → light-xtHEVw3a.js} +1 -1
- package/dist/client/assets/{models-DOFkOIBH.js → models-D0Ao0yf_.js} +1 -1
- package/dist/client/assets/{pinia-DG5v_Ien.js → pinia-EkrAWLNP.js} +1 -1
- package/dist/client/assets/{profiles-DrlYzQof.js → profiles-CJ2fU462.js} +1 -1
- package/dist/client/assets/{router-1zgDoI3V.js → router-BAz5Psee.js} +2 -2
- package/dist/client/assets/{session-browser-prefs-CUxFVXIT.js → session-browser-prefs-Bl9Dh8nf.js} +1 -1
- package/dist/client/assets/{sessions-DE8hvk0c.js → sessions-CDFKn5Js.js} +1 -1
- package/dist/client/assets/{settings-DB6xtfea.js → settings-GP8C58vV.js} +1 -1
- package/dist/client/assets/{skills-B970dzFl.js → skills-BNyPbZ32.js} +1 -1
- package/dist/client/assets/{use-message-DGjaQWMt.js → use-message-C08DfKEA.js} +1 -1
- package/dist/client/assets/{useTheme-CDX7QnAp.js → useTheme-D_5BKl7R.js} +1 -1
- package/dist/client/index.html +33 -33
- package/dist/server/index.js +2 -2
- package/dist/server/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/client/assets/app-Dg_CukO0.js +0 -1
- package/dist/client/assets/app-ypCnVgNS.js +0 -1
- package/dist/client/assets/composables-DkRoRFip.js +0 -1
- package/dist/client/assets/jobs-hN5gQ953.js +0 -1
package/README.md
CHANGED
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
|
|
36
36
|
- Real-time streaming via SSE with async run support
|
|
37
37
|
- Multi-session management — create, rename, delete, switch between sessions
|
|
38
|
+
- **Self-built session database** — local SQLite storage with automatic sync from Hermes state.db on first startup
|
|
38
39
|
- Session grouping by source (Telegram, Discord, Slack, etc.) with collapsible accordion
|
|
39
40
|
- Active session indicator — live sessions pin to top with spinner icon
|
|
40
41
|
- Sessions sorted by latest message time
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as e,M as t}from"./router-
|
|
1
|
+
import{A as e,M as t}from"./router-BAz5Psee.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-BAz5Psee.js";import{B as u,C as d,H as f,L as p,M as m,N as h,O as g,R as _,U as v,V as y,a as b,c as x,d as S,h as C,j as w,k as T,l as E,m as D,n as O,o as k,p as A,r as j,t as M,u as N,v as P,x as F}from"./browser--sIIsc3s.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}=N;function z({duration:e=`.2s`,delay:t=`.1s`}={}){return[p(`&.fade-in-width-expand-transition-leave-from, &.fade-in-width-expand-transition-enter-to`,{opacity:1}),p(`&.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-1zgDoI3V.js";import{r as x,t as S}from"./_plugin-vue_export-helper-Bhv11fsa.js";import{t as C}from"./Button-DYmcvTbN.js";import{t as w}from"./Input-SPue8VZI.js";import{t as T}from"./Tag-CQg_3m5j.js";import{t as E}from"./use-message-DGjaQWMt.js";import{t as D}from"./Spin-DlVnRWbk.js";import{t as O}from"./Switch-BEdw9evH.js";import{a as k,i as A,n as j,r as M,t as N}from"./settings-DB6xtfea.js";import{t as P}from"./SettingRow-Dcezb69-.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=N(),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 A(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 j();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 M(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 k({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=N(),{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-BAz5Psee.js";import{r as x,t as S}from"./_plugin-vue_export-helper-Cnt2qsYI.js";import{t as C}from"./Button-BJ3HnUMM.js";import{t as w}from"./Input-2gBFym15.js";import{t as T}from"./Tag-1ZyNDKDi.js";import{t as E}from"./use-message-C08DfKEA.js";import{t as D}from"./Spin-CmdboY2D.js";import{t as O}from"./Switch-xNCZy7xs.js";import{a as k,i as A,n as j,r as M,t as N}from"./settings-GP8C58vV.js";import{t as P}from"./SettingRow-RBjlgsbB.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=N(),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 A(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 j();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 M(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 k({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=N(),{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,4 +1,4 @@
|
|
|
1
|
-
import{A as e,B as t,C as n,E as r,H as i,K as a,L as o,O as s,Q as c,S as l,T as u,U as d,W as f,X as p,Y as m,Z as h,a as g,ft as _,g as v,h as y,ht as b,k as x,mt as S,p as C,pt as w,st as T,u as E,v as D,w as O,y as k}from"./router-1zgDoI3V.js";import{r as A,t as j}from"./_plugin-vue_export-helper-Bhv11fsa.js";import{t as M}from"./logo-D12u0f1i.js";import{t as N}from"./Modal-D8mstzxZ.js";import{t as P}from"./Dropdown-BN18Yt-z.js";import{t as F}from"./Button-DYmcvTbN.js";import{t as I}from"./Input-SPue8VZI.js";import{t as ee}from"./Tooltip-xQbcMD5V.js";import{t as L}from"./use-message-DGjaQWMt.js";import{t as R}from"./Popconfirm-COpwSVy4.js";import{t as z}from"./useTheme-CDX7QnAp.js";import{t as B}from"./app-ypCnVgNS.js";import{t as V}from"./profiles-DrlYzQof.js";import{n as te,r as ne,t as H}from"./chat-DwPVOcBq.js";import{n as U,o as re}from"./sessions-DE8hvk0c.js";import{t as W}from"./settings-DB6xtfea.js";import{t as ie}from"./session-browser-prefs-CUxFVXIT.js";import{t as ae}from"./clipboard-B7DaOnqD.js";import{a as oe,i as se,n as ce,r as le,t as G}from"./MarkdownRenderer-COMtmX_T.js";var K={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 q(e){return e?K[e]||e:``}function J(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 Y(e){return J(e*1e3)}var ue={class:`chat-input-area`},de={class:`input-top-bar`},X={key:1,class:`context-bar`},Z={key:0,class:`attachment-previews`},Q=[`src`,`alt`],fe={key:1,class:`attachment-file`},pe={class:`file-name`},me={class:`file-size`},$=[`onClick`],he=[`placeholder`],ge={class:`input-actions`},_e=2e5,ve=j(e({__name:`ChatInput`,setup(e){let t=H(),{t:o}=A(),d=T(``),p=T(),g=T(),v=T([]),y=T(!1),E=T(0),k=T(!1),j=l(()=>d.value.trim()||v.value.length>0),M=T(2e5);async function N(){try{M.value=await U(V().activeProfileName||void 0)}catch{M.value=_e}}i(N),m(()=>V().activeProfileName,N),m(()=>B().selectedModel,N);let P=l(()=>(t.activeSession?.inputTokens??0)+(t.activeSession?.outputTokens??0)),I=l(()=>Math.max(0,M.value-P.value)),L=l(()=>Math.min(P.value/M.value*100,100));function R(e){return e>=1e6?(e/1e6).toFixed(1)+`M`:e>=1e3?(e/1e3).toFixed(1)+`k`:String(e)}function z(e){if(v.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);v.value.push({id:t,name:e.name,type:e.type,size:e.size,url:n,file:e})}function te(){g.value?.click()}function ne(e){let t=e.target;if(t.files){for(let e of t.files)z(e);t.value=``}}function re(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`;z(new File([t],`pasted-${Date.now()}.${n}`,{type:e.type}))}}}function W(e){e.preventDefault()}function ie(e){e.preventDefault(),e.dataTransfer?.types.includes(`Files`)&&(E.value++,y.value=!0)}function ae(){E.value--,E.value<=0&&(E.value=0,y.value=!1)}function oe(e){e.preventDefault(),E.value=0,y.value=!1;let t=Array.from(e.dataTransfer?.files||[]);if(t.length){for(let e of t)z(e);p.value?.focus()}}function se(){let e=d.value.trim();!e&&v.value.length===0||(t.sendMessage(e,v.value.length>0?v.value:void 0),d.value=``,v.value=[],p.value&&(p.value.style.height=`auto`))}function ce(){k.value=!0}function le(){requestAnimationFrame(()=>{k.value=!1})}function G(e){return k.value||e.isComposing||e.keyCode===229}function K(e){e.key!==`Enter`||e.shiftKey||G(e)||(e.preventDefault(),se())}function q(e){let t=e.target;t.style.height=`auto`,t.style.height=Math.min(t.scrollHeight,100)+`px`}function J(e){let t=v.value.findIndex(t=>t.id===e);t!==-1&&(URL.revokeObjectURL(v.value[t].url),v.value.splice(t,1))}function Y(e){return e<1024?e+` B`:e<1024*1024?(e/1024).toFixed(1)+` KB`:(e/(1024*1024)).toFixed(1)+` MB`}function ve(e){return e.startsWith(`image/`)}return(e,i)=>(f(),r(`div`,ue,[n(`div`,de,[x(_(ee),{trigger:`hover`},{trigger:h(()=>[x(_(F),{quaternary:``,size:`tiny`,onClick:te,circle:``},{icon:h(()=>[...i[2]||=[n(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`},[n(`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:h(()=>[s(` `+b(_(o)(`chat.attachFiles`)),1)]),_:1}),P.value>0?(f(),r(`span`,{key:0,class:w([`context-info`,{"context-warning":L.value>80}])},b(R(P.value))+` / `+b(R(M.value))+` · `+b(_(o)(`chat.contextRemaining`))+` `+b(R(I.value)),3)):u(``,!0),P.value>0?(f(),r(`div`,X,[n(`div`,{class:w([`context-bar-fill`,{"context-bar-warn":L.value>60&&L.value<=80,"context-bar-danger":L.value>80}]),style:S({width:`${L.value}%`})},null,6)])):u(``,!0)]),v.value.length>0?(f(),r(`div`,Z,[(f(!0),r(D,null,a(v.value,e=>(f(),r(`div`,{key:e.id,class:w([`attachment-preview`,{image:ve(e.type)}])},[ve(e.type)?(f(),r(`img`,{key:0,src:e.url,alt:e.name,class:`attachment-thumb`},null,8,Q)):(f(),r(`div`,fe,[i[3]||=n(`svg`,{width:`20`,height:`20`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`},[n(`path`,{d:`M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z`}),n(`polyline`,{points:`14 2 14 8 20 8`})],-1),n(`span`,pe,b(e.name),1),n(`span`,me,b(Y(e.size)),1)])),n(`button`,{class:`attachment-remove`,onClick:t=>J(e.id)},[...i[4]||=[n(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[n(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),n(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})],-1)]],8,$)],2))),128))])):u(``,!0),n(`div`,{class:w([`input-wrapper`,{"drag-over":y.value}]),onDragover:W,onDragenter:ie,onDragleave:ae,onDrop:oe},[n(`input`,{ref_key:`fileInputRef`,ref:g,type:`file`,multiple:``,class:`file-input-hidden`,onChange:ne},null,544),c(n(`textarea`,{ref_key:`textareaRef`,ref:p,"onUpdate:modelValue":i[0]||=e=>d.value=e,class:`input-textarea`,placeholder:_(o)(`chat.inputPlaceholder`),rows:`1`,onKeydown:K,onCompositionstart:ce,onCompositionend:le,onInput:q,onPaste:re},null,40,he),[[C,d.value]]),n(`div`,ge,[_(t).isStreaming?(f(),O(_(F),{key:0,size:`small`,type:`error`,onClick:i[1]||=e=>_(t).stopStreaming()},{default:h(()=>[s(b(_(o)(`chat.stop`)),1)]),_:1})):u(``,!0),x(_(F),{size:`small`,type:`primary`,disabled:!j.value||_(t).isStreaming,onClick:se},{icon:h(()=>[...i[5]||=[n(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[n(`line`,{x1:`22`,y1:`2`,x2:`11`,y2:`13`}),n(`polygon`,{points:`22 2 15 22 11 13 2 9 22 2`})],-1)]]),default:h(()=>[s(` `+b(_(o)(`chat.send`)),1)]),_:1},8,[`disabled`])])],34)]))}}),[[`__scopeId`,`data-v-e8019954`]]);async function ye(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 g(`/api/hermes/sessions/conversations${t.toString()?`?${t.toString()}`:``}`)).sessions}async function be(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 g(`/api/hermes/sessions/conversations/${encodeURIComponent(e)}/messages${r}`)}var xe={class:`conversation-monitor`},Se={class:`conversation-monitor__sidebar`},Ce={key:0,class:`conversation-monitor__empty`},we={key:1,class:`conversation-monitor__empty`},Te=[`aria-pressed`,`onClick`],Ee={class:`conversation-monitor__session-title-row`},De={class:`conversation-monitor__session-title`},Oe={key:0,class:`conversation-monitor__session-live`},ke={class:`conversation-monitor__session-meta`},Ae={key:0,class:`conversation-monitor__session-preview`},je={class:`conversation-monitor__detail`},Me={key:0,class:`conversation-monitor__detail-header`},Ne={class:`conversation-monitor__detail-title`},Pe={class:`conversation-monitor__detail-meta`},Fe={key:1,class:`conversation-monitor__empty conversation-monitor__empty--error`},Ie={key:2,class:`conversation-monitor__empty`},Le={key:3,class:`conversation-monitor__empty`},Re={key:4,class:`conversation-monitor__messages`},ze={class:`conversation-monitor__message-meta`},Be={class:`conversation-monitor__message-content`},Ve=15e3,He=j(e({__name:`ConversationMonitorPane`,props:{humanOnly:{type:Boolean}},setup(e){let t=e,{t:o}=A(),s=T([]),c=T(null),p=T(null),h=T(!1),g=T(!1),v=T(``),y=null,x=0,S=0,C=l(()=>s.value.find(e=>e.id===c.value)||null);function E(e){return o(e===`user`?`chat.monitorRoleUser`:`chat.monitorRoleAssistant`)}function O(e){return o(`chat.linkedSessions`,{count:e})}function k(){x+=1,S+=1}async function j(e=!1){let n=++x;e||(h.value=!0,v.value=``);try{let e=await ye({humanOnly:t.humanOnly});if(n!==x)return;if(s.value=e,!e.length){c.value=null,p.value=null;return}(!c.value||!e.some(e=>e.id===c.value))&&(c.value=e[0].id)}catch(t){if(n!==x||e)return;v.value=t?.message||String(t),s.value=[],c.value=null,p.value=null}finally{!e&&n===x&&(h.value=!1)}}async function M(e,n=!1){let r=++S;if(!e){p.value=null;return}let i=t.humanOnly;n||(g.value=!0,v.value=``);try{let n=await be(e,{humanOnly:i});if(r!==S||e!==c.value||i!==t.humanOnly)return;p.value=n}catch(e){if(r!==S||n)return;v.value=e?.message||String(e),p.value=null}finally{!n&&r===S&&(g.value=!1)}}return m(c,async e=>{await M(e,!1)}),m(()=>t.humanOnly,async()=>{k(),c.value=null,p.value=null,await j(!1)}),i(async()=>{await j(!1),y=setInterval(async()=>{await j(!0),c.value&&await M(c.value,!0)},Ve)}),d(()=>{k(),y&&clearInterval(y)}),(e,t)=>(f(),r(`div`,xe,[n(`aside`,Se,[h.value&&s.value.length===0?(f(),r(`div`,Ce,b(_(o)(`common.loading`)),1)):s.value.length===0?(f(),r(`div`,we,b(_(o)(`chat.noSessions`)),1)):u(``,!0),(f(!0),r(D,null,a(s.value,e=>(f(),r(`button`,{key:e.id,class:w([`conversation-monitor__session`,{active:e.id===c.value}]),"aria-pressed":e.id===c.value,onClick:t=>c.value=e.id},[n(`div`,Ee,[n(`span`,De,b(e.title||e.preview||e.id),1),e.is_active?(f(),r(`span`,Oe,b(_(o)(`chat.recentBadge`)),1)):u(``,!0)]),n(`div`,ke,b(_(q)(e.source))+` · `+b(_(Y)(e.last_active)),1),e.preview?(f(),r(`div`,Ae,b(e.preview),1)):u(``,!0)],10,Te))),128))]),n(`section`,je,[C.value?(f(),r(`header`,Me,[n(`div`,Ne,b(C.value.title||C.value.preview||C.value.id),1),n(`div`,Pe,[n(`span`,null,b(_(q)(C.value.source)),1),t[0]||=n(`span`,null,`·`,-1),n(`span`,null,b(C.value.model),1),t[1]||=n(`span`,null,`·`,-1),n(`span`,null,b(O(C.value.thread_session_count)),1)])])):u(``,!0),v.value?(f(),r(`div`,Fe,b(v.value),1)):g.value&&!p.value?(f(),r(`div`,Ie,b(_(o)(`common.loading`)),1)):!p.value||p.value.messages.length===0?(f(),r(`div`,Le,b(_(o)(`chat.noVisibleMessages`)),1)):(f(),r(`div`,Re,[(f(!0),r(D,null,a(p.value.messages,e=>(f(),r(`article`,{key:`${e.session_id}-${e.id}`,class:w([`conversation-monitor__message`,`role-${e.role}`])},[n(`div`,ze,b(E(e.role))+` · `+b(_(Y)(e.timestamp)),1),n(`div`,Be,b(e.content),1)],2))),128))]))])]))}}),[[`__scopeId`,`data-v-be298d0d`]]),Ue=[`id`],We={key:1,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`,class:`tool-icon`},Ge={class:`tool-name`},Ke={key:2,class:`tool-preview`},qe={key:3,class:`tool-spinner`},Je={key:4,class:`tool-error-badge`},Ye={key:0,class:`tool-detail-section`,"data-copy-source":`tool-args`},Xe={class:`tool-detail-label`},Ze=[`innerHTML`],Qe={key:1,class:`tool-detail-section`,"data-copy-source":`tool-result`},$e={class:`tool-detail-label`},et=[`innerHTML`],tt={key:1,class:`msg-body`},nt={key:0,src:M,alt:`Hermes`,class:`msg-avatar`},rt={key:0,class:`msg-attachments`},it=[`src`,`alt`,`onClick`],at=[`onClick`,`title`],ot={class:`att-name`},st={class:`att-size`},ct={class:`thinking-label`},lt={key:0,class:`thinking-meta`},ut={class:`thinking-meta`},dt={key:0,class:`thinking-body`},ft={key:3,class:`streaming-dots`},pt={class:`message-meta`},mt=[`title`],ht={class:`message-time`},gt=[`src`],_t=2e3,vt=j(e({__name:`MessageItem`,props:{message:{},highlight:{type:Boolean}},setup(e){let i=e,{t:o}=A(),s=L(),c=l(()=>i.message.role===`system`),d=T(!1),m=T(null),h=H(),g=W(),y=l(()=>{if(i.message.role===`tool`)return null;let e=i.message.content||``;return e.trim()?e:null});async function S(){let e=y.value;if(e)try{await navigator.clipboard.writeText(e),s.success(o(`chat.copiedBubble`))}catch{s.error(o(`chat.copyFailed`))}}let C=l(()=>ne(i.message.content||``,{streaming:!!i.message.isStreaming})),E=l(()=>!!(i.message.reasoning&&i.message.reasoning.length>0)),j=l(()=>E.value||C.value.hasThinking),M=l(()=>{let e=[];return i.message.reasoning&&e.push(i.message.reasoning),e.push(...C.value.segments),C.value.pending&&e.push(C.value.pending),e.join(`
|
|
1
|
+
import{A as e,B as t,C as n,E as r,H as i,K as a,L as o,O as s,Q as c,S as l,T as u,U as d,W as f,X as p,Y as m,Z as h,a as g,ft as _,g as v,h as y,ht as b,k as x,mt as S,p as C,pt as w,st as T,u as E,v as D,w as O,y as k}from"./router-BAz5Psee.js";import{r as A,t as j}from"./_plugin-vue_export-helper-Cnt2qsYI.js";import{t as M}from"./logo-D12u0f1i.js";import{t as N}from"./Modal-_Mv0_OD6.js";import{t as P}from"./Dropdown-CMzZdYV2.js";import{t as F}from"./Button-BJ3HnUMM.js";import{t as I}from"./Input-2gBFym15.js";import{t as ee}from"./Tooltip-reeEhHZc.js";import{t as L}from"./use-message-C08DfKEA.js";import{t as R}from"./Popconfirm-B5f0yyvw.js";import{t as z}from"./useTheme-D_5BKl7R.js";import{t as B}from"./app-Da8PL5EA.js";import{t as V}from"./profiles-CJ2fU462.js";import{n as te,r as ne,t as H}from"./chat-CmbySGMw.js";import{n as U,o as re}from"./sessions-CDFKn5Js.js";import{t as W}from"./settings-GP8C58vV.js";import{t as ie}from"./session-browser-prefs-Bl9Dh8nf.js";import{t as ae}from"./clipboard-B7DaOnqD.js";import{a as oe,i as se,n as ce,r as le,t as G}from"./MarkdownRenderer-DxUwWPe4.js";var K={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 q(e){return e?K[e]||e:``}function J(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 Y(e){return J(e*1e3)}var ue={class:`chat-input-area`},de={class:`input-top-bar`},X={key:1,class:`context-bar`},Z={key:0,class:`attachment-previews`},Q=[`src`,`alt`],fe={key:1,class:`attachment-file`},pe={class:`file-name`},me={class:`file-size`},$=[`onClick`],he=[`placeholder`],ge={class:`input-actions`},_e=2e5,ve=j(e({__name:`ChatInput`,setup(e){let t=H(),{t:o}=A(),d=T(``),p=T(),g=T(),v=T([]),y=T(!1),E=T(0),k=T(!1),j=l(()=>d.value.trim()||v.value.length>0),M=T(2e5);async function N(){try{M.value=await U(V().activeProfileName||void 0)}catch{M.value=_e}}i(N),m(()=>V().activeProfileName,N),m(()=>B().selectedModel,N);let P=l(()=>(t.activeSession?.inputTokens??0)+(t.activeSession?.outputTokens??0)),I=l(()=>Math.max(0,M.value-P.value)),L=l(()=>Math.min(P.value/M.value*100,100));function R(e){return e>=1e6?(e/1e6).toFixed(1)+`M`:e>=1e3?(e/1e3).toFixed(1)+`k`:String(e)}function z(e){if(v.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);v.value.push({id:t,name:e.name,type:e.type,size:e.size,url:n,file:e})}function te(){g.value?.click()}function ne(e){let t=e.target;if(t.files){for(let e of t.files)z(e);t.value=``}}function re(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`;z(new File([t],`pasted-${Date.now()}.${n}`,{type:e.type}))}}}function W(e){e.preventDefault()}function ie(e){e.preventDefault(),e.dataTransfer?.types.includes(`Files`)&&(E.value++,y.value=!0)}function ae(){E.value--,E.value<=0&&(E.value=0,y.value=!1)}function oe(e){e.preventDefault(),E.value=0,y.value=!1;let t=Array.from(e.dataTransfer?.files||[]);if(t.length){for(let e of t)z(e);p.value?.focus()}}function se(){let e=d.value.trim();!e&&v.value.length===0||(t.sendMessage(e,v.value.length>0?v.value:void 0),d.value=``,v.value=[],p.value&&(p.value.style.height=`auto`))}function ce(){k.value=!0}function le(){requestAnimationFrame(()=>{k.value=!1})}function G(e){return k.value||e.isComposing||e.keyCode===229}function K(e){e.key!==`Enter`||e.shiftKey||G(e)||(e.preventDefault(),se())}function q(e){let t=e.target;t.style.height=`auto`,t.style.height=Math.min(t.scrollHeight,100)+`px`}function J(e){let t=v.value.findIndex(t=>t.id===e);t!==-1&&(URL.revokeObjectURL(v.value[t].url),v.value.splice(t,1))}function Y(e){return e<1024?e+` B`:e<1024*1024?(e/1024).toFixed(1)+` KB`:(e/(1024*1024)).toFixed(1)+` MB`}function ve(e){return e.startsWith(`image/`)}return(e,i)=>(f(),r(`div`,ue,[n(`div`,de,[x(_(ee),{trigger:`hover`},{trigger:h(()=>[x(_(F),{quaternary:``,size:`tiny`,onClick:te,circle:``},{icon:h(()=>[...i[2]||=[n(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`},[n(`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:h(()=>[s(` `+b(_(o)(`chat.attachFiles`)),1)]),_:1}),P.value>0?(f(),r(`span`,{key:0,class:w([`context-info`,{"context-warning":L.value>80}])},b(R(P.value))+` / `+b(R(M.value))+` · `+b(_(o)(`chat.contextRemaining`))+` `+b(R(I.value)),3)):u(``,!0),P.value>0?(f(),r(`div`,X,[n(`div`,{class:w([`context-bar-fill`,{"context-bar-warn":L.value>60&&L.value<=80,"context-bar-danger":L.value>80}]),style:S({width:`${L.value}%`})},null,6)])):u(``,!0)]),v.value.length>0?(f(),r(`div`,Z,[(f(!0),r(D,null,a(v.value,e=>(f(),r(`div`,{key:e.id,class:w([`attachment-preview`,{image:ve(e.type)}])},[ve(e.type)?(f(),r(`img`,{key:0,src:e.url,alt:e.name,class:`attachment-thumb`},null,8,Q)):(f(),r(`div`,fe,[i[3]||=n(`svg`,{width:`20`,height:`20`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`},[n(`path`,{d:`M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z`}),n(`polyline`,{points:`14 2 14 8 20 8`})],-1),n(`span`,pe,b(e.name),1),n(`span`,me,b(Y(e.size)),1)])),n(`button`,{class:`attachment-remove`,onClick:t=>J(e.id)},[...i[4]||=[n(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[n(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),n(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})],-1)]],8,$)],2))),128))])):u(``,!0),n(`div`,{class:w([`input-wrapper`,{"drag-over":y.value}]),onDragover:W,onDragenter:ie,onDragleave:ae,onDrop:oe},[n(`input`,{ref_key:`fileInputRef`,ref:g,type:`file`,multiple:``,class:`file-input-hidden`,onChange:ne},null,544),c(n(`textarea`,{ref_key:`textareaRef`,ref:p,"onUpdate:modelValue":i[0]||=e=>d.value=e,class:`input-textarea`,placeholder:_(o)(`chat.inputPlaceholder`),rows:`1`,onKeydown:K,onCompositionstart:ce,onCompositionend:le,onInput:q,onPaste:re},null,40,he),[[C,d.value]]),n(`div`,ge,[_(t).isStreaming?(f(),O(_(F),{key:0,size:`small`,type:`error`,onClick:i[1]||=e=>_(t).stopStreaming()},{default:h(()=>[s(b(_(o)(`chat.stop`)),1)]),_:1})):u(``,!0),x(_(F),{size:`small`,type:`primary`,disabled:!j.value||_(t).isStreaming,onClick:se},{icon:h(()=>[...i[5]||=[n(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`},[n(`line`,{x1:`22`,y1:`2`,x2:`11`,y2:`13`}),n(`polygon`,{points:`22 2 15 22 11 13 2 9 22 2`})],-1)]]),default:h(()=>[s(` `+b(_(o)(`chat.send`)),1)]),_:1},8,[`disabled`])])],34)]))}}),[[`__scopeId`,`data-v-e8019954`]]);async function ye(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 g(`/api/hermes/sessions/conversations${t.toString()?`?${t.toString()}`:``}`)).sessions}async function be(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 g(`/api/hermes/sessions/conversations/${encodeURIComponent(e)}/messages${r}`)}var xe={class:`conversation-monitor`},Se={class:`conversation-monitor__sidebar`},Ce={key:0,class:`conversation-monitor__empty`},we={key:1,class:`conversation-monitor__empty`},Te=[`aria-pressed`,`onClick`],Ee={class:`conversation-monitor__session-title-row`},De={class:`conversation-monitor__session-title`},Oe={key:0,class:`conversation-monitor__session-live`},ke={class:`conversation-monitor__session-meta`},Ae={key:0,class:`conversation-monitor__session-preview`},je={class:`conversation-monitor__detail`},Me={key:0,class:`conversation-monitor__detail-header`},Ne={class:`conversation-monitor__detail-title`},Pe={class:`conversation-monitor__detail-meta`},Fe={key:1,class:`conversation-monitor__empty conversation-monitor__empty--error`},Ie={key:2,class:`conversation-monitor__empty`},Le={key:3,class:`conversation-monitor__empty`},Re={key:4,class:`conversation-monitor__messages`},ze={class:`conversation-monitor__message-meta`},Be={class:`conversation-monitor__message-content`},Ve=15e3,He=j(e({__name:`ConversationMonitorPane`,props:{humanOnly:{type:Boolean}},setup(e){let t=e,{t:o}=A(),s=T([]),c=T(null),p=T(null),h=T(!1),g=T(!1),v=T(``),y=null,x=0,S=0,C=l(()=>s.value.find(e=>e.id===c.value)||null);function E(e){return o(e===`user`?`chat.monitorRoleUser`:`chat.monitorRoleAssistant`)}function O(e){return o(`chat.linkedSessions`,{count:e})}function k(){x+=1,S+=1}async function j(e=!1){let n=++x;e||(h.value=!0,v.value=``);try{let e=await ye({humanOnly:t.humanOnly});if(n!==x)return;if(s.value=e,!e.length){c.value=null,p.value=null;return}(!c.value||!e.some(e=>e.id===c.value))&&(c.value=e[0].id)}catch(t){if(n!==x||e)return;v.value=t?.message||String(t),s.value=[],c.value=null,p.value=null}finally{!e&&n===x&&(h.value=!1)}}async function M(e,n=!1){let r=++S;if(!e){p.value=null;return}let i=t.humanOnly;n||(g.value=!0,v.value=``);try{let n=await be(e,{humanOnly:i});if(r!==S||e!==c.value||i!==t.humanOnly)return;p.value=n}catch(e){if(r!==S||n)return;v.value=e?.message||String(e),p.value=null}finally{!n&&r===S&&(g.value=!1)}}return m(c,async e=>{await M(e,!1)}),m(()=>t.humanOnly,async()=>{k(),c.value=null,p.value=null,await j(!1)}),i(async()=>{await j(!1),y=setInterval(async()=>{await j(!0),c.value&&await M(c.value,!0)},Ve)}),d(()=>{k(),y&&clearInterval(y)}),(e,t)=>(f(),r(`div`,xe,[n(`aside`,Se,[h.value&&s.value.length===0?(f(),r(`div`,Ce,b(_(o)(`common.loading`)),1)):s.value.length===0?(f(),r(`div`,we,b(_(o)(`chat.noSessions`)),1)):u(``,!0),(f(!0),r(D,null,a(s.value,e=>(f(),r(`button`,{key:e.id,class:w([`conversation-monitor__session`,{active:e.id===c.value}]),"aria-pressed":e.id===c.value,onClick:t=>c.value=e.id},[n(`div`,Ee,[n(`span`,De,b(e.title||e.preview||e.id),1),e.is_active?(f(),r(`span`,Oe,b(_(o)(`chat.recentBadge`)),1)):u(``,!0)]),n(`div`,ke,b(_(q)(e.source))+` · `+b(_(Y)(e.last_active)),1),e.preview?(f(),r(`div`,Ae,b(e.preview),1)):u(``,!0)],10,Te))),128))]),n(`section`,je,[C.value?(f(),r(`header`,Me,[n(`div`,Ne,b(C.value.title||C.value.preview||C.value.id),1),n(`div`,Pe,[n(`span`,null,b(_(q)(C.value.source)),1),t[0]||=n(`span`,null,`·`,-1),n(`span`,null,b(C.value.model),1),t[1]||=n(`span`,null,`·`,-1),n(`span`,null,b(O(C.value.thread_session_count)),1)])])):u(``,!0),v.value?(f(),r(`div`,Fe,b(v.value),1)):g.value&&!p.value?(f(),r(`div`,Ie,b(_(o)(`common.loading`)),1)):!p.value||p.value.messages.length===0?(f(),r(`div`,Le,b(_(o)(`chat.noVisibleMessages`)),1)):(f(),r(`div`,Re,[(f(!0),r(D,null,a(p.value.messages,e=>(f(),r(`article`,{key:`${e.session_id}-${e.id}`,class:w([`conversation-monitor__message`,`role-${e.role}`])},[n(`div`,ze,b(E(e.role))+` · `+b(_(Y)(e.timestamp)),1),n(`div`,Be,b(e.content),1)],2))),128))]))])]))}}),[[`__scopeId`,`data-v-be298d0d`]]),Ue=[`id`],We={key:1,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`,class:`tool-icon`},Ge={class:`tool-name`},Ke={key:2,class:`tool-preview`},qe={key:3,class:`tool-spinner`},Je={key:4,class:`tool-error-badge`},Ye={key:0,class:`tool-detail-section`,"data-copy-source":`tool-args`},Xe={class:`tool-detail-label`},Ze=[`innerHTML`],Qe={key:1,class:`tool-detail-section`,"data-copy-source":`tool-result`},$e={class:`tool-detail-label`},et=[`innerHTML`],tt={key:1,class:`msg-body`},nt={key:0,src:M,alt:`Hermes`,class:`msg-avatar`},rt={key:0,class:`msg-attachments`},it=[`src`,`alt`,`onClick`],at=[`onClick`,`title`],ot={class:`att-name`},st={class:`att-size`},ct={class:`thinking-label`},lt={key:0,class:`thinking-meta`},ut={class:`thinking-meta`},dt={key:0,class:`thinking-body`},ft={key:3,class:`streaming-dots`},pt={class:`message-meta`},mt=[`title`],ht={class:`message-time`},gt=[`src`],_t=2e3,vt=j(e({__name:`MessageItem`,props:{message:{},highlight:{type:Boolean}},setup(e){let i=e,{t:o}=A(),s=L(),c=l(()=>i.message.role===`system`),d=T(!1),m=T(null),h=H(),g=W(),y=l(()=>{if(i.message.role===`tool`)return null;let e=i.message.content||``;return e.trim()?e:null});async function S(){let e=y.value;if(e)try{await navigator.clipboard.writeText(e),s.success(o(`chat.copiedBubble`))}catch{s.error(o(`chat.copyFailed`))}}let C=l(()=>ne(i.message.content||``,{streaming:!!i.message.isStreaming})),E=l(()=>!!(i.message.reasoning&&i.message.reasoning.length>0)),j=l(()=>E.value||C.value.hasThinking),M=l(()=>{let e=[];return i.message.reasoning&&e.push(i.message.reasoning),e.push(...C.value.segments),C.value.pending&&e.push(C.value.pending),e.join(`
|
|
2
2
|
|
|
3
3
|
`)}),N=l(()=>{let e=te(C.value);return i.message.reasoning&&(e+=i.message.reasoning.length),e}),P=l(()=>i.message.isStreaming?!!(C.value.pending!==null||E.value&&!i.message.content):!1),F=T(null),I=l(()=>P.value?!0:F.value===null?!!g.display.show_reasoning:F.value);function ee(){F.value=!I.value}let R=T(Date.now()),z=null;function B(){let e=h.getThinkingObservation(i.message.id),t=!!(i.message.isStreaming&&e?.startedAt!==void 0&&e.endedAt===void 0);t&&z===null?z=window.setInterval(()=>{R.value=Date.now()},1e3):!t&&z!==null&&(window.clearInterval(z),z=null)}p(B),t(()=>{z!==null&&window.clearInterval(z)});let V=l(()=>{let e=h.getThinkingObservation(i.message.id);if(!e?.startedAt)return null;let t=e.endedAt??(i.message.isStreaming?R.value:e.startedAt);return Math.max(0,t-e.startedAt)});function U(e){let t=Math.floor(e/1e3);if(t<60)return`${t}s`;let n=Math.floor(t/60),r=t%60;return r===0?`${n}m`:`${n}m ${r}s`}let re=l(()=>new Date(i.message.timestamp).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}));function ie(e){return e.startsWith(`image/`)}function ae(e){return e<1024?e+` B`:e<1024*1024?(e/1024).toFixed(1)+` KB`:(e/(1024*1024)).toFixed(1)+` MB`}function K(e){let t=i.message.content||``,n=/\[File:\s*([^\]]+)\]\(([^)]+)\)/g,r;for(;(r=n.exec(t))!==null;)if(r[1].trim()===e.trim())return r[2];return null}function q(e){let t=K(e.name);if(t){s.info(o(`download.downloading`)),oe(t,e.name).catch(e=>{s.error(e.message||o(`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 J(e){if(!e)return{full:``,display:``};try{let t=JSON.stringify(JSON.parse(e),null,2);return{full:t,display:t.length>_t?t.slice(0,_t)+`
|
|
4
4
|
`+o(`chat.truncated`):t,language:`json`}}catch{return{full:e,display:e.length>_t?e.slice(0,_t)+`
|
|
@@ -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-BAz5Psee.js";import{H as i,L as a,R as o,V as s,l as c}from"./browser--sIIsc3s.js";import{n as l,r as u}from"./fade-in.cssr-C8lLVqHV.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=o(`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-BAz5Psee.js";import{B as h,C as g,E as _,H as v,L as y,R as b,U as x,V as S,c as C,h as w,j as T,k as E,m as D}from"./browser--sIIsc3s.js";import{M as O,O as k,S as A,T as j,c as M,h as N,n as P,o as F,p as I,r as L,s as R,t as z,w as B,x as ee}from"./Popover-Ctici93J.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-CsTOHUZV.js";import{r as ie,t as ae}from"./light-CtgDyYn0.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 O()?(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=E(`n-dropdown-menu`),K=E(`n-dropdown`),q=E(`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`]},R(s.icon)),i(`div`,{class:`${e}-dropdown-option-body__label`,"data-dropdown-option":!0},a?a(s):R(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=b(`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-BAz5Psee.js";import{B as d,D as f,L as p,R as m,U as h,c as g,h as _,j as v,m as y,n as b}from"./browser--sIIsc3s.js";import{L as x,_ as S,v as C}from"./Popover-Ctici93J.js";import{l as w,s as T}from"./Suffix-CsTOHUZV.js";import{i as E,r as D,s as O}from"./fade-in.cssr-C8lLVqHV.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:v(()=>{let e=o.value;return e===null?0:Math.max(e.getBound(a.value)-1,0)}),endIndexRef:v(()=>{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&&D({key:n}):D({index:t})});let r=!1,i=!1;o(()=>{if(r=!1,!i){i=!0;return}D({top:S.value,left:p.value})}),c(()=>{r=!0,i||=!0});let a=v(()=>{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,y=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=v(()=>Math.max(y.value.getBound(S.value-E(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}),D=(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}=y,a=i.sum(t)+E(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}=y,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(y.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(y.value.sum(w.value))})`})),viewportItems:T,listElRef:h,itemsElRef:l(null),scrollTo:D,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:b,self:H},W=m(`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-CY-yDmJL.js","assets/lspLanguageFeatures-CfHlhHow.js","assets/editor.api2-Btaoxsaa.js","assets/chunk-CFjPhJqf.js","assets/editor-Br_kD0ds.css","assets/workers-DeSTTsJw.js","assets/htmlMode-CI_im7na.js","assets/jsonMode-Cw0THbpv.js","assets/freemarker2-CbfgdMk_.js","assets/handlebars-DzEt-fkM.js","assets/html-DQnk5ILb.js","assets/javascript-ChItHuIK.js","assets/typescript-C80ydomU.js","assets/liquid-xYai9Owz.js","assets/mdx-BGsgThlW.js","assets/python-D6PBIMMB.js","assets/razor-CcsXdsw-.js","assets/xml-D2liBTze.js","assets/yaml-5U9keYZX.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{r as e}from"./chunk-CFjPhJqf.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 w,r as te,st as T,ut as E,v as D,w as O}from"./router-
|
|
2
|
+
import{r as e}from"./chunk-CFjPhJqf.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 w,r as te,st as T,ut as E,v as D,w as O}from"./router-BAz5Psee.js";import{n as ne}from"./pinia-EkrAWLNP.js";import{t as k}from"./preload-helper-rov5CBGT.js";import{r as A,t as j}from"./_plugin-vue_export-helper-Cnt2qsYI.js";import{B as M,C as N,G as re,H as P,L as F,O as I,R as L,U as R,V as z,W as ie,a as ae,c as oe,d as se,h as ce,j as B,k as le,m as ue,o as de,p as fe,r as pe,x as me,y as he}from"./browser--sIIsc3s.js";import{F as ge,I as _e,s as ve}from"./Popover-Ctici93J.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-CsTOHUZV.js";import{i as Ee,o as De,r as Oe,s as ke}from"./fade-in.cssr-C8lLVqHV.js";import{t as Ae}from"./Modal-_Mv0_OD6.js";import{n as V,t as je}from"./Dropdown-CMzZdYV2.js";import{i as Me,t as Ne}from"./Empty-xIQdZMjG.js";import{a as Pe,t as H}from"./Button-BJ3HnUMM.js";import{t as Fe}from"./Upload-DOsQN79F.js";import{t as Ie}from"./Input-2gBFym15.js";import{t as Le}from"./fade-in-height-expand.cssr-Bvuzq2Hq.js";import{a as Re,n as ze,r as Be}from"./light-BobLY7UT.js";import{t as Ve}from"./composables-CTKELLKo.js";import{t as He}from"./use-message-C08DfKEA.js";import{t as Ue}from"./Space-Du4MQqfe.js";import{t as We}from"./Spin-CmdboY2D.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-Btaoxsaa.js";import"./workers-DeSTTsJw.js";import{t as Ze}from"./monaco.contribution-CzMlvpbv.js";import{t as Qe}from"./clipboard-B7DaOnqD.js";import{a as $e,t as et}from"./MarkdownRenderer-DxUwWPe4.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=L(`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-BAz5Psee.js";import{B as f,E as p,L as m,R as h,U as g,V as _,c as v,f as y,h as b,k as x,m as ee,u as S,x as C}from"./browser--sIIsc3s.js";import{F as te,p as w}from"./Popover-Ctici93J.js";import{n as T}from"./Warning-Hekjemsg.js";import{g as ne}from"./_baseEach-B32WmqXh.js";import{t as re}from"./light-DLPNkM26.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=x(`n-form`),ae=x(`n-form-item-insts`),D=h(`form`,[_(`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-BAz5Psee.js";import{n as h}from"./pinia-EkrAWLNP.js";import{r as g,t as _}from"./_plugin-vue_export-helper-Cnt2qsYI.js";import{t as v}from"./Button-BJ3HnUMM.js";import{t as y}from"./Tag-1ZyNDKDi.js";import{t as b}from"./use-message-C08DfKEA.js";import{t as x}from"./Spin-CmdboY2D.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{o as e,t}from"./chunk-CFjPhJqf.js";import{A 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,Q as f,S as p,T as m,U as h,W as g,Y as _,Z as v,a as y,ft as b,g as x,h as S,ht as C,k as w,m as T,mt as E,n as D,p as O,pt as k,st as A,ut as j,v as M,w as N,y as P}from"./router-
|
|
1
|
+
import{o as e,t}from"./chunk-CFjPhJqf.js";import{A 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,Q as f,S as p,T as m,U as h,W as g,Y as _,Z as v,a as y,ft as b,g as x,h as S,ht as C,k as w,m as T,mt as E,n as D,p as O,pt as k,st as A,ut as j,v as M,w as N,y as P}from"./router-BAz5Psee.js";import{n as F}from"./pinia-EkrAWLNP.js";import{r as I,t as L}from"./_plugin-vue_export-helper-Cnt2qsYI.js";import{B as R,C as z,H as ee,L as B,R as V,S as te,T as ne,V as H,b as U,c as W,d as G,h as K,j as re,k as q,m as ie}from"./browser--sIIsc3s.js";import{F as ae,P as oe,t as se}from"./Popover-Ctici93J.js";import{i as ce}from"./create-DgSD0xTd.js";import{d as le}from"./Suffix-CsTOHUZV.js";import{r as ue}from"./fade-in.cssr-C8lLVqHV.js";import{r as de,t as fe}from"./Dropdown-CMzZdYV2.js";import{t as pe}from"./Select-CTSlWykV.js";import{a as me,t as J}from"./Button-BJ3HnUMM.js";import{t as Y}from"./Input-2gBFym15.js";import{t as X}from"./InputNumber-_enQEStY.js";import{t as he}from"./fade-in-height-expand.cssr-Bvuzq2Hq.js";import{t as ge}from"./light-Cr_T-yRY.js";import{t as _e}from"./use-message-C08DfKEA.js";import{t as ve}from"./Space-Du4MQqfe.js";import{t as ye}from"./Popconfirm-B5f0yyvw.js";import{t as be}from"./profiles-CJ2fU462.js";import{t as xe}from"./esm-SBMPj5IJ.js";import{t as Se}from"./MarkdownRenderer-DxUwWPe4.js";var Ce=n({name:`ChevronLeft`,render(){return l(`svg`,{viewBox:`0 0 16 16`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},l(`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`}))}}),we=V(`collapse`,`width: 100%;`,[V(`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-BAz5Psee.js";import{B as p,C as m,H as h,L as g,M as _,R as v,U as y,V as b,b as x,c as S,d as ee,h as C,j as w,k as T,l as E,m as D,n as O,p as te,s as k,t as ne,x as A,y as j}from"./browser--sIIsc3s.js";import{d as re,f as ie,i as ae,l as M,n as N,o as P,p as F,s as oe,t as I}from"./Suffix-CsTOHUZV.js";import{o as se,r as L}from"./fade-in.cssr-C8lLVqHV.js";var R=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`}))}}),z=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`}))}}),B={paddingTiny:`0 8px`,paddingSmall:`0 10px`,paddingMedium:`0 12px`,paddingLarge:`0 14px`,clearSize:`16px`};function V(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:p,lineHeight:m,fontSizeTiny:h,fontSizeSmall:g,fontSizeMedium:v,fontSizeLarge:y,heightTiny:b,heightSmall:x,heightMedium:S,heightLarge:ee,actionColor:C,clearColor:w,clearColorHover:T,clearColorPressed:E,placeholderColor:D,placeholderColorDisabled:O,iconColor:te,iconColorDisabled:k,iconColorHover:ne,iconColorPressed:A,fontWeight:j}=e;return Object.assign(Object.assign({},B),{fontWeight:j,countTextColorDisabled:r,countTextColor:n,heightTiny:b,heightSmall:x,heightMedium:S,heightLarge:ee,fontSizeTiny:h,fontSizeSmall:g,fontSizeMedium:v,fontSizeLarge:y,lineHeight:m,lineHeightTextarea:m,borderRadius:p,iconSize:`16px`,groupLabelColor:C,groupLabelTextColor:t,textColor:t,textColorDisabled:r,textDecorationColor:t,caretColor:i,placeholderColor:D,placeholderColorDisabled:O,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 ${_(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 ${_(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,{alpha:.2})}`,caretColorError:d,clearColor:w,clearColorHover:T,clearColorPressed:E,iconColor:te,iconColorDisabled:k,iconColorHover:ne,iconColorPressed:A,suffixTextColor:t})}var H=k({name:`Input`,common:O,peers:{Scrollbar:ae},self:V}),U=T(`n-input`),ce=v(`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-BAz5Psee.js";import{C as s,L as c,P as l,R as u,c as d,d as ee,h as te,j as f,n as p,p as ne,s as m,x as h,y as g}from"./browser--sIIsc3s.js";import{d as _,p as v,s as re}from"./Suffix-CsTOHUZV.js";import{r as y}from"./fade-in.cssr-C8lLVqHV.js";import{n as b,r as x}from"./Button-BJ3HnUMM.js";import{t as S}from"./Add-NBp7zkwe.js";import{n as C,t as w}from"./Input-2gBFym15.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-1zgDoI3V.js";import{n as v}from"./pinia-DG5v_Ien.js";import{t as y}from"./preload-helper-rov5CBGT.js";import{r as b,t as x}from"./_plugin-vue_export-helper-Bhv11fsa.js";import{t as S}from"./Modal-D8mstzxZ.js";import{n as C,t as w}from"./FormItem-B-aeeAjp.js";import{t as T}from"./Select-D16ckeZu.js";import{t as E}from"./Button-DYmcvTbN.js";import{t as D}from"./Input-SPue8VZI.js";import{t as O}from"./InputNumber-QAdbpSMo.js";import{t as k}from"./Tooltip-xQbcMD5V.js";import{t as A}from"./use-message-DGjaQWMt.js";import{t as j}from"./Spin-DlVnRWbk.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-XkV2JfeS.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-hN5gQ953.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-BkdMASP0.js","assets/jobs-B7ItUxJJ.js","assets/router-BAz5Psee.js","assets/chunk-CFjPhJqf.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-BAz5Psee.js";import{n as v}from"./pinia-EkrAWLNP.js";import{t as y}from"./preload-helper-rov5CBGT.js";import{r as b,t as x}from"./_plugin-vue_export-helper-Cnt2qsYI.js";import{t as S}from"./Modal-_Mv0_OD6.js";import{n as C,t as w}from"./FormItem-q6UvWtxc.js";import{t as T}from"./Select-CTSlWykV.js";import{t as E}from"./Button-BJ3HnUMM.js";import{t as D}from"./Input-2gBFym15.js";import{t as O}from"./InputNumber-_enQEStY.js";import{t as k}from"./Tooltip-reeEhHZc.js";import{t as A}from"./use-message-C08DfKEA.js";import{t as j}from"./Spin-CmdboY2D.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-B7ItUxJJ.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-BkdMASP0.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-BAz5Psee.js";import{r as v,t as y}from"./_plugin-vue_export-helper-Cnt2qsYI.js";import"./logo-D12u0f1i.js";import{i as b,r as x}from"./auth-CxZBcU7_.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/hermes/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-6f801147`]]);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-BAz5Psee.js";import{r as v,t as y}from"./_plugin-vue_export-helper-Cnt2qsYI.js";import{t as b}from"./Select-CTSlWykV.js";import{t as x}from"./Button-BJ3HnUMM.js";import{t as S}from"./use-message-C08DfKEA.js";import{t as C}from"./Spin-CmdboY2D.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};
|