3 lines
9.3 KiB
Java
3 lines
9.3 KiB
Java
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["js/AiragMcp.api-CieQuCEg.js","js/index-BI6CMai0.js","js/vue-vendor-C7Zq48Yl.js","js/antd-vue-vendor-BPnV8VqP.js","js/vxe-table-vendor-B88kchpX.js","assets/index-CaK6YpON.css"])))=>i.map(i=>d[i]);
|
|
var ie=Object.defineProperty,ne=Object.defineProperties;var re=Object.getOwnPropertyDescriptors;var j=Object.getOwnPropertySymbols;var de=Object.prototype.hasOwnProperty,ce=Object.prototype.propertyIsEnumerable;var K=(v,c,r)=>c in v?ie(v,c,{enumerable:!0,configurable:!0,writable:!0,value:r}):v[c]=r,D=(v,c)=>{for(var r in c||(c={}))de.call(c,r)&&K(v,r,c[r]);if(j)for(var r of j(c))ce.call(c,r)&&K(v,r,c[r]);return v},z=(v,c)=>ne(v,re(c));var A=(v,c,r)=>new Promise((N,l)=>{var f=T=>{try{_(r.next(T))}catch(w){l(w)}},p=T=>{try{_(r.throw(T))}catch(w){l(w)}},_=T=>T.done?N(T.value):Promise.resolve(T.value).then(f,p);_((r=r.apply(v,c)).next())});import{ak as ue,al as pe,_ as Q,u as me,d as ve}from"./index-BI6CMai0.js";import{d as ye,ah as O,v as fe,ar as b,as as m,k as g,aF as y,q as ge,f as I,au as d,e as _e,av as k,aC as x,G as E,ag as J,F as R,aD as X,A as S,u as V}from"./vue-vendor-C7Zq48Yl.js";import"./index-Du0A3ksf.js";import{M as he}from"./BasicModal-0sAdFEk_.js";import{M as ke}from"./antd-vue-vendor-BPnV8VqP.js";import{queryById as P}from"./AiragMcp.api-CieQuCEg.js";import{i as Te}from"./mcpLogo-BHpF1lxc.js";import be from"./PluginToolEditModal-Cu9MDhoq.js";import"./vxe-table-vendor-B88kchpX.js";import"./ModalHeader-keHdAHWH.js";import"./useTimeout-DDl4l82I.js";import"./index-DeEq83Ov.js";import"./useWindowSizeFn-PRZSD86C.js";import"./index-pxs5MULf.js";import"./index-BgYCgfME.js";import"./index-f8O7TghW.js";import"./useIntersectionObserver-BMxdTqP3.js";const Ce={class:"detail-modal-title"},we={class:"detail-modal"},Me={class:"detail-header"},Ae=["src"],Ee={class:"detail-titles"},Ne=["title"],Oe={class:"detail-type-status"},xe=["title"],Se={class:"tools-wrapper"},De={class:"tools-header"},Ie={key:0,class:"tools-grid"},Je=["onClick"],Pe=["title"],ze={class:"tool-actions"},Re=["title"],Ve={key:0,class:"tool-meta"},$e={key:1,class:"tool-path"},Be=["title"],Fe=["title"],Le=ye({__name:"AiragMcpDetailModal",emits:["register","edit","success"],setup(v,{emit:c}){const{createMessage:r}=me(),N=c,l=I(null),f=I([]),p=I([]),_=I(!1),[T,{openModal:w}]=pe(),Y=_e(()=>{var e;const a=(e=l.value)==null?void 0:e.icon;return a?(a.startsWith("http"),a):Te}),[Z,{closeModal:$}]=ue(a=>A(null,null,function*(){if(!(a!=null&&a.id)){if(l.value=D({},a),a.category==="plugin"){try{const e=typeof a.tools=="string"?JSON.parse(a.tools):a.tools;p.value=Array.isArray(e)?e:[]}catch(e){p.value=[]}f.value=[]}else f.value=Array.isArray(a.tools)?a.tools:[],p.value=[];return}_.value=!0;try{const e=yield P(a.id),t=e.result||e;if(l.value={id:t.id,name:t.name,descr:t.descr,icon:t.icon,type:t.type,category:t.category,status:t.status,synced:!!t.synced,endpoint:t.endpoint,headers:t.headers,metadata:t.metadata},t.category==="plugin"){let o=[];const s=t.tools;if(s)try{typeof s=="string"?o=JSON.parse(s):Array.isArray(s)&&(o=s)}catch(n){o=[]}p.value=o.map(n=>z(D({},n),{enabled:n.enabled!==void 0?n.enabled:!0})),f.value=[]}else{let o=[];const s=t.tools;if(s)try{typeof s=="string"?o=JSON.parse(s).map(u=>({name:u.name,descr:u.description,enabled:u.enabled!==void 0?u.enabled:!0})):Array.isArray(s)&&(o=s.map(n=>({name:n.name,descr:n.description,enabled:n.enabled!==void 0?n.enabled:!0})))}catch(n){o=[]}f.value=o,p.value=[]}}finally{_.value=!1}}));function ee(){var a;w(!0,{pluginId:(a=l.value)==null?void 0:a.id,plugin:l.value,tool:null})}function B(a){var e;w(!0,{pluginId:(e=l.value)==null?void 0:e.id,plugin:l.value,tool:a})}function te(a){return{GET:"blue",POST:"green",PUT:"orange",DELETE:"red",PATCH:"purple"}[a]||"default"}function se(a){return A(this,null,function*(){var e;if((e=l.value)!=null&&e.id)try{const t=yield P(l.value.id),o=t.result||t;let s=[];if(o.tools)try{s=typeof o.tools=="string"?JSON.parse(o.tools):o.tools}catch(u){s=[]}const n=s.findIndex(u=>u.name===a.name);if(n>=0){s[n].enabled=a.enabled;const{saveTools:u}=yield Q(()=>A(null,null,function*(){const{saveTools:M}=yield import("./AiragMcp.api-CieQuCEg.js");return{saveTools:M}}),__vite__mapDeps([0,1,2,3,4,5]));yield u(l.value.id,JSON.stringify(s))}}catch(t){a.enabled=!a.enabled}})}function ae(a){ke.confirm({title:"确认删除",content:`确定要删除工具"${a.name}"吗?此操作不可恢复。`,okText:"确定",okType:"danger",cancelText:"取消",onOk:()=>A(null,null,function*(){var e;if(!((e=l.value)!=null&&e.id)){r.error("插件ID不存在");return}try{const t=yield P(l.value.id),o=t.result||t;let s=[];if(o.tools)try{s=typeof o.tools=="string"?JSON.parse(o.tools):o.tools}catch(h){s=[]}const n=s.filter(h=>h.name!==a.name);if(n.length===s.length){r.warning("未找到要删除的工具");return}const{saveTools:u}=yield Q(()=>A(null,null,function*(){const{saveTools:h}=yield import("./AiragMcp.api-CieQuCEg.js");return{saveTools:h}}),__vite__mapDeps([0,1,2,3,4,5])),M=yield u(l.value.id,JSON.stringify(n));M.success?(r.success("删除成功"),p.value=p.value.filter(h=>h.name!==a.name),N("success")):r.error(M.message||"删除失败")}catch(t){r.error("删除工具失败")}})})}function oe(){l.value&&(N("edit",l.value),$())}function le(){var a;(a=l.value)!=null&&a.id&&(_.value=!0,P(l.value.id).then(e=>{const t=e.result||e;if(l.value={id:t.id,name:t.name,descr:t.descr,icon:t.icon,type:t.type,category:t.category,status:t.status,synced:!!t.synced,endpoint:t.endpoint,headers:t.headers,metadata:t.metadata},t.category==="plugin"){let o=[];const s=t.tools;if(s)try{typeof s=="string"?o=JSON.parse(s):Array.isArray(s)&&(o=s)}catch(n){o=[]}p.value=o.map(n=>z(D({},n),{enabled:n.enabled!==void 0?n.enabled:!0})),f.value=[]}else{let o=[];const s=t.tools;if(s)try{typeof s=="string"?o=JSON.parse(s).map(u=>({name:u.name,descr:u.description})):Array.isArray(s)&&(o=s.map(n=>({name:n.name,descr:n.description})))}catch(n){o=[]}f.value=o,p.value=[]}_.value=!1,N("success")}).catch(()=>{_.value=!1}))}return(a,e)=>{const t=O("Icon"),o=O("a-button"),s=O("a-tag"),n=O("a-switch"),u=O("a-empty"),M=fe("loading");return m(),b(R,null,[g(he,{destroyOnClose:"",onRegister:V(Z),canFullscreen:!1,width:"720px",wrapClassName:"airag-mcp-detail-modal"},{title:y(()=>[d("div",Ce,[e[4]||(e[4]=d("span",null,"详情",-1)),g(o,{class:"detail-edit-btn",type:"text",onClick:oe,title:"编辑"},{default:y(()=>[g(t,{icon:"ant-design:edit-outlined",size:18})]),_:1})])]),footer:y(()=>[g(o,{onClick:e[3]||(e[3]=h=>V($)())},{default:y(()=>[...e[8]||(e[8]=[E("关闭",-1)])]),_:1})]),default:y(()=>{var h,F,L,U,q,G,H,W;return[ge((m(),b("div",we,[d("div",Me,[d("img",{src:Y.value,class:"detail-icon"},null,8,Ae),d("div",Ee,[d("div",{class:"detail-name",title:(h=l.value)==null?void 0:h.name},k(((F=l.value)==null?void 0:F.name)||"-"),9,Ne),d("div",Oe,[g(s,{color:"blue"},{default:y(()=>{var i,C;return[E(k(((i=l.value)==null?void 0:i.category)==="plugin"?"插件":((C=l.value)==null?void 0:C.type)||"未知类型"),1)]}),_:1}),(L=l.value)!=null&&L.synced?(m(),x(s,{key:0,color:((U=l.value)==null?void 0:U.status)==="enable"?"green":"red"},{default:y(()=>{var i;return[E(k(((i=l.value)==null?void 0:i.status)==="enable"?"已启用":"未启用"),1)]}),_:1},8,["color"])):(m(),x(s,{key:1,color:"orange"},{default:y(()=>[...e[5]||(e[5]=[E("未同步",-1)])]),_:1}))])])]),d("div",{class:"detail-descr",title:(q=l.value)==null?void 0:q.descr},k(((G=l.value)==null?void 0:G.descr)||"暂无描述"),9,xe),d("div",Se,[d("div",De,[e[7]||(e[7]=d("div",{class:"tools-title"},"工具列表",-1)),((H=l.value)==null?void 0:H.category)==="plugin"?(m(),x(o,{key:0,type:"primary",size:"small",onClick:ee},{default:y(()=>[...e[6]||(e[6]=[E("添加工具",-1)])]),_:1})):J("",!0)]),p.value&&p.value.length||f.value&&f.value.length?(m(),b("div",Ie,[((W=l.value)==null?void 0:W.category)==="plugin"?(m(!0),b(R,{key:0},X(p.value,i=>(m(),b("div",{key:i.name,class:"tool-item",onClick:C=>B(i)},[d("div",{class:"tool-header-item",onClick:e[1]||(e[1]=S(()=>{},["stop"]))},[d("div",{class:"tool-name",title:i.name},k(i.name),9,Pe),d("div",ze,[g(n,{checked:i.enabled,"onUpdate:checked":C=>i.enabled=C,size:"small",onChange:C=>se(i),onClick:e[0]||(e[0]=S(()=>{},["stop"]))},null,8,["checked","onUpdate:checked","onChange"]),g(o,{type:"text",size:"small",onClick:S(C=>B(i),["stop"]),title:"编辑工具"},{default:y(()=>[g(t,{icon:"ant-design:edit-outlined",size:16})]),_:1},8,["onClick"]),g(o,{type:"text",danger:"",size:"small",onClick:S(C=>ae(i),["stop"]),title:"删除工具"},{default:y(()=>[g(t,{icon:"ant-design:delete-outlined",size:16})]),_:1},8,["onClick"])])]),d("div",{class:"tool-descr",title:i.description},k(i.description||"无描述"),9,Re),i.method||i.path?(m(),b("div",Ve,[i.method?(m(),x(s,{key:0,size:"small",color:te(i.method)},{default:y(()=>[E(k(i.method),1)]),_:2},1032,["color"])):J("",!0),i.path?(m(),b("span",$e,k(i.path),1)):J("",!0)])):J("",!0)],8,Je))),128)):(m(!0),b(R,{key:1},X(f.value,i=>(m(),b("div",{key:i.name,class:"tool-item"},[d("div",{class:"tool-header-item",onClick:e[2]||(e[2]=S(()=>{},["stop"]))},[d("div",{class:"tool-name",title:i.name},k(i.name),9,Be)]),d("div",{class:"tool-descr",title:i.descr},k(i.descr||"无描述"),9,Fe)]))),128))])):(m(),x(u,{key:1,description:"暂无工具"}))])])),[[M,_.value]])]}),_:1},8,["onRegister"]),g(be,{onRegister:V(T),onSuccess:le},null,8,["onRegister"])],64)}}}),nt=ve(Le,[["__scopeId","data-v-44d7bade"]]);export{nt as default};
|