var L=(j,I,v)=>new Promise((M,l)=>{var x=d=>{try{h(v.next(d))}catch(y){l(y)}},P=d=>{try{h(v.throw(d))}catch(y){l(y)}},h=d=>d.done?M(d.value):Promise.resolve(d.value).then(x,P);h((v=v.apply(j,I)).next())});import{d as Ce,f as g,r as he,w as be,ah as m,ar as w,as as c,k as o,aF as n,au as a,aC as k,ag as q,aG as D,u as _,G as z,av as E,F as we,aD as xe,at as Le,e as ke}from"./vue-vendor-C7Zq48Yl.js";import{M as Ie}from"./BasicModal-0sAdFEk_.js";import"./index-Du0A3ksf.js";import{a5 as Me,h as Pe}from"./antd-vue-vendor-BPnV8VqP.js";import{bN as Se,ak as Ve,b as J,al as T,f as Fe,d as Ae}from"./index-BI6CMai0.js";import{u as Oe,N as Ue}from"./JAddInput-D6qcyZjQ.js";import Ne from"./AiAppParamsSettingModal-CovcY0K9.js";import Re from"./AiAppGeneratedPromptModal-Dlm2JX3U.js";import{A as ze}from"./AiragPromptsModal-kbFcXQnS.js";import Ee from"./chat-DuCSnM5H.js";import{d as Te}from"./ailogo-D9r5yA-q.js";import{s as je}from"./AiragPrompts.api-SnvF37xs.js";import"./index-Di-j2gt4.js";import"./ModalHeader-keHdAHWH.js";import"./useTimeout-DDl4l82I.js";import"./vxe-table-vendor-B88kchpX.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";import"./JSelectUser-B71zikzw.js";import"./props-DAezUTeZ.js";import"./JSelectBiz-CnEaVMUF.js";import"./useFormItem-BdW6EoZe.js";import"./areaDataUtil-CbYCy3Ig.js";import"./index-CNkz_PUv.js";import"./index-CUdllngZ.js";import"./bem-EhXRi4nW.js";import"./props-D4vdsy3J.js";import"./useContextMenu-Cwx1lIOK.js";import"./depart.api-DeMNV8zW.js";import"./TreeIcon-DE4jdeZV.js";import"./BasicForm-BJnSRkIE.js";import"./componentMap-BBZeqR-K.js";import"./download-UE0L9Rfp.js";import"./base64Conver-24EVOS6V.js";import"./index-CIBZG4nR.js";import"./index-BhQEwnQQ.js";import"./useCountdown-DqnNWBp6.js";import"./useFormItemSingle-BbRhswfn.js";import"./JSelectDept-DRDVeruW.js";import"./JPopup-Bva6u6tk.js";import"./usePopBiz-CG0vVpgI.js";import"./useMethods-DVip17X8.js";import"./index-Dg4HCEvo.js";import"./JEllipsis-DqRFTSm0.js";import"./JUpload-Cz9HN61B.js";import"./index-MGIrEF-A.js";import"./index-MREkPhsT.js";import"./index-BTq_UON2.js";import"./AiModelSeniorForm-D-N7zKNj.js";import"./AiApp.api-gCw9bt4I.js";import"./AiAppPromptMarketModal-LlO2uOyp.js";import"./user.api-C1eRtqao.js";import"./useForm-BZtHZyx2.js";import"./chatMessage-CDt25ZTi.js";import"./chatText-C4gWoDxb.js";import"./style-B73oiFPg.js";import"./ImageViewer-CG7dKb6F.js";import"./JeecgToolExec-CmPLPOlm.js";import"./ChartRender-CBSgK0U5.js";import"./LineMulti-CtYwss5s.js";import"./useECharts-9qzd7Dce.js";import"./echarts-6xk1er_c.js";import"./Gauge-B_IiN0XO.js";import"./Pie-Css2jUUJ.js";import"./BarAndLine-TnM25Vnx.js";import"./SingleLine-Bu7dNANj.js";import"./knowledge-CcZcIqwT.js";import"./ThinkText-C0AjwXgL.js";import"./CardTemplate-DbIZYbq2.js";import"./presetQuestion-Dc2H1JYo.js";import"./JAreaLinkage-BeRUFHSB.js";import"./JCodeEditor-CLVZA7Uj.js";import"./htmlmixed-NhwyF9-q.js";import"./vue-CgbRSACy.js";/* empty css */import"./EasyCronInput-7xfJ3nBh.js";const Be={class:"p-2"},$e={style:{display:"flex",width:"100%","justify-content":"space-between","align-items":"center"}},qe={style:{display:"flex"}},De=["src"],Je={class:"header-name"},Ke={style:{color:"unset"},href:"https://help.jeecg.com/aigc/guide/app",target:"_blank"},Ge={style:{display:"flex"}},He={style:{height:"100%",width:"100%"}},Xe={class:"prompt-back"},Qe={class:"prompt-title-padding item-title space-between"},We={class:"prologue-chunk"},Ye={style:{display:"flex","justify-content":"space-between",width:"100%","margin-right":"2px"}},Ze={class:"prologue-chunk"},et={class:"prompt-variable-container"},tt={key:0,class:"empty-variables"},ot={class:"empty-hint"},at={key:1,class:"prompt-variables-list"},lt={class:"variable-tag"},nt={class:"variable-name"},it={class:"variable-input-wrapper"},st={class:"variable-input-wrapper"},rt={class:"variable-actions"},pt=Ce({__name:"AiPromptSettingModal",emits:["success","register"],setup(j,{emit:I}){const v=g(!1),M=g(Se(16)),l=he({id:"",name:"",promptKey:"",content:"",description:"",modelId:"",modelParam:""}),x=g({content:[{required:!0,message:"请输入提示词!"}],modelId:[{required:!0,message:"请选择AI模型!"}]}),P=Me.useForm,{resetFields:h,validate:d,validateInfos:y}=P(l,x,{immediate:!1}),S=g({span:24}),V=g({span:24}),i=g({}),F=I,A=g(null),b=g(),[K,{closeModal:B,setModalProps:O}]=Ve(e=>L(null,null,function*(){v.value=!!(e!=null&&e.isUpdate),de(),h(),v.value&&$(e.record),O({bodyStyle:{padding:"10px"}})})),[G,{openModal:H}]=T(),[X,{openModal:Q}]=T(),[W,{openModal:Y}]=T(),Z=ke(()=>{var e;return{id:l.id,name:l.name,prompt:b.value,modelId:l.modelId,metadata:(e=i.value)!=null&&e.modelInfo?JSON.stringify(i.value.modelInfo):""}});be(()=>i.value,()=>{ee()},{deep:!0});function ee(){b.value=l.content,i.value&&i.value.promptVariables&&i.value.promptVariables.forEach(e=>{e.type==="FILE"&&(e.value=J(e.value)),b.value=b.value.replace(new RegExp(`{{${e.name}}}`,"g"),e.value)})}function te(){if(l.content){let e=oe(l.content);if(e.length>0){const t=i.value.promptVariables;i.value.promptVariables=e.map(s=>{var u,C;return{name:s,value:((u=t.find(p=>p.name===s))==null?void 0:u.value)||"",type:((C=t.find(p=>p.name===s))==null?void 0:C.type)||"TEXT"}})}else i.value.promptVariables=""}else i.value.promptVariables=""}function oe(e){const t=/\{\{(.*?)\}\}/g,s=new Set;let u;for(;(u=t.exec(e))!==null;)s.add(u[1].trim());return Array.from(s)}function ae(){Y(!0,{isUpdate:!0,showFooter:!0,record:{id:l.id,name:l.name,promptKey:l.promptKey,description:l.description}})}function le(){return L(this,null,function*(){try{let e=yield d();e.modelParam=JSON.stringify(Pe(i.value)),e=Object.assign(l,e),yield je(e,v.value),O({confirmLoading:!0}),B(),F("success")}finally{O({confirmLoading:!1})}})}function ne(){B()}function ie(e){e||F("success")}function se(e){$(e),F("success")}function re(e){H(!0,{type:e,metadata:i.value})}function pe(e){Object.assign(i.value,e)}function me(){return l.icon?J(l.icon):Te}function de(){l.id="",l.name="",l.content="",l.description="",l.modelId="",l.modelParam="",i.value={},b.value=""}function $(e){Object.assign(l,e),e.modelId&&(i.value=e.modelParam?JSON.parse(e.modelParam):{})}function ue(){Q(!0,{})}function ce(e){l.content=e}function ve(e){return L(this,null,function*(){if(!e){i.value.modelInfo&&delete i.value.modelInfo;return}try{const t=yield Fe.get({url:"/airag/airagModel/queryById",params:{id:e}},{isTransformResponse:!1});if(t.success&&t.result){const s=t.result;i.value||(i.value={}),i.value.modelInfo={provider:s.provider||"",modelType:s.modelType||"",modelName:s.modelName||""}}}catch(t){}})}return(e,t)=>{const s=m("Icon"),u=m("a-tooltip"),C=m("a-button"),p=m("a-col"),U=m("a-row"),fe=m("a-textarea"),N=m("a-form-item"),ge=m("a-input"),_e=m("a-select"),ye=m("a-form");return c(),w("div",Be,[o(Ie,{wrapClassName:"ai-prompt-edit-modal",destroyOnClose:"",onRegister:_(K),canFullscreen:!1,defaultFullscreen:"",width:"800px",footer:null,onVisibleChange:ie,onCancel:ne},{title:n(()=>[a("div",$e,[a("div",qe,[a("img",{src:me(),class:"header-img"},null,8,De),a("div",Je,E(l.name),1),o(u,{title:"编辑"},{default:n(()=>[o(s,{icon:"ant-design:edit-outlined",style:{"margin-left":"4px",cursor:"pointer"},color:"#354052",size:"20",onClick:ae})]),_:1})]),a("div",null,[t[4]||(t[4]=z(" 提示词编排 ",-1)),o(u,{title:"AI应用文档"},{default:n(()=>[a("a",Ke,[o(s,{style:{position:"relative",left:"2px",top:"1px"},icon:"ant-design:question-circle-outlined"})])]),_:1})]),a("div",Ge,[o(C,{onClick:le,style:{"margin-right":"30px"},type:"primary"},{default:n(()=>[...t[5]||(t[5]=[z("保存",-1)])]),_:1})])])]),default:n(()=>[a("div",He,[o(U,{span:24},{default:n(()=>[o(p,{span:10},{default:n(()=>[...t[6]||(t[6]=[a("div",{class:"orchestration"},"提示词",-1)])]),_:1}),o(p,{span:14},{default:n(()=>[...t[7]||(t[7]=[a("div",{class:"view"},"预览",-1)])]),_:1})]),_:1}),o(U,{span:24},{default:n(()=>[o(p,{span:10,class:"setting-left"},{default:n(()=>[o(ye,{class:"antd-modal-form",ref:"formRef",model:l,rules:x.value},{default:n(()=>[o(U,null,{default:n(()=>[o(p,{span:24},{default:n(()=>[a("div",Xe,[o(N,D({labelCol:S.value,wrapperCol:V.value},_(y).content,{style:{"margin-bottom":"0"}}),{label:n(()=>[a("div",Qe,[t[9]||(t[9]=a("span",null,"提示词",-1)),o(C,{size:"middle",ghost:""},{default:n(()=>[a("span",{style:{"align-items":"center",display:"flex"},onClick:ue},[...t[8]||(t[8]=[a("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},[a("path",{d:"M18.9839 1.85931C19.1612 1.38023 19.8388 1.38023 20.0161 1.85931L20.5021 3.17278C20.5578 3.3234 20.6766 3.44216 20.8272 3.49789L22.1407 3.98392C22.6198 4.1612 22.6198 4.8388 22.1407 5.01608L20.8272 5.50211C20.6766 5.55784 20.5578 5.6766 20.5021 5.82722L20.0161 7.14069C19.8388 7.61977 19.1612 7.61977 18.9839 7.14069L18.4979 5.82722C18.4422 5.6766 18.3234 5.55784 18.1728 5.50211L16.8593 5.01608C16.3802 4.8388 16.3802 4.1612 16.8593 3.98392L18.1728 3.49789C18.3234 3.44216 18.4422 3.3234 18.4979 3.17278L18.9839 1.85931zM13.5482 4.07793C13.0164 2.64069 10.9836 2.64069 10.4518 4.07793L8.99368 8.01834C8.82648 8.47021 8.47021 8.82648 8.01834 8.99368L4.07793 10.4518C2.64069 10.9836 2.64069 13.0164 4.07793 13.5482L8.01834 15.0063C8.47021 15.1735 8.82648 15.5298 8.99368 15.9817L10.4518 19.9221C10.9836 21.3593 13.0164 21.3593 13.5482 19.9221L15.0063 15.9817C15.1735 15.5298 15.5298 15.1735 15.9817 15.0063L19.9221 13.5482C21.3593 13.0164 21.3593 10.9836 19.9221 10.4518L15.9817 8.99368C15.5298 8.82648 15.1735 8.47021 15.0063 8.01834L13.5482 4.07793zM5.01608 16.8593C4.8388 16.3802 4.1612 16.3802 3.98392 16.8593L3.49789 18.1728C3.44216 18.3234 3.3234 18.4422 3.17278 18.4979L1.85931 18.9839C1.38023 19.1612 1.38023 19.8388 1.85931 20.0161L3.17278 20.5021C3.3234 20.5578 3.44216 20.6766 3.49789 20.8272L3.98392 22.1407C4.1612 22.6198 4.8388 22.6198 5.01608 22.1407L5.50211 20.8272C5.55784 20.6766 5.6766 20.5578 5.82722 20.5021L7.14069 20.0161C7.61977 19.8388 7.61977 19.1612 7.14069 18.9839L5.82722 18.4979C5.6766 18.4422 5.55784 18.3234 5.50211 18.1728L5.01608 16.8593z"})],-1),a("span",{style:{"margin-left":"4px"}},"生成",-1)])])]),_:1})])]),default:n(()=>[o(fe,{rows:8,value:l.content,"onUpdate:value":t[0]||(t[0]=r=>l.content=r),placeholder:"请输入提示词",onChange:te},null,8,["value"])]),_:1},16,["labelCol","wrapperCol"])])]),_:1}),o(p,{span:24,class:"mt-10"},{default:n(()=>[a("div",We,[o(N,D({labelCol:S.value,wrapperCol:V.value},_(y).modelId),{label:n(()=>[a("div",Ye,[t[11]||(t[11]=a("div",{class:"item-title"},"AI模型",-1)),a("div",{onClick:t[1]||(t[1]=r=>re("model")),class:"knowledge-txt"},[o(s,{icon:"ant-design:setting-outlined",size:"13",style:{"margin-right":"2px"}}),t[10]||(t[10]=z("参数配置 ",-1))])])]),default:n(()=>[o(Oe,{value:l.modelId,"onUpdate:value":t[2]||(t[2]=r=>l.modelId=r),placeholder:"请选择AI模型","dict-code":"airag_model where model_type = 'LLM' and activate_flag = 1,name,id",style:{width:"100%"},onChange:ve},null,8,["value"])]),_:1},16,["labelCol","wrapperCol"])])]),_:1}),i.value.promptVariables&&i.value.promptVariables.length>0?(c(),k(p,{key:0,span:24,class:"mt-10"},{default:n(()=>[a("div",Ze,[o(N,{labelCol:S.value,wrapperCol:V.value},{label:n(()=>[...t[12]||(t[12]=[a("div",{style:{display:"flex","justify-content":"space-between",width:"100%","margin-right":"2px"}},[a("div",{class:"item-title"},"Prompt 变量")],-1)])]),default:n(()=>[a("div",et,[!i.value.promptVariables||i.value.promptVariables.length===0?(c(),w("div",tt,[o(s,{icon:"ant-design:inbox-outlined",style:{"font-size":"32px",color:"#d9d9d9"}}),t[13]||(t[13]=a("p",null,"暂无变量",-1)),a("span",ot,"请在提示词中使用 "+E(e.变量名)+" 格式添加变量",1)])):(c(),w("div",at,[(c(!0),w(we,null,xe(i.value.promptVariables,(r,R)=>(c(),w("div",{class:Le(["prompt-variable-item",{"variable-focused":A.value===R}]),key:R},[a("div",lt,[o(s,{icon:"ant-design:tag-outlined"}),a("span",nt,E(r.name),1)]),a("div",it,[r.type==="FILE"?(c(),k(_(Ue),{key:0,maxCount:1,value:r.value,"onUpdate:value":f=>r.value=f},null,8,["value","onUpdate:value"])):(c(),k(ge,{key:1,value:r.value,"onUpdate:value":f=>r.value=f,placeholder:"请输入变量值",onFocus:f=>A.value=R,onBlur:t[3]||(t[3]=f=>A.value=null),class:"variable-input"},{suffix:n(()=>[r.value?(c(),k(s,{key:0,icon:"ant-design:check-circle-outlined",style:{color:"#52c41a"}})):q("",!0)]),_:2},1032,["value","onUpdate:value","onFocus"]))]),a("div",st,[o(_e,{value:r.type,"onUpdate:value":f=>r.type=f,placeholder:"请选择类型",options:[{value:"TEXT",label:"文本"},{value:"FILE",label:"附件"}],class:"variable-input"},null,8,["value","onUpdate:value"])]),a("div",rt,[o(u,{title:"清空值"},{default:n(()=>[o(C,{type:"text",size:"small",onClick:f=>r.value="",class:"action-btn"},{default:n(()=>[o(s,{icon:"ant-design:clear-outlined"})]),_:1},8,["onClick"])]),_:2},1024)])],2))),128))]))])]),_:1},8,["labelCol","wrapperCol"])])]),_:1})):q("",!0)]),_:1})]),_:1},8,["model","rules"])]),_:1}),o(p,{span:14,class:"setting-right"},{default:n(()=>[o(Ee,{uuid:M.value,formState:Z.value,url:"/airag/app/debug"},null,8,["uuid","formState"])]),_:1})]),_:1})])]),_:1},8,["onRegister"]),o(Ne,{onRegister:_(G),onOk:pe},null,8,["onRegister"]),o(Re,{onRegister:_(X),onOk:ce},null,8,["onRegister"]),o(ze,{onRegister:_(W),onSuccess:se},null,8,["onRegister"])])}}}),Eo=Ae(pt,[["__scopeId","data-v-164d8f67"]]);export{Eo as default};