Files
qhmes/web-dist/js/AiragMcpDetailModal-CLR-XJaQ.js
2026-06-16 18:19:57 +08:00

3 lines
10 KiB
Java

const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["js/AiragMcp.api-Cq7GCN8X.js","js/index-X7Y8jykP.js","js/emoji-mart-vue-fast-R0uJEDq-.js","js/vue-vendor-DNhG1Cve.js","assets/index-GuhSw_Yp.css"])))=>i.map(i=>d[i]);
var le=Object.defineProperty,ne=Object.defineProperties;var re=Object.getOwnPropertyDescriptors;var K=Object.getOwnPropertySymbols;var de=Object.prototype.hasOwnProperty,ce=Object.prototype.propertyIsEnumerable;var Q=(v,c,r)=>c in v?le(v,c,{enumerable:!0,configurable:!0,writable:!0,value:r}):v[c]=r,x=(v,c)=>{for(var r in c||(c={}))de.call(c,r)&&Q(v,r,c[r]);if(K)for(var r of K(c))ce.call(c,r)&&Q(v,r,c[r]);return v},J=(v,c)=>ne(v,re(c));var A=(v,c,r)=>new Promise((O,i)=>{var f=k=>{try{_(r.next(k))}catch(w){i(w)}},p=k=>{try{_(r.throw(k))}catch(w){i(w)}},_=k=>k.done?O(k.value):Promise.resolve(k.value).then(f,p);_((r=r.apply(v,c)).next())});import{s as ue,bL as pe,_ as W,M as me,au as ve}from"./index-X7Y8jykP.js";import{e as ye,C as b,z as m,f as g,A as y,u as P,F as R,K as X,X as fe,O as ge,Q as d,c as _e,r as D,G as T,y as S,E,H as I,D as j,R as N}from"./vue-vendor-DNhG1Cve.js";import"./index-BDvqZ5j4.js";import{M as he}from"./BasicModal-xH56XuRZ.js";import{queryById as z}from"./AiragMcp.api-Cq7GCN8X.js";import{H as Te}from"./mcpLogo-DwzmiY8t.js";import ke from"./PluginToolEditModal-BgQ1BCMP.js";import{u as be,a as Ce}from"./useModal-DaJ3Bflg.js";import{T as we}from"./index-J2mOtM3w.js";import Me from"./index-DsixALRt.js";import"./emoji-mart-vue-fast-R0uJEDq-.js";import"./ModalHeader-Sr8KwhJJ.js";import"./useTimeout-D5AmIBZw.js";import"./index-BzChaRPg.js";import"./useWindowSizeFn-C-0M9_Ul.js";import"./index-ByCwbQDV.js";import"./index-Upeu4GGa.js";import"./index-C4wWpZeQ.js";import"./index-M9QP6cvf.js";import"./Skeleton-CimgOdM7.js";import"./useScrollTo-0FPEw5-K.js";import"./useIntersectionObserver-BGOgyKyu.js";import"./useAppInject-DPZGPcR3.js";import"./index-CuWaQdlK.js";import"./index-DO7ZhK45.js";import"./index-DSsDi_fL.js";import"./Group-UHkub2tu.js";import"./Checkbox-Dbxs4we4.js";import"./index-BuONesFs.js";import"./index-DTjkSGYl.js";import"./eagerComputed-BTlOruLW.js";import"./fromPairs-Dx9PT-t0.js";import"./useMaxLevel-DE205ncc.js";import"./index-CfNJyBRj.js";import"./dropdown-jkliuVyN.js";import"./index-DfHu-LAS.js";import"./Group-DBzJABA_.js";import"./RadioButton-DRBix2Fq.js";import"./index-C7ckZv9Z.js";import"./DirectoryTree-nk_YTTIy.js";import"./FolderOpenOutlined-SzIPA7z0.js";import"./index-Cl-8Hzo4.js";import"./scrollTo-D49dA-9c.js";import"./operationUnit-vCu2co3e.js";const Ae={class:"detail-modal-title"},Ee={class:"detail-modal"},Oe={class:"detail-header"},Se=["src"],Ne={class:"detail-titles"},xe=["title"],De={class:"detail-type-status"},Ie=["title"],ze={class:"tools-wrapper"},Je={class:"tools-header"},Pe={key:0,class:"tools-grid"},Re=["onClick"],Ve=["title"],$e={class:"tool-actions"},Be=["title"],Le={key:0,class:"tool-meta"},He={key:1,class:"tool-path"},Fe=["title"],Ue=["title"],Ge=ye({__name:"AiragMcpDetailModal",emits:["register","edit","success"],setup(v,{emit:c}){const{createMessage:r}=ue(),O=c,i=D(null),f=D([]),p=D([]),_=D(!1),[k,{openModal:w}]=be(),Y=_e(()=>{var e;const o=(e=i.value)==null?void 0:e.icon;return o?(o.startsWith("http"),o):Te}),[Z,{closeModal:V}]=Ce(o=>A(null,null,function*(){if(!(o!=null&&o.id)){if(i.value=x({},o),o.category==="plugin"){try{const e=typeof o.tools=="string"?JSON.parse(o.tools):o.tools;p.value=Array.isArray(e)?e:[]}catch(e){p.value=[]}f.value=[]}else f.value=Array.isArray(o.tools)?o.tools:[],p.value=[];return}_.value=!0;try{const e=yield z(o.id),t=e.result||e;if(i.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 a=[];const s=t.tools;if(s)try{typeof s=="string"?a=JSON.parse(s):Array.isArray(s)&&(a=s)}catch(n){a=[]}p.value=a.map(n=>J(x({},n),{enabled:n.enabled!==void 0?n.enabled:!0})),f.value=[]}else{let a=[];const s=t.tools;if(s)try{typeof s=="string"?a=JSON.parse(s).map(u=>({name:u.name,descr:u.description,enabled:u.enabled!==void 0?u.enabled:!0})):Array.isArray(s)&&(a=s.map(n=>({name:n.name,descr:n.description,enabled:n.enabled!==void 0?n.enabled:!0})))}catch(n){a=[]}f.value=a,p.value=[]}}finally{_.value=!1}}));function ee(){var o;w(!0,{pluginId:(o=i.value)==null?void 0:o.id,plugin:i.value,tool:null})}function $(o){var e;w(!0,{pluginId:(e=i.value)==null?void 0:e.id,plugin:i.value,tool:o})}function te(o){return{GET:"blue",POST:"green",PUT:"orange",DELETE:"red",PATCH:"purple"}[o]||"default"}function se(o){return A(this,null,function*(){var e;if((e=i.value)!=null&&e.id)try{const t=yield z(i.value.id),a=t.result||t;let s=[];if(a.tools)try{s=typeof a.tools=="string"?JSON.parse(a.tools):a.tools}catch(u){s=[]}const n=s.findIndex(u=>u.name===o.name);if(n>=0){s[n].enabled=o.enabled;const{saveTools:u}=yield W(()=>A(null,null,function*(){const{saveTools:M}=yield import("./AiragMcp.api-Cq7GCN8X.js");return{saveTools:M}}),__vite__mapDeps([0,1,2,3,4]));yield u(i.value.id,JSON.stringify(s))}}catch(t){o.enabled=!o.enabled}})}function oe(o){me.confirm({title:"确认删除",content:`确定要删除工具"${o.name}"吗?此操作不可恢复。`,okText:"确定",okType:"danger",cancelText:"取消",onOk:()=>A(null,null,function*(){var e;if(!((e=i.value)!=null&&e.id)){r.error("插件ID不存在");return}try{const t=yield z(i.value.id),a=t.result||t;let s=[];if(a.tools)try{s=typeof a.tools=="string"?JSON.parse(a.tools):a.tools}catch(h){s=[]}const n=s.filter(h=>h.name!==o.name);if(n.length===s.length){r.warning("未找到要删除的工具");return}const{saveTools:u}=yield W(()=>A(null,null,function*(){const{saveTools:h}=yield import("./AiragMcp.api-Cq7GCN8X.js");return{saveTools:h}}),__vite__mapDeps([0,1,2,3,4])),M=yield u(i.value.id,JSON.stringify(n));M.success?(r.success("删除成功"),p.value=p.value.filter(h=>h.name!==o.name),O("success")):r.error(M.message||"删除失败")}catch(t){r.error("删除工具失败")}})})}function ae(){i.value&&(O("edit",i.value),V())}function ie(){var o;(o=i.value)!=null&&o.id&&(_.value=!0,z(i.value.id).then(e=>{const t=e.result||e;if(i.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 a=[];const s=t.tools;if(s)try{typeof s=="string"?a=JSON.parse(s):Array.isArray(s)&&(a=s)}catch(n){a=[]}p.value=a.map(n=>J(x({},n),{enabled:n.enabled!==void 0?n.enabled:!0})),f.value=[]}else{let a=[];const s=t.tools;if(s)try{typeof s=="string"?a=JSON.parse(s).map(u=>({name:u.name,descr:u.description})):Array.isArray(s)&&(a=s.map(n=>({name:n.name,descr:n.description})))}catch(n){a=[]}f.value=a,p.value=[]}_.value=!1,O("success")}).catch(()=>{_.value=!1}))}return(o,e)=>{const t=X("Icon"),a=X("a-button"),s=we,n=Me,u=pe,M=fe("loading");return m(),b(R,null,[g(he,{destroyOnClose:"",onRegister:P(Z),canFullscreen:!1,width:"720px",wrapClassName:"airag-mcp-detail-modal"},{title:y(()=>[d("div",Ae,[e[4]||(e[4]=d("span",null,"详情",-1)),g(a,{class:"detail-edit-btn",type:"text",onClick:ae,title:"编辑"},{default:y(()=>[g(t,{icon:"ant-design:edit-outlined",size:18})]),_:1})])]),footer:y(()=>[g(a,{onClick:e[3]||(e[3]=h=>P(V)())},{default:y(()=>[...e[8]||(e[8]=[E("关闭",-1)])]),_:1})]),default:y(()=>{var h,B,L,H,F,U,G,q;return[ge((m(),b("div",Ee,[d("div",Oe,[d("img",{src:Y.value,class:"detail-icon"},null,8,Se),d("div",Ne,[d("div",{class:"detail-name",title:(h=i.value)==null?void 0:h.name},T(((B=i.value)==null?void 0:B.name)||"-"),9,xe),d("div",De,[g(s,{color:"blue"},{default:y(()=>{var l,C;return[E(T(((l=i.value)==null?void 0:l.category)==="plugin"?"插件":((C=i.value)==null?void 0:C.type)||"未知类型"),1)]}),_:1}),(L=i.value)!=null&&L.synced?(m(),S(s,{key:0,color:((H=i.value)==null?void 0:H.status)==="enable"?"green":"red"},{default:y(()=>{var l;return[E(T(((l=i.value)==null?void 0:l.status)==="enable"?"已启用":"未启用"),1)]}),_:1},8,["color"])):(m(),S(s,{key:1,color:"orange"},{default:y(()=>[...e[5]||(e[5]=[E("未同步",-1)])]),_:1}))])])]),d("div",{class:"detail-descr",title:(F=i.value)==null?void 0:F.descr},T(((U=i.value)==null?void 0:U.descr)||"暂无描述"),9,Ie),d("div",ze,[d("div",Je,[e[7]||(e[7]=d("div",{class:"tools-title"},"工具列表",-1)),((G=i.value)==null?void 0:G.category)==="plugin"?(m(),S(a,{key:0,type:"primary",size:"small",onClick:ee},{default:y(()=>[...e[6]||(e[6]=[E("添加工具",-1)])]),_:1})):I("",!0)]),p.value&&p.value.length||f.value&&f.value.length?(m(),b("div",Pe,[((q=i.value)==null?void 0:q.category)==="plugin"?(m(!0),b(R,{key:0},j(p.value,l=>(m(),b("div",{key:l.name,class:"tool-item",onClick:C=>$(l)},[d("div",{class:"tool-header-item",onClick:e[1]||(e[1]=N(()=>{},["stop"]))},[d("div",{class:"tool-name",title:l.name},T(l.name),9,Ve),d("div",$e,[g(n,{checked:l.enabled,"onUpdate:checked":C=>l.enabled=C,size:"small",onChange:C=>se(l),onClick:e[0]||(e[0]=N(()=>{},["stop"]))},null,8,["checked","onUpdate:checked","onChange"]),g(a,{type:"text",size:"small",onClick:N(C=>$(l),["stop"]),title:"编辑工具"},{default:y(()=>[g(t,{icon:"ant-design:edit-outlined",size:16})]),_:1},8,["onClick"]),g(a,{type:"text",danger:"",size:"small",onClick:N(C=>oe(l),["stop"]),title:"删除工具"},{default:y(()=>[g(t,{icon:"ant-design:delete-outlined",size:16})]),_:1},8,["onClick"])])]),d("div",{class:"tool-descr",title:l.description},T(l.description||"无描述"),9,Be),l.method||l.path?(m(),b("div",Le,[l.method?(m(),S(s,{key:0,size:"small",color:te(l.method)},{default:y(()=>[E(T(l.method),1)]),_:2},1032,["color"])):I("",!0),l.path?(m(),b("span",He,T(l.path),1)):I("",!0)])):I("",!0)],8,Re))),128)):(m(!0),b(R,{key:1},j(f.value,l=>(m(),b("div",{key:l.name,class:"tool-item"},[d("div",{class:"tool-header-item",onClick:e[2]||(e[2]=N(()=>{},["stop"]))},[d("div",{class:"tool-name",title:l.name},T(l.name),9,Fe)]),d("div",{class:"tool-descr",title:l.descr},T(l.descr||"无描述"),9,Ue)]))),128))])):(m(),S(u,{key:1,description:"暂无工具"}))])])),[[M,_.value]])]}),_:1},8,["onRegister"]),g(ke,{onRegister:P(k),onSuccess:ie},null,8,["onRegister"])],64)}}}),Rt=ve(Ge,[["__scopeId","data-v-44d7bade"]]);export{Rt as default};