import{a6 as e,h as a,aj as l,ak as t,aa as i,al as o,am as d,q as n,an as u,ao as r,ap as p,a5 as s,w as c,x as m,y as _,aq as v,ar as f,M as g,v as y,P as b,Q as w,E as h,D as V}from"./element-plus.BQf8a6uP.js";import{A as k,E as C}from"./ai_config.DiUMU-rR.js";import{J as U,t as z,S as x,_ as j,$ as A,a0 as q,a1 as I,o as P,a9 as S,a6 as K,T as O,aa as E,H as R,a8 as $,r as D,ak as F}from"./.pnpm.BudmgPu7.js";import{_ as Q}from"./_plugin-vue_export-helper.BCo6x5W8.js";import"./index.DW5SWAAE.js";import"./codemirror.BdleaLZh.js";const B={class:"app-container"},G={class:"tab-content"},H={class:"table-toolbar"},J={class:"tab-content"},L={class:"table-toolbar"},M=Q(U({name:"AIConfig",inheritAttrs:!1,__name:"index",setup(U){const Q=D("provider"),M=D(!1),T=D([]),N=D(0),W=D([]),X=F({page_no:1,page_size:10,name:void 0,provider_type:void 0}),Y=D(!1),Z=D("新增供应商"),ee=D(),ae=F({id:void 0,name:void 0,provider_type:void 0,base_url:void 0,api_key:void 0,is_default:0,description:void 0}),le={name:[{required:!0,message:"请输入供应商名称",trigger:"blur"}],provider_type:[{required:!0,message:"请选择供应商类型",trigger:"change"}],base_url:[{required:!0,message:"请输入接口地址",trigger:"blur"}],api_key:[{required:!0,message:"请输入API Key",trigger:"blur"}]};async function te(){M.value=!0;try{const e=await k.list(X);T.value=e.data.data.items,N.value=e.data.data.total}finally{M.value=!1}}function ie(e){W.value=e}function oe(){Z.value="新增供应商",Object.assign(ae,{id:void 0,name:void 0,provider_type:void 0,base_url:void 0,api_key:void 0,is_default:0,description:void 0}),Y.value=!0}async function de(){var e;await(null==(e=ee.value)?void 0:e.validate()),ae.id?(await k.update(ae.id,ae),h.success("更新成功")):(await k.create(ae),h.success("创建成功")),Y.value=!1,te()}async function ne(){await V.confirm(`确定删除选中的${W.value.length}条记录吗?`,"提示",{type:"warning"});const e=W.value.map(e=>e.id);await k.delete(e),h.success("删除成功"),te()}const ue=D(!1),re=D([]),pe=D(0),se=D([]),ce=F({page_no:1,page_size:10,name:void 0,embedding_type:void 0}),me=D(!1),_e=D("新增向量化配置"),ve=D(),fe=F({id:void 0,name:void 0,embedding_type:0,model_name:void 0,base_url:void 0,api_key:void 0,is_default:0,description:void 0}),ge={name:[{required:!0,message:"请输入配置名称",trigger:"blur"}],embedding_type:[{required:!0,message:"请选择向量化类型",trigger:"change"}],model_name:[{required:!0,message:"请输入模型名称",trigger:"blur"}]};async function ye(){ue.value=!0;try{const e=await C.list(ce);re.value=e.data.data.items,pe.value=e.data.data.total}finally{ue.value=!1}}function be(e){se.value=e}function we(){_e.value="新增向量化配置",Object.assign(fe,{id:void 0,name:void 0,embedding_type:0,model_name:void 0,base_url:void 0,api_key:void 0,is_default:0,description:void 0}),me.value=!0}async function he(){var e;await(null==(e=ve.value)?void 0:e.validate()),fe.id?(await C.update(fe.id,fe),h.success("更新成功")):(await C.create(fe),h.success("创建成功")),me.value=!1,ye()}async function Ve(){await V.confirm(`确定删除选中的${se.value.length}条记录吗?`,"提示",{type:"warning"});const e=se.value.map(e=>e.id);await C.delete(e),h.success("删除成功"),ye()}return z(()=>{te(),ye()}),(U,z)=>{const D=a,F=d,ke=n,Ce=o,Ue=p,ze=e,xe=s,je=_,Ae=m,qe=f,Ie=v,Pe=g,Se=c,Ke=y,Oe=w,Ee=b,Re=r;return x(),j("div",B,[A(xe,{modelValue:Q.value,"onUpdate:modelValue":z[4]||(z[4]=e=>Q.value=e),type:"border-card"},{default:q(()=>[A(ze,{label:"AI供应商",name:"provider"},{default:q(()=>[I("div",G,[I("div",H,[A(D,{icon:P(l),onClick:te},{default:q(()=>[...z[22]||(z[22]=[S("刷新",-1)])]),_:1},8,["icon"]),A(D,{type:"primary",icon:P(t),onClick:oe},{default:q(()=>[...z[23]||(z[23]=[S("新增",-1)])]),_:1},8,["icon"]),A(D,{type:"danger",icon:P(i),disabled:0===W.value.length,onClick:ne},{default:q(()=>[...z[24]||(z[24]=[S("批量删除",-1)])]),_:1},8,["icon","disabled"])]),K((x(),O(Ce,{data:T.value,onSelectionChange:ie},{default:q(()=>[A(F,{type:"selection",width:"50"}),A(F,{prop:"name",label:"供应商名称","min-width":"120"}),A(F,{prop:"provider_type",label:"类型",width:"100"},{default:q(({row:e})=>[A(ke,null,{default:q(()=>[S(E(e.provider_type),1)]),_:2},1024)]),_:1}),A(F,{prop:"base_url",label:"接口地址","min-width":"200","show-overflow-tooltip":""}),A(F,{prop:"api_key",label:"API Key","min-width":"150"},{default:q(({row:e})=>{return[I("span",null,E((a=e.api_key,!a||a.length<=8?"****":a.substring(0,4)+"****"+a.substring(a.length-4))),1)];var a}),_:1}),A(F,{prop:"is_default",label:"默认",width:"80",align:"center"},{default:q(({row:e})=>[A(ke,{type:1===e.is_default?"success":"info"},{default:q(()=>[S(E(1===e.is_default?"是":"否"),1)]),_:2},1032,["type"])]),_:1}),A(F,{prop:"description",label:"备注","min-width":"150","show-overflow-tooltip":""}),A(F,{label:"操作",width:"150",fixed:"right"},{default:q(({row:e})=>[A(D,{type:"primary",link:"",icon:P(u),onClick:a=>function(e){Z.value="编辑供应商",Object.assign(ae,e),Y.value=!0}(e)},{default:q(()=>[...z[25]||(z[25]=[S("编辑",-1)])]),_:1},8,["icon","onClick"]),A(D,{type:"danger",link:"",icon:P(i),onClick:a=>async function(e){await V.confirm("确定删除该供应商吗?","提示",{type:"warning"}),await k.delete([e.id]),h.success("删除成功"),te()}(e)},{default:q(()=>[...z[26]||(z[26]=[S("删除",-1)])]),_:1},8,["icon","onClick"])]),_:1})]),_:1},8,["data"])),[[Re,M.value]]),A(Ue,{"current-page":X.page_no,"onUpdate:currentPage":z[0]||(z[0]=e=>X.page_no=e),"page-size":X.page_size,"onUpdate:pageSize":z[1]||(z[1]=e=>X.page_size=e),total:N.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next, jumper",onSizeChange:te,onCurrentChange:te},null,8,["current-page","page-size","total"])])]),_:1}),A(ze,{label:"向量化配置",name:"embedding"},{default:q(()=>[I("div",J,[I("div",L,[A(D,{icon:P(l),onClick:ye},{default:q(()=>[...z[27]||(z[27]=[S("刷新",-1)])]),_:1},8,["icon"]),A(D,{type:"primary",icon:P(t),onClick:we},{default:q(()=>[...z[28]||(z[28]=[S("新增",-1)])]),_:1},8,["icon"]),A(D,{type:"danger",icon:P(i),disabled:0===se.value.length,onClick:Ve},{default:q(()=>[...z[29]||(z[29]=[S("批量删除",-1)])]),_:1},8,["icon","disabled"])]),K((x(),O(Ce,{data:re.value,onSelectionChange:be},{default:q(()=>[A(F,{type:"selection",width:"50"}),A(F,{prop:"name",label:"配置名称","min-width":"120"}),A(F,{prop:"embedding_type",label:"类型",width:"100"},{default:q(({row:e})=>[A(ke,{type:0===e.embedding_type?"primary":"success"},{default:q(()=>[S(E(0===e.embedding_type?"本地":"远程"),1)]),_:2},1032,["type"])]),_:1}),A(F,{prop:"model_name",label:"模型名称","min-width":"150"}),A(F,{prop:"base_url",label:"接口地址","min-width":"200","show-overflow-tooltip":""},{default:q(({row:e})=>[S(E(e.base_url||"-"),1)]),_:1}),A(F,{prop:"is_default",label:"默认",width:"80",align:"center"},{default:q(({row:e})=>[A(ke,{type:1===e.is_default?"success":"info"},{default:q(()=>[S(E(1===e.is_default?"是":"否"),1)]),_:2},1032,["type"])]),_:1}),A(F,{prop:"description",label:"备注","min-width":"150","show-overflow-tooltip":""}),A(F,{label:"操作",width:"150",fixed:"right"},{default:q(({row:e})=>[A(D,{type:"primary",link:"",icon:P(u),onClick:a=>function(e){_e.value="编辑向量化配置",Object.assign(fe,e),me.value=!0}(e)},{default:q(()=>[...z[30]||(z[30]=[S("编辑",-1)])]),_:1},8,["icon","onClick"]),A(D,{type:"danger",link:"",icon:P(i),onClick:a=>async function(e){await V.confirm("确定删除该配置吗?","提示",{type:"warning"}),await C.delete([e.id]),h.success("删除成功"),ye()}(e)},{default:q(()=>[...z[31]||(z[31]=[S("删除",-1)])]),_:1},8,["icon","onClick"])]),_:1})]),_:1},8,["data"])),[[Re,ue.value]]),A(Ue,{"current-page":ce.page_no,"onUpdate:currentPage":z[2]||(z[2]=e=>ce.page_no=e),"page-size":ce.page_size,"onUpdate:pageSize":z[3]||(z[3]=e=>ce.page_size=e),total:pe.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next, jumper",onSizeChange:ye,onCurrentChange:ye},null,8,["current-page","page-size","total"])])]),_:1})]),_:1},8,["modelValue"]),A(Ke,{modelValue:Y.value,"onUpdate:modelValue":z[12]||(z[12]=e=>Y.value=e),title:Z.value,width:"600px","destroy-on-close":""},{footer:q(()=>[A(D,{onClick:z[11]||(z[11]=e=>Y.value=!1)},{default:q(()=>[...z[32]||(z[32]=[S("取消",-1)])]),_:1}),A(D,{type:"primary",onClick:de},{default:q(()=>[...z[33]||(z[33]=[S("确定",-1)])]),_:1})]),default:q(()=>[A(Se,{ref_key:"providerFormRef",ref:ee,model:ae,rules:le,"label-width":"100px"},{default:q(()=>[A(Ae,{label:"供应商名称",prop:"name"},{default:q(()=>[A(je,{modelValue:ae.name,"onUpdate:modelValue":z[5]||(z[5]=e=>ae.name=e),placeholder:"请输入供应商名称"},null,8,["modelValue"])]),_:1}),A(Ae,{label:"供应商类型",prop:"provider_type"},{default:q(()=>[A(Ie,{modelValue:ae.provider_type,"onUpdate:modelValue":z[6]||(z[6]=e=>ae.provider_type=e),placeholder:"请选择供应商类型",style:{width:"100%"}},{default:q(()=>[A(qe,{label:"OpenAI",value:"openai"}),A(qe,{label:"DeepSeek",value:"deepseek"}),A(qe,{label:"Anthropic",value:"anthropic"}),A(qe,{label:"Gemini",value:"gemini"}),A(qe,{label:"Qwen",value:"qwen"}),A(qe,{label:"其他",value:"other"})]),_:1},8,["modelValue"])]),_:1}),A(Ae,{label:"接口地址",prop:"base_url"},{default:q(()=>[A(je,{modelValue:ae.base_url,"onUpdate:modelValue":z[7]||(z[7]=e=>ae.base_url=e),placeholder:"请输入接口地址(BaseURL)"},null,8,["modelValue"])]),_:1}),A(Ae,{label:"API Key",prop:"api_key"},{default:q(()=>[A(je,{modelValue:ae.api_key,"onUpdate:modelValue":z[8]||(z[8]=e=>ae.api_key=e),placeholder:"请输入API Key",type:"password","show-password":""},null,8,["modelValue"])]),_:1}),A(Ae,{label:"设为默认",prop:"is_default"},{default:q(()=>[A(Pe,{modelValue:ae.is_default,"onUpdate:modelValue":z[9]||(z[9]=e=>ae.is_default=e),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1}),A(Ae,{label:"备注",prop:"description"},{default:q(()=>[A(je,{modelValue:ae.description,"onUpdate:modelValue":z[10]||(z[10]=e=>ae.description=e),type:"textarea",rows:3,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),A(Ke,{modelValue:me.value,"onUpdate:modelValue":z[21]||(z[21]=e=>me.value=e),title:_e.value,width:"600px","destroy-on-close":""},{footer:q(()=>[A(D,{onClick:z[20]||(z[20]=e=>me.value=!1)},{default:q(()=>[...z[36]||(z[36]=[S("取消",-1)])]),_:1}),A(D,{type:"primary",onClick:he},{default:q(()=>[...z[37]||(z[37]=[S("确定",-1)])]),_:1})]),default:q(()=>[A(Se,{ref_key:"embeddingFormRef",ref:ve,model:fe,rules:ge,"label-width":"100px"},{default:q(()=>[A(Ae,{label:"配置名称",prop:"name"},{default:q(()=>[A(je,{modelValue:fe.name,"onUpdate:modelValue":z[13]||(z[13]=e=>fe.name=e),placeholder:"请输入配置名称"},null,8,["modelValue"])]),_:1}),A(Ae,{label:"向量化类型",prop:"embedding_type"},{default:q(()=>[A(Ee,{modelValue:fe.embedding_type,"onUpdate:modelValue":z[14]||(z[14]=e=>fe.embedding_type=e)},{default:q(()=>[A(Oe,{value:0},{default:q(()=>[...z[34]||(z[34]=[S("本地",-1)])]),_:1}),A(Oe,{value:1},{default:q(()=>[...z[35]||(z[35]=[S("远程",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),A(Ae,{label:"模型名称",prop:"model_name"},{default:q(()=>[A(je,{modelValue:fe.model_name,"onUpdate:modelValue":z[15]||(z[15]=e=>fe.model_name=e),placeholder:"请输入Embedding模型名称"},null,8,["modelValue"])]),_:1}),1===fe.embedding_type?(x(),j(R,{key:0},[A(Ae,{label:"接口地址",prop:"base_url"},{default:q(()=>[A(je,{modelValue:fe.base_url,"onUpdate:modelValue":z[16]||(z[16]=e=>fe.base_url=e),placeholder:"请输入远程接口地址"},null,8,["modelValue"])]),_:1}),A(Ae,{label:"API Key",prop:"api_key"},{default:q(()=>[A(je,{modelValue:fe.api_key,"onUpdate:modelValue":z[17]||(z[17]=e=>fe.api_key=e),placeholder:"请输入API Key",type:"password","show-password":""},null,8,["modelValue"])]),_:1})],64)):$("",!0),A(Ae,{label:"设为默认",prop:"is_default"},{default:q(()=>[A(Pe,{modelValue:fe.is_default,"onUpdate:modelValue":z[18]||(z[18]=e=>fe.is_default=e),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1}),A(Ae,{label:"备注",prop:"description"},{default:q(()=>[A(je,{modelValue:fe.description,"onUpdate:modelValue":z[19]||(z[19]=e=>fe.description=e),type:"textarea",rows:3,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),[["__scopeId","data-v-8e6fe729"]]);export{M as default};