@blueking/bkflow-canvas-editor 0.0.9 → 0.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +2 -2
- package/dist/index.esm.js +6 -6
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -48,5 +48,5 @@
|
|
|
48
48
|
|
|
49
49
|
`,`1) content: element.innerHTML
|
|
50
50
|
`,"2) content: () => element.cloneNode(true)"].join(" "))}var r=a.reduce(function(l,c){var u=c&&createTippy(c,o);return u&&l.push(u),l},[]);return isElement(e)?r[0]:r}tippy.defaultProps=defaultProps;tippy.setDefaultProps=setDefaultProps;tippy.currentInput=currentInput;var hideAll=function(t){var n=t===void 0?{}:t,o=n.exclude,a=n.duration;mountedInstances.forEach(function(s){var i=!1;if(o&&(i=isReferenceElement(o)?s.reference===o:s.popper===o.popper),!i){var r=s.props.duration;s.setProps({duration:a}),s.hide(),s.state.isDestroyed||s.setProps({duration:r})}})};Object.assign({},applyStyles,{effect:function(t){var n=t.state,o={popper:{position:n.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(n.elements.popper.style,o.popper),n.styles=o,n.elements.arrow&&Object.assign(n.elements.arrow.style,o.arrow)}});tippy.setDefaultProps({render});const RenderAvatar={name:"render-avatar",props:["user","urlMethod"],setup(e){const t=vue.ref("");vue.onMounted(async()=>{try{typeof e.user=="string"?t.value=await e.urlMethod(e.user):typeof e.user=="object"&&(t.value=e.user.avatar||e.user.logo||await e.urlMethod(e.user.username))}catch{}});const n=vue.ref(null);return vue.watch(t,o=>{o&&(n.value.style.backgroundImage=`url(${t.value})`)}),()=>vue.createVNode("span",{ref:n,class:"user-selector-avatar"},null)}},RenderList={name:"render-list",props:{selector:{type:Object},user:{type:Object},keyword:{type:String},index:{type:Number},disabled:{type:Boolean}},setup(e){return()=>e.selector.renderList(vue.h,{user:e.user,index:e.index,keyword:e.keyword,disabled:e.disabled})}},tooltips={mounted(e,t){const n=typeof t.value=="object"?t.value:{disabled:!1,content:t.value},o=tippy(e,Object.assign({appendTo:document.body},n));n.disabled&&o.disable()},unmounted(e){e._tippy?.destroy()},updated(e,t){const n=typeof t.value=="object"?t.value:{disabled:!1,content:t.value};n.disabled?e._tippy.disable():e._tippy.enable(),e._tippy.setContent(n.content)}},AlternateItem=vue.defineComponent({name:"AlternateItem",directives:{tooltips},props:{selector:{type:Object},user:{type:Object},keyword:{type:String},index:{type:Number}},setup(e){const{selector:t,user:n,keyword:o}=vue.toRefs(e);return{disabled:vue.computed(()=>t.value.disabledUsers.includes(n.value.username)),getItemContent:()=>{const[r,l]=n.value.username.split("@");let c=r;o.value&&(c=c.replace(new RegExp(o.value,"g"),`<span>${o.value}</span>`));const u=t.value.displayDomain&&l?`${c}@${l}`:c,v=n.value.display_name;return v?`${u}(${v})`:u},getTitle:()=>t.value.getDisplayText(n.value)}},render(){return vue.createVNode("li",{class:["alternate-item",this.index===this.selector.highlightIndex?"highlight":"",this.disabled&&!this.selector.renderList?"disabled":""],onClick:e=>e.stopPropagation(),onMousedown:vue.withModifiers(()=>this.selector.handleUserMousedown(this.user,this.disabled),["left","stop"]),onMouseup:vue.withModifiers(()=>this.selector.handleUserMouseup(this.user,this.disabled),["left","stop"])},[this.selector.renderList?vue.createVNode(vue.Fragment,null,[vue.createVNode(RenderList,{selector:this.selector,keyword:this.keyword,user:this.user,disabled:this.disabled},null)]):vue.createVNode(vue.Fragment,null,[this.selector.tagType==="avatar"?vue.createVNode(vue.Fragment,null,[vue.createVNode(RenderAvatar,{class:"item-avatar",user:this.user,urlMethod:this.selector.avatarUrl},null)]):null,this.selector.displayListTips&&this.user.category_name?vue.createVNode(vue.Fragment,null,[vue.withDirectives(vue.createVNode("span",{class:"item-folder"},[this.user.category_name]),[[vue.resolveDirective("tooltips"),{placement:"right",interactive:!0,theme:"light list-item-tips",content:this.user.category_name,offset:[0,18]}]])]):null,vue.createVNode("span",{class:"item-name",title:this.getTitle(),innerHTML:this.getItemContent()},null)])])}}),AlternateList=vue.defineComponent({setup(){const{proxy:e}=vue.getCurrentInstance();instanceStore.setInstance("alternateContent","alternateList",e);const t=vue.ref(null),n=vue.ref(""),o=vue.ref(!0),a=vue.ref(!0),s=vue.ref([]),i=vue.computed(()=>{const p={};return t.value?.panelWidth&&(p.width=`${parseInt(t.value.panelWidth,10)}px`),p}),r=vue.computed(()=>{const p={"max-height":"192px"};if(t.value){const h=parseInt(t.value.listScrollHeight,10);isNaN(h)||(p["max-height"]=`${h}px`)}return p}),l=(p,h=0)=>{let f=0;return s.value.slice(0,p).forEach(y=>{y.hasOwnProperty("children")?f+=y.children.length:f+=1}),f+h},c=()=>{if(hideAll({exclude:t.value.inputRef,duration:0}),a.value||!o.value)return!1;const p=v.value;p.scrollTop+p.clientHeight>p.scrollHeight-32&&t.value.search(n.value,o.value)};vue.watch(n,()=>{_.value=[],vue.nextTick(()=>{v.value.scrollTop=0})});const u=vue.ref(null),v=vue.ref(null),_=vue.ref([]);return{selector:t,keyword:n,next:o,loading:a,matchedUsers:s,wrapperStyle:i,listStyle:r,getIndex:l,handleScroll:c,alternateListContainer:u,alternateList:v,alternateItem:_,setRef:p=>{_.value.push(p)}}},render(){return vue.createVNode("div",{ref:"alternateListContainer",class:["user-selector-alternate-list-wrapper",this.selector?.displayListTips?"has-folder":"",this.loading?"is-loading":""],style:this.wrapperStyle},[vue.createVNode("ul",{class:"alternate-list",ref:"alternateList",style:this.listStyle,onScroll:()=>{this.handleScroll()}},[this.matchedUsers.map((e,t)=>e.hasOwnProperty("children")?vue.createVNode(vue.Fragment,null,[vue.createVNode("li",{class:"alternate-group",onClick:n=>n.stopPropagation(),onMousedown:vue.withModifiers(()=>{this.selector.handleGroupMousedown()},["left","stop"]),onMouseup:vue.withModifiers(()=>{this.selector.handleGroupMouseup()},["left","stop"])},[`${e.display_name}(${e.children.length})`]),e.children.map((n,o)=>vue.createVNode(vue.Fragment,null,[vue.createVNode(AlternateItem,{ref:a=>{this.setRef(a)},index:this.getIndex(t,o),selector:this.selector,user:n,keyword:this.keyword},null)]))]):vue.createVNode(vue.Fragment,null,[vue.createVNode(AlternateItem,{ref:n=>{this.setRef(n)},selector:this.selector,user:e,index:this.getIndex(t),keyword:this.keyword},null)]))]),!this.loading&&!this.matchedUsers.length?vue.createVNode(vue.Fragment,null,[vue.createVNode("p",{class:"alternate-empty"},[this.selector.emptyText])]):null])}}),RenderTag={name:"render-tag",props:["username","user","index"],setup(e){const t=vue.inject("parentSelector");return()=>t.renderTag(vue.h,{username:e.username,index:e.index,user:e.user})}},_sfc_main$B=vue.defineComponent({name:"BkUserSelector",components:{RenderTag,RenderAvatar},props:{modelValue:{type:Array,default:()=>[]},placeholder:{type:String,default:"请输入"},disabled:{type:Boolean,default:!1},multiple:{type:Boolean,default:!0},exclude:{type:Boolean,default:!0},focusRowLimit:{type:Number,default:6},defaultAlternate:{type:[String,Array,Function],validator(e){return e==="history"||typeof e=="function"||e instanceof Array}},searchFromDefaultAlternate:{type:Boolean,default:!0},historyKey:String,historyLabel:{type:String,default:"最近选择"},historyRecord:{type:Number,default:5},displayListTips:Boolean,fuzzySearchMethod:Function,exactSearchMethod:Function,emptyText:{type:String,default:"无匹配人员"},tagClearable:{type:Boolean,default:!0},fastClear:Boolean,renderList:Function,renderTag:Function,displayTagTips:Boolean,tagTipsContent:Function,tagTipsDelay:{type:Number,default:300},tagType:{type:String,default:"tag",validator(e){return["tag","avatar"].includes(e)}},avatarUrl:{type:Function,default:()=>null},fixedHeight:{type:Boolean,default:!0},disabledUsers:{type:Array,default:()=>[]},listScrollHeight:[Number,String],api:String,searchLimit:{type:Number,default:20},pasteFormatter:{type:Function,default(e){return e.replace(/\(.*/,"")}},pasteValidator:Function,panelWidth:{type:[Number,String],validator(e){return parseInt(e,10)>=190}},displayDomain:{type:Boolean,default:!0},type:{type:String,default:"selector",validator(e){return["selector","info"].includes(e)}}},emits:["update:modelValue","change","remove-selected","select-user","keydown","focus","blur","clear"],setup(e,t){const{modelValue:n,disabled:o,multiple:a,exclude:s,focusRowLimit:i,defaultAlternate:r,searchFromDefaultAlternate:l,historyKey:c,historyLabel:u,historyRecord:v,fuzzySearchMethod:_,exactSearchMethod:m,displayTagTips:p,tagTipsContent:h,tagTipsDelay:f,fixedHeight:y,disabledUsers:g,api:w,searchLimit:d,pasteFormatter:k,pasteValidator:C,displayDomain:B,type:D}=vue.toRefs(e),R=async(M,U)=>{try{const Y=he();ye(),Y.setContent(A.value.$refs.alternateListContainer),De(),A.value.loading=!!M;const{results:te,next:ue}=await new Promise(async(we,Re)=>{if(M){const Ie=[(_.value||de)(M,U)];l.value&&Ie.push(ne(M));const[et,tt]=await Promise.all(Ie);tt&&et.results.unshift(...tt.results),we(et)}else{const Ie=ne();we(Ie)}});if(!N.value)return;const{matched:pe,flattened:fe}=se(te);if(!M&&!fe.length){Ee();return}j.value=U?[...j.value,...pe]:pe,K.value=U?[...K.value,...fe]:fe,b.value=fe.length&&E.value?0:-1,A.value.next=ue,A.value.keyword=M,A.value.matchedUsers=j.value,A.value.loading=!1}catch(Y){if(Y.type==="reset")return;j.value=[],K.value=[],console.error(Y)}},V=vue.ref(null),O=vue.ref(null),{proxy:Z}=vue.getCurrentInstance();vue.provide("parentSelector",Z);const I=vue.ref(32),$=vue.ref(30),E=vue.ref(""),T=vue.ref(0),b=vue.ref(-1),x=vue.ref(!0),N=vue.ref(!1),P=vue.ref(null),L=vue.ref([]),j=vue.ref([]),K=vue.ref([]),ee=lodash.throttle(R,800,{leading:!1}),J=vue.ref(null),A=vue.ref(null),z=vue.ref({}),F=vue.ref(null),G=vue.ref(!1),H=vue.computed(()=>D.value==="selector"),W=vue.computed(()=>{const M={};return N.value?M.maxHeight=y.value?`${i.value*$.value}px`:"auto":y.value&&(M.height=`${$.value}px`),M}),q=vue.ref([]);q.value=[...n.value];const X=vue.computed(()=>q.value.map(M=>L.value.find(Y=>Y.username===M)||{username:M})),ae=vue.computed(()=>X.value.map(M=>Se(M)).join(";")),ie=async()=>{try{w.value?L.value=await request.scheduleExactSearch(w.value,q.value):m.value?L.value=await m.value(q.value):console.warn("No exact search method has been set")}catch(M){console.error(M)}},ne=async M=>{let U=[];const Y=(te,ue)=>te.username.toLowerCase().indexOf(ue.toString().toLowerCase())>-1;if(r.value==="history"?U=[{display_name:u.value,children:me()}]:r.value instanceof Array?U=r.value:typeof r.value=="function"&&(U=await r.value()),M){const te=[];U.forEach(ue=>{if(ue.hasOwnProperty("children")){const pe=ue.children.filter(fe=>Y(fe,M));pe.length&&te.push({...ue,children:pe})}else Y(ue,M)&&te.push(ue)}),U=te}return Promise.resolve({results:U,next:!1})},se=M=>{const U=[],Y=[];return M.forEach(te=>{if(te.hasOwnProperty("children")){const fe=te.children.filter(we=>!Y.some(Re=>Re.username===we.username));if(a.value){const we=fe.filter(Re=>!q.value.includes(Re.username));we.length&&(te.children=we,U.push(te),Y.push(...we))}else U.push(te),Y.push(...fe);return}const ue=q.value.includes(te.username),pe=Y.some(fe=>fe.username===te.username);(!a.value||!ue)&&!pe&&(U.push(te),Y.push(te))}),{matched:U,flattened:Y}},de=async(M,U)=>{if(w.value){const Y={app_code:"bk-magicbox",page:U||1,page_size:d.value,fuzzy_lookups:M},{count:te,results:ue}=await request.fuzzySearch(w.value,Y);return{next:te>Y.page*Y.page_size?Y.page+1:!1,results:ue}}return _.value?_.value(M,U):(console.warn("No fuzzy search method has been set"),Promise.resolve({next:!1,results:[]}))},ve=async(M,U)=>{try{const Y=document.createElement("span");if(typeof h.value=="function"){const te=await h.value(U);Y.innerHTML=te}else{const te=await(m.value||ce)(U);Y.innerHTML=te?te.category_name:"Non existing user"}M.setContent(Y)}catch(Y){console.error(Y),M.setContent(Y.message)}},ce=M=>w.value?request.exactSearch(w.value,M):m.value?m.value(M):(console.warn("No exact search method has been set"),Promise.resolve({})),he=()=>(J.value||(J.value=tippy(O.value,{theme:"light user-selector-popover",appendTo:document.body,trigger:"manual",placement:"bottom-start",offset:[0,5],arrow:!1,hideOnClick:!1,content:"",interactive:!0,onHide:()=>{$e()},onShow:()=>N.value})),J.value),ye=()=>{if(!A.value){const M=vue.createApp(AlternateList),U=document.createElement("div");M.mount(U),A.value=instanceStore.getInstance("alternateContent","alternateList"),A.value.selector=Z}},me=()=>{try{if(c.value)return(JSON.parse(window.localStorage.getItem(c.value))||[]).filter(U=>!g.value.includes(U.username));throw new Error("History key not provide")}catch(M){return console.error(M),[]}},Ce=M=>{if(c.value)try{const U=me(),Y=U.findIndex(ue=>ue.username===M.username);Y>-1&&U.splice(Y,1),Array.isArray(M)?U.unshift(...M):U.unshift(M);const te=U.filter(ue=>!g.value.includes(ue.username)).slice(0,v.value);window.localStorage.setItem(c.value,JSON.stringify(te))}catch(U){console.error(U)}},Ae=()=>{J.value?.popperInstance?.update()},De=()=>{Ae(),J.value?.show(0)},Ee=()=>{J.value?.hide(0)},$e=()=>{vue.nextTick(()=>{j.value=[],K.value=[],A.value.matchedUsers=[]})},Se=M=>{const U=typeof M=="object";let Y=U?M.username:M;return Y=B.value?Y:Y.replace(/@.*/,""),U&&M.display_name&&(Y+=`(${M.display_name})`),Y},ze=()=>{if(o.value)return!1;Ye(),T.value=q.value.length,!a.value&&n.value.length?(E.value=Se(n.value[0]),O.value.innerHTML=E.value,_e(0,{selectRange:!0})):_e(0)},Ue=M=>{J.value?.state.isVisible&&M.preventDefault()},je=(M,U)=>{if(o.value)return!1;x.value=!1},Ge=(M,U)=>{if(o.value)return!1;if(a.value){const Y=M.target,{offsetWidth:te}=Y,ue=M.offsetX;T.value=ue>te/2?U+1:U,_e(0)}else E.value=Se(n.value[0]),O.value.innerHTML=E.value,_e(0,{selectRange:!0})},S=(M,{username:U})=>{if(!p.value)return!1;const Y=M.currentTarget;if(Y._user_tips_)return!1;z.value[U]=setTimeout(()=>{Y._user_tips_=tippy(Y,{theme:"light small-arrow user-selected-tips",offset:[0,5],appendTo:document.body,arrow:!0,content:"loading...",placement:"top",interactive:!0,onShow:te=>{ve(te,U)}}),Y._user_tips_.show(),delete z.value[U]},f.value)},Q=(M,{username:U})=>{p.value&&z.value[U]&&clearTimeout(z.value[U])},oe=()=>{x.value=!1},le=({username:M},U)=>{if(o.value)return!1;const Y=[...q.value];Y.splice(U,1),q.value=Y,Ne(),N.value?_e(U>=T.value?0:-1):xe(),t.emit("remove-selected",M)},re=(M,U)=>{x.value=!1},ge=(M,U)=>{if(U||U.value)return _e(0),!1;if(Ce(M),L.value.push(M),a.value){const Y=[...q.value];Y.splice(T.value,0,M.username),q.value=Y,setTimeout(()=>{_e(1),Pe({reset:!0}),R()},0)}else q.value=[M.username],Ne(),xe();t.emit("select-user",M)},be=()=>{x.value=!1},Te=()=>{_e(0)},Pe=(M={})=>{M.reset&&Ne(),N.value=!0,x.value=!0,vue.nextTick(()=>{const U=O.value;if(!U)return;U.focus();const Y=window.getSelection();Y.selectAllChildren(U),!M.selectRange&&Y.collapseToEnd()})},Be=M=>{if(G.value){M.preventDefault(),M.stopPropagation();return}const{key:U}=M,Y={Enter:Me,Backspace:Ve,Delete:Ve,ArrowLeft:ke,ArrowRight:ke,ArrowUp:ke,ArrowDown:ke};Y.hasOwnProperty(U)&&Y[U](M),t.emit("keydown",M)},Me=M=>{if(M.preventDefault(),M.stopPropagation(),x.value=!1,b.value!==-1){const{username:U}=K.value[b.value];if(g.value.includes(U))return!1;if(a.value){const te=[...q.value];te.splice(T.value,0,U),q.value=te,_e(1,{reset:!0})}else q.value=[U],Ne(),xe()}else if(E.value)if(!s.value&&!q.value.includes(E.value))if(a.value){const U=[...q.value];U.splice(T.value,0,E.value),q.value=U,_e(1,{reset:!0})}else q.value=[E.value],Ne(),xe();else Ne();else Ne(),xe();Ee()},Ve=M=>{if(E.value||!q.value.length||!T.value)return!0;x.value=!1;const U=[...q.value];U.splice(T.value-1,1),q.value=U,_e(-1),R()},ke=M=>{const U=M.key;if(["ArrowLeft","ArrowRight"].includes(U)){if(E.value||!q.value.length)return!0;U==="ArrowLeft"&&T.value!==0?_e(-1):U==="ArrowRight"&&T.value!==q.value.length&&_e(1)}else K.value.length&&(M.preventDefault(),U==="ArrowDown"?b.value<K.value.length-1?b.value+=1:A.value.next?(A.value.$refs.alternateList.scrollTop+=32,A.value.handleScroll()):b.value=0:U==="ArrowUp"&&b.value!==-1&&(b.value-=1))},qe=M=>{if(G.value){M.preventDefault(),M.stopPropagation();return}E.value=O.value.textContent.trim()},xe=()=>{if(!x.value)return!0;N.value=!1,Ee()},Oe=M=>K.value.find(Y=>{const te=Y.username,ue=Y.display_name,pe=[te,ue].some(we=>we.toLowerCase()===M.toLowerCase()),fe=q.value.includes(te);return pe&&!fe}),Ke=async M=>{if(w.value){const Y=(await request.pasteValidate(w.value,M)).map(te=>te.username);return s.value?Y:[...new Set(Y.concat(M))]}return C.value?C.value(values):(console.warn("No paste validator has been set"),Promise.resolve([]))},ot=async M=>{Ee(),G.value&&(M.preventDefault(),M.stopPropagation());try{G.value=!0;const Y=M.clipboardData.getData("text").replace(/\s/g,"").split(/,|;/).map(we=>k.value(we)).filter(we=>we.length),te=[...new Set(Y)];if(!te.length)return;const ue=await(C.value||Ke)(te),pe=ue.filter(we=>!q.value.includes(we));if(!ue.length)return;const fe=[...q.value];fe.splice(T.value,0,...pe),q.value=fe,a.value?N.value&&_e(pe.length,{reset:!0}):xe()}catch(U){console.error(U)}finally{G.value=!1}},Le=()=>Array.from(V.value.querySelectorAll(".user-selector-selected")),_e=(M,U={})=>{T.value=T.value+M,vue.nextTick(()=>{const te=Le()[T.value]||null;V.value.insertBefore(O.value,te),Pe(U),Ae()})},He=()=>{if(!A.value||!H.value)return!1;vue.nextTick(()=>{const{highlightIndex:M}=Z,U=A.value.$refs.alternateList;if(!U)return!1;if(M!==-1){const Y=A.value.alternateItem[M].$el,te=U.clientHeight,ue=U.scrollTop,pe=Y.offsetTop,fe=Y.offsetHeight;if(pe>=ue&&pe+fe<=ue+te)return!1;pe<=ue?U.scrollTop=pe:pe+fe>ue+te&&(U.scrollTop=pe+fe-te)}else U.scrollTop=0})},We=vue.ref(0),Fe=()=>{if(!H.value||(Xe(),!y.value||N.value||q.value.length<2))return!1;Ye(),We.value=setTimeout(()=>{const M=Le(),U=M.findIndex((Y,te)=>te?M[te-1].offsetTop!==Y.offsetTop:!1);U>-1?P.value=U:P.value=null,V.value.scrollTop=0,Qe()},0)},Ye=()=>{We.value&&clearTimeout(We.value)},Qe=()=>{if(!P.value)return;Je();const M=Le(),U=M[P.value];if(U)F.value.textContent=`+${q.value.length-P.value}`,V.value.insertBefore(F.value,U);else{P.value=null;return}setTimeout(()=>{const Y=M[P.value-1];F.value.offsetTop!==Y.offsetTop&&(P.value-=1,V.value.insertBefore(F.value,F.value.previousSibling),F.value.textContent=`+${q.value.length-P.value}`)},0)},Je=()=>{if(F.value)return F.value;const M=document.createElement("span");M.className="user-selector-overflow-tag",F.value=M},Xe=()=>{F.value&&F.value.parentNode===V.value&&V.value.removeChild(F.value)},at=()=>{q.value=[],t.emit("clear")},Ne=()=>{x.value=!0,b.value=-1,E.value="",O.value.innerHTML=""};return vue.watch(E,M=>{M.length?(b.value=-1,He(),ee(M)):N.value&&R()}),vue.watch(N,M=>{M?(R(),t.emit("focus")):(Ne(),t.emit("blur")),Fe()}),vue.watch(b,()=>{He()}),vue.watch(q,M=>{t.emit("update:modelValue",M),t.emit("change",M),Fe(),ie()}),vue.onMounted(()=>{Fe(),ie()}),{selectorHeight:I,singleRowHeight:$,inputValue:E,inputIndex:T,highlightIndex:b,shouldUpdate:x,isFocus:N,overflowTagIndex:P,currentUsers:L,matchedUsers:j,flattenedUsers:K,scheduleSearch:ee,popoverInstance:J,alternateContent:A,selectedTipsTimer:z,overflowTagNode:F,loading:G,isSelector:H,containerStyle:W,localValue:q,localValueUsers:X,userInfo:ae,getCurrentUsers:ie,search:R,getDefaultAlternateData:ne,filterUsers:se,defaultFuzzySearchMethod:de,getUserTips:ve,defaultExactSearchMethod:ce,getPopoverInstance:he,getAlternateContent:ye,getHistoryUsers:me,updateHistoryUsers:Ce,updatePopover:Ae,showPopover:De,hidePopover:Ee,handlePopoverHide:$e,getDisplayText:Se,focus:ze,handleContainerScroll:Ue,handleSelectedMousedown:je,handleSelectedMouseup:Ge,handleSelectedMouseenter:S,handleSelectedMouseleave:Q,handleRemoveMouseDown:oe,handleRemoveSelected:le,handleUserMousedown:re,handleUserMouseup:ge,handleGroupMousedown:be,handleGroupMouseup:Te,setSelection:Pe,handleKeydown:Be,handleEnter:Me,handleBackspace:Ve,handleArrow:ke,handleInput:qe,handleBlur:xe,getMatchedUser:Oe,defaultPasteValidator:Ke,handlePaste:ot,getSelectedDOM:Le,moveInput:_e,updateScroller:He,calcOverflow:Fe,clearOverflowTimer:Ye,insertOverflowTag:Qe,getOverflowTagNode:Je,removeOverflowTagNode:Xe,handleFastClear:at,reset:Ne,containerRef:V,inputRef:O}}}),_hoisted_1$z={class:"user-selector-layout"},_hoisted_2$l=["data-placeholder"],_hoisted_3$d=["onMousedown","onMouseup","onMouseenter","onMouseleave"],_hoisted_4$d={class:"user-selector-selected-value"},_hoisted_5$a=["onClick"],_hoisted_6$5={key:1,class:"user-selector user-selector-info"};function _sfc_render(e,t,n,o,a,s){const i=vue.resolveComponent("render-tag"),r=vue.resolveComponent("render-avatar");return e.isSelector?(vue.openBlock(),vue.createElementBlock("div",vue.mergeProps({key:0,class:"user-selector"},e.$attrs,{style:{height:e.fixedHeight?e.selectorHeight+"px":"auto"},onMousedown:t[10]||(t[10]=l=>e.shouldUpdate=!1),onClick:t[11]||(t[11]=(...l)=>e.focus&&e.focus(...l))}),[vue.createElementVNode("div",_hoisted_1$z,[vue.createElementVNode("div",{class:vue.normalizeClass(["user-selector-container",{focus:e.isFocus,disabled:e.disabled,placeholder:!e.localValue.length&&!e.isFocus,"is-fast-clear":e.fastClear,"has-avatar":e.tagType==="avatar","is-loading":e.loading,"is-flex-height":!e.fixedHeight}]),ref:"containerRef",style:vue.normalizeStyle(e.containerStyle),"data-placeholder":e.placeholder,onMousewheel:t[8]||(t[8]=(...l)=>e.handleContainerScroll&&e.handleContainerScroll(...l))},[e.multiple||!e.isFocus?(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:0},vue.renderList(e.localValueUsers,(l,c)=>(vue.openBlock(),vue.createElementBlock("span",{class:"user-selector-selected",key:l.username,onClick:t[2]||(t[2]=vue.withModifiers(()=>{},["stop"])),onMousedown:vue.withModifiers(u=>e.handleSelectedMousedown(u,c),["left","stop"]),onMouseup:vue.withModifiers(u=>e.handleSelectedMouseup(u,c),["left","stop"]),onMouseenter:u=>e.handleSelectedMouseenter(u,l),onMouseleave:u=>e.handleSelectedMouseleave(u,l)},[e.renderTag?(vue.openBlock(),vue.createBlock(i,{key:0,user:l,username:l.username,index:c},null,8,["user","username","index"])):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[e.tagType==="avatar"?(vue.openBlock(),vue.createBlock(r,{key:0,class:"user-selector-selected-avatar",user:l,"url-method":e.avatarUrl},null,8,["user","url-method"])):vue.createCommentVNode("",!0),vue.createElementVNode("span",_hoisted_4$d,vue.toDisplayString(e.getDisplayText(l)),1)],64)),e.tagClearable&&e.tagType==="tag"?(vue.openBlock(),vue.createElementBlock("i",{key:2,class:"user-selector-selected-clear bk-biz-components-icon bk-biz-icon-close",onMouseup:t[0]||(t[0]=vue.withModifiers(()=>{},["left","stop"])),onMousedown:t[1]||(t[1]=vue.withModifiers((...u)=>e.handleRemoveMouseDown&&e.handleRemoveMouseDown(...u),["left","stop"])),onClick:vue.withModifiers(u=>e.handleRemoveSelected(l,c),["stop","prevent"])},null,40,_hoisted_5$a)):vue.createCommentVNode("",!0)],40,_hoisted_3$d))),128)):vue.createCommentVNode("",!0),vue.withDirectives(vue.createElementVNode("span",{ref:"inputRef",class:"user-selector-input",spellcheck:"false",contenteditable:"",onClick:t[3]||(t[3]=vue.withModifiers(()=>{},["stop"])),onInput:t[4]||(t[4]=l=>e.handleInput(l)),onBlur:t[5]||(t[5]=(...l)=>e.handleBlur&&e.handleBlur(...l)),onPaste:t[6]||(t[6]=vue.withModifiers(l=>e.handlePaste(l),["prevent","stop"])),onKeydown:t[7]||(t[7]=l=>e.handleKeydown(l))},null,544),[[vue.vShow,e.isFocus]])],46,_hoisted_2$l),e.fastClear&&!e.disabled&&e.localValue.length?(vue.openBlock(),vue.createElementBlock("i",{key:0,class:"user-selector-clear bk-biz-components-icon bk-biz-icon-close-circle-shape",onClick:t[9]||(t[9]=vue.withModifiers((...l)=>e.handleFastClear&&e.handleFastClear(...l),["stop"]))})):vue.createCommentVNode("",!0)])],16)):(vue.openBlock(),vue.createElementBlock("span",_hoisted_6$5,vue.toDisplayString(e.userInfo),1))}const UserSelector=_export_sfc(_sfc_main$B,[["render",_sfc_render]]),_sfc_main$A=vue.defineComponent({__name:"index",props:{modelValue:{},multiple:{type:Boolean,default:!0},placeholder:{default:""},disabled:{type:Boolean,default:!1},fetchUserApi:{default:""}},emits:["update:modelValue","change"],setup(e,{emit:t}){const n=e,o=t,a=vue.ref([]);vue.watch(()=>n.modelValue,()=>{a.value=[...n.modelValue]});const s=i=>{o("update:modelValue",i.slice()),o("change",i.slice())};return(i,r)=>(vue.openBlock(),vue.createBlock(vue.unref(UserSelector),{modelValue:n.modelValue,"onUpdate:modelValue":r[0]||(r[0]=l=>n.modelValue=l),api:n.fetchUserApi,"fix-height":!0,multiple:n.multiple,placeholder:n.placeholder,disabled:n.disabled,onChange:s},null,8,["modelValue","api","multiple","placeholder","disabled"]))}}),_hoisted_1$y={class:"notify-type-wrapper"},_hoisted_2$k={key:1},_sfc_main$z=vue.defineComponent({__name:"notify-config-forms",props:{config:{},editable:{type:Boolean,default:!0},fetchUserApi:{default:""}},emits:["change"],setup(e,{emit:t}){const n=[{label:"任务状态"},{label:"微信",type:"weixin",icon:WeixinIcon},{label:"企业微信",type:"rtx",icon:RtxIcon},{label:"邮件",type:"mail",icon:MailIcon},{label:"短信",type:"sms",icon:SmsIcon},{label:"语音",type:"voice",icon:VoiceIcon}],o=e,a=t,s=[[],[]],i=vue.ref([]),r=vue.ref([]),l=vue.ref([]);vue.watch(()=>o.config,()=>{const{notify_type:m,notify_receivers:p}=o.config;i.value=[...m.success],r.value=[...m.fail],l.value=p.more_receiver?p.more_receiver.split(","):[]},{immediate:!0});const c=m=>{const p=n[m];return p.type?vue.createVNode("div",{class:"notify-table-header"},[vue.createVNode("img",{class:"notify-icon",src:p.icon},null),vue.createVNode("p",{class:"label-text"},[p.label])]):vue.createVNode("p",{class:"label-text"},[p.label])},u=(m,p)=>m===0?i.value.includes(p):r.value.includes(p),v=(m,p,h)=>{const f=m===0?i.value:r.value;if(h)f.includes(p)||f.push(p);else{const y=f.findIndex(g=>g===p);y>-1&&f.splice(y,1)}_()},_=()=>{a("change",{notify_type:{success:i.value,fail:r.value},notify_receivers:{more_receiver:l.value.join(","),receiver_group:[]}})};return(m,p)=>{const h=vue.resolveComponent("bk-switcher"),f=vue.resolveComponent("bk-table-column"),y=vue.resolveComponent("bk-table"),g=vue.resolveComponent("bk-form-item");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$y,[vue.createVNode(g,{label:"通知方式"},{default:vue.withCtx(()=>[vue.createVNode(y,{class:"notify-type-table",data:s,border:["outer"]},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(n,w=>vue.createVNode(f,{key:w.type,label:c},{default:vue.withCtx(({index:d})=>[w.type?(vue.openBlock(),vue.createBlock(h,{key:0,size:"small",theme:"primary",disabled:!o.editable,value:u(d,w.type),onChange:k=>v(d,w.type,k)},null,8,["disabled","value","onChange"])):(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$k,vue.toDisplayString(d===0?"成功":"失败"),1))]),_:2},1024)),64))]),_:1})]),_:1}),vue.createVNode(g,{label:"通知人"},{default:vue.withCtx(()=>[vue.createVNode(_sfc_main$A,{modelValue:l.value,"onUpdate:modelValue":p[0]||(p[0]=w=>l.value=w),class:"receivers-selector",placeholder:"请选择通知人","fetch-user-api":o.fetchUserApi,disabled:!o.editable,onChange:_},null,8,["modelValue","fetch-user-api","disabled"])]),_:1})])}}}),NotifyConfigForms=_export_sfc(_sfc_main$z,[["__scopeId","data-v-9ca32fa9"]]),_hoisted_1$x={class:"template-settings"},_sfc_main$y=vue.defineComponent({__name:"index",props:{settings:{},editable:{type:Boolean,default:!0},fetchUserApi:{default:""}},emits:["change"],setup(e,{expose:t,emit:n}){const o=e,a=n,s=vue.ref(lodash.cloneDeep(o.settings)),i=vue.ref(),r={name:[{required:!0,message:"请输入流程名称"}]};vue.watch(()=>o.settings,v=>{s.value=lodash.cloneDeep(v)});const l=v=>{s.value.notify_config=v,u()},c=()=>i.value.validate().then(()=>!0).catch(()=>!1),u=()=>{a("change",s.value)};return t({validate:c}),(v,_)=>{const m=vue.resolveComponent("bk-input"),p=vue.resolveComponent("bk-form-item"),h=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$x,[vue.createVNode(h,{ref_key:"formRef",ref:i,"label-width":140,model:s.value,rules:r},{default:vue.withCtx(()=>[vue.createVNode(SectionContainer,{title:"基础"},{default:vue.withCtx(()=>[vue.createVNode(p,{label:"流程名称",property:"name",required:!0},{default:vue.withCtx(()=>[vue.createVNode(m,{modelValue:s.value.name,"onUpdate:modelValue":_[0]||(_[0]=f=>s.value.name=f),"show-word-limit":"",maxlength:50,disabled:!o.editable,onChange:u},null,8,["modelValue","disabled"])]),_:1})]),_:1}),vue.createVNode(SectionContainer,{title:"通知",desc:"选择通知方式后,将默认通知到任务执行人"},{default:vue.withCtx(()=>[vue.createVNode(NotifyConfigForms,{config:s.value.notify_config,editable:o.editable,"fetch-user-api":o.fetchUserApi,onChange:l},null,8,["config","editable","fetch-user-api"])]),_:1}),vue.createVNode(SectionContainer,{title:"其他"},{default:vue.withCtx(()=>[vue.createVNode(p,{label:"备注"},{default:vue.withCtx(()=>[vue.createVNode(m,{modelValue:s.value.desc,"onUpdate:modelValue":_[1]||(_[1]=f=>s.value.desc=f),type:"textarea",placeholder:"请输入流程模板备注信息",rows:5,resize:!1,disabled:!o.editable,onChange:u},null,8,["modelValue","disabled"])]),_:1})]),_:1})]),_:1},8,["model"])])}}}),Settings=_export_sfc(_sfc_main$y,[["__scopeId","data-v-7141b698"]]),_hoisted_1$w={class:"basic-setting-slider"},_hoisted_2$j={class:"sideslider-footer-buttons"},_sfc_main$x=vue.defineComponent({__name:"index",props:{editable:{type:Boolean,default:!0},show:{type:Boolean},settings:{},fetchUserApi:{default:""}},emits:["change","close","update:show"],setup(e,{emit:t}){const n=e,o=t,a=vue.ref(lodash.cloneDeep(n.settings)),s=vue.ref();vue.watch(()=>n.settings,c=>{a.value=lodash.cloneDeep(c)});const i=c=>{a.value=c},r=async()=>{await s.value?.validate()&&(o("change",a.value),l())},l=()=>{o("close"),o("update:show",!1)};return(c,u)=>{const v=vue.resolveComponent("bk-button"),_=vue.resolveComponent("bk-sideslider");return vue.openBlock(),vue.createBlock(_,{title:"基础信息","is-show":n.show,width:800,"quick-close":!n.editable,"esc-close":!1,"before-close":l},{footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$j,[n.editable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(v,{theme:"primary",onClick:r},{default:vue.withCtx(()=>[...u[0]||(u[0]=[vue.createTextVNode("确定",-1)])]),_:1}),vue.createVNode(v,{onClick:l},{default:vue.withCtx(()=>[...u[1]||(u[1]=[vue.createTextVNode("取消",-1)])]),_:1})],64)):(vue.openBlock(),vue.createBlock(v,{key:1,theme:"primary",onClick:l},{default:vue.withCtx(()=>[...u[2]||(u[2]=[vue.createTextVNode("关闭",-1)])]),_:1}))])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$w,[vue.createVNode(Settings,{ref_key:"templateSettingsRef",ref:s,settings:a.value,editable:n.editable,"fetch-user-api":n.fetchUserApi,onChange:i},null,8,["settings","editable","fetch-user-api"])])]),_:1},8,["is-show","quick-close"])}}}),BasicSetting=_export_sfc(_sfc_main$x,[["__scopeId","data-v-e2a7edd9"]]);function setupMonacoEnvironment(){if(typeof self>"u")return;const e=self;e.MonacoEnvironment||(e.MonacoEnvironment={getWorker(t,n){const a={json:"monaco-editor/esm/vs/language/json/json.worker.js",css:"monaco-editor/esm/vs/language/css/css.worker.js",scss:"monaco-editor/esm/vs/language/css/css.worker.js",less:"monaco-editor/esm/vs/language/css/css.worker.js",html:"monaco-editor/esm/vs/language/html/html.worker.js",handlebars:"monaco-editor/esm/vs/language/html/html.worker.js",razor:"monaco-editor/esm/vs/language/html/html.worker.js",typescript:"monaco-editor/esm/vs/language/typescript/ts.worker.js",javascript:"monaco-editor/esm/vs/language/typescript/ts.worker.js"}[n]||"monaco-editor/esm/vs/editor/editor.worker.js";return new Worker(a,{type:"module"})}})}setupMonacoEnvironment();const _hoisted_1$v={class:"editor-header"},_sfc_main$w=vue.defineComponent({__name:"index",props:{modelValue:{},options:{}},emits:["update:modelValue","change","blur","save"],setup(e,{emit:t}){setupMonacoEnvironment();const n={language:"javascript",theme:"vs-dark",automaticLayout:!0,minimap:{enabled:!1},wordWrap:"on",wrappingIndent:"same"},o=e,a=t,s=vue.ref(),i=vue.shallowRef(),r=vue.shallowRef(!1);vue.watch(()=>o.modelValue,p=>{const h=i.value?.getValue();p!==h&&i.value?.setValue(p)}),vue.watch(()=>o.options,p=>{i.value?.updateOptions({...n,...p})},{deep:!0}),vue.onMounted(()=>{l()}),vue.onBeforeUnmount(()=>{i.value&&i.value.dispose()});const l=()=>{i.value=monaco__namespace.editor.create(s.value,{...n,...o.options,value:o.modelValue});const p=i.value.getModel();if(p&&(p.setEOL(0),p.onDidChangeContent(()=>{const h=i.value?.getValue();m(h)})),o.modelValue.indexOf(`\r
|
|
51
|
-
`)>-1){const h=document.createElement("textarea");h.value=o.modelValue,m(h.value)}i.value.onDidBlurEditorText(()=>{a("blur")}),i.value.addCommand(monaco__namespace.KeyMod.CtrlCmd|monaco__namespace.KeyCode.KeyS,()=>{const h=i.value?.getValue();a("save",h)})},c=()=>{const p=document.createElement("textarea");p.value=i.value.getValue(),document.body.appendChild(p),p.select(),document.execCommand("copy"),document.body.removeChild(p),BkMessage({theme:"success",message:"复制成功"})},u=()=>{r.value=!0,window.addEventListener("keydown",_,{once:!0}),BkMessage({theme:"primary",message:"按 Esc 即可退出全屏模式"})},v=()=>{r.value=!1,window.removeEventListener("keydown",_)},_=p=>{p.code==="Escape"&&(r.value=!1)},m=p=>{a("update:modelValue",p),a("change",p)};return(p,h)=>{const f=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createBlock(vue.Teleport,{disabled:!r.value,to:"body"},[vue.createElementVNode("div",{class:vue.normalizeClass(["bkflow-code-editor",{fullscreen:r.value}])},[vue.createElementVNode("div",_hoisted_1$v,[vue.withDirectives(vue.createVNode(vue.unref(icon.Copy),{class:"copy-icon",onClick:c},null,512),[[f,{content:"复制",placement:"top",distance:20}]]),r.value?vue.withDirectives((vue.openBlock(),vue.createBlock(vue.unref(icon.UnfullScreen),{key:1,class:"fullscreen-icon",onClick:v},null,512)),[[f,{content:"退出全屏",placement:"top",distance:20}]]):vue.withDirectives((vue.openBlock(),vue.createBlock(vue.unref(icon.FilliscreenLine),{key:0,class:"fullscreen-icon",onClick:u},null,512)),[[f,{content:"全屏",placement:"top",distance:20}]])]),vue.createElementVNode("div",{ref_key:"monacoContainerRef",ref:s,class:"editor-instance-container"},null,512)],2)],8,["disabled"])}}}),CodeEditor=_export_sfc(_sfc_main$w,[["__scopeId","data-v-67af4661"]]),_hoisted_1$u={class:"pipeline-tree-code"},_sfc_main$v=vue.defineComponent({__name:"pipeline-tree-code",props:{pipelineTree:{}},setup(e){const t=e,n=vue.computed(()=>JSON.stringify(t.pipelineTree,null,4)),o=vue.ref({readOnly:!0,language:"json"});return(a,s)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$u,[vue.createVNode(CodeEditor,{modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=i=>n.value=i),options:o.value},null,8,["modelValue","options"])]))}}),PipelineTreeCode=_export_sfc(_sfc_main$v,[["__scopeId","data-v-3b34a5ab"]]),_hoisted_1$t={class:"pipeline-tree-code-slider"},_hoisted_2$i={class:"sideslider-footer-buttons"},_sfc_main$u=vue.defineComponent({__name:"index",props:{show:{type:Boolean},pipelineTree:{},editable:{type:Boolean,default:!0}},emits:["close","update:show"],setup(e,{emit:t}){const n=e,o=t,a=()=>{o("close"),o("update:show",!1)};return(s,i)=>{const r=vue.resolveComponent("bk-button"),l=vue.resolveComponent("bk-sideslider");return vue.openBlock(),vue.createBlock(l,{title:"Code","is-show":n.show,width:800,"esc-close":!1,"before-close":a},{footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$i,[vue.createVNode(r,{theme:"primary",onClick:a},{default:vue.withCtx(()=>[...i[0]||(i[0]=[vue.createTextVNode("关闭",-1)])]),_:1})])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$t,[n.show?(vue.openBlock(),vue.createBlock(PipelineTreeCode,{key:0,"pipeline-tree":n.pipelineTree},null,8,["pipeline-tree"])):vue.createCommentVNode("",!0)])]),_:1},8,["is-show"])}}}),CanvasPipelineTree=_export_sfc(_sfc_main$u,[["__scopeId","data-v-8fcc9638"]]),_hoisted_1$s={class:"flow-info-sliders"},_hoisted_2$h={class:"icons"},_sfc_main$t=vue.defineComponent({__name:"index",props:{flowData:{},systemVariables:{default:()=>[]},editable:{type:Boolean,default:!0},fetchUserApi:{default:""}},emits:["change"],setup(e,{expose:t,emit:n}){const o=e;useFlowApiConfig();const a=n,s=vue.ref(!1),i=vue.ref(!1),r=vue.ref({show:!1,settings:{name:"",desc:"",notify_config:{notify_type:{success:[],fail:[]},notify_receivers:{more_receiver:"",receiver_group:[]}}}}),l=vue.ref(!1),c=()=>{const{name:m,desc:p,notify_config:h}=o.flowData,{notify_type:f={success:[],fail:[]},notify_receivers:y={more_receiver:"",receiver_group:[]}}=h;r.value={show:!0,settings:{name:m,desc:p,notify_config:{notify_type:f,notify_receivers:y}}}},u=m=>{r.value.settings=m,a("change",{...o.flowData,...m})},v=m=>{const p={...o.flowData.pipeline_tree,constants:m};a("change",{...o.flowData,pipeline_tree:p})},_=(m,p)=>{const h=[...o.flowData.pipeline_tree.outputs],f=h.indexOf(m);p?f===-1&&h.push(m):f>-1&&h.splice(f,1);const y={...o.flowData.pipeline_tree,outputs:h};a("change",{...o.flowData,pipeline_tree:y})};return t({openBasicSetting:c}),(m,p)=>{const h=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$s,[vue.createElementVNode("span",_hoisted_2$h,[vue.withDirectives(vue.createElementVNode("i",{class:"bk-incident-icon incident-caozuojilu",onClick:p[0]||(p[0]=f=>s.value=!0)},null,512),[[h,"操作记录"]]),vue.withDirectives(vue.createElementVNode("i",{class:"bk-incident-icon incident-quanjubianliang",onClick:p[1]||(p[1]=f=>i.value=!0)},null,512),[[h,"全局变量"]]),vue.withDirectives(vue.createElementVNode("i",{class:"bk-incident-icon incident-jichuxinxi",onClick:c},null,512),[[h,"基础信息"]]),vue.withDirectives(vue.createElementVNode("i",{class:"bk-incident-icon incident-code",onClick:p[2]||(p[2]=f=>l.value=!0)},null,512),[[h,"Code"]])]),vue.createVNode(OperateRecords,{show:s.value,"onUpdate:show":p[3]||(p[3]=f=>s.value=f),"flow-id":o.flowData.id},null,8,["show","flow-id"]),vue.createVNode(GlobalVariables,{show:i.value,"onUpdate:show":p[4]||(p[4]=f=>i.value=f),"flow-data":o.flowData,"system-variables":o.systemVariables,editable:o.editable,onOutputChange:_,onChange:v},null,8,["show","flow-data","system-variables","editable"]),vue.createVNode(BasicSetting,{show:r.value.show,"onUpdate:show":p[5]||(p[5]=f=>r.value.show=f),settings:r.value.settings,editable:o.editable,"fetch-user-api":o.fetchUserApi,onChange:u},null,8,["show","settings","editable","fetch-user-api"]),vue.createVNode(CanvasPipelineTree,{show:l.value,"onUpdate:show":p[6]||(p[6]=f=>l.value=f),"pipeline-tree":o.flowData.pipeline_tree,editable:o.editable},null,8,["show","pipeline-tree","editable"])])}}}),FlowInfoSliders=_export_sfc(_sfc_main$t,[["__scopeId","data-v-0287bf38"]]),_hoisted_1$r={class:"expression-guidance"},_sfc_main$s=vue.defineComponent({__name:"expression-guidance",props:{parseLang:{default:"boolrule"}},setup(e){const t=e;return(n,o)=>{const a=vue.resolveComponent("bk-link");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$r,[t.parseLang==="MAKO"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[o[0]||(o[0]=vue.createStaticVNode('<p data-v-dd71ced7>makoOperates</p><p data-v-dd71ced7>支持 "and、or、not、True、False" 等 MAKO 关键字语法</p><br data-v-dd71ced7><p data-v-dd71ced7>支持直接引用全局变量</p><p data-v-dd71ced7>使用内置函数、datetime、re、hashlib、random、time、os.path模块处理全局变量</p><br data-v-dd71ced7><p data-v-dd71ced7>示例:</p><p data-v-dd71ced7>假设 key 是值为 "3" 的全局变量</p><p data-v-dd71ced7>字符串比较:<code class="code" data-v-dd71ced7>key == "3"</code></p><p data-v-dd71ced7>数值比较:<code class="code" data-v-dd71ced7>int(key) >= 3</code></p><p data-v-dd71ced7>包含:<code class="code" data-v-dd71ced7>int(key) in (1,2,3)</code></p>',11))],64)):t.parseLang==="FEEL"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[o[1]||(o[1]=vue.createStaticVNode('<p data-v-dd71ced7>feelOperates</p><p data-v-dd71ced7>支持 "and、or、true、false" 等关键字语法</p><p data-v-dd71ced7>支持 FEEL (Friendly Enough Expression Language) 基础语法</p><br data-v-dd71ced7><p data-v-dd71ced7>支持使用全局变量,如<code class="code" data-v-dd71ced7>${key}</code>、<code class="code" data-v-dd71ced7>${int(key)}</code></p><p data-v-dd71ced7>${}中支持使用内置函数、datetime、re、hashlib、random、time、os.path模块处理全局变量</p><br data-v-dd71ced7><p data-v-dd71ced7>示例:</p><p data-v-dd71ced7>字符串比较:<code class="code" data-v-dd71ced7>"${key}" = "my string"</code></p><p data-v-dd71ced7>数值比较:<code class="code" data-v-dd71ced7>${int(key)} >= 3</code></p><p data-v-dd71ced7>包含:<code class="code" data-v-dd71ced7>list contains([1, 2, 3], ${int(key)})</code></p>',11))],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:2},[o[4]||(o[4]=vue.createElementVNode("p",null,"makoOperates",-1)),o[5]||(o[5]=vue.createElementVNode("p",null,'支持 "and、or、True/true、False/false" 等关键字语法',-1)),vue.createElementVNode("p",null,[o[3]||(o[3]=vue.createTextVNode(" 表达式更多细节请参考 ",-1)),vue.createVNode(a,{theme:"primary",href:"https://boolrule.readthedocs.io/en/latest/expressions.html#basic-comparison-operators",target:"_blank"},{default:vue.withCtx(()=>[...o[2]||(o[2]=[vue.createTextVNode(" 'boolrule' ",-1)])]),_:1})]),o[6]||(o[6]=vue.createStaticVNode('<br data-v-dd71ced7><p data-v-dd71ced7>支持使用全局变量,如<code class="code" data-v-dd71ced7>${key}</code>、<code class="code" data-v-dd71ced7>${int(key)}</code></p><p data-v-dd71ced7>支持使用内置函数、datetime、re、hashlib、random、time、os.path模块处理全局变量</p><br data-v-dd71ced7><p data-v-dd71ced7>示例:</p><p data-v-dd71ced7>字符串比较:<code class="code" data-v-dd71ced7>"${key}" == "my string"</code></p><p data-v-dd71ced7>数值比较:<code class="code" data-v-dd71ced7>${int(key)} >= 3</code></p><p data-v-dd71ced7>包含:<code class="code" data-v-dd71ced7>${key} in (1,2,3)</code></p>',8))],64))])}}}),ExpressionGuidance=_export_sfc(_sfc_main$s,[["__scopeId","data-v-dd71ced7"]]),_hoisted_1$q={class:"bkflow-branch-condition"},_hoisted_2$g={class:"expression-value-editor"},_sfc_main$r=vue.defineComponent({__name:"index",props:{condition:{},isDefault:{type:Boolean},hasDefaultBranch:{type:Boolean,default:!0},editable:{type:Boolean,default:!0}},emits:["change"],setup(e,{expose:t,emit:n}){const o=e,a=n,s=vue.ref({...o.condition}),i=vue.shallowRef(o.isDefault),r=vue.ref(),l={name:[{required:!0,message:"请输入分支名称"}],evaluate:[{required:!0,message:"请输入表达式"}]};vue.watch(()=>o.condition,_=>{s.value={..._}}),vue.watch(()=>o.isDefault,_=>{i.value=_});const c=()=>{"evaluate"in s.value||(s.value.evaluate="")},u=()=>{a("change",{...s.value},i.value)};return t({validate:()=>r.value.validate().then(()=>!0).catch(()=>!1)}),(_,m)=>{const p=vue.resolveComponent("bk-input"),h=vue.resolveComponent("bk-form-item"),f=vue.resolveComponent("bk-radio"),y=vue.resolveComponent("bk-radio-group"),g=vue.resolveComponent("bk-form"),w=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$q,[vue.createVNode(g,{ref_key:"formRef",ref:r,"form-type":"vertical",model:s.value,rules:l},{default:vue.withCtx(()=>[vue.createVNode(h,{label:"分支名称",property:"name",required:!0},{default:vue.withCtx(()=>[vue.createVNode(p,{modelValue:s.value.name,"onUpdate:modelValue":m[0]||(m[0]=d=>s.value.name=d),disabled:!o.editable,onChange:u},null,8,["modelValue","disabled"])]),_:1}),vue.createVNode(h,{label:"分支类型",required:!0},{default:vue.withCtx(()=>[vue.createVNode(y,{modelValue:i.value,"onUpdate:modelValue":m[1]||(m[1]=d=>i.value=d),onChange:c},{default:vue.withCtx(()=>[vue.createVNode(f,{label:!1,disabled:!o.editable},{default:vue.withCtx(()=>[...m[3]||(m[3]=[vue.createTextVNode("自定义分支",-1)])]),_:1},8,["disabled"]),vue.createVNode(f,{label:!0,disabled:!o.editable||o.hasDefaultBranch&&!o.isDefault},{default:vue.withCtx(()=>[m[4]||(m[4]=vue.createTextVNode(" 默认分支 ",-1)),vue.withDirectives(vue.createVNode(vue.unref(icon.Info),{class:"radio-tips"},null,512),[[w,{content:"所有分支均不匹配时执行,类似switch-case-default里面的default",width:216,placement:"top"}]])]),_:1},8,["disabled"])]),_:1},8,["modelValue"])]),_:1}),i.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(h,{key:0,label:"表达式",property:"evaluate",required:!0},{default:vue.withCtx(()=>[vue.createVNode(ExpressionGuidance),vue.createElementVNode("div",_hoisted_2$g,[vue.createVNode(CodeEditor,{modelValue:s.value.evaluate,"onUpdate:modelValue":m[2]||(m[2]=d=>s.value.evaluate=d),options:{readOnly:!o.editable},onChange:u},null,8,["modelValue","options"])])]),_:1}))]),_:1},8,["model"])])}}}),BranchCondition=_export_sfc(_sfc_main$r,[["__scopeId","data-v-83ccbcd3"]]),_hoisted_1$p={class:"branch-condition-slider"},_hoisted_2$f={class:"sideslider-footer-buttons"},_sfc_main$q=vue.defineComponent({__name:"index",props:{show:{type:Boolean},condition:{},hasDefaultBranch:{type:Boolean,default:!0},isDefault:{type:Boolean},editable:{type:Boolean,default:!0}},emits:["close","update:show","confirm"],setup(e,{emit:t}){const n=e,o=t,a=vue.shallowRef({...n.condition}),s=vue.shallowRef(n.isDefault),i=vue.shallowRef();vue.watch(()=>n.show,u=>{u&&(a.value={...n.condition},s.value=n.isDefault)});const r=(u,v)=>{a.value=u,s.value=v},l=async()=>{await i.value?.validate()&&(o("confirm",a.value,s.value),c())},c=()=>{o("close"),o("update:show",!1)};return(u,v)=>{const _=vue.resolveComponent("bk-button"),m=vue.resolveComponent("bk-sideslider");return vue.openBlock(),vue.createBlock(m,{title:"分支条件","is-show":n.show,width:800,"esc-close":!1,"before-close":c},{footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$f,[n.editable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(_,{theme:"primary",onClick:l},{default:vue.withCtx(()=>[...v[0]||(v[0]=[vue.createTextVNode("确定",-1)])]),_:1}),vue.createVNode(_,{onClick:c},{default:vue.withCtx(()=>[...v[1]||(v[1]=[vue.createTextVNode("取消",-1)])]),_:1})],64)):(vue.openBlock(),vue.createBlock(_,{key:1,theme:"primary",onClick:c},{default:vue.withCtx(()=>[...v[2]||(v[2]=[vue.createTextVNode("关闭",-1)])]),_:1}))])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$p,[vue.createVNode(BranchCondition,{ref_key:"branchConditionRef",ref:i,condition:a.value,"has-default-branch":n.hasDefaultBranch,"is-default":s.value,editable:n.editable,onChange:r},null,8,["condition","has-default-branch","is-default","editable"])])]),_:1},8,["is-show"])}}}),BranchConditionPanel=_export_sfc(_sfc_main$q,[["__scopeId","data-v-c257ae64"]]),data$1={output:[{name:"Trace ID",key:"trace_id",type:"string",schema:{type:"string",description:"Trace ID",enum:[]}},{name:"执行结果",key:"_result",type:"boolean",schema:{type:"boolean",description:"执行结果的布尔值,True or False",enum:[]}},{name:"循环次数",key:"_loop",type:"int",schema:{type:"int",description:"循环执行次数",enum:[]}},{name:"当前流程循环次数",key:"_inner_loop",type:"int",schema:{type:"int",description:"在当前流程节点循环执行次数,由父流程重新进入时会重置(仅支持新版引擎)",enum:[]}}]},remoteApiCommonConfig={data:data$1},data={output:[{name:"响应内容",key:"data",type:"object",schema:{type:"object",description:"HTTP 请求响应内容,内部结构不固定",enum:[],properties:{}}},{name:"状态码",key:"status_code",type:"int",schema:{type:"int",description:"HTTP 请求响应状态码",enum:[]}},{name:"执行结果",key:"_result",type:"boolean",schema:{type:"boolean",description:"执行结果的布尔值,True or False",enum:[]}},{name:"循环次数",key:"_loop",type:"int",schema:{type:"int",description:"循环执行次数",enum:[]}},{name:"当前流程循环次数",key:"_inner_loop",type:"int",schema:{type:"int",description:"在当前流程节点循环执行次数,由父流程重新进入时会重置(仅支持新版引擎)",enum:[]}}]},uniformApiCommonConfig={data};function jsonpRequest(e,t={},n={},o=""){return new Promise((a,s)=>{let i;const r={},l={atoms:r},c=h=>h,u=window.$,v=window.gettext;window.$=l,window.gettext=c;const _=document.createElement("script"),m=()=>{u!==void 0?window.$=u:delete window.$,v!==void 0?window.gettext=v:delete window.gettext,_.parentNode&&document.body.removeChild(_)};_.onload=()=>{m(),i&&clearTimeout(i);const h=o?r[o]:r;h?a(h):s(new Error(`Failed to extract plugin data from response. Plugin code: ${o}`))},_.onerror=()=>{m(),i&&clearTimeout(i),s(new Error("JSONP request failed"))};const p=[];for(const h in t)Object.prototype.hasOwnProperty.call(t,h)&&p.push(`${encodeURIComponent(h)}=${encodeURIComponent(t[h])}`);_.src=`${e}${p.length>0?"?"+p.join("&"):""}`,n.timeout&&(i=setTimeout(()=>{m(),s(new Error("JSONP request timeout"))},n.timeout)),document.body.appendChild(_)})}const pluginDetailRequest=async(e,t)=>{const{code:n,version:o,api_meta:a,data:s}=t;if(!n||!o)throw new Error("Plugin code and version are required for inner plugin");if(n==="remote_plugin"){const i=s?.plugin_code?.value,r=s?.plugin_version?.value||"";if(!i)throw new Error("Third party plugin code is required");return await getThirdPartyPluginDetail(e,i,r)}return n==="uniform_api"&&a?.id?await getUniformApiPlugin(e,a.id):await getInnerPluginDetail(e,n,o)};async function getInnerPluginDetail(e,t,n){if(!e?.fetchBkFlowInnerPluginDetail)throw new Error("fetchBkFlowInnerPluginDetail API is not available");const o=await e.fetchBkFlowInnerPluginDetail(t,n),{name:a,desc:s,form:i,output:r}=o;if(!i)throw new Error("Plugin form URL is not available");let l=[];try{l=await jsonpRequest(i,{},{timeout:1e4},t)}catch{throw new Error("Failed to fetch plugin form data")}const c=r.map(u=>({description:u.schema?.description,key:u.key,type:u.type||u.schema?.type,name:u.name}));return{code:t,version:n,name:a,desc:s,versions:[n],inputs:l,outputs:c,inputParamsFormType:"renderform"}}async function getThirdPartyPluginDetail(api,pluginCode,pluginVersion){if(!api?.fetchBkFlowThirdPartyPluginMeta||!api?.fetchBkFlowThirdPartyPluginDetail)throw new Error("Third party plugin APIs are not available");const[metaData,appData]=await Promise.all([api.fetchBkFlowThirdPartyPluginMeta(pluginCode),api.fetchBkFlowThirdPartyPluginAppDetail(pluginCode)]),version=pluginVersion||metaData.versions[0],detailData=await api.fetchBkFlowThirdPartyPluginDetail(pluginCode,version),{inputs,outputs,forms,desc}=detailData;let inputForms,inputParamsFormType="jsonschemaform";forms.renderform?("$"in window||(window.$={atoms:{}},window.gettext=e=>e),eval(forms.renderform),inputForms=window.$.atoms[pluginCode],inputParamsFormType="renderform"):inputForms=inputs;const outputForms=[];return remoteApiCommonConfig.data.output.forEach(e=>{outputForms.push({description:e.schema.description,key:e.key,type:e.type,name:e.name})}),outputs.properties&&Object.keys(outputs.properties).forEach(e=>{outputForms.push({description:outputs.properties[e].description,key:e,type:outputs.properties[e].type,name:outputs.properties[e].title})}),{code:pluginCode,version,name:appData.name,desc,versions:metaData.versions,inputs:inputForms,outputs:outputForms,inputParamsFormType}}async function getUniformApiPlugin(e,t){if(!e?.fetchPluginDetail)throw new Error("fetchPluginDetail API is not available");const n=await e.fetchPluginDetail(t),{inputs:o,url:a,methods:s}=n;return{code:"uniform_api",name:n.name,desc:"",version:"",inputs:o,outputs:uniformApiCommonConfig.data.output.map(i=>({description:i.schema.description,key:i.key,type:i.type,name:i.name})),inputParamsFormType:"uniformApiForm",url:a||"",methods:Array.isArray(s)?s:[],category:n.category,uniformApiName:n.name}}const getUniformApiPluginFormValue=e=>"default"in e?e.default:"",getPluginDefaultData=(e,t)=>{const{url:n,methods:o,inputs:a}=t,s={};return e==="uniform_api"?(s.uniform_api_plugin_url={value:n||"",hook:!1},s.uniform_api_plugin_method={value:o&&o.length>0?o[0]:"",hook:!1},a.forEach(i=>{s[i.key]={value:getUniformApiPluginFormValue(i),need_render:!0,hook:!1}})):e==="remote_plugin"&&(s.plugin_code={value:t.code,hook:!1},s.plugin_version={value:t.version,hook:!1}),s},_hoisted_1$o={class:"node-config-basic-info"},_hoisted_2$e={class:"plugin-select"},_hoisted_3$c={class:"error-handler-options"},_hoisted_4$c={class:"auto-retry-forms"},_hoisted_5$9={class:"timeout-config-forms"},_hoisted_6$4={class:"timeout-input"},_sfc_main$p=vue.defineComponent({__name:"basic-info",props:{node:{},editable:{type:Boolean,default:!0},pluginType:{},pluginDetail:{}},emits:["change","selectPlugin"],setup(e,{expose:t,emit:n}){const o=e,a=n,s=vue.ref(),i=vue.ref(lodash.cloneDeep(o.node)),r={},l=vue.computed(()=>o.pluginDetail?.name||o.node.component.code),c=vue.computed(()=>o.pluginType==="remote_plugin"?o.node.component.data?.plugin_version?.value||"":o.node.component.version||""),u=vue.computed(()=>o.pluginDetail?.versions??[]),v=vue.computed(()=>o.node.component.data?.uniform_api_plugin_method?.value||""),_=vue.computed(()=>o.pluginDetail?.methods??[]),m=vue.computed(()=>{const{component:w,name:d}=i.value,{code:k="",version:C="",data:B={}}=w;let D=k==="uniform_api"&&B.uniform_api_plugin_method?.value||"";return{name:d,code:k,version:C,method:D}});vue.watch(()=>o.node,w=>{i.value=lodash.cloneDeep(w)});const p=w=>{i.value.component.data?.uniform_api_plugin_method&&(i.value.component.data.uniform_api_plugin_method.value=w,g())},h=(w,d)=>{d==="auto_retry"?(i.value.retryable=!0,i.value.auto_retry.interval=0,i.value.auto_retry.times=1):(d==="retryable"&&(i.value.auto_retry={enable:!1,interval:0,times:1}),d==="error_ignorable"&&w&&(i.value.skippable=!0,i.value.retryable=!1,i.value.auto_retry={enable:!1,interval:0,times:1})),w&&["auto_retry","error_ignorable"].includes(d)&&(i.value.timeout_config={enable:!1,seconds:10,action:"forced_fail"})},f=w=>{w||(i.value.timeout_config.seconds=10,i.value.timeout_config.action="forced_fail"),g()},y=()=>s.value.validate().then(()=>!0).catch(()=>!1),g=()=>{a("change",i.value)};return t({validate:y}),(w,d)=>{const k=vue.resolveComponent("bk-input"),C=vue.resolveComponent("bk-button"),B=vue.resolveComponent("bk-form-item"),D=vue.resolveComponent("bk-option"),R=vue.resolveComponent("bk-select"),V=vue.resolveComponent("bk-checkbox"),O=vue.resolveComponent("bk-switcher"),Z=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createElementBlock("section",_hoisted_1$o,[vue.createVNode(Z,{ref_key:"formRef",ref:s,model:m.value,rules:r,"label-width":94},{default:vue.withCtx(()=>[vue.createVNode(B,{label:o.pluginType==="uniform_api"?"API":"标准插件",required:"",property:"code"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$e,[o.pluginType==="uniform_api"?(vue.openBlock(),vue.createBlock(k,{key:0,"model-value":o.node.component.api_meta?.alias,readonly:!0},null,8,["model-value"])):(vue.openBlock(),vue.createBlock(k,{key:1,"model-value":l.value,readonly:!0},null,8,["model-value"])),vue.createVNode(C,{outline:"",theme:"primary",disabled:!o.editable,onClick:d[0]||(d[0]=I=>a("selectPlugin"))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(o.node.component.code?"重选":"选择"),1)]),_:1},8,["disabled"])])]),_:1},8,["label"]),o.pluginType==="uniform_api"?(vue.openBlock(),vue.createBlock(B,{key:0,label:"请求方法",required:"",property:"method"},{default:vue.withCtx(()=>[vue.createVNode(R,{"model-value":v.value,clearable:!1,disabled:!o.editable,onChange:p},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(_.value,I=>(vue.openBlock(),vue.createBlock(D,{key:I,id:I,label:I},null,8,["id","label"]))),128))]),_:1},8,["model-value","disabled"])]),_:1})):(vue.openBlock(),vue.createBlock(B,{key:1,label:"插件版本",required:"",property:"version"},{default:vue.withCtx(()=>[vue.createVNode(R,{"model-value":c.value,clearable:!1,disabled:!o.editable,onChange:g},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(u.value,I=>(vue.openBlock(),vue.createBlock(D,{key:I,id:I,label:I},null,8,["id","label"]))),128))]),_:1},8,["model-value","disabled"])]),_:1})),vue.createVNode(B,{label:"节点名称",required:"",property:"name"},{default:vue.withCtx(()=>[vue.createVNode(k,{modelValue:i.value.name,"onUpdate:modelValue":d[1]||(d[1]=I=>i.value.name=I),disabled:!o.editable,onBlur:g},null,8,["modelValue","disabled"])]),_:1}),vue.createVNode(B,{label:"失败处理"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3$c,[vue.createVNode(V,{modelValue:i.value.error_ignorable,"onUpdate:modelValue":d[2]||(d[2]=I=>i.value.error_ignorable=I),disabled:!o.editable||i.value.auto_retry.enable||i.value.timeout_config.enable,onChange:d[3]||(d[3]=I=>h(I,"error_ignorable"))},{default:vue.withCtx(()=>[...d[15]||(d[15]=[vue.createElementVNode("span",{class:"option-flag"},"AS",-1),vue.createTextVNode("自动跳过 ",-1)])]),_:1},8,["modelValue","disabled"]),vue.createVNode(V,{modelValue:i.value.skippable,"onUpdate:modelValue":d[4]||(d[4]=I=>i.value.skippable=I),disabled:!o.editable||i.value.error_ignorable,onChange:d[5]||(d[5]=I=>h(I,"skippable"))},{default:vue.withCtx(()=>[...d[16]||(d[16]=[vue.createElementVNode("span",{class:"option-flag"},"MS",-1),vue.createTextVNode("手动跳过 ",-1)])]),_:1},8,["modelValue","disabled"]),vue.createVNode(V,{modelValue:i.value.retryable,"onUpdate:modelValue":d[6]||(d[6]=I=>i.value.retryable=I),disabled:!o.editable||i.value.error_ignorable||i.value.auto_retry.enable,onChange:d[7]||(d[7]=I=>h(I,"retryable"))},{default:vue.withCtx(()=>[...d[17]||(d[17]=[vue.createElementVNode("span",{class:"option-flag"},"MR",-1),vue.createTextVNode("手动重试 ",-1)])]),_:1},8,["modelValue","disabled"]),vue.createVNode(V,{modelValue:i.value.auto_retry.enable,"onUpdate:modelValue":d[8]||(d[8]=I=>i.value.auto_retry.enable=I),disabled:!o.editable||i.value.error_ignorable||i.value.timeout_config.enable,onChange:d[9]||(d[9]=I=>h(I,"auto_retry"))},{default:vue.withCtx(()=>[...d[18]||(d[18]=[vue.createElementVNode("span",{class:"option-flag"},"AR",-1)])]),_:1},8,["modelValue","disabled"]),vue.createElementVNode("span",_hoisted_4$c,[d[19]||(d[19]=vue.createTextVNode(" 在 ",-1)),vue.createVNode(k,{modelValue:i.value.auto_retry.interval,"onUpdate:modelValue":d[10]||(d[10]=I=>i.value.auto_retry.interval=I),type:"number",placeholder:" ",min:0,precision:0,disabled:!o.editable||!i.value.auto_retry.enable,onBlur:g},null,8,["modelValue","disabled"]),d[20]||(d[20]=vue.createTextVNode(" 秒后,自动重试 ",-1)),vue.createVNode(k,{modelValue:i.value.auto_retry.times,"onUpdate:modelValue":d[11]||(d[11]=I=>i.value.auto_retry.times=I),type:"number",placeholder:" ",min:0,precision:0,disabled:!o.editable||!i.value.auto_retry.enable,onBlur:g},null,8,["modelValue","disabled"]),d[21]||(d[21]=vue.createTextVNode(" 次 ",-1))])])]),_:1}),vue.createVNode(B,{label:"超时控制"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_5$9,[vue.createVNode(O,{modelValue:i.value.timeout_config.enable,"onUpdate:modelValue":d[12]||(d[12]=I=>i.value.timeout_config.enable=I),theme:"primary",size:"small",disabled:!o.editable,onChange:f},null,8,["modelValue","disabled"]),i.value.timeout_config.enable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[d[23]||(d[23]=vue.createTextVNode(" 超时 ",-1)),vue.createElementVNode("span",_hoisted_6$4,[vue.createVNode(k,{modelValue:i.value.timeout_config.seconds,"onUpdate:modelValue":d[13]||(d[13]=I=>i.value.timeout_config.seconds=I),type:"number",precision:0,min:0,disabled:!o.editable,onBlur:g},null,8,["modelValue","disabled"]),d[22]||(d[22]=vue.createElementVNode("span",{class:"unit"},"秒",-1))]),d[24]||(d[24]=vue.createTextVNode(" 后,则 ",-1)),vue.createVNode(R,{modelValue:i.value.timeout_config.action,"onUpdate:modelValue":d[14]||(d[14]=I=>i.value.timeout_config.action=I),clearable:!1,disabled:!o.editable,onChange:g},{default:vue.withCtx(()=>[vue.createVNode(D,{id:"forced_fail",label:"强制终止"}),vue.createVNode(D,{id:"forced_fail_and_skip",label:"强制终止后跳过"})]),_:1},8,["modelValue","disabled"])],64)):vue.createCommentVNode("",!0)])]),_:1})]),_:1},8,["model"])])}}}),BasicInfo=_export_sfc(_sfc_main$p,[["__scopeId","data-v-695e5765"]]),_hoisted_1$n={class:"plugin-form-jsonschema-form"},_sfc_main$o=vue.defineComponent({__name:"index",setup(e){return(t,n)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$n,[vue.createVNode(EmptyException,{title:"暂无插件表单"})]))}}),JsonschemaForm=_export_sfc(_sfc_main$o,[["__scopeId","data-v-23a7ffff"]]),_hoisted_1$m=["onMousedown"],_hoisted_2$d={class:"dropdown-item-content"},_hoisted_3$b={class:"option-key"},_hoisted_4$b={class:"option-name"},_hoisted_5$8={key:0,class:"dropdown-item empty"},_sfc_main$n=vue.defineComponent({__name:"index",props:{modelValue:{default:""},options:{default:()=>[]},type:{default:"text"},placeholder:{default:""},disabled:{type:Boolean,default:!1},rows:{default:3},resize:{type:Boolean,default:!1}},emits:["update:modelValue","change","blur"],setup(e,{emit:t}){const n=e,o=t,a=vue.ref(),s=vue.ref(),i=vue.ref(),r=vue.ref(n.modelValue),l=vue.ref(!1),c=vue.ref(0),u=vue.ref({top:0,left:0}),v=vue.ref(""),_=vue.computed(()=>({top:`${u.value.top}px`,left:`${u.value.left}px`})),m=vue.computed(()=>{if(!v.value)return n.options;const V=v.value.toLowerCase();return n.options.filter(O=>O.key.toLowerCase().includes(V))}),p=V=>V.key,h=()=>{const V=s.value?.$el?.querySelector("input, textarea");if(!V)return;const O=V.tagName==="TEXTAREA";if(!a.value?.getBoundingClientRect())return;let I=0,$=0;if(O){const E=V,b=E.value.substring(0,E.selectionStart).split(`
|
|
52
|
-
`),x=b.length-1,N=parseInt(getComputedStyle(E).lineHeight)||20,P=document.createElement("canvas").getContext("2d");P?(P.font=getComputedStyle(E).font,$=P.measureText(b[x]||"").width):$=(b[x]||"").length*8,I=x*N+N}else{const E=V,T=E.value.substring(0,E.selectionStart||0),b=document.createElement("canvas").getContext("2d");b?(b.font=getComputedStyle(E).font,$=b.measureText(T).width):$=T.length*8,I=E.offsetHeight}u.value={top:I+(O?8:0),left:$+(O?8:0)}},f=()=>{if(!i.value||!a.value)return;const V=i.value.getBoundingClientRect(),O=a.value.getBoundingClientRect(),Z=s.value?.$el?.querySelector("input, textarea");if(!Z)return;const I=window.innerWidth,$=V.width,E=Z.offsetWidth;let T=u.value.left;const b=E;if(T+$>b&&(T=b-$,T<0&&(T=0)),O.left+T+$>I){const L=I-$-O.left;L>=0?T=L:T=0}O.left+T<0&&(T=0),u.value={...u.value,left:T}},y=()=>{const V=s.value?.$el?.querySelector("input, textarea");if(!V)return;const O=V.selectionStart||0,Z=r.value.substring(0,O),I=Z.lastIndexOf("$");if(I===-1){l.value=!1;return}const $=Z.substring(I+1);if($.includes("}")){l.value=!1;return}let E=$;E.startsWith("{")&&(E=E.substring(1)),v.value=E,h(),l.value=!0,c.value=0,setTimeout(()=>{f()},0)},g=()=>{o("update:modelValue",r.value),o("change",r.value),vue.nextTick(()=>{y()})},w=()=>{vue.nextTick(()=>{y()})},d=V=>{setTimeout(()=>{const O=V.relatedTarget;i.value?.contains(O)||(l.value=!1)},200),o("blur",V)},k=V=>{const O=s.value?.$el?.querySelector("input, textarea");if(!O)return;const Z=O.selectionStart||0,I=r.value,$=I.substring(0,Z),E=I.substring(Z),T=$.lastIndexOf("$");if(T===-1)return;let b=p(V);b.startsWith("${")&&b.endsWith("}")&&(b=b.slice(2,-1));const x=I.substring(0,T)+`\${${b}}`+E;r.value=x,o("update:modelValue",x),o("change",x),l.value=!1,vue.nextTick(()=>{const N=T+b.length+3;O.focus(),O.setSelectionRange(N,N)})},C=()=>{vue.nextTick(()=>{const V=s.value?.$el?.querySelector("input, textarea");V&&(V.removeEventListener("keydown",B),V.addEventListener("keydown",B,!0))})},B=V=>{if(V instanceof KeyboardEvent){if(l.value&&m.value.length>0&&(V.key==="ArrowDown"||V.key==="ArrowUp"||V.key==="Enter")){switch(V.preventDefault(),V.stopPropagation(),V.stopImmediatePropagation(),V.key){case"ArrowDown":c.value=(c.value+1)%m.value.length,D();break;case"ArrowUp":c.value=c.value<=0?m.value.length-1:c.value-1,D();break;case"Enter":c.value>=0&&k(m.value[c.value]);break}return!1}if(V.key==="Escape"&&l.value)return V.preventDefault(),V.stopPropagation(),V.stopImmediatePropagation(),l.value=!1,!1}},D=()=>{vue.nextTick(()=>{if(!i.value)return;const O=i.value.querySelectorAll(".dropdown-item:not(.empty)")[c.value];if(O){const Z=i.value,I=O.offsetTop,$=O.offsetHeight,E=Z.scrollTop,T=Z.clientHeight;I<E?Z.scrollTop=I:I+$>E+T&&(Z.scrollTop=I+$-T)}})};vue.watch(()=>n.modelValue,V=>{V!==r.value&&(r.value=V)}),vue.watch(()=>l.value,()=>{C()});const R=V=>{a.value&&!a.value.contains(V.target)&&i.value&&!i.value.contains(V.target)&&(l.value=!1)};return vue.onMounted(()=>{document.addEventListener("click",R),C()}),vue.onBeforeUnmount(()=>{document.removeEventListener("click",R);const V=s.value?.$el?.querySelector("input, textarea");V&&V.removeEventListener("keydown",B,!0)}),(V,O)=>{const Z=vue.resolveComponent("bk-input");return vue.openBlock(),vue.createElementBlock("div",{ref_key:"containerRef",ref:a,class:"variable-input-wrapper"},[vue.createVNode(Z,{ref_key:"inputRef",ref:s,modelValue:r.value,"onUpdate:modelValue":O[0]||(O[0]=I=>r.value=I),type:e.type,placeholder:e.placeholder,disabled:e.disabled,rows:e.rows,resize:e.resize,onInput:g,onFocus:w,onBlur:d},null,8,["modelValue","type","placeholder","disabled","rows","resize"]),l.value?(vue.openBlock(),vue.createElementBlock("div",{key:0,ref_key:"dropdownRef",ref:i,class:"variable-dropdown",style:vue.normalizeStyle(_.value)},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(m.value,(I,$)=>(vue.openBlock(),vue.createElementBlock("div",{key:I.key,class:vue.normalizeClass(["dropdown-item",{active:$===c.value}]),onMousedown:vue.withModifiers(E=>k(I),["prevent"])},[vue.createElementVNode("div",_hoisted_2$d,[vue.createElementVNode("span",_hoisted_3$b,vue.toDisplayString(I.key),1),vue.createElementVNode("span",_hoisted_4$b,vue.toDisplayString(I.name),1)])],42,_hoisted_1$m))),128)),m.value.length===0?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$8,"无匹配项")):vue.createCommentVNode("",!0)],4)):vue.createCommentVNode("",!0)],512)}}}),VariableInput=_export_sfc(_sfc_main$n,[["__scopeId","data-v-ccd4bdfb"]]),_hoisted_1$l={class:"input-field-form"},_sfc_main$m=vue.defineComponent({__name:"input",props:{modelValue:{default:""},config:{},disabled:{type:Boolean,default:!1},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change"],setup(e,{emit:t}){const n=e,o=t,a=vue.ref(n.modelValue),s=vue.computed(()=>{const{type:r,form_type:l=""}=n.config;return l==="textarea"?"textarea":["int","integer","number"].includes(r)?"number":"text"});vue.watch(()=>n.modelValue,r=>{a.value=r});const i=()=>{o("update:modelValue",a.value),o("change",a.value)};return(r,l)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$l,[vue.createVNode(VariableInput,{modelValue:a.value,"onUpdate:modelValue":l[0]||(l[0]=c=>a.value=c),type:s.value,rows:5,min:0,precision:0,disabled:n.disabled,options:n.fullVariableList,onBlur:i},null,8,["modelValue","type","disabled","options"])]))}}),InputField=_export_sfc(_sfc_main$m,[["__scopeId","data-v-b6b3c278"]]),_sfc_main$l=vue.defineComponent({__name:"switcher",props:{modelValue:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(e,{emit:t}){const n=e,o=vue.ref(n.modelValue);vue.watch(()=>n.modelValue,i=>{o.value=i});const a=t,s=i=>{a("update:modelValue",i),a("change",i)};return(i,r)=>{const l=vue.resolveComponent("bk-switcher");return vue.openBlock(),vue.createBlock(l,{"model-value":e.modelValue,theme:"primary",size:"small",disabled:e.disabled,onChange:s},null,8,["model-value","disabled"])}}}),_hoisted_1$k={class:"code-editor"},_sfc_main$k=vue.defineComponent({__name:"code",props:{modelValue:{default:""},language:{default:"json"},theme:{default:"vs-dark"},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change","blur","save"],setup(e,{emit:t}){setupMonacoEnvironment();const n={language:"json",theme:"vs-dark",automaticLayout:!0,minimap:{enabled:!1},wordWrap:"on",wrappingIndent:"same"},o=e,a=t,s=vue.ref(),i=vue.shallowRef();vue.watch(()=>o.modelValue,c=>{const u=i.value?.getValue();c!==u&&i.value?.setValue(c)}),vue.watch(()=>o.disabled,c=>{i.value&&i.value.updateOptions({...n,readOnly:c})}),vue.onMounted(()=>{r()}),vue.onBeforeUnmount(()=>{i.value&&i.value.dispose()});const r=()=>{i.value=monaco__namespace.editor.create(s.value,{...n,readOnly:o.disabled,value:o.modelValue,language:o.language});const c=i.value.getModel();c&&(c.setEOL(0),c.onDidChangeContent(()=>{const u=i.value?.getValue();l(u)})),i.value.onDidBlurEditorText(()=>{a("blur")})},l=c=>{a("update:modelValue",c),a("change",c)};return(c,u)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$k,[vue.createElementVNode("div",{ref_key:"monacoContainerRef",ref:s,class:"editor-instance-container"},null,512)]))}}),CodeField=_export_sfc(_sfc_main$k,[["__scopeId","data-v-8534e38a"]]),_hoisted_1$j={class:"bkflow-plugin-uniform-api-form"},_sfc_main$j=vue.defineComponent({__name:"index",props:{inputData:{default:()=>({})},inputs:{default:()=>[]},editable:{type:Boolean,default:!0},fullVariableList:{default:()=>[]}},emits:["change"],setup(e,{expose:t,emit:n}){const o=e,a=n,s=vue.ref(),i=vue.ref({}),r=vue.ref({});vue.watch(()=>o.inputData,()=>{Object.keys(o.inputData).forEach(_=>{i.value[_]=o.inputData[_].value})},{immediate:!0}),vue.watch(()=>o.inputs,()=>{o.inputs.forEach(_=>{_.required?r.value[_.key]=[{required:!0,message:"必填项",trigger:"blur"}]:(_.type==="json"||_.form_type==="json")&&(r.value[_.key]=[{validator:m=>{if(m.trim().length===0)return!0;try{return JSON.parse(m),!0}catch{return!1}},message:"请输入正确的 JSON 格式数据",trigger:"blur"}])})},{immediate:!0});const l=_=>{const{type:m,form_type:p=""}=_;if(p){if(["textarea","input"].includes(p))return InputField;if(["json"].includes(p))return CodeField}else{if(["string","int","integer","number"].includes(m))return InputField;if(["boolean","bool"].includes(m))return _sfc_main$l;if(["json","dict"].includes(m))return CodeField}return vue.h("div","暂不支持该类型")},c=(_,m)=>{i.value[_]=m,v()},u=async()=>s.value.validate().then(()=>!0).catch(()=>!1),v=()=>{const _={...o.inputData};Object.keys(i.value).forEach(m=>{_[m]={value:i.value[m],hook:!1,need_render:!0}}),a("change",_)};return t({validate:u}),(_,m)=>{const p=vue.resolveComponent("bk-form-item"),h=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$j,[vue.createVNode(h,{ref_key:"formRef",ref:s,rules:r.value,model:i.value,"label-width":94},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(o.inputs,f=>(vue.openBlock(),vue.createBlock(p,{key:f.key,label:f.name,required:f.required,desc:f.desc,property:f.key},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(l(f)),{"model-value":i.value[f.key],disabled:!o.editable,config:f,"full-variable-list":o.fullVariableList,onChange:y=>c(f.key,y)},null,40,["model-value","disabled","config","full-variable-list","onChange"]))]),_:2},1032,["label","required","desc","property"]))),128))]),_:1},8,["rules","model"])])}}}),BkFlowPluginUniformApiForm=_export_sfc(_sfc_main$j,[["__scopeId","data-v-cb961ebd"]]),_hoisted_1$i={class:"plugin-agent"},_sfc_main$i=vue.defineComponent({__name:"index",props:{inputData:{},pluginDetail:{},editable:{type:Boolean},fullVariableList:{default:()=>[]}},emits:["change"],setup(e,{expose:t,emit:n}){const o=e,a=n,s=vue.ref(),i=vue.ref({content:""});vue.watch(()=>o.inputData,()=>{"value"in o.inputData.content&&(i.value.content=o.inputData.content.value)},{immediate:!0});const r={content:[{required:!0,message:"请输入提问内容",trigger:"blur"}]},l=async()=>s.value.validate().then(()=>!0).catch(()=>!1),c=()=>{const u={...o.inputData};u.content={value:i.value.content,hook:!1,need_render:!0},a("change",u)};return t({validate:l}),(u,v)=>{const _=vue.resolveComponent("bk-form-item"),m=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$i,[vue.createVNode(m,{ref_key:"formRef",ref:s,rules:r,model:i.value,"label-width":94},{default:vue.withCtx(()=>[vue.createVNode(_,{label:"用户提问",required:"",property:"content"},{default:vue.withCtx(()=>[vue.createVNode(VariableInput,{modelValue:i.value.content,"onUpdate:modelValue":v[0]||(v[0]=p=>i.value.content=p),options:o.fullVariableList,type:"textarea",placeholder:"请输入",rows:6,resize:!1,disabled:!o.editable,onBlur:c},null,8,["modelValue","options","disabled"])]),_:1})]),_:1},8,["model"])])}}}),AgentForm=_export_sfc(_sfc_main$i,[["__scopeId","data-v-cb01a2cc"]]),_hoisted_1$h={class:"node-config-input-params"},_sfc_main$h=vue.defineComponent({__name:"input-params",props:{node:{},pluginType:{},pluginDetail:{},inputs:{default:()=>[]},editable:{type:Boolean,default:!0},fullVariableList:{default:()=>[]}},emits:["change"],setup(e,{expose:t,emit:n}){const o={uniform_api_plugin:BkFlowPluginUniformApiForm,agent:AgentForm},a=e,s=n,i=vue.ref(),r=vue.computed(()=>{const u=a.pluginDetail?.category;return u&&u in o?o[u]:BkFlowPluginUniformApiForm}),l=u=>{const v={...a.node.component.data.bk_display_message};v.value=u,s("change",{...a.node.component.data,bk_display_message:v})};return t({validate:()=>a.pluginType==="uniform_api"&&i.value&&i.value.validate?i.value.validate():!0}),(u,v)=>{const _=vue.resolveComponent("bk-input"),m=vue.resolveComponent("bk-form-item"),p=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createElementBlock("section",_hoisted_1$h,[a.pluginDetail?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[a.pluginDetail.inputParamsFormType==="renderform"?(vue.openBlock(),vue.createBlock(BKflowPluginFormRenderForm,{key:0,variables:a.inputs,editable:a.editable,"full-variable-list":a.fullVariableList,onChange:v[0]||(v[0]=h=>s("change",h))},null,8,["variables","editable","full-variable-list"])):vue.createCommentVNode("",!0),a.pluginDetail.inputParamsFormType==="jsonschemaform"?(vue.openBlock(),vue.createBlock(JsonschemaForm,{key:1,variables:a.inputs,editable:a.editable,onChange:v[1]||(v[1]=h=>s("change",h))},null,8,["variables","editable"])):vue.createCommentVNode("",!0),a.pluginDetail.inputParamsFormType==="uniformApiForm"?(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(r.value),{key:2,ref_key:"uniformApiPluginComponentRef",ref:i,node:a.node,"plugin-detail":a.pluginDetail,"plugin-id":a.node.component.api_meta?.id||"","input-data":a.node.component.data,inputs:a.inputs,editable:a.editable,"full-variable-list":a.fullVariableList,onChange:v[2]||(v[2]=h=>s("change",h))},null,40,["node","plugin-detail","plugin-id","input-data","inputs","editable","full-variable-list"])):vue.createCommentVNode("",!0)],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[a.node.component.code==="bk_display"?(vue.openBlock(),vue.createBlock(p,{key:0,"label-width":94},{default:vue.withCtx(()=>[vue.createVNode(m,{label:"展示内容"},{default:vue.withCtx(()=>[vue.createVNode(_,{"model-value":a.node.component.data.bk_display_message.value,type:"textarea",rows:4,disabled:!a.editable,resize:!1,onChange:l},null,8,["model-value","disabled"])]),_:1})]),_:1})):vue.createCommentVNode("",!0)],64))])}}}),InputParams=_export_sfc(_sfc_main$h,[["__scopeId","data-v-0e042631"]]),_hoisted_1$g={class:"node-config-output-params"},_hoisted_2$c={class:"params-key-wrappper"},_hoisted_3$a={class:"key-text"},_hoisted_4$a={class:"create-variable-cell"},_hoisted_5$7=["onClick"],_sfc_main$g=vue.defineComponent({__name:"output-params",props:{node:{},outputsForms:{},constants:{default:()=>({})},editable:{type:Boolean,default:!0}},emits:["updateConstants"],setup(e,{emit:t}){const n=e,o=t,a=vue.shallowRef({}),s=vue.computed(()=>n.outputsForms.map(l=>({...l,hookedKey:i(l.key)})));vue.watch(()=>n.constants,l=>{a.value={...l}},{immediate:!0});const i=l=>{const u=Object.values(a.value).find(v=>v.source_info[n.node.id]&&v.source_info[n.node.id].includes(l));return u?u.key:""},r=l=>{if(!n.editable)return;const c=i(l.key);if(c){const u={...a.value[c],source_info:{...a.value[c].source_info,[n.node.id]:a.value[c].source_info[n.node.id].filter(v=>v!==l.key)}};a.value={...a.value,[c]:u}}else{const u=`\${${l.key}}`,v=n.constants[u]?`\${${l.key}_${random4()}}`:u;a.value={...a.value,[v]:{index:Object.values(a.value).length,name:l.name,key:v,desc:"",custom_type:"",show_type:"hide",source_type:"component_outputs",source_info:{[n.node.id]:[l.key]},source_tag:"",validation:"",plugin_code:"",value:""}}}o("updateConstants",a.value)};return(l,c)=>{const u=vue.resolveComponent("bk-table-column"),v=vue.resolveComponent("bk-input"),_=vue.resolveComponent("bk-table"),m=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("section",_hoisted_1$g,[vue.createVNode(_,{"empty-text":"暂无参数",data:s.value,border:["outer"]},{default:vue.withCtx(()=>[vue.createVNode(u,{label:"名称",width:180,"min-width":180,prop:"name"},{default:vue.withCtx(({row:p})=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("span",{class:vue.normalizeClass(["params-name",{"has-desc":p.description!==""}])},[vue.createTextVNode(vue.toDisplayString(p.name),1)],2)),[[m,{disabled:p.description==="",content:p.description}]])]),_:1}),vue.createVNode(u,{label:"KEY",prop:"key"},{default:vue.withCtx(({row:p})=>[vue.createElementVNode("div",_hoisted_2$c,[vue.createElementVNode("span",_hoisted_3$a,vue.toDisplayString(p.key),1),p.hookedKey?(vue.openBlock(),vue.createBlock(v,{key:0,class:"variable-key-input","model-value":p.hookedKey,readonly:vue.readonly},null,8,["model-value"])):vue.createCommentVNode("",!0)])]),_:1}),vue.createVNode(u,{label:"勾选为全局变量",width:120,"min-width":120},{default:vue.withCtx(({row:p})=>[vue.createElementVNode("div",_hoisted_4$a,[vue.withDirectives((vue.openBlock(),vue.createElementBlock("span",{class:vue.normalizeClass(["btn",{"is-hooked":!!p.hookedKey,"is-disabled":!n.editable,"is-disabled-tooltip":!n.editable}]),onClick:h=>r(p)},[...c[0]||(c[0]=[vue.createElementVNode("i",{class:"bk-incident-icon incident-quanjubianliang-2"},null,-1)])],10,_hoisted_5$7)),[[m,{placement:"top",content:p.hookedKey?"取消接收输出":"使用变量接收输出"}]])])]),_:1})]),_:1},8,["data"])])}}}),OutputParams=_export_sfc(_sfc_main$g,[["__scopeId","data-v-5a9440da"]]),_hoisted_1$f={class:"bkflow-node-config"},_sfc_main$f=vue.defineComponent({__name:"index",props:{node:{},systemVariables:{default:()=>[]},constants:{default:()=>({})},editable:{type:Boolean,default:!0}},emits:["change","selectPlugin","updateConstants"],setup(e,{expose:t,emit:n}){const o=vue.useSlots(),a=e,s=useFlowApiConfig(),i=n,r=vue.ref(),l=vue.ref(),c=vue.ref(null),u=vue.ref(!0),v=vue.shallowRef([]),_=vue.shallowRef([]),m=vue.ref(!1),p=vue.computed(()=>a.node.component.code?["uniform_api","remote_plugin"].includes(a.node.component.code)?a.node.component.code:"inner":""),h=vue.computed(()=>[...a.systemVariables,...Object.values(a.constants)].map(C=>({key:C.key,name:C.name})));vue.onMounted(()=>{m.value=!1,f()});const f=async()=>{u.value=!0,m.value=!1;try{const C=await pluginDetailRequest(s,a.node.component),{inputs:B,outputs:D}=C;v.value=B,_.value=D,c.value=C,y()}catch(C){(C?.message||String(C)).includes("1211011")?m.value=!0:console.error("Failed to fetch plugin detail:",C)}finally{u.value=!1}},y=()=>{if(!c.value)return;const{data:C}=a.node.component,B=p.value;({uniform_api:()=>!C||!("uniform_api_plugin_url"in C)||!("uniform_api_plugin_method"in C),remote_plugin:()=>!C||!("plugin_version"in C),inner:()=>!C||Object.keys(C).length===0})[B]?.()&&w({...a.node,component:{...a.node.component,data:getPluginDefaultData(B,c.value)}})},g=C=>{const B={...a.node,component:{...a.node.component,data:C}};w(B)},w=C=>{i("change",C)},d=C=>{g(C)};return t({isPluginNotExist:m,pluginDetailLoading:u,validate:async()=>{let C=()=>!0;!o.inputParams&&l.value&&(C=l.value.validate);const[B,D]=await Promise.all([r.value?.validate(),C()]);return!(!B||!D)},updateInputParams:d}),(C,B)=>{const D=vue.resolveComponent("bk-button"),R=vue.resolveComponent("bk-exception"),V=vue.resolveDirective("bk-loading");return vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_1$f,[m.value?(vue.openBlock(),vue.createBlock(R,{key:0,class:"plugin-not-exist-exception",type:"500",title:"未找到可用插件或可用版本",scene:"part"},{default:vue.withCtx(()=>[a.editable?(vue.openBlock(),vue.createBlock(D,{key:0,text:"",theme:"primary",onClick:B[0]||(B[0]=O=>i("selectPlugin"))},{default:vue.withCtx(()=>[...B[3]||(B[3]=[vue.createTextVNode("重新选择",-1)])]),_:1})):vue.createCommentVNode("",!0)]),_:1})):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(SectionContainer,{title:"基础信息"},{default:vue.withCtx(()=>[vue.createVNode(BasicInfo,{ref_key:"basicInfoRef",ref:r,node:a.node,editable:a.editable,"plugin-type":p.value,"plugin-detail":c.value,onSelectPlugin:B[1]||(B[1]=O=>i("selectPlugin")),onChange:w},null,8,["node","editable","plugin-type","plugin-detail"])]),_:1}),vue.createVNode(SectionContainer,{title:"输入参数"},{default:vue.withCtx(()=>[u.value?vue.createCommentVNode("",!0):vue.renderSlot(C.$slots,"inputParams",{key:0,node:a.node,pluginDetail:c.value,inputs:v.value,editable:a.editable,fullVariableList:h.value,updateInputParams:d},()=>[vue.createVNode(InputParams,{ref_key:"inputParamsRef",ref:l,node:a.node,"plugin-type":p.value,"plugin-detail":c.value,inputs:v.value,editable:a.editable,"full-variable-list":h.value,onChange:g},null,8,["node","plugin-type","plugin-detail","inputs","editable","full-variable-list"])],!0)]),_:3}),vue.createVNode(SectionContainer,{title:"输出参数"},{default:vue.withCtx(()=>[u.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(OutputParams,{key:0,node:a.node,"outputs-forms":_.value,constants:a.constants,editable:a.editable,onUpdateConstants:B[2]||(B[2]=O=>i("updateConstants",O))},null,8,["node","outputs-forms","constants","editable"]))]),_:1})],64))])),[[V,{loading:u.value}]])}}}),NodeConfig=_export_sfc(_sfc_main$f,[["__scopeId","data-v-e8f99987"]]),_hoisted_1$e={class:"node-config-slider"},_hoisted_2$b={key:0,class:"sideslider-footer-buttons"},_sfc_main$e=vue.defineComponent({__name:"index",props:{show:{type:Boolean,default:!1},node:{},constants:{default:()=>({})},systemVariables:{default:()=>[]},editable:{type:Boolean,default:!0}},emits:["close","update:show","confirm","selectPlugin"],setup(e,{expose:t,emit:n}){const o=e,a=n,s=vue.ref(),i=vue.ref(!0),r=vue.ref(lodash.cloneDeep(o.node)),l=vue.shallowRef({...o.constants});vue.watch(()=>o.show,()=>{r.value=lodash.cloneDeep(o.node),l.value={...o.constants}}),vue.watchEffect(()=>{s.value?.isPluginNotExist||s.value?.pluginDetailLoading?i.value=!1:i.value=!0});const c=p=>{r.value=p},u=async()=>{await s.value?.validate()&&a("confirm",r.value,l.value)},v=()=>{if(o.editable)return new Promise(p=>{lib.InfoBox({title:"确认离开?",content:"离开将会导致未保存信息丢失",confirmText:"离开",cancelText:"取消",width:320,onConfirm:()=>{_(),p(!0)},onCancel:()=>{p(!1)}})});_()},_=()=>{a("close"),a("update:show",!1)};return t({updateNodeInputParams:p=>{s.value&&s.value.updateInputParams?.(p)}}),(p,h)=>{const f=vue.resolveComponent("bk-button"),y=vue.resolveComponent("bk-sideslider");return vue.openBlock(),vue.createBlock(y,{title:"节点配置","is-show":o.show,width:960,"esc-close":!1,"before-close":v},{footer:vue.withCtx(()=>[i.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$b,[o.editable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(f,{theme:"primary",onClick:u},{default:vue.withCtx(()=>[...h[2]||(h[2]=[vue.createTextVNode("确定",-1)])]),_:1}),vue.createVNode(f,{onClick:_},{default:vue.withCtx(()=>[...h[3]||(h[3]=[vue.createTextVNode("取消",-1)])]),_:1})],64)):(vue.openBlock(),vue.createBlock(f,{key:1,theme:"primary",onClick:_},{default:vue.withCtx(()=>[...h[4]||(h[4]=[vue.createTextVNode("关闭",-1)])]),_:1}))])):vue.createCommentVNode("",!0)]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$e,[o.show?(vue.openBlock(),vue.createBlock(NodeConfig,{key:0,ref_key:"nodeConfigRef",ref:s,node:r.value,editable:o.editable,constants:l.value,"system-variables":o.systemVariables,onSelectPlugin:h[0]||(h[0]=g=>a("selectPlugin")),onUpdateConstants:h[1]||(h[1]=g=>l.value=g),onChange:c},{inputParams:vue.withCtx(g=>[vue.renderSlot(p.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps(g)),void 0,!0)]),_:3},8,["node","editable","constants","system-variables"])):vue.createCommentVNode("",!0)])]),_:3},8,["is-show"])}}}),NodeConfigPanel=_export_sfc(_sfc_main$e,[["__scopeId","data-v-02b9993c"]]),_hoisted_1$d={class:"plugin-group-aside"},_hoisted_2$a={class:"group-list"},_hoisted_3$9=["onClick"],_hoisted_4$9=["src"],_hoisted_5$6={class:"group-text"},_sfc_main$d=vue.defineComponent({__name:"plugin-groups-aside",props:{actived:{},groups:{}},emits:["update:actived","change"],setup(e,{emit:t}){const n=e,o=t,a=s=>{o("update:actived",s),o("change",s)};return(s,i)=>(vue.openBlock(),vue.createElementBlock("section",_hoisted_1$d,[vue.createElementVNode("div",_hoisted_2$a,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(n.groups,r=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["group-item",{actived:n.actived===r.name}]),key:r.id,onClick:l=>a(r.name)},[vue.createElementVNode("img",{class:"group-icon",src:r.iconUrl},null,8,_hoisted_4$9),vue.createElementVNode("span",_hoisted_5$6,vue.toDisplayString(r.alias),1)],10,_hoisted_3$9))),128))])]))}}),PluginGroupsAside=_export_sfc(_sfc_main$d,[["__scopeId","data-v-6c7ab9b0"]]),alarmImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/告警%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/告警'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3ccircle%20id='椭圆形'%20fill='%233A84FF'%20fill-rule='nonzero'%20cx='27'%20cy='27'%20r='23'%3e%3c/circle%3e%3ccircle%20id='椭圆形备份'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20cx='34'%20cy='34'%20r='24'%3e%3c/circle%3e%3cg%20id='alert-告警'%20transform='translate(20,%2018)'%20fill='%23FFFFFF'%3e%3cpath%20d='M23.8214286,25.9259259%20L23.8214286,14.5185185%20C23.8280822,12.0419907%2022.8443395,9.66585559%2021.0897321,7.92037037%20C19.3290179,6.16064815%2016.9889509,5.18515161%2014.5,5.18515161%20C12.026631,5.17852307%209.65352669,6.16352209%207.91026786,7.92037037%20C6.15279018,9.68333333%205.17857143,12.0263889%205.17857143,14.5185185%20L5.17857143,25.9259259%20L2.07142857,25.9259259%20L2.07142857,28%20L26.9285714,28%20L26.9285714,25.9259259%20L23.8214286,25.9259259%20Z%20M15.225,10.9083333%20L16.6879464,12.3731481%20L14.5356027,14.5314815%20L17.3708705,17.3703704%20L13.8138393,21.3305556%20L12.2732143,19.9435185%20L14.516183,17.4449074%20L11.6064732,14.5314815%20L15.225,10.9083333%20Z%20M29,13.4814815%20L29,15.5555556%20L24.8571429,15.5555556%20L24.8571429,13.4814815%20L29,13.4814815%20Z%20M4.14285714,13.4814815%20L4.14285714,15.5555556%20L0,15.5555556%20L0,13.4814815%20L4.14285714,13.4814815%20Z%20M5.01594524,3.53359279%20L7.94538762,6.46677647%20L6.48066643,7.93336831%20L3.55122405,5.00018463%20L5.01594524,3.53359279%20Z%20M23.9784806,3.5274069%20L25.4432018,4.99399875%20L22.5137594,7.92718243%20L21.0490382,6.46059059%20L23.9784806,3.5274069%20Z%20M15.5357143,0%20L15.5357143,4.14814815%20L13.4642857,4.14814815%20L13.4642857,0%20L15.5357143,0%20Z'%20id='形状'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",eventImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/事件%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/事件'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3crect%20id='矩形-2'%20fill='%233A84FF'%20fill-rule='nonzero'%20x='5'%20y='5'%20width='40'%20height='40'%20rx='3'%3e%3c/rect%3e%3crect%20id='矩形'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20x='10'%20y='10'%20width='44'%20height='44'%20rx='3'%3e%3c/rect%3e%3cg%20id='alert-告警'%20transform='translate(16.25,%2016.25)'%20fill='%23FFFFFF'%20fill-rule='nonzero'%3e%3cpath%20d='M9,0%20L9,2.25%20L22.5,2.25%20L22.5,0%20L27,0%20L27,2.25%20L29.25,2.25%20C30.4926407,2.25%2031.5,3.25735931%2031.5,4.5%20L31.5,29.25%20C31.5,30.4926407%2030.4926407,31.5%2029.25,31.5%20L2.25,31.5%20C1.00735931,31.5%200,30.4926407%200,29.25%20L0,4.5%20C0,3.25735931%201.00735931,2.25%202.25,2.25%20L4.5,2.25%20L4.5,0%20L9,0%20Z%20M29.25,10.125%20L2.25,10.125%20L2.25,29.25%20L29.25,29.25%20L29.25,10.125%20Z%20M11.25,13.5%20L11.25,18%20L5.625,18%20L5.625,13.5%20L11.25,13.5%20Z'%20id='形状结合'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",graphImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/图谱%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/图谱'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3ccircle%20id='椭圆形'%20fill='%233A84FF'%20fill-rule='nonzero'%20cx='27'%20cy='27'%20r='23'%3e%3c/circle%3e%3ccircle%20id='椭圆形备份'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20cx='34'%20cy='34'%20r='24'%3e%3c/circle%3e%3cg%20id='alert-告警'%20transform='translate(18.25,%2018.25)'%20fill='%23FFFFFF'%3e%3cpath%20d='M27.5625,0%20C29.7371212,0%2031.5,1.7628788%2031.5,3.9375%20C31.5,6.1121212%2029.7371212,7.875%2027.5625,7.875%20C26.8821072,7.875%2026.2420211,7.70242627%2025.6836253,7.39866233%20L21.2480235,11.8331927%20C22.0362649,12.9376649%2022.5,14.2896769%2022.5,15.75%20C22.5,17.2076792%2022.0379426,18.5574391%2021.2523016,19.6608059%20L24.7142478,23.1229218%20C25.3841532,22.7271229%2026.1655529,22.5%2027,22.5%20C29.4852814,22.5%2031.5,24.5147186%2031.5,27%20C31.5,29.4852814%2029.4852814,31.5%2027,31.5%20C24.5147186,31.5%2022.5,29.4852814%2022.5,27%20C22.5,26.1655529%2022.7271229,25.3841532%2023.1229218,24.7142478%20L19.6608059,21.2523016%20C18.5574391,22.0379426%2017.2076792,22.5%2015.75,22.5%20C14.2923208,22.5%2012.9425609,22.0379426%2011.8391941,21.2523016%20L8.73675688,24.3548271%20C8.9071608,24.8296846%209,25.3415004%209,25.875%20C9,28.3602814%206.98528137,30.375%204.5,30.375%20C2.01471863,30.375%200,28.3602814%200,25.875%20C0,23.3897186%202.01471863,21.375%204.5,21.375%20C5.62390208,21.375%206.6515713,21.7870218%207.44020055,22.4682583%20L10.2476984,19.6608059%20C9.46205741,18.5574391%209,17.2076792%209,15.75%20C9,14.2927614%209.46177809,12.9433769%2010.246986,11.8401948%20L6.9225844,8.53381806%20C6.36863781,8.83126977%205.73527343,9%205.0625,9%20C2.8878788,9%201.125,7.2371212%201.125,5.0625%20C1.125,2.8878788%202.8878788,1.125%205.0625,1.125%20C7.2371212,1.125%209,2.8878788%209,5.0625%20C9,5.74577587%208.82596068,6.38840267%208.51979386,6.94846859%20L11.8381935,10.2484109%20C12.9417448,9.46233681%2014.2918801,9%2015.75,9%20C17.2050353,9%2018.5525424,9.46038278%2019.6547997,10.2434266%20L24.0949001,5.80449226%20C23.7951367,5.24890576%2023.625,4.61307166%2023.625,3.9375%20C23.625,1.7628788%2025.3878788,0%2027.5625,0%20Z'%20id='形状结合'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",logImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/日志%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/日志'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3crect%20id='矩形-2'%20fill='%233A84FF'%20fill-rule='nonzero'%20x='5'%20y='5'%20width='40'%20height='40'%20rx='3'%3e%3c/rect%3e%3crect%20id='矩形'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20x='10'%20y='10'%20width='44'%20height='44'%20rx='3'%3e%3c/rect%3e%3cg%20id='alert-告警'%20transform='translate(17.375,%2017.375)'%20fill='%23FFFFFF'%3e%3cpath%20d='M28.25,0%20C28.8022847,0%2029.25,0.44771525%2029.25,1%20L29.25,28.25%20C29.25,28.8022847%2028.8022847,29.25%2028.25,29.25%20L1,29.25%20C0.44771525,29.25%200,28.8022847%200,28.25%20L0,1%20C0,0.44771525%200.44771525,1.11022302e-16%201,0%20L28.25,0%20Z%20M14.625,19.125%20C14.0036797,19.125%2013.5,19.6286797%2013.5,20.25%20C13.5,20.8713203%2014.0036797,21.375%2014.625,21.375%20C15.2463203,21.375%2015.75,20.8713203%2015.75,20.25%20C15.75,19.6286797%2015.2463203,19.125%2014.625,19.125%20Z%20M8.4375,7.875%20C5.02023811,7.875%202.25,10.6452381%202.25,14.0625%20C2.25,17.4797619%205.02023811,20.25%208.4375,20.25%20C11.8547619,20.25%2014.625,17.4797619%2014.625,14.0625%20C14.625,10.6452381%2011.8547619,7.875%208.4375,7.875%20Z%20M20.8125,7.875%20C17.3952381,7.875%2014.625,10.6452381%2014.625,14.0625%20C14.625,17.4797619%2017.3952381,20.25%2020.8125,20.25%20C24.2297619,20.25%2027,17.4797619%2027,14.0625%20C27,10.6452381%2024.2297619,7.875%2020.8125,7.875%20Z%20M8.4375,10.125%20C10.6121212,10.125%2012.375,11.8878788%2012.375,14.0625%20C12.375,16.2371212%2010.6121212,18%208.4375,18%20C6.2628788,18%204.5,16.2371212%204.5,14.0625%20C4.5,11.8878788%206.2628788,10.125%208.4375,10.125%20Z%20M20.8125,10.125%20C22.9871212,10.125%2024.75,11.8878788%2024.75,14.0625%20C24.75,16.2371212%2022.9871212,18%2020.8125,18%20C18.6378788,18%2016.875,16.2371212%2016.875,14.0625%20C16.875,11.8878788%2018.6378788,10.125%2020.8125,10.125%20Z%20M21.5,12.9375%20L20.125,12.9375%20C19.5727153,12.9375%2019.125,13.3852153%2019.125,13.9375%20L19.125,14.1875%20C19.125,14.7397847%2019.5727153,15.1875%2020.125,15.1875%20L21.5,15.1875%20C22.0522847,15.1875%2022.5,14.7397847%2022.5,14.1875%20L22.5,13.9375%20C22.5,13.3852153%2022.0522847,12.9375%2021.5,12.9375%20Z'%20id='形状结合'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",metricImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/指标%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/指标'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3ccircle%20id='椭圆形'%20fill='%233A84FF'%20fill-rule='nonzero'%20cx='27'%20cy='27'%20r='23'%3e%3c/circle%3e%3ccircle%20id='椭圆形备份'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20cx='34'%20cy='34'%20r='24'%3e%3c/circle%3e%3cg%20id='alert-告警'%20transform='translate(20.0022,%2019)'%20fill='%23FFFFFF'%3e%3cpath%20d='M26.9978016,9%20L26.9978016,26%20L22.9857822,26%20L22.9857822,9%20L26.9978016,9%20Z%20M19.9767677,15%20L19.9767677,26%20L15.9647484,26%20L15.9647484,15%20L19.9767677,15%20Z%20M12.9557339,12%20L12.9557339,26%20L8.9437145,26%20L8.9437145,12%20L12.9557339,12%20Z%20M5.93469998,17%20L5.93469998,26%20L1.92268063,26%20L1.92268063,17%20L5.93469998,17%20Z%20M26.9978016,0%20L26.9978016,8%20L23.6568016,4.67%20L16.9918102,11.3355632%20L11.3179511,5.6617042%20L1.41846305,15.561206%20L3.55271368e-15,14.1427429%20L11.3137085,2.82903444%20L16.9875333,8.50285925%20L22.2358016,3.253%20L18.9737629,0%20L26.9978016,0%20Z'%20id='形状结合'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",profilingImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/Profiling%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/Profiling'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3ccircle%20id='椭圆形'%20fill='%233A84FF'%20fill-rule='nonzero'%20cx='27'%20cy='27'%20r='23'%3e%3c/circle%3e%3ccircle%20id='椭圆形备份'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20cx='34'%20cy='34'%20r='24'%3e%3c/circle%3e%3cg%20id='alert-告警'%20transform='translate(19.375,%2016)'%20fill='%23FFFFFF'%20fill-rule='nonzero'%3e%3cpath%20d='M10.3813948,-3.55271368e-15%20C17.257736,1.52410383%2022.3838329,6.97063848%2023.2188935,13.6207878%20C24.020884,11.6579106%2025.6982065,10.1856528%2027.7485185,9.64494215%20C27.1633902,11.2491122%2027.1633902,13.0083535%2027.7485185,14.6125236%20C27.7485185,14.6125236%2033.0597887,25.1085424%2026.6837718,31.6233741%20L24.0521736,28.9989243%20C27.3425616,24.7791508%2027.0291913,18.684516%2023.1138432,14.7781096%20C18.7284397,10.4016526%2011.6811693,10.5583362%207.45245097,14.9347932%20C3.22373261,19.3094697%203.53710289,26.4991091%207.9225064,30.562199%20C11.8378545,34.1552382%2017.6316437,34.3119218%2021.8603621,31.1853723%20L24.2302248,33.5498699%20C23.1560051,34.1931262%2022.0151369,34.7178845%2020.8276645,35.1149251%20C20.8276645,35.1149251%2016.914097,36.7173707%2011.2876759,35.6099027%20C11.2876759,35.6099027%20-5.60939232,32.1361567%201.9435438,14.8956223%20C2.71450593,15.6701377%203.23085471,16.6583125%203.42136957,17.7337316%20C4.27570623,15.1161605%205.73197932,12.7354096%207.67323457,10.7826785%20C10.1623917,8.55705961%2012.6960617,2.27013128%2010.3813948,-3.55271368e-15%20Z%20M8.86261726,17.9028786%20C10.3191865,15.8450628%2012.6836372,14.6218537%2015.2048045,14.6218537%20C17.7259718,14.6218537%2020.0904225,15.8450628%2021.5469918,17.9028786%20C23.5838986,20.5593773%2023.5838986,24.3108806%2021.5469918,27.1240629%20C20.0904225,29.1818787%2017.7259718,30.4050878%2015.2048045,30.4050878%20C12.6836372,30.4050878%2010.3191865,29.1818787%208.86261726,27.1240629%20C6.8257104,24.4675642%206.8257104,20.5593773%208.86261726,17.9028786%20Z%20M20.475123,17.8049514%20L9.79204502,17.8049514%20L9.79204502,21.3659416%20L11.572558,21.3659416%20L11.572558,24.9269319%20L13.353071,24.9269319%20L13.353071,23.1464368%20L15.133584,23.1464368%20L15.133584,26.7074271%20L16.914097,26.7074271%20L16.914097,28.4879222%20L18.69461,28.4879222%20L18.69461,23.1464368%20L20.475123,23.1464368%20L20.475123,17.8049514%20L20.475123,17.8049514%20Z'%20id='形状'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",traceImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/Trace%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/Trace'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3ccircle%20id='椭圆形'%20fill='%233A84FF'%20fill-rule='nonzero'%20cx='27'%20cy='27'%20r='23'%3e%3c/circle%3e%3ccircle%20id='椭圆形备份'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20cx='34'%20cy='34'%20r='24'%3e%3c/circle%3e%3cg%20id='alert-告警'%20transform='translate(18.25,%2018.25)'%20fill='%23FFFFFF'%20fill-rule='nonzero'%3e%3cpath%20d='M15.75,0%20C16.36875,0%2016.875,0.50625%2016.875,1.125%20L16.875,2.29647656%20C23.4334688,2.83756641%2028.6624336,8.06653125%2029.2035234,14.625%20L30.375,14.625%20C30.99375,14.625%2031.5,15.13125%2031.5,15.75%20C31.5,16.36875%2030.99375,16.875%2030.375,16.875%20L29.2035234,16.875%20C28.6624336,23.4334688%2023.4334688,28.6624336%2016.875,29.2035234%20L16.875,30.375%20C16.875,30.99375%2016.36875,31.5%2015.75,31.5%20C15.13125,31.5%2014.625,30.99375%2014.625,30.375%20L14.625,29.2035234%20C8.06653125,28.6624336%202.83756641,23.4334688%202.29647656,16.875%20L1.125,16.875%20C0.50625,16.875%200,16.36875%200,15.75%20C0,15.13125%200.50625,14.625%201.125,14.625%20L2.29647656,14.625%20C2.83756641,8.06653125%208.06653125,2.83756641%2014.625,2.29647656%20L14.625,1.125%20C14.625,0.50625%2015.13125,0%2015.75,0%20Z%20M16.875,4.55582812%20L16.875,5.625%20C16.875,6.24375%2016.36875,6.75%2015.75,6.75%20C15.13125,6.75%2014.625,6.24375%2014.625,5.625%20L14.625,4.55582812%20C9.31011328,5.08355859%205.08355859,9.31011328%204.55582812,14.625%20L5.625,14.625%20C6.24375,14.625%206.75,15.13125%206.75,15.75%20C6.75,16.36875%206.24375,16.875%205.625,16.875%20L4.55582812,16.875%20C5.08355859,22.1898867%209.31011328,26.4164414%2014.625,26.9441719%20L14.625,25.875%20C14.625,25.25625%2015.13125,24.75%2015.75,24.75%20C16.36875,24.75%2016.875,25.25625%2016.875,25.875%20L16.875,26.9441719%20C22.1898867,26.4164414%2026.4164414,22.1898867%2026.9441719,16.875%20L25.875,16.875%20C25.25625,16.875%2024.75,16.36875%2024.75,15.75%20C24.75,15.13125%2025.25625,14.625%2025.875,14.625%20L26.9441719,14.625%20C26.4164414,9.31011328%2022.1898867,5.08355859%2016.875,4.55582812%20Z%20M15.75,10.125%20C18.8566017,10.125%2021.375,12.6433983%2021.375,15.75%20C21.375,18.8566017%2018.8566017,21.375%2015.75,21.375%20C12.6433983,21.375%2010.125,18.8566017%2010.125,15.75%20C10.125,12.6433983%2012.6433983,10.125%2015.75,10.125%20Z'%20id='形状结合'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",_hoisted_1$c={class:"data-plugin-group"},_hoisted_2$9={class:"plugin-list"},_hoisted_3$8=["onClick"],_hoisted_4$8=["src"],_hoisted_5$5={class:"plugin-name"},_sfc_main$c=vue.defineComponent({__name:"data-plugin-group",props:{plugins:{}},emits:["select"],setup(e,{emit:t}){const n=e,o=t,a={alert_plugin:alarmImg,log_plugin:logImg,trace_plugin:traceImg,query_promql_metric_plugin:metricImg,事件查询:eventImg,Profiling查询:profilingImg,图谱查询:graphImg},s=vue.computed(()=>n.plugins.map(i=>({id:i.id,name:i.alias,icon:a[i.name]})));return(i,r)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$c,[vue.createElementVNode("div",_hoisted_2$9,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(s.value,l=>(vue.openBlock(),vue.createElementBlock("div",{class:"plugin-item",key:l.id,onClick:c=>o("select",l.id)},[vue.createElementVNode("img",{class:"plugin-img",src:l.icon},null,8,_hoisted_4$8),vue.createElementVNode("h4",_hoisted_5$5,vue.toDisplayString(l.name),1)],8,_hoisted_3$8))),128))]),s.value.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:0,title:"暂无数据插件"})):vue.createCommentVNode("",!0)]))}}),DataPluginGroup=_export_sfc(_sfc_main$c,[["__scopeId","data-v-782d393d"]]),_hoisted_1$b={class:"search-select-wrapper"},_sfc_main$b=vue.defineComponent({__name:"index",props:{modelValue:{default:()=>[]},placeholder:{default:"请选择"},options:{default:()=>[]}},emits:["update:modelValue","change"],setup(e,{emit:t}){const n=e,o=t,a=vue.shallowRef([...n.modelValue]);vue.watch(()=>n.modelValue,i=>{a.value=[...i]},{deep:!0});const s=i=>{a.value=i,o("update:modelValue",i),o("change",i)};return(i,r)=>{const l=vue.resolveComponent("bk-search-select");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$b,[vue.createVNode(l,{modelValue:a.value,"onUpdate:modelValue":[r[0]||(r[0]=c=>a.value=c),s],"value-behavior":"need-key",data:n.options,placeholder:n.placeholder,uniqueSelect:!0,clearable:!0},null,8,["modelValue","data","placeholder"])])}}}),_hoisted_1$a={class:"agent-plugin-group"},_hoisted_2$8={class:"top-operate-area"},_hoisted_3$7={class:"buttons"},_hoisted_4$7={class:"agent-content-area"},_hoisted_5$4={class:"agent-cards"},_hoisted_6$3={class:"card-header"},_hoisted_7$2=["src"],_hoisted_8$2={class:"agent-summary"},_hoisted_9$2={class:"main-info"},_hoisted_10$2={class:"name-text"},_hoisted_11$2={class:"other-info"},_hoisted_12=["title"],_hoisted_13=["title"],_hoisted_14=["title"],_hoisted_15={class:"agent-desc"},_hoisted_16={class:"agent-btns"},_sfc_main$a=vue.defineComponent({__name:"agent-plugin-group",props:{properties:{},plugins:{}},emits:["select"],setup(e,{emit:t}){const n=vueRouter.useRouter(),o=vueRouter.useRoute(),a=[{id:"alias",name:"智能体名称"},{id:"created_by",name:"创建人"}],s=e,i=t,r=vue.ref("all"),l=vue.ref([]),c=vue.computed(()=>Object.keys(s.properties).map(y=>({id:y,name:s.properties[y]}))),u=vue.computed(()=>s.plugins.filter(y=>!y.display_content.hidden)),v=vue.computed(()=>{const y=u.value.filter(g=>r.value!=="all"?g.group===r.value:!0);return l.value.length>0?y.filter(g=>l.value.some(w=>w.id==="alias"?g.alias.toLowerCase().includes(w.values[0].id.toLowerCase()):w.id==="agent_type"?(g.display_content?.agent_type||"")===w.values[0].id:w.id==="space_name"?(g.display_content?.space_name||"").toLowerCase().includes(w.values[0].id.toLowerCase()):w.id==="created_by"?(g.display_content?.created_by||"")===w.values[0].id:!0)):y}),_=()=>{const{href:y}=n.resolve({name:"spaceResource",params:o.params});window.open(y,"_blank")},m=()=>{const{href:y}=n.resolve({name:"spaceResource",params:o.params});window.open(y,"_blank")},p=y=>{l.value=y},h=y=>{y.display_content.fetch_url&&window.open(y.display_content.fetch_url,"_blank")},f=y=>y?dayjs(y).format("YYYY-MM-DD HH:mm:ss"):"--";return(y,g)=>{const w=vue.resolveComponent("bk-button"),d=vue.resolveComponent("bk-alert"),k=vue.resolveComponent("bk-radio-button"),C=vue.resolveComponent("bk-radio-group");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$a,[vue.createVNode(d,null,{default:vue.withCtx(()=>[g[3]||(g[3]=vue.createTextVNode(" 如有需要,您可以申请更多的智能体权限 ",-1)),vue.createVNode(w,{theme:"primary",text:"",size:"small",onClick:_},{default:vue.withCtx(()=>[...g[2]||(g[2]=[vue.createTextVNode("点击申请",-1)])]),_:1})]),_:1}),vue.createElementVNode("div",_hoisted_2$8,[vue.createElementVNode("div",_hoisted_3$7,[vue.createVNode(w,{theme:"primary",onClick:m},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(icon.Plus),{class:"add-icon"}),g[4]||(g[4]=vue.createTextVNode(" 智能体 ",-1))]),_:1}),vue.createVNode(C,{modelValue:r.value,"onUpdate:modelValue":g[0]||(g[0]=B=>r.value=B),type:"capsule"},{default:vue.withCtx(()=>[vue.createVNode(k,{label:"all"},{default:vue.withCtx(()=>[...g[5]||(g[5]=[vue.createTextVNode("全部",-1)])]),_:1}),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(c.value,B=>(vue.openBlock(),vue.createBlock(k,{key:B.id,label:B.id},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(B.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),vue.createVNode(_sfc_main$b,{modelValue:l.value,options:a,placeholder:"搜索智能体名称、创建人",onChange:p},null,8,["modelValue"])]),vue.createElementVNode("div",_hoisted_4$7,[vue.createElementVNode("div",_hoisted_5$4,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(v.value,B=>(vue.openBlock(),vue.createElementBlock("div",{class:"card-item",key:B.id},[vue.createElementVNode("div",_hoisted_6$3,[vue.createElementVNode("img",{src:B.display_content.icon,alt:"",class:"agent-img"},null,8,_hoisted_7$2),vue.createElementVNode("div",_hoisted_8$2,[vue.createElementVNode("div",_hoisted_9$2,[vue.createElementVNode("div",_hoisted_10$2,vue.toDisplayString(B.alias),1)]),vue.createElementVNode("div",_hoisted_11$2,[vue.createElementVNode("span",{title:B.display_content.agent_code},"ID:"+vue.toDisplayString(B.display_content.agent_code),9,_hoisted_12),vue.createElementVNode("span",{title:B.display_content.created_by},"创建人:"+vue.toDisplayString(B.display_content.created_by),9,_hoisted_13),vue.createElementVNode("span",{title:f(B.display_content.created_at)}," 创建时间:"+vue.toDisplayString(f(B.display_content.created_at)),9,_hoisted_14)])])]),vue.createElementVNode("p",_hoisted_15,vue.toDisplayString(B.display_content.description||"--"),1),vue.createElementVNode("div",_hoisted_16,[vue.createVNode(w,{theme:"primary",size:"small",onClick:D=>i("select",B.id)},{default:vue.withCtx(()=>[...g[6]||(g[6]=[vue.createTextVNode("选择",-1)])]),_:1},8,["onClick"]),vue.createVNode(w,{size:"small",onClick:D=>h(B)},{default:vue.withCtx(()=>[...g[7]||(g[7]=[vue.createTextVNode("体验",-1)])]),_:1},8,["onClick"])])]))),128))]),v.value.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:0,"is-search":l.value.length>0,title:"暂无智能体",onClear:g[1]||(g[1]=B=>l.value=[])},null,8,["is-search"])):vue.createCommentVNode("",!0)])])}}}),AgentPluginGroup=_export_sfc(_sfc_main$a,[["__scopeId","data-v-f0779642"]]),_hoisted_1$9={class:"big-model-card"},_hoisted_2$7={class:"card-header"},_hoisted_3$6={class:"model-info"},_hoisted_4$6={class:"model-name"},_hoisted_5$3=["title"],_hoisted_6$2={class:"version"},_hoisted_7$1={key:0,class:"new-tag"},_hoisted_8$1={class:"other-info"},_hoisted_9$1={class:"other-info"},_hoisted_10$1={class:"model-desc"},_hoisted_11$1={class:"tag-list"},_sfc_main$9=vue.defineComponent({__name:"big-model-card",props:{card:{}},setup(e){const t=e;return(n,o)=>{const a=vue.resolveComponent("bk-tag");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$9,[vue.createElementVNode("div",_hoisted_2$7,[o[0]||(o[0]=vue.createElementVNode("img",{src:"",alt:"",class:"model-img"},null,-1)),vue.createElementVNode("div",_hoisted_3$6,[vue.createElementVNode("div",_hoisted_4$6,[vue.createElementVNode("div",{class:"name-text",title:t.card.name},vue.toDisplayString(t.card.name),9,_hoisted_5$3),vue.createElementVNode("div",_hoisted_6$2,"线上版本:"+vue.toDisplayString(t.card.version),1),t.card.isNew?(vue.openBlock(),vue.createElementBlock("span",_hoisted_7$1,"new")):vue.createCommentVNode("",!0)]),vue.createElementVNode("p",_hoisted_8$1,[vue.createElementVNode("span",null,"基座模型: "+vue.toDisplayString(t.card.baseModel),1),vue.createElementVNode("span",null,"激活参数: "+vue.toDisplayString(t.card.size),1),vue.createElementVNode("span",null,"任务阶段: "+vue.toDisplayString(t.card.taskStage),1)]),vue.createElementVNode("p",_hoisted_9$1,[vue.createElementVNode("span",null,"更新人: "+vue.toDisplayString(t.card.updateBy),1),vue.createElementVNode("span",null,"更新时间: "+vue.toDisplayString(t.card.updateTime),1)])])]),vue.createElementVNode("p",_hoisted_10$1,vue.toDisplayString(t.card.desc),1),vue.createElementVNode("div",_hoisted_11$1,[vue.createVNode(a,null,{default:vue.withCtx(()=>[...o[1]||(o[1]=[vue.createTextVNode("tag1",-1)])]),_:1}),vue.createVNode(a,null,{default:vue.withCtx(()=>[...o[2]||(o[2]=[vue.createTextVNode("tag2",-1)])]),_:1})])])}}}),BigModelCard=_export_sfc(_sfc_main$9,[["__scopeId","data-v-8a0aed6d"]]),_hoisted_1$8={class:"small-model-card"},_hoisted_2$6={class:"model-name"},_hoisted_3$5={class:"name-text"},_hoisted_4$5={class:"en-name"},_hoisted_5$2={class:"extend-info"},_hoisted_6$1={class:"model-desc"},_sfc_main$8=vue.defineComponent({__name:"small-model-card",props:{card:{}},setup(e){const t=e;return(n,o)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$8,[vue.createElementVNode("div",_hoisted_2$6,[vue.createElementVNode("span",_hoisted_3$5,vue.toDisplayString(t.card.name),1),vue.createElementVNode("span",_hoisted_4$5,"("+vue.toDisplayString(t.card.enName)+")",1)]),vue.createElementVNode("p",_hoisted_5$2,[vue.createElementVNode("span",null,"依赖历史数据长度 : "+vue.toDisplayString(t.card.dataLength)+" 天",1),vue.createElementVNode("span",null,"数据频率:"+vue.toDisplayString(t.card.frequency)+" 秒",1),vue.createElementVNode("span",null,"发布人:"+vue.toDisplayString(t.card.publisher),1)]),vue.createElementVNode("p",_hoisted_6$1,vue.toDisplayString(t.card.desc),1)]))}}),SmallModelCard=_export_sfc(_sfc_main$8,[["__scopeId","data-v-98fa588c"]]),_hoisted_1$7={class:"model-plugin-group"},_hoisted_2$5={class:"top-operate-area"},_hoisted_3$4={class:"search-area"},_hoisted_4$4={class:"mode-content-area"},_hoisted_5$1={class:"card-list"},_sfc_main$7=vue.defineComponent({__name:"index",setup(e){const t=[{id:1,name:"DeepSeek",version:"V1.0.1",isNew:!1,baseModel:"DeepSeek-R1",size:"51B",taskStage:"SFT",desc:"指由许多松散连接的小部分构成的程序。馄饨式代码可以和面条式代码作类比,后者用面条来代表程序的结构,而前者用馄饨(Ravioli)来代表程序中的对象。这种代码虽然,(Ravioli)来代表程序中这种代码虽然.这种代码虽然.这种代码虽然,这种代码虽然.这种代码虽然.这种代码虽然,这种代码虽然.这种代码虽然表程序中的对象。",updateBy:"harokoyang",updateTime:"2025-05-05 10:41:00"},{id:2,name:"DeepSeekDeepSeekDeepSeekDeepSeekDeepSeekDeepSeekDeepSeek",version:"V1.0.1",isNew:!0,baseModel:"DeepSeek-R1",size:"51B",taskStage:"SFT",desc:"指由许多松散连接的小部分构成的程序。馄饨式代码可以和面条式代码作类比,后者用面条来代表程序的结构,而前者用馄饨(Ravioli)来代表程序中的对象。这种代码虽然,(Ravioli)来代表程序中这种代码虽然.这种代码虽然.这种代码虽然,这种代码虽然.这种代码虽然.这种代码虽然,这种代码虽然.这种代码虽然表程序中的对象。",updateBy:"harokoyang",updateTime:"2025-05-05 10:41:00"},{id:3,name:"DeepSeek",version:"V1.0.1",isNew:!1,baseModel:"DeepSeek-R1",size:"51B",taskStage:"SFT",desc:"指由许多松散连接的小部分构成的程序。馄饨式代码可以和面条式代码作类比,后者用面条来代表程序的结构,而前者用馄饨(Ravioli)来代表程序中的对象。这种代码虽然,(Ravioli)来代表程序中这种代码虽然.这种代码虽然.这种代码虽然,这种代码虽然.这种dfafasdfasd",updateBy:"harokoyang",updateTime:"2025-05-05 10:41:00"}],n=[{id:1,name:"时序异常检测模型",enName:"Time Series Anomaly Detection Model",dataLength:35,frequency:60,publisher:"harokoyang",desc:"指由许多松散连接的小部分构成的程序。馄饨式代码可以和面条式代码作类比,后者用面条来代表程序的结构,而前者用馄饨(Ravioli)来代表程序中的对象。这种代码虽然,(Ravioli)来代表程序中这种代码虽然.这种代码虽然.这种代码虽然,这种代码虽然.这种代码虽然.这种代码虽然.这种代码虽然.这种代码虽然表程序中的对象。"},{id:2,name:"时序异常检测模型",enName:"Time Series Anomaly Detection Model",dataLength:35,frequency:60,publisher:"harokoyang",desc:"指由许多松散连接的小部分构成的程序。馄饨式代码可以和面条式代码作类比,后者用面条来代表程序的结构,而前者用馄饨(Ravioli)来代表程序中的对象。这种代码虽然,(Ravioli)来代表程序中这种代码虽然.这种代码虽然.这种代码虽然,这种代码虽然.这种代码虽然.这种代码虽然.这种代码虽然.这种代码虽然表程序中的对象。"},{id:3,name:"时序异常检测模型",enName:"Time Series Anomaly Detection Model",dataLength:35,frequency:60,publisher:"harokoyang",desc:"指由许多松散连接的小部分构成的程序。馄饨式代码可以和面条式代码作类比,后者用面条来代表程序的结构,而前者用馄饨(Ravioli)来代表程序中的对象。这种代码虽然,(Ravioli)来代表程序中这种代码虽然.这种代码虽然.这种代码虽然,这种代码虽然.这种代码虽然.这种代码虽然.这种代码虽然.这种代码虽然表程序中的对象。"},{id:4,name:"时序异常检测模型",enName:"Time Series Anomaly Detection Model",dataLength:35,frequency:60,publisher:"harokoyang",desc:"指由许多松散连接的小部分构成的程序。馄饨式代码可以和面条式代码作类比,后者用面条来代表程序的结构,而前者用馄饨(Ravioli)来代表程序中的对象。这种代码虽然,(Ravioli)来代表程序中这种代码虽然.这种代码虽然.这种代码虽然,这种代码虽然.这种代码虽然.这种代码虽然.这种代码虽然.这种代码虽然表程序中的对象。"}],o=vue.ref("big"),a=vue.ref(""),s=vue.computed(()=>o.value==="big"?"搜索 模型名称、基座模型、任务阶段、更新人、tag":"搜索 模型名称、发布人、描述");return(i,r)=>{const l=vue.resolveComponent("bk-radio-button"),c=vue.resolveComponent("bk-radio-group"),u=vue.resolveComponent("bk-select"),v=vue.resolveComponent("bk-input");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$7,[vue.createElementVNode("div",_hoisted_2$5,[vue.createVNode(c,{modelValue:o.value,"onUpdate:modelValue":r[0]||(r[0]=_=>o.value=_),type:"capsule"},{default:vue.withCtx(()=>[vue.createVNode(l,{label:"big"},{default:vue.withCtx(()=>[...r[2]||(r[2]=[vue.createTextVNode("大模型",-1)])]),_:1}),vue.createVNode(l,{label:"small"},{default:vue.withCtx(()=>[...r[3]||(r[3]=[vue.createTextVNode("小模型",-1)])]),_:1})]),_:1},8,["modelValue"]),vue.createElementVNode("div",_hoisted_3$4,[o.value==="big"?(vue.openBlock(),vue.createBlock(u,{key:0,class:"order-select"},{prefix:vue.withCtx(()=>[...r[4]||(r[4]=[vue.createElementVNode("span",{class:"order-select-prefix"},"排序",-1)])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(v,{modelValue:a.value,"onUpdate:modelValue":r[1]||(r[1]=_=>a.value=_),class:"search-input",placeholder:s.value,type:"search"},null,8,["modelValue","placeholder"])])]),vue.createElementVNode("div",_hoisted_4$4,[vue.createElementVNode("div",_hoisted_5$1,[o.value==="big"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},vue.renderList(t,_=>vue.createVNode(BigModelCard,{key:_.id,card:_},null,8,["card"])),64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},vue.renderList(n,_=>vue.createVNode(SmallModelCard,{key:_.id,card:_},null,8,["card"])),64))])])])}}}),ModelPluginGroup=_export_sfc(_sfc_main$7,[["__scopeId","data-v-cd4ca0c5"]]),_hoisted_1$6={class:"plugin-group"},_sfc_main$6=vue.defineComponent({__name:"output-plugin-group",setup(e){return(t,n)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$6,[vue.createVNode(EmptyException,{title:"暂无结论输出插件"})]))}}),OutputPluginGroup=_export_sfc(_sfc_main$6,[["__scopeId","data-v-474d5047"]]),pluginDefaultIcon="data:image/png;base64,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",_hoisted_1$5={class:"bkflow-plugin-group"},_hoisted_2$4={class:"plugin-content-wrapper"},_hoisted_3$3={class:"tags-list"},_hoisted_4$3=["onClick"],_hoisted_5={class:"plugins-list"},_hoisted_6={class:"plugin-icon-wrapper"},_hoisted_7=["src"],_hoisted_8={class:"plugin-info-wrapper"},_hoisted_9={class:"plugin-name"},_hoisted_10=["title"],_hoisted_11={class:"managers-text"},_sfc_main$5=vue.defineComponent({__name:"bkflow-plugin-group",props:{bkflowPluginTags:{},activedTag:{}},emits:["selectBkflowPlugin"],setup(e,{emit:t}){const n=useFlowApiConfig(),o=e,a=t,s=vue.ref([]),i=vue.ref(o.activedTag||0),r=vue.ref([]),l=vue.ref(!1),c=[{id:"name",name:"插件名称"}];vue.onMounted(()=>{v()});const u=m=>{i.value=m,v()},v=async()=>{if(l.value=!0,r.value=[],i.value===0){const m=await n.fetchBkFlowInnerPluginList();r.value=m.map(p=>({code:p.code,name:p.name,logo_url:pluginDefaultIcon,desc:p.desc||"--",managers:["BkFlow"],version:p.version}))}else{const m=await n.fetchBkFlowThirdPartyPluginList(i.value);r.value=m.map(p=>({code:p.code,name:p.name,logo_url:p.logo_url,desc:p.introduction||"--",managers:p.managers,version:"1.0.0"}))}l.value=!1},_=m=>{const p=r.value.find(h=>h.code===m);if(p){const{code:h,name:f,version:y}=p;a("selectBkflowPlugin",{code:i.value===0?h:"remote_plugin",name:f,data:i.value===0?{}:{plugin_code:{hook:!1,value:h}},version:y})}};return(m,p)=>{const h=vue.resolveComponent("bk-button"),f=vue.resolveDirective("bk-loading");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$5,[vue.createVNode(_sfc_main$b,{modelValue:s.value,"onUpdate:modelValue":p[0]||(p[0]=y=>s.value=y),options:c,placeholder:"搜索插件名称"},null,8,["modelValue"]),vue.createElementVNode("div",_hoisted_2$4,[vue.createElementVNode("div",_hoisted_3$3,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.bkflowPluginTags,y=>(vue.openBlock(),vue.createElementBlock("div",{key:y.id,class:vue.normalizeClass(["tag-item",{actived:i.value===y.id}]),onClick:g=>u(y.id)},vue.toDisplayString(y.name),11,_hoisted_4$3))),128))]),vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_5,[r.value.length>0?(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:0},vue.renderList(r.value,y=>(vue.openBlock(),vue.createElementBlock("div",{key:y.code,class:"plugin-item"},[vue.createElementVNode("div",_hoisted_6,[vue.createElementVNode("img",{src:y.logo_url||vue.unref(pluginDefaultIcon),alt:"plugin-icon"},null,8,_hoisted_7)]),vue.createElementVNode("div",_hoisted_8,[vue.createElementVNode("h4",_hoisted_9,vue.toDisplayString(y.name),1),vue.createElementVNode("p",{class:"plugin-desc",title:y.desc},vue.toDisplayString(y.desc),9,_hoisted_10),vue.createElementVNode("div",_hoisted_11,vue.toDisplayString(y.managers?y.managers.join(","):"BkFlow")+" 提供",1)]),vue.createVNode(h,{theme:"primary",size:"small",onClick:g=>_(y.code)},{default:vue.withCtx(()=>[...p[1]||(p[1]=[vue.createTextVNode("选择",-1)])]),_:1},8,["onClick"])]))),128)):(vue.openBlock(),vue.createBlock(EmptyException,{key:1,title:"该分类暂无插件"}))])),[[f,{loading:l.value}]])])])}}}),BkFlowPluginGroup=_export_sfc(_sfc_main$5,[["__scopeId","data-v-9ce4f434"]]),_hoisted_1$4={class:"plugin-select-slider"},_hoisted_2$3={key:0,class:"plugin-select-content"},_sfc_main$4=vue.defineComponent({__name:"index",props:{show:{type:Boolean,default:!1},flowId:{},actived:{default:""},bkflowTag:{default:0},pluginGroupList:{default:()=>[]}},emits:["close","update:show","select"],setup(e,{emit:t}){const n={data:DataPluginGroup,agent:AgentPluginGroup,model:ModelPluginGroup,bkflow:BkFlowPluginGroup,output:OutputPluginGroup},o=e,a=useFlowApiConfig(),s=t,i=vue.ref(o.actived),r=vue.shallowRef([]),l=vue.ref(!1),c=vue.computed(()=>n[i.value]||null),u=vue.computed(()=>o.pluginGroupList.find(y=>y.name===i.value)?.properties||{}),v=vue.computed(()=>o.pluginGroupList.find(y=>y.name==="bkflow")?.children||[]);vue.watch(()=>o.show,()=>{o.show&&(i.value=o.actived,i.value!=="bkflow"&&_())});const _=async()=>{if(!a?.fetchCategoryPlugins){console.warn("fetchCategoryPlugins is not provided in api");return}l.value=!0;try{const y=await a.fetchCategoryPlugins(i.value),g=o.pluginGroupList.find(w=>w.name===i.value);g&&y.forEach(w=>{w.category_id=g.id}),r.value=y}catch(y){console.error(y)}finally{l.value=!1}},m=y=>{i.value=y,y!=="bkflow"&&_()},p=y=>{const g=r.value.find(w=>w.id===y);s("select","projectPlugin",g)},h=y=>{s("select","bkflowPlugin",y)},f=()=>{s("close"),s("update:show",!1)};return(y,g)=>{const w=vue.resolveComponent("bk-sideslider"),d=vue.resolveDirective("bk-loading");return vue.openBlock(),vue.createBlock(w,{title:"节点选择","is-show":o.show,width:1200,"esc-close":!1,"before-close":f},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$4,[vue.createVNode(PluginGroupsAside,{actived:i.value,"onUpdate:actived":g[0]||(g[0]=k=>i.value=k),groups:o.pluginGroupList,onChange:m},null,8,["actived","groups"]),o.show?vue.withDirectives((vue.openBlock(),vue.createElementBlock("section",_hoisted_2$3,[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(c.value),{plugins:r.value,"bkflow-plugin-tags":v.value,"actived-tag":o.bkflowTag,properties:u.value,onSelect:p,onSelectBkflowPlugin:h},null,40,["plugins","bkflow-plugin-tags","actived-tag","properties"]))])),[[d,{loading:l.value}]]):vue.createCommentVNode("",!0)])]),_:1},8,["is-show"])}}}),PluginSelectPanel=_export_sfc(_sfc_main$4,[["__scopeId","data-v-043824f1"]]),_hoisted_1$3={class:"flow-canvas-container"},_sfc_main$3=vue.defineComponent({__name:"index",props:{mode:{},flowId:{},pipelineTree:{},spaceFlowConfig:{},systemVariables:{default:()=>[]},pluginGroupList:{default:()=>[]},thumbnail:{type:Boolean,default:!1}},emits:["change"],setup(e,{expose:t,emit:n}){const o=e,a=n,s=vue.ref(),i=vue.ref(),r=vue.ref({show:!1,nodeId:"",edgeId:"",condition:null,hasDefaultBranch:!1,isDefault:!1}),l=vue.ref({show:!1,node:null}),c=vue.ref({show:!1,actived:o.pluginGroupList[0]?.name||"",bkflowTag:0,node:null}),u=b=>{if(o.thumbnail)return;const x=o.pipelineTree.activities[b.id];x&&(l.value={show:!0,node:x})},v=b=>{if(o.thumbnail)return;const x=o.pipelineTree.flows[b.id];if(x){const N=o.pipelineTree.gateways[x.source];if(N){const P=!!N.default_condition&&typeof N.default_condition.flow_id=="string";r.value.hasDefaultBranch=P,r.value.nodeId=x.source,r.value.edgeId=b.id;const{default_condition:L,conditions:j}=N;L&&L.flow_id===b.id?(r.value.condition=L,r.value.isDefault=!0):j&&j[b.id]&&(r.value.condition=j[b.id],r.value.isDefault=!1),r.value.show=!0}}},_=(b,x)=>{const P={x:o.pipelineTree.location.find(j=>j.id===b).x+200,y:w(b,x)},L=`node${uuid()}`;k(b,{id:L,type:x,position:P,data:{id:L}})},m=(b,x,N)=>{const L=o.pluginGroupList.find(W=>W.name===N).children.find(W=>W.id===x);if(!L)return;const{id:j,name:K,alias:ee,meta_url:J,api_key:A="incident",category_id:z}=L,G={x:o.pipelineTree.location.find(W=>W.id===b).x+200,y:w(b,"tasknode")},H=`node${uuid()}`;k(b,{id:H,type:"tasknode",position:G,data:{id:H,name:"",component:{code:"",data:{},version:""}}}),setTimeout(()=>{y(H);const W=o.pipelineTree.activities[H];if(W){const q={...W,name:ee||K,component:{code:"uniform_api",data:{},version:"v2.0.0",api_meta:{id:j,name:K,alias:ee||K,meta_url:J,api_key:A,category:{id:z,name:N}}}};l.value={show:!0,node:q}}},100)},p=(b,x,N=0)=>{const L={x:o.pipelineTree.location.find(K=>K.id===b).x+200,y:w(b,"tasknode")},j=`node${uuid()}`;k(b,{id:j,type:"tasknode",position:L,data:{id:j,name:"",component:{code:"",data:{},version:""}}}),setTimeout(()=>{y(j);const K=o.pipelineTree.activities[j];K&&(c.value={show:!0,actived:x,bkflowTag:N,node:K})},100)},h=b=>{const{id:x,type:N,position:P,data:L}=g(b);d(x,N,P,L)},f=b=>{const{id:x,type:N,position:P,data:L}=g(b);P.y=w(b,N),k(b,{id:x,type:N,position:P,data:L}),setTimeout(()=>{y(x)},100)},y=b=>{const x=s.value.graph.getCellById(b),{x:N,y:P}=x.position(),L=x.getBBox().width,j=o.pipelineTree.activities[b];if(j&&j.outgoing){const K=o.pipelineTree.flows[j.outgoing].target,ee=s.value.graph.getCellById(K),{x:J,y:A}=ee.position(),z=J-N;if(z<L+50&&Math.abs(A-P)<40){const F=J+L-z+50;ee.position(F,A);const G=[...o.pipelineTree.location],H=G.findIndex(W=>W.id===K);H>-1&&(G[H]={...G[H],x:F},E({...o.pipelineTree,location:G}))}}},g=b=>{const x=`node${uuid()}`,N=o.pipelineTree.location.find(K=>K.id===b),P={x:N.x+200,y:N.y};let L,j={};if(o.pipelineTree.activities[b])j={...o.pipelineTree.activities[b],id:x,incoming:[],outgoing:""},L="tasknode";else{const K=o.pipelineTree.gateways[b];L=K.type==="ExclusiveGateway"?"branchgateway":K.type.toLowerCase(),j={incoming:[],outgoing:Array.isArray(K.outgoing)?[]:""}}return{id:x,type:L,position:P,data:j}},w=(b,x)=>{const N=o.pipelineTree.location.find(j=>j.id===b),P=N.type,L=N.y;if(P.includes("gateway")){const j=o.pipelineTree.gateways[b];return Array.isArray(j.outgoing)&&j.outgoing.length>0?j.outgoing.reduce((ee,J)=>{const A=o.pipelineTree.flows[J].target,z=o.pipelineTree.location.find(F=>F.id===A);return Math.max(ee,z.y)},0)+100:x.includes("gateway")?L:L-10}return x.includes("gateway")?L+10:L},d=(b,x,N,P={})=>{const L=x.includes("gateway"),j=s.value.graph.addNode({id:b,...N,shape:"custom-node",width:L?34:154,height:L?34:54,data:{type:x}});return j.setZIndex(o.pipelineTree.location.length),L?s.value.createGateway(b,x,N,P):s.value.createActivity(b,N,P),j},k=(b,x)=>{const N=d(x.id,x.type,x.position,x.data);setTimeout(()=>{C(b,N.id)},10)},C=(b,x)=>{const{activities:N,gateways:P,start_event:L,end_event:j,location:K}=o.pipelineTree,ee=K.find(F=>F.id===b),J=K.find(F=>F.id===x);if(!ee||!J)return;let A="";N[b]?A=N[b].outgoing:P[b]?A=P[b].outgoing:L.id===b&&(A=L.outgoing);const z=B(A,b,x);s.value.insertEdgesToCanvas(z)},B=(b,x,N)=>{const P=[];if(Array.isArray(b)){let L="Right";o.pipelineTree.gateways[x]&&b.length>0&&(L="Bottom"),P.push({id:`line${uuid()}`,source:{arrow:L,id:x},target:{arrow:"Left",id:N}})}else if(b==="")P.push({id:`line${uuid()}`,source:{arrow:"Right",id:x},target:{arrow:"Left",id:N}});else{const L=o.pipelineTree.flows[b];L&&(s.value.deleteEdges([b]),P.push({id:`line${uuid()}`,source:{arrow:"Right",id:x},target:{arrow:"Left",id:N}},{id:`line${uuid()}`,source:{arrow:"Right",id:N},target:{arrow:"Left",id:L.target}}))}return P},D=b=>{const x=[];if(o.pipelineTree.activities[b]){const N=o.pipelineTree.activities[b];x.push(...N.incoming),N.outgoing&&x.push(N.outgoing)}else if(o.pipelineTree.gateways[b]){const N=o.pipelineTree.gateways[b];x.push(...N.incoming),Array.isArray(N.outgoing)?x.push(...N.outgoing):N.outgoing&&x.push(N.outgoing)}s.value.deleteEdges(x)},R=b=>{s.value.deleteNode(b)},V=b=>{s.value.deleteEdges([b.id])},O=(b,x)=>{const N={...o.pipelineTree.gateways};if(N[r.value.nodeId]){const P=lodash.cloneDeep(N[r.value.nodeId]),L=P.conditions||{},{name:j,tag:K,evaluate:ee="",loc:J}=b,A={name:j,tag:K,evaluate:ee.trim()};J&&(A.loc=J),x?(delete A.evaluate,A.flow_id=r.value.edgeId,P.default_condition=A):L[r.value.edgeId]=A,!r.value.isDefault&&x?L[r.value.edgeId]&&delete L[r.value.edgeId]:r.value.isDefault&&!x&&P.default_condition&&delete P.default_condition,P.conditions=L,N[r.value.nodeId]=P}E({...o.pipelineTree,gateways:N}),setTimeout(()=>{s.value.updateEdgeLabel(r.value.edgeId)},10)},Z=()=>{if(!l.value.node)return;const b=lodash.cloneDeep(l.value.node);let x="";b.component.api_meta?.category.name?x=b.component.api_meta?.category.name:x=o.pluginGroupList[0]?.name||"",c.value={show:!0,actived:x,bkflowTag:0,node:b},l.value={show:!1,node:null}},I=(b,x)=>{if(!c.value.node)return;const N=lodash.cloneDeep(c.value.node);if(b==="projectPlugin"){const{id:P,name:L,alias:j,meta_url:K,api_key:ee="incident",category:J,category_id:A}=x;N.component={code:"uniform_api",data:{},version:"v2.0.0",api_meta:{id:P,name:L,alias:j||L,meta_url:K,api_key:ee,category:{id:A,name:J}}},N.name=j}else{const{code:P,data:L,version:j,name:K}=x;N.component={code:P,data:L,version:j},N.name=K}l.value={show:!0,node:N},c.value.show=!1},$=(b,x)=>{const N={...o.pipelineTree.activities},P=[...o.pipelineTree.location],L=P.findIndex(j=>j.id===b.id);if(N[b.id]=b,L>-1){const j=P[L];j.name=b.name,P[L]=j}l.value={show:!1,node:null},E({...o.pipelineTree,activities:N,location:P,constants:x}),setTimeout(()=>{s.value.updateNodeData(b.id,b)},10)},E=b=>{a("change",b)};return t({updateNodeInputParams:b=>{i.value&&l.value.show&&i.value.updateNodeInputParams?.(b)}}),(b,x)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$3,[vue.createVNode(vue.unref(BkFlowCanvas),{ref_key:"bkflowCanvasRef",ref:s,editable:o.mode==="edit","pipeline-tree":o.pipelineTree,"hide-tool":o.thumbnail,onNodeClick:u,onEdgeLabelClick:v,onUpdatePipelineTree:E,onDeleteEdge:V},{customNode:vue.withCtx(()=>[vue.createVNode(CustomNode,{editable:o.mode==="edit","plugin-group-list":o.pluginGroupList,onAddNode:_,onAddPlugin:m,onAddNodeAndSelectPlugin:p,onDeleteBtnClick:R,onCopyNodeClick:h,onCopyNodeAndInsertClick:f,onDetachEdgesClick:D},null,8,["editable","plugin-group-list"])]),_:1},8,["editable","pipeline-tree","hide-tool"]),!o.thumbnail&&r.value.condition?(vue.openBlock(),vue.createBlock(BranchConditionPanel,{key:0,show:r.value.show,"onUpdate:show":x[0]||(x[0]=N=>r.value.show=N),condition:r.value.condition,"has-default-branch":r.value.hasDefaultBranch,"is-default":r.value.isDefault,editable:o.mode==="edit",onConfirm:O},null,8,["show","condition","has-default-branch","is-default","editable"])):vue.createCommentVNode("",!0),!o.thumbnail&&l.value.node?(vue.openBlock(),vue.createBlock(NodeConfigPanel,{key:1,ref_key:"nodeConfigPanelRef",ref:i,show:l.value.show,"onUpdate:show":x[1]||(x[1]=N=>l.value.show=N),node:l.value.node,editable:o.mode==="edit","system-variables":o.systemVariables,constants:o.pipelineTree.constants,onSelectPlugin:Z,onConfirm:$},{inputParams:vue.withCtx(N=>[vue.renderSlot(b.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps(N)),void 0,!0)]),_:3},8,["show","node","editable","system-variables","constants"])):vue.createCommentVNode("",!0),o.thumbnail?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(PluginSelectPanel,{key:2,show:c.value.show,"onUpdate:show":x[2]||(x[2]=N=>c.value.show=N),"flow-id":o.flowId,actived:c.value.actived,"bkflow-tag":c.value.bkflowTag,"plugin-group-list":o.pluginGroupList,onSelect:I},null,8,["show","flow-id","actived","bkflow-tag","plugin-group-list"]))]))}}),FlowCanvas=_export_sfc(_sfc_main$3,[["__scopeId","data-v-a71d82f3"]]),setContext=(e={})=>{window.$={context:{project:void 0,site_url:"",exec_env:"NODE_CONFIG",input_form:{inputs:void 0},output_form:{outputs:void 0,state:void 0},bk_plugin_api_host:{},get(t){return window.$context[t]},canSelectBiz(){return!1},getConstants(){return e},getOutput(t){const{outputs:n}=window.$context.output_form;if(n&&Array.isArray(n)){const o=window.$context.output_form.outputs.find(a=>a.key===t);return o?o.value:null}return null},getInput(t){return window.$context.input_form.inputs&&window.$context.input_form.inputs[t]?window.$context.input_form.inputs[t]:null},getNodeStatus(){const{state:t}=window.$context.output_form;return t||null}}}},_hoisted_1$2={class:"execute-flow-slider"},_hoisted_2$2={class:"flow-name-wrapper"},_hoisted_3$2={class:"form-params-wrapper"},_hoisted_4$2={key:0,class:"sideslider-footer-buttons"},_sfc_main$2=vue.defineComponent({__name:"execute",props:{flowId:{},show:{type:Boolean},editable:{type:Boolean,default:!0},showFlowEntry:{type:Boolean,default:!1},apiConfig:{},onExecuteSuccess:{}},emits:["confirm","close","update:show"],setup(e,{emit:t}){const n=e,o=t,a=provideFlowApiConfig(n.apiConfig);setContext();const s={name:[{required:!0,message:"请输入任务名称",trigger:"blur"}]},i=vue.shallowRef(null),r=vue.shallowRef(!0),l=vue.ref({}),c=vue.shallowRef([]),u=vue.ref(),v=vue.ref({name:""}),_=vue.shallowRef(!1);vue.watch(()=>n.show,g=>{g&&m()});const m=async()=>{r.value=!0;const g=await a.fetchFlowDetail(n.flowId);i.value=g,v.value.name=`${g.name}_${dayjs().format("YYYYMMDDHHmmss")}`;const w=[],d={};Object.values(g.pipeline_tree.constants).forEach(k=>{if(typeof k!="object"||k===null)return;const C=k;C.source_type!=="system"&&C.show_type==="show"&&w.push(C),"value"in C&&(d[C.key]=C.value)}),c.value=w,l.value=d,r.value=!1},p=()=>{n.onExecuteSuccess},h=g=>{Object.keys(g).forEach(w=>{w in l.value&&(l.value[w]=g[w])})},f=async()=>{if(!a.createFlowTask||!a.executeFlowTask){console.warn("createFlowTask or executeFlowTask is not provided in api");return}if(await u.value?.validate())try{_.value=!0;const w=await a.createFlowTask({template_id:n.flowId,creator:"admin",name:v.value.name,description:"create by bkincident",constants:l.value});w.data.id&&(await a.executeFlowTask({action:"start",task_id:w.data.id,resource_type:"TASK",resource_id:w.data.id,permission_type:"OPERATE"}),BkMessage({theme:"success",message:"执行成功"}),o("confirm"),y(),n.onExecuteSuccess&&n.onExecuteSuccess(w.data.id,w.data.template_id))}catch(w){console.error(w)}finally{_.value=!1}},y=()=>{c.value=[],l.value={},o("close"),o("update:show",!1)};return(g,w)=>{const d=vue.resolveComponent("bk-input"),k=vue.resolveComponent("bk-form-item"),C=vue.resolveComponent("bk-form"),B=vue.resolveComponent("bk-button"),D=vue.resolveComponent("bk-sideslider"),R=vue.resolveDirective("bk-tooltips"),V=vue.resolveDirective("bkloading");return vue.openBlock(),vue.createBlock(D,{title:"执行流程","is-show":n.show,width:700,"quick-close":!1,"esc-close":!1,"before-close":y},{footer:vue.withCtx(()=>[r.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$2,[vue.createVNode(B,{theme:"primary",loading:_.value,onClick:f},{default:vue.withCtx(()=>[...w[1]||(w[1]=[vue.createTextVNode("确定",-1)])]),_:1},8,["loading"]),vue.createVNode(B,{onClick:y},{default:vue.withCtx(()=>[...w[2]||(w[2]=[vue.createTextVNode("取消",-1)])]),_:1})]))]),default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_1$2,[vue.createVNode(C,{ref_key:"formRef",ref:u,model:v.value,rules:s,"label-width":100},{default:vue.withCtx(()=>[e.showFlowEntry?(vue.openBlock(),vue.createBlock(k,{key:0,label:"排障流程",required:""},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$2,[vue.createVNode(d,{readonly:"","model-value":i.value?.name},null,8,["model-value"]),vue.withDirectives(vue.createVNode(vue.unref(icon.Share),{class:"link-icon",onClick:p},null,512),[[R,"查看排障流程",void 0,{top:!0}]])])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(k,{label:"新建任务名",property:"name",required:""},{default:vue.withCtx(()=>[vue.createVNode(d,{modelValue:v.value.name,"onUpdate:modelValue":w[0]||(w[0]=O=>v.value.name=O),placeholder:"请输入任务名称","show-word-limit":"",maxlength:100},null,8,["modelValue"])]),_:1}),vue.createVNode(k,{label:"请求参数",property:"inputParams",description:"流程的入参"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3$2,[vue.createVNode(BKflowPluginFormRenderForm,{variables:c.value,editable:!0,onChange:h},null,8,["variables"]),c.value.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:0,title:"暂无参数"})):vue.createCommentVNode("",!0)])]),_:1})]),_:1},8,["model"])])),[[V,{loading:r.value}]])]),_:1},8,["is-show"])}}}),FlowExecute=_export_sfc(_sfc_main$2,[["__scopeId","data-v-d88b3a91"]]),execute=Object.freeze(Object.defineProperty({__proto__:null,default:FlowExecute},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1={key:0,class:"operate-area"},_hoisted_2$1={class:"operate-btns"},_hoisted_3$1={class:"flow-view-page-content"},_hoisted_4$1={key:1,class:"flow-view-thumbnail"},_sfc_main$1=vue.defineComponent({__name:"view",props:{flowId:{},apiConfig:{},permissions:{default:()=>({canEdit:!0})},onEdit:{},onBack:{},thumbnail:{type:Boolean,default:!1}},emits:["edit","back"],setup(e,{emit:t}){const n=vue.useSlots(),o=e,a=provideFlowApiConfig(o.apiConfig),s=t;setContext();const i=vue.shallowRef(!1),r=vue.shallowRef(null),l=vue.shallowRef(!0),c=vue.shallowRef({}),u=vue.shallowRef(!0),v=vue.shallowRef([]),_=vue.shallowRef(!1);vue.onMounted(()=>{m(),p(),h()});const m=async()=>{l.value=!0;try{const w=await a.fetchFlowDetail(String(o.flowId));r.value=w}catch(w){console.error(w)}finally{l.value=!1}},p=async()=>{u.value=!0;try{const w=await a.fetchSpaceFlowConfig(String(o.flowId));c.value=w}catch(w){console.error(w)}finally{u.value=!1}},h=async()=>{_.value=!0;try{const w=await a.fetchSystemVariables(String(o.flowId));v.value=w}catch(w){console.error(w)}finally{_.value=!1}},f=()=>{typeof o.onBack=="function"?o.onBack():s("back")},y=()=>{typeof o.onEdit=="function"?o.onEdit():s("edit")},g=(w,d)=>{};return(w,d)=>{const k=vue.resolveComponent("bk-button"),C=vue.resolveDirective("bk-tooltips"),B=vue.resolveDirective("bkloading");return o.thumbnail?vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_4$1,[r.value?(vue.openBlock(),vue.createBlock(FlowCanvas,{key:0,mode:"view","flow-id":e.flowId,"pipeline-tree":r.value.pipeline_tree,"space-flow-config":c.value,"system-variables":v.value,thumbnail:!0},{inputParams:vue.withCtx(D=>[vue.renderSlot(w.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps(D)),void 0,!0)]),_:3},8,["flow-id","pipeline-tree","space-flow-config","system-variables"])):vue.createCommentVNode("",!0)])),[[B,{loading:l.value||u.value}]]):(vue.openBlock(),vue.createBlock(ContainerLayout,{key:0,title:"查看流程",desc:r.value?.name,"show-back-icon":!0,onBack:f},vue.createSlots({extend:vue.withCtx(()=>[r.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1,[vue.createVNode(FlowInfoSliders,{editable:!1,"flow-data":r.value,"system-variables":v.value,"fetch-user-api":vue.unref(a).fetchUserApi},null,8,["flow-data","system-variables","fetch-user-api"]),vue.createElementVNode("div",_hoisted_2$1,[vue.createVNode(k,{theme:"primary",class:vue.normalizeClass([e.permissions.canEdit?"":"is-disabled"]),onClick:y},{default:vue.withCtx(()=>[...d[2]||(d[2]=[vue.createTextVNode(" 编辑 ",-1)])]),_:1},8,["class"]),vue.createVNode(k,{theme:"primary",outline:"",onClick:d[0]||(d[0]=D=>i.value=!0)},{default:vue.withCtx(()=>[...d[3]||(d[3]=[vue.createTextVNode("执行流程",-1)])]),_:1}),vue.withDirectives((vue.openBlock(),vue.createBlock(k,{disabled:!0},{default:vue.withCtx(()=>[...d[4]||(d[4]=[vue.createTextVNode("调试",-1)])]),_:1})),[[C,"功能开发中"]])])])):vue.createCommentVNode("",!0)]),default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_3$1,[r.value?(vue.openBlock(),vue.createBlock(FlowCanvas,{key:0,mode:"view","flow-id":e.flowId,"pipeline-tree":r.value.pipeline_tree,"space-flow-config":c.value,"system-variables":v.value,thumbnail:o.thumbnail},{inputParams:vue.withCtx(D=>[vue.renderSlot(w.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps(D)),void 0,!0)]),_:3},8,["flow-id","pipeline-tree","space-flow-config","system-variables","thumbnail"])):vue.createCommentVNode("",!0)])),[[B,{loading:l.value||u.value}]]),r.value?(vue.openBlock(),vue.createBlock(FlowExecute,{key:0,"flow-id":e.flowId,show:i.value,"api-config":o.apiConfig,onClose:d[1]||(d[1]=D=>i.value=!1),onConfirm:g},null,8,["flow-id","show","api-config"])):vue.createCommentVNode("",!0)]),_:2},[vue.unref(n).header?{name:"header",fn:vue.withCtx(()=>[vue.renderSlot(w.$slots,"header",{},void 0,!0)]),key:"0"}:void 0]),1032,["desc"]))}}}),view=_export_sfc(_sfc_main$1,[["__scopeId","data-v-09d2822a"]]),view$1=Object.freeze(Object.defineProperty({__proto__:null,default:view},Symbol.toStringTag,{value:"Module"})),_hoisted_1={key:0,class:"operate-area"},_hoisted_2={class:"flow-actions"},_hoisted_3={class:"operate-btns"},_hoisted_4={class:"flow-edit-page-content"},_sfc_main=vue.defineComponent({__name:"edit",props:{flowId:{},apiConfig:{},permissions:{default:()=>({canSave:!0})},onSave:{},onSaveSuccess:{},onBack:{},onBeforeLeave:{}},emits:["save","saveSuccess","back"],setup(e,{expose:t,emit:n}){const o=e,a=provideFlowApiConfig(o.apiConfig),s=n;setContext();const i=vue.shallowRef(null),r=vue.shallowRef(!0),l=vue.ref(),c=vue.ref(),u=vue.shallowRef(!0),v=vue.shallowRef({}),_=vue.shallowRef(!1),m=vue.shallowRef([]),p=vue.shallowRef(!1),h=vue.shallowRef([]),f=vue.shallowRef(!1),y=vue.shallowRef(!1),g=vue.computed(()=>String(o.flowId)),w=vue.computed(()=>r.value||p.value||u.value);vue.onMounted(()=>{d(),k(),C(),B()});const d=async()=>{r.value=!0;try{const E=await a.fetchFlowDetail(g.value);i.value=E}catch(E){console.error(E)}finally{r.value=!1}},k=async()=>{u.value=!0;try{const E=await a.fetchSpaceFlowConfig(g.value);v.value=E}catch(E){console.error(E)}finally{u.value=!1}},C=async()=>{f.value=!0;try{const E=await a.fetchSystemVariables(g.value);h.value=E}catch(E){console.error(E)}finally{f.value=!1}},B=async()=>{p.value=!0;try{const E=await a.fetchAllPluginGroups();m.value=E}catch(E){console.error(E)}finally{p.value=!1}},D=()=>{o.onBack?o.onBack():s("back")},R=()=>{l.value?.openBasicSetting()},V=E=>{i.value=E},O=E=>{i.value={...i.value,pipeline_tree:E},y.value=!0},Z=E=>{c.value&&c.value.updateNodeInputParams?.(E)},I=()=>{if(!o.permissions.canSave)return;const E=validatePipelineTree(i.value?.pipeline_tree);E.valid?$():bkuiVue.Message({theme:"error",message:E.message})},$=async()=>{const{name:E,desc:T,notify_config:b,pipeline_tree:x,triggers:N}=i.value,P={name:E,desc:T,notify_config:b,pipeline_tree:x,triggers:N};try{_.value=!0,await a.saveFlow(g.value,P),y.value=!1,bkuiVue.Message({theme:"success",message:"保存成功"}),o.onSave&&o.onSave(i.value),o.onSaveSuccess&&o.onSaveSuccess(),s("save",i.value),s("saveSuccess")}catch(L){console.error(L)}finally{_.value=!1}};return t({isFlowEdited:vue.computed(()=>y.value),updateNodeInputParams:Z}),(E,T)=>{const b=vue.resolveComponent("bk-button"),x=vue.resolveDirective("bk-tooltips"),N=vue.resolveDirective("bkloading");return vue.openBlock(),vue.createBlock(ContainerLayout,{title:"编辑流程",desc:i.value?.name,"show-back-icon":!0,"show-edit-icon":!0,onBack:D,onEdit:R},{header:vue.withCtx(()=>[vue.renderSlot(E.$slots,"header",{},void 0,!0)]),extend:vue.withCtx(()=>[i.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1,[vue.createElementVNode("div",_hoisted_2,[vue.createVNode(FlowInfoSliders,{ref_key:"flowInfoSlidersRef",ref:l,"flow-data":i.value,"system-variables":h.value,"fetch-user-api":vue.unref(a).fetchUserApi,onChange:V},null,8,["flow-data","system-variables","fetch-user-api"]),vue.createElementVNode("div",_hoisted_3,[vue.createVNode(b,{class:vue.normalizeClass([e.permissions.canSave?"":"is-disabled"]),theme:"primary",loading:_.value,onClick:I},{default:vue.withCtx(()=>[...T[0]||(T[0]=[vue.createTextVNode(" 保存 ",-1)])]),_:1},8,["class","loading"]),vue.withDirectives((vue.openBlock(),vue.createBlock(b,{disabled:!0},{default:vue.withCtx(()=>[...T[1]||(T[1]=[vue.createTextVNode("调试",-1)])]),_:1})),[[x,"功能开发中"]])])])])):vue.createCommentVNode("",!0)]),default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_4,[!w.value&&i.value?(vue.openBlock(),vue.createBlock(FlowCanvas,{key:0,ref_key:"flowCanvasRef",ref:c,mode:"edit","flow-id":g.value,"pipeline-tree":i.value.pipeline_tree,"space-flow-config":v.value,"plugin-group-list":m.value,"system-variables":h.value,onChange:O},{inputParams:vue.withCtx(P=>[vue.renderSlot(E.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps({...P,updateNodeInputParams:Z})),void 0,!0)]),_:3},8,["flow-id","pipeline-tree","space-flow-config","plugin-group-list","system-variables"])):vue.createCommentVNode("",!0)])),[[N,{loading:w.value}]])]),_:3},8,["desc"])}}}),edit=_export_sfc(_sfc_main,[["__scopeId","data-v-47e739e5"]]),edit$1=Object.freeze(Object.defineProperty({__proto__:null,default:edit},Symbol.toStringTag,{value:"Module"})),index={FlowView:()=>Promise.resolve().then(()=>view$1),FlowEdit:()=>Promise.resolve().then(()=>edit$1),FlowExecute:()=>Promise.resolve().then(()=>execute)};exports.FlowEdit=edit;exports.FlowExecute=FlowExecute;exports.FlowView=view;exports.PLUGIN_GROUP_ICON_MAP=PLUGIN_GROUP_ICON_MAP;exports.default=index;exports.getUniformApiPluginFormValue=getUniformApiPluginFormValue$1;exports.getVariableDefaultConfig=getVariableDefaultConfig;exports.parentClsContains=parentClsContains;exports.provideFlowApiConfig=provideFlowApiConfig;exports.useFlowApi=useFlowApi;exports.useFlowApiConfig=useFlowApiConfig;exports.useFlowEditApiConfig=useFlowEditApiConfig;exports.useFlowViewApiConfig=useFlowViewApiConfig;exports.uuid=uuid;exports.validatePipelineTree=validatePipelineTree;
|
|
51
|
+
`)>-1){const h=document.createElement("textarea");h.value=o.modelValue,m(h.value)}i.value.onDidBlurEditorText(()=>{a("blur")}),i.value.addCommand(monaco__namespace.KeyMod.CtrlCmd|monaco__namespace.KeyCode.KeyS,()=>{const h=i.value?.getValue();a("save",h)})},c=()=>{const p=document.createElement("textarea");p.value=i.value.getValue(),document.body.appendChild(p),p.select(),document.execCommand("copy"),document.body.removeChild(p),BkMessage({theme:"success",message:"复制成功"})},u=()=>{r.value=!0,window.addEventListener("keydown",_,{once:!0}),BkMessage({theme:"primary",message:"按 Esc 即可退出全屏模式"})},v=()=>{r.value=!1,window.removeEventListener("keydown",_)},_=p=>{p.code==="Escape"&&(r.value=!1)},m=p=>{a("update:modelValue",p),a("change",p)};return(p,h)=>{const f=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createBlock(vue.Teleport,{disabled:!r.value,to:"body"},[vue.createElementVNode("div",{class:vue.normalizeClass(["bkflow-code-editor",{fullscreen:r.value}])},[vue.createElementVNode("div",_hoisted_1$v,[vue.withDirectives(vue.createVNode(vue.unref(icon.Copy),{class:"copy-icon",onClick:c},null,512),[[f,{content:"复制",placement:"top",distance:20}]]),r.value?vue.withDirectives((vue.openBlock(),vue.createBlock(vue.unref(icon.UnfullScreen),{key:1,class:"fullscreen-icon",onClick:v},null,512)),[[f,{content:"退出全屏",placement:"top",distance:20}]]):vue.withDirectives((vue.openBlock(),vue.createBlock(vue.unref(icon.FilliscreenLine),{key:0,class:"fullscreen-icon",onClick:u},null,512)),[[f,{content:"全屏",placement:"top",distance:20}]])]),vue.createElementVNode("div",{ref_key:"monacoContainerRef",ref:s,class:"editor-instance-container"},null,512)],2)],8,["disabled"])}}}),CodeEditor=_export_sfc(_sfc_main$w,[["__scopeId","data-v-67af4661"]]),_hoisted_1$u={class:"pipeline-tree-code"},_sfc_main$v=vue.defineComponent({__name:"pipeline-tree-code",props:{pipelineTree:{}},setup(e){const t=e,n=vue.computed(()=>JSON.stringify(t.pipelineTree,null,4)),o=vue.ref({readOnly:!0,language:"json"});return(a,s)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$u,[vue.createVNode(CodeEditor,{modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=i=>n.value=i),options:o.value},null,8,["modelValue","options"])]))}}),PipelineTreeCode=_export_sfc(_sfc_main$v,[["__scopeId","data-v-3b34a5ab"]]),_hoisted_1$t={class:"pipeline-tree-code-slider"},_hoisted_2$i={class:"sideslider-footer-buttons"},_sfc_main$u=vue.defineComponent({__name:"index",props:{show:{type:Boolean},pipelineTree:{},editable:{type:Boolean,default:!0}},emits:["close","update:show"],setup(e,{emit:t}){const n=e,o=t,a=()=>{o("close"),o("update:show",!1)};return(s,i)=>{const r=vue.resolveComponent("bk-button"),l=vue.resolveComponent("bk-sideslider");return vue.openBlock(),vue.createBlock(l,{title:"Code","is-show":n.show,width:800,"esc-close":!1,"before-close":a},{footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$i,[vue.createVNode(r,{theme:"primary",onClick:a},{default:vue.withCtx(()=>[...i[0]||(i[0]=[vue.createTextVNode("关闭",-1)])]),_:1})])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$t,[n.show?(vue.openBlock(),vue.createBlock(PipelineTreeCode,{key:0,"pipeline-tree":n.pipelineTree},null,8,["pipeline-tree"])):vue.createCommentVNode("",!0)])]),_:1},8,["is-show"])}}}),CanvasPipelineTree=_export_sfc(_sfc_main$u,[["__scopeId","data-v-8fcc9638"]]),_hoisted_1$s={class:"flow-info-sliders"},_hoisted_2$h={class:"icons"},_sfc_main$t=vue.defineComponent({__name:"index",props:{flowData:{},systemVariables:{default:()=>[]},editable:{type:Boolean,default:!0},fetchUserApi:{default:""}},emits:["change"],setup(e,{expose:t,emit:n}){const o=e;useFlowApiConfig();const a=n,s=vue.ref(!1),i=vue.ref(!1),r=vue.ref({show:!1,settings:{name:"",desc:"",notify_config:{notify_type:{success:[],fail:[]},notify_receivers:{more_receiver:"",receiver_group:[]}}}}),l=vue.ref(!1),c=()=>{const{name:m,desc:p,notify_config:h}=o.flowData,{notify_type:f={success:[],fail:[]},notify_receivers:y={more_receiver:"",receiver_group:[]}}=h;r.value={show:!0,settings:{name:m,desc:p,notify_config:{notify_type:f,notify_receivers:y}}}},u=m=>{r.value.settings=m,a("change",{...o.flowData,...m})},v=m=>{const p={...o.flowData.pipeline_tree,constants:m};a("change",{...o.flowData,pipeline_tree:p})},_=(m,p)=>{const h=[...o.flowData.pipeline_tree.outputs],f=h.indexOf(m);p?f===-1&&h.push(m):f>-1&&h.splice(f,1);const y={...o.flowData.pipeline_tree,outputs:h};a("change",{...o.flowData,pipeline_tree:y})};return t({openBasicSetting:c}),(m,p)=>{const h=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$s,[vue.createElementVNode("span",_hoisted_2$h,[vue.withDirectives(vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-caozuojilu",onClick:p[0]||(p[0]=f=>s.value=!0)},null,512),[[h,"操作记录"]]),vue.withDirectives(vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-quanjubianliang",onClick:p[1]||(p[1]=f=>i.value=!0)},null,512),[[h,"全局变量"]]),vue.withDirectives(vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-jichuxinxi",onClick:c},null,512),[[h,"基础信息"]]),vue.withDirectives(vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-code",onClick:p[2]||(p[2]=f=>l.value=!0)},null,512),[[h,"Code"]])]),vue.createVNode(OperateRecords,{show:s.value,"onUpdate:show":p[3]||(p[3]=f=>s.value=f),"flow-id":o.flowData.id},null,8,["show","flow-id"]),vue.createVNode(GlobalVariables,{show:i.value,"onUpdate:show":p[4]||(p[4]=f=>i.value=f),"flow-data":o.flowData,"system-variables":o.systemVariables,editable:o.editable,onOutputChange:_,onChange:v},null,8,["show","flow-data","system-variables","editable"]),vue.createVNode(BasicSetting,{show:r.value.show,"onUpdate:show":p[5]||(p[5]=f=>r.value.show=f),settings:r.value.settings,editable:o.editable,"fetch-user-api":o.fetchUserApi,onChange:u},null,8,["show","settings","editable","fetch-user-api"]),vue.createVNode(CanvasPipelineTree,{show:l.value,"onUpdate:show":p[6]||(p[6]=f=>l.value=f),"pipeline-tree":o.flowData.pipeline_tree,editable:o.editable},null,8,["show","pipeline-tree","editable"])])}}}),FlowInfoSliders=_export_sfc(_sfc_main$t,[["__scopeId","data-v-2085d8e3"]]),_hoisted_1$r={class:"expression-guidance"},_sfc_main$s=vue.defineComponent({__name:"expression-guidance",props:{parseLang:{default:"boolrule"}},setup(e){const t=e;return(n,o)=>{const a=vue.resolveComponent("bk-link");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$r,[t.parseLang==="MAKO"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[o[0]||(o[0]=vue.createStaticVNode('<p data-v-dd71ced7>makoOperates</p><p data-v-dd71ced7>支持 "and、or、not、True、False" 等 MAKO 关键字语法</p><br data-v-dd71ced7><p data-v-dd71ced7>支持直接引用全局变量</p><p data-v-dd71ced7>使用内置函数、datetime、re、hashlib、random、time、os.path模块处理全局变量</p><br data-v-dd71ced7><p data-v-dd71ced7>示例:</p><p data-v-dd71ced7>假设 key 是值为 "3" 的全局变量</p><p data-v-dd71ced7>字符串比较:<code class="code" data-v-dd71ced7>key == "3"</code></p><p data-v-dd71ced7>数值比较:<code class="code" data-v-dd71ced7>int(key) >= 3</code></p><p data-v-dd71ced7>包含:<code class="code" data-v-dd71ced7>int(key) in (1,2,3)</code></p>',11))],64)):t.parseLang==="FEEL"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[o[1]||(o[1]=vue.createStaticVNode('<p data-v-dd71ced7>feelOperates</p><p data-v-dd71ced7>支持 "and、or、true、false" 等关键字语法</p><p data-v-dd71ced7>支持 FEEL (Friendly Enough Expression Language) 基础语法</p><br data-v-dd71ced7><p data-v-dd71ced7>支持使用全局变量,如<code class="code" data-v-dd71ced7>${key}</code>、<code class="code" data-v-dd71ced7>${int(key)}</code></p><p data-v-dd71ced7>${}中支持使用内置函数、datetime、re、hashlib、random、time、os.path模块处理全局变量</p><br data-v-dd71ced7><p data-v-dd71ced7>示例:</p><p data-v-dd71ced7>字符串比较:<code class="code" data-v-dd71ced7>"${key}" = "my string"</code></p><p data-v-dd71ced7>数值比较:<code class="code" data-v-dd71ced7>${int(key)} >= 3</code></p><p data-v-dd71ced7>包含:<code class="code" data-v-dd71ced7>list contains([1, 2, 3], ${int(key)})</code></p>',11))],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:2},[o[4]||(o[4]=vue.createElementVNode("p",null,"makoOperates",-1)),o[5]||(o[5]=vue.createElementVNode("p",null,'支持 "and、or、True/true、False/false" 等关键字语法',-1)),vue.createElementVNode("p",null,[o[3]||(o[3]=vue.createTextVNode(" 表达式更多细节请参考 ",-1)),vue.createVNode(a,{theme:"primary",href:"https://boolrule.readthedocs.io/en/latest/expressions.html#basic-comparison-operators",target:"_blank"},{default:vue.withCtx(()=>[...o[2]||(o[2]=[vue.createTextVNode(" 'boolrule' ",-1)])]),_:1})]),o[6]||(o[6]=vue.createStaticVNode('<br data-v-dd71ced7><p data-v-dd71ced7>支持使用全局变量,如<code class="code" data-v-dd71ced7>${key}</code>、<code class="code" data-v-dd71ced7>${int(key)}</code></p><p data-v-dd71ced7>支持使用内置函数、datetime、re、hashlib、random、time、os.path模块处理全局变量</p><br data-v-dd71ced7><p data-v-dd71ced7>示例:</p><p data-v-dd71ced7>字符串比较:<code class="code" data-v-dd71ced7>"${key}" == "my string"</code></p><p data-v-dd71ced7>数值比较:<code class="code" data-v-dd71ced7>${int(key)} >= 3</code></p><p data-v-dd71ced7>包含:<code class="code" data-v-dd71ced7>${key} in (1,2,3)</code></p>',8))],64))])}}}),ExpressionGuidance=_export_sfc(_sfc_main$s,[["__scopeId","data-v-dd71ced7"]]),_hoisted_1$q={class:"bkflow-branch-condition"},_hoisted_2$g={class:"expression-value-editor"},_sfc_main$r=vue.defineComponent({__name:"index",props:{condition:{},isDefault:{type:Boolean},hasDefaultBranch:{type:Boolean,default:!0},editable:{type:Boolean,default:!0}},emits:["change"],setup(e,{expose:t,emit:n}){const o=e,a=n,s=vue.ref({...o.condition}),i=vue.shallowRef(o.isDefault),r=vue.ref(),l={name:[{required:!0,message:"请输入分支名称"}],evaluate:[{required:!0,message:"请输入表达式"}]};vue.watch(()=>o.condition,_=>{s.value={..._}}),vue.watch(()=>o.isDefault,_=>{i.value=_});const c=()=>{"evaluate"in s.value||(s.value.evaluate="")},u=()=>{a("change",{...s.value},i.value)};return t({validate:()=>r.value.validate().then(()=>!0).catch(()=>!1)}),(_,m)=>{const p=vue.resolveComponent("bk-input"),h=vue.resolveComponent("bk-form-item"),f=vue.resolveComponent("bk-radio"),y=vue.resolveComponent("bk-radio-group"),g=vue.resolveComponent("bk-form"),w=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$q,[vue.createVNode(g,{ref_key:"formRef",ref:r,"form-type":"vertical",model:s.value,rules:l},{default:vue.withCtx(()=>[vue.createVNode(h,{label:"分支名称",property:"name",required:!0},{default:vue.withCtx(()=>[vue.createVNode(p,{modelValue:s.value.name,"onUpdate:modelValue":m[0]||(m[0]=d=>s.value.name=d),disabled:!o.editable,onChange:u},null,8,["modelValue","disabled"])]),_:1}),vue.createVNode(h,{label:"分支类型",required:!0},{default:vue.withCtx(()=>[vue.createVNode(y,{modelValue:i.value,"onUpdate:modelValue":m[1]||(m[1]=d=>i.value=d),onChange:c},{default:vue.withCtx(()=>[vue.createVNode(f,{label:!1,disabled:!o.editable},{default:vue.withCtx(()=>[...m[3]||(m[3]=[vue.createTextVNode("自定义分支",-1)])]),_:1},8,["disabled"]),vue.createVNode(f,{label:!0,disabled:!o.editable||o.hasDefaultBranch&&!o.isDefault},{default:vue.withCtx(()=>[m[4]||(m[4]=vue.createTextVNode(" 默认分支 ",-1)),vue.withDirectives(vue.createVNode(vue.unref(icon.Info),{class:"radio-tips"},null,512),[[w,{content:"所有分支均不匹配时执行,类似switch-case-default里面的default",width:216,placement:"top"}]])]),_:1},8,["disabled"])]),_:1},8,["modelValue"])]),_:1}),i.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(h,{key:0,label:"表达式",property:"evaluate",required:!0},{default:vue.withCtx(()=>[vue.createVNode(ExpressionGuidance),vue.createElementVNode("div",_hoisted_2$g,[vue.createVNode(CodeEditor,{modelValue:s.value.evaluate,"onUpdate:modelValue":m[2]||(m[2]=d=>s.value.evaluate=d),options:{readOnly:!o.editable},onChange:u},null,8,["modelValue","options"])])]),_:1}))]),_:1},8,["model"])])}}}),BranchCondition=_export_sfc(_sfc_main$r,[["__scopeId","data-v-83ccbcd3"]]),_hoisted_1$p={class:"branch-condition-slider"},_hoisted_2$f={class:"sideslider-footer-buttons"},_sfc_main$q=vue.defineComponent({__name:"index",props:{show:{type:Boolean},condition:{},hasDefaultBranch:{type:Boolean,default:!0},isDefault:{type:Boolean},editable:{type:Boolean,default:!0}},emits:["close","update:show","confirm"],setup(e,{emit:t}){const n=e,o=t,a=vue.shallowRef({...n.condition}),s=vue.shallowRef(n.isDefault),i=vue.shallowRef();vue.watch(()=>n.show,u=>{u&&(a.value={...n.condition},s.value=n.isDefault)});const r=(u,v)=>{a.value=u,s.value=v},l=async()=>{await i.value?.validate()&&(o("confirm",a.value,s.value),c())},c=()=>{o("close"),o("update:show",!1)};return(u,v)=>{const _=vue.resolveComponent("bk-button"),m=vue.resolveComponent("bk-sideslider");return vue.openBlock(),vue.createBlock(m,{title:"分支条件","is-show":n.show,width:800,"esc-close":!1,"before-close":c},{footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$f,[n.editable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(_,{theme:"primary",onClick:l},{default:vue.withCtx(()=>[...v[0]||(v[0]=[vue.createTextVNode("确定",-1)])]),_:1}),vue.createVNode(_,{onClick:c},{default:vue.withCtx(()=>[...v[1]||(v[1]=[vue.createTextVNode("取消",-1)])]),_:1})],64)):(vue.openBlock(),vue.createBlock(_,{key:1,theme:"primary",onClick:c},{default:vue.withCtx(()=>[...v[2]||(v[2]=[vue.createTextVNode("关闭",-1)])]),_:1}))])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$p,[vue.createVNode(BranchCondition,{ref_key:"branchConditionRef",ref:i,condition:a.value,"has-default-branch":n.hasDefaultBranch,"is-default":s.value,editable:n.editable,onChange:r},null,8,["condition","has-default-branch","is-default","editable"])])]),_:1},8,["is-show"])}}}),BranchConditionPanel=_export_sfc(_sfc_main$q,[["__scopeId","data-v-c257ae64"]]),data$1={output:[{name:"Trace ID",key:"trace_id",type:"string",schema:{type:"string",description:"Trace ID",enum:[]}},{name:"执行结果",key:"_result",type:"boolean",schema:{type:"boolean",description:"执行结果的布尔值,True or False",enum:[]}},{name:"循环次数",key:"_loop",type:"int",schema:{type:"int",description:"循环执行次数",enum:[]}},{name:"当前流程循环次数",key:"_inner_loop",type:"int",schema:{type:"int",description:"在当前流程节点循环执行次数,由父流程重新进入时会重置(仅支持新版引擎)",enum:[]}}]},remoteApiCommonConfig={data:data$1},data={output:[{name:"响应内容",key:"data",type:"object",schema:{type:"object",description:"HTTP 请求响应内容,内部结构不固定",enum:[],properties:{}}},{name:"状态码",key:"status_code",type:"int",schema:{type:"int",description:"HTTP 请求响应状态码",enum:[]}},{name:"执行结果",key:"_result",type:"boolean",schema:{type:"boolean",description:"执行结果的布尔值,True or False",enum:[]}},{name:"循环次数",key:"_loop",type:"int",schema:{type:"int",description:"循环执行次数",enum:[]}},{name:"当前流程循环次数",key:"_inner_loop",type:"int",schema:{type:"int",description:"在当前流程节点循环执行次数,由父流程重新进入时会重置(仅支持新版引擎)",enum:[]}}]},uniformApiCommonConfig={data};function jsonpRequest(e,t={},n={},o=""){return new Promise((a,s)=>{let i;const r={},l={atoms:r},c=h=>h,u=window.$,v=window.gettext;window.$=l,window.gettext=c;const _=document.createElement("script"),m=()=>{u!==void 0?window.$=u:delete window.$,v!==void 0?window.gettext=v:delete window.gettext,_.parentNode&&document.body.removeChild(_)};_.onload=()=>{m(),i&&clearTimeout(i);const h=o?r[o]:r;h?a(h):s(new Error(`Failed to extract plugin data from response. Plugin code: ${o}`))},_.onerror=()=>{m(),i&&clearTimeout(i),s(new Error("JSONP request failed"))};const p=[];for(const h in t)Object.prototype.hasOwnProperty.call(t,h)&&p.push(`${encodeURIComponent(h)}=${encodeURIComponent(t[h])}`);_.src=`${e}${p.length>0?"?"+p.join("&"):""}`,n.timeout&&(i=setTimeout(()=>{m(),s(new Error("JSONP request timeout"))},n.timeout)),document.body.appendChild(_)})}const pluginDetailRequest=async(e,t)=>{const{code:n,version:o,api_meta:a,data:s}=t;if(!n||!o)throw new Error("Plugin code and version are required for inner plugin");if(n==="remote_plugin"){const i=s?.plugin_code?.value,r=s?.plugin_version?.value||"";if(!i)throw new Error("Third party plugin code is required");return await getThirdPartyPluginDetail(e,i,r)}return n==="uniform_api"&&a?.id?await getUniformApiPlugin(e,a.id):await getInnerPluginDetail(e,n,o)};async function getInnerPluginDetail(e,t,n){if(!e?.fetchBkFlowInnerPluginDetail)throw new Error("fetchBkFlowInnerPluginDetail API is not available");const o=await e.fetchBkFlowInnerPluginDetail(t,n),{name:a,desc:s,form:i,output:r}=o;if(!i)throw new Error("Plugin form URL is not available");let l=[];try{l=await jsonpRequest(i,{},{timeout:1e4},t)}catch{throw new Error("Failed to fetch plugin form data")}const c=r.map(u=>({description:u.schema?.description,key:u.key,type:u.type||u.schema?.type,name:u.name}));return{code:t,version:n,name:a,desc:s,versions:[n],inputs:l,outputs:c,inputParamsFormType:"renderform"}}async function getThirdPartyPluginDetail(api,pluginCode,pluginVersion){if(!api?.fetchBkFlowThirdPartyPluginMeta||!api?.fetchBkFlowThirdPartyPluginDetail)throw new Error("Third party plugin APIs are not available");const[metaData,appData]=await Promise.all([api.fetchBkFlowThirdPartyPluginMeta(pluginCode),api.fetchBkFlowThirdPartyPluginAppDetail(pluginCode)]),version=pluginVersion||metaData.versions[0],detailData=await api.fetchBkFlowThirdPartyPluginDetail(pluginCode,version),{inputs,outputs,forms,desc}=detailData;let inputForms,inputParamsFormType="jsonschemaform";forms.renderform?("$"in window||(window.$={atoms:{}},window.gettext=e=>e),eval(forms.renderform),inputForms=window.$.atoms[pluginCode],inputParamsFormType="renderform"):inputForms=inputs;const outputForms=[];return remoteApiCommonConfig.data.output.forEach(e=>{outputForms.push({description:e.schema.description,key:e.key,type:e.type,name:e.name})}),outputs.properties&&Object.keys(outputs.properties).forEach(e=>{outputForms.push({description:outputs.properties[e].description,key:e,type:outputs.properties[e].type,name:outputs.properties[e].title})}),{code:pluginCode,version,name:appData.name,desc,versions:metaData.versions,inputs:inputForms,outputs:outputForms,inputParamsFormType}}async function getUniformApiPlugin(e,t){if(!e?.fetchPluginDetail)throw new Error("fetchPluginDetail API is not available");const n=await e.fetchPluginDetail(t),{inputs:o,url:a,methods:s}=n;return{code:"uniform_api",name:n.name,desc:"",version:"",inputs:o,outputs:uniformApiCommonConfig.data.output.map(i=>({description:i.schema.description,key:i.key,type:i.type,name:i.name})),inputParamsFormType:"uniformApiForm",url:a||"",methods:Array.isArray(s)?s:[],category:n.category,uniformApiName:n.name}}const getUniformApiPluginFormValue=e=>"default"in e?e.default:"",getPluginDefaultData=(e,t)=>{const{url:n,methods:o,inputs:a}=t,s={};return e==="uniform_api"?(s.uniform_api_plugin_url={value:n||"",hook:!1},s.uniform_api_plugin_method={value:o&&o.length>0?o[0]:"",hook:!1},a.forEach(i=>{s[i.key]={value:getUniformApiPluginFormValue(i),need_render:!0,hook:!1}})):e==="remote_plugin"&&(s.plugin_code={value:t.code,hook:!1},s.plugin_version={value:t.version,hook:!1}),s},_hoisted_1$o={class:"node-config-basic-info"},_hoisted_2$e={class:"plugin-select"},_hoisted_3$c={class:"error-handler-options"},_hoisted_4$c={class:"auto-retry-forms"},_hoisted_5$9={class:"timeout-config-forms"},_hoisted_6$4={class:"timeout-input"},_sfc_main$p=vue.defineComponent({__name:"basic-info",props:{node:{},editable:{type:Boolean,default:!0},pluginType:{},pluginDetail:{}},emits:["change","selectPlugin"],setup(e,{expose:t,emit:n}){const o=e,a=n,s=vue.ref(),i=vue.ref(lodash.cloneDeep(o.node)),r={},l=vue.computed(()=>o.pluginDetail?.name||o.node.component.code),c=vue.computed(()=>o.pluginType==="remote_plugin"?o.node.component.data?.plugin_version?.value||"":o.node.component.version||""),u=vue.computed(()=>o.pluginDetail?.versions??[]),v=vue.computed(()=>o.node.component.data?.uniform_api_plugin_method?.value||""),_=vue.computed(()=>o.pluginDetail?.methods??[]),m=vue.computed(()=>{const{component:w,name:d}=i.value,{code:k="",version:C="",data:B={}}=w;let D=k==="uniform_api"&&B.uniform_api_plugin_method?.value||"";return{name:d,code:k,version:C,method:D}});vue.watch(()=>o.node,w=>{i.value=lodash.cloneDeep(w)});const p=w=>{i.value.component.data?.uniform_api_plugin_method&&(i.value.component.data.uniform_api_plugin_method.value=w,g())},h=(w,d)=>{d==="auto_retry"?(i.value.retryable=!0,i.value.auto_retry.interval=0,i.value.auto_retry.times=1):(d==="retryable"&&(i.value.auto_retry={enable:!1,interval:0,times:1}),d==="error_ignorable"&&w&&(i.value.skippable=!0,i.value.retryable=!1,i.value.auto_retry={enable:!1,interval:0,times:1})),w&&["auto_retry","error_ignorable"].includes(d)&&(i.value.timeout_config={enable:!1,seconds:10,action:"forced_fail"})},f=w=>{w||(i.value.timeout_config.seconds=10,i.value.timeout_config.action="forced_fail"),g()},y=()=>s.value.validate().then(()=>!0).catch(()=>!1),g=()=>{a("change",i.value)};return t({validate:y}),(w,d)=>{const k=vue.resolveComponent("bk-input"),C=vue.resolveComponent("bk-button"),B=vue.resolveComponent("bk-form-item"),D=vue.resolveComponent("bk-option"),R=vue.resolveComponent("bk-select"),V=vue.resolveComponent("bk-checkbox"),O=vue.resolveComponent("bk-switcher"),Z=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createElementBlock("section",_hoisted_1$o,[vue.createVNode(Z,{ref_key:"formRef",ref:s,model:m.value,rules:r,"label-width":94},{default:vue.withCtx(()=>[vue.createVNode(B,{label:o.pluginType==="uniform_api"?"API":"标准插件",required:"",property:"code"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$e,[o.pluginType==="uniform_api"?(vue.openBlock(),vue.createBlock(k,{key:0,"model-value":o.node.component.api_meta?.alias,readonly:!0},null,8,["model-value"])):(vue.openBlock(),vue.createBlock(k,{key:1,"model-value":l.value,readonly:!0},null,8,["model-value"])),vue.createVNode(C,{outline:"",theme:"primary",disabled:!o.editable,onClick:d[0]||(d[0]=I=>a("selectPlugin"))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(o.node.component.code?"重选":"选择"),1)]),_:1},8,["disabled"])])]),_:1},8,["label"]),o.pluginType==="uniform_api"?(vue.openBlock(),vue.createBlock(B,{key:0,label:"请求方法",required:"",property:"method"},{default:vue.withCtx(()=>[vue.createVNode(R,{"model-value":v.value,clearable:!1,disabled:!o.editable,onChange:p},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(_.value,I=>(vue.openBlock(),vue.createBlock(D,{key:I,id:I,label:I},null,8,["id","label"]))),128))]),_:1},8,["model-value","disabled"])]),_:1})):(vue.openBlock(),vue.createBlock(B,{key:1,label:"插件版本",required:"",property:"version"},{default:vue.withCtx(()=>[vue.createVNode(R,{"model-value":c.value,clearable:!1,disabled:!o.editable,onChange:g},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(u.value,I=>(vue.openBlock(),vue.createBlock(D,{key:I,id:I,label:I},null,8,["id","label"]))),128))]),_:1},8,["model-value","disabled"])]),_:1})),vue.createVNode(B,{label:"节点名称",required:"",property:"name"},{default:vue.withCtx(()=>[vue.createVNode(k,{modelValue:i.value.name,"onUpdate:modelValue":d[1]||(d[1]=I=>i.value.name=I),disabled:!o.editable,onBlur:g},null,8,["modelValue","disabled"])]),_:1}),vue.createVNode(B,{label:"失败处理"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3$c,[vue.createVNode(V,{modelValue:i.value.error_ignorable,"onUpdate:modelValue":d[2]||(d[2]=I=>i.value.error_ignorable=I),disabled:!o.editable||i.value.auto_retry.enable||i.value.timeout_config.enable,onChange:d[3]||(d[3]=I=>h(I,"error_ignorable"))},{default:vue.withCtx(()=>[...d[15]||(d[15]=[vue.createElementVNode("span",{class:"option-flag"},"AS",-1),vue.createTextVNode("自动跳过 ",-1)])]),_:1},8,["modelValue","disabled"]),vue.createVNode(V,{modelValue:i.value.skippable,"onUpdate:modelValue":d[4]||(d[4]=I=>i.value.skippable=I),disabled:!o.editable||i.value.error_ignorable,onChange:d[5]||(d[5]=I=>h(I,"skippable"))},{default:vue.withCtx(()=>[...d[16]||(d[16]=[vue.createElementVNode("span",{class:"option-flag"},"MS",-1),vue.createTextVNode("手动跳过 ",-1)])]),_:1},8,["modelValue","disabled"]),vue.createVNode(V,{modelValue:i.value.retryable,"onUpdate:modelValue":d[6]||(d[6]=I=>i.value.retryable=I),disabled:!o.editable||i.value.error_ignorable||i.value.auto_retry.enable,onChange:d[7]||(d[7]=I=>h(I,"retryable"))},{default:vue.withCtx(()=>[...d[17]||(d[17]=[vue.createElementVNode("span",{class:"option-flag"},"MR",-1),vue.createTextVNode("手动重试 ",-1)])]),_:1},8,["modelValue","disabled"]),vue.createVNode(V,{modelValue:i.value.auto_retry.enable,"onUpdate:modelValue":d[8]||(d[8]=I=>i.value.auto_retry.enable=I),disabled:!o.editable||i.value.error_ignorable||i.value.timeout_config.enable,onChange:d[9]||(d[9]=I=>h(I,"auto_retry"))},{default:vue.withCtx(()=>[...d[18]||(d[18]=[vue.createElementVNode("span",{class:"option-flag"},"AR",-1)])]),_:1},8,["modelValue","disabled"]),vue.createElementVNode("span",_hoisted_4$c,[d[19]||(d[19]=vue.createTextVNode(" 在 ",-1)),vue.createVNode(k,{modelValue:i.value.auto_retry.interval,"onUpdate:modelValue":d[10]||(d[10]=I=>i.value.auto_retry.interval=I),type:"number",placeholder:" ",min:0,precision:0,disabled:!o.editable||!i.value.auto_retry.enable,onBlur:g},null,8,["modelValue","disabled"]),d[20]||(d[20]=vue.createTextVNode(" 秒后,自动重试 ",-1)),vue.createVNode(k,{modelValue:i.value.auto_retry.times,"onUpdate:modelValue":d[11]||(d[11]=I=>i.value.auto_retry.times=I),type:"number",placeholder:" ",min:0,precision:0,disabled:!o.editable||!i.value.auto_retry.enable,onBlur:g},null,8,["modelValue","disabled"]),d[21]||(d[21]=vue.createTextVNode(" 次 ",-1))])])]),_:1}),vue.createVNode(B,{label:"超时控制"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_5$9,[vue.createVNode(O,{modelValue:i.value.timeout_config.enable,"onUpdate:modelValue":d[12]||(d[12]=I=>i.value.timeout_config.enable=I),theme:"primary",size:"small",disabled:!o.editable,onChange:f},null,8,["modelValue","disabled"]),i.value.timeout_config.enable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[d[23]||(d[23]=vue.createTextVNode(" 超时 ",-1)),vue.createElementVNode("span",_hoisted_6$4,[vue.createVNode(k,{modelValue:i.value.timeout_config.seconds,"onUpdate:modelValue":d[13]||(d[13]=I=>i.value.timeout_config.seconds=I),type:"number",precision:0,min:0,disabled:!o.editable,onBlur:g},null,8,["modelValue","disabled"]),d[22]||(d[22]=vue.createElementVNode("span",{class:"unit"},"秒",-1))]),d[24]||(d[24]=vue.createTextVNode(" 后,则 ",-1)),vue.createVNode(R,{modelValue:i.value.timeout_config.action,"onUpdate:modelValue":d[14]||(d[14]=I=>i.value.timeout_config.action=I),clearable:!1,disabled:!o.editable,onChange:g},{default:vue.withCtx(()=>[vue.createVNode(D,{id:"forced_fail",label:"强制终止"}),vue.createVNode(D,{id:"forced_fail_and_skip",label:"强制终止后跳过"})]),_:1},8,["modelValue","disabled"])],64)):vue.createCommentVNode("",!0)])]),_:1})]),_:1},8,["model"])])}}}),BasicInfo=_export_sfc(_sfc_main$p,[["__scopeId","data-v-695e5765"]]),_hoisted_1$n={class:"plugin-form-jsonschema-form"},_sfc_main$o=vue.defineComponent({__name:"index",setup(e){return(t,n)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$n,[vue.createVNode(EmptyException,{title:"暂无插件表单"})]))}}),JsonschemaForm=_export_sfc(_sfc_main$o,[["__scopeId","data-v-23a7ffff"]]),_hoisted_1$m=["onMousedown"],_hoisted_2$d={class:"dropdown-item-content"},_hoisted_3$b={class:"option-key"},_hoisted_4$b={class:"option-name"},_hoisted_5$8={key:0,class:"dropdown-item empty"},_sfc_main$n=vue.defineComponent({__name:"index",props:{modelValue:{default:""},options:{default:()=>[]},type:{default:"text"},placeholder:{default:""},disabled:{type:Boolean,default:!1},rows:{default:3},resize:{type:Boolean,default:!1}},emits:["update:modelValue","change","blur"],setup(e,{emit:t}){const n=e,o=t,a=vue.ref(),s=vue.ref(),i=vue.ref(),r=vue.ref(n.modelValue),l=vue.ref(!1),c=vue.ref(0),u=vue.ref({top:0,left:0}),v=vue.ref(""),_=vue.computed(()=>({top:`${u.value.top}px`,left:`${u.value.left}px`})),m=vue.computed(()=>{if(!v.value)return n.options;const V=v.value.toLowerCase();return n.options.filter(O=>O.key.toLowerCase().includes(V))}),p=V=>V.key,h=()=>{const V=s.value?.$el?.querySelector("input, textarea");if(!V)return;const O=V.tagName==="TEXTAREA";if(!a.value?.getBoundingClientRect())return;let I=0,$=0;if(O){const E=V,b=E.value.substring(0,E.selectionStart).split(`
|
|
52
|
+
`),x=b.length-1,N=parseInt(getComputedStyle(E).lineHeight)||20,P=document.createElement("canvas").getContext("2d");P?(P.font=getComputedStyle(E).font,$=P.measureText(b[x]||"").width):$=(b[x]||"").length*8,I=x*N+N}else{const E=V,T=E.value.substring(0,E.selectionStart||0),b=document.createElement("canvas").getContext("2d");b?(b.font=getComputedStyle(E).font,$=b.measureText(T).width):$=T.length*8,I=E.offsetHeight}u.value={top:I+(O?8:0),left:$+(O?8:0)}},f=()=>{if(!i.value||!a.value)return;const V=i.value.getBoundingClientRect(),O=a.value.getBoundingClientRect(),Z=s.value?.$el?.querySelector("input, textarea");if(!Z)return;const I=window.innerWidth,$=V.width,E=Z.offsetWidth;let T=u.value.left;const b=E;if(T+$>b&&(T=b-$,T<0&&(T=0)),O.left+T+$>I){const L=I-$-O.left;L>=0?T=L:T=0}O.left+T<0&&(T=0),u.value={...u.value,left:T}},y=()=>{const V=s.value?.$el?.querySelector("input, textarea");if(!V)return;const O=V.selectionStart||0,Z=r.value.substring(0,O),I=Z.lastIndexOf("$");if(I===-1){l.value=!1;return}const $=Z.substring(I+1);if($.includes("}")){l.value=!1;return}let E=$;E.startsWith("{")&&(E=E.substring(1)),v.value=E,h(),l.value=!0,c.value=0,setTimeout(()=>{f()},0)},g=()=>{o("update:modelValue",r.value),o("change",r.value),vue.nextTick(()=>{y()})},w=()=>{vue.nextTick(()=>{y()})},d=V=>{setTimeout(()=>{const O=V.relatedTarget;i.value?.contains(O)||(l.value=!1)},200),o("blur",V)},k=V=>{const O=s.value?.$el?.querySelector("input, textarea");if(!O)return;const Z=O.selectionStart||0,I=r.value,$=I.substring(0,Z),E=I.substring(Z),T=$.lastIndexOf("$");if(T===-1)return;let b=p(V);b.startsWith("${")&&b.endsWith("}")&&(b=b.slice(2,-1));const x=I.substring(0,T)+`\${${b}}`+E;r.value=x,o("update:modelValue",x),o("change",x),l.value=!1,vue.nextTick(()=>{const N=T+b.length+3;O.focus(),O.setSelectionRange(N,N)})},C=()=>{vue.nextTick(()=>{const V=s.value?.$el?.querySelector("input, textarea");V&&(V.removeEventListener("keydown",B),V.addEventListener("keydown",B,!0))})},B=V=>{if(V instanceof KeyboardEvent){if(l.value&&m.value.length>0&&(V.key==="ArrowDown"||V.key==="ArrowUp"||V.key==="Enter")){switch(V.preventDefault(),V.stopPropagation(),V.stopImmediatePropagation(),V.key){case"ArrowDown":c.value=(c.value+1)%m.value.length,D();break;case"ArrowUp":c.value=c.value<=0?m.value.length-1:c.value-1,D();break;case"Enter":c.value>=0&&k(m.value[c.value]);break}return!1}if(V.key==="Escape"&&l.value)return V.preventDefault(),V.stopPropagation(),V.stopImmediatePropagation(),l.value=!1,!1}},D=()=>{vue.nextTick(()=>{if(!i.value)return;const O=i.value.querySelectorAll(".dropdown-item:not(.empty)")[c.value];if(O){const Z=i.value,I=O.offsetTop,$=O.offsetHeight,E=Z.scrollTop,T=Z.clientHeight;I<E?Z.scrollTop=I:I+$>E+T&&(Z.scrollTop=I+$-T)}})};vue.watch(()=>n.modelValue,V=>{V!==r.value&&(r.value=V)}),vue.watch(()=>l.value,()=>{C()});const R=V=>{a.value&&!a.value.contains(V.target)&&i.value&&!i.value.contains(V.target)&&(l.value=!1)};return vue.onMounted(()=>{document.addEventListener("click",R),C()}),vue.onBeforeUnmount(()=>{document.removeEventListener("click",R);const V=s.value?.$el?.querySelector("input, textarea");V&&V.removeEventListener("keydown",B,!0)}),(V,O)=>{const Z=vue.resolveComponent("bk-input");return vue.openBlock(),vue.createElementBlock("div",{ref_key:"containerRef",ref:a,class:"variable-input-wrapper"},[vue.createVNode(Z,{ref_key:"inputRef",ref:s,modelValue:r.value,"onUpdate:modelValue":O[0]||(O[0]=I=>r.value=I),type:e.type,placeholder:e.placeholder,disabled:e.disabled,rows:e.rows,resize:e.resize,onInput:g,onFocus:w,onBlur:d},null,8,["modelValue","type","placeholder","disabled","rows","resize"]),l.value?(vue.openBlock(),vue.createElementBlock("div",{key:0,ref_key:"dropdownRef",ref:i,class:"variable-dropdown",style:vue.normalizeStyle(_.value)},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(m.value,(I,$)=>(vue.openBlock(),vue.createElementBlock("div",{key:I.key,class:vue.normalizeClass(["dropdown-item",{active:$===c.value}]),onMousedown:vue.withModifiers(E=>k(I),["prevent"])},[vue.createElementVNode("div",_hoisted_2$d,[vue.createElementVNode("span",_hoisted_3$b,vue.toDisplayString(I.key),1),vue.createElementVNode("span",_hoisted_4$b,vue.toDisplayString(I.name),1)])],42,_hoisted_1$m))),128)),m.value.length===0?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$8,"无匹配项")):vue.createCommentVNode("",!0)],4)):vue.createCommentVNode("",!0)],512)}}}),VariableInput=_export_sfc(_sfc_main$n,[["__scopeId","data-v-ccd4bdfb"]]),_hoisted_1$l={class:"input-field-form"},_sfc_main$m=vue.defineComponent({__name:"input",props:{modelValue:{default:""},config:{},disabled:{type:Boolean,default:!1},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change"],setup(e,{emit:t}){const n=e,o=t,a=vue.ref(n.modelValue),s=vue.computed(()=>{const{type:r,form_type:l=""}=n.config;return l==="textarea"?"textarea":["int","integer","number"].includes(r)?"number":"text"});vue.watch(()=>n.modelValue,r=>{a.value=r});const i=()=>{o("update:modelValue",a.value),o("change",a.value)};return(r,l)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$l,[vue.createVNode(VariableInput,{modelValue:a.value,"onUpdate:modelValue":l[0]||(l[0]=c=>a.value=c),type:s.value,rows:5,min:0,precision:0,disabled:n.disabled,options:n.fullVariableList,onBlur:i},null,8,["modelValue","type","disabled","options"])]))}}),InputField=_export_sfc(_sfc_main$m,[["__scopeId","data-v-b6b3c278"]]),_sfc_main$l=vue.defineComponent({__name:"switcher",props:{modelValue:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(e,{emit:t}){const n=e,o=vue.ref(n.modelValue);vue.watch(()=>n.modelValue,i=>{o.value=i});const a=t,s=i=>{a("update:modelValue",i),a("change",i)};return(i,r)=>{const l=vue.resolveComponent("bk-switcher");return vue.openBlock(),vue.createBlock(l,{"model-value":e.modelValue,theme:"primary",size:"small",disabled:e.disabled,onChange:s},null,8,["model-value","disabled"])}}}),_hoisted_1$k={class:"code-editor"},_sfc_main$k=vue.defineComponent({__name:"code",props:{modelValue:{default:""},language:{default:"json"},theme:{default:"vs-dark"},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change","blur","save"],setup(e,{emit:t}){setupMonacoEnvironment();const n={language:"json",theme:"vs-dark",automaticLayout:!0,minimap:{enabled:!1},wordWrap:"on",wrappingIndent:"same"},o=e,a=t,s=vue.ref(),i=vue.shallowRef();vue.watch(()=>o.modelValue,c=>{const u=i.value?.getValue();c!==u&&i.value?.setValue(c)}),vue.watch(()=>o.disabled,c=>{i.value&&i.value.updateOptions({...n,readOnly:c})}),vue.onMounted(()=>{r()}),vue.onBeforeUnmount(()=>{i.value&&i.value.dispose()});const r=()=>{i.value=monaco__namespace.editor.create(s.value,{...n,readOnly:o.disabled,value:o.modelValue,language:o.language});const c=i.value.getModel();c&&(c.setEOL(0),c.onDidChangeContent(()=>{const u=i.value?.getValue();l(u)})),i.value.onDidBlurEditorText(()=>{a("blur")})},l=c=>{a("update:modelValue",c),a("change",c)};return(c,u)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$k,[vue.createElementVNode("div",{ref_key:"monacoContainerRef",ref:s,class:"editor-instance-container"},null,512)]))}}),CodeField=_export_sfc(_sfc_main$k,[["__scopeId","data-v-8534e38a"]]),_hoisted_1$j={class:"bkflow-plugin-uniform-api-form"},_sfc_main$j=vue.defineComponent({__name:"index",props:{inputData:{default:()=>({})},inputs:{default:()=>[]},editable:{type:Boolean,default:!0},fullVariableList:{default:()=>[]}},emits:["change"],setup(e,{expose:t,emit:n}){const o=e,a=n,s=vue.ref(),i=vue.ref({}),r=vue.ref({});vue.watch(()=>o.inputData,()=>{Object.keys(o.inputData).forEach(_=>{i.value[_]=o.inputData[_].value})},{immediate:!0}),vue.watch(()=>o.inputs,()=>{o.inputs.forEach(_=>{_.required?r.value[_.key]=[{required:!0,message:"必填项",trigger:"blur"}]:(_.type==="json"||_.form_type==="json")&&(r.value[_.key]=[{validator:m=>{if(m.trim().length===0)return!0;try{return JSON.parse(m),!0}catch{return!1}},message:"请输入正确的 JSON 格式数据",trigger:"blur"}])})},{immediate:!0});const l=_=>{const{type:m,form_type:p=""}=_;if(p){if(["textarea","input"].includes(p))return InputField;if(["json"].includes(p))return CodeField}else{if(["string","int","integer","number"].includes(m))return InputField;if(["boolean","bool"].includes(m))return _sfc_main$l;if(["json","dict"].includes(m))return CodeField}return vue.h("div","暂不支持该类型")},c=(_,m)=>{i.value[_]=m,v()},u=async()=>s.value.validate().then(()=>!0).catch(()=>!1),v=()=>{const _={...o.inputData};Object.keys(i.value).forEach(m=>{_[m]={value:i.value[m],hook:!1,need_render:!0}}),a("change",_)};return t({validate:u}),(_,m)=>{const p=vue.resolveComponent("bk-form-item"),h=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$j,[vue.createVNode(h,{ref_key:"formRef",ref:s,rules:r.value,model:i.value,"label-width":94},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(o.inputs,f=>(vue.openBlock(),vue.createBlock(p,{key:f.key,label:f.name,required:f.required,desc:f.desc,property:f.key},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(l(f)),{"model-value":i.value[f.key],disabled:!o.editable,config:f,"full-variable-list":o.fullVariableList,onChange:y=>c(f.key,y)},null,40,["model-value","disabled","config","full-variable-list","onChange"]))]),_:2},1032,["label","required","desc","property"]))),128))]),_:1},8,["rules","model"])])}}}),BkFlowPluginUniformApiForm=_export_sfc(_sfc_main$j,[["__scopeId","data-v-cb961ebd"]]),_hoisted_1$i={class:"plugin-agent"},_sfc_main$i=vue.defineComponent({__name:"index",props:{inputData:{},pluginDetail:{},editable:{type:Boolean},fullVariableList:{default:()=>[]}},emits:["change"],setup(e,{expose:t,emit:n}){const o=e,a=n,s=vue.ref(),i=vue.ref({content:""});vue.watch(()=>o.inputData,()=>{"value"in o.inputData.content&&(i.value.content=o.inputData.content.value)},{immediate:!0});const r={content:[{required:!0,message:"请输入提问内容",trigger:"blur"}]},l=async()=>s.value.validate().then(()=>!0).catch(()=>!1),c=()=>{const u={...o.inputData};u.content={value:i.value.content,hook:!1,need_render:!0},a("change",u)};return t({validate:l}),(u,v)=>{const _=vue.resolveComponent("bk-form-item"),m=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$i,[vue.createVNode(m,{ref_key:"formRef",ref:s,rules:r,model:i.value,"label-width":94},{default:vue.withCtx(()=>[vue.createVNode(_,{label:"用户提问",required:"",property:"content"},{default:vue.withCtx(()=>[vue.createVNode(VariableInput,{modelValue:i.value.content,"onUpdate:modelValue":v[0]||(v[0]=p=>i.value.content=p),options:o.fullVariableList,type:"textarea",placeholder:"请输入",rows:6,resize:!1,disabled:!o.editable,onBlur:c},null,8,["modelValue","options","disabled"])]),_:1})]),_:1},8,["model"])])}}}),AgentForm=_export_sfc(_sfc_main$i,[["__scopeId","data-v-cb01a2cc"]]),_hoisted_1$h={class:"node-config-input-params"},_sfc_main$h=vue.defineComponent({__name:"input-params",props:{node:{},pluginType:{},pluginDetail:{},inputs:{default:()=>[]},editable:{type:Boolean,default:!0},fullVariableList:{default:()=>[]}},emits:["change"],setup(e,{expose:t,emit:n}){const o={uniform_api_plugin:BkFlowPluginUniformApiForm,agent:AgentForm},a=e,s=n,i=vue.ref(),r=vue.computed(()=>{const u=a.pluginDetail?.category;return u&&u in o?o[u]:BkFlowPluginUniformApiForm}),l=u=>{const v={...a.node.component.data.bk_display_message};v.value=u,s("change",{...a.node.component.data,bk_display_message:v})};return t({validate:()=>a.pluginType==="uniform_api"&&i.value&&i.value.validate?i.value.validate():!0}),(u,v)=>{const _=vue.resolveComponent("bk-input"),m=vue.resolveComponent("bk-form-item"),p=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createElementBlock("section",_hoisted_1$h,[a.pluginDetail?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[a.pluginDetail.inputParamsFormType==="renderform"?(vue.openBlock(),vue.createBlock(BKflowPluginFormRenderForm,{key:0,variables:a.inputs,editable:a.editable,"full-variable-list":a.fullVariableList,onChange:v[0]||(v[0]=h=>s("change",h))},null,8,["variables","editable","full-variable-list"])):vue.createCommentVNode("",!0),a.pluginDetail.inputParamsFormType==="jsonschemaform"?(vue.openBlock(),vue.createBlock(JsonschemaForm,{key:1,variables:a.inputs,editable:a.editable,onChange:v[1]||(v[1]=h=>s("change",h))},null,8,["variables","editable"])):vue.createCommentVNode("",!0),a.pluginDetail.inputParamsFormType==="uniformApiForm"?(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(r.value),{key:2,ref_key:"uniformApiPluginComponentRef",ref:i,node:a.node,"plugin-detail":a.pluginDetail,"plugin-id":a.node.component.api_meta?.id||"","input-data":a.node.component.data,inputs:a.inputs,editable:a.editable,"full-variable-list":a.fullVariableList,onChange:v[2]||(v[2]=h=>s("change",h))},null,40,["node","plugin-detail","plugin-id","input-data","inputs","editable","full-variable-list"])):vue.createCommentVNode("",!0)],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[a.node.component.code==="bk_display"?(vue.openBlock(),vue.createBlock(p,{key:0,"label-width":94},{default:vue.withCtx(()=>[vue.createVNode(m,{label:"展示内容"},{default:vue.withCtx(()=>[vue.createVNode(_,{"model-value":a.node.component.data.bk_display_message.value,type:"textarea",rows:4,disabled:!a.editable,resize:!1,onChange:l},null,8,["model-value","disabled"])]),_:1})]),_:1})):vue.createCommentVNode("",!0)],64))])}}}),InputParams=_export_sfc(_sfc_main$h,[["__scopeId","data-v-0e042631"]]),_hoisted_1$g={class:"node-config-output-params"},_hoisted_2$c={class:"params-key-wrappper"},_hoisted_3$a={class:"key-text"},_hoisted_4$a={class:"create-variable-cell"},_hoisted_5$7=["onClick"],_sfc_main$g=vue.defineComponent({__name:"output-params",props:{node:{},outputsForms:{},constants:{default:()=>({})},editable:{type:Boolean,default:!0}},emits:["updateConstants"],setup(e,{emit:t}){const n=e,o=t,a=vue.shallowRef({}),s=vue.computed(()=>n.outputsForms.map(l=>({...l,hookedKey:i(l.key)})));vue.watch(()=>n.constants,l=>{a.value={...l}},{immediate:!0});const i=l=>{const u=Object.values(a.value).find(v=>v.source_info[n.node.id]&&v.source_info[n.node.id].includes(l));return u?u.key:""},r=l=>{if(!n.editable)return;const c=i(l.key);if(c){const u={...a.value[c],source_info:{...a.value[c].source_info,[n.node.id]:a.value[c].source_info[n.node.id].filter(v=>v!==l.key)}};a.value={...a.value,[c]:u}}else{const u=`\${${l.key}}`,v=n.constants[u]?`\${${l.key}_${random4()}}`:u;a.value={...a.value,[v]:{index:Object.values(a.value).length,name:l.name,key:v,desc:"",custom_type:"",show_type:"hide",source_type:"component_outputs",source_info:{[n.node.id]:[l.key]},source_tag:"",validation:"",plugin_code:"",value:""}}}o("updateConstants",a.value)};return(l,c)=>{const u=vue.resolveComponent("bk-table-column"),v=vue.resolveComponent("bk-input"),_=vue.resolveComponent("bk-table"),m=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("section",_hoisted_1$g,[vue.createVNode(_,{"empty-text":"暂无参数",data:s.value,border:["outer"]},{default:vue.withCtx(()=>[vue.createVNode(u,{label:"名称",width:180,"min-width":180,prop:"name"},{default:vue.withCtx(({row:p})=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("span",{class:vue.normalizeClass(["params-name",{"has-desc":p.description!==""}])},[vue.createTextVNode(vue.toDisplayString(p.name),1)],2)),[[m,{disabled:p.description==="",content:p.description}]])]),_:1}),vue.createVNode(u,{label:"KEY",prop:"key"},{default:vue.withCtx(({row:p})=>[vue.createElementVNode("div",_hoisted_2$c,[vue.createElementVNode("span",_hoisted_3$a,vue.toDisplayString(p.key),1),p.hookedKey?(vue.openBlock(),vue.createBlock(v,{key:0,class:"variable-key-input","model-value":p.hookedKey,readonly:vue.readonly},null,8,["model-value"])):vue.createCommentVNode("",!0)])]),_:1}),vue.createVNode(u,{label:"勾选为全局变量",width:120,"min-width":120},{default:vue.withCtx(({row:p})=>[vue.createElementVNode("div",_hoisted_4$a,[vue.withDirectives((vue.openBlock(),vue.createElementBlock("span",{class:vue.normalizeClass(["btn",{"is-hooked":!!p.hookedKey,"is-disabled":!n.editable,"is-disabled-tooltip":!n.editable}]),onClick:h=>r(p)},[...c[0]||(c[0]=[vue.createElementVNode("i",{class:"bk-incident-icon incident-quanjubianliang-2"},null,-1)])],10,_hoisted_5$7)),[[m,{placement:"top",content:p.hookedKey?"取消接收输出":"使用变量接收输出"}]])])]),_:1})]),_:1},8,["data"])])}}}),OutputParams=_export_sfc(_sfc_main$g,[["__scopeId","data-v-5a9440da"]]),_hoisted_1$f={class:"bkflow-node-config"},_sfc_main$f=vue.defineComponent({__name:"index",props:{node:{},systemVariables:{default:()=>[]},constants:{default:()=>({})},editable:{type:Boolean,default:!0}},emits:["change","selectPlugin","updateConstants"],setup(e,{expose:t,emit:n}){const o=vue.useSlots(),a=e,s=useFlowApiConfig(),i=n,r=vue.ref(),l=vue.ref(),c=vue.ref(null),u=vue.ref(!0),v=vue.shallowRef([]),_=vue.shallowRef([]),m=vue.ref(!1),p=vue.computed(()=>a.node.component.code?["uniform_api","remote_plugin"].includes(a.node.component.code)?a.node.component.code:"inner":""),h=vue.computed(()=>[...a.systemVariables,...Object.values(a.constants)].map(C=>({key:C.key,name:C.name})));vue.onMounted(()=>{m.value=!1,f()});const f=async()=>{u.value=!0,m.value=!1;try{const C=await pluginDetailRequest(s,a.node.component),{inputs:B,outputs:D}=C;v.value=B,_.value=D,c.value=C,y()}catch(C){(C?.message||String(C)).includes("1211011")?m.value=!0:console.error("Failed to fetch plugin detail:",C)}finally{u.value=!1}},y=()=>{if(!c.value)return;const{data:C}=a.node.component,B=p.value;({uniform_api:()=>!C||!("uniform_api_plugin_url"in C)||!("uniform_api_plugin_method"in C),remote_plugin:()=>!C||!("plugin_version"in C),inner:()=>!C||Object.keys(C).length===0})[B]?.()&&w({...a.node,component:{...a.node.component,data:getPluginDefaultData(B,c.value)}})},g=C=>{const B={...a.node,component:{...a.node.component,data:C}};w(B)},w=C=>{i("change",C)},d=C=>{g(C)};return t({isPluginNotExist:m,pluginDetailLoading:u,validate:async()=>{let C=()=>!0;!o.inputParams&&l.value&&(C=l.value.validate);const[B,D]=await Promise.all([r.value?.validate(),C()]);return!(!B||!D)},updateInputParams:d}),(C,B)=>{const D=vue.resolveComponent("bk-button"),R=vue.resolveComponent("bk-exception"),V=vue.resolveDirective("bk-loading");return vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_1$f,[m.value?(vue.openBlock(),vue.createBlock(R,{key:0,class:"plugin-not-exist-exception",type:"500",title:"未找到可用插件或可用版本",scene:"part"},{default:vue.withCtx(()=>[a.editable?(vue.openBlock(),vue.createBlock(D,{key:0,text:"",theme:"primary",onClick:B[0]||(B[0]=O=>i("selectPlugin"))},{default:vue.withCtx(()=>[...B[3]||(B[3]=[vue.createTextVNode("重新选择",-1)])]),_:1})):vue.createCommentVNode("",!0)]),_:1})):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(SectionContainer,{title:"基础信息"},{default:vue.withCtx(()=>[vue.createVNode(BasicInfo,{ref_key:"basicInfoRef",ref:r,node:a.node,editable:a.editable,"plugin-type":p.value,"plugin-detail":c.value,onSelectPlugin:B[1]||(B[1]=O=>i("selectPlugin")),onChange:w},null,8,["node","editable","plugin-type","plugin-detail"])]),_:1}),vue.createVNode(SectionContainer,{title:"输入参数"},{default:vue.withCtx(()=>[u.value?vue.createCommentVNode("",!0):vue.renderSlot(C.$slots,"inputParams",{key:0,node:a.node,pluginDetail:c.value,inputs:v.value,editable:a.editable,fullVariableList:h.value,updateInputParams:d},()=>[vue.createVNode(InputParams,{ref_key:"inputParamsRef",ref:l,node:a.node,"plugin-type":p.value,"plugin-detail":c.value,inputs:v.value,editable:a.editable,"full-variable-list":h.value,onChange:g},null,8,["node","plugin-type","plugin-detail","inputs","editable","full-variable-list"])],!0)]),_:3}),vue.createVNode(SectionContainer,{title:"输出参数"},{default:vue.withCtx(()=>[u.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(OutputParams,{key:0,node:a.node,"outputs-forms":_.value,constants:a.constants,editable:a.editable,onUpdateConstants:B[2]||(B[2]=O=>i("updateConstants",O))},null,8,["node","outputs-forms","constants","editable"]))]),_:1})],64))])),[[V,{loading:u.value}]])}}}),NodeConfig=_export_sfc(_sfc_main$f,[["__scopeId","data-v-e8f99987"]]),_hoisted_1$e={class:"node-config-slider"},_hoisted_2$b={key:0,class:"sideslider-footer-buttons"},_sfc_main$e=vue.defineComponent({__name:"index",props:{show:{type:Boolean,default:!1},node:{},constants:{default:()=>({})},systemVariables:{default:()=>[]},editable:{type:Boolean,default:!0}},emits:["close","update:show","confirm","selectPlugin"],setup(e,{expose:t,emit:n}){const o=e,a=n,s=vue.ref(),i=vue.ref(!0),r=vue.ref(lodash.cloneDeep(o.node)),l=vue.shallowRef({...o.constants});vue.watch(()=>o.show,()=>{r.value=lodash.cloneDeep(o.node),l.value={...o.constants}}),vue.watchEffect(()=>{s.value?.isPluginNotExist||s.value?.pluginDetailLoading?i.value=!1:i.value=!0});const c=p=>{r.value=p},u=async()=>{await s.value?.validate()&&a("confirm",r.value,l.value)},v=()=>{if(o.editable)return new Promise(p=>{lib.InfoBox({title:"确认离开?",content:"离开将会导致未保存信息丢失",confirmText:"离开",cancelText:"取消",width:320,onConfirm:()=>{_(),p(!0)},onCancel:()=>{p(!1)}})});_()},_=()=>{a("close"),a("update:show",!1)};return t({updateNodeInputParams:p=>{s.value&&s.value.updateInputParams?.(p)}}),(p,h)=>{const f=vue.resolveComponent("bk-button"),y=vue.resolveComponent("bk-sideslider");return vue.openBlock(),vue.createBlock(y,{title:"节点配置","is-show":o.show,width:960,"esc-close":!1,"before-close":v},{footer:vue.withCtx(()=>[i.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$b,[o.editable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(f,{theme:"primary",onClick:u},{default:vue.withCtx(()=>[...h[2]||(h[2]=[vue.createTextVNode("确定",-1)])]),_:1}),vue.createVNode(f,{onClick:_},{default:vue.withCtx(()=>[...h[3]||(h[3]=[vue.createTextVNode("取消",-1)])]),_:1})],64)):(vue.openBlock(),vue.createBlock(f,{key:1,theme:"primary",onClick:_},{default:vue.withCtx(()=>[...h[4]||(h[4]=[vue.createTextVNode("关闭",-1)])]),_:1}))])):vue.createCommentVNode("",!0)]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$e,[o.show?(vue.openBlock(),vue.createBlock(NodeConfig,{key:0,ref_key:"nodeConfigRef",ref:s,node:r.value,editable:o.editable,constants:l.value,"system-variables":o.systemVariables,onSelectPlugin:h[0]||(h[0]=g=>a("selectPlugin")),onUpdateConstants:h[1]||(h[1]=g=>l.value=g),onChange:c},{inputParams:vue.withCtx(g=>[vue.renderSlot(p.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps(g)),void 0,!0)]),_:3},8,["node","editable","constants","system-variables"])):vue.createCommentVNode("",!0)])]),_:3},8,["is-show"])}}}),NodeConfigPanel=_export_sfc(_sfc_main$e,[["__scopeId","data-v-02b9993c"]]),_hoisted_1$d={class:"plugin-group-aside"},_hoisted_2$a={class:"group-list"},_hoisted_3$9=["onClick"],_hoisted_4$9=["src"],_hoisted_5$6={class:"group-text"},_sfc_main$d=vue.defineComponent({__name:"plugin-groups-aside",props:{actived:{},groups:{}},emits:["update:actived","change"],setup(e,{emit:t}){const n=e,o=t,a=s=>{o("update:actived",s),o("change",s)};return(s,i)=>(vue.openBlock(),vue.createElementBlock("section",_hoisted_1$d,[vue.createElementVNode("div",_hoisted_2$a,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(n.groups,r=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["group-item",{actived:n.actived===r.name}]),key:r.id,onClick:l=>a(r.name)},[vue.createElementVNode("img",{class:"group-icon",src:r.iconUrl},null,8,_hoisted_4$9),vue.createElementVNode("span",_hoisted_5$6,vue.toDisplayString(r.alias),1)],10,_hoisted_3$9))),128))])]))}}),PluginGroupsAside=_export_sfc(_sfc_main$d,[["__scopeId","data-v-6c7ab9b0"]]),alarmImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/告警%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/告警'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3ccircle%20id='椭圆形'%20fill='%233A84FF'%20fill-rule='nonzero'%20cx='27'%20cy='27'%20r='23'%3e%3c/circle%3e%3ccircle%20id='椭圆形备份'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20cx='34'%20cy='34'%20r='24'%3e%3c/circle%3e%3cg%20id='alert-告警'%20transform='translate(20,%2018)'%20fill='%23FFFFFF'%3e%3cpath%20d='M23.8214286,25.9259259%20L23.8214286,14.5185185%20C23.8280822,12.0419907%2022.8443395,9.66585559%2021.0897321,7.92037037%20C19.3290179,6.16064815%2016.9889509,5.18515161%2014.5,5.18515161%20C12.026631,5.17852307%209.65352669,6.16352209%207.91026786,7.92037037%20C6.15279018,9.68333333%205.17857143,12.0263889%205.17857143,14.5185185%20L5.17857143,25.9259259%20L2.07142857,25.9259259%20L2.07142857,28%20L26.9285714,28%20L26.9285714,25.9259259%20L23.8214286,25.9259259%20Z%20M15.225,10.9083333%20L16.6879464,12.3731481%20L14.5356027,14.5314815%20L17.3708705,17.3703704%20L13.8138393,21.3305556%20L12.2732143,19.9435185%20L14.516183,17.4449074%20L11.6064732,14.5314815%20L15.225,10.9083333%20Z%20M29,13.4814815%20L29,15.5555556%20L24.8571429,15.5555556%20L24.8571429,13.4814815%20L29,13.4814815%20Z%20M4.14285714,13.4814815%20L4.14285714,15.5555556%20L0,15.5555556%20L0,13.4814815%20L4.14285714,13.4814815%20Z%20M5.01594524,3.53359279%20L7.94538762,6.46677647%20L6.48066643,7.93336831%20L3.55122405,5.00018463%20L5.01594524,3.53359279%20Z%20M23.9784806,3.5274069%20L25.4432018,4.99399875%20L22.5137594,7.92718243%20L21.0490382,6.46059059%20L23.9784806,3.5274069%20Z%20M15.5357143,0%20L15.5357143,4.14814815%20L13.4642857,4.14814815%20L13.4642857,0%20L15.5357143,0%20Z'%20id='形状'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",eventImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/事件%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/事件'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3crect%20id='矩形-2'%20fill='%233A84FF'%20fill-rule='nonzero'%20x='5'%20y='5'%20width='40'%20height='40'%20rx='3'%3e%3c/rect%3e%3crect%20id='矩形'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20x='10'%20y='10'%20width='44'%20height='44'%20rx='3'%3e%3c/rect%3e%3cg%20id='alert-告警'%20transform='translate(16.25,%2016.25)'%20fill='%23FFFFFF'%20fill-rule='nonzero'%3e%3cpath%20d='M9,0%20L9,2.25%20L22.5,2.25%20L22.5,0%20L27,0%20L27,2.25%20L29.25,2.25%20C30.4926407,2.25%2031.5,3.25735931%2031.5,4.5%20L31.5,29.25%20C31.5,30.4926407%2030.4926407,31.5%2029.25,31.5%20L2.25,31.5%20C1.00735931,31.5%200,30.4926407%200,29.25%20L0,4.5%20C0,3.25735931%201.00735931,2.25%202.25,2.25%20L4.5,2.25%20L4.5,0%20L9,0%20Z%20M29.25,10.125%20L2.25,10.125%20L2.25,29.25%20L29.25,29.25%20L29.25,10.125%20Z%20M11.25,13.5%20L11.25,18%20L5.625,18%20L5.625,13.5%20L11.25,13.5%20Z'%20id='形状结合'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",graphImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/图谱%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/图谱'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3ccircle%20id='椭圆形'%20fill='%233A84FF'%20fill-rule='nonzero'%20cx='27'%20cy='27'%20r='23'%3e%3c/circle%3e%3ccircle%20id='椭圆形备份'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20cx='34'%20cy='34'%20r='24'%3e%3c/circle%3e%3cg%20id='alert-告警'%20transform='translate(18.25,%2018.25)'%20fill='%23FFFFFF'%3e%3cpath%20d='M27.5625,0%20C29.7371212,0%2031.5,1.7628788%2031.5,3.9375%20C31.5,6.1121212%2029.7371212,7.875%2027.5625,7.875%20C26.8821072,7.875%2026.2420211,7.70242627%2025.6836253,7.39866233%20L21.2480235,11.8331927%20C22.0362649,12.9376649%2022.5,14.2896769%2022.5,15.75%20C22.5,17.2076792%2022.0379426,18.5574391%2021.2523016,19.6608059%20L24.7142478,23.1229218%20C25.3841532,22.7271229%2026.1655529,22.5%2027,22.5%20C29.4852814,22.5%2031.5,24.5147186%2031.5,27%20C31.5,29.4852814%2029.4852814,31.5%2027,31.5%20C24.5147186,31.5%2022.5,29.4852814%2022.5,27%20C22.5,26.1655529%2022.7271229,25.3841532%2023.1229218,24.7142478%20L19.6608059,21.2523016%20C18.5574391,22.0379426%2017.2076792,22.5%2015.75,22.5%20C14.2923208,22.5%2012.9425609,22.0379426%2011.8391941,21.2523016%20L8.73675688,24.3548271%20C8.9071608,24.8296846%209,25.3415004%209,25.875%20C9,28.3602814%206.98528137,30.375%204.5,30.375%20C2.01471863,30.375%200,28.3602814%200,25.875%20C0,23.3897186%202.01471863,21.375%204.5,21.375%20C5.62390208,21.375%206.6515713,21.7870218%207.44020055,22.4682583%20L10.2476984,19.6608059%20C9.46205741,18.5574391%209,17.2076792%209,15.75%20C9,14.2927614%209.46177809,12.9433769%2010.246986,11.8401948%20L6.9225844,8.53381806%20C6.36863781,8.83126977%205.73527343,9%205.0625,9%20C2.8878788,9%201.125,7.2371212%201.125,5.0625%20C1.125,2.8878788%202.8878788,1.125%205.0625,1.125%20C7.2371212,1.125%209,2.8878788%209,5.0625%20C9,5.74577587%208.82596068,6.38840267%208.51979386,6.94846859%20L11.8381935,10.2484109%20C12.9417448,9.46233681%2014.2918801,9%2015.75,9%20C17.2050353,9%2018.5525424,9.46038278%2019.6547997,10.2434266%20L24.0949001,5.80449226%20C23.7951367,5.24890576%2023.625,4.61307166%2023.625,3.9375%20C23.625,1.7628788%2025.3878788,0%2027.5625,0%20Z'%20id='形状结合'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",logImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/日志%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/日志'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3crect%20id='矩形-2'%20fill='%233A84FF'%20fill-rule='nonzero'%20x='5'%20y='5'%20width='40'%20height='40'%20rx='3'%3e%3c/rect%3e%3crect%20id='矩形'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20x='10'%20y='10'%20width='44'%20height='44'%20rx='3'%3e%3c/rect%3e%3cg%20id='alert-告警'%20transform='translate(17.375,%2017.375)'%20fill='%23FFFFFF'%3e%3cpath%20d='M28.25,0%20C28.8022847,0%2029.25,0.44771525%2029.25,1%20L29.25,28.25%20C29.25,28.8022847%2028.8022847,29.25%2028.25,29.25%20L1,29.25%20C0.44771525,29.25%200,28.8022847%200,28.25%20L0,1%20C0,0.44771525%200.44771525,1.11022302e-16%201,0%20L28.25,0%20Z%20M14.625,19.125%20C14.0036797,19.125%2013.5,19.6286797%2013.5,20.25%20C13.5,20.8713203%2014.0036797,21.375%2014.625,21.375%20C15.2463203,21.375%2015.75,20.8713203%2015.75,20.25%20C15.75,19.6286797%2015.2463203,19.125%2014.625,19.125%20Z%20M8.4375,7.875%20C5.02023811,7.875%202.25,10.6452381%202.25,14.0625%20C2.25,17.4797619%205.02023811,20.25%208.4375,20.25%20C11.8547619,20.25%2014.625,17.4797619%2014.625,14.0625%20C14.625,10.6452381%2011.8547619,7.875%208.4375,7.875%20Z%20M20.8125,7.875%20C17.3952381,7.875%2014.625,10.6452381%2014.625,14.0625%20C14.625,17.4797619%2017.3952381,20.25%2020.8125,20.25%20C24.2297619,20.25%2027,17.4797619%2027,14.0625%20C27,10.6452381%2024.2297619,7.875%2020.8125,7.875%20Z%20M8.4375,10.125%20C10.6121212,10.125%2012.375,11.8878788%2012.375,14.0625%20C12.375,16.2371212%2010.6121212,18%208.4375,18%20C6.2628788,18%204.5,16.2371212%204.5,14.0625%20C4.5,11.8878788%206.2628788,10.125%208.4375,10.125%20Z%20M20.8125,10.125%20C22.9871212,10.125%2024.75,11.8878788%2024.75,14.0625%20C24.75,16.2371212%2022.9871212,18%2020.8125,18%20C18.6378788,18%2016.875,16.2371212%2016.875,14.0625%20C16.875,11.8878788%2018.6378788,10.125%2020.8125,10.125%20Z%20M21.5,12.9375%20L20.125,12.9375%20C19.5727153,12.9375%2019.125,13.3852153%2019.125,13.9375%20L19.125,14.1875%20C19.125,14.7397847%2019.5727153,15.1875%2020.125,15.1875%20L21.5,15.1875%20C22.0522847,15.1875%2022.5,14.7397847%2022.5,14.1875%20L22.5,13.9375%20C22.5,13.3852153%2022.0522847,12.9375%2021.5,12.9375%20Z'%20id='形状结合'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",metricImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/指标%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/指标'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3ccircle%20id='椭圆形'%20fill='%233A84FF'%20fill-rule='nonzero'%20cx='27'%20cy='27'%20r='23'%3e%3c/circle%3e%3ccircle%20id='椭圆形备份'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20cx='34'%20cy='34'%20r='24'%3e%3c/circle%3e%3cg%20id='alert-告警'%20transform='translate(20.0022,%2019)'%20fill='%23FFFFFF'%3e%3cpath%20d='M26.9978016,9%20L26.9978016,26%20L22.9857822,26%20L22.9857822,9%20L26.9978016,9%20Z%20M19.9767677,15%20L19.9767677,26%20L15.9647484,26%20L15.9647484,15%20L19.9767677,15%20Z%20M12.9557339,12%20L12.9557339,26%20L8.9437145,26%20L8.9437145,12%20L12.9557339,12%20Z%20M5.93469998,17%20L5.93469998,26%20L1.92268063,26%20L1.92268063,17%20L5.93469998,17%20Z%20M26.9978016,0%20L26.9978016,8%20L23.6568016,4.67%20L16.9918102,11.3355632%20L11.3179511,5.6617042%20L1.41846305,15.561206%20L3.55271368e-15,14.1427429%20L11.3137085,2.82903444%20L16.9875333,8.50285925%20L22.2358016,3.253%20L18.9737629,0%20L26.9978016,0%20Z'%20id='形状结合'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",profilingImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/Profiling%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/Profiling'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3ccircle%20id='椭圆形'%20fill='%233A84FF'%20fill-rule='nonzero'%20cx='27'%20cy='27'%20r='23'%3e%3c/circle%3e%3ccircle%20id='椭圆形备份'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20cx='34'%20cy='34'%20r='24'%3e%3c/circle%3e%3cg%20id='alert-告警'%20transform='translate(19.375,%2016)'%20fill='%23FFFFFF'%20fill-rule='nonzero'%3e%3cpath%20d='M10.3813948,-3.55271368e-15%20C17.257736,1.52410383%2022.3838329,6.97063848%2023.2188935,13.6207878%20C24.020884,11.6579106%2025.6982065,10.1856528%2027.7485185,9.64494215%20C27.1633902,11.2491122%2027.1633902,13.0083535%2027.7485185,14.6125236%20C27.7485185,14.6125236%2033.0597887,25.1085424%2026.6837718,31.6233741%20L24.0521736,28.9989243%20C27.3425616,24.7791508%2027.0291913,18.684516%2023.1138432,14.7781096%20C18.7284397,10.4016526%2011.6811693,10.5583362%207.45245097,14.9347932%20C3.22373261,19.3094697%203.53710289,26.4991091%207.9225064,30.562199%20C11.8378545,34.1552382%2017.6316437,34.3119218%2021.8603621,31.1853723%20L24.2302248,33.5498699%20C23.1560051,34.1931262%2022.0151369,34.7178845%2020.8276645,35.1149251%20C20.8276645,35.1149251%2016.914097,36.7173707%2011.2876759,35.6099027%20C11.2876759,35.6099027%20-5.60939232,32.1361567%201.9435438,14.8956223%20C2.71450593,15.6701377%203.23085471,16.6583125%203.42136957,17.7337316%20C4.27570623,15.1161605%205.73197932,12.7354096%207.67323457,10.7826785%20C10.1623917,8.55705961%2012.6960617,2.27013128%2010.3813948,-3.55271368e-15%20Z%20M8.86261726,17.9028786%20C10.3191865,15.8450628%2012.6836372,14.6218537%2015.2048045,14.6218537%20C17.7259718,14.6218537%2020.0904225,15.8450628%2021.5469918,17.9028786%20C23.5838986,20.5593773%2023.5838986,24.3108806%2021.5469918,27.1240629%20C20.0904225,29.1818787%2017.7259718,30.4050878%2015.2048045,30.4050878%20C12.6836372,30.4050878%2010.3191865,29.1818787%208.86261726,27.1240629%20C6.8257104,24.4675642%206.8257104,20.5593773%208.86261726,17.9028786%20Z%20M20.475123,17.8049514%20L9.79204502,17.8049514%20L9.79204502,21.3659416%20L11.572558,21.3659416%20L11.572558,24.9269319%20L13.353071,24.9269319%20L13.353071,23.1464368%20L15.133584,23.1464368%20L15.133584,26.7074271%20L16.914097,26.7074271%20L16.914097,28.4879222%20L18.69461,28.4879222%20L18.69461,23.1464368%20L20.475123,23.1464368%20L20.475123,17.8049514%20L20.475123,17.8049514%20Z'%20id='形状'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",traceImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/Trace%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/Trace'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3ccircle%20id='椭圆形'%20fill='%233A84FF'%20fill-rule='nonzero'%20cx='27'%20cy='27'%20r='23'%3e%3c/circle%3e%3ccircle%20id='椭圆形备份'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20cx='34'%20cy='34'%20r='24'%3e%3c/circle%3e%3cg%20id='alert-告警'%20transform='translate(18.25,%2018.25)'%20fill='%23FFFFFF'%20fill-rule='nonzero'%3e%3cpath%20d='M15.75,0%20C16.36875,0%2016.875,0.50625%2016.875,1.125%20L16.875,2.29647656%20C23.4334688,2.83756641%2028.6624336,8.06653125%2029.2035234,14.625%20L30.375,14.625%20C30.99375,14.625%2031.5,15.13125%2031.5,15.75%20C31.5,16.36875%2030.99375,16.875%2030.375,16.875%20L29.2035234,16.875%20C28.6624336,23.4334688%2023.4334688,28.6624336%2016.875,29.2035234%20L16.875,30.375%20C16.875,30.99375%2016.36875,31.5%2015.75,31.5%20C15.13125,31.5%2014.625,30.99375%2014.625,30.375%20L14.625,29.2035234%20C8.06653125,28.6624336%202.83756641,23.4334688%202.29647656,16.875%20L1.125,16.875%20C0.50625,16.875%200,16.36875%200,15.75%20C0,15.13125%200.50625,14.625%201.125,14.625%20L2.29647656,14.625%20C2.83756641,8.06653125%208.06653125,2.83756641%2014.625,2.29647656%20L14.625,1.125%20C14.625,0.50625%2015.13125,0%2015.75,0%20Z%20M16.875,4.55582812%20L16.875,5.625%20C16.875,6.24375%2016.36875,6.75%2015.75,6.75%20C15.13125,6.75%2014.625,6.24375%2014.625,5.625%20L14.625,4.55582812%20C9.31011328,5.08355859%205.08355859,9.31011328%204.55582812,14.625%20L5.625,14.625%20C6.24375,14.625%206.75,15.13125%206.75,15.75%20C6.75,16.36875%206.24375,16.875%205.625,16.875%20L4.55582812,16.875%20C5.08355859,22.1898867%209.31011328,26.4164414%2014.625,26.9441719%20L14.625,25.875%20C14.625,25.25625%2015.13125,24.75%2015.75,24.75%20C16.36875,24.75%2016.875,25.25625%2016.875,25.875%20L16.875,26.9441719%20C22.1898867,26.4164414%2026.4164414,22.1898867%2026.9441719,16.875%20L25.875,16.875%20C25.25625,16.875%2024.75,16.36875%2024.75,15.75%20C24.75,15.13125%2025.25625,14.625%2025.875,14.625%20L26.9441719,14.625%20C26.4164414,9.31011328%2022.1898867,5.08355859%2016.875,4.55582812%20Z%20M15.75,10.125%20C18.8566017,10.125%2021.375,12.6433983%2021.375,15.75%20C21.375,18.8566017%2018.8566017,21.375%2015.75,21.375%20C12.6433983,21.375%2010.125,18.8566017%2010.125,15.75%20C10.125,12.6433983%2012.6433983,10.125%2015.75,10.125%20Z'%20id='形状结合'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",_hoisted_1$c={class:"data-plugin-group"},_hoisted_2$9={class:"plugin-list"},_hoisted_3$8=["onClick"],_hoisted_4$8=["src"],_hoisted_5$5={class:"plugin-name"},_sfc_main$c=vue.defineComponent({__name:"data-plugin-group",props:{plugins:{}},emits:["select"],setup(e,{emit:t}){const n=e,o=t,a={alert_plugin:alarmImg,log_plugin:logImg,trace_plugin:traceImg,query_promql_metric_plugin:metricImg,事件查询:eventImg,Profiling查询:profilingImg,图谱查询:graphImg},s=vue.computed(()=>n.plugins.map(i=>({id:i.id,name:i.alias,icon:a[i.name]})));return(i,r)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$c,[vue.createElementVNode("div",_hoisted_2$9,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(s.value,l=>(vue.openBlock(),vue.createElementBlock("div",{class:"plugin-item",key:l.id,onClick:c=>o("select",l.id)},[vue.createElementVNode("img",{class:"plugin-img",src:l.icon},null,8,_hoisted_4$8),vue.createElementVNode("h4",_hoisted_5$5,vue.toDisplayString(l.name),1)],8,_hoisted_3$8))),128))]),s.value.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:0,title:"暂无数据插件"})):vue.createCommentVNode("",!0)]))}}),DataPluginGroup=_export_sfc(_sfc_main$c,[["__scopeId","data-v-782d393d"]]),_hoisted_1$b={class:"search-select-wrapper"},_sfc_main$b=vue.defineComponent({__name:"index",props:{modelValue:{default:()=>[]},placeholder:{default:"请选择"},options:{default:()=>[]}},emits:["update:modelValue","change"],setup(e,{emit:t}){const n=e,o=t,a=vue.shallowRef([...n.modelValue]);vue.watch(()=>n.modelValue,i=>{a.value=[...i]},{deep:!0});const s=i=>{a.value=i,o("update:modelValue",i),o("change",i)};return(i,r)=>{const l=vue.resolveComponent("bk-search-select");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$b,[vue.createVNode(l,{modelValue:a.value,"onUpdate:modelValue":[r[0]||(r[0]=c=>a.value=c),s],"value-behavior":"need-key",data:n.options,placeholder:n.placeholder,uniqueSelect:!0,clearable:!0},null,8,["modelValue","data","placeholder"])])}}}),_hoisted_1$a={class:"agent-plugin-group"},_hoisted_2$8={class:"top-operate-area"},_hoisted_3$7={class:"buttons"},_hoisted_4$7={class:"agent-content-area"},_hoisted_5$4={class:"agent-cards"},_hoisted_6$3={class:"card-header"},_hoisted_7$2=["src"],_hoisted_8$2={class:"agent-summary"},_hoisted_9$2={class:"main-info"},_hoisted_10$2={class:"name-text"},_hoisted_11$2={class:"other-info"},_hoisted_12=["title"],_hoisted_13=["title"],_hoisted_14=["title"],_hoisted_15={class:"agent-desc"},_hoisted_16={class:"agent-btns"},_sfc_main$a=vue.defineComponent({__name:"agent-plugin-group",props:{properties:{},plugins:{}},emits:["select"],setup(e,{emit:t}){const n=vueRouter.useRouter(),o=vueRouter.useRoute(),a=[{id:"alias",name:"智能体名称"},{id:"created_by",name:"创建人"}],s=e,i=t,r=vue.ref("all"),l=vue.ref([]),c=vue.computed(()=>Object.keys(s.properties).map(y=>({id:y,name:s.properties[y]}))),u=vue.computed(()=>s.plugins.filter(y=>!y.display_content.hidden)),v=vue.computed(()=>{const y=u.value.filter(g=>r.value!=="all"?g.group===r.value:!0);return l.value.length>0?y.filter(g=>l.value.some(w=>w.id==="alias"?g.alias.toLowerCase().includes(w.values[0].id.toLowerCase()):w.id==="agent_type"?(g.display_content?.agent_type||"")===w.values[0].id:w.id==="space_name"?(g.display_content?.space_name||"").toLowerCase().includes(w.values[0].id.toLowerCase()):w.id==="created_by"?(g.display_content?.created_by||"")===w.values[0].id:!0)):y}),_=()=>{const{href:y}=n.resolve({name:"spaceResource",params:o.params});window.open(y,"_blank")},m=()=>{const{href:y}=n.resolve({name:"spaceResource",params:o.params});window.open(y,"_blank")},p=y=>{l.value=y},h=y=>{y.display_content.fetch_url&&window.open(y.display_content.fetch_url,"_blank")},f=y=>y?dayjs(y).format("YYYY-MM-DD HH:mm:ss"):"--";return(y,g)=>{const w=vue.resolveComponent("bk-button"),d=vue.resolveComponent("bk-alert"),k=vue.resolveComponent("bk-radio-button"),C=vue.resolveComponent("bk-radio-group");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$a,[vue.createVNode(d,null,{default:vue.withCtx(()=>[g[3]||(g[3]=vue.createTextVNode(" 如有需要,您可以申请更多的智能体权限 ",-1)),vue.createVNode(w,{theme:"primary",text:"",size:"small",onClick:_},{default:vue.withCtx(()=>[...g[2]||(g[2]=[vue.createTextVNode("点击申请",-1)])]),_:1})]),_:1}),vue.createElementVNode("div",_hoisted_2$8,[vue.createElementVNode("div",_hoisted_3$7,[vue.createVNode(w,{theme:"primary",onClick:m},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(icon.Plus),{class:"add-icon"}),g[4]||(g[4]=vue.createTextVNode(" 智能体 ",-1))]),_:1}),vue.createVNode(C,{modelValue:r.value,"onUpdate:modelValue":g[0]||(g[0]=B=>r.value=B),type:"capsule"},{default:vue.withCtx(()=>[vue.createVNode(k,{label:"all"},{default:vue.withCtx(()=>[...g[5]||(g[5]=[vue.createTextVNode("全部",-1)])]),_:1}),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(c.value,B=>(vue.openBlock(),vue.createBlock(k,{key:B.id,label:B.id},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(B.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),vue.createVNode(_sfc_main$b,{modelValue:l.value,options:a,placeholder:"搜索智能体名称、创建人",onChange:p},null,8,["modelValue"])]),vue.createElementVNode("div",_hoisted_4$7,[vue.createElementVNode("div",_hoisted_5$4,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(v.value,B=>(vue.openBlock(),vue.createElementBlock("div",{class:"card-item",key:B.id},[vue.createElementVNode("div",_hoisted_6$3,[vue.createElementVNode("img",{src:B.display_content.icon,alt:"",class:"agent-img"},null,8,_hoisted_7$2),vue.createElementVNode("div",_hoisted_8$2,[vue.createElementVNode("div",_hoisted_9$2,[vue.createElementVNode("div",_hoisted_10$2,vue.toDisplayString(B.alias),1)]),vue.createElementVNode("div",_hoisted_11$2,[vue.createElementVNode("span",{title:B.display_content.agent_code},"ID:"+vue.toDisplayString(B.display_content.agent_code),9,_hoisted_12),vue.createElementVNode("span",{title:B.display_content.created_by},"创建人:"+vue.toDisplayString(B.display_content.created_by),9,_hoisted_13),vue.createElementVNode("span",{title:f(B.display_content.created_at)}," 创建时间:"+vue.toDisplayString(f(B.display_content.created_at)),9,_hoisted_14)])])]),vue.createElementVNode("p",_hoisted_15,vue.toDisplayString(B.display_content.description||"--"),1),vue.createElementVNode("div",_hoisted_16,[vue.createVNode(w,{theme:"primary",size:"small",onClick:D=>i("select",B.id)},{default:vue.withCtx(()=>[...g[6]||(g[6]=[vue.createTextVNode("选择",-1)])]),_:1},8,["onClick"]),vue.createVNode(w,{size:"small",onClick:D=>h(B)},{default:vue.withCtx(()=>[...g[7]||(g[7]=[vue.createTextVNode("体验",-1)])]),_:1},8,["onClick"])])]))),128))]),v.value.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:0,"is-search":l.value.length>0,title:"暂无智能体",onClear:g[1]||(g[1]=B=>l.value=[])},null,8,["is-search"])):vue.createCommentVNode("",!0)])])}}}),AgentPluginGroup=_export_sfc(_sfc_main$a,[["__scopeId","data-v-f0779642"]]),_hoisted_1$9={class:"big-model-card"},_hoisted_2$7={class:"card-header"},_hoisted_3$6={class:"model-info"},_hoisted_4$6={class:"model-name"},_hoisted_5$3=["title"],_hoisted_6$2={class:"version"},_hoisted_7$1={key:0,class:"new-tag"},_hoisted_8$1={class:"other-info"},_hoisted_9$1={class:"other-info"},_hoisted_10$1={class:"model-desc"},_hoisted_11$1={class:"tag-list"},_sfc_main$9=vue.defineComponent({__name:"big-model-card",props:{card:{}},setup(e){const t=e;return(n,o)=>{const a=vue.resolveComponent("bk-tag");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$9,[vue.createElementVNode("div",_hoisted_2$7,[o[0]||(o[0]=vue.createElementVNode("img",{src:"",alt:"",class:"model-img"},null,-1)),vue.createElementVNode("div",_hoisted_3$6,[vue.createElementVNode("div",_hoisted_4$6,[vue.createElementVNode("div",{class:"name-text",title:t.card.name},vue.toDisplayString(t.card.name),9,_hoisted_5$3),vue.createElementVNode("div",_hoisted_6$2,"线上版本:"+vue.toDisplayString(t.card.version),1),t.card.isNew?(vue.openBlock(),vue.createElementBlock("span",_hoisted_7$1,"new")):vue.createCommentVNode("",!0)]),vue.createElementVNode("p",_hoisted_8$1,[vue.createElementVNode("span",null,"基座模型: "+vue.toDisplayString(t.card.baseModel),1),vue.createElementVNode("span",null,"激活参数: "+vue.toDisplayString(t.card.size),1),vue.createElementVNode("span",null,"任务阶段: "+vue.toDisplayString(t.card.taskStage),1)]),vue.createElementVNode("p",_hoisted_9$1,[vue.createElementVNode("span",null,"更新人: "+vue.toDisplayString(t.card.updateBy),1),vue.createElementVNode("span",null,"更新时间: "+vue.toDisplayString(t.card.updateTime),1)])])]),vue.createElementVNode("p",_hoisted_10$1,vue.toDisplayString(t.card.desc),1),vue.createElementVNode("div",_hoisted_11$1,[vue.createVNode(a,null,{default:vue.withCtx(()=>[...o[1]||(o[1]=[vue.createTextVNode("tag1",-1)])]),_:1}),vue.createVNode(a,null,{default:vue.withCtx(()=>[...o[2]||(o[2]=[vue.createTextVNode("tag2",-1)])]),_:1})])])}}}),BigModelCard=_export_sfc(_sfc_main$9,[["__scopeId","data-v-8a0aed6d"]]),_hoisted_1$8={class:"small-model-card"},_hoisted_2$6={class:"model-name"},_hoisted_3$5={class:"name-text"},_hoisted_4$5={class:"en-name"},_hoisted_5$2={class:"extend-info"},_hoisted_6$1={class:"model-desc"},_sfc_main$8=vue.defineComponent({__name:"small-model-card",props:{card:{}},setup(e){const t=e;return(n,o)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$8,[vue.createElementVNode("div",_hoisted_2$6,[vue.createElementVNode("span",_hoisted_3$5,vue.toDisplayString(t.card.name),1),vue.createElementVNode("span",_hoisted_4$5,"("+vue.toDisplayString(t.card.enName)+")",1)]),vue.createElementVNode("p",_hoisted_5$2,[vue.createElementVNode("span",null,"依赖历史数据长度 : "+vue.toDisplayString(t.card.dataLength)+" 天",1),vue.createElementVNode("span",null,"数据频率:"+vue.toDisplayString(t.card.frequency)+" 秒",1),vue.createElementVNode("span",null,"发布人:"+vue.toDisplayString(t.card.publisher),1)]),vue.createElementVNode("p",_hoisted_6$1,vue.toDisplayString(t.card.desc),1)]))}}),SmallModelCard=_export_sfc(_sfc_main$8,[["__scopeId","data-v-98fa588c"]]),_hoisted_1$7={class:"model-plugin-group"},_hoisted_2$5={class:"top-operate-area"},_hoisted_3$4={class:"search-area"},_hoisted_4$4={class:"mode-content-area"},_hoisted_5$1={class:"card-list"},_sfc_main$7=vue.defineComponent({__name:"index",setup(e){const t=[{id:1,name:"DeepSeek",version:"V1.0.1",isNew:!1,baseModel:"DeepSeek-R1",size:"51B",taskStage:"SFT",desc:"指由许多松散连接的小部分构成的程序。馄饨式代码可以和面条式代码作类比,后者用面条来代表程序的结构,而前者用馄饨(Ravioli)来代表程序中的对象。这种代码虽然,(Ravioli)来代表程序中这种代码虽然.这种代码虽然.这种代码虽然,这种代码虽然.这种代码虽然.这种代码虽然,这种代码虽然.这种代码虽然表程序中的对象。",updateBy:"harokoyang",updateTime:"2025-05-05 10:41:00"},{id:2,name:"DeepSeekDeepSeekDeepSeekDeepSeekDeepSeekDeepSeekDeepSeek",version:"V1.0.1",isNew:!0,baseModel:"DeepSeek-R1",size:"51B",taskStage:"SFT",desc:"指由许多松散连接的小部分构成的程序。馄饨式代码可以和面条式代码作类比,后者用面条来代表程序的结构,而前者用馄饨(Ravioli)来代表程序中的对象。这种代码虽然,(Ravioli)来代表程序中这种代码虽然.这种代码虽然.这种代码虽然,这种代码虽然.这种代码虽然.这种代码虽然,这种代码虽然.这种代码虽然表程序中的对象。",updateBy:"harokoyang",updateTime:"2025-05-05 10:41:00"},{id:3,name:"DeepSeek",version:"V1.0.1",isNew:!1,baseModel:"DeepSeek-R1",size:"51B",taskStage:"SFT",desc:"指由许多松散连接的小部分构成的程序。馄饨式代码可以和面条式代码作类比,后者用面条来代表程序的结构,而前者用馄饨(Ravioli)来代表程序中的对象。这种代码虽然,(Ravioli)来代表程序中这种代码虽然.这种代码虽然.这种代码虽然,这种代码虽然.这种dfafasdfasd",updateBy:"harokoyang",updateTime:"2025-05-05 10:41:00"}],n=[{id:1,name:"时序异常检测模型",enName:"Time Series Anomaly Detection Model",dataLength:35,frequency:60,publisher:"harokoyang",desc:"指由许多松散连接的小部分构成的程序。馄饨式代码可以和面条式代码作类比,后者用面条来代表程序的结构,而前者用馄饨(Ravioli)来代表程序中的对象。这种代码虽然,(Ravioli)来代表程序中这种代码虽然.这种代码虽然.这种代码虽然,这种代码虽然.这种代码虽然.这种代码虽然.这种代码虽然.这种代码虽然表程序中的对象。"},{id:2,name:"时序异常检测模型",enName:"Time Series Anomaly Detection Model",dataLength:35,frequency:60,publisher:"harokoyang",desc:"指由许多松散连接的小部分构成的程序。馄饨式代码可以和面条式代码作类比,后者用面条来代表程序的结构,而前者用馄饨(Ravioli)来代表程序中的对象。这种代码虽然,(Ravioli)来代表程序中这种代码虽然.这种代码虽然.这种代码虽然,这种代码虽然.这种代码虽然.这种代码虽然.这种代码虽然.这种代码虽然表程序中的对象。"},{id:3,name:"时序异常检测模型",enName:"Time Series Anomaly Detection Model",dataLength:35,frequency:60,publisher:"harokoyang",desc:"指由许多松散连接的小部分构成的程序。馄饨式代码可以和面条式代码作类比,后者用面条来代表程序的结构,而前者用馄饨(Ravioli)来代表程序中的对象。这种代码虽然,(Ravioli)来代表程序中这种代码虽然.这种代码虽然.这种代码虽然,这种代码虽然.这种代码虽然.这种代码虽然.这种代码虽然.这种代码虽然表程序中的对象。"},{id:4,name:"时序异常检测模型",enName:"Time Series Anomaly Detection Model",dataLength:35,frequency:60,publisher:"harokoyang",desc:"指由许多松散连接的小部分构成的程序。馄饨式代码可以和面条式代码作类比,后者用面条来代表程序的结构,而前者用馄饨(Ravioli)来代表程序中的对象。这种代码虽然,(Ravioli)来代表程序中这种代码虽然.这种代码虽然.这种代码虽然,这种代码虽然.这种代码虽然.这种代码虽然.这种代码虽然.这种代码虽然表程序中的对象。"}],o=vue.ref("big"),a=vue.ref(""),s=vue.computed(()=>o.value==="big"?"搜索 模型名称、基座模型、任务阶段、更新人、tag":"搜索 模型名称、发布人、描述");return(i,r)=>{const l=vue.resolveComponent("bk-radio-button"),c=vue.resolveComponent("bk-radio-group"),u=vue.resolveComponent("bk-select"),v=vue.resolveComponent("bk-input");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$7,[vue.createElementVNode("div",_hoisted_2$5,[vue.createVNode(c,{modelValue:o.value,"onUpdate:modelValue":r[0]||(r[0]=_=>o.value=_),type:"capsule"},{default:vue.withCtx(()=>[vue.createVNode(l,{label:"big"},{default:vue.withCtx(()=>[...r[2]||(r[2]=[vue.createTextVNode("大模型",-1)])]),_:1}),vue.createVNode(l,{label:"small"},{default:vue.withCtx(()=>[...r[3]||(r[3]=[vue.createTextVNode("小模型",-1)])]),_:1})]),_:1},8,["modelValue"]),vue.createElementVNode("div",_hoisted_3$4,[o.value==="big"?(vue.openBlock(),vue.createBlock(u,{key:0,class:"order-select"},{prefix:vue.withCtx(()=>[...r[4]||(r[4]=[vue.createElementVNode("span",{class:"order-select-prefix"},"排序",-1)])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(v,{modelValue:a.value,"onUpdate:modelValue":r[1]||(r[1]=_=>a.value=_),class:"search-input",placeholder:s.value,type:"search"},null,8,["modelValue","placeholder"])])]),vue.createElementVNode("div",_hoisted_4$4,[vue.createElementVNode("div",_hoisted_5$1,[o.value==="big"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},vue.renderList(t,_=>vue.createVNode(BigModelCard,{key:_.id,card:_},null,8,["card"])),64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},vue.renderList(n,_=>vue.createVNode(SmallModelCard,{key:_.id,card:_},null,8,["card"])),64))])])])}}}),ModelPluginGroup=_export_sfc(_sfc_main$7,[["__scopeId","data-v-cd4ca0c5"]]),_hoisted_1$6={class:"plugin-group"},_sfc_main$6=vue.defineComponent({__name:"output-plugin-group",setup(e){return(t,n)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$6,[vue.createVNode(EmptyException,{title:"暂无结论输出插件"})]))}}),OutputPluginGroup=_export_sfc(_sfc_main$6,[["__scopeId","data-v-474d5047"]]),pluginDefaultIcon="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAADwCAYAAAA+VemSAAAABmJLR0QA/wD/AP+gvaeTAAAdWElEQVR4nO3de3wU5b0/8M/32Q0J14oCu0GtP2yxSq5A6gWtLZJNIAEFQbRWba2VSz21PbUX7al9pbYee3rxVuVmEY/UC6ilFgiQS6MtpV4QkmyCaOpRj5pkAyiKkMvuzvf3B+CJYTfJ7s7ss7Pzfb9e/MHO7jOfwH4yszszzwBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCOAjpDpCuKlsOjBrSGbrEAC6AQh4M/iwBo4loKIMPAggA3ALQyy4jXHVJwamv6c4s7EcKbKIKZnWRv+NSJr4BQAmAIYN9LQENYFr2vmv/IwtzcnqsSynSiRTYBMxM1c2BqwhcAaazEhzuTVb4XkmO9y+mhBNpTQqcoJr6fWexO/QHMH3JzHEZWHlQHbhZx9a4rrljRDjM4wAgzPxxaYG3I9kZxOBIgRNQ3RS4DszLAAy3aBVVww8F506bdnqnReMDAKqbWz8Lw7UQbMwAURGAMX2echiAn4ieDxNvKM3xvmhlHjF4UuA4VDCrC5va/wugH1i9LgI2bs/1zK0gMsweu8rfWkSsbgdhNgAVw0sbiXDXjBzPOiJis3OJwZMCx4iZqaYp8AcA30zian/qy/PeadZg2/fuG9nZE/4dCDcgtuJ+CgM73Eb4m/INuj5S4BhVNbX9jpi+n+TVdlPYlV9cOPb1RAeqbWidYij1JICJJuQCgMOk+BvFOdlPmzSeiEHcv32dqLqx7XoN5QWATHaF70hkAGaman/7dwyldsC88gLAcDZoXU1jYJGJY4pBki3wIFXt6ZhIYaMewDBNEcLKZXxuxqTxb8f6wq3N75zsMjJWA5hrQa7jDFJ8pWyJk0u2wIPAzERhYxX0lRcAXEZYXRPri2r9gWkuI2M3rC0vACg26JFqf+s5Fq9H9CIFHoSapo55AL6iOwcYcwb71ApmVeNvv80APw/gsxam6m04oJ6se/PNrCStz/FkF3oQavzt9QwU6M4BIOge0Tlq+oQJXf09qcYf8BjgtQT4khXs03i5Ly/725aNzkw1e9pOR0iNJ6IRhkKnQRQY0zn27aIiClq13lQkBR7AtsbWixWp53Xn+AQj35fv9UdbXNMYKGbitQC8SUx1IqIFvlzPM2YNV/da65hQj/oqA3MIOB/AyAhPCxKokWHUKagNl+SO+2e6H6eWAg+gxt/+EAPf0p3jOAKVFOd5qvs+XlfH7vCYwM8ZuBWp8dHoYCjEk2dNzn4rkUEqd7WNzRhCPwPjWwBi3TXfS0z3vu/avyZdLxBJhf/olMXMxMBs3Tl6CxOf8Cbe5n/v9NCYwHMM/ASp8396kttNT+zcyRnxDlDV2HZFRgbtBePfEHt5AeBsJl4x2jhlb1Vz+6Xx5khlqfKfnZLqGlvPgu5d0T6Iqbv336sb2y9TcNUDuFBTpP6cfzCr4xfxvLCqqe0OIloP4GQTckwgA89W+9v/WNlyYJQJ46UMKXA/DOUq1J2hL4MQAIDKlpbMKn/7fSBsgDlvcksw8w+r/IGSWF5T42+/k5hutyDO1zK6gi/U+gOfs2BsLaTA/WDGBN0Z+ggHu8ItVXs6JmZ0jdpBwM1I/e8xFIEfrWvuGNSeTHVT4LpjHwWsco4B3v7X5rYcC9eRNFLgfjBotO4Mn0YNWUPUXAobrwA8RXeaGHhChrG2grnf91tNY+DMY5dnWs0bNqimpjFwZhLWZSkpcD8UGS7dGT6NPwfCY4h8CCXVFV/UFPhxv88gvhfWXVvdl5eJN9v9M7EUuB8MdUh3hj4+oztAIhi4o9YfmBZpWW1z27mMwZ9pZpKzM7qCq5K8TlNJgfvF7+hOkGbcBvjxTY1vn/DRxDDoZh2BAFxZ7W9bqGndCZMC94NhNOrOkIbOyKLM1b0f2LHjnaGw/mKL6Jju2dbQnqxdd1NJgftxcnd2A4CPdOdINwzMq2pqu+n434+MHHIRkvfZ90SE8YrwHW3rT4AUuB9FRRQEYZPuHOmImH67tSlQAAAMPld3HhC+V9nSkqk7RqykwAMwDGOl7gxpKsvF/GRdc8cIIvq87jAAPEO6RurbjY+TFHgApfnj/wYgda5GSi9nB8P8ADP3ncZWC2ZcrTtDrFL9LJ6UsLUpUOBifhlA3Cfmi359BCAVjsd2BrMOjS6bOLF74KemBtkCD8LMXE8DwP+hO0caS4XyAsDQzK5RU3WHiIUUeJB8edm/YUA+D6c5JiPlLmDpjxQ4Br5cz1Iw7tGdQ1jHAGx1pZIUOAZExL587/cZdB3k+HBaIj7hvlApTQoch5I8z1oVdk8C+FEAYd15hHmI1FDdGWIhBY7TjMIx7/nysr9OTGcR8J8gTvi2J0I/NjikO0Ms5DCSieoa3j0tpFwFAJ0J8CSAFkF+SdoL4QFfrtc2p1XKm8tE0wtOe9eXl72ZFLcBdBXk39eO3tAdIBZu3QHSSd2bb2aFPs66mw1aqjuLiBNzve4IsZACm2RbY+vZoY/VOgD5urOIuHUOPxR6UXeIWMgunglqmtq+rkjthJTX5njLtGmnd+pOEQvZAiegrrljRMgIL2Oma3VnEYljxuqBn5Va5FvoOFU1dxQSh9eB6SzdWYQp6otzPVPsdi8l2YWOQ3Vj27+RYfxTyps2mIi/b7fyArILHZNNjW+PzqLM1QzM051FmIjwYHFudp3uGPGQAg9SrT8wzQA/zsAZurMIUz3/AR24RXeIeMln4AFUMKsL/YEfgfALyC+8NMPbg1lDyssmnmLbC1OkwP2o8Qc8fPSChZhuziVsYY17ROe3p0+Y0KU7SCJkixJFVUP7DAb/ESl2e1GRsD2k1C3FOeO26g5iBtkC91FXx+7QmEAFgNsg39LbQRADz1XWDaCamFZvzxv3lwoiIwm5kkIK3Ms2/3unK6jHAbpIdxYxaP+CgWvhorMIxucYdHSPycARAr1jMDdkuNWL03PGfaw5pyWkwMdUNbdfSgYeBnCK7iwiZut9ed4rdYfQwfEF3rmTMw5mBn7D9rhZtoiGsMiX631Id4xkc/QbduPO1mFZmfQngEp1ZxEJ6wTjPF++1687SDI59kuaujp2Z2Wqp6S8aWMoCOvsepfBeDm2wMGx7f8FoEx3DmGqc4joQd0hksmRu9A1TW3TmakWDv350x7R1325nkd1x0gGx22B169nl2HQ7yHlTV/My7Y1tp6tO0YyOK7AJ08KXEGEHN05hKWGK1Lrdux4x1ZzPMfDcQUGy4RzDpF/eFTGvbpDWM1Ru5FVe/eNp2D4XTjs53YyAq4qzvOu053DKs7aAgeNGZDyOgoDq7Y2d3xedw6rOKrAxDxFdwaRdKPcBj9Z2dKSqTuIFRxVYBDS9jexiI7BU91dI3+tO4cVnFVguVDBsQj4TpU/kHZzmTmrwOywn1f0RgpYXbunNa3mNHPUG5pJbsrtZAwebYTVkzt38kATANiG06bU+V/dAQbpbQIaAfwPA/uYj96zlghDCXQqAxMBFAL4jNaU9nT+B5kddwL4ke4gZnBUgQlo0J0hCgbwHAhPuMOhLdMLTnt3oBdUMKvzmzvyFHO5AhYyUJCEnGmCf1DV2PZcSX52pe4kiXLUMdEafyCfwalU4jARrWUO/9qXN/7VRAaq8rcWAeoWAhbCYR+N4rQ/7HLlz5w0tk13kEQ4qsAAUO1vbwH0H05i4CWDaNHMXI+pv1C2NbTnKoV7ABSbOW6asv1UPI77Tc3Mf9AdAYRfZez3XGh2eQGgtMDb5Mvz+sD8TQBpOZGbia7Y1tx+nu4QiXBcgTPCWSsJ9IGm1YeJ+Hpfrve26dMpZOWKfPnZawDjXAAtVq7H5ojC9APdIRLhuF1oAKjxt9/MwH1JXi0T8fXFudn/PdATV27cOYzVkCIizjHA2QQMASNI4HaD1KtDgpkv33DZ2YcGs9K611rHhHpc2wA5jTSKILlD2cXnnHZAd5B4OLLAFczqwqbAXwF8OVnrZOCukjzvT6IuZ6aHtvhnGsSLwVwKIKuf4UIA/kZMT8AIPr54TtGR/ta9tfmdk11GxvMAcuNLn94YdF1Jnmet7hzxcGSBAaC2fv+phitUD2CM5StjvOg+4Lko2m7zsk2NUxUZy0A4N/ahsQ+Eu9TY0AOLi4qC0Z5Xu6f1DCOsXgYwNtZ1pD3CKl+ud7HuGPFw3Gfg42YUjnkP4G/g6DFYKxlwqaXRyrtyS8PNShn/jKe8AEDAWGLczQH3yysqd02K9rwZk8a/DaJrYf3PazvM9t0zcWyBAcCXl72Zie+xeDVP+XLG7Y60YGVl/e3MfB8GvrfPwAgFgHpx5dbd5dGe4sv1bCNgdcLrSjMEnKo7Q7wcXWAAOEjv3wbg5WN/3Q/m3QBqADzPjGYcvTFW3Igp4pdly7c0XMXAHYmMHcEINmjD8s31s6M9oSfIPwHknPA+RugOEC/HfgburcYf8FDY5T66W/1pdXXs7jmlrUApNYuY5jJ4agxD/8uX553Y98GHK3eN7YF6DcDoRHL34zCxumBxeX7EuxRUN7XfBcatFq3bjtp9ed5s3SHi4ahzoaMpzvMEoi079tn1lWN/flm7p/WMcFjNJWAegIsAuKK9loGI59r2sOuHILaqvAAwnMl4fP365qkLF+b09F3oDoceDCn3D9FPdofZrztAvBy/Cx2rGZPGv12S573Pl+f9SjDI2QR8C8AmACfc6V0R/tn3sYq6OjeIr09C1NwDI4M3RVpw7GKJuiRksAl+XXeCeEmBE1A2JXtfcZ53tS/PO2dohmscwFcy8CSOfcaksHHCG8PTedJ5SMahKwDE+OH69c1DIi4DNiYjgx0Q4UXdGeIlu9AmuejssYcArAewvrKlJTOzc8QlRjDrjROfSZOTGCv7/eE9swA8e0IKw9jOSn5/AwBYbdUdIV5SYAuUTZzYDWBLpGVEPB6cxO8OicoQocDdww43Z3SNNODwvTBmNPvyPY26c8RLCtzH/ZUvjMrgrIsVUT4TjycDbiYEmOhVRcHnF88sSuz6UTbhmG8MiBDxW/OyiRO7q/3t+wB4kpkn1SjQ/bozJEIKfMzyyvrJBPwYwFwQMhkMMD7ZWBIzmN28orLhBQI/YxA/s3TW5LdiXhGr90HJOxmKGaf1s/gjOLvA//O+a/8jukMkwvEFfnRbw/DOEP+OgRsx8O4kAXwBAxcQ029Xbql/BcDTHOJnlsyZPLjL9hS/luSTGfvb4jv5MBKTUjctzDnxMJudOLrAK7fuzD4S4i1HT0OMHTOmApgKF921YnN9AxGeYRjPLCmbsifqaxRtpzAn87PnwWgLCDSanXpqNOPe4pxxtv3y6jjHnom1bFPjaJfifzD4HLPHJtCrBvhpUsYzS2ZOOWHWjRWV9bUALjF7vRExNi8pLzzh1Mq63R+cFHJ365rYQLdN7v2eeVZPqpAMjv0G0qXCj1hRXgBg8DkE3A5D1a+srG9Zvrn+rhWbdxV9spxh9QUU/4fouUgPB1V3LKeEppM/B7MOLUiH8gIOLfCKyoYFDLo0Geti4PNEuBWkXl5RWf/m8sr635IyDgCoTcLqe4Lu8OORFpDC9CSsP5UYAO784FXPgmOH+dKC43ahmZlWbmlohP7ZKToBWHsHeaZlS8oLTjidkpmppinwOlJgds4kCRybdaNKdxCzOe5LrOVbGs9T+ssLWFxeBlozXO7bIy2r3bOvFE4pL6HWTeqa6Tnj2nVHsYLjdqEJvEB3hiToUoQrvzUz5/2+C5iZOGxUaMiUbCEAP/1HjqckXcsLOKzAzEwEzNedw2KHFdTli2cVbo+0cGt9+xkgDuLoZ8J09Q4ZxiW+PO+dFUTp/HM66zPwqi27v2gwvaQ7h4X8xOpr0S7k763utdYxoaCrDMxXACgBEPGqJbshYCPcoevtOk1srBz1GZiZ0nX3+XUw7iFPaHV/M1P2Nv0L4/cDeBTAo5sa3x49BEOKiTAHoHmw5xQzIYDv3J7rvSPdt7q9OavA4PlpuNMRBqiBwe8PO5AxBMCgCtzb7PwzPgDwFICntjW0D1eKy8G4HkSlsMc/2BsM46qSvPE7dQdJNjv855hi5daGKWzwK7pzWKwLQA1AT1FG8NnFvqIPExmsurljMoWN3zIl6ayx+KwLZmUsKpt4iiMn6nNMgVds2f2fYLpNd44k6mamvxOwid14YmlpQUc8gzAz1fo7FjHxvej/bhHJ1gnCd3253od0B9HJOQWurN8L4Au6c2gSBvACmJ4Kw73upvKcmA+rVDe0nw+FTQBOMT9ezPYYBq4sLfA26Q6imyMKvGLrrgIYql53jhTxSZnJFVwfywQF1c0dk2EYzwEYZVm6gT3c1W18Z07R+H7vB+UUzihwZf3PAfxMd44UFGbQdsB4TIXDjw10kzQAqPa3lQO0Ecl/7xwCY4kv3xvx3G6ncsqJHOl6+ChRLgJ/mUCr2OV+Y0Vlw3UDvcCXl70ZwANJyNYL7WKXmirlPVHab4GP3vBLNevOYRvMT2QOO+mb10+fcMI818dVthwYldEVbAEwzvI0wO9DWYd+lE5XEJnJAVtgJVvfWBB9tbvzwz9Hm08aAMomnvIRM99tcZL3wZhXkuf9rpQ3OgcUWHaf41B6YETPvf09QWWE/4AEb/wWDQM7oIzJvnzvCdPhik9L6wKv2lx/FoA83TnsiEBLV23dVRxt+bFzjatNXq3BwF0Z+z1f9uWM/1+Tx05LaX0qJRMt6HU/63fBaGDFbcRkMGgEgc8GkI80/3eIl2GoXwOYEvUJhFowot7KNEYBAl3ry/OY/UshraX1G9cASojpN6DwI9FmilyzYfdJXZl0OQHfg2yt+5q8bGvDl749s+DvkRZS2HjFlNuzpPlF91ZK22+h169f7/pg6JmjF88pGtStIysqWHm/2LAIhN/AnlfjWIIZ9y8tL/xupGW19ftPNVyhdxMYPgSg4h+5nrucdAWRmdK2wPFavqkhlxRvAfq9o4GT7FpSVhhxBsujVy7h4zjHfQdKXe3LGRdx4gExOGn9JVY8ls4uaAqr8HQAcZ38n4Ymmj0gARvJHZos5U2cFDiCm2ZO/RcZuArpPe3MYI2sqOCI7xPKdH0mxrF6QPj3Gbmey5wyY4bVpMBRLJ5dWAemFbpzpIBQRUWUz6chY0IM47zBMC705XrvJUri3d3SnBS4H+zGzwE4+qoXAt6Luow5+iGmXhh4MpiVMcWJM2ZYTQrcj6WlBR1gPKE7h04M7O5n8UAzdXSCsKgkz/tVp86YYTUp8ACUy3hSdwadCBTxbgYbd7YOA+Dr56V7CXS+02fMsJoUeABdxsi/4+hcU05khNi9IdKCrEzXTADDI7+M1xoGiorzPI0WZhOQAg/o5rKJ3QCi3u83rTH+EW36HQLPi/DwIWK6xpeXfV1pgfewxekEpMCDw3hLdwQdSNHTkR7fuZMzACrv8+xd7FJTi/M9jyUjmzhKCjwYhISmZ7UpVow/RVpwcOi+GQwe/ckDhFXBrI+mlUwa15K0dAJAml/MYB52Oe+sU3rhxrKCiOc5MxvHd58/ZOYbS/Kyn0piMNGLbIEHhU7WnSDZCPxMpMcrmBUYlzLwkmFgckm+lFcn2QIPzpm6AyQZGxS5wBc1tl1oKLX+5G7PD4qKKObbuAhzSYEHsPrZvSOD6HLYhPD0ytJZhW9FWuIa1f1y8YQJEa8PFsknu9ADCGZ0fwWAS3eO5OKI3z4DwPQJ0WerFMknBR4QX6k7QbKFVTji7rNIPU77ajUmDz3r94Qzwm8htW7qZbX6JWWFk3WHEINj+y3wmro3LStXOMO4Fc4qL8CQra+N2L7A3Z0f3mNFiZdvasgF+Cazx0115FZRP/+K1GPrb6Hvr3xhFIDruzoPvgvgTrPGXVP3ZlZ354drAWSYNaZNNC8uzd9bUcHKc179xWD4iKmAFLwAwIxDDH6VoP7ag2Ebj50nLjSy9Wfg5ZW7v0agPwLoZoWLl84sfCnRMSsqWHnPa3gCjIUmRLQXxi8J9DYT34YBjn0zsI+A3/Vg+L1SZH1sXeAVlfUbAMw99td2g+gr355V8Fq8463cuTODO9xrAHzNlIA2w0ArAeNjfJk/rMKX3zRz6r8sCSX6ZdsCP1jXPMLVGewAMLTXwx1EmL94VmHMsx0+uM1/uisUfgyEL5mX0hkY2KdYzVhcnu/XncVpbFvgFZX1VwKINFtGiIH7srr5l9fPm3xwoHHuXr9j6LDhw5aC8DMAsc6yKP7Pu+yiqUtLC2Q63iSy8ZdYvCDK7x83Abd0Z9KNKyrr/5sMbACHXux99/kH65pHqM7QuQTjUgDXADglWanT2GkqbDwE4DLdQZzEllvglRt3DmOXex+AYYN8CQNoB9B57DUe2PRnT3UElC4uK4w4j5Ywny2PA7MrowyDLy9wtKzZOPrNqhdSXssw8GPdGZzElgUm8HzdGURU0x/YvOsM3SGcwnYFvnv9jqEM0+5JK8xHGeQq0x3CKWxX4OEjhpZCbv+Z0gzgPN0ZnMJ2BWbQAt0ZRP8IOEt3BqewVYHvr2zJhOw+24AxTncCp7BVgYfwxxdDTrZIeQSy8fkF9mKrAoPoAt0RxMAY+Fh3BqewV4EZsdyPVugT9Zakwly2KjARRurOIAbGgFzUkCS2KjCD5YZZNqDAMV8NJuJjqwID9JbuBGJAR9zBobW6QziFrQpMihOecUNYjZ++4bKzD+lO4RS2KjCC4TrIN5xmGPA66TgxFN9t0dgiAlsVePGcoiNgelR3DnvjA8T8U4sGf3zJzCkNFo0tIrBVgQEg7Fa/AnBkwCeKyJj+fPhw58Mw+VAPA/tcQdctZo4pBma7At9UmvcOEd2mO4d90dPfXzitE6DvmThoGIRrb7wsL2DimGIQbFdgAFg0M//3AMuudOw+OPmw+68AsKSs4GkwLTNhTAOMG5fOKtxmwlgiRrYsMBFx+9CDNwBYozuLnTDoLwsX5vQc//vJh1+7mQhrExiyE8DVS8oL5f9BE9tPLbO8cveNBPo1gJN0Z0l1zJiztLxw06cfY1q1teHHzPg5gCExDLeLWH1DppLVy5Zb4N6Wlk1+iMKhiWD8koFW3XlS2IdBGl7d90Ei4sWzCn9lEOUDWAcgNMA49cy4rv2lgi9KefWz/Ra4t4oKVtnnNUxj5gUAzQdwmu5MKeSxJWWF1wz0pAc3N3vdqqeUGZNBlA0mYhj7FaMZblft4tL8vckIKwYnrQrc16qt9TnhMF9BRFcDmKg7j1bMc5eUT35WdwxhrrQucG+9ynwVgC/ozpNkHx/5+Mi4o4ePRDpxTIF7O15mRWohg8/RncdyzE8sKZ98te4YwnyOLHBvn5RZ0WxmTNWdxwrMtGBpecEzunMI8zm+wL0t29R4piKeA+IrAFyoO49Jjgxz0bjrSgvkWuo0JAWOYvmW3f+PDHXZsTJPg23/reipJWUFzrtZuUPY9E2ZXA9s3nWGG665Ni3zVUvKCtfpDiGsYac3Yko4eiNw4/JjZb4AqX0yTFdGMGucXGCfvqTACVi+sf5U5ab5zMZ8gC5C6pX5z0vKCufpDiGsIwU2yYObm70u1XM5mOYD+DIAl+5McvJG+pMCW+Dhyl1jg6TmMWM+gEsA6LhTQVP7SwUFFRVkaFi3SBIpsMUeqHnxFFdP5mUEmg9wMWK74idehoJxyaKyKc8nYV1CIylwEq3ZsPuk7kx1KcALAPgAZFmxHgZ+sbSs8GdWjC1SixRYk/srXxiVyZmzmWgBgJkAhpoxLgEPLJpVcDMRsRnjidQmBU4Bj25rGH44xOVEtADgMgDD4ximC0y3LikvuM/sfCJ1SYFTzMqNO4ex2z0TBi8A0WxgwPtBhQH6k2L+6aLywteTkVGkDilwCltT92ZWd+dHPgKXMKMAhFOPLTpCwGsg+pti/OnGsoJ3tQYVQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEHH6/wXOXW9gEVklAAAAAElFTkSuQmCC",_hoisted_1$5={class:"bkflow-plugin-group"},_hoisted_2$4={class:"plugin-content-wrapper"},_hoisted_3$3={class:"tags-list"},_hoisted_4$3=["onClick"],_hoisted_5={class:"plugins-list"},_hoisted_6={class:"plugin-icon-wrapper"},_hoisted_7=["src"],_hoisted_8={class:"plugin-info-wrapper"},_hoisted_9={class:"plugin-name"},_hoisted_10=["title"],_hoisted_11={class:"managers-text"},_sfc_main$5=vue.defineComponent({__name:"bkflow-plugin-group",props:{bkflowPluginTags:{},activedTag:{}},emits:["selectBkflowPlugin"],setup(e,{emit:t}){const n=useFlowApiConfig(),o=e,a=t,s=vue.ref([]),i=vue.ref(o.activedTag||0),r=vue.ref([]),l=vue.ref(!1),c=[{id:"name",name:"插件名称"}];vue.onMounted(()=>{v()});const u=m=>{i.value=m,v()},v=async()=>{if(l.value=!0,r.value=[],i.value===0){const m=await n.fetchBkFlowInnerPluginList();r.value=m.map(p=>({code:p.code,name:p.name,logo_url:pluginDefaultIcon,desc:p.desc||"--",managers:["BkFlow"],version:p.version}))}else{const m=await n.fetchBkFlowThirdPartyPluginList(i.value);r.value=m.map(p=>({code:p.code,name:p.name,logo_url:p.logo_url,desc:p.introduction||"--",managers:p.managers,version:"1.0.0"}))}l.value=!1},_=m=>{const p=r.value.find(h=>h.code===m);if(p){const{code:h,name:f,version:y}=p;a("selectBkflowPlugin",{code:i.value===0?h:"remote_plugin",name:f,data:i.value===0?{}:{plugin_code:{hook:!1,value:h}},version:y})}};return(m,p)=>{const h=vue.resolveComponent("bk-button"),f=vue.resolveDirective("bk-loading");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$5,[vue.createVNode(_sfc_main$b,{modelValue:s.value,"onUpdate:modelValue":p[0]||(p[0]=y=>s.value=y),options:c,placeholder:"搜索插件名称"},null,8,["modelValue"]),vue.createElementVNode("div",_hoisted_2$4,[vue.createElementVNode("div",_hoisted_3$3,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.bkflowPluginTags,y=>(vue.openBlock(),vue.createElementBlock("div",{key:y.id,class:vue.normalizeClass(["tag-item",{actived:i.value===y.id}]),onClick:g=>u(y.id)},vue.toDisplayString(y.name),11,_hoisted_4$3))),128))]),vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_5,[r.value.length>0?(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:0},vue.renderList(r.value,y=>(vue.openBlock(),vue.createElementBlock("div",{key:y.code,class:"plugin-item"},[vue.createElementVNode("div",_hoisted_6,[vue.createElementVNode("img",{src:y.logo_url||vue.unref(pluginDefaultIcon),alt:"plugin-icon"},null,8,_hoisted_7)]),vue.createElementVNode("div",_hoisted_8,[vue.createElementVNode("h4",_hoisted_9,vue.toDisplayString(y.name),1),vue.createElementVNode("p",{class:"plugin-desc",title:y.desc},vue.toDisplayString(y.desc),9,_hoisted_10),vue.createElementVNode("div",_hoisted_11,vue.toDisplayString(y.managers?y.managers.join(","):"BkFlow")+" 提供",1)]),vue.createVNode(h,{theme:"primary",size:"small",onClick:g=>_(y.code)},{default:vue.withCtx(()=>[...p[1]||(p[1]=[vue.createTextVNode("选择",-1)])]),_:1},8,["onClick"])]))),128)):(vue.openBlock(),vue.createBlock(EmptyException,{key:1,title:"该分类暂无插件"}))])),[[f,{loading:l.value}]])])])}}}),BkFlowPluginGroup=_export_sfc(_sfc_main$5,[["__scopeId","data-v-9ce4f434"]]),_hoisted_1$4={class:"plugin-select-slider"},_hoisted_2$3={key:0,class:"plugin-select-content"},_sfc_main$4=vue.defineComponent({__name:"index",props:{show:{type:Boolean,default:!1},flowId:{},actived:{default:""},bkflowTag:{default:0},pluginGroupList:{default:()=>[]}},emits:["close","update:show","select"],setup(e,{emit:t}){const n={data:DataPluginGroup,agent:AgentPluginGroup,model:ModelPluginGroup,bkflow:BkFlowPluginGroup,output:OutputPluginGroup},o=e,a=useFlowApiConfig(),s=t,i=vue.ref(o.actived),r=vue.shallowRef([]),l=vue.ref(!1),c=vue.computed(()=>n[i.value]||null),u=vue.computed(()=>o.pluginGroupList.find(y=>y.name===i.value)?.properties||{}),v=vue.computed(()=>o.pluginGroupList.find(y=>y.name==="bkflow")?.children||[]);vue.watch(()=>o.show,()=>{o.show&&(i.value=o.actived,i.value!=="bkflow"&&_())});const _=async()=>{if(!a?.fetchCategoryPlugins){console.warn("fetchCategoryPlugins is not provided in api");return}l.value=!0;try{const y=await a.fetchCategoryPlugins(i.value),g=o.pluginGroupList.find(w=>w.name===i.value);g&&y.forEach(w=>{w.category_id=g.id}),r.value=y}catch(y){console.error(y)}finally{l.value=!1}},m=y=>{i.value=y,y!=="bkflow"&&_()},p=y=>{const g=r.value.find(w=>w.id===y);s("select","projectPlugin",g)},h=y=>{s("select","bkflowPlugin",y)},f=()=>{s("close"),s("update:show",!1)};return(y,g)=>{const w=vue.resolveComponent("bk-sideslider"),d=vue.resolveDirective("bk-loading");return vue.openBlock(),vue.createBlock(w,{title:"节点选择","is-show":o.show,width:1200,"esc-close":!1,"before-close":f},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$4,[vue.createVNode(PluginGroupsAside,{actived:i.value,"onUpdate:actived":g[0]||(g[0]=k=>i.value=k),groups:o.pluginGroupList,onChange:m},null,8,["actived","groups"]),o.show?vue.withDirectives((vue.openBlock(),vue.createElementBlock("section",_hoisted_2$3,[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(c.value),{plugins:r.value,"bkflow-plugin-tags":v.value,"actived-tag":o.bkflowTag,properties:u.value,onSelect:p,onSelectBkflowPlugin:h},null,40,["plugins","bkflow-plugin-tags","actived-tag","properties"]))])),[[d,{loading:l.value}]]):vue.createCommentVNode("",!0)])]),_:1},8,["is-show"])}}}),PluginSelectPanel=_export_sfc(_sfc_main$4,[["__scopeId","data-v-043824f1"]]),_hoisted_1$3={class:"flow-canvas-container"},_sfc_main$3=vue.defineComponent({__name:"index",props:{mode:{},flowId:{},pipelineTree:{},spaceFlowConfig:{},systemVariables:{default:()=>[]},pluginGroupList:{default:()=>[]},thumbnail:{type:Boolean,default:!1}},emits:["change"],setup(e,{expose:t,emit:n}){const o=e,a=n,s=vue.ref(),i=vue.ref(),r=vue.ref({show:!1,nodeId:"",edgeId:"",condition:null,hasDefaultBranch:!1,isDefault:!1}),l=vue.ref({show:!1,node:null}),c=vue.ref({show:!1,actived:o.pluginGroupList[0]?.name||"",bkflowTag:0,node:null}),u=b=>{if(o.thumbnail)return;const x=o.pipelineTree.activities[b.id];x&&(l.value={show:!0,node:x})},v=b=>{if(o.thumbnail)return;const x=o.pipelineTree.flows[b.id];if(x){const N=o.pipelineTree.gateways[x.source];if(N){const P=!!N.default_condition&&typeof N.default_condition.flow_id=="string";r.value.hasDefaultBranch=P,r.value.nodeId=x.source,r.value.edgeId=b.id;const{default_condition:L,conditions:j}=N;L&&L.flow_id===b.id?(r.value.condition=L,r.value.isDefault=!0):j&&j[b.id]&&(r.value.condition=j[b.id],r.value.isDefault=!1),r.value.show=!0}}},_=(b,x)=>{const P={x:o.pipelineTree.location.find(j=>j.id===b).x+200,y:w(b,x)},L=`node${uuid()}`;k(b,{id:L,type:x,position:P,data:{id:L}})},m=(b,x,N)=>{const L=o.pluginGroupList.find(W=>W.name===N).children.find(W=>W.id===x);if(!L)return;const{id:j,name:K,alias:ee,meta_url:J,api_key:A="incident",category_id:z}=L,G={x:o.pipelineTree.location.find(W=>W.id===b).x+200,y:w(b,"tasknode")},H=`node${uuid()}`;k(b,{id:H,type:"tasknode",position:G,data:{id:H,name:"",component:{code:"",data:{},version:""}}}),setTimeout(()=>{y(H);const W=o.pipelineTree.activities[H];if(W){const q={...W,name:ee||K,component:{code:"uniform_api",data:{},version:"v2.0.0",api_meta:{id:j,name:K,alias:ee||K,meta_url:J,api_key:A,category:{id:z,name:N}}}};l.value={show:!0,node:q}}},100)},p=(b,x,N=0)=>{const L={x:o.pipelineTree.location.find(K=>K.id===b).x+200,y:w(b,"tasknode")},j=`node${uuid()}`;k(b,{id:j,type:"tasknode",position:L,data:{id:j,name:"",component:{code:"",data:{},version:""}}}),setTimeout(()=>{y(j);const K=o.pipelineTree.activities[j];K&&(c.value={show:!0,actived:x,bkflowTag:N,node:K})},100)},h=b=>{const{id:x,type:N,position:P,data:L}=g(b);d(x,N,P,L)},f=b=>{const{id:x,type:N,position:P,data:L}=g(b);P.y=w(b,N),k(b,{id:x,type:N,position:P,data:L}),setTimeout(()=>{y(x)},100)},y=b=>{const x=s.value.graph.getCellById(b),{x:N,y:P}=x.position(),L=x.getBBox().width,j=o.pipelineTree.activities[b];if(j&&j.outgoing){const K=o.pipelineTree.flows[j.outgoing].target,ee=s.value.graph.getCellById(K),{x:J,y:A}=ee.position(),z=J-N;if(z<L+50&&Math.abs(A-P)<40){const F=J+L-z+50;ee.position(F,A);const G=[...o.pipelineTree.location],H=G.findIndex(W=>W.id===K);H>-1&&(G[H]={...G[H],x:F},E({...o.pipelineTree,location:G}))}}},g=b=>{const x=`node${uuid()}`,N=o.pipelineTree.location.find(K=>K.id===b),P={x:N.x+200,y:N.y};let L,j={};if(o.pipelineTree.activities[b])j={...o.pipelineTree.activities[b],id:x,incoming:[],outgoing:""},L="tasknode";else{const K=o.pipelineTree.gateways[b];L=K.type==="ExclusiveGateway"?"branchgateway":K.type.toLowerCase(),j={incoming:[],outgoing:Array.isArray(K.outgoing)?[]:""}}return{id:x,type:L,position:P,data:j}},w=(b,x)=>{const N=o.pipelineTree.location.find(j=>j.id===b),P=N.type,L=N.y;if(P.includes("gateway")){const j=o.pipelineTree.gateways[b];return Array.isArray(j.outgoing)&&j.outgoing.length>0?j.outgoing.reduce((ee,J)=>{const A=o.pipelineTree.flows[J].target,z=o.pipelineTree.location.find(F=>F.id===A);return Math.max(ee,z.y)},0)+100:x.includes("gateway")?L:L-10}return x.includes("gateway")?L+10:L},d=(b,x,N,P={})=>{const L=x.includes("gateway"),j=s.value.graph.addNode({id:b,...N,shape:"custom-node",width:L?34:154,height:L?34:54,data:{type:x}});return j.setZIndex(o.pipelineTree.location.length),L?s.value.createGateway(b,x,N,P):s.value.createActivity(b,N,P),j},k=(b,x)=>{const N=d(x.id,x.type,x.position,x.data);setTimeout(()=>{C(b,N.id)},10)},C=(b,x)=>{const{activities:N,gateways:P,start_event:L,end_event:j,location:K}=o.pipelineTree,ee=K.find(F=>F.id===b),J=K.find(F=>F.id===x);if(!ee||!J)return;let A="";N[b]?A=N[b].outgoing:P[b]?A=P[b].outgoing:L.id===b&&(A=L.outgoing);const z=B(A,b,x);s.value.insertEdgesToCanvas(z)},B=(b,x,N)=>{const P=[];if(Array.isArray(b)){let L="Right";o.pipelineTree.gateways[x]&&b.length>0&&(L="Bottom"),P.push({id:`line${uuid()}`,source:{arrow:L,id:x},target:{arrow:"Left",id:N}})}else if(b==="")P.push({id:`line${uuid()}`,source:{arrow:"Right",id:x},target:{arrow:"Left",id:N}});else{const L=o.pipelineTree.flows[b];L&&(s.value.deleteEdges([b]),P.push({id:`line${uuid()}`,source:{arrow:"Right",id:x},target:{arrow:"Left",id:N}},{id:`line${uuid()}`,source:{arrow:"Right",id:N},target:{arrow:"Left",id:L.target}}))}return P},D=b=>{const x=[];if(o.pipelineTree.activities[b]){const N=o.pipelineTree.activities[b];x.push(...N.incoming),N.outgoing&&x.push(N.outgoing)}else if(o.pipelineTree.gateways[b]){const N=o.pipelineTree.gateways[b];x.push(...N.incoming),Array.isArray(N.outgoing)?x.push(...N.outgoing):N.outgoing&&x.push(N.outgoing)}s.value.deleteEdges(x)},R=b=>{s.value.deleteNode(b)},V=b=>{s.value.deleteEdges([b.id])},O=(b,x)=>{const N={...o.pipelineTree.gateways};if(N[r.value.nodeId]){const P=lodash.cloneDeep(N[r.value.nodeId]),L=P.conditions||{},{name:j,tag:K,evaluate:ee="",loc:J}=b,A={name:j,tag:K,evaluate:ee.trim()};J&&(A.loc=J),x?(delete A.evaluate,A.flow_id=r.value.edgeId,P.default_condition=A):L[r.value.edgeId]=A,!r.value.isDefault&&x?L[r.value.edgeId]&&delete L[r.value.edgeId]:r.value.isDefault&&!x&&P.default_condition&&delete P.default_condition,P.conditions=L,N[r.value.nodeId]=P}E({...o.pipelineTree,gateways:N}),setTimeout(()=>{s.value.updateEdgeLabel(r.value.edgeId)},10)},Z=()=>{if(!l.value.node)return;const b=lodash.cloneDeep(l.value.node);let x="";b.component.api_meta?.category.name?x=b.component.api_meta?.category.name:x=o.pluginGroupList[0]?.name||"",c.value={show:!0,actived:x,bkflowTag:0,node:b},l.value={show:!1,node:null}},I=(b,x)=>{if(!c.value.node)return;const N=lodash.cloneDeep(c.value.node);if(b==="projectPlugin"){const{id:P,name:L,alias:j,meta_url:K,api_key:ee="incident",category:J,category_id:A}=x;N.component={code:"uniform_api",data:{},version:"v2.0.0",api_meta:{id:P,name:L,alias:j||L,meta_url:K,api_key:ee,category:{id:A,name:J}}},N.name=j}else{const{code:P,data:L,version:j,name:K}=x;N.component={code:P,data:L,version:j},N.name=K}l.value={show:!0,node:N},c.value.show=!1},$=(b,x)=>{const N={...o.pipelineTree.activities},P=[...o.pipelineTree.location],L=P.findIndex(j=>j.id===b.id);if(N[b.id]=b,L>-1){const j=P[L];j.name=b.name,P[L]=j}l.value={show:!1,node:null},E({...o.pipelineTree,activities:N,location:P,constants:x}),setTimeout(()=>{s.value.updateNodeData(b.id,b)},10)},E=b=>{a("change",b)};return t({updateNodeInputParams:b=>{i.value&&l.value.show&&i.value.updateNodeInputParams?.(b)}}),(b,x)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$3,[vue.createVNode(vue.unref(BkFlowCanvas),{ref_key:"bkflowCanvasRef",ref:s,editable:o.mode==="edit","pipeline-tree":o.pipelineTree,"hide-tool":o.thumbnail,onNodeClick:u,onEdgeLabelClick:v,onUpdatePipelineTree:E,onDeleteEdge:V},{customNode:vue.withCtx(()=>[vue.createVNode(CustomNode,{editable:o.mode==="edit","plugin-group-list":o.pluginGroupList,onAddNode:_,onAddPlugin:m,onAddNodeAndSelectPlugin:p,onDeleteBtnClick:R,onCopyNodeClick:h,onCopyNodeAndInsertClick:f,onDetachEdgesClick:D},null,8,["editable","plugin-group-list"])]),_:1},8,["editable","pipeline-tree","hide-tool"]),!o.thumbnail&&r.value.condition?(vue.openBlock(),vue.createBlock(BranchConditionPanel,{key:0,show:r.value.show,"onUpdate:show":x[0]||(x[0]=N=>r.value.show=N),condition:r.value.condition,"has-default-branch":r.value.hasDefaultBranch,"is-default":r.value.isDefault,editable:o.mode==="edit",onConfirm:O},null,8,["show","condition","has-default-branch","is-default","editable"])):vue.createCommentVNode("",!0),!o.thumbnail&&l.value.node?(vue.openBlock(),vue.createBlock(NodeConfigPanel,{key:1,ref_key:"nodeConfigPanelRef",ref:i,show:l.value.show,"onUpdate:show":x[1]||(x[1]=N=>l.value.show=N),node:l.value.node,editable:o.mode==="edit","system-variables":o.systemVariables,constants:o.pipelineTree.constants,onSelectPlugin:Z,onConfirm:$},{inputParams:vue.withCtx(N=>[vue.renderSlot(b.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps(N)),void 0,!0)]),_:3},8,["show","node","editable","system-variables","constants"])):vue.createCommentVNode("",!0),o.thumbnail?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(PluginSelectPanel,{key:2,show:c.value.show,"onUpdate:show":x[2]||(x[2]=N=>c.value.show=N),"flow-id":o.flowId,actived:c.value.actived,"bkflow-tag":c.value.bkflowTag,"plugin-group-list":o.pluginGroupList,onSelect:I},null,8,["show","flow-id","actived","bkflow-tag","plugin-group-list"]))]))}}),FlowCanvas=_export_sfc(_sfc_main$3,[["__scopeId","data-v-a71d82f3"]]),setContext=(e={})=>{window.$={context:{project:void 0,site_url:"",exec_env:"NODE_CONFIG",input_form:{inputs:void 0},output_form:{outputs:void 0,state:void 0},bk_plugin_api_host:{},get(t){return window.$context[t]},canSelectBiz(){return!1},getConstants(){return e},getOutput(t){const{outputs:n}=window.$context.output_form;if(n&&Array.isArray(n)){const o=window.$context.output_form.outputs.find(a=>a.key===t);return o?o.value:null}return null},getInput(t){return window.$context.input_form.inputs&&window.$context.input_form.inputs[t]?window.$context.input_form.inputs[t]:null},getNodeStatus(){const{state:t}=window.$context.output_form;return t||null}}}},_hoisted_1$2={class:"execute-flow-slider"},_hoisted_2$2={class:"flow-name-wrapper"},_hoisted_3$2={class:"form-params-wrapper"},_hoisted_4$2={key:0,class:"sideslider-footer-buttons"},_sfc_main$2=vue.defineComponent({__name:"execute",props:{flowId:{},show:{type:Boolean},editable:{type:Boolean,default:!0},showFlowEntry:{type:Boolean,default:!1},apiConfig:{},onExecuteSuccess:{}},emits:["confirm","close","update:show"],setup(e,{emit:t}){const n=e,o=t,a=provideFlowApiConfig(n.apiConfig);setContext();const s={name:[{required:!0,message:"请输入任务名称",trigger:"blur"}]},i=vue.shallowRef(null),r=vue.shallowRef(!0),l=vue.ref({}),c=vue.shallowRef([]),u=vue.ref(),v=vue.ref({name:""}),_=vue.shallowRef(!1);vue.watch(()=>n.show,g=>{g&&m()});const m=async()=>{r.value=!0;const g=await a.fetchFlowDetail(n.flowId);i.value=g,v.value.name=`${g.name}_${dayjs().format("YYYYMMDDHHmmss")}`;const w=[],d={};Object.values(g.pipeline_tree.constants).forEach(k=>{if(typeof k!="object"||k===null)return;const C=k;C.source_type!=="system"&&C.show_type==="show"&&w.push(C),"value"in C&&(d[C.key]=C.value)}),c.value=w,l.value=d,r.value=!1},p=()=>{n.onExecuteSuccess},h=g=>{Object.keys(g).forEach(w=>{w in l.value&&(l.value[w]=g[w])})},f=async()=>{if(!a.createFlowTask||!a.executeFlowTask){console.warn("createFlowTask or executeFlowTask is not provided in api");return}if(await u.value?.validate())try{_.value=!0;const w=await a.createFlowTask({template_id:n.flowId,creator:"admin",name:v.value.name,description:"create by bkincident",constants:l.value});w.data.id&&(await a.executeFlowTask({action:"start",task_id:w.data.id,resource_type:"TASK",resource_id:w.data.id,permission_type:"OPERATE"}),BkMessage({theme:"success",message:"执行成功"}),o("confirm"),y(),n.onExecuteSuccess&&n.onExecuteSuccess(w.data.id,w.data.template_id))}catch(w){console.error(w)}finally{_.value=!1}},y=()=>{c.value=[],l.value={},o("close"),o("update:show",!1)};return(g,w)=>{const d=vue.resolveComponent("bk-input"),k=vue.resolveComponent("bk-form-item"),C=vue.resolveComponent("bk-form"),B=vue.resolveComponent("bk-button"),D=vue.resolveComponent("bk-sideslider"),R=vue.resolveDirective("bk-tooltips"),V=vue.resolveDirective("bkloading");return vue.openBlock(),vue.createBlock(D,{title:"执行流程","is-show":n.show,width:700,"quick-close":!1,"esc-close":!1,"before-close":y},{footer:vue.withCtx(()=>[r.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$2,[vue.createVNode(B,{theme:"primary",loading:_.value,onClick:f},{default:vue.withCtx(()=>[...w[1]||(w[1]=[vue.createTextVNode("确定",-1)])]),_:1},8,["loading"]),vue.createVNode(B,{onClick:y},{default:vue.withCtx(()=>[...w[2]||(w[2]=[vue.createTextVNode("取消",-1)])]),_:1})]))]),default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_1$2,[vue.createVNode(C,{ref_key:"formRef",ref:u,model:v.value,rules:s,"label-width":100},{default:vue.withCtx(()=>[e.showFlowEntry?(vue.openBlock(),vue.createBlock(k,{key:0,label:"排障流程",required:""},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$2,[vue.createVNode(d,{readonly:"","model-value":i.value?.name},null,8,["model-value"]),vue.withDirectives(vue.createVNode(vue.unref(icon.Share),{class:"link-icon",onClick:p},null,512),[[R,"查看排障流程",void 0,{top:!0}]])])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(k,{label:"新建任务名",property:"name",required:""},{default:vue.withCtx(()=>[vue.createVNode(d,{modelValue:v.value.name,"onUpdate:modelValue":w[0]||(w[0]=O=>v.value.name=O),placeholder:"请输入任务名称","show-word-limit":"",maxlength:100},null,8,["modelValue"])]),_:1}),vue.createVNode(k,{label:"请求参数",property:"inputParams",description:"流程的入参"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3$2,[vue.createVNode(BKflowPluginFormRenderForm,{variables:c.value,editable:!0,onChange:h},null,8,["variables"]),c.value.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:0,title:"暂无参数"})):vue.createCommentVNode("",!0)])]),_:1})]),_:1},8,["model"])])),[[V,{loading:r.value}]])]),_:1},8,["is-show"])}}}),FlowExecute=_export_sfc(_sfc_main$2,[["__scopeId","data-v-d88b3a91"]]),execute=Object.freeze(Object.defineProperty({__proto__:null,default:FlowExecute},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1={key:0,class:"operate-area"},_hoisted_2$1={class:"operate-btns"},_hoisted_3$1={class:"flow-view-page-content"},_hoisted_4$1={key:1,class:"flow-view-thumbnail"},_sfc_main$1=vue.defineComponent({__name:"view",props:{flowId:{},apiConfig:{},permissions:{default:()=>({canEdit:!0})},onEdit:{},onBack:{},thumbnail:{type:Boolean,default:!1}},emits:["edit","back"],setup(e,{emit:t}){const n=vue.useSlots(),o=e,a=provideFlowApiConfig(o.apiConfig),s=t;setContext();const i=vue.shallowRef(!1),r=vue.shallowRef(null),l=vue.shallowRef(!0),c=vue.shallowRef({}),u=vue.shallowRef(!0),v=vue.shallowRef([]),_=vue.shallowRef(!1);vue.onMounted(()=>{m(),p(),h()});const m=async()=>{l.value=!0;try{const w=await a.fetchFlowDetail(String(o.flowId));r.value=w}catch(w){console.error(w)}finally{l.value=!1}},p=async()=>{u.value=!0;try{const w=await a.fetchSpaceFlowConfig(String(o.flowId));c.value=w}catch(w){console.error(w)}finally{u.value=!1}},h=async()=>{_.value=!0;try{const w=await a.fetchSystemVariables(String(o.flowId));v.value=w}catch(w){console.error(w)}finally{_.value=!1}},f=()=>{typeof o.onBack=="function"?o.onBack():s("back")},y=()=>{typeof o.onEdit=="function"?o.onEdit():s("edit")},g=(w,d)=>{};return(w,d)=>{const k=vue.resolveComponent("bk-button"),C=vue.resolveDirective("bk-tooltips"),B=vue.resolveDirective("bkloading");return o.thumbnail?vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_4$1,[r.value?(vue.openBlock(),vue.createBlock(FlowCanvas,{key:0,mode:"view","flow-id":e.flowId,"pipeline-tree":r.value.pipeline_tree,"space-flow-config":c.value,"system-variables":v.value,thumbnail:!0},{inputParams:vue.withCtx(D=>[vue.renderSlot(w.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps(D)),void 0,!0)]),_:3},8,["flow-id","pipeline-tree","space-flow-config","system-variables"])):vue.createCommentVNode("",!0)])),[[B,{loading:l.value||u.value}]]):(vue.openBlock(),vue.createBlock(ContainerLayout,{key:0,title:"查看流程",desc:r.value?.name,"show-back-icon":!0,onBack:f},vue.createSlots({extend:vue.withCtx(()=>[r.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1,[vue.createVNode(FlowInfoSliders,{editable:!1,"flow-data":r.value,"system-variables":v.value,"fetch-user-api":vue.unref(a).fetchUserApi},null,8,["flow-data","system-variables","fetch-user-api"]),vue.createElementVNode("div",_hoisted_2$1,[vue.createVNode(k,{theme:"primary",class:vue.normalizeClass([e.permissions.canEdit?"":"is-disabled"]),onClick:y},{default:vue.withCtx(()=>[...d[2]||(d[2]=[vue.createTextVNode(" 编辑 ",-1)])]),_:1},8,["class"]),vue.createVNode(k,{theme:"primary",outline:"",onClick:d[0]||(d[0]=D=>i.value=!0)},{default:vue.withCtx(()=>[...d[3]||(d[3]=[vue.createTextVNode("执行流程",-1)])]),_:1}),vue.withDirectives((vue.openBlock(),vue.createBlock(k,{disabled:!0},{default:vue.withCtx(()=>[...d[4]||(d[4]=[vue.createTextVNode("调试",-1)])]),_:1})),[[C,"功能开发中"]])])])):vue.createCommentVNode("",!0)]),default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_3$1,[r.value?(vue.openBlock(),vue.createBlock(FlowCanvas,{key:0,mode:"view","flow-id":e.flowId,"pipeline-tree":r.value.pipeline_tree,"space-flow-config":c.value,"system-variables":v.value,thumbnail:o.thumbnail},{inputParams:vue.withCtx(D=>[vue.renderSlot(w.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps(D)),void 0,!0)]),_:3},8,["flow-id","pipeline-tree","space-flow-config","system-variables","thumbnail"])):vue.createCommentVNode("",!0)])),[[B,{loading:l.value||u.value}]]),r.value?(vue.openBlock(),vue.createBlock(FlowExecute,{key:0,"flow-id":e.flowId,show:i.value,"api-config":o.apiConfig,onClose:d[1]||(d[1]=D=>i.value=!1),onConfirm:g},null,8,["flow-id","show","api-config"])):vue.createCommentVNode("",!0)]),_:2},[vue.unref(n).header?{name:"header",fn:vue.withCtx(()=>[vue.renderSlot(w.$slots,"header",{},void 0,!0)]),key:"0"}:void 0]),1032,["desc"]))}}}),view=_export_sfc(_sfc_main$1,[["__scopeId","data-v-09d2822a"]]),view$1=Object.freeze(Object.defineProperty({__proto__:null,default:view},Symbol.toStringTag,{value:"Module"})),_hoisted_1={key:0,class:"operate-area"},_hoisted_2={class:"flow-actions"},_hoisted_3={class:"operate-btns"},_hoisted_4={class:"flow-edit-page-content"},_sfc_main=vue.defineComponent({__name:"edit",props:{flowId:{},apiConfig:{},permissions:{default:()=>({canSave:!0})},onSave:{},onSaveSuccess:{},onBack:{},onBeforeLeave:{}},emits:["save","saveSuccess","back"],setup(e,{expose:t,emit:n}){const o=e,a=provideFlowApiConfig(o.apiConfig),s=n;setContext();const i=vue.shallowRef(null),r=vue.shallowRef(!0),l=vue.ref(),c=vue.ref(),u=vue.shallowRef(!0),v=vue.shallowRef({}),_=vue.shallowRef(!1),m=vue.shallowRef([]),p=vue.shallowRef(!1),h=vue.shallowRef([]),f=vue.shallowRef(!1),y=vue.shallowRef(!1),g=vue.computed(()=>String(o.flowId)),w=vue.computed(()=>r.value||p.value||u.value);vue.onMounted(()=>{d(),k(),C(),B()});const d=async()=>{r.value=!0;try{const E=await a.fetchFlowDetail(g.value);i.value=E}catch(E){console.error(E)}finally{r.value=!1}},k=async()=>{u.value=!0;try{const E=await a.fetchSpaceFlowConfig(g.value);v.value=E}catch(E){console.error(E)}finally{u.value=!1}},C=async()=>{f.value=!0;try{const E=await a.fetchSystemVariables(g.value);h.value=E}catch(E){console.error(E)}finally{f.value=!1}},B=async()=>{p.value=!0;try{const E=await a.fetchAllPluginGroups();m.value=E}catch(E){console.error(E)}finally{p.value=!1}},D=()=>{o.onBack?o.onBack():s("back")},R=()=>{l.value?.openBasicSetting()},V=E=>{i.value=E},O=E=>{i.value={...i.value,pipeline_tree:E},y.value=!0},Z=E=>{c.value&&c.value.updateNodeInputParams?.(E)},I=()=>{if(!o.permissions.canSave)return;const E=validatePipelineTree(i.value?.pipeline_tree);E.valid?$():bkuiVue.Message({theme:"error",message:E.message})},$=async()=>{const{name:E,desc:T,notify_config:b,pipeline_tree:x,triggers:N}=i.value,P={name:E,desc:T,notify_config:b,pipeline_tree:x,triggers:N};try{_.value=!0,await a.saveFlow(g.value,P),y.value=!1,bkuiVue.Message({theme:"success",message:"保存成功"}),o.onSave&&o.onSave(i.value),o.onSaveSuccess&&o.onSaveSuccess(),s("save",i.value),s("saveSuccess")}catch(L){console.error(L)}finally{_.value=!1}};return t({isFlowEdited:vue.computed(()=>y.value),updateNodeInputParams:Z}),(E,T)=>{const b=vue.resolveComponent("bk-button"),x=vue.resolveDirective("bk-tooltips"),N=vue.resolveDirective("bkloading");return vue.openBlock(),vue.createBlock(ContainerLayout,{title:"编辑流程",desc:i.value?.name,"show-back-icon":!0,"show-edit-icon":!0,onBack:D,onEdit:R},{header:vue.withCtx(()=>[vue.renderSlot(E.$slots,"header",{},void 0,!0)]),extend:vue.withCtx(()=>[i.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1,[vue.createElementVNode("div",_hoisted_2,[vue.createVNode(FlowInfoSliders,{ref_key:"flowInfoSlidersRef",ref:l,"flow-data":i.value,"system-variables":h.value,"fetch-user-api":vue.unref(a).fetchUserApi,onChange:V},null,8,["flow-data","system-variables","fetch-user-api"]),vue.createElementVNode("div",_hoisted_3,[vue.createVNode(b,{class:vue.normalizeClass([e.permissions.canSave?"":"is-disabled"]),theme:"primary",loading:_.value,onClick:I},{default:vue.withCtx(()=>[...T[0]||(T[0]=[vue.createTextVNode(" 保存 ",-1)])]),_:1},8,["class","loading"]),vue.withDirectives((vue.openBlock(),vue.createBlock(b,{disabled:!0},{default:vue.withCtx(()=>[...T[1]||(T[1]=[vue.createTextVNode("调试",-1)])]),_:1})),[[x,"功能开发中"]])])])])):vue.createCommentVNode("",!0)]),default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_4,[!w.value&&i.value?(vue.openBlock(),vue.createBlock(FlowCanvas,{key:0,ref_key:"flowCanvasRef",ref:c,mode:"edit","flow-id":g.value,"pipeline-tree":i.value.pipeline_tree,"space-flow-config":v.value,"plugin-group-list":m.value,"system-variables":h.value,onChange:O},{inputParams:vue.withCtx(P=>[vue.renderSlot(E.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps({...P,updateNodeInputParams:Z})),void 0,!0)]),_:3},8,["flow-id","pipeline-tree","space-flow-config","plugin-group-list","system-variables"])):vue.createCommentVNode("",!0)])),[[N,{loading:w.value}]])]),_:3},8,["desc"])}}}),edit=_export_sfc(_sfc_main,[["__scopeId","data-v-7edd9227"]]),edit$1=Object.freeze(Object.defineProperty({__proto__:null,default:edit},Symbol.toStringTag,{value:"Module"})),index={FlowView:()=>Promise.resolve().then(()=>view$1),FlowEdit:()=>Promise.resolve().then(()=>edit$1),FlowExecute:()=>Promise.resolve().then(()=>execute)};exports.FlowEdit=edit;exports.FlowExecute=FlowExecute;exports.FlowView=view;exports.PLUGIN_GROUP_ICON_MAP=PLUGIN_GROUP_ICON_MAP;exports.default=index;exports.getUniformApiPluginFormValue=getUniformApiPluginFormValue$1;exports.getVariableDefaultConfig=getVariableDefaultConfig;exports.parentClsContains=parentClsContains;exports.provideFlowApiConfig=provideFlowApiConfig;exports.useFlowApi=useFlowApi;exports.useFlowApiConfig=useFlowApiConfig;exports.useFlowEditApiConfig=useFlowEditApiConfig;exports.useFlowViewApiConfig=useFlowViewApiConfig;exports.uuid=uuid;exports.validatePipelineTree=validatePipelineTree;
|