chaite
Version:
core for chatgpt-plugin and karin-plugin-chatgpt
2 lines (1 loc) • 8.16 kB
JavaScript
import{d as ce,q as pe,j as l,s as me,o as fe,c as _e,a as y,e as o,w as a,g as z,u as r,B as d,N as ve,v as ge,y as R,z as ye,A as he,D as Te,E as ke,F as M,I as J,G as n,X as E,H as j}from"./index-D3SoE8bB.js";import{_ as be}from"./add-one-llEDYAn9.js";import{f as ze,u as Ce,c as Ne,a as Se,b as Ge}from"./tools-DE77Chhl.js";import{_ as we}from"./ToolFormModal.vue_vue_type_script_setup_true_lang-C9GP0Z0v.js";import Ie from"./ToolTestModal-DYkbx2tb.js";import{f as xe,u as Me,c as Je,d as Oe}from"./toolGroup-B5vA0Db4.js";import{_ as $e}from"./ToolGroupFormModal.vue_vue_type_script_setup_true_lang-DffkulGV.js";import{I as Pe}from"./cloudy-BKTOPbO9.js";import{_ as Ue}from"./FormItem-yXZKI0f3.js";import{N as Ae,_ as Be}from"./Grid-B3ZO_4Zt.js";import{_ as Le}from"./FormItemGridItem-D-Opymhq.js";import{N as Ve}from"./DataTable-il8xWJze.js";import{_ as De}from"./Ellipsis-BaRgB7ya.js";import"./index-DPdh4kl_.js";import"./Alert-wir6kfwu.js";import"./Code-Cesxrx_z.js";import"./InputNumber-CRx3qCIC.js";import"./Checkbox-CAwnmj4L.js";import"./RadioGroup-BsD84s4u.js";import"./download-C2161hUv.js";import"./prop-NnGblK-3.js";const Fe={class:"chaite-page"},Re={class:"chaite-page-header","data-tour":"tools"},Ee={class:"flex gap-4"},je={class:"flex gap-4"},ft=ce({__name:"index",setup(qe){function q({upload:t,edit:e,test:s,remove:i}){return[{title:"ID",key:"id",resizable:!0},{title:"云端ID",key:"cloudId",resizable:!0},{title:"名称",key:"name",render(u){const C=[u.name];return u.uploader&&C.push(n(E,{trigger:"hover"},{trigger:()=>n(Pe,{style:{color:"green"}}),default:()=>"云端工具"})),n(R,{align:"center"},{default:()=>C})},resizable:!0},{title:"状态",key:"status",render(u){return u.status==="disabled"?n(E,{trigger:"hover"},{trigger:n(j,{type:"error"},{default:()=>"禁用"}),default:()=>"已禁用,不会被任何工具组使用"}):n(j,{type:"success"},{default:()=>"正常"})}},{title:"描述",key:"description",width:500},{title:"创建日期",key:"createdAt",resizable:!0},{title:"操作",key:"actions",render(u){return[n(d,{type:"primary",strong:!0,tertiary:!0,size:"small",onClick:()=>t(u),disabled:!!u.uploader?.username},{default:()=>"上传"}),n(d,{type:"info",strong:!0,tertiary:!0,size:"small",onClick:()=>e(u)},{default:()=>"修改"}),n(d,{type:"success",strong:!0,tertiary:!0,size:"small",onClick:()=>s(u)},{default:()=>"测试"}),n(d,{type:"error",strong:!0,tertiary:!0,size:"small",onClick:()=>i(u)},{default:()=>"删除"})]}}]}function H({upload:t,edit:e,remove:s}){return[{title:"ID",key:"id",resizable:!0},{title:"组名称",key:"name",render(i){return n("div",{},i.name)},resizable:!0},{title:"描述",key:"description",width:500},{title:"工具数量",key:"toolCount",render(i){return n("div",{},i.isDefault?"-":i.toolIds?.length||0)}},{title:"创建日期",key:"createdAt",resizable:!0},{title:"操作",key:"actions",render(i){return[n(d,{type:"info",strong:!0,tertiary:!0,size:"small",onClick:()=>e(i),disabled:i.isDefault},{default:()=>"修改"}),n(d,{type:"error",strong:!0,tertiary:!0,size:"small",onClick:()=>s(i),disabled:i.isDefault},{default:()=>"删除"})]}}]}const p=pe(),N=J({value:[]}),h=l(!1),T=l(!1),O={modelType:"settings",name:"",code:"",description:"",uploader:void 0},S=l(JSON.parse(JSON.stringify(O))),_=l(!1),G=l(!1),$=l(),P=J({value:[]}),k=l(!1),b=l(!1),U={name:"",description:"",toolIds:[],modelType:"settings",embedded:!1},w=l(JSON.parse(JSON.stringify(U))),m=l(!1),g=l(1),I=l(20),A=l(0),B=l("tools");function v(t){_.value=!0,ze({...t,page:g.value,pageSize:I.value}).then(e=>{N.value=e.data.items,A.value=e.data.total,_.value=!1}).catch(()=>{_.value=!1})}function X(t){window.$dialog.warning({title:"确认删除",content:`确定要删除工具 "${t.name}" 吗?此操作不可恢复`,positiveText:"确认删除",onPositiveClick:()=>{Ge(t.id).then(e=>{e.code===0&&(p.success("删除成功"),v())}).finally(()=>_.value=!1)}})}function K(t){_.value=!0,(T.value&&t.id?Ce(t.id,t):Ne(t)).then(s=>{s.code===0?(p.success(T.value?"修改成功":"创建成功"),v()):p.error(s.message||"操作失败")}).finally(()=>{_.value=!1,h.value=!1})}const Q=q({upload(t){Se(t).then(e=>{e.code===0&&p.success("上传成功")})},edit(t){T.value=!0,S.value={...t},h.value=!0},test(t){$.value=t,G.value=!0},remove:X});function L(){T.value=!1,S.value=JSON.parse(JSON.stringify(O)),h.value=!0}function x(t){m.value=!0,xe(t).then(e=>{P.value=e.data.items||e.data,m.value=!1}).catch(()=>{m.value=!1})}function W(t){p.info(`查看工具组: ${t.name},包含 ${t.toolIds?.length||0} 个工具`)}function Y(t){window.$dialog.warning({title:"确认删除",content:`确定要删除工具组 "${t.name}" 吗?此操作不可恢复`,positiveText:"确认删除",onPositiveClick:()=>{m.value=!0,Oe(t.id).then(e=>{e.code===0&&(p.success("删除成功"),x())}).finally(()=>m.value=!1)}})}function Z(t){m.value=!0,(b.value&&t.id?Me(t.id,t):Je(t)).then(s=>{s.code===0?(p.success(b.value?"修改成功":"创建成功"),x()):p.error(s.message||"操作失败")}).finally(()=>{m.value=!1,k.value=!1})}const ee=H({upload:W,edit(t){b.value=!0,w.value={...t},k.value=!0},remove:Y});function te(){b.value=!1,w.value=JSON.parse(JSON.stringify(U)),k.value=!0}me(()=>{v(),x()});const f=J({name:void 0});function oe(){f.name=void 0,g.value=1,v(f)}function ae(){g.value=1,v(f)}function le(t){g.value=t,v(f)}function ne(t){I.value=t,g.value=1,v(f)}return(t,e)=>{const s=be,i=ge,u=Le,C=ye,se=he,ie=Be,ue=Ue,V=ve,D=Ve,re=De,F=ke,de=Te;return fe(),_e("div",Fe,[y("header",Re,[e[6]||(e[6]=y("div",null,[y("h1",null,"工具与分组"),y("p",null,"维护模型可调用的能力,并通过工具组快速关联到预设。")],-1)),o(r(d),{type:"primary",onClick:L},{icon:a(()=>[o(s)]),default:a(()=>[e[5]||(e[5]=z("创建工具",-1))]),_:1})]),o(r(M),{vertical:"",size:"large"},{default:a(()=>[o(V,{class:"chaite-panel",bordered:!1},{default:a(()=>[o(ue,{model:f,"label-placement":"left",inline:"","show-feedback":!1},{default:a(()=>[o(r(Ae),{cols:"1 s:2 m:3 l:6","x-gap":12,"y-gap":16,responsive:"screen","item-responsive":""},{default:a(()=>[o(u,{span:"1",label:"名称",path:"name"},{default:a(()=>[o(i,{value:f.name,"onUpdate:value":e[0]||(e[0]=c=>f.name=c),placeholder:"请输入要搜索的名称关键词"},null,8,["value"])]),_:1}),o(ie,{span:"1"},{default:a(()=>[o(r(R),{class:"ml-auto"},{default:a(()=>[o(r(d),{type:"primary",onClick:ae},{icon:a(()=>[o(C)]),default:a(()=>[e[7]||(e[7]=z(" 搜索 ",-1))]),_:1}),o(r(d),{strong:"",secondary:"",onClick:oe},{icon:a(()=>[o(se)]),default:a(()=>[e[8]||(e[8]=z(" 重置 ",-1))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),o(V,{class:"chaite-panel",bordered:!1},{default:a(()=>[o(de,{value:B.value,"onUpdate:value":e[1]||(e[1]=c=>B.value=c),type:"line",animated:""},{default:a(()=>[o(F,{name:"tools",tab:"工具管理"},{default:a(()=>[o(r(M),{vertical:"",size:"large"},{default:a(()=>[y("div",Ee,[o(r(d),{type:"primary",onClick:L},{icon:a(()=>[o(s)]),default:a(()=>[e[9]||(e[9]=z(" 新建工具 ",-1))]),_:1})]),o(D,{columns:r(Q),data:N.value,loading:_.value},null,8,["columns","data","loading"]),o(re,{page:g.value,"page-size":I.value,"item-count":A.value,"show-size-picker":"","page-sizes":[10,20,50,100],"onUpdate:page":le,"onUpdate:pageSize":ne},null,8,["page","page-size","item-count"])]),_:1})]),_:1}),o(F,{name:"groups",tab:"工具组管理"},{default:a(()=>[o(r(M),{vertical:"",size:"large"},{default:a(()=>[y("div",je,[o(r(d),{type:"primary",onClick:te},{icon:a(()=>[o(s)]),default:a(()=>[e[10]||(e[10]=z(" 新建工具组 ",-1))]),_:1})]),o(D,{columns:r(ee),data:P.value,loading:m.value},null,8,["columns","data","loading"])]),_:1})]),_:1})]),_:1},8,["value"])]),_:1}),o(we,{show:h.value,"onUpdate:show":e[2]||(e[2]=c=>h.value=c),"edit-mode":T.value,"initial-data":S.value,onSubmit:K},null,8,["show","edit-mode","initial-data"]),o(Ie,{show:G.value,"onUpdate:show":e[3]||(e[3]=c=>G.value=c),tool:$.value},null,8,["show","tool"]),o($e,{show:k.value,"onUpdate:show":e[4]||(e[4]=c=>k.value=c),"edit-mode":b.value,"initial-data":w.value,"available-tools":N.value,onSubmit:Z},null,8,["show","edit-mode","initial-data","available-tools"])]),_:1})])}}});export{ft as default};