@blueking/bkflow-canvas-editor 1.1.0-beta.26 → 1.1.0-beta.27

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.
@@ -71,4 +71,4 @@ function print() { __p += __j.call(arguments, '') }
71
71
  padding: ${l.padding};
72
72
  `,r.textContent=a.textContent,r};let o=!1;try{const a=window.getComputedStyle(t,null);if(a.webkitLineClamp!=="none"){const r=parseFloat(a.height),i=n(t,a);document.body.appendChild(i);const s=window.getComputedStyle(i,null).height;document.body.removeChild(i),o=r<parseFloat(s)}else o=t.clientWidth<t.scrollWidth||t.clientHeight<t.scrollHeight}catch(a){console.warn("There is an error when check element overflow state: ",a)}return o}function AJ(t){const{reference:n}=t,{props:o}=n._bk_overflow_tips_;if(CJ(n)){let{content:l}=o;return l||(l=o.allowHTML?n.innerHTML:n.textContent),t.setContent(l),!0}return!1}function Ew(t,n){t.onShow=o=>{if(typeof n.onShow=="function"&&!n.onShow(o)||!AJ(o))return!1}}function Bw(t,n){const o=["db-tippy bk-overflow-tips"];n.theme&&o.push(n.theme),t.theme=o.join(" ")}function xw(t){const n=Object.entries(t).map(a=>a[0]);if(n.length===0)return{};const o={};for(const a of n)kJ.includes(a)&&(o.placement=a);return o}const EJ={arrow:!0,interactive:!0,delay:150,allowHTML:!1,maxWidth:600,placement:"top",appendTo:()=>document.body},BJ={mounted(t,n){const o=typeof n.value=="object"?n.value:xw(n.modifiers),a=Object.assign({...EJ},o);Ew(a,o),Bw(a,o),t._bk_overflow_tips_={props:a,instance:wJ(t,a)}},updated(t,n){const{props:o,instance:a}=t._bk_overflow_tips_,l=typeof n.value=="object"?n.value:xw(n.modifiers);Object.assign(o,l),Ew(o,l),Bw(o,l),a.setProps(o)},beforeUnmount(t){t._tippy&&t._tippy.destroy(),delete t._bk_overflow_tips_}},xJ=()=>`${Qr.random(0,999999)}_${Date.now()}_${Qr.random(0,999999)}`,_J=["data-fixed","data-maxWidth","data-minWidth","data-width"],VJ={class:"th-cell"},SJ={style:{display:"inline-block","line-height":"40px","vertical-align":"top"}},NJ=e.defineComponent({__name:"head-column",props:{fixed:{default:void 0},maxWidth:{default:void 0},minWidth:{default:void 0},required:{type:Boolean,default:!0},width:{default:void 0},renderAppend:{type:Function,default:void 0},memo:{default:""}},setup(t){const n=t,o=e.useSlots(),{rowWidth:a,isOverflow:l,isScrollToLeft:r,isScrollToRight:i}=e.inject(F2),s=e.inject(y2),c=e.ref(),f=e.ref(0),p=sn.bkTooltips,h=BJ,g=xJ();let m=0,v=!1;const w=e.computed(()=>n.minWidth?n.minWidth:n.width??100),y=e.computed(()=>n.fixed==="right"),x=e.computed(()=>n.fixed==="left"),B=e.computed(()=>{if(n.width&&a?.value&&w.value){const C=a.value*m;if(C!==n.width){let _=0;return l?.value?f.value!==0&&(f.value!==w.value||f.value!==n.width)?_=f.value:_=w.value:C>w.value?_=C:_=w.value,{minWidth:`${_}px`}}}return{minWidth:n.width?`${n.width}px`:"120px"}}),k=e.computed(()=>{var C;return(C=n.renderAppend)==null?void 0:C.call(n)});e.watch(()=>[n.width,a?.value,f.value],([C,_,V])=>{v&&C&&_&&V&&w.value&&(v=!1,V!==0&&(V!==w.value||V!==C)?m=V/_:m=l?.value?w.value/_:C/_)},{immediate:!0}),w2(c,()=>{if(!v)return;const C=parseFloat(c.value.style.width);f.value=C});const b=C=>{v=!0,s?.columnMousedown(C,{columnKey:g,minWidth:w.value})},A=C=>{s?.columnMouseMove(C)};return(C,_)=>(e.openBlock(),e.createElementBlock("th",{ref_key:"columnRef",ref:c,style:e.normalizeStyle(B.value),class:e.normalizeClass(["bk-ediatable-head-column",{[`column-${e.unref(g)}`]:!0,"is-right-fixed":e.unref(l)&&y.value&&!e.unref(i),"is-left-fixed":e.unref(l)&&x.value&&!e.unref(r)}]),"data-fixed":C.fixed,"data-maxWidth":C.maxWidth,"data-minWidth":w.value,"data-width":C.width,onMousedown:b,onMousemove:A},[e.createElementVNode("div",{class:e.normalizeClass({"is-required":C.required})},[e.withDirectives((e.openBlock(),e.createElementBlock("div",VJ,[e.withDirectives((e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass({"title-memo":C.memo})},[e.renderSlot(C.$slots,"default")],2)),[[e.unref(p),{content:C.memo,disabled:!C.memo}]])])),[[e.unref(h)]]),e.createElementVNode("div",SJ,[o.append&&!C.renderAppend?e.renderSlot(C.$slots,"append",{key:0}):e.createCommentVNode("v-if",!0),C.renderAppend!==void 0?(e.openBlock(),e.createBlock(e.unref(k),{key:1})):e.createCommentVNode("v-if",!0)])],2)],46,_J))}}),F2=Symbol("renderTable"),_w=e.defineComponent({__name:"ediatable",props:{theadList:{default:()=>[]}},setup(t){const n=e.useSlots(),o=()=>{s.value=l.value.clientWidth,i.value=a.value.clientWidth<l.value.clientWidth,p()},a=e.ref(),l=e.ref(),r=e.ref(),i=e.ref(!1),s=e.ref(0),c=e.ref(!0),f=e.ref(!1),{initColumnWidth:p}=RZ(a,r,Qr.debounce(o));e.provide(F2,{isOverflow:i,rowWidth:s,isScrollToLeft:c,isScrollToRight:f});const h=Qr.throttle(()=>{c.value=a.value.scrollLeft===0,f.value=a.value.scrollWidth-a.value.scrollLeft<a.value.clientWidth+1},200);return e.onMounted(()=>{window.addEventListener("resize",o),o(),setTimeout(()=>o()),a.value.addEventListener("scroll",h)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",o),a.value.removeEventListener("scroll",h)}),(g,m)=>(e.openBlock(),e.createElementBlock("div",{id:"ediatableRenderTableKey",ref_key:"tableOuterRef",ref:a,class:e.normalizeClass(["bk-ediatable",{"scrollbar-exists":i.value}])},[e.createElementVNode("table",{ref_key:"tableRef",ref:l},[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[n.default&&g.theadList.length===0?e.renderSlot(g.$slots,"default",{key:0}):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(g.theadList,(v,w)=>(e.openBlock(),e.createBlock(NJ,{key:w,width:v.width,"min-width":v.minWidth,"max-width":v.maxWidth,fixed:v.fixed,required:v.required,"render-append":v.renderAppend,memo:v.memo},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(v.title),1)]),_:2},1032,["width","min-width","max-width","fixed","required","render-append","memo"]))),128))])]),e.renderSlot(g.$slots,"data")],512),e.createElementVNode("div",{ref_key:"tableColumnResizeRef",ref:r,class:"table-column-resize"},null,512)],2))}}),bp=t=>typeof t.message=="function"?t.message():t.message;function z2(t){const n=e.reactive({loading:!1,error:!1,message:""}),o=a=>{if(n.error=!1,n.message="",!t)return Promise.resolve(!0);const l=(()=>{let r=-1;return async()=>{if(r=r+1,r>=t.length)return Promise.resolve(!0);const i=t[r];return Promise.resolve().then(()=>{const s=i.validator(a);if(typeof s!="boolean"&&typeof s.then=="function")return s.then(c=>{if(c===!1)return Promise.reject(bp(i))}).then(()=>l(),()=>{n.error=!0;const c=bp(i);return n.message=c,Promise.reject(c)});if(!s){n.error=!0;const c=bp(i);return n.message=c,Promise.reject(c)}return l()})}})();return l()};return{...e.toRefs(n),validator:o}}const hm=e.defineComponent({name:"DbIcon",props:{type:{type:String,required:!0},svg:{type:Boolean,default:!1}},render(){if(this.svg)return e.h("svg",{class:{"db-svg-icon":!0}},[e.h("use",{"xlink:href":`#db-icon-${this.type}`})]);const t={"ediatable-icon":!0,[`icon-${this.type}`]:!0};return e.h("i",{class:t})}}),DJ={key:2,class:"blur-dispaly-main"},TJ=e.defineComponent({__name:"input-column",props:e.mergeModels({placeholder:{default:"请输入"},rules:{default:void 0},disabled:{type:Boolean,default:!1},type:{default:"text"},min:{default:Number.MIN_SAFE_INTEGER},max:{default:Number.MAX_SAFE_INTEGER},isShowBlur:{type:Boolean,default:!1},precision:{default:0},maxlength:{},clearable:{type:Boolean,default:!0}},{modelValue:{default:""},modelModifiers:{}}),emits:e.mergeModels(["change","submit","error","clear","focus"],["update:modelValue"]),setup(t,{expose:n,emit:o}){const a=t,l=o,r=e.useModel(t,"modelValue"),i=e.ref(),s=e.ref(!0),c=e.computed(()=>a.type==="password");let f="";const p=sn.bkTooltips,{message:h,validator:g}=z2(a.rules),m=()=>{s.value=!1,l("focus")},v=k=>{s.value=!0,r.value=a.type==="number"?Number(k):k,a.type==="number"&&g(r.value).then(()=>{l("error",!1),l("change",r.value),l("submit",r.value)}).catch(()=>l("error",!0))},w=()=>{r.value="",g("").catch(()=>l("error",!0)).finally(()=>{l("clear")})},y=k=>{s.value=!1,r.value=k},x=k=>{setTimeout(()=>{if(s.value=!0,a.disabled){k.preventDefault();return}if(r.value){if(f===r.value)return;f=r.value,g(r.value).then(()=>{l("error",!1),l("change",r.value),l("submit",r.value)}).catch(()=>l("error",!0));return}l("change",r.value),l("submit",r.value)},100)},B=(k,b)=>{if(a.disabled){b.preventDefault();return}if(!b.isComposing&&(b.which===13||b.key==="Enter")){if(f===r.value)return;f=r.value,b.preventDefault(),g(r.value).then(A=>{A&&(l("error",!1),l("change",r.value),l("submit",r.value))}).catch(()=>l("error",!0))}};return n({getValue(){return g(r.value).then(()=>r.value)},focus(){var k;(k=i.value.querySelector("input"))==null||k.focus()}}),(k,b)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"rootRef",ref:i,class:e.normalizeClass(["bk-ediatable-input",{"is-error":!!e.unref(h),"is-disabled":k.disabled,"is-password":c.value}])},[e.createVNode(e.unref(sn.Input),e.mergeProps({class:"input-box",clearable:!1,disabled:k.disabled,max:k.max,maxlength:k.maxlength,min:k.min,"model-value":r.value,placeholder:k.placeholder,type:k.type},k.$attrs,{precision:k.precision,onBlur:x,onChange:v,onFocus:m,onInput:y,onKeydown:B}),null,16,["disabled","max","maxlength","min","model-value","placeholder","type","precision"]),k.clearable&&r.value&&k.type!=="number"?(e.openBlock(),e.createBlock(e.unref(hm),{key:0,class:"clear-icon",type:"close-circle-shape",onClick:w})):e.createCommentVNode("v-if",!0),e.unref(h)?e.withDirectives((e.openBlock(),e.createBlock(e.unref(hm),{key:1,class:"error-icon",type:"exclamation-fill"},null,512)),[[e.unref(p),e.unref(h)]]):e.createCommentVNode("v-if",!0),k.isShowBlur&&s.value?(e.openBlock(),e.createElementBlock("div",DJ,[e.renderSlot(k.$slots,"blur")])):e.createCommentVNode("v-if",!0)],2))}}),IJ={key:0,class:"select-error"},OJ=e.defineComponent({__name:"select-column",props:e.mergeModels({list:{default:()=>[]},placeholder:{default:"请选择"},rules:{default:()=>[]},disabled:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},multipleMode:{default:void 0},showSelectAll:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},displayKey:{default:"label"},idKey:{default:"value"}},{modelValue:{type:[Boolean,Number,String,Array],type:[String,Number,Array,Boolean]},modelModifiers:{}}),emits:e.mergeModels(["change","error"],["update:modelValue"]),setup(t,{expose:n,emit:o}){const{Option:a}=sn.Select,l=e.useSlots(),r=t,i=o,s=e.useModel(t,"modelValue"),c=e.ref(),f=e.ref(""),p=e.ref(42),h=e.computed(()=>r.multipleMode==="tag"),{message:g,validator:m}=z2(r.rules),v=sn.bkTooltips;e.watch(s,B=>{if(B!==void 0){if(f.value=B,typeof B!="object"&&B){m(B).then(()=>{i("error",!1)}).catch(()=>i("error",!0));return}if(Array.isArray(B)&&B.length>0){m(B).then(()=>{i("error",!1)}).catch(()=>i("error",!0));return}}},{immediate:!0});const w=B=>{f.value=B,m(f.value).then(()=>{s.value=B,i("error",!1),i("change",f.value)}).catch(()=>i("error",!0))},y=()=>{f.value=Array.isArray(f.value)?[]:"",m(f.value).then(()=>{s.value=f.value,i("error",!1),i("change",f.value)}).catch(()=>i("error",!0))},x=()=>{p.value=c.value.parentNode.clientHeight};return w2(c,Qr.throttle(x,500)),n({getValue(){return m(f.value).then(()=>f.value)}}),(B,k)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"rootRef",ref:c,style:e.normalizeStyle({height:p.value+"px"}),class:e.normalizeClass(["bk-ediatable-select",{"is-error":!!e.unref(g),"is-disable":B.disabled,"is-overflow-visible":h.value}])},[e.createVNode(e.unref(sn.Select),e.mergeProps({class:"select-box",clearable:B.clearable,disabled:B.disabled,"display-key":B.displayKey,"id-key":B.idKey,"input-search":!1,list:l.optionRender?B.list:[],"model-value":f.value,multiple:B.multiple,"multiple-mode":B.multipleMode,placeholder:B.placeholder,"show-select-all":B.showSelectAll,"auto-focus":"",filterable:""},B.$attrs,{onChange:w,onClear:y}),e.createSlots({default:e.withCtx(()=>[l.optionRender?e.createCommentVNode("v-if",!0):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(B.list,(b,A)=>(e.openBlock(),e.createBlock(e.unref(a),{disabled:b.disabled,key:A,label:b[B.displayKey],value:b[B.idKey]},null,8,["disabled","label","value"]))),128))]),_:2},[l.optionRender?{name:"optionRender",fn:e.withCtx(({item:b})=>[e.renderSlot(B.$slots,"optionRender",{item:b})]),key:"0"}:void 0]),1040,["clearable","disabled","display-key","id-key","list","model-value","multiple","multiple-mode","placeholder","show-select-all"]),e.unref(g)?(e.openBlock(),e.createElementBlock("div",IJ,[e.withDirectives(e.createVNode(e.unref(hm),{type:"exclamation-fill"},null,512),[[e.unref(v),e.unref(g)]])])):e.createCommentVNode("v-if",!0)],6))}}),MJ={class:"cell-content"},PJ={class:"cell-content"},LJ={class:"field-name"},RJ={class:"cell-content role-cell"},FJ=e.defineComponent({__name:"field-row",props:{data:{},index:{}},setup(t,{expose:n}){const o={timestamp:"时间戳",feature:"特征"},a=t;return n({getValue:async()=>a.data}),(l,r)=>{const i=e.resolveComponent("bk-tag");return e.openBlock(),e.createElementBlock("tr",null,[e.createElementVNode("td",null,[e.createElementVNode("div",MJ,e.toDisplayString(t.index+1),1)]),e.createElementVNode("td",null,[e.createElementVNode("div",PJ,[e.createVNode(i,{theme:"info",class:"type-tag"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.data.type),1)]),_:1}),e.createElementVNode("span",LJ,e.toDisplayString(t.data.name),1)])]),e.createElementVNode("td",null,[e.createElementVNode("div",RJ,[e.createVNode(i,{class:e.normalizeClass(`role-${t.data.role}`)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o[t.data.role]||t.data.role),1)]),_:1},8,["class"])])]),e.createElementVNode("td",null,[e.createVNode(e.unref(OJ),{"model-value":t.data.name,list:[{value:t.data.name,label:t.data.name}],disabled:""},null,8,["model-value","list"])])])}}}),zJ=je(FJ,[["__scopeId","data-v-a4ad323e"]]),jJ={class:"cell-content"},HJ={class:"cell-content field-info"},UJ={class:"field-name-wrapper"},WJ={class:"field-name"},GJ={class:"tooltip-content"},YJ={class:"cell-content"},QJ=e.defineComponent({__name:"app-param-row",props:{data:{},index:{},editable:{type:Boolean}},emits:["update-value"],setup(t,{expose:n}){const o=t,a=e.computed(()=>{const l=o.data.condition;return l?l.enum?l.enum.join(" | "):l.range?`${l.range[0]} ~ ${l.range[1]}`:"-":"-"});return n({getValue:async()=>o.data}),(l,r)=>{const i=e.resolveComponent("bk-tag"),s=e.resolveComponent("bk-popover");return e.openBlock(),e.createElementBlock("tr",null,[e.createElementVNode("td",null,[e.createElementVNode("div",jJ,e.toDisplayString(t.index+1),1)]),e.createElementVNode("td",null,[e.createElementVNode("div",HJ,[e.createVNode(i,{theme:"info",class:"type-tag"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.data.type),1)]),_:1}),e.createVNode(s,{"ext-cls":"info-popover",theme:"dark",placement:"right",trigger:"hover"},{content:e.withCtx(()=>[e.createElementVNode("div",GJ,[e.createElementVNode("p",null,[r[2]||(r[2]=e.createElementVNode("span",null,"变量名称:",-1)),e.createTextVNode(e.toDisplayString(t.data.name),1)]),e.createElementVNode("p",null,[r[3]||(r[3]=e.createElementVNode("span",null,"变量别名:",-1)),e.createTextVNode(e.toDisplayString(t.data.alias||t.data.desc),1)]),e.createElementVNode("p",null,[r[4]||(r[4]=e.createElementVNode("span",null,"变量描述:",-1)),e.createTextVNode(e.toDisplayString(t.data.desc),1)])])]),default:e.withCtx(()=>[e.createElementVNode("span",UJ,[e.createElementVNode("span",WJ,e.toDisplayString(t.data.name),1)])]),_:1})])]),e.createElementVNode("td",null,[e.createElementVNode("div",YJ,[e.createVNode(i,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value),1)]),_:1})])]),e.createElementVNode("td",null,[e.createVNode(e.unref(TJ),{modelValue:t.data.value,"onUpdate:modelValue":r[0]||(r[0]=c=>t.data.value=c),placeholder:"请输入参数值",disabled:!t.editable,clearable:t.editable,onSubmit:r[1]||(r[1]=c=>l.$emit("update-value",c))},null,8,["modelValue","disabled","clearable"])])])}}}),qJ=je(QJ,[["__scopeId","data-v-7c0389fe"]]),KJ={class:"aiops-form"},$J=e.defineComponent({__name:"aiops-form",props:{inputData:{},pluginId:{},pluginDetail:{},editable:{type:Boolean},fullVariableList:{default:()=>[]}},emits:["change"],setup(t,{expose:n,emit:o}){const a=xn(),l=t,r=o,i=e.ref(),s=e.ref({dataInput:""}),c=e.ref([]),f=(C,_)=>{const V=l.inputData?.[C]?.value;return V!==void 0?Fe.cloneDeep(V):_},p=()=>l.pluginDetail?.inputs,h=e.computed(()=>{const C=p()?.find(_=>_.key==="data");return{name:C?.name||"输入参数",desc:C?.desc||""}}),g=e.computed(()=>{const C=p()?.find(_=>_.key==="data");return C?._slots?Object.entries(C._slots).map(([_,V])=>{const S=V;return{key:_,name:S.name,type:S.type,desc:S.desc,required:S.required,role:S.role||"feature",mapping:f(`data_mapping_${_}`,"")}}):[]}),m=()=>{const C=p()?.find(V=>V.key==="predict_args");if(!C?._slots){c.value=[];return}const _=l.inputData?.predict_args?.value;c.value=Object.entries(C._slots).map(([V,S])=>{const N=S,D=N.default!==void 0?String(N.default):"",H=_?.[V],j=H!==void 0?String(H):f(`predict_args_${V}`,D);return{key:V,name:N.name,type:N.type,desc:N.desc,required:N.required,condition:N.condition,value:j,default:D}})},v=[{title:"#",width:50,maxWidth:50,required:!1},{title:"字段名",width:140,minWidth:100,required:!1},{title:"角色",width:100,minWidth:80,required:!1},{title:"字段映射",width:200,minWidth:160,required:!1}],w=[{title:"#",width:50,maxWidth:50,required:!1},{title:"参数名",width:160,minWidth:120,required:!1},{title:"值约束",width:140,minWidth:100,required:!1},{title:"参数值",width:200,minWidth:160,required:!1}],y=C=>{if(!l.inputData)return;const _={...l.inputData};Object.entries(C).forEach(([V,S])=>{_[V]={value:S,hook:!1,need_render:!0}}),r("change",_)},x=()=>{if(!l.editable||!l.inputData)return;const C={...l.inputData};C.data={value:s.value.dataInput,hook:!1,need_render:!0},r("change",C)},B=(C,_)=>{if(!l.editable)return;C.value=_;const V=Object.fromEntries(c.value.map(S=>[S.key,S.value]));y({predict_args:V})};e.watch(()=>l.inputData,()=>{const C=l.inputData?.data?.value;Array.isArray(C)?s.value.dataInput="":typeof C=="string"?s.value.dataInput=C==="[]"?"":C:s.value.dataInput="",m(),(!l.inputData||!Object.keys(l.inputData).length)&&x()},{immediate:!0}),e.watch(()=>l.pluginDetail,m,{immediate:!0});const k=async()=>{try{return i.value&&await i.value.validate(),await b()}catch{return!1}},b=async()=>{if(!c.value.length)return!0;try{return await a.fetchApplyInstructionData?.({plugin_id:l.pluginId,instruction:"validate_args",params:{predict_args:Object.fromEntries(c.value.map(C=>[C.key,C.value]))}}),!0}catch{return!1}};return n({validate:k,getFormData:()=>({data:Object.fromEntries(g.value.map(C=>[C.key,{mapping:C.mapping}])),predict_args:Object.fromEntries(c.value.map(C=>[C.key,C.value]))})}),(C,_)=>{const V=e.resolveComponent("bk-input"),S=e.resolveComponent("bk-form-item"),N=e.resolveComponent("bk-form");return e.openBlock(),e.createElementBlock("div",KJ,[g.value.length?(e.openBlock(),e.createBlock(Sa,{key:0,title:h.value.name,"no-background":!0,class:"section"},{default:e.withCtx(()=>[e.createVNode(N,{ref_key:"inputFormRef",ref:i,"form-type":"vertical",model:s.value},{default:e.withCtx(()=>[e.createVNode(S,{property:"dataInput",rules:[{required:!0,message:"必填项",trigger:"blur"}]},{label:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(h.value.name)+" 映射",1),_[1]||(_[1]=e.createElementVNode("span",{class:"required-mark"},"*",-1)),_[2]||(_[2]=e.createElementVNode("span",{class:"label-desc"},"(请输入「指标序列」变量表达式)",-1))]),default:e.withCtx(()=>[e.createVNode(V,{modelValue:s.value.dataInput,"onUpdate:modelValue":_[0]||(_[0]=D=>s.value.dataInput=D),disabled:!t.editable,onChange:x},null,8,["modelValue","disabled"])]),_:1}),e.createVNode(S,{label:"输入字段映射",required:"",class:"mapping-label"}),e.createVNode(e.unref(_w),{"thead-list":v,class:"field-mapping-table"},{data:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,(D,H)=>(e.openBlock(),e.createBlock(zJ,{key:D.key,data:D,index:H},null,8,["data","index"]))),128))]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])):e.createCommentVNode("",!0),c.value.length?(e.openBlock(),e.createBlock(Sa,{key:1,title:"应用参数","no-background":!0,class:"section app-params-section"},{default:e.withCtx(()=>[e.createVNode(e.unref(_w),{"thead-list":w,class:"app-params-table"},{data:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(D,H)=>(e.openBlock(),e.createBlock(qJ,{key:D.key,data:D,index:H,editable:t.editable,onUpdateValue:j=>B(D,j)},null,8,["data","index","editable","onUpdateValue"]))),128))]),_:1})]),_:1})):e.createCommentVNode("",!0)])}}}),ZJ=je($J,[["__scopeId","data-v-3396cc19"]]),XJ=e.defineComponent({__name:"role-type-selector",props:{modelValue:{},index:{},disabled:{type:Boolean}},emits:["update:modelValue"],setup(t,{emit:n}){const o=[{code:"assistant",name:"AI",description:"这条 Prompt 作为AI回答的结果"},{code:"system",name:"系统",description:"这条 Prompt 作为系统输入来定义角色,会在整个会话中生效"},{code:"user",name:"用户",description:"这条 Prompt 作为用户的输入,可以更详细描述对角色的要求"},{code:"pause",name:"等待回答",description:"这条Prompt作为AI的提问,会等待用户输入回答内容"}],a=t,l=n,r=e.computed(()=>o.find(f=>f.code===a.modelValue)?.name),i=()=>o.filter(c=>c.code==="system"?a.index===0:!0),s=c=>{l("update:modelValue",c)};return(c,f)=>{const p=e.resolveComponent("bk-option"),h=e.resolveComponent("bk-select"),g=e.resolveDirective("bk-tooltips");return e.withDirectives((e.openBlock(),e.createBlock(h,{filterable:"","disable-scroll-to-selected-option":"","popover-min-width":300,"input-search":!1,"model-value":t.modelValue,disabled:t.index===0||a.disabled,"popover-options":{placement:"bottom-end",zIndex:9999},onChange:s},{trigger:e.withCtx(()=>[e.createElementVNode("span",{class:e.normalizeClass({"role-type":!0,disabled:t.index===0})},[e.createTextVNode(e.toDisplayString(r.value)+" ",1),f[0]||(f[0]=e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-angle-up"},null,-1))],2)]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i(),m=>e.withDirectives((e.openBlock(),e.createBlock(p,{id:m.code,key:m.code,name:m.name},null,8,["id","name"])),[[g,{content:m.description,theme:"light",placement:"right",boundary:"parent"}]])),128))]),_:1},8,["model-value","disabled"])),[[g,{content:"角色第一条 Prompt 必须定义为“系统”",disabled:a.index>0}]])}}}),JJ=je(XJ,[["__scopeId","data-v-a6edc23d"]]),eee={class:"bkflow-canvas-icon bkflow-canvas-daoru import-trigger"},tee={class:"prompt-content-tips"},nee=e.defineComponent({__name:"prompt-import",props:{prompts:{},disabled:{type:Boolean}},emits:["import"],setup(t,{emit:n}){const o=t,a=n,l=r=>{const i=o.prompts.find(s=>s.prompt_id===r);i&&a("import",i.content)};return(r,i)=>{const s=e.resolveComponent("bk-option"),c=e.resolveComponent("bk-popover"),f=e.resolveComponent("bk-select"),p=e.resolveDirective("bk-tooltips");return e.openBlock(),e.createBlock(f,{filterable:"","disable-scroll-to-selected-option":"","popover-min-width":300,"input-search":!1,disabled:o.disabled,"popover-options":{placement:"bottom-end",zIndex:9999},onChange:l},{trigger:e.withCtx(()=>[e.renderSlot(r.$slots,"default",{},()=>[e.withDirectives(e.createElementVNode("i",eee,null,512),[[p,{content:"导入"}]])],!0)]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.prompts,h=>(e.openBlock(),e.createBlock(c,{theme:"light",placement:"right","ext-cls":"import-prompt-tips-popover",disabled:!h.content,key:h.prompt_id,"popover-delay":0},{content:e.withCtx(()=>[e.createElementVNode("p",tee,e.toDisplayString(h.content),1)]),default:e.withCtx(()=>[(e.openBlock(),e.createBlock(s,{id:h.prompt_id,key:h.prompt_id,name:h.prompt_name},null,8,["id","name"]))]),_:2},1032,["disabled"]))),128))]),_:3},8,["disabled"])}}}),j2=je(nee,[["__scopeId","data-v-bd3ebb9e"]]),oee={class:"prompt-add"},aee=e.defineComponent({__name:"prompt-add",props:{prompts:{},disabled:{type:Boolean}},emits:["add"],setup(t,{emit:n}){const o=t,a=n,l=()=>{a("add","")},r=i=>{a("add",i)};return(i,s)=>{const c=e.resolveComponent("bk-button");return e.openBlock(),e.createElementBlock("div",oee,[e.createVNode(c,{text:"",theme:"primary",size:"small",disabled:o.disabled,onClick:l},{default:e.withCtx(()=>[...s[0]||(s[0]=[e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-plus-circle"},null,-1),e.createTextVNode(" 添加 ",-1)])]),_:1},8,["disabled"]),s[2]||(s[2]=e.createElementVNode("span",{class:"prompt-gap"},null,-1)),e.createVNode(j2,{prompts:o.prompts,disabled:o.disabled,onImport:r},{default:e.withCtx(()=>[e.createVNode(c,{text:"",theme:"primary",size:"small"},{default:e.withCtx(()=>[...s[1]||(s[1]=[e.createTextVNode("从Prompt导入 ",-1)])]),_:1})]),_:1},8,["prompts","disabled"])])}}}),lee=je(aee,[["__scopeId","data-v-00c7183e"]]),ree={class:"plugin-llm-form"},see={class:"prompt-actions"},iee=e.defineComponent({__name:"llm-form",props:{inputData:{},pluginId:{},pluginDetail:{},editable:{type:Boolean},fullVariableList:{default:()=>[]}},emits:["change"],setup(t,{expose:n,emit:o}){const a=xn(),l=vN(),r=t,i=o,s=()=>{const x={...r.inputData};Object.keys(f.value).forEach(B=>{x[B]={value:f.value[B],hook:!1,need_render:!0}}),i("change",x)},c=e.ref(),f=e.ref({messages:[{role:"system",content:""},{role:"user",content:""}],chat_history:""}),p=e.shallowRef([]);e.watch(()=>r.inputData,x=>{const B="messages"in x&&Array.isArray(x.messages.value)&&x.messages.value.length>=2,k="chat_history"in x&&typeof x.chat_history?.value=="string";f.value.messages=B?Fe.cloneDeep(x.messages.value):[{role:"system",content:""},{role:"user",content:""}],f.value.chat_history=k?x.chat_history.value:"",(!B||!k)&&s()},{immediate:!0}),e.onMounted(()=>{h()});const h=async()=>{if(!a.fetchApplyInstructionData){console.error("fetchApplyInstructionData is not available");return}const x=await a.fetchApplyInstructionData({plugin_id:r.pluginId,scope_type:l.scope_type,scope_value:l.scope_value,instruction:"get_space_prompts",params:{}});p.value=x.response},g=x=>{f.value.messages.push({role:"user",content:x}),c.value.validate(),s()},m=(x,B)=>{f.value.messages[x].content=B,s()},v=x=>{r.editable&&(f.value.messages.splice(x,1),s())},w=(x,B)=>x>0&&x===f.value.messages.length-1?B==="user":!0;return n({validate:async()=>c.value.validate().then(()=>!0).catch(()=>!1)}),(x,B)=>{const k=e.resolveComponent("bk-form-item"),b=e.resolveComponent("bk-input"),A=e.resolveComponent("bk-form"),C=e.resolveDirective("bk-tooltips");return e.openBlock(),e.createElementBlock("div",ree,[e.createVNode(A,{ref_key:"formRef",ref:c,"form-type":"vertical",model:f.value},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value.messages,(_,V)=>(e.openBlock(),e.createBlock(k,{key:V,label:"Prompt",property:`messages[${V}]`,required:V>0,rules:[{validator:S=>V===0||S.content.trim().length>0,message:"请输入Prompt内容"},{validator:S=>w(V,S.role),message:"最后一个提示词必须为【用户】role"}]},{default:e.withCtx(()=>[e.createElementVNode("div",see,[e.createVNode(JJ,{modelValue:_.role,"onUpdate:modelValue":[S=>_.role=S,s],index:V,disabled:!r.editable},null,8,["modelValue","onUpdate:modelValue","index","disabled"]),e.createVNode(j2,{prompts:p.value,disabled:!r.editable,onImport:S=>m(V,S)},null,8,["prompts","disabled","onImport"]),V>0&&f.value.messages.length>2?e.withDirectives((e.openBlock(),e.createBlock(e.unref(dn.Del),{key:0,class:e.normalizeClass(["delete-prompt-btn",{disabled:!r.editable}]),onClick:S=>v(V)},null,8,["class","onClick"])),[[C,"删除"]]):e.createCommentVNode("",!0)]),e.createVNode(Yr,{modelValue:_.content,"onUpdate:modelValue":S=>_.content=S,options:r.fullVariableList,type:"textarea",placeholder:"请输入",rows:6,resize:!1,disabled:!r.editable,onChange:s},null,8,["modelValue","onUpdate:modelValue","options","disabled"])]),_:2},1032,["property","required","rules"]))),128)),e.createVNode(lee,{prompts:p.value,disabled:!r.editable,onAdd:g},null,8,["prompts","disabled"]),e.createVNode(k,{label:"聊天历史",property:"chat_history"},{default:e.withCtx(()=>[e.createVNode(b,{modelValue:f.value.chat_history,"onUpdate:modelValue":B[0]||(B[0]=_=>f.value.chat_history=_),type:"textarea",placeholder:"请输入聊天历史",rows:4,resize:!1,disabled:!r.editable,onBlur:s},null,8,["modelValue","disabled"])]),_:1})]),_:1},8,["model"])])}}}),Vw=je(iee,[["__scopeId","data-v-4fd13086"]]),uee={class:"knowledgebase-input-params"},cee={class:"settings-query-param-item-slider-wrapper"},dee={class:"resource-reject-threshold-tips"},fee=e.defineComponent({__name:"index",props:{inputData:{},pluginId:{},pluginDetail:{},inputs:{default:()=>[]},editable:{type:Boolean},fullVariableList:{default:()=>[]}},emits:["change"],setup(t,{expose:n,emit:o}){const a=t,l=o,r=e.ref({topk:0,knowledge_resource_reject_threshold:[.01,.1],knowledge_resource_fine_grained_score_type:"",model:"",query:""}),i=e.ref(),s=e.computed(()=>a.inputs.find(m=>m.key==="knowledge_resource_fine_grained_score_type")?.options?.map(m=>({id:m.value,name:m.text}))||[]),c=e.computed(()=>a.inputs.find(m=>m.key==="model")?.options?.map(m=>({id:m.value,name:m.text}))||[]),f=()=>{const g={...a.inputData};Object.keys(r.value).forEach(m=>{g[m]={value:r.value[m],hook:!1,need_render:!0}}),l("change",g)};e.watch(()=>a.inputData,()=>{["topk","knowledge_resource_reject_threshold","knowledge_resource_fine_grained_score_type","model","query"].forEach(m=>{a.inputData[m]?.value!==void 0?r.value[m]=Fe.cloneDeep(a.inputData[m].value):m==="knowledge_resource_fine_grained_score_type"?r.value.knowledge_resource_fine_grained_score_type=s.value[0]?.id||"":m==="model"?r.value.model=c.value[0]?.id||"":m==="topk"?r.value.topk=0:m==="knowledge_resource_reject_threshold"?r.value.knowledge_resource_reject_threshold=[.01,.1]:m==="query"&&(r.value.query="")})},{immediate:!0});const p=(g,m)=>{r.value[g]=m,g==="knowledge_resource_fine_grained_score_type"&&(r.value.model=m==="LLM"&&c.value[0]?.id||""),f()};return n({validate:async()=>i.value.validate().then(()=>!0).catch(()=>!1)}),(g,m)=>{const v=e.resolveComponent("bk-slider"),w=e.resolveComponent("bk-form-item"),y=e.resolveComponent("bk-select"),x=e.resolveComponent("bk-input"),B=e.resolveComponent("bk-form");return e.openBlock(),e.createElementBlock("div",uee,[e.createVNode(B,{"form-type":"vertical",ref_key:"formRef",ref:i,model:r.value},{default:e.withCtx(()=>[e.createVNode(w,{label:"文档片段数",class:"slider-form-item"},{default:e.withCtx(()=>[e.createVNode(v,{"show-tip":"","model-value":r.value.topk,"min-value":0,"max-value":100,"show-between-label":!0,disable:!a.editable,"onUpdate:modelValue":m[0]||(m[0]=k=>p("topk",k))},null,8,["model-value","disable"])]),_:1}),e.createVNode(w,{label:"相关性阈值",class:"slider-form-item"},{default:e.withCtx(()=>[e.createElementVNode("div",cee,[e.createVNode(v,{class:e.normalizeClass(["settings-query-param-item-slider",{disabled:!a.editable}]),"model-value":r.value.knowledge_resource_reject_threshold,"min-value":0,"max-value":1,step:.01,"show-between-label":!0,disable:!a.editable,"show-tip":"",range:"","onUpdate:modelValue":m[1]||(m[1]=k=>p("knowledge_resource_reject_threshold",k))},null,8,["class","model-value","disable"]),e.createElementVNode("section",dee,[e.createElementVNode("span",null,[m[6]||(m[6]=e.createElementVNode("span",{class:"threshold-tips-label"},"不相关:",-1)),e.createElementVNode("span",null,"0 - "+e.toDisplayString(r.value.knowledge_resource_reject_threshold?.[0]),1)]),e.createElementVNode("span",null,[m[7]||(m[7]=e.createElementVNode("span",{class:"threshold-tips-label"},"可能相关:",-1)),e.createElementVNode("span",null,e.toDisplayString(r.value.knowledge_resource_reject_threshold?.[0])+" - "+e.toDisplayString(r.value.knowledge_resource_reject_threshold?.[1]),1)]),e.createElementVNode("span",null,[m[8]||(m[8]=e.createElementVNode("span",{class:"threshold-tips-label"},"强相关:",-1)),e.createElementVNode("span",null,e.toDisplayString(r.value.knowledge_resource_reject_threshold?.[1])+" - 1",1)])])])]),_:1}),e.createVNode(w,{label:"重排序方法",required:"",property:"knowledge_resource_fine_grained_score_type"},{default:e.withCtx(()=>[e.createVNode(y,{"model-value":r.value.knowledge_resource_fine_grained_score_type,list:s.value,disabled:!a.editable,clearable:!1,"disable-scroll-to-selected-option":!0,"id-key":"id","display-key":"name",onSelect:m[2]||(m[2]=k=>p("knowledge_resource_fine_grained_score_type",k))},null,8,["model-value","list","disabled"])]),_:1}),r.value.knowledge_resource_fine_grained_score_type==="LLM"?(e.openBlock(),e.createBlock(w,{key:0,label:"模型",required:"",property:"model"},{default:e.withCtx(()=>[e.createVNode(y,{"id-key":"id","display-key":"name",clearable:!1,filterable:!0,"disable-scroll-to-selected-option":!0,disabled:!a.editable,"model-value":r.value.model,list:c.value,onSelect:m[3]||(m[3]=k=>p("model",k))},null,8,["disabled","model-value","list"])]),_:1})):e.createCommentVNode("",!0),e.createVNode(w,{label:"查询文本",required:"",property:"query"},{default:e.withCtx(()=>[e.createVNode(x,{modelValue:r.value.query,"onUpdate:modelValue":m[4]||(m[4]=k=>r.value.query=k),type:"textarea",rows:10,disabled:!a.editable,resize:!1,placeholder:"请输入查询文本",onChange:m[5]||(m[5]=k=>p("query",k))},null,8,["modelValue","disabled"])]),_:1})]),_:1},8,["model"])])}}}),pee=je(fee,[["__scopeId","data-v-29beb2c9"]]),mee={class:"node-config-input-params"},vee=e.defineComponent({__name:"input-params",props:{node:{},pluginType:{},pluginDetail:{},inputs:{default:()=>[]},editable:{type:Boolean,default:!0},fullVariableList:{default:()=>[]}},emits:["change"],setup(t,{expose:n,emit:o}){const a={uniform_api_plugin:ow,agent:MZ,aiops:ZJ,llm:Vw,custom:Vw,knowledgebase:pee},l=t,r=o,i=()=>{const w={};return Object.keys(l.node.component.data).forEach(y=>{w[y]=Fe.cloneDeep(l.node.component.data[y].value)}),w},s=e.ref(),c=e.ref(),f=e.ref(),p=e.ref(i()),h=e.computed(()=>{const w=l.pluginDetail?.category,y=l.pluginDetail?.group;if(w){if(w==="model"&&y&&y in a)return a[y];if(w in a)return a[w]}return ow}),g=e.computed(()=>l.pluginType==="uniform_api"&&l.node.component.api_meta?.id||"");e.watch(()=>l.node.component.data,()=>{p.value=i()});const m=w=>{const y={...l.node.component.data};Object.keys(w).forEach(x=>{y[x]={hook:!1,need_render:!0,value:w[x]}}),r("change",y)};return n({validate:()=>s.value&&s.value.validate?s.value.validate():c.value&&c.value.validate?c.value.validate():l.pluginType==="uniform_api"&&f.value&&f.value.validate?f.value.validate():!0}),(w,y)=>(e.openBlock(),e.createElementBlock("section",mee,[l.pluginDetail?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[l.pluginDetail.inputParamsFormType==="renderform"?(e.openBlock(),e.createBlock(Ni,{key:0,ref_key:"renderFormRef",ref:s,scheme:l.inputs,editable:l.editable,"form-option":{showGroup:!1,showHook:!0,showLabel:!0,showVarList:!0,formEdit:l.editable},"form-data":p.value,"full-variable-list":l.fullVariableList,onChange:m},null,8,["scheme","editable","form-option","form-data","full-variable-list"])):e.createCommentVNode("",!0),l.pluginDetail.inputParamsFormType==="jsonschemaform"?(e.openBlock(),e.createBlock(BZ,{key:1,ref_key:"jsonschemaFormRef",ref:c,"form-data":p.value,schema:l.inputs,editable:l.editable,onChange:m},null,8,["form-data","schema","editable"])):e.createCommentVNode("",!0),l.pluginDetail.inputParamsFormType==="uniformApiForm"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(h.value),{key:2,ref_key:"uniformApiPluginComponentRef",ref:f,node:l.node,"plugin-detail":l.pluginDetail,"plugin-id":g.value,"input-data":l.node.component.data,inputs:l.inputs,editable:l.editable,"full-variable-list":l.fullVariableList,onChange:y[0]||(y[0]=x=>r("change",x))},null,40,["node","plugin-detail","plugin-id","input-data","inputs","editable","full-variable-list"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)]))}}),gee=je(vee,[["__scopeId","data-v-222b14dd"]]),hee={class:"node-config-output-params"},bee={class:"params-key-wrappper"},yee={class:"key-text"},wee={class:"create-variable-cell"},kee=["onClick"],Cee=e.defineComponent({__name:"output-params",props:{node:{},outputsForms:{},constants:{default:()=>({})},editable:{type:Boolean,default:!0}},emits:["updateConstants"],setup(t,{emit:n}){const o=t,a=n,l=e.shallowRef({}),r=e.computed(()=>o.outputsForms.map(c=>({...c,hookedKey:i(c.key)})));e.watch(()=>o.constants,c=>{l.value={...c}},{immediate:!0});const i=c=>BN(l.value,o.node.id,c),s=c=>{if(!o.editable)return;const f=i(c.key);if(f){const p={...l.value[f],source_info:{...l.value[f].source_info,[o.node.id]:l.value[f].source_info[o.node.id].filter(h=>h!==c.key)}};l.value={...l.value,[f]:p}}else{const p=`\${${c.key}}`,h=o.constants[p]?`\${${c.key}_${gt.random4()}}`:p;l.value={...l.value,[h]:{index:Object.values(l.value).length,name:c.name,key:h,desc:"",custom_type:"",show_type:"hide",source_type:"component_outputs",source_info:{[o.node.id]:[c.key]},source_tag:"",validation:"",plugin_code:"",value:""}}}a("updateConstants",l.value)};return(c,f)=>{const p=e.resolveComponent("bk-table-column"),h=e.resolveComponent("bk-input"),g=e.resolveComponent("bk-table"),m=e.resolveDirective("bk-tooltips");return e.openBlock(),e.createElementBlock("section",hee,[e.createVNode(g,{"empty-text":"暂无参数",data:r.value,border:["outer"],scrollbar:!1},{default:e.withCtx(()=>[e.createVNode(p,{label:"名称",width:180,"min-width":180,prop:"name"},{default:e.withCtx(({row:v})=>[e.withDirectives((e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(["params-name",{"has-desc":v.description!==""}])},[e.createTextVNode(e.toDisplayString(v.name),1)],2)),[[m,{disabled:v.description==="",content:v.description}]])]),_:1}),e.createVNode(p,{label:"KEY",prop:"key"},{default:e.withCtx(({row:v})=>[e.createElementVNode("div",bee,[e.createElementVNode("span",yee,e.toDisplayString(v.key),1),v.hookedKey?(e.openBlock(),e.createBlock(h,{key:0,class:"variable-key-input","model-value":v.hookedKey,readonly:e.readonly},null,8,["model-value"])):e.createCommentVNode("",!0)])]),_:1}),e.createVNode(p,{label:"勾选为全局变量",width:120,"min-width":120},{default:e.withCtx(({row:v})=>[e.createElementVNode("div",wee,[e.withDirectives((e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(["btn",{"is-hooked":!!v.hookedKey,"is-disabled":!o.editable,"is-disabled-tooltip":!o.editable}]),onClick:w=>s(v)},[...f[0]||(f[0]=[e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-quanjubianliang-2"},null,-1)])],10,kee)),[[m,{placement:"top",content:v.hookedKey?"取消使用变量接收输出":"使用变量接收输出"}]])])]),_:1})]),_:1},8,["data"])])}}}),Aee=je(Cee,[["__scopeId","data-v-cfbfc03c"]]),Eee={class:"bkflow-node-config"},Bee={key:1,class:"input-params-empty-tip"},xee=e.defineComponent({__name:"index",props:{node:{},systemVariables:{default:()=>[]},constants:{default:()=>({})},editable:{type:Boolean,default:!0}},emits:["change","selectPlugin","updateConstants"],setup(t,{expose:n,emit:o}){const a=t,l=xn(),r=Fv(),i=e.computed(()=>cZ(r.debug)),s=uZ,c=o,f=e.ref(),p=e.ref(),h=e.ref(null),g=e.ref(!0),m=e.shallowRef([]),v=e.shallowRef([]),w=e.ref(!1),y=I=>{const F=I||a.node;return F.component.code?["uniform_api","remote_plugin"].includes(F.component.code)?F.component.code:"inner":""},x=e.computed(()=>y()),B=e.computed(()=>[...a.systemVariables,...Object.values(a.constants)].map(I=>({key:I.key,name:I.name,source_type:I.source_type,custom_type:I.custom_type||""})));e.onMounted(()=>{w.value=!1,a.node.component.code?k():g.value=!1});const k=async()=>{g.value=!0,w.value=!1;try{const I=await Xs(l,a.node.component),{inputs:F,outputs:z}=I;m.value=F,v.value=z,h.value=I,A()}catch(I){S(I)}finally{g.value=!1}},b=I=>{if(!h.value)return;const{data:F}=I.component,z=y(I);if({uniform_api:()=>{if(!F||!("uniform_api_plugin_url"in F)||!("uniform_api_plugin_method"in F))return!0;const M=m.value;return!M||M.length===0?!1:M.some(Y=>!(Y.key in F))},remote_plugin:()=>F?Object.keys(F).length<=2||!("plugin_code"in F)||!("plugin_version"in F):!0,inner:()=>!F||Object.keys(F).length===0}[z]?.())if(z==="uniform_api"&&F){const O=qb(z,h.value),M={...O,...F};m.value.forEach(Y=>{Y.key in M||(M[Y.key]=O[Y.key])}),N({...I,component:{...I.component,data:M}})}else N({...I,component:{...I.component,data:qb(z,h.value)}})},A=()=>{b(a.node)},C=I=>{const F={...a.node,component:{...a.node.component,data:I}};N(F)},_=I=>{N(I),V(I)},V=async I=>{g.value=!0,w.value=!1;try{const F=await Xs(l,I.component),{inputs:z,outputs:L}=F;m.value=z,v.value=L,h.value=F,b(I)}catch(F){S(F)}finally{g.value=!1}},S=I=>{if(mZ(I)){w.value=!0;return}console.error("Failed to fetch plugin detail:",I)},N=I=>{c("change",I)},D=I=>{C(I)},H=(I,F,z)=>{const L={...a.constants},O=L[I];if(!O)return;const M=O.source_info[F]||[];M.includes(z)||(L[I]={...O,source_info:{...O.source_info,[F]:[...M,z]}},c("updateConstants",L))};return n({isPluginNotExist:w,pluginDetailLoading:g,validate:async()=>{const I=p.value?.validate||(()=>!0),[F,z]=await Promise.all([f.value?.validate(),I()]);return F&&z},updateInputParams:D}),(I,F)=>{const z=e.resolveComponent("bk-button"),L=e.resolveComponent("bk-exception"),O=e.resolveComponent("bk-alert"),M=e.resolveDirective("bk-loading");return e.withDirectives((e.openBlock(),e.createElementBlock("div",Eee,[w.value?(e.openBlock(),e.createBlock(L,{key:0,class:"plugin-not-exist-exception",type:"500",title:"未找到可用插件或可用版本",scene:"part"},{default:e.withCtx(()=>[a.editable?(e.openBlock(),e.createBlock(z,{key:0,text:"",theme:"primary",onClick:F[0]||(F[0]=G=>c("selectPlugin"))},{default:e.withCtx(()=>[...F[3]||(F[3]=[e.createTextVNode("重新选择",-1)])]),_:1})):e.createCommentVNode("",!0)]),_:1})):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[i.value?(e.openBlock(),e.createBlock(O,{key:0,class:"debug-locked-alert",theme:"info",title:e.unref(s),"data-test":"debug-locked-node-config-alert"},null,8,["title"])):e.createCommentVNode("",!0),e.createVNode(Sa,{title:"基础信息"},{default:e.withCtx(()=>[e.createVNode(AZ,{ref_key:"basicInfoRef",ref:f,node:a.node,editable:a.editable,"plugin-type":x.value,"plugin-detail":h.value,onSelectPlugin:F[1]||(F[1]=G=>c("selectPlugin")),onChange:N,onVersionChange:_},null,8,["node","editable","plugin-type","plugin-detail"])]),_:1}),e.createVNode(Sa,{title:"输入参数"},{default:e.withCtx(()=>[!g.value&&h.value?e.renderSlot(I.$slots,"inputParams",{node:a.node,pluginDetail:h.value,inputs:m.value,editable:a.editable,fullVariableList:B.value,updateInputParams:D,updateVariableSourceInfo:H},()=>[e.createVNode(gee,{ref_key:"inputParamsRef",ref:p,node:a.node,"plugin-type":x.value,"plugin-detail":h.value,inputs:m.value,editable:a.editable,"full-variable-list":B.value,onChange:C},null,8,["node","plugin-type","plugin-detail","inputs","editable","full-variable-list"])],!0,0):!g.value&&!a.node.component?.code?(e.openBlock(),e.createElementBlock("div",Bee,[...F[4]||(F[4]=[e.createElementVNode("span",{class:"tip-text"},"请选择插件",-1)])])):e.createCommentVNode("",!0)]),_:3}),e.createVNode(Sa,{title:"输出结果"},{default:e.withCtx(()=>[g.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Aee,{key:0,node:a.node,"outputs-forms":v.value,constants:a.constants,editable:a.editable,onUpdateConstants:F[2]||(F[2]=G=>c("updateConstants",G))},null,8,["node","outputs-forms","constants","editable"]))]),_:1})],64))])),[[M,{loading:g.value}]])}}}),Sw=je(xee,[["__scopeId","data-v-6936f214"]]),_ee="「显示」可在执行时做为任务入参使用,「隐藏」则仅能在流程内部使用";function Nw(t){switch(t){case"system":return{label:"系统",theme:void 0};case"space":return{label:"空间",theme:void 0};case"custom":return{label:"自定义",theme:"info"};case"component_inputs":return{label:"节点输入",theme:"warning"};case"component_outputs":return{label:"节点输出",theme:"success"};default:return{label:"--",theme:void 0}}}function Vee(t,n){return n==="system"||n==="space"?"隐藏":t==="show"?"显示":"隐藏"}const See={class:"global-variables-preview-content"},Nee={class:"preview-table-wrapper"},Dee={class:"cell-text"},Tee={class:"key-cell"},Iee={class:"cell-text"},Oee={class:"copy-icon-wrapper"},Mee=e.defineComponent({__name:"global-variables-preview",props:{constants:{default:()=>({})},systemVariables:{default:()=>[]}},setup(t){const n=t,o=e.ref(null),a=e.ref(!1),l=()=>{a.value=!a.value},r=()=>{a.value=!1,o.value?.hide?.()};e.onBeforeUnmount(()=>{r()});const i=e.computed(()=>{const f=Object.values(n.constants).sort((p,h)=>p.index-h.index);return[...n.systemVariables,...f]}),s={cellFn:f=>f.column.prop==="show_type"?e.withDirectives(e.createVNode("span",{class:"thead-with-desc"},[f.column.label]),[[e.resolveDirective("bk-tooltips"),{content:_ee,placement:"bottom"}]]):f.column.label},c=f=>{const p=document.createElement("textarea");p.value=f.toString(),document.body.appendChild(p),p.select(),document.execCommand("copy"),document.body.removeChild(p),qn.Message({theme:"success",message:"复制成功"})};return(f,p)=>{const h=e.resolveComponent("bk-overflow-title"),g=e.resolveComponent("bk-table-column"),m=e.resolveComponent("bk-tag"),v=e.resolveComponent("bk-table"),w=e.resolveComponent("bk-popover"),y=e.resolveDirective("bk-tooltips");return e.openBlock(),e.createBlock(w,{ref_key:"popoverRef",ref:o,"is-show":a.value,trigger:"manual","force-clickoutside":"",placement:"bottom-end",theme:"light","ext-cls":"global-variables-preview-popover",offset:8,arrow:!1,width:640,"popover-delay":0,onAfterHidden:p[0]||(p[0]=x=>a.value=!1)},{content:e.withCtx(()=>[e.createElementVNode("div",See,[p[2]||(p[2]=e.createElementVNode("div",{class:"preview-header"},[e.createElementVNode("span",{class:"header-title"},"全局变量")],-1)),e.createElementVNode("div",Nee,[e.createVNode(v,{data:i.value,border:["outer"],"max-height":400,thead:s},{default:e.withCtx(()=>[e.createVNode(g,{label:"名称",prop:"name","min-width":140},{default:e.withCtx(({row:x})=>[e.createElementVNode("div",Dee,[e.createVNode(h,{type:"tips"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.name),1)]),_:2},1024)])]),_:1}),e.createVNode(g,{label:"KEY",prop:"key","min-width":180},{default:e.withCtx(({row:x})=>[e.createElementVNode("div",Tee,[e.createElementVNode("div",Iee,[e.createVNode(h,{type:"tips"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.key),1)]),_:2},1024)]),e.createElementVNode("span",Oee,[e.withDirectives(e.createVNode(e.unref(dn.CopyShape),{onClick:e.withModifiers(B=>c(x.key),["stop"])},null,8,["onClick"]),[[y,{content:"复制",placement:"top"}]])])])]),_:1}),e.createVNode(g,{label:"分类",prop:"source_type",width:100},{default:e.withCtx(({row:x})=>[e.createVNode(m,{theme:e.unref(Nw)(x.source_type).theme},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(Nw)(x.source_type).label),1)]),_:2},1032,["theme"])]),_:1}),e.createVNode(g,{label:"执行时显示",prop:"show_type",width:100,align:"center"},{default:e.withCtx(({row:x})=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(Vee)(x.show_type,x.source_type)),1)]),_:1})]),_:1},8,["data"])])])]),default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["global-variables-trigger",{"is-active":a.value}]),onClick:e.withModifiers(l,["stop"])},[...p[1]||(p[1]=[e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-quanjubianliang-2"},null,-1),e.createElementVNode("span",{class:"trigger-text"},"全局变量",-1)])],2)]),_:1},8,["is-show"])}}}),Pee=je(Mee,[["__scopeId","data-v-4bbbf505"]]),Lee={class:"node-config-slider-header"},Ree={class:"header-title","data-test":"node-config-title"},Fee={"data-test":"tab-debug-label"},zee={class:"sideslider-footer-buttons"},jee=e.defineComponent({__name:"index",props:{show:{type:Boolean,default:!1},node:{},constants:{default:()=>({})},systemVariables:{default:()=>[]},editable:{type:Boolean,default:!0},enableDebug:{type:Boolean,default:!1},initialTab:{default:"config"}},emits:["close","update:show","confirm","selectPlugin","updateConstants","debug-tab-activated"],setup(t,{expose:n,emit:o}){const a=t,l=o,r=e.ref(),i=e.ref(!0),s=e.ref("config"),c=e.computed(()=>g.value?.name||"节点配置"),f=e.computed(()=>g.value?.component?.code?"":"请先选择插件后再进行调试"),p=e.computed(()=>({node:g.value,active:s.value==="debug",close:S})),h=()=>{f.value||(s.value="debug")};e.watch(s,H=>{H==="debug"&&!f.value&&l("debug-tab-activated",g.value)});const g=e.ref(Fe.cloneDeep(a.node)),m=e.shallowRef(Fe.cloneDeep(a.constants)),v=e.ref(Fe.cloneDeep(a.node)),w=e.shallowRef(Fe.cloneDeep(a.constants)),y=e.ref(!1),x=()=>{v.value=Fe.cloneDeep(g.value),w.value=Fe.cloneDeep(m.value),y.value=!0};e.watch(()=>a.show,H=>{if(H){g.value=Fe.cloneDeep(a.node),m.value=Fe.cloneDeep(a.constants),y.value=!1;const j=a.enableDebug&&a.initialTab==="debug"&&!f.value;s.value=j?"debug":"config"}},{immediate:!0}),e.watch([()=>a.show,()=>!!r.value,()=>r.value?.pluginDetailLoading],async([H,j,I])=>{!H||!j||I||y.value||(await e.nextTick(),!(!a.show||r.value?.pluginDetailLoading||y.value)&&x())},{flush:"post"}),e.watchEffect(()=>{r.value?.isPluginNotExist||r.value?.pluginDetailLoading?i.value=!1:i.value=!0});const B=H=>{g.value=H},k=H=>{m.value=H,l("updateConstants",H)},b=(H,j)=>iZ(H,j.id,aZ(j.component?.data)),A=async()=>{if(await r.value?.validate()){const j=b(m.value,g.value);l("confirm",g.value,j)}},C=()=>{l("selectPlugin",g.value,m.value)},_=()=>y.value?!Fe.isEqual(g.value,v.value)||!Fe.isEqual(m.value,w.value):!1,V=()=>!a.editable||!_()?(S(),!0):new Promise(H=>{qn.InfoBox({title:"确认离开?",content:"离开将会导致未保存信息丢失",confirmText:"离开",cancelText:"取消",width:320,onConfirm:()=>{S(),H(!0)},onCancel:()=>{H(!1)}})}),S=()=>{l("close"),l("update:show",!1)};return n({updateNodeInputParams:H=>{r.value&&r.value.updateInputParams?.(H)},updateConstants:H=>{m.value=Fe.cloneDeep(H)}}),(H,j)=>{const I=e.resolveComponent("bk-tab-panel"),F=e.resolveComponent("bk-tab"),z=e.resolveComponent("bk-button"),L=e.resolveComponent("bk-sideslider"),O=e.resolveDirective("bk-tooltips");return e.openBlock(),e.createBlock(L,{title:"节点配置","is-show":a.show,width:960,"esc-close":!1,"before-close":V},{header:e.withCtx(()=>[e.createElementVNode("div",Lee,[e.createElementVNode("span",Ree,e.toDisplayString(c.value),1),a.show?(e.openBlock(),e.createBlock(Pee,{key:0,constants:m.value,"system-variables":a.systemVariables},null,8,["constants","system-variables"])):e.createCommentVNode("",!0)])]),footer:e.withCtx(()=>[e.createElementVNode("div",zee,[i.value&&(!a.enableDebug||s.value==="config")?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[a.editable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(z,{theme:"primary","data-test":"save",onClick:A},{default:e.withCtx(()=>[...j[2]||(j[2]=[e.createTextVNode("保存",-1)])]),_:1}),a.enableDebug?e.withDirectives((e.openBlock(),e.createBlock(z,{key:0,outline:"",theme:"primary","data-test":"go-to-debug",title:f.value,disabled:!!f.value,onClick:h},{default:e.withCtx(()=>[...j[3]||(j[3]=[e.createTextVNode(" 去调试 ",-1)])]),_:1},8,["title","disabled"])),[[O,{content:f.value,disabled:!f.value}]]):e.createCommentVNode("",!0),e.createVNode(z,{onClick:S},{default:e.withCtx(()=>[...j[4]||(j[4]=[e.createTextVNode("取消",-1)])]),_:1})],64)):(e.openBlock(),e.createBlock(z,{key:1,theme:"primary",onClick:S},{default:e.withCtx(()=>[...j[5]||(j[5]=[e.createTextVNode("关闭",-1)])]),_:1}))],64)):e.createCommentVNode("",!0)])]),default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["node-config-slider",{"has-debug-tabs":a.enableDebug}])},[a.show&&!a.enableDebug?(e.openBlock(),e.createBlock(Sw,{key:0,ref_key:"nodeConfigRef",ref:r,node:g.value,editable:a.editable,constants:m.value,"system-variables":a.systemVariables,onSelectPlugin:C,onUpdateConstants:k,onChange:B},{inputParams:e.withCtx(M=>[e.renderSlot(H.$slots,"inputParams",e.normalizeProps(e.guardReactiveProps(M)),void 0,!0)]),_:3},8,["node","editable","constants","system-variables"])):a.show?(e.openBlock(),e.createBlock(F,{key:1,active:s.value,"onUpdate:active":j[0]||(j[0]=M=>s.value=M),class:"node-detail-tabs",type:"unborder-card"},{default:e.withCtx(()=>[e.createVNode(I,{class:"node-config-tab-panel",name:"config",label:"节点配置"},{default:e.withCtx(()=>[e.createVNode(Sw,{ref_key:"nodeConfigRef",ref:r,node:g.value,editable:a.editable,constants:m.value,"system-variables":a.systemVariables,onSelectPlugin:C,onUpdateConstants:k,onChange:B},{inputParams:e.withCtx(M=>[e.renderSlot(H.$slots,"inputParams",e.normalizeProps(e.guardReactiveProps(M)),void 0,!0)]),_:3},8,["node","editable","constants","system-variables"])]),_:3}),e.createVNode(I,{name:"debug",label:"调试配置","data-test":"tab-debug",disabled:!!f.value},{label:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("span",Fee,[...j[1]||(j[1]=[e.createTextVNode(" 调试配置 ",-1)])])),[[O,{content:f.value,disabled:!f.value}]])]),default:e.withCtx(()=>[e.renderSlot(H.$slots,"debugConfig",e.normalizeProps(e.guardReactiveProps(p.value)),void 0,!0)]),_:3},8,["disabled"])]),_:3},8,["active"])):e.createCommentVNode("",!0)],2)]),_:3},8,["is-show"])}}}),Hee=je(jee,[["__scopeId","data-v-6c478c4b"]]),Uee={class:"plugin-group-aside"},Wee={class:"group-list"},Gee=["onClick"],Yee=["src"],Qee={class:"group-text"},qee=e.defineComponent({__name:"plugin-groups-aside",props:{active:{},groups:{}},emits:["update:active","change"],setup(t,{emit:n}){const o=t,a=n,l=i=>{a("update:active",i),a("change",i)},r=i=>{const s=i.target;s.src!==gt.PLUGIN_GROUP_DEFAULT_ICON&&(s.src=gt.PLUGIN_GROUP_DEFAULT_ICON)};return(i,s)=>(e.openBlock(),e.createElementBlock("section",Uee,[e.createElementVNode("div",Wee,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.groups,c=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["group-item",{actived:o.active===c.name}]),key:c.id,onClick:f=>l(c.name)},[e.createElementVNode("img",{class:"group-icon",src:c.iconUrl||e.unref(gt.PLUGIN_GROUP_DEFAULT_ICON),onError:r},null,40,Yee),e.createElementVNode("span",Qee,e.toDisplayString(c.alias),1)],10,Gee))),128))])]))}}),Kee=je(qee,[["__scopeId","data-v-daa65103"]]),$ee="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",Zee="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",Xee="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",Jee="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",ete="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",tte="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",nte="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",ote="data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20fill='none'%20fill-rule='evenodd'%3e%3cpath%20fill='%233A84FF'%20fill-rule='nonzero'%20d='M800%20432A368%20368%200%200%201%20432%20800%20368%20368%200%200%201%2064%20432%20368%20368%200%200%201%20800%20432z'/%3e%3cpath%20fill='%23CFDDF6'%20fill-opacity='.7'%20d='M928%20544A384%20384%200%200%201%20544%20928%20384%20384%200%200%201%20160%20544%20384%20384%200%200%201%20928%20544z'/%3e%3cpath%20d='M0%200H1024V1024H0V0z'/%3e%3cpath%20fill='%23FFF'%20fill-rule='nonzero'%20d='M746.6581968%20501.3226672L714.6514847999999%20501.3226672%20714.6514847999999%20416.00355568C714.56956%20392.47735216%20695.5183712%20373.42592608%20671.9924608%20373.344L586.6993008%20373.344%20586.6993008%20341.33688912C586.6993008%20311.87973856%20562.8198592%20288%20533.3630752%20288%20503.90629151999997%20288%20480.02685024%20311.87973856%20480.02685024%20341.33688912L480.02685024%20373.344%20394.65902464%20373.344C371.1890944%20373.344%20352.2239972112%20392.53333327999997%20352.2239972112%20416.00355568L352.2239972112%20497.0666672%20384.00671248%20497.0666672C415.01415584%20498.1832048%20439.57441824%20523.6440752%20439.57441824%20554.672%20439.57441824%20585.6999248%20415.01415584%20611.1607951999999%20384.00671248%20612.2773328000001L352%20612.2773328000001%20352%20693.3404448C352.0819249832%20716.8666479999999%20371.13311392%20735.9180736000001%20394.65902464%20736L475.72112624%20736%20475.72112624%20703.9928896C476.83765103999997%20672.9850592%20502.29820336%20648.4244911999999%20533.3257424%20648.4244911999999%20564.3532816%20648.4244911999999%20589.8138336%20672.9850592%20590.9303583999999%20703.9928896L590.9303583999999%20736%20671.9924608%20736C695.5183712%20735.9180736000001%20714.56956%20716.8666479999999%20714.6514847999999%20693.3404448L714.6514847999999%20607.9964448000001%20746.6581968%20607.9964448000001C765.7147232%20607.9984368%20783.3245328%20597.8329200000001%20792.8533712000001%20581.3296096%20802.3822096%20564.8263008%20802.3822096%20544.4928096%20792.8533712000001%20527.9895008%20783.3245328%20511.48619199999996%20765.7147232%20501.32067359999996%20746.6581968%20501.3226672L746.6581968%20501.3226672Z'/%3e%3c/g%3e%3c/svg%3e",ate={class:"data-plugin-group"},lte={class:"plugin-list"},rte=["onClick"],ste=["src"],ite={class:"plugin-name"},ute=e.defineComponent({__name:"data-plugin-group",props:{plugins:{}},emits:["select"],setup(t,{emit:n}){const o=t,a=n,l={alert_plugin:$ee,log_plugin:Jee,trace_plugin:nte,query_promql_metric_plugin:ete,事件查询:Zee,Profiling查询:tte,图谱查询:Xee},r=ote,i=e.computed(()=>(o.plugins||[]).map(s=>({id:s.id,name:s.alias,icon:l[s.name]||s.icon||r})));return(s,c)=>(e.openBlock(),e.createElementBlock("div",ate,[e.createElementVNode("div",lte,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,f=>(e.openBlock(),e.createElementBlock("div",{class:"plugin-item",key:f.id,onClick:p=>a("select",f.id)},[e.createElementVNode("img",{class:"plugin-img",src:f.icon},null,8,ste),e.createElementVNode("h4",ite,e.toDisplayString(f.name),1)],8,rte))),128))]),i.value.length===0?(e.openBlock(),e.createBlock(fn,{key:0,title:"暂无数据插件"})):e.createCommentVNode("",!0)]))}}),cte=je(ute,[["__scopeId","data-v-a00731b3"]]),dte={key:0,class:"agent-plugin-group"},fte={class:"top-operate-area"},pte={class:"buttons"},mte={class:"agent-content-area"},vte={class:"agent-cards"},gte={class:"card-header"},hte=["src"],bte={class:"agent-summary"},yte={class:"main-info"},wte={class:"name-text"},kte={class:"other-info"},Cte=["title"],Ate=["title"],Ete={class:"agent-desc"},Bte={class:"agent-btns"},xte=e.defineComponent({__name:"agent-plugin-group",props:{properties:{},plugins:{},loading:{type:Boolean}},emits:["select"],setup(t,{emit:n}){const o=[{id:"alias",name:"智能体名称"},{id:"updated_by",name:"更新人"},{id:"agent_type",name:"标签"}],a=t,l=Hc(),r=n,i=e.ref("all"),s=e.ref([]),c=e.computed(()=>Object.keys(a.properties).map(x=>({id:x,name:a.properties[x]}))),f=e.computed(()=>(a.plugins||[]).filter(x=>!x.display_content?.hidden)),p=e.computed(()=>{let x=f.value;return i.value!=="all"&&(x=x.filter(B=>B.group===i.value)),s.value.length>0&&(x=x.filter(B=>s.value.some(k=>k.id==="alias"?B.alias.toLowerCase().includes(k.values[0].id.toLowerCase()):k.id==="agent_type"?(B.display_content?.agent_type||"")===k.values[0].id:k.id==="space_name"?(B.display_content?.space_name||"").toLowerCase().includes(k.values[0].id.toLowerCase()):k.id==="updated_by"?(B.display_content?.updated_by||"")===k.values[0].id:!0))),x}),h=e.ref(!1);e.watch(()=>a.plugins,x=>{if(h.value||!x?.length)return;x.some(k=>!k.display_content?.hidden&&k.group==="applied")&&(i.value="applied"),h.value=!0},{immediate:!0});const g=x=>{s.value=x},m=async(x,B)=>{const k=x?.id;if(!k)return[];const b=(B||"").toLowerCase(),A=new Set;if(f.value.forEach(C=>{let _="";k==="alias"?_=C.alias||"":k==="updated_by"?_=C.display_content?.updated_by||"":k==="agent_type"&&(_=C.display_content?.agent_type||""),_&&A.add(_)}),k==="agent_type"){const C={single:"单智能体",flow:"流程类"};return[...A].filter(_=>!b||(C[_]||_).toLowerCase().includes(b)).map(_=>({id:_,name:C[_]||_}))}return[...A].filter(C=>!b||C.toLowerCase().includes(b)).map(C=>({id:C,name:C}))},v=()=>{l?.agentApplyUrl&&window.open(l.agentApplyUrl,"_blank")},w=()=>{l?.agentResourceUrl&&window.open(l.agentResourceUrl,"_blank")},y=x=>{x.display_content.fetch_url&&window.open(x.display_content.fetch_url,"_blank")};return(x,B)=>{const k=e.resolveComponent("bk-button"),b=e.resolveComponent("bk-alert"),A=e.resolveComponent("bk-radio-button"),C=e.resolveComponent("bk-radio-group"),_=e.resolveDirective("bk-tooltips");return a.loading?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",dte,[e.createVNode(b,null,{default:e.withCtx(()=>[B[3]||(B[3]=e.createTextVNode(" 如有需要,您可以申请更多的智能体权限 ",-1)),e.createVNode(k,{theme:"primary",text:"",size:"small",onClick:v},{default:e.withCtx(()=>[...B[2]||(B[2]=[e.createTextVNode("点击申请",-1)])]),_:1})]),_:1}),e.createElementVNode("div",fte,[e.createElementVNode("div",pte,[e.createVNode(k,{theme:"primary",onClick:w},{default:e.withCtx(()=>[e.unref(l)?.agentButtonText?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(e.unref(l).agentButtonText),1)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(e.unref(dn.Plus),{class:"add-icon"}),B[4]||(B[4]=e.createTextVNode(" 智能体 ",-1))],64))]),_:1}),c.value.length>1?(e.openBlock(),e.createBlock(C,{key:0,modelValue:i.value,"onUpdate:modelValue":B[0]||(B[0]=V=>i.value=V),type:"capsule"},{default:e.withCtx(()=>[e.createVNode(A,{label:"all"},{default:e.withCtx(()=>[...B[5]||(B[5]=[e.createTextVNode("全部",-1)])]),_:1}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,V=>(e.openBlock(),e.createBlock(A,{key:V.id,label:V.id},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(V.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])):e.createCommentVNode("",!0)]),e.createVNode(wi,{modelValue:s.value,options:o,"get-menu-list":m,placeholder:"搜索智能体名称、更新人、标签",onChange:g},null,8,["modelValue"])]),e.createElementVNode("div",mte,[e.createElementVNode("div",vte,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,V=>(e.openBlock(),e.createElementBlock("div",{class:"card-item",key:V.id},[e.createElementVNode("div",gte,[e.createElementVNode("img",{src:V.display_content.icon,alt:"",class:"agent-img"},null,8,hte),e.createElementVNode("div",bte,[e.createElementVNode("div",yte,[e.createElementVNode("div",wte,e.toDisplayString(V.alias),1),V.display_content.agent_type?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["agent-type",V.display_content.agent_type])},e.toDisplayString(V.display_content.agent_type==="single"?"单智能体":"流程类"),3)):e.createCommentVNode("",!0)]),e.createElementVNode("div",kte,[e.createElementVNode("span",{title:V.display_content.agent_code},"ID:"+e.toDisplayString(V.display_content.agent_code),9,Cte),e.createElementVNode("span",{title:V.display_content.updated_by||"--"}," 更新人:"+e.toDisplayString(V.display_content.updated_by||"--"),9,Ate)])])]),e.createElementVNode("p",Ete,e.toDisplayString(V.display_content.description||"--"),1),e.createElementVNode("div",Bte,[e.createVNode(k,{theme:"primary",size:"small",onClick:S=>r("select",V.id)},{default:e.withCtx(()=>[...B[6]||(B[6]=[e.createTextVNode("选择",-1)])]),_:1},8,["onClick"]),V.display_content.agent_type?e.withDirectives((e.openBlock(),e.createBlock(k,{key:0,size:"small",disabled:V.display_content.agent_type!=="single",onClick:S=>y(V)},{default:e.withCtx(()=>[...B[7]||(B[7]=[e.createTextVNode(" 体验 ",-1)])]),_:1},8,["disabled","onClick"])),[[_,{disabled:V.display_content.agent_type!=="flow",content:"流程类Agent暂不支持体验"}]]):e.createCommentVNode("",!0)])]))),128))]),p.value.length===0?(e.openBlock(),e.createBlock(fn,{key:0,"is-search":s.value.length>0,title:"暂无智能体",onClear:B[1]||(B[1]=V=>s.value=[])},null,8,["is-search"])):e.createCommentVNode("",!0)])]))}}}),_te=je(xte,[["__scopeId","data-v-2ef77a0c"]]),Vte={class:"order-selector"},Ste=e.defineComponent({__name:"order-selector",props:{order:{}},emits:["update:order"],setup(t,{emit:n}){const o=[{id:"created_at_asc",name:"创建时间(升序)",icon:"bkflow-canvas-icon bkflow-canvas-sort-up"},{id:"created_at_desc",name:"创建时间(降序)",icon:"bkflow-canvas-icon bkflow-canvas-sort-down"},{id:"name_asc",name:"中文名称(A-Z)",icon:"bkflow-canvas-icon bkflow-canvas-sort-up"},{id:"name_desc",name:"中文名称(Z-A)",icon:"bkflow-canvas-icon bkflow-canvas-sort-down"}],a=t,l=n,r=e.ref(!1),i=f=>{r.value=f},s=e.computed(()=>o.find(f=>f.id===a.order)),c=f=>{l("update:order",f)};return(f,p)=>{const h=e.resolveComponent("bk-button"),g=e.resolveComponent("bk-dropdown-item"),m=e.resolveComponent("bk-dropdown-menu"),v=e.resolveComponent("bk-dropdown");return e.openBlock(),e.createElementBlock("div",Vte,[p[0]||(p[0]=e.createElementVNode("span",{class:"order-selector-prefix"},"排序",-1)),e.createVNode(v,{placement:"bottom-start",trigger:"click","popover-options":{clickContentAutoHide:!0,width:146},onShowChange:i},{content:e.withCtx(()=>[e.createVNode(m,{"ext-cls":"order-selector-dropdown-menu"},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(o,w=>e.createVNode(g,{key:w.id,class:e.normalizeClass({active:w.id===t.order}),onClick:y=>c(w.id)},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(w.name),1)]),_:2},1032,["class","onClick"])),64))]),_:1})]),default:e.withCtx(()=>[e.createVNode(h,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.value?.name)+" ",1),e.createElementVNode("i",{class:e.normalizeClass(["order-selector-icon",s.value?.icon])},null,2),e.createElementVNode("i",{class:e.normalizeClass(["bkflow-canvas-icon","bkflow-canvas-angle-up",{"angle-down":!r.value}])},null,2)]),_:1})]),_:1})])}}}),Nte=je(Ste,[["__scopeId","data-v-dcd78334"]]),Dte={class:"big-model-card"},Tte={class:"card-header"},Ite=["src"],Ote={class:"model-info"},Mte={class:"model-name"},Pte=["title"],Lte={class:"other-info"},Rte={class:"other-info"},Fte={class:"model-desc"},zte={class:"tag-list"},jte={class:"bottom-btns"},Hte=e.defineComponent({__name:"big-model-card",props:{plugin:{}},emits:["select"],setup(t,{emit:n}){const o=t,a=n,l=e.computed(()=>o.plugin.display_content.tag_names.map(r=>r.join("/")));return(r,i)=>{const s=e.resolveComponent("bk-tag"),c=e.resolveComponent("bk-button");return e.openBlock(),e.createElementBlock("div",Dte,[e.createElementVNode("div",Tte,[e.createElementVNode("img",{src:o.plugin.display_content.icon,alt:"",class:"model-img"},null,8,Ite),e.createElementVNode("div",Ote,[e.createElementVNode("div",Mte,[e.createElementVNode("div",{class:"name-text",title:o.plugin.alias},e.toDisplayString(o.plugin.alias),9,Pte)]),e.createElementVNode("p",Lte,[e.createElementVNode("span",null,"基座模型: "+e.toDisplayString(o.plugin.display_content.base_model),1),e.createElementVNode("span",null,"激活参数: "+e.toDisplayString(o.plugin.display_content.context_length),1)]),e.createElementVNode("p",Rte,[e.createElementVNode("span",null,"更新人: "+e.toDisplayString(o.plugin.display_content.created_by),1),e.createElementVNode("span",null,"更新时间: "+e.toDisplayString(o.plugin.display_content.created_at),1)])])]),e.createElementVNode("p",Fte,e.toDisplayString(o.plugin.display_content.description||"--"),1),e.createElementVNode("div",zte,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,f=>(e.openBlock(),e.createBlock(s,{key:f},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f),1)]),_:2},1024))),128))]),e.createElementVNode("div",jte,[e.createVNode(c,{theme:"primary",size:"small",onClick:i[0]||(i[0]=f=>a("select",o.plugin.id))},{default:e.withCtx(()=>[...i[1]||(i[1]=[e.createTextVNode("选择",-1)])]),_:1})])])}}}),Ute=je(Hte,[["__scopeId","data-v-be29d405"]]),Wte={class:"small-model-card"},Gte={class:"model-name"},Yte={class:"name-text"},Qte={class:"en-name"},qte={class:"extend-info"},Kte={class:"model-desc"},$te={class:"bottom-btns"},Zte=e.defineComponent({__name:"small-model-card",props:{plugin:{}},emits:["select"],setup(t,{emit:n}){const o=t,a=n;return(l,r)=>{const i=e.resolveComponent("bk-button");return e.openBlock(),e.createElementBlock("div",Wte,[e.createElementVNode("div",Gte,[e.createElementVNode("span",Yte,e.toDisplayString(o.plugin.alias),1),e.createElementVNode("span",Qte,"("+e.toDisplayString(o.plugin.name)+")",1)]),e.createElementVNode("p",qte,[e.createElementVNode("span",null,"依赖历史数据长度 : "+e.toDisplayString(o.plugin.display_content.ts_depend_time)+" 天",1),e.createElementVNode("span",null,"数据频率:"+e.toDisplayString(o.plugin.display_content.frequency)+" 秒",1),e.createElementVNode("span",null,"发布人:"+e.toDisplayString(o.plugin.display_content.created_by),1)]),e.createElementVNode("p",Kte,e.toDisplayString(o.plugin.display_content.description||"--"),1),e.createElementVNode("div",$te,[e.createVNode(i,{theme:"primary",size:"small",onClick:r[0]||(r[0]=s=>a("select",o.plugin.id))},{default:e.withCtx(()=>[...r[1]||(r[1]=[e.createTextVNode("选择",-1)])]),_:1})])])}}}),Xte=je(Zte,[["__scopeId","data-v-6d16f3f0"]]),Jte={class:"model-plugin-group"},ene={class:"top-operate-area"},tne={class:"group-selector"},nne={class:"search-area"},one={class:"mode-content-area"},ane={class:"card-list"},lne=e.defineComponent({__name:"index",props:{properties:{},plugins:{}},emits:["select"],setup(t,{emit:n}){const o=t,a=n,l=e.ref("llm"),r=e.ref("created_at_desc"),i=e.ref([]),s=e.computed(()=>l.value==="llm"?[{id:"name",name:"模型名称"},{id:"base_model",name:"基座模型"},{id:"tag",name:"标签"}]:[{id:"name",name:"模型名称"},{id:"created_by",name:"发布人"}]),c=e.computed(()=>l.value==="llm"?"搜索模型名称、基座模型、标签":"搜索模型名称、发布人"),f=e.computed(()=>Object.keys(o.properties).map(k=>({id:k,name:o.properties[k]}))),p=e.computed(()=>(o.plugins||[]).filter(k=>!k.display_content?.hidden)),h=k=>k.filter(b=>b.group===l.value),g=k=>{if(i.value.length===0)return k;const b={name:A=>A.name,base_model:A=>A.display_content.base_model||"",created_by:A=>A.display_content.created_by||""};return k.filter(A=>i.value.some(C=>{const _=C.values[0].id.toLowerCase();if(C.id==="tag")return(A.display_content?.tag_names||[]).some(N=>N.join("/").toLowerCase().includes(_));const V=b[C.id];return V?.(A).toLowerCase().includes(_)??!1}))},m=k=>{if(l.value!=="llm")return k;const b=(_,V,S)=>{const N=new Date(_.display_content.created_at).getTime(),D=new Date(V.display_content.created_at).getTime();return S?N-D:D-N},C={created_at_asc:(_,V)=>b(_,V,!0),created_at_desc:(_,V)=>b(_,V,!1),name_asc:(_,V)=>_.alias.localeCompare(V.alias),name_desc:(_,V)=>V.alias.localeCompare(_.alias)}[r.value];return C?[...k].sort(C):k},v=e.computed(()=>{const k=h(p.value),b=g(k);return m(b)}),w=k=>{l.value=k,r.value="created_at_desc",i.value=[]},y=k=>{i.value=k},x=async(k,b)=>{const A=k?.id;if(!A)return[];const C=(b||"").toLowerCase(),_=new Set;return p.value.filter(S=>S.group===l.value).forEach(S=>{if(A==="tag")(S.display_content?.tag_names||[]).forEach(D=>{const H=D.join("/");H&&_.add(H)});else{let N="";A==="name"?N=S.name||"":A==="base_model"?N=S.display_content?.base_model||"":A==="created_by"&&(N=S.display_content?.created_by||""),N&&_.add(N)}}),[..._].filter(S=>!C||S.toLowerCase().includes(C)).map(S=>({id:S,name:S}))},B=k=>{a("select",k)};return(k,b)=>{const A=e.resolveComponent("bk-radio-button"),C=e.resolveComponent("bk-radio-group");return e.openBlock(),e.createElementBlock("div",Jte,[e.createElementVNode("div",ene,[e.createElementVNode("div",tne,[f.value.length>1?(e.openBlock(),e.createBlock(C,{key:0,modelValue:l.value,"onUpdate:modelValue":b[0]||(b[0]=_=>l.value=_),type:"capsule",onChange:w},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,_=>(e.openBlock(),e.createBlock(A,{key:_.id,label:_.id},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(_.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",nne,[l.value==="llm"?(e.openBlock(),e.createBlock(Nte,{key:0,order:r.value,"onUpdate:order":b[1]||(b[1]=_=>r.value=_)},null,8,["order"])):e.createCommentVNode("",!0),e.createVNode(wi,{modelValue:i.value,options:s.value,"get-menu-list":x,placeholder:c.value,onChange:y},null,8,["modelValue","options","placeholder"])])]),e.createElementVNode("div",one,[e.createElementVNode("div",ane,[l.value==="llm"?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(v.value,_=>(e.openBlock(),e.createBlock(Ute,{key:_.id,plugin:_,onSelect:B},null,8,["plugin"]))),128)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(v.value,_=>(e.openBlock(),e.createBlock(Xte,{key:_.id,plugin:_,onSelect:B},null,8,["plugin"]))),128))]),v.value.length===0?(e.openBlock(),e.createBlock(fn,{key:0,"is-search":i.value.length>0,title:"暂无模型插件",onClear:b[2]||(b[2]=_=>i.value=[])},null,8,["is-search"])):e.createCommentVNode("",!0)])])}}}),rne=je(lne,[["__scopeId","data-v-4766232d"]]),sne={class:"knowledgebase-plugin-group"},ine={class:"group-header"},une={class:"knowledgebase-list"},cne=["onClick"],dne={class:"knowledgebase-info"},fne={class:"kb-main-info"},pne={class:"kb-name"},mne={class:"name-text"},vne={class:"kb-size"},gne={class:"count"},hne={class:"size"},bne={class:"kb-description"},yne={key:0,class:"group-footer"},wne=e.defineComponent({__name:"knowledgebase-plugin-group",props:{plugins:{},inputData:{default:()=>({})}},emits:["select","cancel"],setup(t,{emit:n}){const o=[{id:"name",name:"知识库名称"},{id:"description",name:"描述"},{id:"knowledgebase_id",name:"ID"},{id:"updated_by",name:"更新人"}],a=Hc(),l=xn(),r=t,i=n,s=e.shallowRef([]),c=e.ref([]),f=e.ref([]),p=e.ref(!1),h=e.computed(()=>c.value.length===0?s.value:s.value.filter(B=>c.value.every(k=>{const b=k.id,A=String(B[b]??"").toLowerCase();return k.values.some(C=>{const _=C.name.toLowerCase();return A.includes(_)})}))),g=async()=>{p.value=!0;const B=await l.fetchApplyInstructionData?.({plugin_id:r.plugins[0].id,instruction:"get_available_knowledgebases"});s.value=B.response,p.value=!1};e.watch(()=>r.plugins,B=>{B?.length>0&&g()},{immediate:!0}),e.watch(()=>r.inputData,B=>{if(B?.knowledge_base_id?.value){const k=B.knowledge_base_id.value;Array.isArray(k)?f.value=k:typeof k=="number"&&(f.value=[k])}},{immediate:!0});const m=B=>B<1024?`${B} B`:B<1024*1024?`${(B/1024).toFixed(2)} KB`:B<1024*1024*1024?`${(B/1024/1024).toFixed(2)} MB`:`${(B/1024/1024/1024).toFixed(2)} GB`,v=()=>{a?.knowledgebaseResourceUrl&&window.open(a.knowledgebaseResourceUrl,"_blank")},w=(B,k)=>{B?f.value.includes(k)||(f.value=[...f.value,k]):f.value=f.value.filter(b=>b!==k)},y=()=>{const B="knowledge_base_id"in r.inputData;let k;if(B){const{uniform_api_plugin_url:b,uniform_api_plugin_method:A,...C}=r.inputData;k={...C,knowledge_base_id:{value:f.value,hook:!1,need_render:!0}}}else k={knowledge_base_id:{value:f.value,hook:!1,need_render:!0}};i("select",{pluginId:r.plugins[0].id,inputData:k})},x=()=>{i("cancel")};return(B,k)=>{const b=e.resolveComponent("bk-button"),A=e.resolveComponent("bk-checkbox"),C=e.resolveDirective("bk-tooltips"),_=e.resolveDirective("bk-loading");return e.withDirectives((e.openBlock(),e.createElementBlock("div",sne,[e.createElementVNode("div",ine,[e.createVNode(b,{theme:"primary",onClick:v},{default:e.withCtx(()=>[...k[2]||(k[2]=[e.createTextVNode("新建知识库",-1)])]),_:1}),e.createVNode(wi,{modelValue:c.value,"onUpdate:modelValue":k[0]||(k[0]=V=>c.value=V),options:o,placeholder:"搜索知识库名称、描述、ID、更新人"},null,8,["modelValue"])]),e.createElementVNode("div",une,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,V=>(e.openBlock(),e.createElementBlock("div",{class:"knowledgebase-item",key:V.knowledgebase_id,onClick:S=>w(!f.value.includes(V.knowledgebase_id),V.knowledgebase_id)},[e.createElementVNode("div",dne,[k[3]||(k[3]=e.createElementVNode("div",{class:"kb-icon"},[e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-knowledgebase"})],-1)),e.createElementVNode("div",fne,[e.createElementVNode("div",pne,[e.createElementVNode("div",mne,e.toDisplayString(V.name),1),e.withDirectives(e.createVNode(e.unref(dn.InfoLine),{class:"info-icon",onClick:k[1]||(k[1]=e.withModifiers(()=>{},["stop"]))},null,512),[[C,{content:`更新人:${V.updated_by}
73
73
  更新时间:${V.updated_at}
74
- `,placement:"top"}]])]),e.createElementVNode("div",vne,[e.createElementVNode("span",gne,"共 "+e.toDisplayString(V.count)+" 篇,",1),e.createElementVNode("span",hne,e.toDisplayString(m(V.size)),1)]),e.createVNode(A,{class:"kb-checkbox",style:{"pointer-events":"none"},"model-value":f.value.includes(V.knowledgebase_id)},null,8,["model-value"])])]),e.createElementVNode("div",bne,e.toDisplayString(V.description||"--"),1)],8,cne))),128)),h.value.length===0?(e.openBlock(),e.createBlock(fn,{key:0,title:s.value.length===0?"暂无知识库":"搜索结果为空"},null,8,["title"])):e.createCommentVNode("",!0)]),h.value.length>0?(e.openBlock(),e.createElementBlock("div",yne,[e.withDirectives((e.openBlock(),e.createBlock(b,{theme:"primary",disabled:f.value.length===0,onClick:y},{default:e.withCtx(()=>[...k[4]||(k[4]=[e.createTextVNode(" 确定 ",-1)])]),_:1},8,["disabled"])),[[C,{content:f.value.length===0?"请选择知识库":"",disabled:f.value.length>0}]]),e.createVNode(b,{onClick:x},{default:e.withCtx(()=>[...k[5]||(k[5]=[e.createTextVNode("取消",-1)])]),_:1})])):e.createCommentVNode("",!0)])),[[_,{loading:p.value}]])}}}),kne=je(wne,[["__scopeId","data-v-67fc5ae8"]]),Cne={class:"plugin-group"},Ane=e.defineComponent({__name:"output-plugin-group",setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("div",Cne,[e.createVNode(fn,{title:"暂无结论输出插件"})]))}}),Ene=je(Ane,[["__scopeId","data-v-93c9733d"]]),yp="data:image/png;base64,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",Bne={class:"bkflow-plugin-group"},xne={class:"plugin-content-wrapper"},_ne={class:"tags-list"},Vne=["onClick"],Sne={class:"plugins-list"},Nne={class:"plugin-icon-wrapper"},Dne=["src"],Tne={class:"plugin-info-wrapper"},Ine={class:"plugin-name"},One=["title"],Mne={class:"managers-text"},Pne=e.defineComponent({__name:"bkflow-plugin-group",props:{bkflowPluginTags:{},activeTag:{}},emits:["selectBkflowPlugin"],setup(t,{emit:n}){const o=xn(),a=t,l=n,r=e.ref([]),i=e.ref(a.activeTag||0),s=e.ref([]),c=e.ref(!1),f=e.ref(!1),p=e.ref({}),h=[{id:"name",name:"插件名称"}],g=e.computed(()=>f.value?a.bkflowPluginTags.filter(k=>(p.value[k.id]?.length||0)>0):a.bkflowPluginTags),m=e.computed(()=>f.value?p.value[i.value]||[]:s.value);e.onMounted(()=>{y()});const v=k=>{i.value=k,f.value||y()},w=async k=>{const A=k.find(C=>C.id==="name")?.values?.[0]?.name||"";if(!A){f.value=!1,p.value={},y();return}f.value=!0,c.value=!0,p.value={};try{const _=(await o.fetchBkFlowInnerPluginList()).filter(S=>S.name.toLowerCase().includes(A.toLowerCase())).map(S=>({code:S.code,name:S.name,logo_url:yp,desc:S.desc||"--",managers:["BkFlow"],version:S.version,tag:0}));if(_.length>0&&(p.value[0]=_),o.enableThirdPlugin!==!1&&o.searchBkFlowThirdPartyPlugins&&(await o.searchBkFlowThirdPartyPlugins(A)).data.plugins.forEach(D=>{const H={code:D.code,name:D.name,logo_url:D.logo_url,desc:D.introduction||"--",managers:D.managers,version:"1.0.0",tag:D.tag};p.value[D.tag]||(p.value[D.tag]=[]),p.value[D.tag].push(H)}),!p.value[i.value]||p.value[i.value].length===0){const S=Object.keys(p.value).map(Number)[0];S!==void 0&&(i.value=S)}}catch(C){console.error("Search plugins failed:",C)}finally{c.value=!1}},y=async()=>{if(c.value=!0,s.value=[],i.value===0){const k=await o.fetchBkFlowInnerPluginList();s.value=k.map(b=>({code:b.code,name:b.name,logo_url:yp,desc:b.desc||"--",managers:["BkFlow"],version:b.version}))}else{if(!(o.enableThirdPlugin!==!1)){s.value=[],c.value=!1;return}const b=await o.fetchBkFlowThirdPartyPluginList(i.value);s.value=b.data.plugins.map(A=>({code:A.code,name:A.name,logo_url:A.logo_url,desc:A.introduction||"--",managers:A.managers,version:"1.0.0"}))}c.value=!1},x=()=>{r.value=[],f.value=!1,p.value={},y()},B=k=>{const A=(f.value?m.value:s.value).find(C=>C.code===k);if(A){const{code:C,name:_,version:V}=A,S=f.value?A.tag===0:i.value===0;l("selectBkflowPlugin",{code:S?C:"remote_plugin",name:_,data:S?{}:{plugin_code:{hook:!1,value:C}},version:V})}};return(k,b)=>{const A=e.resolveComponent("bk-button"),C=e.resolveDirective("bk-loading");return e.openBlock(),e.createElementBlock("div",Bne,[e.createVNode(wi,{modelValue:r.value,"onUpdate:modelValue":b[0]||(b[0]=_=>r.value=_),options:h,placeholder:"搜索插件名称",onChange:w},null,8,["modelValue"]),e.createElementVNode("div",xne,[g.value.length>0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",_ne,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,_=>(e.openBlock(),e.createElementBlock("div",{key:_.id,class:e.normalizeClass(["tag-item",{actived:i.value===_.id}]),onClick:V=>v(_.id)},e.toDisplayString(_.name),11,Vne))),128))]),e.withDirectives((e.openBlock(),e.createElementBlock("div",Sne,[m.value.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(m.value,_=>(e.openBlock(),e.createElementBlock("div",{key:_.code,class:"plugin-item"},[e.createElementVNode("div",Nne,[e.createElementVNode("img",{src:_.logo_url||e.unref(yp),alt:"plugin-icon"},null,8,Dne)]),e.createElementVNode("div",Tne,[e.createElementVNode("h4",Ine,e.toDisplayString(_.name),1),e.createElementVNode("p",{class:"plugin-desc",title:_.desc},e.toDisplayString(_.desc),9,One),e.createElementVNode("div",Mne,e.toDisplayString(_.managers?_.managers.join(","):"BkFlow")+" 提供",1)]),e.createVNode(A,{theme:"primary",size:"small",onClick:V=>B(_.code)},{default:e.withCtx(()=>[...b[1]||(b[1]=[e.createTextVNode("选择",-1)])]),_:1},8,["onClick"])]))),128)):!c.value&&m.value.length===0?(e.openBlock(),e.createBlock(fn,{key:1,title:"该分类暂无插件"})):e.createCommentVNode("",!0)])),[[C,{loading:c.value}]])],64)):f.value&&!c.value&&g.value.length===0?(e.openBlock(),e.createBlock(fn,{key:1,"is-search":!0,onClear:x})):e.createCommentVNode("",!0)])])}}}),Lne=je(Pne,[["__scopeId","data-v-1f2d5307"]]),Rne={class:"plugin-select-slider"},Fne={key:0,class:"plugin-select-content"},zne=e.defineComponent({__name:"index",props:{show:{type:Boolean,default:!1},flowId:{},active:{default:""},bkflowTag:{default:0},pluginGroupList:{default:()=>[]},inputData:{default:()=>({})},isBack:{type:Boolean,default:!1}},emits:["close","update:show","select","back"],setup(t,{emit:n}){const o={data:cte,agent:_te,model:rne,knowledgebase:kne,bkflow:Lne,output:Ene},a=t,l=n,r=e.ref(a.active),i=e.shallowRef([]),s=e.ref(!1),c=e.computed(()=>o[r.value]||null),f=e.computed(()=>a.pluginGroupList.find(B=>B.name===r.value)?.properties||{}),p=e.computed(()=>a.pluginGroupList.find(B=>B.name==="bkflow")?.children||[]),h=e.computed(()=>r.value==="knowledgebase"?{cancel:x}:{});e.watch(()=>a.show,()=>{a.show&&(r.value=a.active,r.value!=="bkflow"&&g())});const g=()=>{const B=a.pluginGroupList.find(k=>k.name===r.value);i.value=B?B.children:[]},m=B=>{i.value=[],r.value=B,B!=="bkflow"&&g()},v=B=>{if(typeof B=="object"&&B.pluginId){const k=i.value.find(b=>b.id===B.pluginId);l("select","projectPlugin",k,B.inputData)}else{const k=i.value.find(b=>b.id===B);l("select","projectPlugin",k)}},w=B=>{l("select","bkflowPlugin",B)},y=()=>a.isBack?(l("back"),!1):(x(),!0),x=()=>{i.value=[],l("close"),l("update:show",!1)};return(B,k)=>{const b=e.resolveComponent("bk-sideslider"),A=e.resolveDirective("bk-loading");return e.openBlock(),e.createBlock(b,{title:"节点选择","is-show":a.show,width:1200,"esc-close":!1,"before-close":y},{default:e.withCtx(()=>[e.createElementVNode("div",Rne,[e.createVNode(Kee,{active:r.value,"onUpdate:active":k[0]||(k[0]=C=>r.value=C),groups:a.pluginGroupList,onChange:m},null,8,["active","groups"]),a.show?e.withDirectives((e.openBlock(),e.createElementBlock("section",Fne,[c.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c.value),e.mergeProps({key:r.value,plugins:i.value,loading:s.value,"bkflow-plugin-tags":p.value,"active-tag":a.bkflowTag,properties:f.value,"input-data":a.inputData},e.toHandlers(h.value),{onSelect:v,onSelectBkflowPlugin:w}),null,16,["plugins","loading","bkflow-plugin-tags","active-tag","properties","input-data"])):e.createCommentVNode("",!0)])),[[A,{loading:s.value}]]):e.createCommentVNode("",!0)])]),_:1},8,["is-show"])}}}),jne=je(zne,[["__scopeId","data-v-6f710058"]]),Hne="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20class='design-iconfont'%3e%3cpath%20d='M13,1%20C14.1045695,1%2015,1.8954305%2015,3%20L15,13%20C15,14.1045695%2014.1045695,15%2013,15%20L3,15%20C1.8954305,15%201,14.1045695%201,13%20L1,3%20C1,1.8954305%201.8954305,1%203,1%20L13,1%20Z%20M13,3.5%20L10,3.5%20L10,4.5%20L11.3962161,4.50116386%20C9.643609,6.49502964%208.38728573,7.5%207.76574712,7.5%20L2.98331185,7.5%20L2.98331185,8.5%20L7.76574712,8.5%20C8.38739048,8.5%209.64403252,9.50530916%2011.3971023,11.4998444%20L10,11.5%20L10,12.5%20L13,12.5%20L13,9.5%20L12,9.5%20L11.9990374,10.6691668%20C10.8673578,9.39340572%209.92128001,8.50479286%209.13199729,8.00043657%20C9.92138242,7.4953138%2010.8676033,6.60639761%2011.9994779,5.33034326%20L12,6.5%20L13,6.5%20L13,3.5%20Z'%20fill='%236EC3D5'%20fill-rule='evenodd'/%3e%3c/svg%3e",Une={class:"option-item"},Wne=["src"],Gne={class:"option-name"},Yne=e.defineComponent({__name:"option-item",props:{option:{}},setup(t){const n=t,o=a=>{const l=a.target;l.src!==gt.PLUGIN_GROUP_DEFAULT_ICON&&(l.src=gt.PLUGIN_GROUP_DEFAULT_ICON)};return(a,l)=>(e.openBlock(),e.createElementBlock("div",Une,[e.createElementVNode("img",{class:"option-img",src:n.option.iconUrl||e.unref(gt.PLUGIN_GROUP_DEFAULT_ICON),onError:o},null,40,Wne),e.createElementVNode("div",Gne,e.toDisplayString(n.option.name),1),n.option.type==="group"?(e.openBlock(),e.createBlock(e.unref(dn.AngleRight),{key:0,class:"angle-icon"})):e.createCommentVNode("",!0),n.option.type==="link"?(e.openBlock(),e.createBlock(e.unref(dn.ArrowsRight),{key:1,class:"arrow-icon"})):e.createCommentVNode("",!0)]))}}),Dw=je(Yne,[["__scopeId","data-v-0a4661f8"]]),Qne={class:"quick-edit-popover"},qne={class:"search-input"},Kne={class:"plugin-option-list"},$ne={key:0,class:"logic-node-list"},Zne=["onClick"],Xne={class:"logic-node-name"},Jne={key:1,class:"data-plugin-list"},eoe=["onClick"],toe={class:"data-plugin-name"},noe={key:2,class:"agent-plugin-list"},ooe={class:"list-wrapper"},aoe=["onClick"],loe={class:"agent-name"},roe={class:"agent-en-name"},soe={key:3,class:"agent-plugin-list"},ioe={class:"list-wrapper"},uoe=["onClick"],coe={class:"agent-name"},doe={key:4,class:"bkflow-tag-list"},foe=["onClick"],poe=["onClick"],moe=e.defineComponent({__name:"index",props:{pluginGroupList:{default:()=>[]}},emits:["addNode","addPlugin","openPluginSelect"],setup(t,{emit:n}){const o={branchgateway:Os.find(B=>B.type==="exclusive-gateway")?.icon??"bkflow-canvas-fenzhiwangguan",parallelgateway:Os.find(B=>B.type==="parallel-gateway")?.icon??"bkflow-canvas-bingxingwangguan",conditionalparallelgateway:Os.find(B=>B.type==="conditional-parallel-gateway")?.icon??"bkflow-canvas-tiaojianbingxingwangguan",convergegateway:Os.find(B=>B.type==="converge-gateway")?.icon??"bkflow-canvas-huijuwangguan"},a=[{id:"branchgateway",name:"分支网关",icon:o.branchgateway},{id:"parallelgateway",name:"并行网关",icon:o.parallelgateway},{id:"conditionalparallelgateway",name:"条件并行网关",icon:o.conditionalparallelgateway},{id:"convergegateway",name:"汇聚网关",icon:o.convergegateway}],l={alert_plugin:"incident-gaojing",query_promql_metric_plugin:"incident-zhibiao",trace_plugin:"incident-trace",事件:"incident-shijian",log_plugin:"incident-rizhi",profling:"incident-profling",图谱:"incident-tupu"},r=Hc(),i=t,s=n,c=e.shallowRef([]),f=e.ref(""),p=e.shallowRef([...c.value||[]]),h=e.computed(()=>(i.pluginGroupList.find(B=>B.name==="agent")?.children.length||0)>10);e.watch(()=>i.pluginGroupList,B=>{const k=[{id:"logic",name:"逻辑",iconUrl:Hne,type:"group",width:160,children:a}];B.forEach(b=>{k.push({id:b.name,name:b.alias,iconUrl:b.iconUrl,type:b.name==="knowledgebase"?"link":"group",width:b.name==="data"?160:280,children:b.children.map(A=>{if(b.name==="data"){const{id:C,name:_,alias:V}=A;return{id:C,name:V,icon:l[_]}}else if(b.name==="agent"){const{id:C,alias:_,name:V}=A;return{id:C,name:_,enName:V}}else if(b.name==="bkflow"){const{id:C,name:_}=A;return{id:C,name:_}}return A})})}),c.value=k,p.value=[...c.value]},{immediate:!0});const g=B=>{const k=B.trim().toLowerCase();if(k===""){p.value=[...c.value];return}const b=[];c.value.forEach(A=>{if(A.name.toLowerCase().includes(k))b.push(A);else if(A.type==="group"){const C=[];A.children?.forEach(_=>{_.name.toLowerCase().includes(k)&&C.push(_)}),C.length>0&&b.push({...A,children:C})}}),p.value=b},m=()=>{f.value="",p.value=[...c.value]},v=B=>{s("addNode",B)},w=(B,k)=>{k==="bkflow"?y("bkflow",B):s("addPlugin",B,k)},y=(B,k=0)=>{s("openPluginSelect",B,k)},x=B=>{B==="agent"&&!h.value?r?.agentApplyUrl&&window.open(r.agentApplyUrl,"_blank"):y(B)};return(B,k)=>{const b=e.resolveComponent("bk-input"),A=e.resolveComponent("bk-button"),C=e.resolveComponent("bk-popover");return e.openBlock(),e.createElementBlock("div",Qne,[e.createElementVNode("div",qne,[e.createVNode(b,{modelValue:f.value,"onUpdate:modelValue":k[0]||(k[0]=_=>f.value=_),placeholder:"搜索节点",type:"search",clearable:!0,onClear:m,onInput:g},null,8,["modelValue"])]),e.createElementVNode("div",Kne,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,_=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:_.id},[_.type==="group"?(e.openBlock(),e.createBlock(C,{key:0,theme:"light",placement:"right-start","ext-cls":"plugin-child-popover",boundary:"parent",arrow:!1,width:_.width,"popover-delay":[0,100]},{content:e.withCtx(()=>[_.id==="logic"?(e.openBlock(),e.createElementBlock("div",$ne,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.children,V=>(e.openBlock(),e.createElementBlock("div",{key:V.id,class:"logic-node-item",onClick:S=>v(V.id)},[e.createElementVNode("i",{class:e.normalizeClass(["bkflow-canvas-icon",V.icon])},null,2),e.createElementVNode("span",Xne,e.toDisplayString(V.name),1)],8,Zne))),128))])):_.id==="data"?(e.openBlock(),e.createElementBlock("div",Jne,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.children?.slice(0,10),V=>(e.openBlock(),e.createElementBlock("div",{class:"data-plugin-item",key:V.id,onClick:S=>w(V.id,"data")},[e.createElementVNode("div",toe,e.toDisplayString(V.name),1)],8,eoe))),128))])):_.id==="agent"?(e.openBlock(),e.createElementBlock("div",noe,[e.createElementVNode("div",ooe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.children?.slice(0,10),V=>(e.openBlock(),e.createElementBlock("div",{class:"agent-plugin-item",key:V.id,onClick:S=>w(V.id,"agent")},[e.createElementVNode("span",loe,e.toDisplayString(V.name),1),e.createElementVNode("span",roe,"("+e.toDisplayString(V.enName)+")",1)],8,aoe))),128))])])):_.id==="model"?(e.openBlock(),e.createElementBlock("div",soe,[e.createElementVNode("div",ioe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.children?.slice(0,10),V=>(e.openBlock(),e.createElementBlock("div",{class:"agent-plugin-item",key:V.id,onClick:S=>w(V.id,"model")},[e.createElementVNode("span",coe,e.toDisplayString(V.alias||V.enName),1)],8,uoe))),128))])])):_.id==="bkflow"?(e.openBlock(),e.createElementBlock("div",doe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.children?.slice(0,10),V=>(e.openBlock(),e.createElementBlock("div",{class:"bkflow-tag-item",key:V.id,onClick:S=>w(V.id,"bkflow")},e.toDisplayString(V.name),9,foe))),128))])):e.createCommentVNode("",!0),_.children&&_.children.length===0?(e.openBlock(),e.createBlock(fn,{key:5,class:"group-empty-exception",title:`暂无${_.name}插件`},null,8,["title"])):e.createCommentVNode("",!0),_.id==="agent"||_.children&&_.children.length>10?(e.openBlock(),e.createElementBlock("div",{key:6,class:"list-footer",onClick:V=>x(_.id)},[e.createVNode(A,{theme:"primary",text:"",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(_.id==="agent"&&!h.value?"申请更多权限":"更多"),1)]),_:2},1024),k[1]||(k[1]=e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-arrow2"},null,-1))],8,poe)):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.createVNode(Dw,{option:_},null,8,["option"])]),_:2},1032,["width"])):(e.openBlock(),e.createBlock(Dw,{key:1,option:_,onClick:V=>y(_.id)},null,8,["option","onClick"]))],64))),128)),p.value.length===0?(e.openBlock(),e.createBlock(fn,{key:0,"is-search":f.value.length>0,onClear:m},null,8,["is-search"])):e.createCommentVNode("",!0)])])}}}),Tw=je(moe,[["__scopeId","data-v-ee6dddbf"]]),voe={class:"pipeline-editor-container"},goe={class:"dnd-palette-items"},hoe=["data-dnd-type","title","onMouseenter"],boe={class:"dnd-item-text"},yoe=["src"],wp=100,woe=e.defineComponent({__name:"index",props:{mode:{},flowId:{},pipelineTree:{},systemVariables:{default:()=>[]},pluginGroupList:{default:()=>[]},dndNodeTypes:{default:()=>Os},thumbnail:{type:Boolean,default:!1},defaultZoom:{default:1},quickAdd:{default:void 0},additionalPlugins:{default:()=>[]},toolbarItems:{default:()=>[]},simulateDebugContext:{default:void 0},enableNodeDebug:{type:Boolean,default:!1},debugContext:{default:void 0}},emits:["change","format-position","mock-node-click","running-node-click","ui-event"],setup(t,{expose:n,emit:o}){const a=t,l=o,r=e.ref(),i=e.ref(),s=e.ref(),c=[],f=e.ref({visible:!1,x:0,y:0,image:""});function p(se,de){if(!de.tipsImage)return;const ue=se.currentTarget.getBoundingClientRect(),R=s.value?.getBoundingClientRect().right??ue.right+16;f.value={visible:!0,x:R+8,y:Math.max(8,Math.min(window.innerHeight-208,ue.top+ue.height/2-100)),image:de.tipsImage}}function h(){f.value.visible=!1}const g=e.computed(()=>({showDelete:a.mode==="edit",showCopy:a.mode==="edit",showCopyInsert:a.mode==="edit",showDisconnect:a.mode==="edit",showDebug:a.enableNodeDebug})),m=e.computed(()=>r.value?.editor?.api?.value??null);e.watch([m,s],([se,de])=>{if(c.forEach(R=>R()),c.length=0,!se||!de)return;const ue=de.querySelectorAll("[data-dnd-type]");for(const R of ue){const P=R.dataset.dndType,J=se.registerDndSource(R,()=>({id:`node${gt.generateId()}`,type:P,position:{x:0,y:0},label:"",payload:{}}));c.push(J)}},{flush:"post"}),e.onBeforeUnmount(()=>{c.forEach(se=>se()),_&&(clearTimeout(_),_=null)});const v=e.ref({show:!1,nodeId:"",edgeId:"",condition:null,hasDefaultBranch:!1,isDefault:!1}),w=e.ref({show:!1,node:null,constants:null}),y=e.ref({show:!1,active:a.pluginGroupList[0]?.name||"",bkflowTag:0,node:null,constants:null,isBack:!1});e.watch(()=>r.value?.editor?.flowModel.value,se=>{if(se){if(w.value.show&&w.value.node&&(se.nodes[w.value.node.id]||(w.value={show:!1,node:null,constants:null})),v.value.show){const{nodeId:de,edgeId:ue}=v.value;(!se.nodes[de]||!se.edges[ue])&&(v.value={...v.value,show:!1})}C.value.show&&(se.nodes[C.value.nodeId]||(C.value={...C.value,show:!1})),y.value.show&&y.value.node&&(se.nodes[y.value.node.id]||(y.value={...y.value,show:!1,node:null,constants:null,isBack:!1}))}});const x=e.computed(()=>{const se=r.value?.editor;return se?new zv(se.flowModel.value).globalVariables:a.pipelineTree.constants});function B(){return r.value?.editor}function k(se){const de=B();de&&de.executeCommand(se)}function b(se){l("change",se)}function A(se){l("ui-event",se),se.type==="node.action.debug"&&rt(se.nodeId)}const C=e.ref({show:!1,nodeId:"",screenPosition:{x:0,y:0}});let _=null;e.watch(()=>a.mode,se=>{se!=="edit"&&(w.value={show:!1,node:null,constants:null},v.value={...v.value,show:!1},y.value={...y.value,show:!1,node:null,constants:null,isBack:!1},C.value={...C.value,show:!1})});function V(){_=setTimeout(()=>{C.value.show=!1,_=null},150)}function S(){_&&(clearTimeout(_),_=null)}function N(se){return Ws(se,B()?.schema)}function D(se){const de=B();if(!de)return{x:0,y:0};const ue=de.api.value;if(!ue)return{x:0,y:0};const R=ue.unsafeGetGraph(),P=de.flowModel.value.nodes[se];if(!P)return{x:0,y:0};const J=Na.width,$=Na.height;return R.localToPage(P.position.x+J,P.position.y+$/2)}function H(se){if(a.thumbnail)return;const de=B();if(!de)return;const ue=de.flowModel.value.nodes[se.nodeId];if(!ue)return;if(a.mode==="execute"){l("running-node-click",se.nodeId);return}if(a.mode==="mock-config"){if(ue.type!=="task")return;const fe=jn(de.flowModel.value).activities[se.nodeId];fe&&l("mock-node-click",Fe.cloneDeep(fe));return}if(a.mode!=="edit"&&a.mode!=="view")return;if(ue.type==="placeholder"){const $=D(se.nodeId);C.value={show:!0,nodeId:se.nodeId,screenPosition:{x:$.x+18,y:$.y-18}};return}if(ue.type!=="task")return;const P=jn(de.flowModel.value).activities[se.nodeId];if(!P)return;if(G$({mode:a.mode,componentCode:P.component?.code})==="plugin-select"){y.value=J0({node:Fe.cloneDeep(P),constants:Fe.cloneDeep(x.value),defaultGroup:a.pluginGroupList[0]?.name??""}),w.value={show:!1,node:null,constants:null};return}w.value=Ar({node:Fe.cloneDeep(P),constants:Fe.cloneDeep(x.value)})}function j(se){if(a.thumbnail||a.mode!=="edit")return;const de=B();if(!de)return;const ue=de.flowModel.value,R=ue.edges[se.edgeId];if(!R)return;const P=ue.nodes[R.source.nodeId];if(!P||!(P.type==="exclusive-gateway"||P.type==="conditional-parallel-gateway"))return;const $=P.payload??{},fe=$.conditions??{},pe=$.defaultCondition,Oe=!!pe&&typeof pe.flow_id=="string";v.value.hasDefaultBranch=Oe,v.value.nodeId=R.source.nodeId,v.value.edgeId=se.edgeId,pe?.flow_id===se.edgeId?(v.value.condition=Fe.cloneDeep(pe)??null,v.value.isDefault=!0):fe[se.edgeId]&&(v.value.condition=Fe.cloneDeep(fe[se.edgeId])??null,v.value.isDefault=!1),v.value.show=!0}function I(se){const de=B();if(!de)return{x:0,y:0};const ue=de.flowModel.value.nodes[se];return ue?{...ue.position}:{x:0,y:0}}function F(se,de,ue){const R=B();if(!R)return[];const P=R.flowModel.value,J=P.nodes[se];if(!J)return[];const $=J.type.includes("gateway"),fe=Object.values(P.edges).filter(X=>X.source.nodeId===se);if($||fe.length===0)return[];const Oe=N(de).width+wp,Ke=fe[0].target.nodeId,Xe=new Set,et=[Ke],it=[];for(;et.length>0;){const X=et.shift();if(Xe.has(X)||X===se)continue;Xe.add(X);const ae=P.nodes[X];if(ae){it.push({type:"node.move",nodeId:X,position:{x:ae.position.x+Oe,y:ae.position.y}});for(const we of Object.values(P.edges))we.source.nodeId===X&&!Xe.has(we.target.nodeId)&&et.push(we.target.nodeId)}}return it}function z(se){const de=B();if(!de)return 0;const ue=de.flowModel.value.nodes[se];if(!ue)return 0;const R=N(ue.type);return ue.position.x+R.width+wp}function L(se,de){const ue=B();if(!ue)return 0;const R=ue.flowModel.value,P=R.nodes[se];if(!P)return 0;const J=P.position.y;if(P.type.includes("gateway")){const Ke=Object.values(R.edges).filter(Xe=>Xe.source.nodeId===se);if(Ke.length>0)return Ke.reduce((et,it)=>{const X=R.nodes[it.target.nodeId];return X?Math.max(et,X.position.y):et},0)+wp}const $=ue.schema.nodeTypes[P.type],fe=ue.schema.nodeTypes[de],pe=$?.getSize(P)?.height??48,Oe=fe?.getSize({id:"",type:de,position:{x:0,y:0}})?.height??48;return J+(pe-Oe)/2}function O(se,de,ue,R={}){const P={x:z(se),y:L(se,ue)};return[...F(se,ue),...M(de,ue,P,R),...G(se,de)]}function M(se,de,ue,R={}){return[{type:"node.add",node:{id:se,type:de,position:ue,label:R.name??"",payload:R}}]}function G(se,de){const ue=B();if(!ue)return[];const R=ue.flowModel.value,P=[],J=Object.entries(R.edges).filter(([,pe])=>pe.source.nodeId===se);if(R.nodes[se]?.type.includes("gateway")&&J.length>0)P.push({type:"edge.add",edge:{id:`line${gt.generateId()}`,source:{nodeId:se,portId:"bottom"},target:{nodeId:de,portId:"left"}}});else if(J.length===0)P.push({type:"edge.add",edge:{id:`line${gt.generateId()}`,source:{nodeId:se,portId:"right"},target:{nodeId:de,portId:"left"}}});else{const[pe,Oe]=J[0],Ke=Oe.target.nodeId;P.push({type:"edge.remove",edgeId:pe},{type:"edge.add",edge:{id:`line${gt.generateId()}`,source:{nodeId:se,portId:"right"},target:{nodeId:de,portId:"left"}}},{type:"edge.add",edge:{id:`line${gt.generateId()}`,source:{nodeId:de,portId:"right"},target:{nodeId:Ke,portId:"left"}}})}return P}function Y(se,de,ue={}){const R=B();if(!R)return;const P=R.flowModel.value.nodes[se];if(!P)return;const J={id:"",type:de,position:{x:0,y:0},label:ue.name??"",payload:ue};k({id:gt.generateId(),source:"user:panel",label:"替换占位节点",timestamp:Date.now(),commands:Ms(P,J,R.schema)})}function Z(se,de,ue){const R=B();if(!R)return;const P=R.flowModel.value.edges[se],J=de||"";if(P?.labels?.length){k({id:gt.generateId(),source:"user:panel",label:"更新边标签",timestamp:Date.now(),commands:[{type:"edge.label.update",edgeId:se,labelId:P.labels[0].id,patch:{text:J,...ue!==void 0?{position:ue}:{}}}]});return}k({id:gt.generateId(),source:"user:panel",label:"新增边标签",timestamp:Date.now(),commands:[{type:"edge.update",edgeId:se,patch:{labels:[{id:`label-${se}`,text:J,position:ue??Eo}]}}]})}function W(se,de=C.value.nodeId){const ue=he[se]??se;de&&(Y(de,ue),C.value.show=!1)}function q(se,de,ue=C.value.nodeId){const P=a.pluginGroupList.find(fe=>fe.name===de)?.children.find(fe=>fe.id===se);if(!P)return;const J={name:P.alias||P.name,component:{code:"uniform_api",data:{},version:P.version??"v2.0.0",api_meta:{id:P.id,name:P.name,alias:P.alias||P.name,meta_url:P.meta_url,api_key:P.api_key??"incident",category:{id:P.category_id,name:de}}}},$=ue;$&&(Y($,"task",J),C.value.show=!1,e.nextTick(()=>{const fe=B();if(!fe)return;const Oe=jn(fe.flowModel.value).activities[$];Oe&&(w.value=Ar({node:Fe.cloneDeep(Oe),constants:Fe.cloneDeep(x.value)}))}))}function ee(se,de,ue=C.value.nodeId){const R=ue;R&&(Y(R,"task"),C.value.show=!1,e.nextTick(()=>{const P=B();if(!P)return;const $=jn(P.flowModel.value).activities[R];$&&(y.value={show:!0,active:se,bkflowTag:de,node:Fe.cloneDeep($),constants:Fe.cloneDeep(x.value),isBack:!1})}))}const he={tasknode:"task",branchgateway:"exclusive-gateway",parallelgateway:"parallel-gateway",conditionalparallelgateway:"conditional-parallel-gateway",convergegateway:"converge-gateway"};function te(se,de){const ue=he[de]??de,R=`node${gt.generateId()}`,P=O(se,R,ue);k({id:gt.generateId(),source:"user:quick-add",label:"快捷添加节点",timestamp:Date.now(),commands:P})}function ne(se,de,ue){const P=a.pluginGroupList.find(pe=>pe.name===ue)?.children.find(pe=>pe.id===de);if(!P)return;const J=`node${gt.generateId()}`,$={name:P.alias||P.name,component:{code:"uniform_api",data:{},version:P.version??"v2.0.0",api_meta:{id:P.id,name:P.name,alias:P.alias||P.name,meta_url:P.meta_url,api_key:P.api_key??"incident",category:{id:P.category_id,name:ue}}}},fe=O(se,J,"task",$);k({id:gt.generateId(),source:"user:quick-add",label:"快捷添加插件节点",timestamp:Date.now(),commands:fe}),e.nextTick(()=>{const pe=B();if(!pe)return;const Ke=jn(pe.flowModel.value).activities[J];Ke&&(w.value=Ar({node:Fe.cloneDeep(Ke),constants:Fe.cloneDeep(x.value)}))})}function Ce(se,de,ue=0){const R=`node${gt.generateId()}`,P=O(se,R,"task");k({id:gt.generateId(),source:"user:quick-add",label:"快捷添加并选择插件",timestamp:Date.now(),commands:P}),e.nextTick(()=>{const J=B();if(!J)return;const fe=jn(J.flowModel.value).activities[R];fe&&(y.value={show:!0,active:de,bkflowTag:ue,node:Fe.cloneDeep(fe),constants:Fe.cloneDeep(x.value),isBack:!1})})}function oe(se){const de=B();if(!de)return;const ue=jn(de.flowModel.value),R=`node${gt.generateId()}`,P=I(se),J=de.flowModel.value.nodes[se];if(!J)return;let $={};ue.activities[se]&&($={...Fe.cloneDeep(ue.activities[se]),id:R,incoming:[],outgoing:""}),k({id:gt.generateId(),source:"user:toolbar",label:"复制节点",timestamp:Date.now(),commands:M(R,J.type,{x:P.x+200,y:P.y},$)})}function le(se){const de=B();if(!de)return;const ue=jn(de.flowModel.value),R=`node${gt.generateId()}`,P=I(se),J=de.flowModel.value.nodes[se];if(!J)return;let $={};ue.activities[se]&&($={...Fe.cloneDeep(ue.activities[se]),id:R,incoming:[],outgoing:""});const fe=L(se,J.type),pe=[...M(R,J.type,{x:P.x+200,y:fe},$),...G(se,R)];k({id:gt.generateId(),source:"user:toolbar",label:"复制并插入节点",timestamp:Date.now(),commands:pe})}function ke(se){const de=B();if(!de)return;const ue=de.flowModel.value,R=Object.entries(ue.edges).filter(([,P])=>P.source.nodeId===se||P.target.nodeId===se).map(([P])=>P);R.length!==0&&k({id:gt.generateId(),source:"user:toolbar",label:"解除连线",timestamp:Date.now(),commands:R.map(P=>({type:"edge.remove",edgeId:P}))})}function Ae(se){k({id:gt.generateId(),source:"user:toolbar",label:"删除节点",timestamp:Date.now(),commands:[{type:"node.remove",nodeId:se}]})}function Ne(se,de){const{nodeId:ue,edgeId:R,isDefault:P}=v.value,J=B();if(!J)return;const $=J.flowModel.value,fe=[],{name:pe,tag:Oe,evaluate:Ke="",loc:Xe}=se,et={name:pe,tag:Oe,evaluate:Ke.trim()};if(Xe&&(et.loc=Xe),de?(delete et.evaluate,et.flow_id=R,fe.push({type:"node.set-payload",nodeId:ue,path:["defaultCondition"],value:et}),P||fe.push({type:"node.set-payload",nodeId:ue,path:["conditions",R],value:void 0})):(fe.push({type:"node.set-payload",nodeId:ue,path:["conditions",R],value:et}),P&&fe.push({type:"node.set-payload",nodeId:ue,path:["defaultCondition"],value:void 0})),fe.push({type:"edge.set-payload",edgeId:R,path:["isDefault"],value:de}),de&&!P){const ae=$.nodes[ue],we=ae?.payload?.defaultCondition;if(we?.flow_id&&we.flow_id!==R){const Re=we.flow_id;fe.push({type:"edge.set-payload",edgeId:Re,path:["isDefault"],value:!1});const ge=ae?.payload?.conditions?.[Re],ze=$.edges[Re];ze?.labels?.length&&fe.push({type:"edge.label.update",edgeId:Re,labelId:ze.labels[0].id,patch:{text:ge?.name??"",position:ze.labels[0].position??Eo}})}}const it=de?et.name||"默认":et.name||"",X=$.edges[R];X?.labels?.length?fe.push({type:"edge.label.update",edgeId:R,labelId:X.labels[0].id,patch:{text:it,position:X.labels[0].position??Eo}}):fe.push({type:"edge.update",edgeId:R,patch:{labels:[{id:`label-${R}`,text:it,position:Eo}]}}),k({id:gt.generateId(),source:"user:panel",label:"编辑分支条件",timestamp:Date.now(),commands:fe})}function Ve(se,de){y.value=J0({node:Fe.cloneDeep(se),constants:Fe.cloneDeep(de),defaultGroup:a.pluginGroupList[0]?.name??""}),w.value={show:!1,node:null,constants:null}}function De(){y.value.node&&(w.value=Ar({node:Fe.cloneDeep(y.value.node),constants:Fe.cloneDeep(y.value.constants??x.value)}),y.value={...y.value,show:!1,node:null,constants:null,isBack:!1})}function qe(se,de,ue){if(!y.value.node)return;const R=Fe.cloneDeep(y.value.node);if(se==="projectPlugin"){const{id:P,name:J,alias:$,meta_url:fe,api_key:pe="incident",version:Oe="v2.0.0",category:Ke,category_id:Xe}=de;R.component={code:"uniform_api",data:ue||{},version:Oe,api_meta:{id:P,name:J,alias:$||J,meta_url:fe,api_key:pe,category:{id:Xe,name:Ke}}},R.name=$}else{const{code:P,data:J,version:$,name:fe}=de;R.component={code:P,data:J,version:$},R.name=fe}w.value=Ar({node:R,constants:Fe.cloneDeep(y.value.constants??x.value)}),y.value={...y.value,show:!1,node:null,constants:null,isBack:!1}}function Te(se,de){const ue=[{type:"node.update",nodeId:se.id,patch:{label:se.name}},{type:"node.set-payload",nodeId:se.id,path:[],value:{name:se.name,stageName:se.stage_name??"",component:se.component,errorIgnorable:se.error_ignorable,retryable:se.retryable,skippable:se.skippable,autoRetry:se.auto_retry,timeoutConfig:se.timeout_config}},{type:"model.set-meta",path:["variables"],value:de}];k({id:gt.generateId(),source:"user:panel",label:"保存节点配置",timestamp:Date.now(),commands:ue}),w.value={show:!1,node:null,constants:null}}function Ee(se){k({id:gt.generateId(),source:"user:panel",label:"更新全局变量",timestamp:Date.now(),commands:[{type:"model.set-meta",path:["variables"],value:se}],skipHistory:!0}),i.value&&w.value.show&&i.value.updateConstants?.(se)}function tt(se){k({id:gt.generateId(),source:"user:panel",label:"更新输出变量",timestamp:Date.now(),commands:[{type:"model.set-meta",path:["outputs"],value:se}],skipHistory:!0})}const ie=se=>{i.value&&w.value.show&&i.value.updateNodeInputParams?.(se)},ce={addEmptyNode:te,addPlugin:ne,addNodeAndSelectPlugin:Ce,updateEdgeLabel:Z,copyNode:oe,copyNodeAndInsert:le,detachEdges:ke,deleteNode:Ae};e.provide("bkflow-node-operations",ce);const Pe=e.ref(!1);function ot(){return r.value?.$el?.offsetWidth??document.documentElement.offsetWidth-200}function at(se){Pe.value=se}function vt(se,de){const ue=m.value;ue&&(ue.scrollToNode(se,de),ue.highlightNodes([se]),setTimeout(()=>ue.clearHighlight(),1500))}function rt(se){if(a.thumbnail)return;const de=B();if(!de)return;const ue=de.flowModel.value.nodes[se];if(!ue||ue.type!=="task")return;const P=jn(de.flowModel.value).activities[se];P&&(w.value=Ar({node:Fe.cloneDeep(P),constants:Fe.cloneDeep(x.value),initialTab:"debug"}))}function Be(se){m.value?.zoomToFit(se)}function Se(){m.value?.centerContent()}function Ie(){return m.value?.getZoom()??1}return n({updateNodeInputParams:ie,updateGlobalVariables:Ee,updateOutputs:tt,bkflowCanvasRef:r,getCanvasWidth:ot,setFormatLoading:at,formatLoading:Pe,locateNode:vt,openNodeDebugPanel:rt,zoomToFit:Be,centerContent:Se,getZoom:Ie,updatePipelineTree:se=>r.value?.updatePipelineTree?.(se),...ce}),(se,de)=>(e.openBlock(),e.createElementBlock("div",voe,[e.createVNode(wd,{ref_key:"bkflowCanvasRef",ref:r,"pipeline-tree":a.pipelineTree,mode:a.mode,thumbnail:a.thumbnail,"default-zoom":a.defaultZoom,"node-actions":g.value,"quick-add":a.quickAdd,"additional-plugins":a.additionalPlugins,"toolbar-items":a.toolbarItems,"simulate-debug-context":a.simulateDebugContext,"debug-context":a.debugContext,onChange:b,onNodeClick:H,onEdgeLabelClick:j,onUiEvent:A,onFormatPosition:de[0]||(de[0]=ue=>l("format-position"))},{"node-palette":e.withCtx(()=>[e.renderSlot(se.$slots,"node-palette",{},()=>[a.mode==="edit"&&!a.thumbnail?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"dndPaletteRef",ref:s,class:"dnd-node-palette"},[e.createElementVNode("div",goe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.dndNodeTypes,ue=>(e.openBlock(),e.createElementBlock("div",{key:ue.type,"data-dnd-type":ue.disabled?void 0:ue.type,class:e.normalizeClass(["dnd-palette-item",{"is-disabled":ue.disabled}]),title:ue.disabled?ue.disabledTip:ue.tipsImage?void 0:ue.label,onMouseenter:R=>p(R,ue),onMouseleave:h},[e.createElementVNode("i",{class:e.normalizeClass(["bkflow-canvas-icon",ue.icon])},null,2),e.createElementVNode("span",boe,e.toDisplayString(ue.label),1)],42,hoe))),128))]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[f.value.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:"dnd-gateway-tip",style:e.normalizeStyle({left:`${f.value.x}px`,top:`${f.value.y}px`})},[e.createElementVNode("img",{src:f.value.image},null,8,yoe)],4)):e.createCommentVNode("",!0)]))],512)):e.createCommentVNode("",!0)],!0)]),"quick-add-panel":e.withCtx(({node:ue,closePopover:R})=>[e.createVNode(Tw,{"plugin-group-list":a.pluginGroupList,onAddNode:P=>{te(ue.id,P),R()},onAddPlugin:(P,J)=>{ne(ue.id,P,J),R()},onOpenPluginSelect:(P,J)=>{Ce(ue.id,P,J),R()}},null,8,["plugin-group-list","onAddNode","onAddPlugin","onOpenPluginSelect"])]),_:3},8,["pipeline-tree","mode","thumbnail","default-zoom","node-actions","quick-add","additional-plugins","toolbar-items","simulate-debug-context","debug-context"]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[C.value.show?(e.openBlock(),e.createElementBlock("div",{key:0,class:"placeholder-popover-mask",onClick:de[1]||(de[1]=e.withModifiers(ue=>C.value.show=!1,["self"]))},[e.createElementVNode("div",{class:"placeholder-popover",style:e.normalizeStyle({left:`${C.value.screenPosition.x}px`,top:`${C.value.screenPosition.y}px`}),onMouseleave:V,onMouseenter:S},[e.createVNode(Tw,{"plugin-group-list":a.pluginGroupList,onAddNode:W,onAddPlugin:q,onOpenPluginSelect:ee},null,8,["plugin-group-list"])],36)])):e.createCommentVNode("",!0)])),!a.thumbnail&&v.value.condition?(e.openBlock(),e.createBlock(nZ,{key:0,show:v.value.show,"onUpdate:show":de[2]||(de[2]=ue=>v.value.show=ue),condition:v.value.condition,"has-default-branch":v.value.hasDefaultBranch,"is-default":v.value.isDefault,editable:a.mode==="edit",onConfirm:Ne},null,8,["show","condition","has-default-branch","is-default","editable"])):e.createCommentVNode("",!0),!a.thumbnail&&w.value.node?(e.openBlock(),e.createBlock(Hee,{key:1,ref_key:"nodeConfigPanelRef",ref:i,show:w.value.show,"onUpdate:show":de[3]||(de[3]=ue=>w.value.show=ue),node:w.value.node,editable:a.mode==="edit","enable-debug":a.enableNodeDebug,"initial-tab":w.value.initialTab??"config","system-variables":a.systemVariables,constants:w.value.constants??x.value,onSelectPlugin:Ve,onConfirm:Te},{inputParams:e.withCtx(ue=>[e.renderSlot(se.$slots,"inputParams",e.normalizeProps(e.guardReactiveProps(ue)),void 0,!0)]),debugConfig:e.withCtx(ue=>[e.renderSlot(se.$slots,"nodeDebugConfig",e.normalizeProps(e.guardReactiveProps(ue)),void 0,!0)]),_:3},8,["show","node","editable","enable-debug","initial-tab","system-variables","constants"])):e.createCommentVNode("",!0),a.thumbnail?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(jne,{key:2,show:y.value.show,"onUpdate:show":de[4]||(de[4]=ue=>y.value.show=ue),"flow-id":a.flowId,active:y.value.active,"bkflow-tag":y.value.bkflowTag,"plugin-group-list":a.pluginGroupList,"input-data":y.value.node?.component?.data||{},"is-back":y.value.isBack,onBack:De,onSelect:qe},null,8,["show","flow-id","active","bkflow-tag","plugin-group-list","input-data","is-back"]))]))}}),zc=je(woe,[["__scopeId","data-v-1e509939"]]);function H2(t){return JSON.stringify({name:t.name,variables:t.variables,customFormData:t.customFormData,additionalTaskParams:t.additionalTaskParams})}function koe(t){return t.editable?t.lastSavedSnapshot!==H2(t.currentDraft):!1}const Coe={class:"execute-flow-slider"},Aoe={class:"flow-name-wrapper"},Eoe={class:"form-params-wrapper"},Boe={key:0,class:"sideslider-footer-buttons"},xoe=e.defineComponent({__name:"create-task",props:{flowId:{},show:{type:Boolean},editable:{type:Boolean,default:!0},showFlowEntry:{type:Boolean,default:!1},apiConfig:{},onExecuteSuccess:{},bkflowSaasUrl:{},memberSelectorConfig:{},filterVariableConfig:{}},emits:["confirm","close","update:show","before-close","view-flow"],setup(t,{emit:n}){const o=e.useSlots(),a=t,l=n,r=il(a.apiConfig);Jr(a.memberSelectorConfig),Gc(a.filterVariableConfig),Kl({},a.bkflowSaasUrl);const i={name:[{required:!0,message:"请输入任务名称",trigger:"blur"}]},s=e.shallowRef(null);Em(F=>s.value?.pipeline_tree?.activities?.[F]?.component);const c=e.shallowRef(!0),f=e.shallowRef([]),p=e.ref({}),h=e.shallowRef([]),g=e.ref({}),m=e.ref({}),v=e.ref(),w=e.ref(),y=e.ref(),x=e.ref({name:""}),B=e.shallowRef(!1),k=e.computed(()=>h.value.filter(F=>Da(F)));let b="";const A=()=>{b=H2({name:x.value.name,variables:p.value,customFormData:g.value,additionalTaskParams:m.value})};e.watch(()=>a.show,F=>{F&&C()});const C=async()=>{c.value=!0,g.value={},m.value={};const F=await r.fetchFlowDetail(a.flowId);s.value=F,x.value.name=`${F.name}_${st().format("YYYYMMDDHHmmss")}`;const z=[],L={};Object.values(F.pipeline_tree.constants).forEach(O=>{if(typeof O!="object"||O===null)return;const M=O;!["system","space"].includes(M.source_type)&&M.show_type==="show"&&z.push(M),"value"in M&&(L[M.key]=M.value)}),h.value=z,p.value=L,await _(),c.value=!1,setTimeout(A)},_=async()=>{const F=s.value?.pipeline_tree?.constants;if(!F){f.value=[];return}const z=Object.fromEntries(Object.entries(F).filter(([,L])=>{if(typeof L!="object"||L===null)return!1;const O=L;return O.source_type==="custom"&&O.show_type==="show"&&!Da(O)}));if(Object.keys(z).length<1){f.value=[];return}if(!("fetchBkFlowInnerPluginDetail"in r)||typeof r.fetchBkFlowInnerPluginDetail!="function"){console.warn("fetchBkFlowInnerPluginDetail API is not available"),f.value=[];return}try{const L=await Kc(r,z);f.value=L}catch(L){console.error("Failed to get input forms from constants:",L),f.value=[]}},V=()=>{l("view-flow")},S=F=>{p.value={...p.value,...Fe.cloneDeep(F)}},N=F=>{g.value={...g.value,...F}},D=F=>{m.value={...m.value,...F}},H=async()=>{if(!r.createFlowTask||!r.executeFlowTask){console.warn("createFlowTask or executeFlowTask is not provided in api");return}const[F,z,L]=await Promise.all([v.value?.validate(),Promise.resolve(y.value&&typeof y.value.validate=="function"?y.value.validate():!0),Promise.resolve(w.value&&typeof w.value.validate=="function"?w.value.validate():!0)]);if(!(!F||!z||!L))try{B.value=!0;const O=await r.createFlowTask({...m.value,template_id:a.flowId,creator:"admin",name:x.value.name,constants:p.value});if(O.data.id){const M=await r.executeFlowTask({task_id:O.data.id,resource_type:"TASK",resource_id:O.data.id,permission_type:"OPERATE"});Xt({theme:"success",message:"执行成功"}),A();const G={createResult:O,executeResult:M};l("confirm",G),I(),a.onExecuteSuccess&&a.onExecuteSuccess(G)}}catch(O){console.error(O)}finally{B.value=!1}},j=()=>koe({editable:!!a.editable,lastSavedSnapshot:b,currentDraft:{name:x.value.name,variables:p.value,customFormData:g.value,additionalTaskParams:m.value}})?new Promise(z=>{qn.InfoBox({title:"确认离开?",content:"离开将会导致未保存信息丢失",confirmText:"离开",cancelText:"取消",width:320,onConfirm:()=>{I(),z(!0)},onCancel:()=>{z(!1)}})}):(I(),!0),I=()=>{l("before-close"),h.value=[],p.value={},g.value={},m.value={},l("close"),l("update:show",!1)};return(F,z)=>{const L=e.resolveComponent("bk-input"),O=e.resolveComponent("bk-form-item"),M=e.resolveComponent("bk-form"),G=e.resolveComponent("bk-button"),Y=e.resolveComponent("bk-sideslider"),Z=e.resolveDirective("bk-tooltips"),W=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(Y,{title:"执行流程","is-show":a.show,width:960,"quick-close":!0,"esc-close":!1,"before-close":j},{footer:e.withCtx(()=>[c.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Boe,[e.createVNode(G,{theme:"primary",loading:B.value,onClick:H},{default:e.withCtx(()=>[...z[2]||(z[2]=[e.createTextVNode("确定",-1)])]),_:1},8,["loading"]),e.createVNode(G,{onClick:I},{default:e.withCtx(()=>[...z[3]||(z[3]=[e.createTextVNode("取消",-1)])]),_:1})]))]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",Coe,[e.createVNode(M,{ref_key:"formRef",ref:v,"form-type":"vertical",model:x.value,rules:i,"label-width":100},{default:e.withCtx(()=>[t.showFlowEntry?(e.openBlock(),e.createBlock(O,{key:0,label:"排障流程",required:""},{default:e.withCtx(()=>[e.createElementVNode("div",Aoe,[e.createVNode(L,{readonly:"","model-value":s.value?.name},null,8,["model-value"]),e.withDirectives(e.createVNode(e.unref(dn.Share),{class:"link-icon",onClick:V},null,512),[[Z,"查看排障流程",void 0,{top:!0}]])])]),_:1})):e.createCommentVNode("",!0),e.createVNode(O,{label:"任务名称",property:"name",required:""},{default:e.withCtx(()=>[e.createVNode(L,{modelValue:x.value.name,"onUpdate:modelValue":z[0]||(z[0]=q=>x.value.name=q),placeholder:"请输入任务名称","show-word-limit":"",maxlength:100},null,8,["modelValue"])]),_:1}),o.customFormContent?e.renderSlot(F.$slots,"customFormContent",{customFormData:g.value,additionalTaskParams:m.value,updateCustomFormData:N,updateAdditionalTaskParams:D},void 0,!0,1):e.createCommentVNode("",!0),e.createVNode(O,{label:"请求参数",property:"inputParams",description:"流程的入参"},{default:e.withCtx(()=>[e.createElementVNode("div",Eoe,[k.value.length>0?(e.openBlock(),e.createBlock(e.unref(hd),{key:0,ref_key:"builtinVariableFormRef",ref:y,modelValue:p.value,"onUpdate:modelValue":z[1]||(z[1]=q=>p.value=q),variables:k.value,editable:a.editable},null,8,["modelValue","variables","editable"])):e.createCommentVNode("",!0),f.value.length>0?(e.openBlock(),e.createBlock(Ni,{key:1,ref_key:"renderFormRef",ref:w,scheme:f.value,editable:a.editable,"form-option":{showRequired:!0,showGroup:!0,showLabel:!1,showHook:!1,showDesc:!0,formEdit:a.editable},"form-data":p.value,onChange:S},null,8,["scheme","editable","form-option","form-data"])):e.createCommentVNode("",!0),k.value.length<1&&f.value.length<1?(e.openBlock(),e.createBlock(fn,{key:2,title:"暂无参数"})):e.createCommentVNode("",!0)])]),_:1})]),_:3},8,["model"])])),[[W,{loading:c.value}]])]),_:3},8,["is-show"])}}}),Ad=je(xoe,[["__scopeId","data-v-df86aaea"]]),_oe=Object.freeze(Object.defineProperty({__proto__:null,default:Ad},Symbol.toStringTag,{value:"Module"})),Voe={class:"execute-flow-slider"},Soe={class:"flow-name-wrapper"},Noe={class:"form-params-wrapper"},Doe={key:0,class:"sideslider-footer-buttons"},Toe=e.defineComponent({__name:"debug",props:{flowId:{},show:{type:Boolean},editable:{type:Boolean,default:!0},showFlowEntry:{type:Boolean,default:!1},apiConfig:{},onConfirm:{},useCustomConfirm:{type:Boolean,default:!1},mockData:{},onExecuteSuccess:{},bkflowSaasUrl:{},enableVersion:{type:Boolean,default:!1},flowVersion:{},memberSelectorConfig:{}},emits:["confirm","close","update:show","before-close"],setup(t,{emit:n}){const o=t,a=n,l=il(o.apiConfig);Jr(o.memberSelectorConfig),Kl({},o.bkflowSaasUrl);const r={name:[{required:!0,message:"请输入任务名称",trigger:"blur"}]},i=e.shallowRef(null),s=e.shallowRef(!0),c=e.shallowRef([]),f=e.ref({}),p=e.shallowRef([]),h=e.ref(),g=e.ref(),m=e.ref(),v=e.ref({name:""}),w=e.shallowRef(!1),y=e.computed(()=>p.value.filter(H=>Da(H)));let x="";const B=()=>{x=JSON.stringify({name:v.value.name,variables:f.value})};e.watch(()=>o.show,H=>{H&&k()});const k=async()=>{s.value=!0;let H=await l.fetchFlowDetail(o.flowId);if(o.enableVersion)if(o.flowVersion){const F=await l.fetchFlowDetailByVersion(o.flowId,o.flowVersion);H={...H,name:F.name,pipeline_tree:F.pipeline_tree}}else{const F=await l.fetchFlowDraftDetail(o.flowId);H={...H,pipeline_tree:F.pipeline_tree}}i.value=H,v.value.name=`${H.name}_${st().format("YYYYMMDDHHmmss")}`;const j=[],I={};Object.values(H.pipeline_tree.constants).forEach(F=>{if(typeof F!="object"||F===null)return;const z=F;!["system","space"].includes(z.source_type)&&z.show_type==="show"&&j.push(z),"value"in z&&(I[z.key]=z.value)}),p.value=j,f.value=I,await b(),s.value=!1,setTimeout(B)},b=async()=>{const H=i.value?.pipeline_tree?.constants;if(!H){c.value=[];return}const j=Object.fromEntries(Object.entries(H).filter(([,I])=>{if(typeof I!="object"||I===null)return!1;const F=I;return F.source_type==="custom"&&F.show_type==="show"&&!Da(F)}));if(Object.keys(j).length<1){c.value=[];return}if(!("fetchBkFlowInnerPluginDetail"in l)||typeof l.fetchBkFlowInnerPluginDetail!="function"){console.warn("fetchBkFlowInnerPluginDetail API is not available"),c.value=[];return}try{const I=await Kc(l,j);c.value=I}catch(I){console.error("Failed to get input forms from constants:",I),c.value=[]}},A=()=>{o.onExecuteSuccess},C=H=>{f.value={...f.value,...Fe.cloneDeep(H)}},_=H=>{const j=Fe.cloneDeep(i.value?.pipeline_tree);return Object.entries(H).forEach(([I,F])=>{j.constants[I]&&(j.constants[I]={...j.constants[I],value:F})}),j},V=async()=>{if(!l.createMockDebugTask||!l.executeFlowTask){console.warn("createMockDebugTask or executeFlowTask is not provided in api");return}try{w.value=!0;const H=await l.createMockDebugTask({template_id:o.flowId,name:v.value.name,pipeline_tree:_(f.value),mock_data:o.mockData??{nodes:[],outputs:{}},creator:String(window.USERNAME??"")}),j=H.data.id;await l.executeFlowTask({task_id:j,resource_type:"TASK",resource_id:j,permission_type:"OPERATE"}),Xt({theme:"success",message:"执行成功"}),B(),a("confirm",j,H.data.template_id),D(),o.onExecuteSuccess&&o.onExecuteSuccess(j,H.data.template_id)}catch(H){console.error(H)}finally{w.value=!1}},S=async()=>{const[H,j,I]=await Promise.all([h.value?.validate(),Promise.resolve(m.value&&typeof m.value.validate=="function"?m.value.validate():!0),Promise.resolve(g.value&&typeof g.value.validate=="function"?g.value.validate():!0)]);if(!H||!j||!I)return;const F={name:v.value.name,variablesValue:f.value};if(o.useCustomConfirm&&o.onConfirm)try{w.value=!0,await o.onConfirm(F),B(),a("confirm"),D()}catch(z){console.error(z)}finally{w.value=!1}else await V(),o.onConfirm&&await o.onConfirm(F)},N=()=>{const H=JSON.stringify({name:v.value.name,variables:f.value}),j=x!==H;return!o.editable||!j?(D(),!0):new Promise(I=>{qn.InfoBox({title:"确认离开?",content:"离开将会导致未保存信息丢失",confirmText:"离开",cancelText:"取消",width:320,onConfirm:()=>{D(),I(!0)},onCancel:()=>{I(!1)}})})},D=()=>{a("before-close"),p.value=[],f.value={},a("close"),a("update:show",!1)};return(H,j)=>{const I=e.resolveComponent("bk-input"),F=e.resolveComponent("bk-form-item"),z=e.resolveComponent("bk-form"),L=e.resolveComponent("bk-button"),O=e.resolveComponent("bk-sideslider"),M=e.resolveDirective("bk-tooltips"),G=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(O,{title:"调试流程","is-show":o.show,width:960,"quick-close":!0,"esc-close":!1,"before-close":N},{footer:e.withCtx(()=>[s.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Doe,[e.createVNode(L,{theme:"primary",loading:w.value,onClick:S},{default:e.withCtx(()=>[...j[2]||(j[2]=[e.createTextVNode("确定",-1)])]),_:1},8,["loading"]),e.createVNode(L,{onClick:D},{default:e.withCtx(()=>[...j[3]||(j[3]=[e.createTextVNode("取消",-1)])]),_:1})]))]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",Voe,[e.createVNode(z,{ref_key:"formRef",ref:h,"form-type":"vertical",model:v.value,rules:r,"label-width":100},{default:e.withCtx(()=>[o.showFlowEntry?(e.openBlock(),e.createBlock(F,{key:0,label:"排障流程",required:""},{default:e.withCtx(()=>[e.createElementVNode("div",Soe,[e.createVNode(I,{readonly:"","model-value":i.value?.name},null,8,["model-value"]),e.withDirectives(e.createVNode(e.unref(dn.Share),{class:"link-icon",onClick:A},null,512),[[M,"查看排障流程",void 0,{top:!0}]])])]),_:1})):e.createCommentVNode("",!0),e.createVNode(F,{label:"任务名称",property:"name",required:""},{default:e.withCtx(()=>[e.createVNode(I,{modelValue:v.value.name,"onUpdate:modelValue":j[0]||(j[0]=Y=>v.value.name=Y),placeholder:"请输入任务名称","show-word-limit":"",maxlength:100},null,8,["modelValue"])]),_:1}),e.createVNode(F,{label:"请求参数",property:"inputParams",description:"流程的入参"},{default:e.withCtx(()=>[e.createElementVNode("div",Noe,[y.value.length>0?(e.openBlock(),e.createBlock(e.unref(hd),{key:0,ref_key:"builtinVariableFormRef",ref:m,modelValue:f.value,"onUpdate:modelValue":j[1]||(j[1]=Y=>f.value=Y),variables:y.value,editable:o.editable},null,8,["modelValue","variables","editable"])):e.createCommentVNode("",!0),c.value.length>0?(e.openBlock(),e.createBlock(Ni,{key:1,ref_key:"renderFormRef",ref:g,scheme:c.value,editable:o.editable,"form-option":{showRequired:!0,showGroup:!0,showLabel:!1,showHook:!1,showDesc:!0,formEdit:o.editable},"form-data":f.value,onChange:C},null,8,["scheme","editable","form-option","form-data"])):e.createCommentVNode("",!0),y.value.length<1&&c.value.length<1?(e.openBlock(),e.createBlock(fn,{key:2,title:"暂无参数"})):e.createCommentVNode("",!0)])]),_:1}),e.renderSlot(H.$slots,"custom-form-content",{formData:v.value,variablesValue:f.value},void 0,!0)]),_:3},8,["model"])])),[[G,{loading:s.value}]])]),_:3},8,["is-show"])}}}),vi=je(Toe,[["__scopeId","data-v-c51ee991"]]),Ioe=Object.freeze(Object.defineProperty({__proto__:null,default:vi},Symbol.toStringTag,{value:"Module"})),Ooe={class:"mock-field-renderer"},Moe={key:8,class:"mock-field-renderer__code-editor"},Poe={key:10,class:"mock-field-renderer__error"},Loe=e.defineComponent({__name:"mock-field-renderer",props:{field:{},modelValue:{},error:{}},emits:["update:modelValue"],setup(t,{emit:n}){const o=t,a=n,l=e.computed(()=>pc(o.field)),r=e.computed(()=>(o.field.options??[]).map(SN)),i=e.computed(()=>r.value.length>0?r.value:o.field.type==="boolean"?[{label:"true",value:!0},{label:"false",value:!1}]:r.value),s=e.computed(()=>["json-editor","data-table"].includes(l.value)),c=e.computed(()=>({language:"json",theme:"vs-dark",lineNumbers:"on",scrollBeyondLastLine:!1,tabSize:2,placeholder:"{}"})),f=e.computed({get(){return typeof o.modelValue=="string"?o.modelValue:""},set(g){p(g)}}),p=g=>{a("update:modelValue",g)},h=g=>{if(g===""||g===void 0||g===null){a("update:modelValue",void 0);return}const m=Number(g);a("update:modelValue",Number.isNaN(m)?g:m)};return(g,m)=>{const v=e.resolveComponent("bk-option"),w=e.resolveComponent("bk-select"),y=e.resolveComponent("bk-checkbox"),x=e.resolveComponent("bk-checkbox-group"),B=e.resolveComponent("bk-radio"),k=e.resolveComponent("bk-radio-group"),b=e.resolveComponent("bk-switcher"),A=e.resolveComponent("bk-date-picker"),C=e.resolveComponent("bk-input");return e.openBlock(),e.createElementBlock("div",Ooe,[l.value==="bk-select"?(e.openBlock(),e.createBlock(w,{key:0,"model-value":o.modelValue,clearable:"",onChange:p},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,_=>(e.openBlock(),e.createBlock(v,{id:_.value,key:String(_.value),label:_.label},null,8,["id","label"]))),128))]),_:1},8,["model-value"])):l.value==="bk-checkbox-group"?(e.openBlock(),e.createBlock(x,{key:1,"model-value":Array.isArray(o.modelValue)?o.modelValue:[],onChange:p},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,_=>(e.openBlock(),e.createBlock(y,{key:String(_.value),label:_.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(_.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["model-value"])):l.value==="bk-radio-group"?(e.openBlock(),e.createBlock(k,{key:2,"model-value":o.modelValue,onChange:p},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,_=>(e.openBlock(),e.createBlock(B,{key:String(_.value),label:_.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(_.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["model-value"])):l.value==="bk-switcher"?(e.openBlock(),e.createBlock(b,{key:3,"model-value":!!o.modelValue,theme:"primary",onChange:p},null,8,["model-value"])):l.value==="bk-date-picker"?(e.openBlock(),e.createBlock(A,{key:4,"model-value":o.modelValue,type:"datetime",clearable:"",onChange:p},null,8,["model-value"])):l.value==="bk-date-range-picker"?(e.openBlock(),e.createBlock(A,{key:5,"model-value":Array.isArray(o.modelValue)?o.modelValue:[],type:"datetimerange",clearable:"",onChange:p},null,8,["model-value"])):l.value==="bk-input-number"?(e.openBlock(),e.createBlock(C,{key:6,"model-value":o.modelValue,type:"number","onUpdate:modelValue":h},null,8,["model-value"])):l.value==="bk-textarea"?(e.openBlock(),e.createBlock(C,{key:7,"model-value":o.modelValue,type:"textarea",rows:3,placeholder:"请输入","onUpdate:modelValue":p},null,8,["model-value"])):s.value?(e.openBlock(),e.createElementBlock("div",Moe,[e.createVNode(fa,{modelValue:f.value,"onUpdate:modelValue":m[0]||(m[0]=_=>f.value=_),options:c.value},null,8,["modelValue","options"])])):(e.openBlock(),e.createBlock(C,{key:9,"model-value":o.modelValue,"onUpdate:modelValue":p},null,8,["model-value"])),o.error?(e.openBlock(),e.createElementBlock("div",Poe,e.toDisplayString(o.error),1)):e.createCommentVNode("",!0)])}}}),bm=je(Loe,[["__scopeId","data-v-7dc32c6a"]]),Roe={key:0,class:"unchecked-fields-section"},Foe={key:0,class:"unchecked-fields-section__content"},zoe=e.defineComponent({__name:"unchecked-fields-section",props:{fields:{}},setup(t){const n=t,o=e.ref(!1);return(a,l)=>{const r=e.resolveComponent("bk-button");return n.fields.length>0?(e.openBlock(),e.createElementBlock("section",Roe,[e.createVNode(r,{text:"",theme:"primary",class:"unchecked-fields-section__toggle",onClick:l[0]||(l[0]=i=>o.value=!o.value)},{default:e.withCtx(()=>[e.createElementVNode("i",{class:e.normalizeClass(["bkflow-canvas-icon bkflow-canvas-angle-up unchecked-fields-section__toggle-icon",{"is-expanded":o.value}])},null,2),e.createElementVNode("span",null,e.toDisplayString(o.value?"收起未勾选的字段":"显示未勾选的字段"),1)]),_:1}),o.value?(e.openBlock(),e.createElementBlock("div",Foe,[e.renderSlot(a.$slots,"default",{},void 0,!0)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)}}}),joe=je(zoe,[["__scopeId","data-v-768e1d59"]]),Hoe={key:0,class:"mock-data-sideslider__title-sep"},Uoe=["title"],Woe={class:"mock-data-sideslider"},Goe={class:"mock-data-sideslider__footer"},Yoe=e.defineComponent({__name:"index",props:{show:{type:Boolean},node:{},constants:{default:()=>({})},config:{default:void 0}},emits:["save","cancel","update:show"],setup(t,{emit:n}){const o=t,a=n,l=xn(),r=e.ref(!1),i=e.shallowRef([]),s=e.ref({}),c=e.ref({}),f=e.ref(!1),p=e.ref({}),h=e.computed(()=>VN(i.value,o.constants,o.node?.id??"")),g=e.computed(()=>h.value.globalFields),m=e.computed(()=>h.value.otherFields),v=e.computed(()=>i.value.length>0),w=C=>{const _=o.config?.outputs;return!_||!Object.prototype.hasOwnProperty.call(_,C.key)?{exists:!1,value:void 0}:{exists:!0,value:_[C.key]}},y=async()=>{if(o.node){r.value=!0,f.value=!1,p.value={};try{const C=await Xs(l,o.node.component);i.value=Zw(C.outputs);const _={};i.value.forEach(V=>{const S=w(V),N=S.exists?S.value:V.type==="object"?{}:void 0,D=pc(V);_[V.key]=D==="json-editor"||D==="data-table"?Xw(N):N}),s.value=_,c.value=Fe.cloneDeep(_),f.value=!0}catch(C){console.error(C),i.value=[],s.value={},c.value={},f.value=!0,sn.Message({theme:"error",message:"加载输出结果失败"})}finally{r.value=!1}}},x=()=>{const C={},_={};return i.value.forEach(V=>{const S=s.value[V.key],N=pc(V);if(N==="json-editor"||N==="data-table"){const D=Jw(S);if(!D.valid){C[V.key]=D.message;return}D.value!==void 0&&(_[V.key]=D.value);return}S!==void 0&&S!==""&&(_[V.key]=S)}),{errors:C,outputs:_}},B=()=>!f.value||r.value?!1:!Fe.isEqual(s.value,c.value),k=()=>{if(!o.node)return;const{errors:C,outputs:_}=x();p.value=C,!(Object.keys(C).length>0)&&(a("save",{nodeId:o.node.id,outputs:_,fieldSnapshots:Object.fromEntries(i.value.map(V=>[V.key,V]))}),a("update:show",!1))},b=()=>{a("cancel"),a("update:show",!1)},A=()=>B()?new Promise(C=>{qn.InfoBox({title:"确认离开?",content:"离开将会导致未保存信息丢失",confirmText:"离开",cancelText:"取消",width:320,onConfirm:()=>{b(),C(!0)},onCancel:()=>{C(!1)}})}):(b(),!0);return e.watch(()=>[o.show,o.node?.id],([C])=>{C&&o.node&&y()},{immediate:!0}),(C,_)=>{const V=e.resolveComponent("bk-exception"),S=e.resolveComponent("bk-form-item"),N=e.resolveComponent("bk-form"),D=e.resolveComponent("bk-button"),H=e.resolveComponent("bk-sideslider"),j=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(H,{"is-show":o.show,width:960,"quick-close":"","esc-close":!1,"before-close":A},{header:e.withCtx(()=>[_[0]||(_[0]=e.createElementVNode("span",{class:"mock-data-sideslider__title"},"设置 Mock 数据",-1)),o.node?.name?(e.openBlock(),e.createElementBlock("span",Hoe,"-")):e.createCommentVNode("",!0),o.node?.name?(e.openBlock(),e.createElementBlock("span",{key:1,class:"mock-data-sideslider__title-node",title:o.node.name},e.toDisplayString(o.node.name),9,Uoe)):e.createCommentVNode("",!0)]),footer:e.withCtx(()=>[e.createElementVNode("div",Goe,[v.value?(e.openBlock(),e.createBlock(D,{key:0,theme:"primary",onClick:k},{default:e.withCtx(()=>[..._[1]||(_[1]=[e.createTextVNode("保存",-1)])]),_:1})):e.createCommentVNode("",!0),e.createVNode(D,{onClick:A},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(v.value?"取消":"关闭"),1)]),_:1})])]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",Woe,[o.node?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[i.value.length>0?(e.openBlock(),e.createBlock(N,{key:0,"form-type":"vertical","label-width":120},{default:e.withCtx(()=>[g.value.length===0?(e.openBlock(),e.createBlock(V,{key:0,class:"mock-data-sideslider__exception",scene:"part",type:"empty",title:"暂无已勾选的全局变量字段"})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,I=>(e.openBlock(),e.createBlock(S,{key:I.key,label:I.name||I.key,description:I.description},{default:e.withCtx(()=>[e.createVNode(bm,{modelValue:s.value[I.key],"onUpdate:modelValue":F=>s.value[I.key]=F,field:I,error:p.value[I.key]},null,8,["modelValue","onUpdate:modelValue","field","error"])]),_:2},1032,["label","description"]))),128)),e.createVNode(joe,{fields:m.value},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,I=>(e.openBlock(),e.createBlock(S,{key:I.key,label:I.name||I.key,description:I.description},{default:e.withCtx(()=>[e.createVNode(bm,{modelValue:s.value[I.key],"onUpdate:modelValue":F=>s.value[I.key]=F,field:I,error:p.value[I.key]},null,8,["modelValue","onUpdate:modelValue","field","error"])]),_:2},1032,["label","description"]))),128))]),_:1},8,["fields"])]),_:1})):r.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(V,{key:1,class:"mock-data-sideslider__exception",scene:"part",type:"empty",title:"暂无输出结果"}))],64)):e.createCommentVNode("",!0)])),[[j,{loading:r.value}]])]),_:1},8,["is-show"])}}}),U2=je(Yoe,[["__scopeId","data-v-b08c551c"]]),Qoe={class:"mock-select-all-toolbar"},qoe=e.defineComponent({__name:"mock-select-all-toolbar",setup(t){const n=Fv(),o=e.computed(()=>!!n.simulateDebug?.isAllMockNodesSelected?.());return(a,l)=>(e.openBlock(),e.createElementBlock("span",Qoe,[e.createElementVNode("i",{class:e.normalizeClass(["mock-select-all-toolbar__icon","bkflow-canvas-icon","bkflow-canvas-batch-checked",{"is-checked":o.value}]),"aria-hidden":"true"},null,2)]))}}),W2=je(qoe,[["__scopeId","data-v-4f66d077"]]),Koe={key:0,class:"operate-area"},$oe={key:0,class:"operate-btns"},Zoe={class:"flow-view-page-content"},Xoe={key:1,class:"flow-view-thumbnail"},Joe=e.defineComponent({__name:"view",props:{flowId:{},apiConfig:{},permissions:{default:()=>({canEdit:!0,canExecute:!0})},onEdit:{},onBack:{},thumbnail:{type:Boolean,default:!1},enableVersion:{type:Boolean,default:!1},flowVersion:{},showHeaderActions:{type:Boolean,default:!0},defaultZoom:{default:1},bkflowSaasUrl:{},onExecuteSuccess:{},memberSelectorConfig:{},enableDebug:{type:Boolean,default:!1},onMockDebugCreated:{},hideTrigger:{type:Boolean,default:!1}},emits:["edit","back","mockDebugCreated"],setup(t,{expose:n,emit:o}){const a=e.useSlots(),l=t,r=e.computed(()=>({canEdit:!0,canExecute:!0,...l.permissions})),i=il(l.apiConfig);Jr(l.memberSelectorConfig);const s=o;Kl({},l.bkflowSaasUrl);const c=e.shallowRef(!1),f=e.shallowRef(null),p=e.shallowRef(!0),h=e.shallowRef({}),g=e.shallowRef(!0),m=e.shallowRef([]),v=e.shallowRef(!1),w=e.ref(),y=e.ref(!1),x=lk(),B=e.computed(()=>x.stage.value!=="edit"),k=e.computed(()=>x.stage.value==="mock-config"?"mock-config":"view"),b={stage:x.stage,isMockSelected:x.isMockSelected,toggleMockSelected:x.toggleMockSelected,hasMockConfig:x.hasMockConfig,isAllMockNodesSelected:()=>C.value},A=e.computed(()=>ok(f.value?.pipeline_tree??null)),C=e.computed(()=>x.isAllMockNodesSelected(A.value)),_=e.computed(()=>{const{mockData:Ae}=x.buildRunnableSelection(A.value);return Object.keys(Ae).length>0}),V=e.computed(()=>{if(_.value)return"";const{selectedIds:Ae}=x.buildRunnableSelection(A.value);return Ae.length===0?"请先勾选需要模拟调试的节点":"请先为已勾选节点设置 Mock 数据"}),S=e.computed(()=>[{id:"mock-select-all",type:"custom",component:W2,description:"全选",group:"tools",order:19,visible:()=>x.stage.value==="mock-config",active:()=>C.value,onClick:()=>x.toggleSelectAllMockNodes(A.value)}]),N=e.computed(()=>{const Ae=x.activeConfigNodeId.value;return Ae?f.value?.pipeline_tree.activities[Ae]??null:null}),D=e.computed(()=>{const Ae=x.activeConfigNodeId.value;return Ae?x.mockConfigs.value[Ae]:void 0});e.onMounted(()=>{H(),j(),I()}),e.watch(()=>[l.flowId,l.flowVersion],([Ae,Ne],[Ve,De])=>{(Ae!==Ve||Ne!==De)&&(x.reset(),y.value=!1,H(),j(),I())});const H=async()=>{p.value=!0;try{let Ae=await i.fetchFlowDetail(String(l.flowId));if(l.enableVersion)if(l.flowVersion){const Ne=await i.fetchFlowDetailByVersion(String(l.flowId),l.flowVersion);Ae={...Ae,name:Ne.name,pipeline_tree:Ne.pipeline_tree}}else{const Ne=await i.fetchFlowDraftDetail(String(l.flowId));Ae={...Ae,pipeline_tree:Ne.pipeline_tree}}f.value=Ae}catch(Ae){console.error(Ae)}finally{p.value=!1}},j=async()=>{g.value=!0;try{const Ae=await i.fetchSpaceFlowConfig(String(l.flowId));h.value=Ae}catch(Ae){console.error(Ae)}finally{g.value=!1}},I=async()=>{v.value=!0;try{const Ae=await i.fetchSystemVariables(String(l.flowId));m.value=Ae}catch(Ae){console.error(Ae)}finally{v.value=!1}},F=()=>{typeof l.onBack=="function"?l.onBack():s("back")},z=()=>{r.value.canEdit&&(typeof l.onEdit=="function"?l.onEdit():s("edit"))},L=()=>{r.value.canExecute&&(c.value=!0)},O=Ae=>{typeof l.onExecuteSuccess=="function"&&l.onExecuteSuccess(Ae)};n({zoomToFit:Ae=>{w.value?.zoomToFit?.(Ae)},centerContent:()=>{w.value?.centerContent?.()},getZoom:()=>w.value?.getZoom?.()??1});const Z=()=>String(window.USERNAME??""),W=(Ae,Ne)=>{const Ve={taskId:Ae,templateId:Ne};l.onMockDebugCreated&&l.onMockDebugCreated(Ve),s("mockDebugCreated",Ve)},q=Ae=>{sn.Message({theme:"error",message:Ae.message}),Ae.ids.length>0&&w.value?.locateNode?.(Ae.ids[0])},ee=()=>{if(!f.value)return;const Ae=el(f.value.pipeline_tree),Ne=ak(f.value.pipeline_tree);if(!Ae.valid||Ne.length>0){q(Ae.valid?{message:"流程中存在未配置节点,请配置后再模拟调试",ids:Ne}:Ae);return}x.enterConfig(A.value)},he=()=>{_.value&&(y.value=!0)},te=()=>{y.value=!1},ne=Ae=>{x.openConfigNode(Ae.id)},Ce=Ae=>{x.saveMockConfig(Ae),x.closeConfigNode()},oe=Ae=>{Ae||x.closeConfigNode()},le=()=>{y.value=!1,x.reset()},ke=async Ae=>{if(!f.value)return;const{selectedIds:Ne,mockNodeIds:Ve,mockData:De}=x.buildRunnableSelection(A.value);if(Ne.length<1){sn.Message({theme:"warning",message:"请至少选择一个可模拟调试节点"});return}if(!i.createMockDebugTask||!i.executeFlowTask){sn.Message({theme:"warning",message:"模拟调试接口未配置"});return}try{const qe=tk(f.value.pipeline_tree,Ne,Ae.variablesValue),Te=await i.createMockDebugTask({template_id:f.value.id,name:Ae.name,pipeline_tree:qe,mock_data:{nodes:Ve,outputs:De,mock_data_ids:{}},creator:Z()}),Ee=Te.data.id,tt=Te.data.template_id;await i.executeFlowTask({task_id:Ee,resource_type:"TASK",resource_id:Ee,permission_type:"OPERATE"}),x.reset(),W(Ee,tt)}catch(qe){throw console.error(qe),sn.Message({theme:"error",message:"创建或启动模拟调试任务失败"}),qe}};return(Ae,Ne)=>{const Ve=e.resolveComponent("bk-button"),De=e.resolveDirective("bk-tooltips"),qe=e.resolveDirective("bkloading");return l.thumbnail?e.withDirectives((e.openBlock(),e.createElementBlock("div",Xoe,[f.value?(e.openBlock(),e.createBlock(zc,{key:0,mode:"view","flow-id":t.flowId,"pipeline-tree":f.value.pipeline_tree,"system-variables":m.value,thumbnail:!0,"default-zoom":l.defaultZoom},{inputParams:e.withCtx(Te=>[e.renderSlot(Ae.$slots,"inputParams",e.normalizeProps(e.guardReactiveProps(Te)),void 0,!0)]),_:3},8,["flow-id","pipeline-tree","system-variables","default-zoom"])):e.createCommentVNode("",!0)])),[[qe,{loading:p.value||g.value,zIndex:100}]]):(e.openBlock(),e.createBlock(hi,{key:0,title:"查看流程",desc:f.value?.name,"show-back-icon":!0,onBack:F},e.createSlots({extend:e.withCtx(()=>[f.value?(e.openBlock(),e.createElementBlock("div",Koe,[e.createVNode(bd,{editable:!1,"flow-data":f.value,"system-variables":m.value,"fetch-user-api":e.unref(i).fetchUserApi,"enable-simulate-debug":l.enableDebug,"simulate-debug-active":B.value,"simulate-debug-only":B.value,"hide-trigger":l.hideTrigger,onSimulateDebug:ee},null,8,["flow-data","system-variables","fetch-user-api","enable-simulate-debug","simulate-debug-active","simulate-debug-only","hide-trigger"]),t.showHeaderActions?(e.openBlock(),e.createElementBlock("div",$oe,[B.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.withDirectives((e.openBlock(),e.createBlock(Ve,{theme:"primary",disabled:!_.value,onClick:he},{default:e.withCtx(()=>[...Ne[2]||(Ne[2]=[e.createTextVNode(" 执行 ",-1)])]),_:1},8,["disabled"])),[[De,{content:V.value,disabled:!V.value}]]),e.createVNode(Ve,{onClick:le},{default:e.withCtx(()=>[...Ne[3]||(Ne[3]=[e.createTextVNode("退出模拟调试",-1)])]),_:1})],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(Ve,{theme:"primary",disabled:!r.value.canEdit,onClick:z},{default:e.withCtx(()=>[...Ne[4]||(Ne[4]=[e.createTextVNode("编辑",-1)])]),_:1},8,["disabled"]),e.createVNode(Ve,{disabled:!r.value.canExecute,onClick:L},{default:e.withCtx(()=>[...Ne[5]||(Ne[5]=[e.createTextVNode("执行流程",-1)])]),_:1},8,["disabled"])],64))])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",Zoe,[f.value?(e.openBlock(),e.createBlock(zc,{key:0,ref_key:"flowCanvasRef",ref:w,mode:k.value,"flow-id":t.flowId,"pipeline-tree":f.value.pipeline_tree,"system-variables":m.value,thumbnail:l.thumbnail,"default-zoom":l.defaultZoom,"toolbar-items":S.value,"simulate-debug-context":b,onMockNodeClick:ne},{inputParams:e.withCtx(Te=>[e.renderSlot(Ae.$slots,"inputParams",e.normalizeProps(e.guardReactiveProps(Te)),void 0,!0)]),_:3},8,["mode","flow-id","pipeline-tree","system-variables","thumbnail","default-zoom","toolbar-items"])):e.createCommentVNode("",!0)])),[[qe,{loading:p.value||g.value,zIndex:100}]]),f.value?(e.openBlock(),e.createBlock(Ad,{key:0,"flow-id":t.flowId,show:c.value,"api-config":l.apiConfig,"bkflow-saas-url":l.bkflowSaasUrl,"member-selector-config":l.memberSelectorConfig,onClose:Ne[0]||(Ne[0]=Te=>c.value=!1),onConfirm:O},e.createSlots({_:2},[e.unref(a).customFormContent?{name:"customFormContent",fn:e.withCtx(Te=>[e.renderSlot(Ae.$slots,"customFormContent",e.normalizeProps(e.guardReactiveProps(Te)),void 0,!0)]),key:"0"}:void 0]),1032,["flow-id","show","api-config","bkflow-saas-url","member-selector-config"])):e.createCommentVNode("",!0),f.value?(e.openBlock(),e.createBlock(vi,{key:1,"flow-id":t.flowId,show:y.value,"api-config":l.apiConfig,"bkflow-saas-url":l.bkflowSaasUrl,"enable-version":!1,"flow-version":l.flowVersion,"on-confirm":ke,"use-custom-confirm":!0,onClose:te,"onUpdate:show":Ne[1]||(Ne[1]=Te=>y.value=Te)},{"custom-form-content":e.withCtx(Te=>[e.renderSlot(Ae.$slots,"debugCustomFormContent",e.normalizeProps(e.guardReactiveProps(Te)),void 0,!0)]),_:3},8,["flow-id","show","api-config","bkflow-saas-url","flow-version"])):e.createCommentVNode("",!0),f.value?(e.openBlock(),e.createBlock(U2,{key:2,show:!!N.value,node:N.value,constants:f.value.pipeline_tree.constants,config:D.value,onSave:Ce,onCancel:e.unref(x).closeConfigNode,"onUpdate:show":oe},null,8,["show","node","constants","config","onCancel"])):e.createCommentVNode("",!0)]),_:2},[e.unref(a).header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(Ae.$slots,"header",{},void 0,!0)]),key:"0"}:void 0]),1032,["desc"]))}}}),G2=je(Joe,[["__scopeId","data-v-82600d34"]]),eae=Object.freeze(Object.defineProperty({__proto__:null,default:G2},Symbol.toStringTag,{value:"Module"})),tae={key:0,class:"operate-area"},nae={class:"flow-actions"},oae={class:"operate-btns"},aae={class:"flow-edit-page-content"},lae=e.defineComponent({__name:"edit",props:{flowId:{},apiConfig:{},permissions:{default:()=>({canSave:!0})},enableDebug:{type:Boolean,default:!1},onDebugConfirm:{},useCustomDebugConfirm:{type:Boolean,default:!1},selectPanelConfig:{},memberSelectorConfig:{},filterVariableConfig:{},onSave:{},onSaveSuccess:{},onBack:{},onExitEdit:{},onBeforeLeave:{},onMockDebugCreated:{},enableVersion:{type:Boolean,default:!1},flowVersion:{},defaultZoom:{default:1},bkflowSaasUrl:{},enableThirdPlugin:{type:Boolean,default:!0},quickAdd:{default:void 0},hideTrigger:{type:Boolean,default:!1}},emits:["save","saveSuccess","back","exitEdit","debugBeforeClose","mockDebugCreated","createVariable"],setup(t,{expose:n,emit:o}){const a=t,l={...a.apiConfig,enableThirdPlugin:a.enableThirdPlugin},r=il(l);km(a.selectPanelConfig||{}),Jr(a.memberSelectorConfig),Gc(a.filterVariableConfig);const i=o;Kl({},a.bkflowSaasUrl);const s=e.shallowRef(null),c=e.shallowRef(!0),f=e.ref(),p=e.ref(),h=e.shallowRef(!0),g=e.shallowRef({}),m=e.shallowRef(!1),v=e.shallowRef([]),w=e.shallowRef(!1),y=e.shallowRef([]),x=e.shallowRef(!1),B=e.shallowRef(!1),k=e.ref(!1),b=e.ref(!1),A=lk(),C=e.computed(()=>String(a.flowId)),_=R=>{i("createVariable",{keyword:R.keyword,cursorIndex:R.cursorIndex,defaultCustomType:R.defaultCustomType}),f.value?.openGlobalVariableCreate(R)};gt.provideVariableInputCreateVariable(_);const V=(R={})=>f.value?.openGlobalVariableCreate(R)??!1,S=e.computed(()=>c.value||w.value||h.value),N=e.computed(()=>A.stage.value==="mock-config"?"mock-config":"edit"),D={stage:A.stage,isMockSelected:A.isMockSelected,toggleMockSelected:A.toggleMockSelected,hasMockConfig:A.hasMockConfig,isAllMockNodesSelected:()=>j.value},H=e.computed(()=>ok(s.value?.pipeline_tree??null)),j=e.computed(()=>A.isAllMockNodesSelected(H.value)),I=e.computed(()=>{const{mockData:R}=A.buildRunnableSelection(H.value);return Object.keys(R).length>0}),F=e.computed(()=>{if(I.value)return"";const{selectedIds:R}=A.buildRunnableSelection(H.value);return R.length===0?"请先勾选需要模拟调试的节点":"请先为已勾选节点设置 Mock 数据"}),z=e.computed(()=>[{id:"mock-select-all",type:"custom",component:W2,description:"全选",group:"tools",order:19,visible:()=>A.stage.value==="mock-config",active:()=>j.value,onClick:()=>A.toggleSelectAllMockNodes(H.value)}]),L=e.computed(()=>s.value?.pipeline_tree),O=e.computed(()=>{const R=A.activeConfigNodeId.value;return R?s.value?.pipeline_tree.activities[R]??null:null}),M=e.computed(()=>{const R=A.activeConfigNodeId.value;return R?A.mockConfigs.value[R]:void 0}),G=()=>String(window.USERNAME??""),Y=(R,P)=>{const J={taskId:R,templateId:P};a.onMockDebugCreated&&a.onMockDebugCreated(J),i("mockDebugCreated",J)};e.onMounted(()=>{Z(),W(),q(),ee()}),e.watch(()=>[a.flowId,a.flowVersion],([R,P],[J,$])=>{(R!==J||P!==$)&&(B.value=!1,A.reset(),Z(),W(),q(),ee())});const Z=async()=>{c.value=!0;try{let R=await r.fetchFlowDetail(C.value);if(a.enableVersion)if(a.flowVersion){const P=await r.fetchFlowDetailByVersion(C.value,a.flowVersion);R={...R,name:P.name,pipeline_tree:P.pipeline_tree}}else{const P=await r.fetchFlowDraftDetail(C.value);R={...R,pipeline_tree:P.pipeline_tree}}s.value=R}catch(R){console.error(R)}finally{c.value=!1}},W=async()=>{h.value=!0;try{const R=await r.fetchSpaceFlowConfig(C.value);g.value=R}catch(R){console.error(R)}finally{h.value=!1}},q=async()=>{x.value=!0;try{const R=await r.fetchSystemVariables(C.value);y.value=R}catch(R){console.error(R)}finally{x.value=!1}},ee=async()=>{w.value=!0;try{const R=await r.fetchAllPluginGroups();v.value=R}catch(R){console.error(R)}finally{w.value=!1}},he=()=>{a.onBack?a.onBack():i("back")},te=()=>{a.onExitEdit?a.onExitEdit():i("exitEdit")},ne=()=>{f.value?.openBasicSetting()},Ce=R=>{s.value=R,B.value=!0},oe=R=>{s.value&&(s.value={...s.value,pipeline_tree:{...s.value.pipeline_tree,constants:R}}),B.value=!0,p.value?.updateGlobalVariables(R)},le=R=>{p.value?.updateOutputs(R)},ke=R=>{s.value={...s.value,pipeline_tree:R},B.value=!0},Ae=async()=>{if(!s.value||!r.drawPipeline)return;const R=s.value.pipeline_tree,P=el(R);if(!P.valid){sn.Message({theme:"warning",message:P.message});return}const J=p.value?.getCanvasWidth?.()??document.documentElement.offsetWidth-200;try{p.value?.setFormatLoading?.(!0);const $=await r.drawPipeline({pipeline_tree:R,canvas_width:J,activity_size:[240,48],event_size:[88,40],gateway_size:[64,64],start:[20,150]}),fe=p.value?.updatePipelineTree?.($.pipeline_tree);s.value={...s.value,pipeline_tree:fe??$.pipeline_tree},B.value=!0,sn.Message({theme:"success",message:"排版完成"})}catch($){console.error($)}finally{p.value?.setFormatLoading?.(!1)}},Ne=R=>{p.value&&p.value.updateNodeInputParams?.(R)},Ve=R=>{sn.Message({theme:"error",message:R.message}),R.ids.length>0&&p.value?.locateNode?.(R.ids[0])},De=async()=>{if(!s.value)return;const R=el(s.value.pipeline_tree),P=ak(s.value.pipeline_tree);if(!R.valid||P.length>0){Ve(R.valid?{message:"流程中存在未配置节点,请配置后再模拟调试",ids:P}:R);return}if(B.value){if(!a.permissions.canSave){sn.Message({theme:"warning",message:"您没有保存权限,无法在未保存的情况下进行模拟调试"});return}return new Promise(J=>{qn.InfoBox({title:"确认进入模拟调试?",content:"流程已修改,进入模拟调试前需要先保存流程。是否保存并继续?",confirmText:"保存并继续",cancelText:"取消",width:400,headerAlign:"center",footerAlign:"center",onConfirm:async()=>{try{await Be({throwOnError:!0,silent:!0})&&A.enterConfig(H.value)}catch($){console.error("保存失败:",$),sn.Message({theme:"error",message:"保存失败,请重试"})}finally{J()}},onCancel:()=>{J()}})})}A.enterConfig(H.value)},qe=()=>{I.value&&(b.value=!0)},Te=async R=>{if(!s.value)return;const{selectedIds:P,mockNodeIds:J,mockData:$}=A.buildRunnableSelection(H.value);if(P.length<1){sn.Message({theme:"warning",message:"请至少选择一个可模拟调试节点"});return}if(!r.createMockDebugTask||!r.executeFlowTask){sn.Message({theme:"warning",message:"模拟调试接口未配置"});return}try{const fe=tk(s.value.pipeline_tree,P,R.variablesValue),pe=await r.createMockDebugTask({template_id:s.value.id,name:R.name,pipeline_tree:fe,mock_data:{nodes:J,outputs:$,mock_data_ids:{}},creator:G()}),Oe=pe.data.id,Ke=pe.data.template_id;await r.executeFlowTask({task_id:Oe,resource_type:"TASK",resource_id:Oe,permission_type:"OPERATE"}),A.reset(),Y(Oe,Ke)}catch(fe){throw console.error(fe),sn.Message({theme:"error",message:"创建或启动模拟调试任务失败"}),fe}},Ee=(R,P)=>{Y(R,P)},tt=()=>{b.value=!1},ie=R=>{A.openConfigNode(R.id)},ce=R=>{A.saveMockConfig(R),A.closeConfigNode()},Pe=R=>{R||A.closeConfigNode()},ot=()=>{b.value=!1,A.reset()},at=()=>{i("debugBeforeClose")},vt=()=>{k.value=!1},rt=()=>{if(!a.permissions.canSave)return;const R=el(s.value?.pipeline_tree);R.valid?Be():Ve(R)},Be=async(R={})=>{const{name:P,desc:J,notify_config:$,pipeline_tree:fe,triggers:pe}=s.value,Oe={name:P,desc:J,notify_config:$,pipeline_tree:fe,triggers:pe};try{return m.value=!0,await r.saveFlow(C.value,Oe),B.value=!1,sn.Message({theme:"success",message:"保存成功"}),R.silent||(a.onSave&&a.onSave(s.value),a.onSaveSuccess&&a.onSaveSuccess(),i("save",s.value),i("saveSuccess")),!0}catch(Ke){if(console.error(Ke),R.throwOnError)throw Ke;return!1}finally{m.value=!1}},Se=()=>{f.value?.openGlobalVariables()},Ie=R=>{p.value?.zoomToFit?.(R)},se=()=>{p.value?.centerContent?.()},de=()=>p.value?.getZoom?.()??1,ue={isFlowEdited:e.computed(()=>B.value),updateNodeInputParams:Ne,openGlobalVariables:Se,openGlobalVariableCreate:V,zoomToFit:Ie,centerContent:se,getZoom:de};return n(ue),(R,P)=>{const J=e.resolveComponent("bk-button"),$=e.resolveDirective("bk-tooltips"),fe=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(hi,{title:"编辑流程",desc:s.value?.name,"show-back-icon":!0,"show-edit-icon":!0,onBack:he,onEdit:ne},{header:e.withCtx(()=>[e.renderSlot(R.$slots,"header",{},void 0,!0)]),extend:e.withCtx(()=>[s.value?(e.openBlock(),e.createElementBlock("div",tae,[e.createElementVNode("div",nae,[e.createVNode(bd,{ref_key:"flowInfoSlidersRef",ref:f,"flow-data":s.value,"system-variables":y.value,"fetch-user-api":e.unref(r).fetchUserApi,"enable-simulate-debug":a.enableDebug,"simulate-debug-active":e.unref(A).stage.value!=="edit","simulate-debug-only":e.unref(A).stage.value!=="edit","hide-trigger":a.hideTrigger,onChange:Ce,onUpdateConstants:oe,onUpdateOutputs:le,onSimulateDebug:De},null,8,["flow-data","system-variables","fetch-user-api","enable-simulate-debug","simulate-debug-active","simulate-debug-only","hide-trigger"]),e.createElementVNode("div",oae,[e.unref(A).stage.value==="edit"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(J,{theme:"primary",disabled:!t.permissions.canSave,loading:m.value,onClick:rt},{default:e.withCtx(()=>[...P[2]||(P[2]=[e.createTextVNode(" 保存 ",-1)])]),_:1},8,["disabled","loading"]),e.createVNode(J,{onClick:te},{default:e.withCtx(()=>[...P[3]||(P[3]=[e.createTextVNode("退出编辑",-1)])]),_:1})],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.withDirectives((e.openBlock(),e.createBlock(J,{theme:"primary",disabled:!I.value,onClick:qe},{default:e.withCtx(()=>[...P[4]||(P[4]=[e.createTextVNode(" 执行 ",-1)])]),_:1},8,["disabled"])),[[$,{content:F.value,disabled:!F.value}]]),e.createVNode(J,{onClick:ot},{default:e.withCtx(()=>[...P[5]||(P[5]=[e.createTextVNode("退出模拟调试",-1)])]),_:1})],64))])])])):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",aae,[!S.value&&s.value?(e.openBlock(),e.createBlock(zc,{key:0,ref_key:"flowCanvasRef",ref:p,mode:N.value,"flow-id":C.value,"pipeline-tree":L.value,"plugin-group-list":v.value,"system-variables":y.value,"default-zoom":a.defaultZoom,"quick-add":a.quickAdd,"toolbar-items":z.value,"simulate-debug-context":D,onChange:ke,onMockNodeClick:ie,onFormatPosition:Ae},{inputParams:e.withCtx(pe=>[e.renderSlot(R.$slots,"inputParams",e.normalizeProps(e.guardReactiveProps({...pe,updateNodeInputParams:Ne})),void 0,!0)]),_:3},8,["mode","flow-id","pipeline-tree","plugin-group-list","system-variables","default-zoom","quick-add","toolbar-items"])):e.createCommentVNode("",!0)])),[[fe,{loading:S.value,zIndex:100}]]),s.value?(e.openBlock(),e.createBlock(vi,{key:0,"flow-id":C.value,show:k.value,"api-config":a.apiConfig,"bkflow-saas-url":a.bkflowSaasUrl,"enable-version":a.enableVersion,"flow-version":a.flowVersion,"on-confirm":a.onDebugConfirm,"use-custom-confirm":a.useCustomDebugConfirm,"on-execute-success":Ee,onClose:vt,"onUpdate:show":P[0]||(P[0]=pe=>k.value=pe),onBeforeClose:at},{"custom-form-content":e.withCtx(pe=>[e.renderSlot(R.$slots,"debugCustomFormContent",e.normalizeProps(e.guardReactiveProps(pe)),void 0,!0)]),_:3},8,["flow-id","show","api-config","bkflow-saas-url","enable-version","flow-version","on-confirm","use-custom-confirm"])):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createBlock(vi,{key:1,"flow-id":C.value,show:b.value,"api-config":a.apiConfig,"bkflow-saas-url":a.bkflowSaasUrl,"enable-version":!1,"flow-version":a.flowVersion,"on-confirm":Te,"use-custom-confirm":!0,onClose:tt,"onUpdate:show":P[1]||(P[1]=pe=>b.value=pe)},{"custom-form-content":e.withCtx(pe=>[e.renderSlot(R.$slots,"debugCustomFormContent",e.normalizeProps(e.guardReactiveProps(pe)),void 0,!0)]),_:3},8,["flow-id","show","api-config","bkflow-saas-url","flow-version"])):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createBlock(U2,{key:2,show:!!O.value,node:O.value,constants:s.value.pipeline_tree.constants,config:M.value,onSave:ce,onCancel:e.unref(A).closeConfigNode,"onUpdate:show":Pe},null,8,["show","node","constants","config","onCancel"])):e.createCommentVNode("",!0)]),_:3},8,["desc"])}}}),Y2=je(lae,[["__scopeId","data-v-f3bb51df"]]),rae=Object.freeze(Object.defineProperty({__proto__:null,default:Y2},Symbol.toStringTag,{value:"Module"})),kp="#48A397",sae=.82,iae=.94,Iw={FAILED:"#FA4E41",SUSPENDED:"#F59500",REVOKED:"#FA4E41",SKIP:"#C4C6CC"},Ow=t=>{const n=t&&t.status in Iw?Iw[t.status]:void 0;return n?{strokeColor:{type:"linearGradient",stops:[{offset:0,color:kp},{offset:sae,color:kp},{offset:iae,color:n},{offset:1,color:n}]},targetMarkerColor:n}:{strokeColor:kp}};function uae(t,n){if(!n)return;const o=n[t.source.nodeId];if(!o||o.status!=="FINISHED")return;const a=o.selectedFlowIds;if(a&&a.length>0)return a.includes(t.id)?Ow(n[t.target.nodeId]):void 0;const l=n[t.target.nodeId];if(l)return Ow(l)}function Ed(t){return{name:"execution-status",priority:100,decorateEdge(n){return uae(n,t.value)}}}const cae={ExclusiveGateway:"exclusive-gateway",ParallelGateway:"parallel-gateway",ConditionalParallelGateway:"conditional-parallel-gateway",ConvergeGateway:"converge-gateway"};function Kv(t,n){if(!n||Object.keys(n).length===0)return t;const o={...t.activities};for(const[i,s]of Object.entries(n)){const c=o[i];if(!c)continue;const f={...c,status:s.status};s.retry!==void 0&&(f.retry=s.retry),s.skip!==void 0&&(f.skip=s.skip),(s.errorIgnored??s.error_ignored)!==void 0&&(f.error_ignored=s.errorIgnored??s.error_ignored),s.loop!==void 0&&(f.loop=s.loop),s.phase!==void 0&&(f.phase=s.phase),o[i]=f}const a={...t.gateways};for(const[i,s]of Object.entries(n))a[i]&&(a[i]={...a[i],status:s.status});const l=t.start_event&&n[t.start_event.id]?{...t.start_event,status:n[t.start_event.id].status}:t.start_event,r=t.end_event&&n[t.end_event.id]?{...t.end_event,status:n[t.end_event.id].status}:t.end_event;return{...t,activities:o,gateways:a,start_event:l,end_event:r}}function dae(t,n){if(!t)return"";if(t.activities?.[n])return"task";const o=t.gateways?.[n];return o?cae[o.type]??"":t.start_event?.id===n?"start-event":t.end_event?.id===n?"end-event":""}function fae(t,n,o){const a=t?.[o];if(!a)return;const l=n?.activities?.[o];return l?{...a,taskState:a.taskState??a.task_state,retryable:a.retryable??l.retryable,skippable:a.skippable??l.skippable,errorIgnorable:a.errorIgnorable??a.error_ignorable??l.error_ignorable,hasAdminPerm:a.hasAdminPerm??a.has_admin_perm,errorIgnored:a.errorIgnored??a.error_ignored,nodeCode:a.nodeCode??a.code??l.component?.code,actions:a.actions??a.action_list}:{...a,taskState:a.taskState??a.task_state,nodeCode:a.nodeCode??a.code,errorIgnorable:a.errorIgnorable??a.error_ignorable,hasAdminPerm:a.hasAdminPerm??a.has_admin_perm,errorIgnored:a.errorIgnored??a.error_ignored,actions:a.actions??a.action_list}}function Q2(t,n){if(!t)return[];const o=gae(t);return o.taskState==="REVOKED"||o.status==="REVOKED"?[]:o.actions&&o.actions.length>0?o.actions:n==="task"?pae(o):vae(n)?mae(o):[]}function pae(t){const n=[];if(t.status==="FAILED")return(t.retryable||t.errorIgnorable)&&n.push("retry"),(t.skippable||t.errorIgnorable)&&n.push("skip"),n;if(t.status==="RUNNING"){const o=t.nodeCode;return o==="pause_node"?(n.push("resume"),n):o==="bk_approve"?(n.push("approve"),n):(n.push("forceFail"),n)}return n}function mae(t){return t.status==="FAILED"?["gatewaySkip"]:[]}function vae(t){return t==="exclusive-gateway"||t==="parallel-gateway"||t==="conditional-parallel-gateway"}function gae(t){return{...t,taskState:t.taskState??t.task_state,nodeCode:t.nodeCode??t.code,errorIgnorable:t.errorIgnorable??t.error_ignorable,hasAdminPerm:t.hasAdminPerm??t.has_admin_perm,errorIgnored:t.errorIgnored??t.error_ignored,actions:t.actions??t.action_list}}const hae=150;function q2(t){const n=e.reactive({visible:!1,nodeId:"",actions:[],position:{x:0,y:0}});let o=null;function a(){o&&(clearTimeout(o),o=null)}function l(){a(),o=setTimeout(()=>{n.visible=!1,o=null},hae)}function r(){a(),n.visible=!1}function i(p){const h=t.getPipelineTree(),g=fae(t.getNodeStates(),h,p);if(!g){r();return}const m=dae(h,p),v=Q2(g,m);if(v.length===0){r();return}const w=t.getNodeViewportRect(p);if(!w){r();return}a(),n.nodeId=p,n.actions=v,n.position={x:w.x+w.width,y:w.y+w.height},n.visible=!0}function s(){a()}function c(){l()}function f(p){if(p.type==="node.mouseenter"){i(p.nodeId);return}if(p.type==="node.mouseleave"){p.nodeId===n.nodeId&&l();return}p.type==="blank.click"&&r()}return e.onBeforeUnmount(()=>{a()}),{actionPopover:n,openActionPopover:i,closeActionPopover:r,handlePopoverEnter:s,handlePopoverLeave:c,handleUiEvent:f}}const bae={class:"execution-action-popover__actions"},yae={key:0,class:"execution-action-popover__divider","aria-hidden":"true"},wae=["title","onClick","onKeydown"],kae={class:"execution-action-popover__label"},Cae=e.defineComponent({__name:"index",props:{visible:{type:Boolean},nodeId:{},actions:{},position:{}},emits:["popover-enter","popover-leave","action"],setup(t,{emit:n}){const o={retry:{label:"重试",icon:"bkflow-canvas-icon bkflow-canvas-retry"},skip:{label:"跳过",icon:"bkflow-canvas-icon bkflow-canvas-skip"},resume:{label:"继续",icon:"bkflow-canvas-icon bkflow-canvas-play"},approve:{label:"审批",icon:"bkflow-canvas-icon bkflow-canvas-circulation"},forceFail:{label:"强制终止",icon:"bkflow-canvas-icon bkflow-canvas-mandatory-failure"},gatewaySkip:{label:"跳过",icon:"bkflow-canvas-icon bkflow-canvas-skip"}},a=t,l=n,r=e.computed(()=>a.actions.map(p=>({key:p,...o[p]??{label:p,icon:""}}))),i=e.computed(()=>({left:`${a.position.x}px`,top:`${a.position.y+4}px`})),s=p=>{l("action",{nodeId:a.nodeId,action:p})},c=()=>{l("popover-enter")},f=()=>{l("popover-leave")};return(p,h)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[t.visible?(e.openBlock(),e.createElementBlock("div",{key:0,ref:"popoverRef",class:"execution-action-popover",style:e.normalizeStyle(i.value),onMouseenter:c,onMouseleave:f,onClick:h[0]||(h[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",bae,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(g,m)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:g.key},[m>0?(e.openBlock(),e.createElementBlock("span",yae)):e.createCommentVNode("",!0),e.createElementVNode("span",{class:"execution-action-popover__item",title:g.label,role:"button",tabindex:"0",onClick:v=>s(g.key),onKeydown:[e.withKeys(e.withModifiers(v=>s(g.key),["prevent"]),["enter"]),e.withKeys(e.withModifiers(v=>s(g.key),["prevent"]),["space"])]},[e.createElementVNode("i",{class:e.normalizeClass(["execution-action-popover__icon",g.icon])},null,2),e.createElementVNode("span",kae,e.toDisplayString(g.label),1)],40,wae)],64))),128))])],36)):e.createCommentVNode("",!0)]))}}),K2=je(Cae,[["__scopeId","data-v-868d8e66"]]),Aae={class:"flow-execute-page-content"},Eae=e.defineComponent({__name:"execute",props:{pipelineTree:{},nodeStates:{default:()=>({})},defaultZoom:{default:1},apiConfig:{},bkflowSaasUrl:{},showHeader:{type:Boolean,default:!0},onBack:{}},emits:["back","node-click","ui-event","execution-action","retry","skip","gatewaySkip","resume","approve","forceFail"],setup(t,{emit:n}){const o=e.useSlots(),a=t,l=n;il(a.apiConfig),Kl({},a.bkflowSaasUrl);const r=e.ref(),i=e.computed(()=>a.nodeStates??{}),s=e.shallowRef([Ed(i)]),c=e.computed(()=>a.pipelineTree?Kv(a.pipelineTree,a.nodeStates):null),{actionPopover:f,closeActionPopover:p,handlePopoverEnter:h,handlePopoverLeave:g,handleUiEvent:m}=q2({getNodeStates:()=>a.nodeStates,getPipelineTree:()=>c.value,getNodeViewportRect:B=>r.value?.editor?.api?.value?.overlay?.getNodeViewportRect?.(B)});function v(B){l("execution-action",B),l(B.action,B.nodeId),p()}const w=()=>{typeof a.onBack=="function"?a.onBack():l("back")},y=B=>{l("node-click",B)},x=B=>{l("ui-event",B),m(B)};return(B,k)=>{const b=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(hi,{title:"任务执行","show-back-icon":!0,"show-header":a.showHeader,onBack:w},e.createSlots({extend:e.withCtx(()=>[e.renderSlot(B.$slots,"extend",{},void 0,!0)]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",Aae,[c.value?(e.openBlock(),e.createBlock(wd,{key:0,ref_key:"canvasRef",ref:r,mode:"view","pipeline-tree":c.value,"default-zoom":a.defaultZoom,"additional-plugins":s.value,onNodeClick:y,onUiEvent:x},null,8,["pipeline-tree","default-zoom","additional-plugins"])):e.createCommentVNode("",!0)])),[[b,{loading:!a.pipelineTree}]]),e.createVNode(K2,{visible:e.unref(f).visible,"node-id":e.unref(f).nodeId,actions:e.unref(f).actions,position:e.unref(f).position,onPopoverEnter:e.unref(h),onPopoverLeave:e.unref(g),onAction:v},null,8,["visible","node-id","actions","position","onPopoverEnter","onPopoverLeave"])]),_:2},[e.unref(o).header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(B.$slots,"header",{},void 0,!0)]),key:"0"}:void 0]),1032,["show-header"])}}}),$2=je(Eae,[["__scopeId","data-v-d2ccd1b2"]]),Bae=Object.freeze(Object.defineProperty({__proto__:null,default:$2},Symbol.toStringTag,{value:"Module"})),xae=3,_ae=e.defineComponent({__name:"index",props:{size:{default:20},width:{default:""},dotSize:{default:4},color:{default:""}},setup(t){const n=t,o=l=>typeof l=="number"?`${l}px`:l,a=e.computed(()=>({"--bkflow-loading-dots-icon-width":n.width?o(n.width):o(n.size),"--bkflow-loading-dots-icon-size":o(n.size),"--bkflow-loading-dots-icon-dot-size":o(n.dotSize),color:n.color||void 0}));return(l,r)=>(e.openBlock(),e.createElementBlock("span",{class:"bkflow-loading-dots-icon",style:e.normalizeStyle(a.value),"aria-hidden":"true"},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(xae,i=>e.createElementVNode("span",{key:i,class:"bkflow-loading-dots-icon__dot"})),64))],4))}}),Vae=je(_ae,[["__scopeId","data-v-dd36d9ac"]]),Sae={class:"debug-status-bar__label"},Nae={class:"debug-status-bar__elapsed"},Dae={class:"debug-status-bar__failed-count"},Tae=e.defineComponent({__name:"index",props:{status:{default:"RUNNING"},startedAt:{default:void 0},elapsed:{default:void 0},failedCount:{default:0}},emits:["stop","locate-failed"],setup(t,{emit:n}){const o=t,a=n,l=e.ref(Date.now());let r;const i=e.computed(()=>o.status??"RUNNING"),s=e.computed(()=>({RUNNING:"正在调试",FINISHED:"调试成功",FAILED:"调试失败"})[i.value]),c=e.computed(()=>({RUNNING:"",FINISHED:"bkflow-canvas-dark-circle-checkbox",FAILED:"bkflow-canvas-dark-circle-close"})[i.value]),f=e.computed(()=>i.value!=="RUNNING"&&o.elapsed!=null?o.elapsed:o.startedAt?Math.max(0,Math.floor((l.value-o.startedAt)/1e3)):0),p=e.computed(()=>{const m=f.value,v=Math.floor(m/3600),w=Math.floor(m%3600/60),y=m%60,x=String(w).padStart(2,"0"),B=String(y).padStart(2,"0");return v>0?`${String(v).padStart(2,"0")}:${x}:${B}`:`${x}:${B}`}),h=()=>{g(),r=setInterval(()=>{l.value=Date.now()},1e3)},g=()=>{r&&(clearInterval(r),r=void 0)};return e.watch(i,m=>{m==="RUNNING"?h():g()},{immediate:!0}),e.onBeforeUnmount(()=>{g()}),(m,v)=>{const w=e.resolveComponent("bk-button"),y=e.resolveDirective("bk-tooltips");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["debug-status-bar",`is-${i.value.toLowerCase()}`])},[i.value==="RUNNING"?(e.openBlock(),e.createBlock(fi,{key:0,class:"debug-status-bar__icon",size:14})):(e.openBlock(),e.createElementBlock("i",{key:1,class:e.normalizeClass(["debug-status-bar__icon bkflow-canvas-icon",c.value])},null,2)),e.createElementVNode("span",Sae,e.toDisplayString(s.value),1),v[4]||(v[4]=e.createElementVNode("span",{class:"debug-status-bar__divider"},null,-1)),e.createElementVNode("span",Nae,e.toDisplayString(p.value),1),i.value==="RUNNING"?(e.openBlock(),e.createBlock(w,{key:2,text:"",class:"debug-status-bar__action debug-status-bar__action--stop",onClick:v[0]||(v[0]=x=>a("stop"))},{default:e.withCtx(()=>[...v[2]||(v[2]=[e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-zhongzhi debug-status-bar__action-icon"},null,-1),e.createTextVNode(" 终止调试 ",-1)])]),_:1})):e.createCommentVNode("",!0),i.value==="FAILED"&&o.failedCount>0?(e.openBlock(),e.createBlock(w,{key:3,text:"",class:"debug-status-bar__action debug-status-bar__action--locate",onClick:v[1]||(v[1]=x=>a("locate-failed"))},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("span",Dae,[e.createTextVNode(e.toDisplayString(o.failedCount),1)])),[[y,"定位错误"]]),v[3]||(v[3]=e.createTextVNode(" 个节点错误 ",-1))]),_:1})):e.createCommentVNode("",!0)],2)}}}),Iae=je(Tae,[["__scopeId","data-v-dfddc841"]]),Oae={key:0,class:"bkflow-segment-tabs__divider"},Mae=["onClick"],Pae={key:2,class:"bkflow-segment-tabs__label"},Lae={key:3,class:"bkflow-segment-tabs__count"},Mw=120,Rae=e.defineComponent({__name:"index",props:{modelValue:{},items:{},size:{default:"default"}},emits:["update:modelValue"],setup(t,{emit:n}){const o=t,a=n,l=e.ref(),r=e.ref(!1),i=e.ref(!1),s=()=>{const p=l.value;p&&(r.value=p.scrollLeft>1,i.value=p.scrollLeft+p.clientWidth<p.scrollWidth-1)},c=p=>{l.value?.scrollBy({left:p,behavior:"smooth"})};let f;return e.onMounted(()=>{e.nextTick(s),l.value&&(f=new ResizeObserver(s),f.observe(l.value))}),e.onBeforeUnmount(()=>{f?.disconnect()}),e.watch(()=>o.items,()=>e.nextTick(s)),(p,h)=>{const g=e.resolveDirective("bk-tooltips");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["bkflow-segment-tabs",{"is-small":o.size==="small"}])},[r.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"bkflow-segment-tabs__arrow is-left",onClick:h[0]||(h[0]=m=>c(-Mw))})):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"trackRef",ref:l,class:"bkflow-segment-tabs__track",onScroll:s},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.items,(m,v)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:m.value},[v>0?(e.openBlock(),e.createElementBlock("span",Oae)):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["bkflow-segment-tabs__item",{"is-active":m.value===o.modelValue}]),type:"button",onClick:w=>a("update:modelValue",m.value)},[m.iconComponent?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(m.iconComponent),{key:0,class:"bkflow-segment-tabs__icon",style:e.normalizeStyle(m.iconColor?{color:m.iconColor}:void 0)},null,8,["style"])):m.icon?(e.openBlock(),e.createElementBlock("i",{key:1,class:e.normalizeClass(["bkflow-segment-tabs__icon bkflow-canvas-icon",m.icon]),style:e.normalizeStyle(m.iconColor?{color:m.iconColor}:void 0)},null,6)):e.createCommentVNode("",!0),m.label?(e.openBlock(),e.createElementBlock("span",Pae,e.toDisplayString(m.label),1)):e.createCommentVNode("",!0),m.count!=null?(e.openBlock(),e.createElementBlock("span",Lae,e.toDisplayString(m.count),1)):e.createCommentVNode("",!0)],10,Mae)),[[g,{content:m.tooltip,disabled:!m.tooltip}]])],64))),128))],544),i.value?(e.openBlock(),e.createElementBlock("span",{key:1,class:"bkflow-segment-tabs__arrow is-right",onClick:h[1]||(h[1]=m=>c(Mw))})):e.createCommentVNode("",!0)],2)}}}),$v=je(Rae,[["__scopeId","data-v-00adf3a4"]]),Fae={class:"debug-node-list"},zae={key:0,class:"debug-node-list__items",role:"listbox"},jae=["aria-selected","onClick","onKeydown"],Hae=["title"],Uae={key:0,class:"debug-node-list__mock"},Wae={key:1,class:"debug-node-list__empty"},Gae=e.defineComponent({__name:"node-list",props:{nodes:{},modelValue:{default:""}},emits:["update:modelValue"],setup(t,{emit:n}){const o=t,a=n,l=e.ref(""),r=e.ref("ALL"),i=[{value:"ALL",label:"全部",icon:"",iconColor:""},{value:"FINISHED",icon:"bkflow-canvas-dark-circle-checkbox",iconColor:"#2dcb56"},{value:"FAILED",icon:"bkflow-canvas-circle-alert-filled",iconColor:"#ea3636"},{value:"RUNNING",iconComponent:fi,iconColor:"#3a84ff"},{value:"CREATED",icon:"bkflow-canvas-weizhixing",iconColor:"#c4c6cc"},{value:"SUSPENDED",icon:"bkflow-canvas-guaqi",iconColor:"#ff9c01"},{value:"REVOKED",icon:"bkflow-canvas-tiaoguo",iconColor:"#6e89af"}],s=e.computed(()=>{const g=l.value.trim().toLowerCase();return o.nodes.filter(m=>r.value==="ALL"||(m.status||"CREATED")===r.value?g?m.name.toLowerCase().includes(g)||m.id.toLowerCase().includes(g):!0:!1)}),c={FINISHED:"成功",FAILED:"失败",RUNNING:"执行中",SUSPENDED:"暂停",CREATED:"未执行",REVOKED:"已撤销"},f=e.computed(()=>l.value.trim()?"搜索结果为空":r.value!=="ALL"?`暂无${c[r.value]}状态节点`:"暂无节点"),p=()=>{l.value="",r.value="ALL"},h=e.computed(()=>i.map(g=>({...g,count:g.value==="ALL"?o.nodes.length:o.nodes.filter(m=>(m.status||"CREATED")===g.value).length})));return(g,m)=>{const v=e.resolveComponent("bk-input");return e.openBlock(),e.createElementBlock("aside",Fae,[e.createVNode(v,{modelValue:l.value,"onUpdate:modelValue":m[0]||(m[0]=w=>l.value=w),class:"debug-node-list__search",placeholder:"搜索节点名称",type:"search",clearable:""},null,8,["modelValue"]),e.createVNode($v,{modelValue:r.value,"onUpdate:modelValue":m[1]||(m[1]=w=>r.value=w),class:"debug-node-list__stats",items:h.value},null,8,["modelValue","items"]),s.value.length>0?(e.openBlock(),e.createElementBlock("div",zae,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,w=>(e.openBlock(),e.createElementBlock("div",{key:w.id,class:e.normalizeClass(["debug-node-list__item",{"is-active":w.id===o.modelValue}]),role:"option",tabindex:"0","aria-selected":w.id===o.modelValue,onClick:y=>a("update:modelValue",w.id),onKeydown:e.withKeys(e.withModifiers(y=>a("update:modelValue",w.id),["prevent"]),["enter","space"])},[e.createElementVNode("span",{class:e.normalizeClass(["debug-node-list__status",`is-${(w.status||"CREATED").toLowerCase()}`])},[w.status==="RUNNING"?(e.openBlock(),e.createBlock(fi,{key:0,size:12})):w.iconClass?(e.openBlock(),e.createElementBlock("i",{key:1,class:e.normalizeClass(w.iconClass)},null,2)):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:"debug-node-list__name",title:`${w.name} ${w.typeName||""}`},e.toDisplayString(w.name),9,Hae),w.hasMockConfig?(e.openBlock(),e.createElementBlock("span",Uae,"MOCK")):e.createCommentVNode("",!0)],42,jae))),128))])):(e.openBlock(),e.createElementBlock("div",Wae,[e.createVNode(fn,{"is-search":!1,title:f.value,onClear:p},null,8,["title"])]))])}}}),Yae=je(Gae,[["__scopeId","data-v-8864ef7f"]]),Go=t=>t&&typeof t=="object"&&!Array.isArray(t)?t:void 0,Qae=t=>{if(t==null)return!0;if(typeof t=="string")return t.trim()==="";if(Array.isArray(t))return t.length===0;const n=Go(t);return n?Object.keys(n).length===0:!1},Bd=t=>!!(t&&typeof t=="object"),ym=t=>{if(t==null)return"";if(typeof t=="string")return t;try{return JSON.stringify(t,null,2)}catch{return String(t)}},gi=t=>t==null||t===""?"--":typeof t=="boolean"?t?"true":"false":typeof t=="number"?String(t):typeof t=="string"?t:Array.isArray(t)?"[ ... ]":"{ ... }",qae=t=>{if(Array.isArray(t))return t.length>0?"[ ... ]":"[]";const n=Go(t);return n?Object.keys(n).length>0?"{ ... }":"{}":gi(t)},Kae=(t,n={})=>{const o=Go(t);return o?Object.entries(o).map(([a,l])=>({name:n[a]||a,key:a,value:l})):[]},Z2=(t,n={})=>{if(Array.isArray(t))return t.map((a,l)=>{const r=Go(a),i=String(r?.key??r?.id??l);return{name:n[i]||String(r?.name??r?.label??i),key:i,value:r&&"value"in r?r.value:a,preset:typeof r?.preset=="boolean"?r.preset:void 0}});const o=Go(t);return o?Object.entries(o).map(([a,l])=>({name:n[a]||a,key:a,value:Go(l)&&"value"in l?l.value:l})):[]},X2=(t,n)=>{if(n.length===0)return t;const o=new Map(n.map((a,l)=>[a,l]));return t.map((a,l)=>({row:a,index:l})).sort((a,l)=>{const r=o.get(a.row.key)??Number.MAX_SAFE_INTEGER,i=o.get(l.row.key)??Number.MAX_SAFE_INTEGER;return r===i?a.index-l.index:r-i}).map(({row:a})=>a)},J2=t=>{const n=t;return typeof n=="string"?n:ym(n)},$ae=t=>{if(typeof t!="number")return"--";if(t<1)return"小于 1 秒";if(t<60)return`${t} 秒`;const n=Math.floor(t/60),o=t%60;return o>0?`${n} 分 ${o} 秒`:`${n} 分`},eA=Symbol("shared-node-detail"),Zae=t=>typeof t=="string"?t:t instanceof Error?t.message:"加载失败",Xae=(t,n)=>`${t??""}_${n??""}`;function Jae(t){const n=xn(),o=e.ref(!1),a=e.ref(""),l=e.shallowRef(),r=new Map;let i=0;const s=async()=>{const f=t.taskId(),p=t.nodeId(),h=++i;if(!f||!p){o.value=!1,a.value="",l.value=void 0;return}const g=Xae(f,p),m=r.get(g);if(m){o.value=!1,a.value="",l.value=m;return}if(!n.fetchTaskNodeDetail){o.value=!1,a.value="节点执行详情接口未配置",l.value=void 0;return}o.value=!0,a.value="";try{const v=await n.fetchTaskNodeDetail({task_id:f,node_id:p});if(h!==i)return;const w=Go(v);w&&r.set(g,w),l.value=w}catch(v){if(h!==i)return;console.error(v),a.value=Zae(v),l.value=void 0}finally{h===i&&(o.value=!1)}};e.watch(()=>[t.taskId(),t.nodeId()],()=>{s()},{immediate:!0});const c={loading:o,error:a,detail:l};return e.provide(eA,c),c}function Zv(){const t=e.inject(eA);if(!t)throw new Error("useInjectedNodeDetail: shared node detail is not provided");return t}const ele={class:"execution-info-tab"},tle={key:0,class:"execution-info-tab__state is-error"},nle={class:"execution-info-tab__section"},ole={class:"execution-info-tab__section"},ale={class:"execution-info-tab__table"},lle=e.defineComponent({__name:"execution-info",setup(t){const{loading:n,error:o,detail:a}=Zv(),l=e.computed(()=>String(a.value?.ex_data??"")),r=e.computed(()=>[{label:"开始时间",value:gi(a.value?.start_time)},{label:"结束时间",value:gi(a.value?.finish_time)},{label:"耗时",value:$ae(a.value?.elapsed_time)}]);return(i,s)=>{const c=e.resolveDirective("bkloading");return e.withDirectives((e.openBlock(),e.createElementBlock("div",ele,[e.unref(o)?(e.openBlock(),e.createElementBlock("div",tle,e.toDisplayString(e.unref(o)),1)):e.unref(a)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("section",nle,[s[0]||(s[0]=e.createElementVNode("h3",null,"异常信息",-1)),e.createElementVNode("div",{class:e.normalizeClass(["execution-info-tab__exception",{"is-empty":!l.value}])},e.toDisplayString(l.value||"暂无异常"),3)]),e.createElementVNode("section",ole,[s[1]||(s[1]=e.createElementVNode("h3",null,"执行信息",-1)),e.createElementVNode("table",ale,[e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,f=>(e.openBlock(),e.createElementBlock("tr",{key:f.label},[e.createElementVNode("th",null,e.toDisplayString(f.label),1),e.createElementVNode("td",null,e.toDisplayString(f.value),1)]))),128))])])])],64)):e.unref(n)?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(fn,{key:2,title:"暂无执行信息"}))])),[[c,{loading:e.unref(n)}]])}}}),rle=je(lle,[["__scopeId","data-v-43618193"]]),sle={class:"debug-json-viewer"},ile={class:"debug-json-viewer__line"},ule={key:1,class:"debug-json-viewer__key"},cle={class:"debug-json-viewer__summary"},dle={key:0,class:"debug-json-viewer__children"},fle={key:1,class:"debug-json-viewer__line"},ple={key:0,class:"debug-json-viewer__key"},mle=e.defineComponent({name:"DebugJsonViewer",__name:"debug-json-viewer",props:{label:{default:""},value:{},level:{default:0},defaultExpanded:{type:Boolean,default:!1}},setup(t){const n=t,o=e.ref(n.defaultExpanded),a=e.computed(()=>Bd(n.value)),l=e.computed(()=>qae(n.value)),r=e.computed(()=>n.value===null?"null":typeof n.value),i=e.computed(()=>ym(n.value)),s=e.computed(()=>{if(Array.isArray(n.value))return n.value.map((p,h)=>({key:String(h),value:p}));const f=Go(n.value);return f?Object.entries(f).map(([p,h])=>({key:p,value:h})):[]}),c=async f=>{const p=ym(f);try{await navigator.clipboard?.writeText(p)}catch{const g=document.createElement("textarea");g.value=p,g.style.position="fixed",g.style.opacity="0",document.body.appendChild(g),g.select(),document.execCommand("copy"),document.body.removeChild(g)}Xt({theme:"success",message:"复制成功"})};return(f,p)=>{const h=e.resolveComponent("DebugJsonViewer",!0);return e.openBlock(),e.createElementBlock("div",sle,[a.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",ile,[s.value.length>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:"debug-json-viewer__toggle",onClick:p[0]||(p[0]=g=>o.value=!o.value)},e.toDisplayString(o.value?"▼":"▶"),1)):e.createCommentVNode("",!0),n.label?(e.openBlock(),e.createElementBlock("span",ule,e.toDisplayString(n.label)+":",1)):e.createCommentVNode("",!0),e.createElementVNode("span",cle,e.toDisplayString(l.value),1),s.value.length>0?(e.openBlock(),e.createElementBlock("i",{key:2,class:"bkflow-canvas-icon bkflow-canvas-bkflow-copy debug-json-viewer__copy",title:"复制",onClick:p[1]||(p[1]=g=>c(n.value))})):e.createCommentVNode("",!0)]),o.value&&s.value.length>0?(e.openBlock(),e.createElementBlock("div",dle,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,g=>(e.openBlock(),e.createBlock(h,{key:g.key,label:g.key,value:g.value,level:n.level+1},null,8,["label","value","level"]))),128))])):e.createCommentVNode("",!0)],64)):(e.openBlock(),e.createElementBlock("div",fle,[n.label?(e.openBlock(),e.createElementBlock("span",ple,e.toDisplayString(n.label)+":",1)):e.createCommentVNode("",!0),e.createElementVNode("span",{class:e.normalizeClass(["debug-json-viewer__primitive",`is-${r.value}`])},e.toDisplayString(i.value),3)]))])}}}),jc=je(mle,[["__scopeId","data-v-32f8c36e"]]),vle={class:"debug-value-table"},gle={key:0,class:"debug-value-table__toolbar"},hle={key:1,class:"debug-value-table__state is-error"},ble={key:0,class:"debug-value-table__table"},yle=["title"],wle={class:"debug-value-table__value"},kle={key:1},Cle={key:1,class:"debug-value-table__json-mode"},Ale=e.defineComponent({__name:"debug-value-table",props:{rows:{},loading:{type:Boolean,default:!1},error:{default:""},emptyText:{default:"暂无数据"}},setup(t){const n=t,o=e.ref("kv"),a=e.useSlots(),l=[{value:"kv",label:"KV"},{value:"json",label:"JSON"}],r=e.computed(()=>Object.fromEntries(n.rows.map(s=>[s.key||s.name,s.value]))),i=e.computed(()=>!n.error&&!n.loading&&(n.rows.length>0||!!a.toolbar));return(s,c)=>{const f=e.resolveDirective("bkloading");return e.withDirectives((e.openBlock(),e.createElementBlock("div",vle,[i.value?(e.openBlock(),e.createElementBlock("div",gle,[n.rows.length>0?(e.openBlock(),e.createBlock($v,{key:0,modelValue:o.value,"onUpdate:modelValue":c[0]||(c[0]=p=>o.value=p),items:l},null,8,["modelValue"])):e.createCommentVNode("",!0),e.renderSlot(s.$slots,"toolbar",{},void 0,!0)])):e.createCommentVNode("",!0),n.error?(e.openBlock(),e.createElementBlock("div",hle,e.toDisplayString(n.error),1)):!n.loading&&n.rows.length===0?(e.openBlock(),e.createBlock(fn,{key:2,title:n.emptyText},null,8,["title"])):n.loading?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[o.value==="kv"?(e.openBlock(),e.createElementBlock("table",ble,[c[1]||(c[1]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",null,"参数名"),e.createElementVNode("th",null,"参数值")])],-1)),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.rows,p=>(e.openBlock(),e.createElementBlock("tr",{key:p.key},[e.createElementVNode("td",{class:"debug-value-table__name",title:p.name},e.toDisplayString(p.name),9,yle),e.createElementVNode("td",wle,[e.unref(Bd)(p.value)?(e.openBlock(),e.createBlock(jc,{key:0,value:p.value},null,8,["value"])):(e.openBlock(),e.createElementBlock("span",kle,e.toDisplayString(e.unref(gi)(p.value)),1))])]))),128))])])):(e.openBlock(),e.createElementBlock("div",Cle,[e.createVNode(jc,{value:r.value,"default-expanded":""},null,8,["value"])]))],64))])),[[f,{loading:n.loading}]])}}}),Xv=je(Ale,[["__scopeId","data-v-a3fab2dc"]]),Uu={inputs:[],outputs:[]},Cp=new Map,Pw=(t,n)=>Object.prototype.hasOwnProperty.call(t,n),Ele=t=>{const n=t.attrs??{};return Pw(n,"formViewHidden")?!n.formViewHidden:Pw(n,"hidden")?!n.hidden:!0},Ble=t=>{const{inputs:n,inputParamsFormType:o}=t;if(o==="uniformApiForm")return n.filter(a=>!!a.key).map(a=>({key:a.key,name:a.name||a.key,visible:!0}));if(o==="jsonschemaform"){const a=n?.properties??{};return Object.entries(a).map(([l,r])=>{const i=Go(r),s=typeof i?.title=="string"?i.title:"";return{key:l,name:s||l,visible:!0}})}return n.filter(a=>!!a.tag_code).map(a=>({key:a.tag_code,name:String(a.attrs?.name||a.name||a.tag_code),visible:Ele(a)}))},xle=t=>({inputs:Ble(t),outputs:(t.outputs??[]).filter(n=>!!n.key).map(n=>({key:n.key,name:n.name||n.key,visible:!0}))}),Lw=(t,n)=>{if(!t?.code)return"";const o=t.data?.plugin_code?.value,a=t.data?.plugin_version?.value;return[n?.scope_type??"",n?.scope_value??"",n?.space_id??"",t.code,t.version??"",t.api_meta?.id??"",typeof o=="string"?o:String(o??""),typeof a=="string"?a:String(a??"")].join("|")},_le=(t,n,o)=>{const a=Cp.get(o);if(a)return a;const l=Xs(t,n).then(xle).catch(r=>{throw Cp.delete(o),r});return Cp.set(o,l),l},Rw=t=>Object.fromEntries(t.filter(n=>n.visible).map(n=>[n.key,n.name])),Vle=t=>typeof t=="string"?t:t instanceof Error?t.message:"加载失败";function Jv(t){const n=xn(),o=e.ref(!1),a=e.ref(""),l=e.shallowRef(Uu);let r=0;const i=async()=>{const h=t.component(),g=++r,m=Lw(h,n.scopeData);if(!h?.code||!m){o.value=!1,a.value="",l.value=Uu;return}o.value=!0,a.value="",l.value=Uu;try{const v=await _le(n,h,m);if(g!==r)return;l.value=v}catch(v){if(g!==r)return;l.value=Uu,a.value=`插件参数信息加载失败:${Vle(v)}`}finally{g===r&&(o.value=!1)}};e.watch(()=>Lw(t.component(),n.scopeData),()=>{i()},{immediate:!0});const s=e.computed(()=>l.value.inputs.filter(h=>h.visible)),c=e.computed(()=>l.value.outputs.filter(h=>h.visible)),f=e.computed(()=>Rw(l.value.inputs)),p=e.computed(()=>Rw(l.value.outputs));return{loading:o,error:a,meta:l,visibleInputs:s,visibleOutputs:c,inputNameMap:f,outputNameMap:p}}const tA=Symbol("plugin-param-names");function Sle(t){const{loading:n,error:o,inputNameMap:a,outputNameMap:l,visibleOutputs:r}=Jv(t),i={loading:n,error:o,inputNameMap:a,outputNameMap:l,outputKeys:e.computed(()=>r.value.map(s=>s.key))};return e.provide(tA,i),i}function nA(){const t=e.inject(tA);if(!t)throw new Error("useInjectedPluginParamNames: plugin param names is not provided");return t}const Nle=e.defineComponent({__name:"input-params",setup(t){const{loading:n,error:o,detail:a}=Zv(),{loading:l,error:r,inputNameMap:i}=nA(),s=e.computed(()=>n.value||l.value),c=e.computed(()=>o.value||r.value),f=e.computed(()=>Kae(a.value?.inputs,i.value).filter(p=>p.key in i.value));return(p,h)=>(e.openBlock(),e.createBlock(Xv,{loading:s.value,error:c.value,rows:f.value,"empty-text":"暂无输入参数"},null,8,["loading","error","rows"]))}}),Dle=e.defineComponent({__name:"output-params",setup(t){const{loading:n,error:o,detail:a}=Zv(),{loading:l,error:r,outputNameMap:i,outputKeys:s}=nA(),c=e.computed(()=>n.value||l.value),f=e.computed(()=>o.value||r.value),p=e.computed(()=>{const h=Z2(a.value?.outputs,i.value).filter(g=>g.key in i.value&&!Uc.has(g.key));return X2(h,s.value)});return(h,g)=>(e.openBlock(),e.createBlock(Xv,{loading:c.value,error:f.value,rows:p.value,"empty-text":"暂无输出结果"},null,8,["loading","error","rows"]))}}),Tle=t=>typeof t=="string"?t:t instanceof Error?t.message:"加载失败";function Ile(t){const n=e.ref(!1),o=e.ref(""),a=e.shallowRef();let l=0;const r=async()=>{const i=++l;if(!t.isReady()){n.value=!1,o.value="",a.value=void 0;return}n.value=!0,o.value="";try{const s=await t.load();i===l&&(a.value=s)}catch(s){i===l&&(console.error(s),o.value=Tle(s),a.value=void 0)}finally{i===l&&(n.value=!1)}};return e.watch(t.dependencies,()=>{r()},{immediate:!0}),{loading:n,error:o,data:a,fetchData:r}}const Ole={class:"call-logs-viewer"},Mle={key:0,class:"call-logs-viewer__state is-error","data-test":"log-error"},Ple={key:2,class:"call-logs-viewer__viewer"},Lle={class:"call-logs-viewer__empty-body"},Rle={class:"call-logs-viewer__sub-tabs"},Fle=["onClick"],zle=e.defineComponent({__name:"call-logs-viewer",props:{logText:{default:""},loading:{type:Boolean,default:!1},error:{default:""}},setup(t){const n=t,o=e.ref("platform"),a=[{value:"platform",label:"平台日志"},{value:"thirdParty",label:"第三方插件日志"}],l={readOnly:!0,lineNumbers:"on",domReadOnly:!0},r=e.computed(()=>(n.logText||"").replace(/\[bk-mark\]|\[\/bk-mark\]/g,""));return(i,s)=>{const c=e.resolveDirective("bkloading");return e.withDirectives((e.openBlock(),e.createElementBlock("div",Ole,[n.error?(e.openBlock(),e.createElementBlock("div",Mle,e.toDisplayString(n.error),1)):!n.loading&&!n.logText?(e.openBlock(),e.createBlock(fn,{key:1,title:"暂无调用日志","data-test":"log-empty"})):n.logText?(e.openBlock(),e.createElementBlock("div",Ple,[o.value==="platform"?(e.openBlock(),e.createBlock(fa,{key:0,"model-value":r.value,options:l,"data-test":"log-editor"},null,8,["model-value"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[s[0]||(s[0]=e.createElementVNode("div",{class:"call-logs-viewer__empty-header"},null,-1)),e.createElementVNode("div",Lle,[e.createVNode(fn,{title:"暂无第三方插件日志"})])],64)),e.createElementVNode("div",Rle,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(a,f=>e.createElementVNode("span",{key:f.value,class:e.normalizeClass(["call-logs-viewer__sub-tab",{"is-active":o.value===f.value}]),"data-test":"log-sub-tab",onClick:p=>o.value=f.value},e.toDisplayString(f.label),11,Fle)),64))])])):e.createCommentVNode("",!0)])),[[c,{loading:n.loading}]])}}}),oA=je(zle,[["__scopeId","data-v-06ddf5de"]]),jle=e.defineComponent({__name:"call-logs",props:{taskId:{},nodeId:{},version:{}},setup(t){const n=t,o=xn(),{loading:a,error:l,data:r}=Ile({dependencies:()=>[n.taskId,n.nodeId,n.version],isReady:()=>!!(n.taskId&&n.nodeId&&n.version),load:async()=>{if(!o.fetchTaskNodeLog)throw new Error("节点调用日志接口未配置");return await o.fetchTaskNodeLog({task_id:n.taskId,node_id:n.nodeId,version:n.version})}}),i=e.computed(()=>J2(r.value));return(s,c)=>(e.openBlock(),e.createBlock(oA,{"log-text":i.value,loading:e.unref(a),error:e.unref(l)},null,8,["log-text","loading","error"]))}}),Hle={class:"debug-result-tabs"},Ule=e.defineComponent({__name:"result-tabs",props:{taskId:{},activeNodeId:{},activeNodeVersion:{},activeNodeType:{default:""},activeNodeComponent:{default:void 0}},setup(t){const n=new Set(["开始节点","结束节点","网关节点"]),o=t,a=e.ref("execution"),l=e.computed(()=>n.has(o.activeNodeType));return Jae({taskId:()=>o.taskId,nodeId:()=>o.activeNodeId}),Sle({component:()=>o.activeNodeComponent}),(r,i)=>{const s=e.resolveComponent("bk-tab-panel"),c=e.resolveComponent("bk-tab");return e.openBlock(),e.createElementBlock("section",Hle,[e.createVNode(c,{active:a.value,"onUpdate:active":i[0]||(i[0]=f=>a.value=f),type:"card-grid"},{default:e.withCtx(()=>[e.createVNode(s,{name:"execution",label:"执行信息"},{default:e.withCtx(()=>[a.value==="execution"?(e.openBlock(),e.createBlock(rle,{key:0})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(s,{name:"inputs",label:"输入参数"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createBlock(fn,{key:0,title:"暂无输入参数"})):a.value==="inputs"?(e.openBlock(),e.createBlock(Nle,{key:1})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(s,{name:"outputs",label:"输出结果"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createBlock(fn,{key:0,title:"暂无输出结果"})):a.value==="outputs"?(e.openBlock(),e.createBlock(Dle,{key:1})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(s,{name:"logs",label:"调用日志"},{default:e.withCtx(()=>[a.value==="logs"?(e.openBlock(),e.createBlock(jle,{key:0,"task-id":o.taskId,"node-id":o.activeNodeId,version:o.activeNodeVersion},null,8,["task-id","node-id","version"])):e.createCommentVNode("",!0)]),_:1})]),_:1},8,["active"])])}}}),Wle=je(Ule,[["__scopeId","data-v-3a013845"]]),Gle={class:"debug-result-drawer__header"},Yle={class:"debug-result-drawer__body"},Qle=44,qle=e.defineComponent({__name:"index",props:{open:{type:Boolean},taskId:{default:void 0},nodes:{},activeNodeId:{default:""},activeNodeVersion:{default:""},activeNodeComponent:{default:void 0}},emits:["update:open","update:activeNodeId"],setup(t,{emit:n}){const o=t,a=e.computed(()=>o.nodes.find(B=>B.id===o.activeNodeId)?.typeName??""),l=n,r=e.ref(420),i=e.ref(!1);let s=0,c=0,f="",p="";const h=e.computed(()=>({height:`${o.open?r.value:Qle}px`})),g=()=>{l("update:open",!o.open)},m=x=>{l("update:activeNodeId",x)},v=x=>{const B=c-(x.clientY-s);r.value=Math.max(200,Math.min(window.innerHeight*.8,B))},w=()=>{document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",w),document.body.style.cursor=f,document.body.style.userSelect=p,i.value=!1},y=x=>{x.preventDefault(),i.value=!0,s=x.clientY,c=r.value,f=document.body.style.cursor,p=document.body.style.userSelect,document.body.style.cursor="ns-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",v),document.addEventListener("mouseup",w)};return e.onBeforeUnmount(w),(x,B)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["debug-result-drawer-wrapper",{"is-resizing":i.value}]),style:e.normalizeStyle(h.value)},[o.open?(e.openBlock(),e.createElementBlock("div",{key:0,class:"debug-result-drawer__resize",onMousedown:y},null,32)):e.createCommentVNode("",!0),e.createElementVNode("section",{class:e.normalizeClass(["debug-result-drawer",{"is-collapsed":!o.open}])},[e.createElementVNode("header",Gle,[B[0]||(B[0]=e.createElementVNode("div",{class:"debug-result-drawer__title"},"调试结果",-1)),e.createElementVNode("span",{class:"debug-result-drawer__collapse",onClick:g},[e.createElementVNode("span",null,e.toDisplayString(o.open?"收起":"展开"),1),e.createElementVNode("i",{class:e.normalizeClass(["bkflow-canvas-icon bkflow-canvas-arrows-down debug-result-drawer__collapse-icon",{"is-expanded":o.open}])},null,2)])]),e.createElementVNode("div",Yle,[e.createVNode(Yae,{nodes:o.nodes,"model-value":o.activeNodeId,"onUpdate:modelValue":m},null,8,["nodes","model-value"]),e.createVNode(Wle,{"task-id":o.taskId,"active-node-id":o.activeNodeId,"active-node-version":o.activeNodeVersion,"active-node-type":a.value,"active-node-component":o.activeNodeComponent},null,8,["task-id","active-node-id","active-node-version","active-node-type","active-node-component"])])],2)],6))}}),Kle=je(qle,[["__scopeId","data-v-c5b0c94f"]]),$le={key:0,class:"operate-area"},Zle={class:"mock-debug-status"},Xle={class:"operate-btns"},Jle={class:"flow-mock-debug-content"},ere={class:"gateway-select-dialog"},tre={class:"gateway-select-dialog__field"},nre=3e3,ore=e.defineComponent({__name:"mock",props:{flowId:{},taskId:{},apiConfig:{},bkflowSaasUrl:{},defaultZoom:{default:1},onBack:{}},emits:["back"],setup(t,{emit:n}){const o=t,a=n,l=il(o.apiConfig);Kl({},o.bkflowSaasUrl);const r=e.ref(),i=e.shallowRef(null),s=e.shallowRef(!0),c=e.ref("RUNNING"),f=e.ref(Date.now()),p=e.ref(),h=e.shallowRef({}),g=e.ref(!0),m=e.ref(),v=e.ref(0),w=e.computed(()=>s.value),y=e.computed(()=>h.value),x=e.shallowRef([Ed(y)]),B=e.computed(()=>{const Be=i.value?.pipeline_tree;return Be?Kv(Be,h.value):null}),k={ExclusiveGateway:"bkflow-canvas-icon bkflow-canvas-fenzhiwangguan",ParallelGateway:"bkflow-canvas-icon bkflow-canvas-bingxingwangguan",ConditionalParallelGateway:"bkflow-canvas-icon bkflow-canvas-tiaojianbingxingwangguan",ConvergeGateway:"bkflow-canvas-icon bkflow-canvas-huijuwangguan"},b=Be=>{if(Be.component?.code==="uniform_api"){const Se=Be.component?.api_meta?.category?.name??"";return gt.PLUGGIN_GROUP_FONT_CLASS_MAP[Se]??gt.PLUGGIN_GROUP_FONT_CLASS_MAP.bkflow}return gt.PLUGGIN_GROUP_FONT_CLASS_MAP.bkflow},A=Be=>{const Se=new Map;Object.values(Be.flows).forEach(R=>{const P=Se.get(R.source);P?P.push(R.target):Se.set(R.source,[R.target])});const Ie=[],se=new Set,de=Be.start_event?.id;if(!de)return Ie;const ue=[de];for(se.add(de);ue.length>0;){const R=ue.shift();Ie.push(R);const P=Se.get(R)??[];for(const J of P)se.has(J)||(se.add(J),ue.push(J))}return Ie},C=e.computed(()=>{const Be=i.value?.pipeline_tree;if(!Be)return[];const Se=new Map;Be.start_event&&Se.set(Be.start_event.id,{id:Be.start_event.id,name:Be.start_event.name||"开始节点",typeName:"开始节点",status:h.value[Be.start_event.id]?.status,iconClass:"bkflow-canvas-icon bkflow-canvas-kaishi",hasMockConfig:!1}),Object.values(Be.activities).forEach(de=>{Se.set(de.id,{id:de.id,name:de.name||de.id,typeName:de.component?.code||"任务节点",status:h.value[de.id]?.status,iconClass:b(de),hasMockConfig:!1})}),Object.values(Be.gateways).forEach(de=>{Se.set(de.id,{id:de.id,name:de.name||de.id,typeName:"网关节点",status:h.value[de.id]?.status,iconClass:k[de.type]??"bkflow-canvas-icon bkflow-canvas-fenzhiwangguan",hasMockConfig:!1})}),Be.end_event&&Se.set(Be.end_event.id,{id:Be.end_event.id,name:Be.end_event.name||"结束节点",typeName:"结束节点",status:h.value[Be.end_event.id]?.status,iconClass:"bkflow-canvas-icon bkflow-canvas-stop",hasMockConfig:!1});const Ie=A(Be).filter(de=>Se.has(de)),se=[...Se.keys()].filter(de=>!Ie.includes(de));return[...Ie,...se].map(de=>Se.get(de))}),_=e.computed(()=>Object.entries(h.value).filter(([,Be])=>Be.status==="FAILED").map(([Be])=>Be)),V=e.computed(()=>{const Be=m.value;return Be?h.value[Be]?.version??"":""}),S=e.computed(()=>{const Be=i.value?.pipeline_tree,Se=m.value;if(!(!Be||!Se))return Be.activities[Se]?.component});e.watch(C,Be=>{if(m.value||Be.length===0)return;const Se=Be.find(Ie=>Ie.typeName!=="开始节点"&&Ie.typeName!=="结束节点"&&Ie.typeName!=="网关节点");m.value=Se?.id??Be[0].id});const N=new Set(["CREATED","RUNNING","FINISHED","FAILED","SUSPENDED","REVOKED"]);let D;const H=()=>{D&&(clearTimeout(D),D=void 0)},j=Be=>{if(!Be)return;const Se=String(Be).toUpperCase();return N.has(Se)?Se:void 0},I=Be=>{const Se=j(Be);return Se==="FINISHED"?"FINISHED":Se==="FAILED"||Se==="SUSPENDED"||Se==="REVOKED"?"FAILED":"RUNNING"},F=Be=>Be&&typeof Be=="object"&&!Array.isArray(Be)?Be:void 0,z=Be=>{const Se=F(Be);return!Se||!("data"in Se)?Be:Se.data},L=Be=>{const Se={};return Object.entries(Be).forEach(([Ie,se])=>{const de=F(se),ue=j(de?de.status??de.state:se);if(!ue)return;const R=String(de?.id??de?.node_id??Ie);Se[R]={status:ue,version:typeof de?.version=="string"?de.version:void 0,start_time:typeof de?.start_time=="string"?de.start_time:void 0,finish_time:typeof de?.finish_time=="string"?de.finish_time:void 0,elapsed_time:typeof de?.elapsed_time=="number"?de.elapsed_time:void 0}}),Se},O=Be=>{const Se={};return Be.forEach(Ie=>{const se=F(Ie);if(!se)return;const de=se.id??se.node_id,ue=j(se.status??se.state);!de||!ue||(Se[String(de)]={status:ue,version:typeof se.version=="string"?se.version:void 0,start_time:typeof se.start_time=="string"?se.start_time:void 0,finish_time:typeof se.finish_time=="string"?se.finish_time:void 0,elapsed_time:typeof se.elapsed_time=="number"?se.elapsed_time:void 0})}),Se},M=Be=>{const Se=F(z(Be));if(!Se)return{};const Ie={};return[Se.node_states,Se.states,Se.children,Se.nodes,Se.activities,Se.gateways].forEach(de=>{if(Array.isArray(de)){Object.assign(Ie,O(de));return}const ue=F(de);ue&&Object.assign(Ie,L(ue))}),Ie},G=Be=>{const Se=F(z(Be));return I(Se?.state??Se?.status)},Y=Be=>{const Se=F(z(Be));if(!Se)return;const Ie=Se.elapsed_time;return typeof Ie=="number"?Ie:void 0};function Z(){H(),D=setTimeout(()=>{W()},nre)}async function W(){if(H(),!(!o.taskId||!l.fetchTaskState))try{const Be=await l.fetchTaskState({task_id:o.taskId}),Se=G(Be),Ie=M(Be);if(c.value=Se,Se!=="RUNNING"){const se=Y(Be);se!=null&&(p.value=se)}Object.keys(Ie).length>0&&(h.value=Ie)}catch(Be){console.error(Be)}finally{c.value==="RUNNING"&&Z()}}const q=async()=>{s.value=!0;try{const[Be,Se]=await Promise.all([l.fetchFlowDetail(String(o.flowId)),l.getFlowTaskDetail?.({task_id:o.taskId})]);Se?.pipeline_tree?i.value={...Be,pipeline_tree:Se.pipeline_tree}:i.value=Be}catch(Be){console.error(Be)}finally{s.value=!1}};function ee(Be){const Se=r.value?.editor?.api?.value;Se&&(Se.scrollToNode(Be,{offset:{y:-120}}),Se.highlightNodes([Be]),setTimeout(()=>Se.clearHighlight(),1500))}const{actionPopover:he,closeActionPopover:te,handlePopoverEnter:ne,handlePopoverLeave:Ce,handleUiEvent:oe}=q2({getNodeStates:()=>h.value,getPipelineTree:()=>B.value,getNodeViewportRect:Be=>r.value?.editor?.api?.value?.overlay?.getNodeViewportRect?.(Be)}),le=e.reactive({visible:!1,nodeId:"",isCondParallelGw:!1,branches:[],selectedBranch:null}),ke={retry:{title:"确定重试当前节点?",content:"重新节点将重新执行当前节点(使用最新的参数值)"},skip:{title:"确定跳过当前节点?",content:"跳过节点将忽略当前失败节点继续往后执行"},forceFail:{title:"确定强制终止当前节点?",content:"强制终止将强行修改节点状态为失败,但不会中断已经发送到其它系统的请求"},resume:{title:"确定继续往后执行?"}};function Ae(Be){if(te(),Be.action==="gatewaySkip"){Ve(Be.nodeId);return}const Se=ke[Be.action];if(Se){qn.InfoBox({title:Se.title,content:Se.content,confirmText:"确定",cancelText:"取消",width:400,onConfirm:()=>{tt(Be)}});return}tt(Be)}function Ne(Be){const Ie=B.value?.gateways?.[Be];if(!Ie)return[];const se=[],de=Ie.converge_gateway_id;if(Ie.conditions&&Object.keys(Ie.conditions).forEach(ue=>{const R=Ie.conditions[ue];se.push({id:ue,node_id:Be,name:R.name||R.evaluate||ue,converge_gateway_id:de})}),Ie.default_condition){const ue=Ie.default_condition.flow_id;ue&&se.unshift({id:ue,node_id:Be,name:Ie.default_condition.name,converge_gateway_id:de})}return se.length===0&&Ie.type==="ParallelGateway"&&(Array.isArray(Ie.outgoing)?Ie.outgoing:Ie.outgoing?[Ie.outgoing]:[]).forEach((R,P)=>{se.push({id:R,node_id:Be,name:`并行${P+1}`,converge_gateway_id:de})}),se.filter(ue=>ue.id)}function Ve(Be){const Ie=B.value?.gateways?.[Be];if(!Ie)return;const se=Ne(Be);if(se.length===0)return;const de=Ie.type==="ConditionalParallelGateway";le.nodeId=Be,le.isCondParallelGw=de,le.branches=se,le.selectedBranch=de?[se[0].id]:se[0].id,le.visible=!0}function De(){le.visible=!1,le.nodeId="",le.branches=[],le.selectedBranch=null}async function qe(){c.value="RUNNING",f.value=Date.now(),p.value=void 0,W(),Z()}async function Te(){const{nodeId:Be,branches:Se,selectedBranch:Ie,isCondParallelGw:se}=le;if(!Be||!o.taskId||!l.operateTaskNode)return;const de=se?Array.isArray(Ie)?Ie:[]:Ie?[Ie]:[],ue=Se.filter(J=>de.includes(J.id));if(ue.length===0)return;le.visible=!1;const R=se?"skip_cpg":"skip_exg",P={};se?(P.flow_ids=ue.map(J=>J.id),P.converge_gateway_id=ue[0].converge_gateway_id):P.flow_id=ue[0].id;try{await l.operateTaskNode({task_id:o.taskId,node_id:Be,action:"gatewaySkip",operation:R,data:P}),await qe()}catch(J){console.error(J)}finally{De()}}function Ee(Be){if(Be==="resume")return{data:{}}}async function tt(Be){if(!(!o.taskId||!l.operateTaskNode))try{await l.operateTaskNode({task_id:o.taskId,node_id:Be.nodeId,action:Be.action,data:Ee(Be.action)}),await qe()}catch(Se){console.error(Se)}}const ie=()=>{o.onBack?o.onBack():a("back")},ce=Be=>{m.value=Be.nodeId},Pe=Be=>{oe(Be)},ot=()=>{ie()},at=()=>{!o.taskId||!l.revokeFlowTask||qn.InfoBox({title:"确定终止当前任务?",content:"终止任务将停止执行任务,但执行中节点将运行完成",confirmText:"确定",cancelText:"取消",onConfirm:async()=>{try{await l.revokeFlowTask({task_id:o.taskId,resource_type:"TASK",resource_id:o.taskId,permission_type:"OPERATE"}),W()}catch(Be){console.error(Be)}}})},vt=()=>{const Be=_.value;if(Be.length<1)return;const Se=Be[v.value%Be.length];v.value+=1,m.value=Se,ee(Se)},rt=Be=>{m.value=Be,ee(Be)};return e.onMounted(()=>{q(),W()}),e.onBeforeUnmount(()=>{H()}),(Be,Se)=>{const Ie=e.resolveComponent("bk-button"),se=e.resolveComponent("bk-option"),de=e.resolveComponent("bk-select"),ue=e.resolveComponent("bk-dialog"),R=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(hi,{title:"模拟调试",desc:i.value?.name,"show-back-icon":!0,onBack:ie},{header:e.withCtx(()=>[e.renderSlot(Be.$slots,"header",{},void 0,!0)]),extend:e.withCtx(()=>[i.value?(e.openBlock(),e.createElementBlock("div",$le,[e.createVNode(bd,{"flow-data":i.value,editable:!1,"enable-simulate-debug":!1,"simulate-debug-only":!0},null,8,["flow-data"]),e.createElementVNode("div",Zle,[e.createVNode(Vae,{class:"mock-debug-status__icon",size:14,width:20,"dot-size":4}),Se[3]||(Se[3]=e.createElementVNode("span",{class:"mock-debug-status__label"},"调试中",-1))]),e.createElementVNode("div",Xle,[e.createVNode(Ie,{onClick:ot},{default:e.withCtx(()=>[...Se[4]||(Se[4]=[e.createTextVNode("退出模拟调试",-1)])]),_:1})])])):e.createCommentVNode("",!0),e.renderSlot(Be.$slots,"extend",{},void 0,!0)]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",Jle,[!w.value&&B.value?(e.openBlock(),e.createBlock(wd,{key:0,ref_key:"canvasRef",ref:r,"pipeline-tree":B.value,mode:"view","default-zoom":o.defaultZoom,"additional-plugins":x.value,onNodeClick:ce,onUiEvent:Pe},null,8,["pipeline-tree","default-zoom","additional-plugins"])):e.createCommentVNode("",!0),e.createVNode(K2,{visible:e.unref(he).visible,"node-id":e.unref(he).nodeId,actions:e.unref(he).actions,position:e.unref(he).position,onPopoverEnter:e.unref(ne),onPopoverLeave:e.unref(Ce),onAction:Ae},null,8,["visible","node-id","actions","position","onPopoverEnter","onPopoverLeave"]),e.createVNode(ue,{isShow:le.visible,"onUpdate:isShow":Se[1]||(Se[1]=P=>le.visible=P),"dialog-type":"operation",width:600,"esc-close":!1,"quick-close":!1,"header-align":"left",title:"请选择执行分支",onConfirm:Te,onClosed:De},{default:e.withCtx(()=>[e.createElementVNode("div",ere,[e.createElementVNode("div",tre,[Se[5]||(Se[5]=e.createElementVNode("label",{class:"gateway-select-dialog__label"},"可选执行分支",-1)),e.createVNode(de,{modelValue:le.selectedBranch,"onUpdate:modelValue":Se[0]||(Se[0]=P=>le.selectedBranch=P),class:"gateway-select-dialog__select",multiple:le.isCondParallelGw,"display-tag":le.isCondParallelGw,clearable:!1},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(le.branches,P=>(e.openBlock(),e.createBlock(se,{key:P.id,id:P.id,name:P.name},null,8,["id","name"]))),128))]),_:1},8,["modelValue","multiple","display-tag"])])])]),_:1},8,["isShow"]),!w.value&&i.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(Iae,{status:c.value,"started-at":f.value,elapsed:p.value,"failed-count":_.value.length,onStop:at,onLocateFailed:vt},null,8,["status","started-at","elapsed","failed-count"]),e.createVNode(Kle,{open:g.value,"task-id":o.taskId,nodes:C.value,"active-node-id":m.value,"active-node-version":V.value,"active-node-component":S.value,"onUpdate:open":Se[2]||(Se[2]=P=>g.value=P),"onUpdate:activeNodeId":rt},null,8,["open","task-id","nodes","active-node-id","active-node-version","active-node-component"])],64)):e.createCommentVNode("",!0)])),[[R,{loading:w.value,zIndex:100}]])]),_:3},8,["desc"])}}}),aA=je(ore,[["__scopeId","data-v-7ab3f135"]]),are=Object.freeze(Object.defineProperty({__proto__:null,default:aA},Symbol.toStringTag,{value:"Module"})),lre={waiting:"running",paused:"suspended"},rre=new Set(["not_run","running","suspended","finished","failed","skipped","revoked"]);function da(t){const n=lre[t];return n||(rre.has(t)?t:"not_run")}function lA(t){return t==="failed"||t==="revoked"}function Fw(t){return t==="finished"||lA(t)}function Wu(t){if(!t)return null;const n=t.nodes.filter(a=>da(a.status)==="running");if(!(t.status==="running"||t.status==="terminating"||n.length>0))return null;if(t.active_run_type==="global")return{runType:"global",nodeId:null};if(t.active_run_type==="step"){const a=t.active_node_id??(n.length===1?n[0].node_id:null);return a?{runType:"step",nodeId:a}:null}return t.active_node_id?{runType:"step",nodeId:t.active_node_id}:t.last_run_type==="global"?{runType:"global",nodeId:null}:t.last_run_type==="step"&&n.length===1?{runType:"step",nodeId:n[0].node_id}:null}const sre={running:"RUNNING",suspended:"SUSPENDED",finished:"FINISHED",failed:"FAILED",skipped:"SKIP",revoked:"REVOKED"};function ire(t,n={}){if(!t)return null;if(n.nodeIdOverride)return n.nodeIdOverride;if(t.active_node_id)return t.active_node_id;if(t.last_task_id!=null){const a=t.nodes.filter(l=>l.log_ref?.instance_id===t.last_task_id);if(a.length>=1)return a[0].node_id}const o=t.nodes.filter(a=>da(a.status)!=="not_run");return o.length===1?o[0].node_id:null}const ure={global:"全流程",step:"单节点"};function cre(t){return t?t.status==="running"||t.status==="terminating"?{taskId:t.active_task_id,runType:t.active_run_type,nodeId:t.active_node_id,runStatus:t.status==="terminating"?"terminating":t.last_run_status,errorDetail:t.last_error_detail??null,hasRecord:!0}:{taskId:t.last_task_id,runType:t.last_run_type,nodeId:null,runStatus:t.last_run_status,errorDetail:t.last_error_detail??null,hasRecord:t.last_task_id!=null}:{taskId:null,runType:null,nodeId:null,runStatus:null,errorDetail:null,hasRecord:!1}}function dre(t,n={}){const o={},a=new Set;let l=0;const r=[];let i=0,s;const c=n.existingNodeIds,f=t?.nodes??[],p=t?.status??"idle",h=cre(t),g=n.runStatusOverride??h.runStatus,m=n.runTypeOverride??h.runType,v=m==="step"?ire(t,n):null;for(const x of f){if(c&&!c.has(x.node_id))continue;x.execution_mode==="mock"&&a.add(x.node_id);const B=da(x.status);if(B!=="not_run"){const b=sre[B];if(b){const A=x.selected_flow_ids?.filter(Boolean);o[x.node_id]={status:b,...A&&A.length>0?{selectedFlowIds:A}:{}}}}!(m!=="step"||x.node_id===v)||B==="not_run"||(l+=1,B==="failed"&&r.push(x.node_id),B==="revoked"&&(i+=1),typeof x.duration_ms=="number"&&Number.isFinite(x.duration_ms)&&m==="step"&&(s=x.duration_ms))}m==="step"&&p!=="idle"&&(l=1);let w;i>0?w="revoked":r.length>0?w="failed":p==="idle"&&n.resultStateOverride==="none"?w="none":l>0?w="success":g==="revoked"?w="revoked":w="none";const y={active:p!=="idle",status:p,operator:t?.locked_by??"",nodeCount:l,failedNodeIds:r,errorNodeCount:r.length,hasRecord:p!=="idle"||w!=="none",resultState:w,runType:m,typeLabel:m?ure[m]:void 0,runStatus:g,startedAt:void 0,durationMs:s};return{nodeStates:o,mockNodeIds:a,summary:y}}function fre(t){return t.httpStatus===409||t.code==="409"?!0:/正在被|已被锁定|locked/i.test(t.message)}function zw(t){return t.map(n=>({...n,status:"not_run",duration_ms:null,error_detail:null,outputs:null,selected_flow_ids:[],condition_results:[],log_ref:null}))}function pre(t){if(!t||typeof t!="object")return;const n=t.elapsed_time;if(!(typeof n!="number"||!Number.isFinite(n)))return Math.max(0,n)*1e3}function mre(t={}){const n=e.ref(void 0);let o=null,a=0,l=null;const r=()=>{l!=null&&(clearInterval(l),l=null)},i=()=>{o!=null&&(n.value=a+Math.max(0,Date.now()-o))},s=(h=0)=>{r(),a=Math.max(0,h),o=Date.now(),n.value=a,l=setInterval(i,1e3)},c=()=>{o!=null&&i(),r(),o=null},f=()=>{r(),o=null,a=0,n.value=void 0},p=async(h,g={})=>{const m=t.getFlowTaskDetail;if(typeof m=="function")try{const v=await m({task_id:h}),w=pre(v);return w==null?void 0:(g.continueTimer?s(w):(r(),o=null,a=w,n.value=w),w)}catch{return}};return e.getCurrentScope()&&e.onScopeDispose(f),{durationMs:n,startLocal:s,freezeLocal:c,clear:f,restoreFromTask:p}}const vre=2500,gre=5e3;function jw(t){return t==="running"?"running":t==="failed"?"failed":t==="revoked"?"revoked":"finished"}function Sl(t,n){const o=t[n];if(typeof o!="function")throw new Error(`FlowDetail debug API "${String(n)}" is not configured`);return o}const hre=["fetchDebugContext","fetchDebugInputSchema","fetchDebugResetImpact","updateNodeDebugMock","runNodeDebugStep","runGlobalDebug","terminateDebug","resetDebugResult"];function bre(t){const n=hre.filter(o=>typeof t[o]!="function");if(n.length>0)throw new Error(`FlowDetail debug API is incomplete: ${n.join(", ")}`)}function yre(t){const n=t.pollInterval??vre,o=t.retryInterval??gre,a=e.shallowRef(null),l=e.ref(null),r=e.shallowRef(null),i=mre({getFlowTaskDetail:t.api.getFlowTaskDetail});let s=!1,c=null;const f=te=>{if(!te)return{runType:null,taskId:null,active:!1};const ne=te.status==="running"||te.status==="terminating";return{runType:ne?te.active_run_type:te.last_run_type,taskId:ne?te.active_task_id:te.last_task_id,active:ne}},p=(te,ne)=>{const Ce=f(te),oe=f(ne);if(!(oe.runType!=="global"||oe.taskId==null)){if(oe.active){(!s||c!==oe.taskId)&&(s=!0,c=oe.taskId,i.durationMs.value==null&&i.restoreFromTask(oe.taskId,{continueTimer:!0}).then(le=>{le==null&&c===oe.taskId&&s&&i.startLocal(0)}));return}if(Ce.active&&Ce.runType==="global"){i.freezeLocal(),s=!1,c=oe.taskId;return}i.durationMs.value==null&&c!==oe.taskId&&(c=oe.taskId,i.restoreFromTask(oe.taskId))}},h=e.computed(()=>{const te=dre(a.value,{resultStateOverride:l.value,runTypeOverride:r.value?.runType,runStatusOverride:r.value?.runStatus,nodeIdOverride:r.value?.nodeId,existingNodeIds:t.existingNodeIds?.()??null}),{runType:ne}=f(a.value);return(r.value?.runType??ne)==="global"&&i.durationMs.value!=null?{...te,summary:{...te.summary,durationMs:i.durationMs.value}}:te}),g=e.ref(!1),m=e.ref(!1),v=e.ref(""),w=e.ref(""),y=e.ref(!1),x=e.ref(!1),B=e.computed(()=>m.value||!!v.value||!!w.value||y.value||x.value),k=e.ref("");let b=null,A=0,C=0;function _(){b!==null&&(clearTimeout(b),b=null)}function V(){_(),A+=1,C+=1,a.value=null,k.value="",m.value=!1,v.value="",w.value="",y.value=!1,x.value=!1,l.value=null,r.value=null,i.clear(),s=!1,c=null}function S(te,ne){_(),t.enabled()&&(te==="running"||te==="terminating")&&(b=setTimeout(()=>{N()},ne?n:o))}async function N(){if(!t.enabled())return a.value;const te=++A,ne=String(t.templateId());try{const oe=await Sl(t.api,"fetchDebugContext")(t.templateId());if(te!==A||ne!==String(t.templateId()))return a.value;const le=a.value;return a.value=oe,(oe.status==="running"||oe.status==="terminating")&&(l.value=null,r.value=null),p(le,oe),k.value="",S(oe.status,!0),oe}catch(Ce){return te!==A||ne!==String(t.templateId())||(k.value=gt.normalizeApiError(Ce).message,S(a.value?.status??"idle",!1)),a.value}}async function D(te){const ne=gt.normalizeApiError(te);if(fre(ne))return t.onMessage?.("warning",ne.message),await N(),!1;throw t.onMessage?.("error",ne.message),ne}async function H(){if(t.enabled()){g.value=!0;try{bre(t.api),await N()}catch(te){k.value=gt.normalizeApiError(te).message}finally{g.value=!1}}}async function j(){if(!t.enabled())return{};try{return await Sl(t.api,"fetchDebugInputSchema")(t.templateId())}catch(te){return await D(te),{}}}const I=()=>({template_id:Number(t.templateId()),status:"idle",locked_by:"",active_task_id:null,active_run_type:null,active_node_id:null,last_task_id:null,last_run_type:null,last_run_status:null,last_error_detail:null,last_inputs:{},global_vars:{},nodes:[]}),F=(te,ne)=>{const Ce=a.value??I(),oe=Ce.nodes.findIndex(ke=>ke.node_id===te),le=[...Ce.nodes];oe>=0?le[oe]={...le[oe],...ne}:le.push({node_id:te,node_type:"",execution_mode:"real",status:"not_run",can_step:!0,missing_vars:[],...ne}),a.value={...Ce,nodes:le}},z=()=>({epoch:C,templateId:String(t.templateId())}),L=te=>te.epoch===C&&te.templateId===String(t.templateId());async function O(te){if(!t.enabled())return!1;const ne=z();m.value=!0;try{const oe=await Sl(t.api,"runGlobalDebug")({templateId:t.templateId(),inputs:te});if(!L(ne))return!1;l.value=null,r.value=null;const le=a.value??I();return a.value={...le,status:oe.status==="terminating"?"terminating":"running",active_task_id:oe.task_id,active_run_type:"global",active_node_id:null,last_task_id:oe.task_id,last_run_type:"global",last_run_status:"running",last_inputs:{...te},nodes:zw(le.nodes)},i.startLocal(0),s=!0,c=oe.task_id,S(a.value.status,!0),await N(),!0}catch(Ce){if(!L(ne))return!1;l.value=null,r.value=null,i.clear(),s=!1,c=null,a.value&&(a.value={...a.value,nodes:zw(a.value.nodes)});try{await N()}catch(oe){console.error(oe)}return L(ne)?await D(Ce):!1}finally{L(ne)&&(m.value=!1)}}async function M(te){if(!t.enabled())return!1;const ne=z();v.value=te.nodeId;try{const oe=await Sl(t.api,"runNodeDebugStep")({templateId:t.templateId(),...te});if(!L(ne))return!1;l.value=null,F(te.nodeId,{execution_mode:te.mode,status:oe.status,outputs:oe.outputs,selected_flow_ids:oe.selected_flow_ids,condition_results:oe.condition_results,error_detail:oe.error_detail??null,duration_ms:null,log_ref:oe.log_ref,...te.mode==="mock"?{mock_outputs:te.mockOutputs,mock_error:te.mockError??null}:{}});const le=da(oe.status);if(a.value){const ke=typeof oe.task_id=="number"||typeof oe.task_id=="string"?oe.task_id:null;le==="running"?(a.value={...a.value,status:"running",active_task_id:ke,active_run_type:"step",active_node_id:te.nodeId,last_task_id:ke??a.value.last_task_id,last_run_type:"step",last_run_status:"running",global_vars:oe.updated_global_vars??a.value.global_vars},S("running",!0)):a.value={...a.value,status:"idle",active_task_id:null,active_run_type:null,active_node_id:null,last_run_type:"step",last_run_status:jw(le),global_vars:oe.updated_global_vars??a.value.global_vars}}return await N(),L(ne)&&(r.value={runType:"step",runStatus:jw(le),nodeId:te.nodeId}),!0}catch(Ce){return L(ne)?await D(Ce):!1}finally{L(ne)&&(v.value="")}}async function G(te){if(!t.enabled())return!1;const ne=z();w.value=te.nodeId;try{const oe=await Sl(t.api,"updateNodeDebugMock")({templateId:t.templateId(),...te});return L(ne)?(F(te.nodeId,{execution_mode:oe.execution_mode,...te.enable?{mock_result:te.mockResult??"success",mock_outputs:te.mockOutputs,mock_error:te.mockError??null}:{mock_result:null,mock_outputs:null,mock_error:null}}),a.value&&oe.updated_global_vars&&(a.value={...a.value,global_vars:oe.updated_global_vars}),await N(),!0):!1}catch(Ce){return L(ne)?await D(Ce):!1}finally{L(ne)&&(w.value="")}}async function Y(te){return!t.enabled()||!await G({nodeId:te.nodeId,enable:!0,mockResult:te.mockResult,mockOutputs:te.mockOutputs,mockError:te.mockError})?!1:M({...te,mode:"mock"})}async function Z(te){return G({nodeId:te,enable:!1})}function W(te){!a.value||te.size===0||(a.value={...a.value,nodes:a.value.nodes.map(ne=>te.has(ne.node_id)?{...ne,status:"not_run",duration_ms:null,error_detail:null,outputs:null,selected_flow_ids:[],condition_results:[],log_ref:null}:ne)})}function q(){const te=(a.value?.nodes??[]).some(ne=>ne.status!=="not_run");l.value=te?null:"none",r.value=null,te||(i.clear(),s=!1,c=null)}async function ee(te){if(!t.enabled())return!1;const ne=z();y.value=!0;try{const oe=await Sl(t.api,"terminateDebug")({templateId:t.templateId(),nodeId:te});return!L(ne)||(oe.status==="terminating"&&a.value&&(a.value={...a.value,status:"terminating"},S("terminating",!0)),te&&W(new Set(oe.reset_node_ids??[te])),await N(),!L(ne))?!1:(te&&q(),!0)}catch(Ce){return L(ne)?await D(Ce):!1}finally{L(ne)&&(y.value=!1)}}async function he(te){if(!t.enabled())return null;const ne=z();x.value=!0;try{const oe=await Sl(t.api,"resetDebugResult")({templateId:t.templateId(),nodeIds:te});if(!L(ne))return null;const le=new Set(oe.reset_node_ids??te??a.value?.nodes.map(ke=>ke.node_id)??[]);return W(le),await N(),L(ne)?(le.size>0&&q(),oe):null}catch(Ce){return L(ne)&&await D(Ce),null}finally{L(ne)&&(x.value=!1)}}return e.getCurrentScope()&&e.onScopeDispose(V),{context:a,canvasState:h,initializing:g,globalRunPending:m,stepRunPendingNodeId:v,mockSavePendingNodeId:w,terminatePending:y,resetPending:x,actionPending:B,contextSyncError:k,initialize:H,refresh:N,fetchInputSchema:j,runGlobal:O,runStep:M,saveMock:G,runMock:Y,cancelMock:Z,terminate:ee,reset:he,resetState:V,stopPolling:_}}const wre=1e3;function rA(t){if(t==null||!Number.isFinite(t))return"--";const n=Math.max(0,Math.floor(t/wre)),o=Math.floor(n/3600),a=Math.floor(n%3600/60),l=n%60,r=String(l).padStart(2,"0");return o>0?`${o}:${String(a).padStart(2,"0")}:${r}`:`${a}:${r}`}const aa={realBlocked:"部分必填入参未填写,无法调试",realWhileMock:"当前使用 Mock 输出,请先取消 Mock,才可以调试",realWhileSkipDebug:"当前已跳过调试,请先取消跳过调试,才可以调试",realWhileDebugging:"当前流程正在调试中,无法调试",mockCreateWhileDebugging:"调试中,无法新建 Mock 输出",mockEditWhileDebugging:"当前流程正在调试中,无法编辑 Mock 输出",mockCancelWhileDebugging:"当前流程正在调试中,无法取消 Mock",skipDebugCancelWhileDebugging:"当前流程正在调试中,无法取消跳过调试"};function kre(t){const n=!!t.terminatePending,o=t.isFlowDebugging,a=t.isActiveStep,l=!!(t.systemOnlyOutputs&&t.isMock),r=Cre(t,a,o,n,l),i=t.isMock?"编辑 Mock 输出":"新建 Mock 输出",s=o,c=s?t.isMock?aa.mockEditWhileDebugging:aa.mockCreateWhileDebugging:"";return{primary:r,mock:{visible:!l,label:i,disabled:s,tooltip:c},cancelMock:{visible:t.isMock,disabled:o,label:l?"取消 跳过调试":"取消 Mock",tooltip:o?l?aa.skipDebugCancelWhileDebugging:aa.mockCancelWhileDebugging:""},viewResult:{visible:l?!1:t.hasResult||t.isMock||t.isActiveStep}}}function Cre(t,n,o,a,l){if(n)return{kind:"terminate",label:a?"终止中...":"终止调试",disabled:a,tooltip:""};const r=t.hasResult&&!t.isMock?"重新调试":"立即调试";return t.isMock?{kind:"runReal",label:r,disabled:!0,tooltip:l?aa.realWhileSkipDebug:aa.realWhileMock}:o?{kind:"runReal",label:r,disabled:!0,tooltip:aa.realWhileDebugging}:t.realBlocked?{kind:"runReal",label:r,disabled:!0,tooltip:aa.realBlocked}:{kind:"runReal",label:r,disabled:!1,tooltip:""}}const Are="重新调试";function Ere(t,n){if(n.status!=="idle"||n.runType!=="step"||n.failedNodeIds.length!==1||!t)return null;const o=t.nodes;if(o.some(r=>da(r.status)==="running"))return null;const a=n.failedNodeIds[0];return o.find(r=>r.node_id===a)?.execution_mode==="mock"?{nodeId:a,disabled:!0,tooltip:aa.realWhileMock}:{nodeId:a,disabled:!1,tooltip:Are}}const Bre={class:"debug-trigger"},xre=["disabled","title"],_re={key:1,class:"debug-trigger__running-dots","aria-label":"调试中"},Vre={class:"debug-trigger__label"},Sre={key:0,class:"debug-summary-card","data-test":"debug-summary"},Nre={class:"summary-row"},Dre={class:"summary-value summary-value--num"},Tre={key:0,class:"summary-row"},Ire={class:"summary-value","data-test":"debug-node-count"},Ore={class:"summary-value--num"},Mre={key:1,class:"summary-row"},Pre={class:"summary-value","data-test":"failed-node-count"},Lre=["tabindex","onKeydown"],Rre=["onKeydown"],Fre={key:2,class:"summary-actions"},zre={key:3,class:"summary-actions"},jre=e.defineComponent({__name:"index",props:{context:{},summary:{},terminatePending:{type:Boolean,default:!1},initializing:{type:Boolean,default:!1},syncError:{default:""}},emits:["start","openResult","terminate","locateFailed","retryStep"],setup(t,{emit:n}){const o=t,a=n,l=e.computed(()=>o.context?.status??"idle"),r=e.computed(()=>o.context?.nodes.some(Z=>da(Z.status)==="running")??!1),i=e.computed(()=>l.value==="terminating"?"terminating":l.value==="running"||r.value?"running":"idle"),s=e.computed(()=>o.summary.hasRecord),c=e.computed(()=>o.summary.resultState),f=e.computed(()=>{const Z=o.context;return Z?i.value==="running"||i.value==="terminating"?(Z.active_run_type??Z.last_run_type)==="global":o.summary.runType==="global":!1}),p=e.computed(()=>c.value==="failed"),h=e.computed(()=>i.value==="idle"&&c.value==="revoked"),g=e.computed(()=>i.value==="idle"&&c.value==="success"&&!o.syncError),m=e.computed(()=>i.value==="idle"&&!s.value),v=e.computed(()=>o.syncError||i.value!=="idle"||!s.value?null:h.value?{text:"调试终止",tone:"revoked"}:p.value?{text:"失败",tone:"failed"}:{text:"成功",tone:"success"}),w=e.computed(()=>o.initializing?"同步中":o.syncError?"同步失败":i.value==="running"?"调试中":i.value==="terminating"?"终止中":"调试"),y=e.computed(()=>({"is-running":i.value==="running"||i.value==="terminating","is-success":g.value,"is-failed":i.value==="idle"&&p.value,"is-revoked":h.value})),x=e.computed(()=>y.value),B=e.computed(()=>o.syncError?"bkflow-canvas-circle-alert-filled":i.value==="terminating"?"bkflow-canvas-loading":"bkflow-canvas-debug"),k=e.computed(()=>i.value==="running"||i.value==="terminating"?"bkflow-canvas-loading":h.value?"bkflow-canvas-stop-2":p.value?"bkflow-canvas-close-circle":g.value?"bkflow-canvas-check-circle":"bkflow-canvas-debug"),b=e.computed(()=>f.value?"全局":"单步"),A=e.computed(()=>i.value==="running"?"调试中":i.value==="terminating"?"终止中":s.value?h.value?`${b.value}调试终止`:p.value?`${b.value}调试失败`:`${b.value}调试成功`:"调试"),C=e.computed(()=>o.summary.active||s.value),_=e.computed(()=>i.value==="running"||i.value==="terminating"),V=e.computed(()=>i.value==="terminating"||o.terminatePending),S=e.computed(()=>i.value==="idle"&&s.value),N=e.computed(()=>f.value?"重新调试":"全局调试"),D=e.computed(()=>f.value?"debug-restart":"debug-global-entry"),H=e.computed(()=>o.summary.active||s.value),j=e.computed(()=>f.value?o.summary.nodeCount:1),I=e.computed(()=>o.summary.errorNodeCount>0),F=e.computed(()=>o.syncError?null:Ere(o.context,o.summary)),z=e.computed(()=>rA(o.summary.durationMs)),L=()=>{if(!o.initializing){if(m.value){a("start");return}a("openResult")}},O=()=>{V.value||a("terminate")},M=()=>{a("start")},G=()=>{o.summary.errorNodeCount<1||a("locateFailed")},Y=()=>{const Z=F.value;!Z||Z.disabled||a("retryStep",Z.nodeId)};return(Z,W)=>{const q=e.resolveComponent("bk-button"),ee=e.resolveDirective("bk-tooltips");return e.openBlock(),e.createElementBlock("div",Bre,[e.createElementVNode("button",{type:"button","data-test":"debug-trigger",class:e.normalizeClass(["debug-trigger__button",x.value]),disabled:o.initializing,title:o.syncError||"",onClick:L},[v.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["debug-trigger__badge",`is-${v.value.tone}`])},e.toDisplayString(v.value.text),3)):i.value==="running"?(e.openBlock(),e.createElementBlock("span",_re,[...W[0]||(W[0]=[e.createElementVNode("span",null,null,-1),e.createElementVNode("span",null,null,-1),e.createElementVNode("span",null,null,-1)])])):(e.openBlock(),e.createElementBlock("i",{key:2,class:e.normalizeClass(["bkflow-canvas-icon",B.value,"debug-trigger__icon"])},null,2)),e.createElementVNode("span",Vre,e.toDisplayString(w.value),1)],10,xre),C.value?(e.openBlock(),e.createElementBlock("div",Sre,[e.createElementVNode("div",{class:e.normalizeClass(["summary-title",y.value]),"data-test":"summary-title"},[e.createElementVNode("i",{class:e.normalizeClass(["bkflow-canvas-icon",k.value,"summary-title__icon"])},null,2),e.createElementVNode("span",null,e.toDisplayString(A.value),1)],2),e.createElementVNode("div",Nre,[W[1]||(W[1]=e.createElementVNode("span",{class:"summary-label"},"调试用时",-1)),e.createElementVNode("span",Dre,e.toDisplayString(z.value),1)]),H.value?(e.openBlock(),e.createElementBlock("div",Tre,[W[3]||(W[3]=e.createElementVNode("span",{class:"summary-label"},"调试节点",-1)),e.createElementVNode("span",Ire,[e.createElementVNode("span",Ore,e.toDisplayString(j.value),1),W[2]||(W[2]=e.createTextVNode(" 个 ",-1))])])):e.createCommentVNode("",!0),I.value?(e.openBlock(),e.createElementBlock("div",Mre,[W[5]||(W[5]=e.createElementVNode("span",{class:"summary-label"},"失败节点",-1)),e.createElementVNode("span",Pre,[F.value?e.withDirectives((e.openBlock(),e.createElementBlock("i",{key:0,class:e.normalizeClass(["bkflow-canvas-icon","bkflow-canvas-refresh","summary-value--retry",{"is-disabled":F.value.disabled}]),"data-test":"debug-step-retry",role:"button",tabindex:F.value.disabled?-1:0,onClick:e.withModifiers(Y,["stop"]),onKeydown:e.withKeys(e.withModifiers(Y,["prevent"]),["enter","space"])},null,42,Lre)),[[ee,F.value.tooltip]]):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createElementBlock("span",{class:"summary-value--num summary-value--failed-action","data-test":"failed-node-count-action",role:"button",tabindex:"0",onClick:e.withModifiers(G,["stop"]),onKeydown:e.withKeys(e.withModifiers(G,["prevent"]),["enter","space"])},[e.createTextVNode(e.toDisplayString(t.summary.errorNodeCount),1)],40,Rre)),[[ee,"定位错误"]]),W[4]||(W[4]=e.createTextVNode(" 个 ",-1))])])):e.createCommentVNode("",!0),_.value?(e.openBlock(),e.createElementBlock("div",Fre,[e.createVNode(q,{"data-test":"debug-terminate",outline:"",theme:"primary",size:"small",disabled:V.value,onClick:O},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.value==="terminating"||t.terminatePending?"终止中...":"终止调试"),1)]),_:1},8,["disabled"])])):e.createCommentVNode("",!0),S.value?(e.openBlock(),e.createElementBlock("div",zre,[e.createVNode(q,{"data-test":D.value,outline:"",theme:"primary",size:"small",onClick:M},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(N.value),1)]),_:1},8,["data-test"])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])}}}),Hre=je(jre,[["__scopeId","data-v-10d7e32f"]]),Ure={class:"node-debug-config","data-test":"node-debug-config"},Wre={class:"node-debug-config__section"},Gre={class:"node-debug-config__params","data-test":"input-params"},Yre={key:0},Qre={class:"node-debug-config__error",colspan:"2"},qre={key:1},Kre=["title"],$re={class:"col-value"},Zre={key:0,class:"node-debug-config__missing-value","data-test":"missing-value"},Xre={key:2,class:"node-debug-config__value"},Jre={class:"node-debug-config__jump-candidates"},ese=["onClick"],tse={key:0,class:"node-debug-config__reason","data-test":"missing-reason"},nse={class:"node-debug-config__actions"},ose=e.defineComponent({__name:"index",props:{node:{},contextNode:{default:null},pendingAction:{default:""},isActiveStep:{type:Boolean,default:!1},terminatePending:{type:Boolean,default:!1},hasResult:{type:Boolean,default:!1},nodeNameMap:{default:()=>({})},stale:{type:Boolean,default:!1},isFlowDebugging:{type:Boolean,default:!1}},emits:["runReal","terminate","runMock","cancelMock","viewResult","jumpToSourceNode"],setup(t,{emit:n}){const o=t,a=n,l=e.computed(()=>o.stale?[]:o.contextNode?.missing_vars??[]),r=e.computed(()=>o.stale?!0:o.contextNode?.can_step??!0),i=e.computed(()=>o.contextNode?.execution_mode==="mock"),{loading:s,error:c,visibleInputs:f,meta:p}=Jv({component:()=>o.node?.component}),h=e.computed(()=>!r.value||l.value.length>0),g=e.computed(()=>Cm(p.value.outputs)),m=e.computed(()=>kre({realBlocked:h.value,isMock:i.value,isActiveStep:o.isActiveStep,isFlowDebugging:o.isFlowDebugging,hasResult:o.hasResult,terminatePending:o.terminatePending,systemOnlyOutputs:g.value})),v=k=>k==null?"":typeof k=="object"?JSON.stringify(k,null,2):String(k),w=(k,b)=>{if(!b)return!1;try{return JSON.stringify(k??"").includes(b)}catch{return!1}},y=e.computed(()=>{const k=o.node?.component?.data??{};return f.value.filter(({key:b})=>Object.prototype.hasOwnProperty.call(k,b)).map(({key:b,name:A})=>{const _=k[b]?.value,V=l.value.filter(N=>w(_,N.key)),S=Fe.uniqBy(V.filter(N=>!!N.source_node_id),"source_node_id");return{key:b,name:A,rawValue:_,display:v(_),isComplex:Bd(_),missing:V,jumpCandidates:S}})}),x=k=>k?o.nodeNameMap[k]||k:"",B=k=>{k&&a("jumpToSourceNode",k)};return(k,b)=>{const A=e.resolveComponent("bk-button"),C=e.resolveComponent("bk-popover"),_=e.resolveDirective("bkloading"),V=e.resolveDirective("bk-tooltips");return e.openBlock(),e.createElementBlock("div",Ure,[e.withDirectives((e.openBlock(),e.createElementBlock("div",Wre,[b[10]||(b[10]=e.createElementVNode("div",{class:"node-debug-config__section-title"},"输入参数",-1)),e.createElementVNode("table",Gre,[b[9]||(b[9]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",{class:"col-name"},"参数名"),e.createElementVNode("th",{class:"col-value"},"参数值")])],-1)),e.createElementVNode("tbody",null,[e.unref(c)?(e.openBlock(),e.createElementBlock("tr",Yre,[e.createElementVNode("td",Qre,e.toDisplayString(e.unref(c)),1)])):!e.unref(s)&&y.value.length===0?(e.openBlock(),e.createElementBlock("tr",qre,[...b[5]||(b[5]=[e.createElementVNode("td",{class:"node-debug-config__empty",colspan:"2"},"暂无输入参数",-1)])])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,S=>(e.openBlock(),e.createElementBlock("tr",{key:S.key,"data-test":"input-row"},[e.createElementVNode("td",{class:"col-name",title:S.key},e.toDisplayString(S.name),9,Kre),e.createElementVNode("td",$re,[S.missing.length>0?(e.openBlock(),e.createElementBlock("div",Zre,[...b[6]||(b[6]=[e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-circle-alert-filled"},null,-1),e.createElementVNode("span",null,"暂无参数值",-1)])])):S.isComplex?(e.openBlock(),e.createBlock(jc,{key:1,value:S.rawValue,"data-test":"json-viewer"},null,8,["value"])):(e.openBlock(),e.createElementBlock("pre",Xre,e.toDisplayString(S.display),1)),S.jumpCandidates.length===1?(e.openBlock(),e.createBlock(A,{key:3,text:"",theme:"primary",size:"small","data-test":"jump-source",onClick:N=>B(S.jumpCandidates[0].source_node_id)},{default:e.withCtx(()=>[...b[7]||(b[7]=[e.createTextVNode(" 跳转至输出节点 ",-1)])]),_:1},8,["onClick"])):S.jumpCandidates.length>1?(e.openBlock(),e.createBlock(C,{key:4,trigger:"click",theme:"light",placement:"bottom-start"},{content:e.withCtx(()=>[e.createElementVNode("div",Jre,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.jumpCandidates,N=>(e.openBlock(),e.createElementBlock("div",{key:N.source_node_id,class:"node-debug-config__jump-candidate","data-test":"jump-candidate",onClick:D=>B(N.source_node_id)},e.toDisplayString(x(N.source_node_id)),9,ese))),128))])]),default:e.withCtx(()=>[e.createVNode(A,{text:"",theme:"primary",size:"small","data-test":"jump-multi"},{default:e.withCtx(()=>[...b[8]||(b[8]=[e.createTextVNode("跳转至输出节点",-1)])]),_:1})]),_:2},1024)):e.createCommentVNode("",!0)])]))),128))])])])),[[_,{loading:e.unref(s)}]]),h.value&&l.value.length>0?(e.openBlock(),e.createElementBlock("div",tse,e.toDisplayString(e.unref(aa).realBlocked),1)):e.createCommentVNode("",!0),e.createElementVNode("div",nse,[m.value.primary.kind==="terminate"?(e.openBlock(),e.createBlock(A,{key:0,outline:"",theme:"danger","data-test":"terminate-step",loading:o.terminatePending,disabled:m.value.primary.disabled,onClick:b[0]||(b[0]=S=>a("terminate"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value.primary.label),1)]),_:1},8,["loading","disabled"])):e.withDirectives((e.openBlock(),e.createBlock(A,{key:1,theme:"primary","data-test":"run-real",disabled:m.value.primary.disabled,loading:o.pendingAction==="real",onClick:b[1]||(b[1]=S=>a("runReal"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value.primary.label),1)]),_:1},8,["disabled","loading"])),[[V,{content:m.value.primary.tooltip,disabled:!m.value.primary.disabled}]]),m.value.mock.visible?e.withDirectives((e.openBlock(),e.createBlock(A,{key:2,outline:"",theme:"primary","data-test":"open-mock",disabled:m.value.mock.disabled,loading:o.pendingAction==="mock",onClick:b[2]||(b[2]=S=>a("runMock"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value.mock.label),1)]),_:1},8,["disabled","loading"])),[[V,{content:m.value.mock.tooltip,disabled:!m.value.mock.disabled}]]):e.createCommentVNode("",!0),m.value.cancelMock.visible?e.withDirectives((e.openBlock(),e.createBlock(A,{key:3,"data-test":"cancel-mock",disabled:m.value.cancelMock.disabled,loading:o.pendingAction==="cancel-mock",onClick:b[3]||(b[3]=S=>a("cancelMock"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value.cancelMock.label),1)]),_:1},8,["disabled","loading"])),[[V,{content:m.value.cancelMock.tooltip,disabled:!m.value.cancelMock.disabled}]]):e.createCommentVNode("",!0),m.value.viewResult.visible?(e.openBlock(),e.createBlock(A,{key:4,text:"",theme:"primary","data-test":"view-result",class:"node-debug-config__view-result",onClick:b[4]||(b[4]=S=>a("viewResult"))},{default:e.withCtx(()=>[...b[11]||(b[11]=[e.createTextVNode(" 查看结果 ",-1),e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-jump-link-line node-debug-config__view-result-icon","aria-hidden":"true"},null,-1)])]),_:1})):e.createCommentVNode("",!0)])])}}}),ase=je(ose,[["__scopeId","data-v-77bc692b"]]),lse=t=>{const n=[t.start_event?.id,...Object.keys(t.activities??{}),...Object.keys(t.gateways??{}),t.end_event?.id].filter(o=>!!o);return[...new Set(n)]};function rse(t){if(!t)return[];const n=lse(t),o=new Set(n),a=new Map(n.map((m,v)=>[m,v])),l=new Map((t.location??[]).map(m=>[m.id,m])),r=new Map(n.map(m=>[m,[]])),i=new Map,s=new Set;Object.values(t.flows??{}).forEach((m,v)=>{if(!o.has(m.source)||!o.has(m.target))return;const w=`${m.source}\0${m.target}`;s.has(w)||(s.add(w),r.get(m.source)?.push(m.target),i.has(m.target)||i.set(m.target,v))});const c=(m,v)=>{const w=(i.get(m)??Number.MAX_SAFE_INTEGER)-(i.get(v)??Number.MAX_SAFE_INTEGER);if(w!==0)return w;const y=l.get(m),x=l.get(v),B=(y?.x??Number.MAX_SAFE_INTEGER)-(x?.x??Number.MAX_SAFE_INTEGER);if(B!==0)return B;const k=(y?.y??Number.MAX_SAFE_INTEGER)-(x?.y??Number.MAX_SAFE_INTEGER);return k!==0?k:(a.get(m)??0)-(a.get(v)??0)},f=new Set,p=t.start_event?.id;if(p&&o.has(p)){const m=[p];for(f.add(p);m.length>0;){const v=m.shift();(r.get(v)??[]).forEach(w=>{f.has(w)||(f.add(w),m.push(w))})}}const h=m=>{if(m.size===0)return[];const v=new Map([...m].map(B=>[B,0]));m.forEach(B=>{(r.get(B)??[]).forEach(k=>{m.has(k)&&v.set(k,(v.get(k)??0)+1)})});const w=[...m].filter(B=>v.get(B)===0).sort(c),y=[];for(;w.length>0;){const B=w.shift();y.push(B),(r.get(B)??[]).forEach(k=>{if(!m.has(k))return;const b=(v.get(k)??0)-1;v.set(k,b),b===0&&(w.push(k),w.sort(c))})}const x=new Set(y);return[...y,...[...m].filter(B=>!x.has(B)).sort(c)]},g=new Set(n.filter(m=>!f.has(m)));return[...h(f),...h(g)]}const sse={ExclusiveGateway:"bkflow-canvas-icon bkflow-canvas-fenzhiwangguan",ParallelGateway:"bkflow-canvas-icon bkflow-canvas-bingxingwangguan",ConditionalParallelGateway:"bkflow-canvas-icon bkflow-canvas-tiaojianbingxingwangguan",ConvergeGateway:"bkflow-canvas-icon bkflow-canvas-huijuwangguan"},Ap={ServiceActivity:"任务节点",EmptyStartEvent:"开始节点",EmptyEndEvent:"结束节点",ExclusiveGateway:"分支网关",ParallelGateway:"并行网关",ConditionalParallelGateway:"条件并行网关",ConvergeGateway:"汇聚网关"},ise=t=>!t||t.includes("bkflow-canvas-icon")?t:`bkflow-canvas-icon ${t}`;function use(t){if(!t.component?.code)return"";if(t.component.code==="uniform_api"){const n=t.component.api_meta?.category?.name??"";return gt.PLUGGIN_GROUP_FONT_CLASS_MAP[n]??gt.PLUGGIN_GROUP_FONT_CLASS_MAP.bkflow}return gt.PLUGGIN_GROUP_FONT_CLASS_MAP.bkflow}function cse(t,n){const o=t?.location?.find(i=>i.id===n),a=ise(o?.icon??""),l=t?.activities?.[n];if(l)return{name:!!l.component?.code?l.name||o?.name||n:"节点未配置",type:l.type||"ServiceActivity",typeName:Ap[l.type]??"任务节点",icon:use(l)};const r=t?.gateways?.[n];return r?{name:r.name||o?.name||Ap[r.type]||n,type:r.type,typeName:Ap[r.type]??"网关",icon:a||sse[r.type]||""}:t?.start_event?.id===n?{name:t.start_event.name||"开始",type:"EmptyStartEvent",typeName:"开始节点",icon:a||"bkflow-canvas-icon bkflow-canvas-kaishi"}:t?.end_event?.id===n?{name:t.end_event.name||"结束",type:"EmptyEndEvent",typeName:"结束节点",icon:a||"bkflow-canvas-icon bkflow-canvas-stop"}:o?{name:o.name||n,type:o.type||"",typeName:"",icon:a}:{name:n,type:"",typeName:"",icon:""}}function fc(t){return t?rse(t).filter(n=>!!(t.activities?.[n]||t.gateways?.[n])):[]}function dse(t,n,o=new Set){if(!t)return[];const a=new Map((n??[]).map(l=>[l.node_id,da(l.status)]));return fc(t).map(l=>{const r=t.activities?.[l],i=r?!!r.component?.code:!0,s=cse(t,l);return{id:l,name:s.name,type:s.type||r?.type||"",typeName:s.typeName,icon:s.icon,status:a.get(l)??"not_run",isMock:!!(r&&o.has(l)),isConfigured:i}})}function fse(t){if(!t)return{};if(t.mock_outputs&&Object.keys(t.mock_outputs).length>0)return t.mock_outputs;if(t.outputs&&Object.keys(t.outputs).length>0)return t.outputs;const n=t.selected_flow_ids??[],o=t.condition_results??[];return n.length===0&&o.length===0?{}:{...n.length>0?{selected_flow_ids:n}:{},...o.length>0?{condition_results:o}:{}}}function Hw(t,n){const o=t.nodes.find(a=>a.node_id===n);return{taskId:o?.log_ref?.instance_id??null,taskNodeId:o?.log_ref?.node_id??"",version:o?.log_ref?.version??""}}const Uw=t=>typeof t=="string"?t:t instanceof Error?t.message:"加载调试结果失败";function pse(t){const n=e.ref(!1),o=e.ref(!1),a=e.ref(""),l=e.ref(""),r=e.ref(""),i=e.shallowRef({status:"not_run"}),s=e.shallowRef({}),c=e.shallowRef({}),f=e.shallowRef(void 0),p=new Map,h=new Map;let g=0,m=0;const v=B=>{s.value=B.inputs,c.value=B.outputs,n.value=!1,a.value="",l.value=""},w=()=>{i.value={status:"not_run"},s.value={},c.value={},f.value=void 0,n.value=!1,o.value=!1,a.value="",l.value="",r.value=""},y=async()=>{const B=t.context(),k=t.nodeId(),b=++g;if(!B||!k){w();return}const A=B.nodes.find(L=>L.node_id===k),C=A?da(A.status):"not_run";i.value={status:C,durationMs:A?.duration_ms??void 0,errorDetail:A?.error_detail};const _=t.fallbackInputs?.()??{},V=fse(A),S=A?.mock_error??(typeof A?.error_detail=="string"?A.error_detail:"");if(!A?.log_ref){s.value=_,c.value=V,f.value=void 0,a.value=S,l.value="",r.value="",o.value=!1,n.value=!1;return}const D=Hw(B,k),H=t.componentCode?.(),j=`${B.template_id}_${D.taskId??""}_${D.taskNodeId}_${D.version}_${H??""}`,I=Fw(C),F=I?p.get(j):void 0;if(F){v(F);return}const z=t.api.fetchTaskNodeDetail;if(!z){s.value=_,c.value=V,n.value=!1;const L="节点详情接口未配置(fetchTaskNodeDetail)";a.value=S,l.value=L;return}n.value=!0,a.value=S,c.value=V,l.value="";try{const L=await z({task_id:D.taskId,node_id:D.taskNodeId,...H?{component_code:H}:{}});if(b!==g)return;const O=Go(L);s.value=Go(O?.inputs)??{};const M=O?.outputs??{};c.value=Qae(M)?V:M,I&&p.set(j,{inputs:s.value,outputs:c.value})}catch(L){if(b!==g)return;s.value=_,c.value=V,l.value=`节点详情加载失败:${Uw(L)}`}finally{b===g&&(n.value=!1)}},x=async()=>{const B=++m;if(!t.logsActive?.()){o.value=!1;return}const k=t.context(),b=t.nodeId(),A=k?.nodes.find(D=>D.node_id===b);if(!k||!b||!A?.log_ref){f.value=void 0,r.value="",o.value=!1;return}const C=Hw(k,b),_=`${k.template_id}_${C.taskId??""}_${C.taskNodeId}_${C.version}`,V=da(A.status),S=Fw(V);if(S&&h.has(_)){f.value=h.get(_),r.value="",o.value=!1;return}const N=t.api.fetchTaskNodeLog;if(!N){f.value=void 0,r.value="调用日志接口未配置(fetchTaskNodeLog)",o.value=!1;return}f.value=void 0,o.value=!0,r.value="";try{const D=await N({task_id:C.taskId,node_id:C.taskNodeId,version:C.version});if(B!==m)return;f.value=D,S&&h.set(_,D)}catch(D){if(B!==m)return;f.value=void 0,r.value=`调用日志加载失败:${Uw(D)}`}finally{B===m&&(o.value=!1)}};return e.watch(()=>[t.nodeId(),t.componentCode?.(),t.context()?.nodes,t.fallbackInputs?.()],()=>{y()},{immediate:!0}),e.watch(()=>{const B=t.context(),k=t.nodeId(),b=B?.nodes.find(A=>A.node_id===k)?.log_ref;return[t.logsActive?.()??!1,k,b?.instance_id,b?.node_id,b?.version]},()=>{x()},{immediate:!0}),e.computed(()=>({loading:n.value,logLoading:o.value,error:a.value,detailError:l.value,logError:r.value,execution:i.value,inputs:s.value,outputs:c.value,logs:f.value}))}function mse(t,n){if(t.length<1)return null;const o=(n%t.length+t.length)%t.length;return{nodeId:t[o],nextCursor:n+1}}function vse(t){const{api:n}=t,o=e.shallowRef(null),a=e.shallowRef([]),l=e.shallowRef([]),r=e.ref(!1),i=e.ref(!1),s=e.ref(!1),c=e.ref(!1),f=e.ref(!1),p=e.computed(()=>s.value||c.value||f.value),h=()=>t.flowId(),g=()=>t.enableVersion?.()??!1,m=()=>t.flowVersion?.();let v=0;async function w(_,V,S,N){s.value=!0;try{let D=await n.fetchFlowDetail(V);if(S)if(N){const H=await n.fetchFlowDetailByVersion(V,N);D={...D,name:H.name,pipeline_tree:H.pipeline_tree}}else{const H=await n.fetchFlowDraftDetail(V);D={...D,pipeline_tree:H.pipeline_tree}}_===v&&(o.value=D)}catch(D){console.error(D)}finally{_===v&&(s.value=!1)}}async function y(_,V){if(n.fetchSpaceFlowConfig){c.value=!0;try{await n.fetchSpaceFlowConfig(V)}catch(S){console.error(S)}finally{_===v&&(c.value=!1)}}}async function x(_,V){if(n.fetchSystemVariables)try{const S=await n.fetchSystemVariables(V);_===v&&(a.value=S)}catch(S){console.error(S)}}async function B(_){if(!(!t.canEdit()||!n.fetchAllPluginGroups)){f.value=!0;try{const V=await n.fetchAllPluginGroups();_===v&&(l.value=V)}catch(V){console.error(V)}finally{_===v&&(f.value=!1)}}}async function k(){const _=++v,V=h(),S=g(),N=m();await Promise.all([w(_,V,S,N),y(_,V),x(_,V),B(_)])}function b(){v+=1,o.value=null,a.value=[],l.value=[],r.value=!1,s.value=!1,c.value=!1,f.value=!1}function A(_){o.value&&(o.value={...o.value,pipeline_tree:_},r.value=!0)}async function C(_={}){if(!o.value||!n.saveFlow||i.value)return!1;const V=v,S=h(),N=o.value;if(_.validate&&!el(N.pipeline_tree).valid)return!1;const{name:D,desc:H,notify_config:j,pipeline_tree:I,triggers:F}=N,z={name:D,desc:H,notify_config:j,pipeline_tree:I,triggers:F};i.value=!0;try{return await n.saveFlow(S,z),V!==v||S!==h()?!1:(o.value===N&&(r.value=!1),_.silent||(t.onSave?.(N),t.onSaveSuccess?.()),!0)}catch(L){return console.error(L),!1}finally{i.value=!1}}return{flowDetail:o,systemVariables:a,pluginGroupList:l,loading:p,isFlowEdited:r,savePending:i,load:k,reset:b,updatePipelineTree:A,save:C}}const gse={key:0,class:"flow-detail-operate-area"},hse={class:"flow-detail-operate-btns"},bse={class:"flow-detail-canvas-wrapper"},yse=e.defineComponent({__name:"index",props:{flowId:{},apiConfig:{},permissions:{},enableVersion:{type:Boolean,default:!1},flowVersion:{},defaultZoom:{default:1},bkflowSaasUrl:{},enableThirdPlugin:{type:Boolean,default:!0},quickAdd:{default:void 0},hideTrigger:{type:Boolean,default:!1},selectPanelConfig:{},memberSelectorConfig:{},filterVariableConfig:{},onSave:{},onSaveSuccess:{},onExecuteSuccess:{},onBack:{}},emits:["save","saveSuccess","executeSuccess","back","createVariable"],setup(t,{expose:n,emit:o}){const a=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./index-3EhFYqPl.cjs"))),l=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./index-wCGsKTXS.cjs"))),r=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./index-D63TsQgD.cjs"))),i=t,s=o,c=e.computed(()=>({canEdit:i.permissions?.canEdit??!1,canDebug:i.permissions?.canDebug??!1,canExecute:i.permissions?.canExecute??!1})),f="fetchFlowDetail"in i.apiConfig?i.apiConfig:{...i.apiConfig,enableThirdPlugin:i.enableThirdPlugin},p=il(f);km(i.selectPanelConfig||{}),Jr(i.memberSelectorConfig),Gc(i.filterVariableConfig),Kl({},i.bkflowSaasUrl);const h=e.ref(),g=e.ref(),m=e.shallowRef(!1),v=be=>{s("createVariable",{keyword:be.keyword,cursorIndex:be.cursorIndex,defaultCustomType:be.defaultCustomType}),h.value?.openGlobalVariableCreate(be)};gt.provideVariableInputCreateVariable(v);const w=vse({flowId:()=>String(i.flowId),enableVersion:()=>i.enableVersion,flowVersion:()=>i.flowVersion,canEdit:()=>c.value.canEdit,api:p,onSave:i.onSave,onSaveSuccess:i.onSaveSuccess}),y=w.flowDetail;Em(be=>y.value?.pipeline_tree?.activities?.[be]?.component);const x=w.systemVariables,B=w.pluginGroupList,k=w.savePending,b=e.computed(()=>w.loading.value),A=e.computed(()=>{const be=y.value?.pipeline_tree;return be?new Set(fc(be)):null}),C=yre({templateId:()=>String(i.flowId),enabled:()=>c.value.canDebug,api:p,onMessage:(be,Je)=>Xt({theme:be,message:Je,ellipsisLine:3}),existingNodeIds:()=>A.value}),_=e.ref(!1),V=e.ref(!1),S=e.ref(!1),N=e.ref(!1),D=e.ref(null),H=e.computed(()=>S.value?"调试结果失效清理未完成,请在调试前重试":C.contextSyncError.value);let j=0;const I=e.computed(()=>c.value.canDebug&&(w.isFlowEdited.value||N.value||S.value)),F=e.computed(()=>c.value.canDebug&&["running","terminating"].includes(C.context.value?.status??"idle")),z=e.computed(()=>c.value.canEdit&&!F.value),L=e.computed(()=>z.value?"":"调试中,暂不可保存"),O=e.computed(()=>z.value?152:0),M=e.computed(()=>c.value.canDebug&&!C.initializing.value&&!C.actionPending.value&&!_.value&&!V.value&&!k.value&&(C.context.value?.status??"idle")==="idle"),G=e.computed(()=>C.canvasState.value.nodeStates),Y=Ed(G),Z=e.computed(()=>c.value.canDebug?[Y]:[]),W=e.computed(()=>c.value.canDebug?{isMockNode:be=>C.canvasState.value.mockNodeIds.has(be),getNodeStatus:be=>C.context.value?.nodes.find(Je=>Je.node_id===be)?.status,focusedNodeId:()=>bt.value,openNodeDebugPanel:be=>{g.value?.openNodeDebugPanel?.(be),Dt(be)},isLocked:()=>F.value}:void 0),q=e.computed(()=>{const be=y.value?.pipeline_tree;return!be||!c.value.canDebug?be:Kv(be,G.value)});let ee=0;async function he(be=!1){const Je=++ee;if(be&&(w.reset(),Mi(),m.value=!1),await w.load(),Je===ee){if(!y.value){Xt({theme:"error",message:"加载流程详情失败,请刷新重试"});return}if(c.value.canDebug&&(await C.initialize(),Je===ee)){if(C.contextSyncError.value&&Xt({theme:"warning",message:`调试状态同步失败:${C.contextSyncError.value}`,ellipsisLine:3}),C.context.value?.status!=="idle"){va();return}C.contextSyncError.value||await De()}}}e.onMounted(()=>{he()});const te=()=>{i.onBack?i.onBack():s("back")},ne=be=>{y.value=be,w.isFlowEdited.value=!0},Ce=be=>{y.value&&(y.value={...y.value,pipeline_tree:{...y.value.pipeline_tree,constants:be}}),w.isFlowEdited.value=!0,g.value?.updateGlobalVariables(be)},oe=be=>{g.value?.updateOutputs(be)},le=be=>{w.updatePipelineTree(be)},ke=(be,Je="")=>{Xt({theme:"error",message:Je?`${Je}${be.message}`:be.message}),be.ids.length>0&&g.value?.locateNode?.(be.ids[0])},Ae=()=>({epoch:j,flowId:String(i.flowId)}),Ne=be=>be.epoch===j&&be.flowId===String(i.flowId),Ve=async()=>{if(!c.value.canDebug||!p.fetchDebugResetImpact)return[];const be=Ae();try{const Je=await p.fetchDebugResetImpact(be.flowId);return Ne(be)?Je?.reset_node_ids??[]:null}catch(Je){return console.error(Je),Ne(be)&&Xt({theme:"error",message:gt.normalizeApiError(Je).message}),null}},De=async()=>{if((C.context.value?.status??"idle")!=="idle")return;const be=Ae(),Je=await Ve();Ne(be)&&(C.context.value?.status??"idle")==="idle"&&(Je===null||Je.length>0)&&(N.value=!0)},qe=async()=>{if(!c.value.canDebug||!p.fetchDebugResetImpact)return S.value=!1,N.value=!1,!0;if((C.context.value?.status??"idle")!=="idle")return!1;const be=Ae();S.value=!0;const Je=await Ve();if(Je===null)return!1;if(Je.length>0){if(!Ne(be))return!1;try{const jt=await C.reset(Je);if(!Ne(be)||!jt)return!1}catch(jt){return console.error(jt),!1}}return Ne(be)?(S.value=!1,N.value=!1,!0):!1},Te=async(be=!1)=>{if(!z.value||!y.value)return!1;if(c.value.canDebug){if(await C.refresh(),C.contextSyncError.value)return Xt({theme:"error",message:`调试状态同步失败,暂不能保存:${C.contextSyncError.value}`}),!1;if((C.context.value?.status??"idle")!=="idle")return Xt({theme:"warning",message:"流程正在调试中,暂不能保存"}),!1}const Je=el(y.value.pipeline_tree);if(!Je.valid)return ke(Je),!1;const jt=w.isFlowEdited.value,To=await w.save({silent:be,validate:!1});return To?(Xt({theme:"success",message:"保存成功"}),be||(s("save",y.value),s("saveSuccess")),jt&&await qe()):be&&Xt({theme:"error",message:"保存失败,请重试"}),To},Ee=async()=>{await Te()},tt=()=>{if(c.value.canExecute){if(!w.isFlowEdited.value){m.value=!0;return}if(!c.value.canEdit||!z.value){Xt({theme:"warning",message:"当前流程存在未保存修改,且暂时无法保存"});return}qn.InfoBox({title:"确认执行流程?",content:"流程已修改,执行前需要先保存流程。是否保存并继续?",confirmText:"保存并继续",cancelText:"取消",width:400,headerAlign:"center",footerAlign:"center",onConfirm:async()=>{await Te(!0)&&(m.value=!0)}})}},ie=be=>{s("executeSuccess",be),i.onExecuteSuccess?.(be)},ce=e.ref(!1),Pe=e.ref("run"),ot=e.shallowRef({}),at=e.ref(!1),vt=e.computed(()=>{const be=C.context.value;return{...be?.last_inputs??be?.global_vars??{}}}),rt=async(be,Je)=>{if(!y.value)return!1;const jt=el(y.value.pipeline_tree,be==="node"&&Je?{requireConfiguredNodeIds:[Je]}:{});if(!jt.valid)return ke(jt,"无法调试:"),!1;if(w.isFlowEdited.value){if(!c.value.canEdit)return Xt({theme:"warning",message:"当前流程存在未保存修改,且没有保存权限"}),!1;if(!await w.save({silent:!0,validate:!1}))return Xt({theme:"error",message:"保存流程失败,已中止调试"}),!1;if(w.isFlowEdited.value)return Xt({theme:"warning",message:"保存期间流程又被修改,请重新发起调试"}),!1;N.value=!0}return be==="global"||!S.value&&!N.value?!0:qe()},Be=async(be=!0)=>!C.contextSyncError.value||(be&&await C.refresh(),!C.contextSyncError.value)?!0:(Xt({theme:"error",message:`调试状态同步失败:${C.contextSyncError.value}`,ellipsisLine:3}),!1),Se=async()=>(await C.refresh(),await Be(!1)?(C.context.value?.status??"idle")==="idle":!1),Ie=async be=>{if(!M.value)return!1;_.value=!0;try{return await Se()?await be():!1}catch{return!1}finally{_.value=!1}},se=async()=>{if(M.value){V.value=!0;try{if(!await Se()||!await rt("global"))return;ot.value=await C.fetchInputSchema(),Pe.value="run",ce.value=!0}catch(be){console.error(be)}finally{V.value=!1}}},de=()=>{va()},ue=e.ref(0),R=e.computed(()=>C.canvasState.value.summary.failedNodeIds);e.watch(()=>R.value.join("\0"),()=>{ue.value=0});const P=()=>{const be=mse(R.value,ue.value);be&&(ue.value=be.nextCursor,va(be.nodeId))},J=be=>{C.terminatePending.value||qn.InfoBox({title:"确认终止调试?",content:"终止操作仅修改调试状态,已下发到第三方平台的任务不保证能被终止。",confirmText:"确认",cancelText:"取消",confirmButtonTheme:"danger",width:420,onConfirm:async()=>{const Je=be();if(!Je){Xt({theme:"error",message:"未获取到正在调试的任务信息,请刷新后重试"});return}try{await C.terminate(Je.runType==="step"?Je.nodeId:void 0)}catch{}}})},$=()=>{if(!Wu(C.context.value)){Xt({theme:"error",message:"未获取到正在调试的任务信息,请刷新后重试"});return}J(()=>Wu(C.context.value))},fe=e.ref(!1),pe=e.shallowRef(null),Oe=async be=>{await Ie(async()=>await rt("global")?(dt.value=!1,Le.value="",C.runGlobal(be)):!1)&&(S.value=!1,N.value=!1,fe.value=!0,pe.value={...be},ce.value=!1,at.value=!0)},Ke=e.computed(()=>{if(fe.value)return!0;const be=C.context.value;return be?be.status==="running"||be.status==="terminating"?be.active_run_type==="global":be.last_run_type==="global":!1}),Xe=e.computed(()=>pe.value??vt.value),et=e.computed(()=>Pe.value==="view"?Xe.value:vt.value),it=async()=>{if(!(!Ke.value||V.value)){V.value=!0;try{if(!await Be())return;ot.value=await C.fetchInputSchema(),Pe.value="view",ce.value=!0}catch(be){console.error(be)}finally{V.value=!1}}},X=e.computed(()=>new Set((C.context.value?.nodes??[]).filter(be=>be.status!=="not_run").map(be=>be.node_id))),ae=e.computed(()=>new Set(fc(y.value?.pipeline_tree))),we=e.computed(()=>fc(y.value?.pipeline_tree).find(be=>X.value.has(be))??""),Re=be=>C.context.value?.nodes.find(Je=>Je.node_id===be),ge=()=>{const be=Wu(C.context.value);return be?.runType==="step"?be.nodeId:""},ze=be=>ge()===be,Ye=e.computed(()=>{const be=y.value?.pipeline_tree?.activities??{},Je={};return Object.values(be).forEach(jt=>{jt?.id&&(Je[jt.id]=jt.name??jt.id)}),Je}),pt=be=>D.value?.nodeId===be?D.value.action:"",ut=be=>{Dt(be)},Et=async be=>{if(M.value){D.value={nodeId:be.id,action:"real"};try{await Ie(async()=>{const Je=w.isFlowEdited.value;if(!await rt("node",be.id))return!1;Je&&await C.refresh();const jt=Re(be.id);return!jt?.can_step||(jt.missing_vars?.length??0)>0?(Xt({theme:"warning",message:"当前输入参数不满足调试要求"}),!1):C.runStep({nodeId:be.id,mode:"real"})})}finally{D.value=null}}},Nt=be=>{!ze(be)||C.terminatePending.value||J(()=>{const Je=Wu(C.context.value);return Je?.runType==="step"&&Je.nodeId===be?Je:null})},zt=async be=>{if(M.value){D.value={nodeId:be.id,action:"cancel-mock"};try{await Ie(async()=>await rt("node",be.id)?C.cancelMock(be.id):!1)}finally{D.value=null}}},on=e.ref(!1),hn=e.shallowRef(null),Zn=e.computed(()=>{const be=hn.value?.id;return be?D.value?.nodeId===be&&D.value.action==="mock":!1}),Xn=e.computed(()=>{const be=hn.value?.id,Je=be?Re(be):void 0;return Je?.mock_outputs?{outputs:Je.mock_outputs??{}}:{outputs:{}}}),po=be=>{hn.value=be,on.value=!0},tn=async be=>{const Je=hn.value;if(!Je||!M.value)return;D.value={nodeId:Je.id,action:"mock"};const jt=await Ie(async()=>await rt("node",Je.id)?C.runMock({nodeId:Je.id,mockResult:"success",mockOutputs:be.outputs}):!1);D.value=null,jt&&(on.value=!1,at.value=!0,va(Je.id))},Ue=be=>{g.value?.updateNodeInputParams?.(be)},$e=()=>{h.value?.openGlobalVariables()},me=(be={})=>h.value?.openGlobalVariableCreate(be)??!1,Le=e.ref(""),nt=e.ref(!1),dt=e.ref(!1),bt=e.ref(""),Dt=be=>{be&&(bt.value=be,g.value?.locateNode?.(be,{offset:{y:at.value?-200:0}}))},An=be=>{dt.value=!0;const Je=Le.value===be;Le.value=be,Je&&Dt(be)},La=be=>{(be.type==="blank.click"||be.type==="node.click"||be.type==="edge.click"||be.type==="edge.label.click")&&(bt.value="")},Jl=pse({api:p,context:()=>C.context.value,nodeId:()=>Le.value,componentCode:()=>y.value?.pipeline_tree.activities?.[Le.value]?.component?.code,fallbackInputs:()=>{const be=y.value?.pipeline_tree.activities?.[Le.value]?.component?.data??{};return Object.fromEntries(Object.entries(be).map(([Je,jt])=>[Je,jt.value]))},logsActive:()=>at.value&&nt.value}),Oi=e.computed(()=>Jl.value),er=e.computed(()=>{const be=C.context.value;return be?(be.status==="running"||be.status==="terminating")&&be.active_node_id?be.active_node_id:be.nodes.find(Je=>da(Je.status)==="running")?.node_id??"":""}),ma=e.computed(()=>er.value&&ae.value.has(er.value)?er.value:""),va=be=>{const Je=at.value;if(at.value=!0,be){dt.value=!0,Le.value=be,Dt(be);return}if(ma.value&&(!Je||!dt.value)){dt.value=!1,Le.value=ma.value;return}Le.value||(Le.value=ma.value||we.value)},xd=(be,Je)=>{va(be),Je?.()};e.watch(Le,be=>{be&&Dt(be)}),e.watch(()=>C.context.value?.status??"idle",(be,Je)=>{be!==Je&&(be==="running"||be==="terminating")&&(at.value=!0,!dt.value&&ma.value&&(Le.value=ma.value))}),e.watch(ma,be=>{be&&!dt.value&&(Le.value=be)}),e.watch(A,be=>{!be||!Le.value||be.has(Le.value)||(Le.value="",bt.value="",dt.value=!1)});function Mi(){j+=1,C.resetState(),ce.value=!1,Pe.value="run",ot.value={},at.value=!1,fe.value=!1,pe.value=null,on.value=!1,hn.value=null,Le.value="",nt.value=!1,dt.value=!1,bt.value="",_.value=!1,V.value=!1,D.value=null,S.value=!1,N.value=!1}e.watch(()=>[String(i.flowId),i.flowVersion],([be,Je],[jt,To])=>{(be!==jt||Je!==To)&&he(!0)}),e.watch(()=>c.value.canDebug,(be,Je)=>{be!==Je&&(Mi(),be&&y.value&&C.initialize().then(async()=>{if(C.contextSyncError.value){Xt({theme:"warning",message:`调试状态同步失败:${C.contextSyncError.value}`,ellipsisLine:3});return}if(C.context.value?.status!=="idle"){va();return}await De()}))});const _d=be=>{const Je=y.value?.pipeline_tree?.activities?.[be];Je&&po(Je)},us=be=>{const Je=y.value?.pipeline_tree?.activities?.[be];Je&&Et(Je)},Pi=be=>{const Je=y.value?.pipeline_tree?.activities?.[be];Je&&po(Je)},Li={isFlowEdited:e.computed(()=>w.isFlowEdited.value),updateNodeInputParams:Ue,openGlobalVariables:$e,openGlobalVariableCreate:me,refreshDebugContext:async()=>{await C.refresh()},openDebugResult:va,zoomToFit:be=>g.value?.zoomToFit?.(be),centerContent:()=>g.value?.centerContent?.(),getZoom:()=>g.value?.getZoom?.()??1};return n(Li),(be,Je)=>{const jt=e.resolveComponent("bk-button"),To=e.resolveDirective("bk-tooltips"),Ri=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(hi,{title:"流程详情",desc:e.unref(y)?.name,"show-back-icon":!0,onBack:te},{header:e.withCtx(()=>[e.renderSlot(be.$slots,"header",{},void 0,!0)]),extend:e.withCtx(()=>[e.unref(y)?(e.openBlock(),e.createElementBlock("div",gse,[e.createVNode(bd,{ref_key:"flowInfoSlidersRef",ref:h,"flow-data":e.unref(y),editable:z.value,"system-variables":e.unref(x),"hide-trigger":i.hideTrigger,onChange:ne,onUpdateConstants:Ce,onUpdateOutputs:oe},null,8,["flow-data","editable","system-variables","hide-trigger"]),c.value.canDebug?(e.openBlock(),e.createBlock(Hre,{key:0,context:e.unref(C).context.value,summary:e.unref(C).canvasState.value.summary,initializing:e.unref(C).initializing.value||V.value||e.unref(k)||e.unref(C).resetPending.value,"sync-error":H.value,"terminate-pending":e.unref(C).terminatePending.value,onStart:se,onOpenResult:de,onTerminate:$,onLocateFailed:P,onRetryStep:us},null,8,["context","summary","initializing","sync-error","terminate-pending"])):e.createCommentVNode("",!0),e.createElementVNode("div",hse,[c.value.canEdit?e.withDirectives((e.openBlock(),e.createBlock(jt,{key:0,"data-test":"save-flow",theme:"primary",disabled:!z.value,loading:e.unref(k),onClick:Ee},{default:e.withCtx(()=>[...Je[5]||(Je[5]=[e.createTextVNode(" 保存 ",-1)])]),_:1},8,["disabled","loading"])),[[To,{content:L.value,disabled:!L.value}]]):e.createCommentVNode("",!0),e.createVNode(jt,{class:"execute-flow-btn",disabled:!c.value.canExecute||e.unref(k),onClick:tt},{default:e.withCtx(()=>[...Je[6]||(Je[6]=[e.createTextVNode(" 执行流程 ",-1)])]),_:1},8,["disabled"])])])):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",bse,[!b.value&&e.unref(y)?(e.openBlock(),e.createBlock(zc,{key:0,ref_key:"flowCanvasRef",ref:g,mode:z.value?"edit":"view","flow-id":String(i.flowId),"pipeline-tree":q.value,"plugin-group-list":e.unref(B),"system-variables":e.unref(x),"default-zoom":i.defaultZoom,"quick-add":i.quickAdd,"enable-node-debug":c.value.canDebug,"additional-plugins":Z.value,"debug-context":W.value,onUiEvent:La,onChange:le},{inputParams:e.withCtx(Qt=>[e.renderSlot(be.$slots,"inputParams",e.normalizeProps(e.guardReactiveProps({...Qt,updateNodeInputParams:Ue})),void 0,!0)]),nodeDebugConfig:e.withCtx(({node:Qt,close:Fi})=>[e.createVNode(ase,{node:Qt,"context-node":Re(Qt.id),stale:I.value,"pending-action":pt(Qt.id),"is-active-step":ze(Qt.id),"is-flow-debugging":F.value,"terminate-pending":e.unref(C).terminatePending.value,"has-result":X.value.has(Qt.id),"node-name-map":Ye.value,onRunReal:hl=>Et(Qt),onTerminate:hl=>Nt(Qt.id),onRunMock:hl=>po(Qt),onCancelMock:hl=>zt(Qt),onViewResult:hl=>xd(Qt.id,Fi),onJumpToSourceNode:ut},null,8,["node","context-node","stale","pending-action","is-active-step","is-flow-debugging","terminate-pending","has-result","node-name-map","onRunReal","onTerminate","onRunMock","onCancelMock","onViewResult"])]),_:3},8,["mode","flow-id","pipeline-tree","plugin-group-list","system-variables","default-zoom","quick-add","enable-node-debug","additional-plugins","debug-context"])):e.createCommentVNode("",!0),c.value.canDebug&&!b.value&&e.unref(y)?(e.openBlock(),e.createBlock(e.unref(r),{key:1,open:at.value,"onUpdate:open":Je[0]||(Je[0]=Qt=>at.value=Qt),"model-value":Le.value,context:e.unref(C).context.value,"pipeline-tree":e.unref(y).pipeline_tree,"mock-node-ids":e.unref(C).canvasState.value.mockNodeIds,result:Oi.value,"has-global-run":Ke.value,"view-params-pending":V.value,"offset-left":O.value,"onUpdate:modelValue":An,onViewParams:it,onReEditMock:_d,onRunReal:us,onRunMock:Pi,onLogsTabActive:Je[1]||(Je[1]=Qt=>nt.value=Qt)},null,8,["open","model-value","context","pipeline-tree","mock-node-ids","result","has-global-run","view-params-pending","offset-left"])):e.createCommentVNode("",!0)])),[[Ri,{loading:b.value,zIndex:100}]]),c.value.canDebug?(e.openBlock(),e.createBlock(e.unref(a),{key:0,show:ce.value,"onUpdate:show":Je[2]||(Je[2]=Qt=>ce.value=Qt),schema:ot.value,"pipeline-constants":e.unref(y)?.pipeline_tree?.constants??{},"initial-values":et.value,pending:e.unref(C).globalRunPending.value,readonly:Pe.value==="view",onConfirm:Oe},null,8,["show","schema","pipeline-constants","initial-values","pending","readonly"])):e.createCommentVNode("",!0),c.value.canDebug&&hn.value?(e.openBlock(),e.createBlock(e.unref(l),{key:1,show:on.value,"onUpdate:show":Je[3]||(Je[3]=Qt=>on.value=Qt),node:hn.value,outputs:Xn.value.outputs,pending:Zn.value,onConfirm:tn},null,8,["show","node","outputs","pending"])):e.createCommentVNode("",!0),e.unref(y)?(e.openBlock(),e.createBlock(Ad,{key:2,"flow-id":String(i.flowId),show:m.value,"api-config":i.apiConfig,"bkflow-saas-url":i.bkflowSaasUrl,"member-selector-config":i.memberSelectorConfig,onClose:Je[4]||(Je[4]=Qt=>m.value=!1),onConfirm:ie},e.createSlots({_:2},[be.$slots.customFormContent?{name:"customFormContent",fn:e.withCtx(Qt=>[e.renderSlot(be.$slots,"customFormContent",e.normalizeProps(e.guardReactiveProps(Qt)),void 0,!0)]),key:"0"}:void 0]),1032,["flow-id","show","api-config","bkflow-saas-url","member-selector-config"])):e.createCommentVNode("",!0)]),_:3},8,["desc"])}}}),wse=je(yse,[["__scopeId","data-v-fc1f8d98"]]),kse=t=>"default"in t?t.default:"",Cse={FlowView:()=>Promise.resolve().then(()=>eae),FlowEdit:()=>Promise.resolve().then(()=>rae),FlowCreateTask:()=>Promise.resolve().then(()=>_oe),FlowExecute:()=>Promise.resolve().then(()=>Bae),FlowDebug:()=>Promise.resolve().then(()=>Ioe),FlowMockDebug:()=>Promise.resolve().then(()=>are)};exports.BkFlowCanvas=wd;exports.BkFlowModelAccessor=zv;exports.BkFlowNodeAccessor=cc;exports.BuiltinVariableUsageForm=hd;exports.CallLogsViewer=oA;exports.DebugJsonViewer=jc;exports.DebugValueTable=Xv;exports.EmptyException=fn;exports.FlowCreateTask=Ad;exports.FlowDebug=vi;exports.LoadingStatusIcon=fi;exports.MockFieldRenderer=bm;exports.RenderForm=Ni;exports.SegmentTabs=$v;exports._export_sfc=je;exports.bkflowConnectionValidator=b2;exports.buildDebugResultNodeItems=dse;exports.createBkflowPlugin=h2;exports.createBkflowSchema=g2;exports.createExecutionStatusPlugin=Ed;exports.edit=Y2;exports.execute=$2;exports.exportToPipelineTree=jn;exports.formatDebugValue=gi;exports.formatJsonFieldValue=Xw;exports.formatSummaryDuration=rA;exports.getInputFormsFromConstants=Kc;exports.getUniformApiPluginFormValue=kse;exports.getVariableDefaultConfig=Bp;exports.hasOnlySystemOutputs=Cm;exports.importFromPipelineTree=uc;exports.index=wse;exports.index$1=Cse;exports.isBuiltinUsageVariable=Da;exports.isComplexDebugValue=Bd;exports.isDebugAbnormalStatus=lA;exports.isMockableNode=nk;exports.mergeOutputs=Zw;exports.mock=aA;exports.normalizeLogText=J2;exports.normalizePluginOutputItems=Ir;exports.orderDebugRowsByDeclaredKeys=X2;exports.parseJsonFieldValue=Jw;exports.pluginDetailRequest=Xs;exports.provideFilterVariableConfig=Gc;exports.provideFlowApiConfig=il;exports.provideMemberSelectorConfig=Jr;exports.provideSelectPanelConfig=km;exports.resolveExecutionActions=Q2;exports.resolveMockFormControl=pc;exports.shouldShowMockReEditHint=CN;exports.toDebugOutputValueRows=Z2;exports.useFlowApiConfig=xn;exports.useFlowEditApiConfig=gN;exports.useFlowViewApiConfig=hN;exports.useMemberSelectorConfig=qw;exports.usePluginParamMeta=Jv;exports.useSelectPanelConfig=Hc;exports.validatePipelineTree=el;exports.view=G2;
74
+ `,placement:"top"}]])]),e.createElementVNode("div",vne,[e.createElementVNode("span",gne,"共 "+e.toDisplayString(V.count)+" 篇,",1),e.createElementVNode("span",hne,e.toDisplayString(m(V.size)),1)]),e.createVNode(A,{class:"kb-checkbox",style:{"pointer-events":"none"},"model-value":f.value.includes(V.knowledgebase_id)},null,8,["model-value"])])]),e.createElementVNode("div",bne,e.toDisplayString(V.description||"--"),1)],8,cne))),128)),h.value.length===0?(e.openBlock(),e.createBlock(fn,{key:0,title:s.value.length===0?"暂无知识库":"搜索结果为空"},null,8,["title"])):e.createCommentVNode("",!0)]),h.value.length>0?(e.openBlock(),e.createElementBlock("div",yne,[e.withDirectives((e.openBlock(),e.createBlock(b,{theme:"primary",disabled:f.value.length===0,onClick:y},{default:e.withCtx(()=>[...k[4]||(k[4]=[e.createTextVNode(" 确定 ",-1)])]),_:1},8,["disabled"])),[[C,{content:f.value.length===0?"请选择知识库":"",disabled:f.value.length>0}]]),e.createVNode(b,{onClick:x},{default:e.withCtx(()=>[...k[5]||(k[5]=[e.createTextVNode("取消",-1)])]),_:1})])):e.createCommentVNode("",!0)])),[[_,{loading:p.value}]])}}}),kne=je(wne,[["__scopeId","data-v-67fc5ae8"]]),Cne={class:"plugin-group"},Ane=e.defineComponent({__name:"output-plugin-group",setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("div",Cne,[e.createVNode(fn,{title:"暂无结论输出插件"})]))}}),Ene=je(Ane,[["__scopeId","data-v-93c9733d"]]),yp="data:image/png;base64,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",Bne={class:"bkflow-plugin-group"},xne={class:"plugin-content-wrapper"},_ne={class:"tags-list"},Vne=["onClick"],Sne={class:"plugins-list"},Nne={class:"plugin-icon-wrapper"},Dne=["src"],Tne={class:"plugin-info-wrapper"},Ine={class:"plugin-name"},One=["title"],Mne={class:"managers-text"},Pne=e.defineComponent({__name:"bkflow-plugin-group",props:{bkflowPluginTags:{},activeTag:{}},emits:["selectBkflowPlugin"],setup(t,{emit:n}){const o=xn(),a=t,l=n,r=e.ref([]),i=e.ref(a.activeTag||0),s=e.ref([]),c=e.ref(!1),f=e.ref(!1),p=e.ref({}),h=[{id:"name",name:"插件名称"}],g=e.computed(()=>f.value?a.bkflowPluginTags.filter(k=>(p.value[k.id]?.length||0)>0):a.bkflowPluginTags),m=e.computed(()=>f.value?p.value[i.value]||[]:s.value);e.onMounted(()=>{y()});const v=k=>{i.value=k,f.value||y()},w=async k=>{const A=k.find(C=>C.id==="name")?.values?.[0]?.name||"";if(!A){f.value=!1,p.value={},y();return}f.value=!0,c.value=!0,p.value={};try{const _=(await o.fetchBkFlowInnerPluginList()).filter(S=>S.name.toLowerCase().includes(A.toLowerCase())).map(S=>({code:S.code,name:S.name,logo_url:yp,desc:S.desc||"--",managers:["BkFlow"],version:S.version,tag:0}));if(_.length>0&&(p.value[0]=_),o.enableThirdPlugin!==!1&&o.searchBkFlowThirdPartyPlugins&&(await o.searchBkFlowThirdPartyPlugins(A)).data.plugins.forEach(D=>{const H={code:D.code,name:D.name,logo_url:D.logo_url,desc:D.introduction||"--",managers:D.managers,version:"1.0.0",tag:D.tag};p.value[D.tag]||(p.value[D.tag]=[]),p.value[D.tag].push(H)}),!p.value[i.value]||p.value[i.value].length===0){const S=Object.keys(p.value).map(Number)[0];S!==void 0&&(i.value=S)}}catch(C){console.error("Search plugins failed:",C)}finally{c.value=!1}},y=async()=>{if(c.value=!0,s.value=[],i.value===0){const k=await o.fetchBkFlowInnerPluginList();s.value=k.map(b=>({code:b.code,name:b.name,logo_url:yp,desc:b.desc||"--",managers:["BkFlow"],version:b.version}))}else{if(!(o.enableThirdPlugin!==!1)){s.value=[],c.value=!1;return}const b=await o.fetchBkFlowThirdPartyPluginList(i.value);s.value=b.data.plugins.map(A=>({code:A.code,name:A.name,logo_url:A.logo_url,desc:A.introduction||"--",managers:A.managers,version:"1.0.0"}))}c.value=!1},x=()=>{r.value=[],f.value=!1,p.value={},y()},B=k=>{const A=(f.value?m.value:s.value).find(C=>C.code===k);if(A){const{code:C,name:_,version:V}=A,S=f.value?A.tag===0:i.value===0;l("selectBkflowPlugin",{code:S?C:"remote_plugin",name:_,data:S?{}:{plugin_code:{hook:!1,value:C}},version:V})}};return(k,b)=>{const A=e.resolveComponent("bk-button"),C=e.resolveDirective("bk-loading");return e.openBlock(),e.createElementBlock("div",Bne,[e.createVNode(wi,{modelValue:r.value,"onUpdate:modelValue":b[0]||(b[0]=_=>r.value=_),options:h,placeholder:"搜索插件名称",onChange:w},null,8,["modelValue"]),e.createElementVNode("div",xne,[g.value.length>0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",_ne,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,_=>(e.openBlock(),e.createElementBlock("div",{key:_.id,class:e.normalizeClass(["tag-item",{actived:i.value===_.id}]),onClick:V=>v(_.id)},e.toDisplayString(_.name),11,Vne))),128))]),e.withDirectives((e.openBlock(),e.createElementBlock("div",Sne,[m.value.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(m.value,_=>(e.openBlock(),e.createElementBlock("div",{key:_.code,class:"plugin-item"},[e.createElementVNode("div",Nne,[e.createElementVNode("img",{src:_.logo_url||e.unref(yp),alt:"plugin-icon"},null,8,Dne)]),e.createElementVNode("div",Tne,[e.createElementVNode("h4",Ine,e.toDisplayString(_.name),1),e.createElementVNode("p",{class:"plugin-desc",title:_.desc},e.toDisplayString(_.desc),9,One),e.createElementVNode("div",Mne,e.toDisplayString(_.managers?_.managers.join(","):"BkFlow")+" 提供",1)]),e.createVNode(A,{theme:"primary",size:"small",onClick:V=>B(_.code)},{default:e.withCtx(()=>[...b[1]||(b[1]=[e.createTextVNode("选择",-1)])]),_:1},8,["onClick"])]))),128)):!c.value&&m.value.length===0?(e.openBlock(),e.createBlock(fn,{key:1,title:"该分类暂无插件"})):e.createCommentVNode("",!0)])),[[C,{loading:c.value}]])],64)):f.value&&!c.value&&g.value.length===0?(e.openBlock(),e.createBlock(fn,{key:1,"is-search":!0,onClear:x})):e.createCommentVNode("",!0)])])}}}),Lne=je(Pne,[["__scopeId","data-v-1f2d5307"]]),Rne={class:"plugin-select-slider"},Fne={key:0,class:"plugin-select-content"},zne=e.defineComponent({__name:"index",props:{show:{type:Boolean,default:!1},flowId:{},active:{default:""},bkflowTag:{default:0},pluginGroupList:{default:()=>[]},inputData:{default:()=>({})},isBack:{type:Boolean,default:!1}},emits:["close","update:show","select","back"],setup(t,{emit:n}){const o={data:cte,agent:_te,model:rne,knowledgebase:kne,bkflow:Lne,output:Ene},a=t,l=n,r=e.ref(a.active),i=e.shallowRef([]),s=e.ref(!1),c=e.computed(()=>o[r.value]||null),f=e.computed(()=>a.pluginGroupList.find(B=>B.name===r.value)?.properties||{}),p=e.computed(()=>a.pluginGroupList.find(B=>B.name==="bkflow")?.children||[]),h=e.computed(()=>r.value==="knowledgebase"?{cancel:x}:{});e.watch(()=>a.show,()=>{a.show&&(r.value=a.active,r.value!=="bkflow"&&g())});const g=()=>{const B=a.pluginGroupList.find(k=>k.name===r.value);i.value=B?B.children:[]},m=B=>{i.value=[],r.value=B,B!=="bkflow"&&g()},v=B=>{if(typeof B=="object"&&B.pluginId){const k=i.value.find(b=>b.id===B.pluginId);l("select","projectPlugin",k,B.inputData)}else{const k=i.value.find(b=>b.id===B);l("select","projectPlugin",k)}},w=B=>{l("select","bkflowPlugin",B)},y=()=>a.isBack?(l("back"),!1):(x(),!0),x=()=>{i.value=[],l("close"),l("update:show",!1)};return(B,k)=>{const b=e.resolveComponent("bk-sideslider"),A=e.resolveDirective("bk-loading");return e.openBlock(),e.createBlock(b,{title:"节点选择","is-show":a.show,width:1200,"esc-close":!1,"before-close":y},{default:e.withCtx(()=>[e.createElementVNode("div",Rne,[e.createVNode(Kee,{active:r.value,"onUpdate:active":k[0]||(k[0]=C=>r.value=C),groups:a.pluginGroupList,onChange:m},null,8,["active","groups"]),a.show?e.withDirectives((e.openBlock(),e.createElementBlock("section",Fne,[c.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c.value),e.mergeProps({key:r.value,plugins:i.value,loading:s.value,"bkflow-plugin-tags":p.value,"active-tag":a.bkflowTag,properties:f.value,"input-data":a.inputData},e.toHandlers(h.value),{onSelect:v,onSelectBkflowPlugin:w}),null,16,["plugins","loading","bkflow-plugin-tags","active-tag","properties","input-data"])):e.createCommentVNode("",!0)])),[[A,{loading:s.value}]]):e.createCommentVNode("",!0)])]),_:1},8,["is-show"])}}}),jne=je(zne,[["__scopeId","data-v-6f710058"]]),Hne="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20class='design-iconfont'%3e%3cpath%20d='M13,1%20C14.1045695,1%2015,1.8954305%2015,3%20L15,13%20C15,14.1045695%2014.1045695,15%2013,15%20L3,15%20C1.8954305,15%201,14.1045695%201,13%20L1,3%20C1,1.8954305%201.8954305,1%203,1%20L13,1%20Z%20M13,3.5%20L10,3.5%20L10,4.5%20L11.3962161,4.50116386%20C9.643609,6.49502964%208.38728573,7.5%207.76574712,7.5%20L2.98331185,7.5%20L2.98331185,8.5%20L7.76574712,8.5%20C8.38739048,8.5%209.64403252,9.50530916%2011.3971023,11.4998444%20L10,11.5%20L10,12.5%20L13,12.5%20L13,9.5%20L12,9.5%20L11.9990374,10.6691668%20C10.8673578,9.39340572%209.92128001,8.50479286%209.13199729,8.00043657%20C9.92138242,7.4953138%2010.8676033,6.60639761%2011.9994779,5.33034326%20L12,6.5%20L13,6.5%20L13,3.5%20Z'%20fill='%236EC3D5'%20fill-rule='evenodd'/%3e%3c/svg%3e",Une={class:"option-item"},Wne=["src"],Gne={class:"option-name"},Yne=e.defineComponent({__name:"option-item",props:{option:{}},setup(t){const n=t,o=a=>{const l=a.target;l.src!==gt.PLUGIN_GROUP_DEFAULT_ICON&&(l.src=gt.PLUGIN_GROUP_DEFAULT_ICON)};return(a,l)=>(e.openBlock(),e.createElementBlock("div",Une,[e.createElementVNode("img",{class:"option-img",src:n.option.iconUrl||e.unref(gt.PLUGIN_GROUP_DEFAULT_ICON),onError:o},null,40,Wne),e.createElementVNode("div",Gne,e.toDisplayString(n.option.name),1),n.option.type==="group"?(e.openBlock(),e.createBlock(e.unref(dn.AngleRight),{key:0,class:"angle-icon"})):e.createCommentVNode("",!0),n.option.type==="link"?(e.openBlock(),e.createBlock(e.unref(dn.ArrowsRight),{key:1,class:"arrow-icon"})):e.createCommentVNode("",!0)]))}}),Dw=je(Yne,[["__scopeId","data-v-0a4661f8"]]),Qne={class:"quick-edit-popover"},qne={class:"search-input"},Kne={class:"plugin-option-list"},$ne={key:0,class:"logic-node-list"},Zne=["onClick"],Xne={class:"logic-node-name"},Jne={key:1,class:"data-plugin-list"},eoe=["onClick"],toe={class:"data-plugin-name"},noe={key:2,class:"agent-plugin-list"},ooe={class:"list-wrapper"},aoe=["onClick"],loe={class:"agent-name"},roe={class:"agent-en-name"},soe={key:3,class:"agent-plugin-list"},ioe={class:"list-wrapper"},uoe=["onClick"],coe={class:"agent-name"},doe={key:4,class:"bkflow-tag-list"},foe=["onClick"],poe=["onClick"],moe=e.defineComponent({__name:"index",props:{pluginGroupList:{default:()=>[]}},emits:["addNode","addPlugin","openPluginSelect"],setup(t,{emit:n}){const o={branchgateway:Os.find(B=>B.type==="exclusive-gateway")?.icon??"bkflow-canvas-fenzhiwangguan",parallelgateway:Os.find(B=>B.type==="parallel-gateway")?.icon??"bkflow-canvas-bingxingwangguan",conditionalparallelgateway:Os.find(B=>B.type==="conditional-parallel-gateway")?.icon??"bkflow-canvas-tiaojianbingxingwangguan",convergegateway:Os.find(B=>B.type==="converge-gateway")?.icon??"bkflow-canvas-huijuwangguan"},a=[{id:"branchgateway",name:"分支网关",icon:o.branchgateway},{id:"parallelgateway",name:"并行网关",icon:o.parallelgateway},{id:"conditionalparallelgateway",name:"条件并行网关",icon:o.conditionalparallelgateway},{id:"convergegateway",name:"汇聚网关",icon:o.convergegateway}],l={alert_plugin:"incident-gaojing",query_promql_metric_plugin:"incident-zhibiao",trace_plugin:"incident-trace",事件:"incident-shijian",log_plugin:"incident-rizhi",profling:"incident-profling",图谱:"incident-tupu"},r=Hc(),i=t,s=n,c=e.shallowRef([]),f=e.ref(""),p=e.shallowRef([...c.value||[]]),h=e.computed(()=>(i.pluginGroupList.find(B=>B.name==="agent")?.children.length||0)>10);e.watch(()=>i.pluginGroupList,B=>{const k=[{id:"logic",name:"逻辑",iconUrl:Hne,type:"group",width:160,children:a}];B.forEach(b=>{k.push({id:b.name,name:b.alias,iconUrl:b.iconUrl,type:b.name==="knowledgebase"?"link":"group",width:b.name==="data"?160:280,children:b.children.map(A=>{if(b.name==="data"){const{id:C,name:_,alias:V}=A;return{id:C,name:V,icon:l[_]}}else if(b.name==="agent"){const{id:C,alias:_,name:V}=A;return{id:C,name:_,enName:V}}else if(b.name==="bkflow"){const{id:C,name:_}=A;return{id:C,name:_}}return A})})}),c.value=k,p.value=[...c.value]},{immediate:!0});const g=B=>{const k=B.trim().toLowerCase();if(k===""){p.value=[...c.value];return}const b=[];c.value.forEach(A=>{if(A.name.toLowerCase().includes(k))b.push(A);else if(A.type==="group"){const C=[];A.children?.forEach(_=>{_.name.toLowerCase().includes(k)&&C.push(_)}),C.length>0&&b.push({...A,children:C})}}),p.value=b},m=()=>{f.value="",p.value=[...c.value]},v=B=>{s("addNode",B)},w=(B,k)=>{k==="bkflow"?y("bkflow",B):s("addPlugin",B,k)},y=(B,k=0)=>{s("openPluginSelect",B,k)},x=B=>{B==="agent"&&!h.value?r?.agentApplyUrl&&window.open(r.agentApplyUrl,"_blank"):y(B)};return(B,k)=>{const b=e.resolveComponent("bk-input"),A=e.resolveComponent("bk-button"),C=e.resolveComponent("bk-popover");return e.openBlock(),e.createElementBlock("div",Qne,[e.createElementVNode("div",qne,[e.createVNode(b,{modelValue:f.value,"onUpdate:modelValue":k[0]||(k[0]=_=>f.value=_),placeholder:"搜索节点",type:"search",clearable:!0,onClear:m,onInput:g},null,8,["modelValue"])]),e.createElementVNode("div",Kne,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,_=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:_.id},[_.type==="group"?(e.openBlock(),e.createBlock(C,{key:0,theme:"light",placement:"right-start","ext-cls":"plugin-child-popover",boundary:"parent",arrow:!1,width:_.width,"popover-delay":[0,100]},{content:e.withCtx(()=>[_.id==="logic"?(e.openBlock(),e.createElementBlock("div",$ne,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.children,V=>(e.openBlock(),e.createElementBlock("div",{key:V.id,class:"logic-node-item",onClick:S=>v(V.id)},[e.createElementVNode("i",{class:e.normalizeClass(["bkflow-canvas-icon",V.icon])},null,2),e.createElementVNode("span",Xne,e.toDisplayString(V.name),1)],8,Zne))),128))])):_.id==="data"?(e.openBlock(),e.createElementBlock("div",Jne,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.children?.slice(0,10),V=>(e.openBlock(),e.createElementBlock("div",{class:"data-plugin-item",key:V.id,onClick:S=>w(V.id,"data")},[e.createElementVNode("div",toe,e.toDisplayString(V.name),1)],8,eoe))),128))])):_.id==="agent"?(e.openBlock(),e.createElementBlock("div",noe,[e.createElementVNode("div",ooe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.children?.slice(0,10),V=>(e.openBlock(),e.createElementBlock("div",{class:"agent-plugin-item",key:V.id,onClick:S=>w(V.id,"agent")},[e.createElementVNode("span",loe,e.toDisplayString(V.name),1),e.createElementVNode("span",roe,"("+e.toDisplayString(V.enName)+")",1)],8,aoe))),128))])])):_.id==="model"?(e.openBlock(),e.createElementBlock("div",soe,[e.createElementVNode("div",ioe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.children?.slice(0,10),V=>(e.openBlock(),e.createElementBlock("div",{class:"agent-plugin-item",key:V.id,onClick:S=>w(V.id,"model")},[e.createElementVNode("span",coe,e.toDisplayString(V.alias||V.enName),1)],8,uoe))),128))])])):_.id==="bkflow"?(e.openBlock(),e.createElementBlock("div",doe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.children?.slice(0,10),V=>(e.openBlock(),e.createElementBlock("div",{class:"bkflow-tag-item",key:V.id,onClick:S=>w(V.id,"bkflow")},e.toDisplayString(V.name),9,foe))),128))])):e.createCommentVNode("",!0),_.children&&_.children.length===0?(e.openBlock(),e.createBlock(fn,{key:5,class:"group-empty-exception",title:`暂无${_.name}插件`},null,8,["title"])):e.createCommentVNode("",!0),_.id==="agent"||_.children&&_.children.length>10?(e.openBlock(),e.createElementBlock("div",{key:6,class:"list-footer",onClick:V=>x(_.id)},[e.createVNode(A,{theme:"primary",text:"",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(_.id==="agent"&&!h.value?"申请更多权限":"更多"),1)]),_:2},1024),k[1]||(k[1]=e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-arrow2"},null,-1))],8,poe)):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.createVNode(Dw,{option:_},null,8,["option"])]),_:2},1032,["width"])):(e.openBlock(),e.createBlock(Dw,{key:1,option:_,onClick:V=>y(_.id)},null,8,["option","onClick"]))],64))),128)),p.value.length===0?(e.openBlock(),e.createBlock(fn,{key:0,"is-search":f.value.length>0,onClear:m},null,8,["is-search"])):e.createCommentVNode("",!0)])])}}}),Tw=je(moe,[["__scopeId","data-v-ee6dddbf"]]),voe={class:"pipeline-editor-container"},goe={class:"dnd-palette-items"},hoe=["data-dnd-type","title","onMouseenter"],boe={class:"dnd-item-text"},yoe=["src"],wp=100,woe=e.defineComponent({__name:"index",props:{mode:{},flowId:{},pipelineTree:{},systemVariables:{default:()=>[]},pluginGroupList:{default:()=>[]},dndNodeTypes:{default:()=>Os},thumbnail:{type:Boolean,default:!1},defaultZoom:{default:1},quickAdd:{default:void 0},additionalPlugins:{default:()=>[]},toolbarItems:{default:()=>[]},simulateDebugContext:{default:void 0},enableNodeDebug:{type:Boolean,default:!1},debugContext:{default:void 0}},emits:["change","format-position","mock-node-click","running-node-click","ui-event"],setup(t,{expose:n,emit:o}){const a=t,l=o,r=e.ref(),i=e.ref(),s=e.ref(),c=[],f=e.ref({visible:!1,x:0,y:0,image:""});function p(se,de){if(!de.tipsImage)return;const ue=se.currentTarget.getBoundingClientRect(),R=s.value?.getBoundingClientRect().right??ue.right+16;f.value={visible:!0,x:R+8,y:Math.max(8,Math.min(window.innerHeight-208,ue.top+ue.height/2-100)),image:de.tipsImage}}function h(){f.value.visible=!1}const g=e.computed(()=>({showDelete:a.mode==="edit",showCopy:a.mode==="edit",showCopyInsert:a.mode==="edit",showDisconnect:a.mode==="edit",showDebug:a.enableNodeDebug})),m=e.computed(()=>r.value?.editor?.api?.value??null);e.watch([m,s],([se,de])=>{if(c.forEach(R=>R()),c.length=0,!se||!de)return;const ue=de.querySelectorAll("[data-dnd-type]");for(const R of ue){const P=R.dataset.dndType,J=se.registerDndSource(R,()=>({id:`node${gt.generateId()}`,type:P,position:{x:0,y:0},label:"",payload:{}}));c.push(J)}},{flush:"post"}),e.onBeforeUnmount(()=>{c.forEach(se=>se()),_&&(clearTimeout(_),_=null)});const v=e.ref({show:!1,nodeId:"",edgeId:"",condition:null,hasDefaultBranch:!1,isDefault:!1}),w=e.ref({show:!1,node:null,constants:null}),y=e.ref({show:!1,active:a.pluginGroupList[0]?.name||"",bkflowTag:0,node:null,constants:null,isBack:!1});e.watch(()=>r.value?.editor?.flowModel.value,se=>{if(se){if(w.value.show&&w.value.node&&(se.nodes[w.value.node.id]||(w.value={show:!1,node:null,constants:null})),v.value.show){const{nodeId:de,edgeId:ue}=v.value;(!se.nodes[de]||!se.edges[ue])&&(v.value={...v.value,show:!1})}C.value.show&&(se.nodes[C.value.nodeId]||(C.value={...C.value,show:!1})),y.value.show&&y.value.node&&(se.nodes[y.value.node.id]||(y.value={...y.value,show:!1,node:null,constants:null,isBack:!1}))}});const x=e.computed(()=>{const se=r.value?.editor;return se?new zv(se.flowModel.value).globalVariables:a.pipelineTree.constants});function B(){return r.value?.editor}function k(se){const de=B();de&&de.executeCommand(se)}function b(se){l("change",se)}function A(se){l("ui-event",se),se.type==="node.action.debug"&&rt(se.nodeId)}const C=e.ref({show:!1,nodeId:"",screenPosition:{x:0,y:0}});let _=null;e.watch(()=>a.mode,se=>{se!=="edit"&&(w.value={show:!1,node:null,constants:null},v.value={...v.value,show:!1},y.value={...y.value,show:!1,node:null,constants:null,isBack:!1},C.value={...C.value,show:!1})});function V(){_=setTimeout(()=>{C.value.show=!1,_=null},150)}function S(){_&&(clearTimeout(_),_=null)}function N(se){return Ws(se,B()?.schema)}function D(se){const de=B();if(!de)return{x:0,y:0};const ue=de.api.value;if(!ue)return{x:0,y:0};const R=ue.unsafeGetGraph(),P=de.flowModel.value.nodes[se];if(!P)return{x:0,y:0};const J=Na.width,$=Na.height;return R.localToPage(P.position.x+J,P.position.y+$/2)}function H(se){if(a.thumbnail)return;const de=B();if(!de)return;const ue=de.flowModel.value.nodes[se.nodeId];if(!ue)return;if(a.mode==="execute"){l("running-node-click",se.nodeId);return}if(a.mode==="mock-config"){if(ue.type!=="task")return;const fe=jn(de.flowModel.value).activities[se.nodeId];fe&&l("mock-node-click",Fe.cloneDeep(fe));return}if(a.mode!=="edit"&&a.mode!=="view")return;if(ue.type==="placeholder"){const $=D(se.nodeId);C.value={show:!0,nodeId:se.nodeId,screenPosition:{x:$.x+18,y:$.y-18}};return}if(ue.type!=="task")return;const P=jn(de.flowModel.value).activities[se.nodeId];if(!P)return;if(G$({mode:a.mode,componentCode:P.component?.code})==="plugin-select"){y.value=J0({node:Fe.cloneDeep(P),constants:Fe.cloneDeep(x.value),defaultGroup:a.pluginGroupList[0]?.name??""}),w.value={show:!1,node:null,constants:null};return}w.value=Ar({node:Fe.cloneDeep(P),constants:Fe.cloneDeep(x.value)})}function j(se){if(a.thumbnail||a.mode!=="edit")return;const de=B();if(!de)return;const ue=de.flowModel.value,R=ue.edges[se.edgeId];if(!R)return;const P=ue.nodes[R.source.nodeId];if(!P||!(P.type==="exclusive-gateway"||P.type==="conditional-parallel-gateway"))return;const $=P.payload??{},fe=$.conditions??{},pe=$.defaultCondition,Oe=!!pe&&typeof pe.flow_id=="string";v.value.hasDefaultBranch=Oe,v.value.nodeId=R.source.nodeId,v.value.edgeId=se.edgeId,pe?.flow_id===se.edgeId?(v.value.condition=Fe.cloneDeep(pe)??null,v.value.isDefault=!0):fe[se.edgeId]&&(v.value.condition=Fe.cloneDeep(fe[se.edgeId])??null,v.value.isDefault=!1),v.value.show=!0}function I(se){const de=B();if(!de)return{x:0,y:0};const ue=de.flowModel.value.nodes[se];return ue?{...ue.position}:{x:0,y:0}}function F(se,de,ue){const R=B();if(!R)return[];const P=R.flowModel.value,J=P.nodes[se];if(!J)return[];const $=J.type.includes("gateway"),fe=Object.values(P.edges).filter(X=>X.source.nodeId===se);if($||fe.length===0)return[];const Oe=N(de).width+wp,Ke=fe[0].target.nodeId,Xe=new Set,et=[Ke],it=[];for(;et.length>0;){const X=et.shift();if(Xe.has(X)||X===se)continue;Xe.add(X);const ae=P.nodes[X];if(ae){it.push({type:"node.move",nodeId:X,position:{x:ae.position.x+Oe,y:ae.position.y}});for(const we of Object.values(P.edges))we.source.nodeId===X&&!Xe.has(we.target.nodeId)&&et.push(we.target.nodeId)}}return it}function z(se){const de=B();if(!de)return 0;const ue=de.flowModel.value.nodes[se];if(!ue)return 0;const R=N(ue.type);return ue.position.x+R.width+wp}function L(se,de){const ue=B();if(!ue)return 0;const R=ue.flowModel.value,P=R.nodes[se];if(!P)return 0;const J=P.position.y;if(P.type.includes("gateway")){const Ke=Object.values(R.edges).filter(Xe=>Xe.source.nodeId===se);if(Ke.length>0)return Ke.reduce((et,it)=>{const X=R.nodes[it.target.nodeId];return X?Math.max(et,X.position.y):et},0)+wp}const $=ue.schema.nodeTypes[P.type],fe=ue.schema.nodeTypes[de],pe=$?.getSize(P)?.height??48,Oe=fe?.getSize({id:"",type:de,position:{x:0,y:0}})?.height??48;return J+(pe-Oe)/2}function O(se,de,ue,R={}){const P={x:z(se),y:L(se,ue)};return[...F(se,ue),...M(de,ue,P,R),...G(se,de)]}function M(se,de,ue,R={}){return[{type:"node.add",node:{id:se,type:de,position:ue,label:R.name??"",payload:R}}]}function G(se,de){const ue=B();if(!ue)return[];const R=ue.flowModel.value,P=[],J=Object.entries(R.edges).filter(([,pe])=>pe.source.nodeId===se);if(R.nodes[se]?.type.includes("gateway")&&J.length>0)P.push({type:"edge.add",edge:{id:`line${gt.generateId()}`,source:{nodeId:se,portId:"bottom"},target:{nodeId:de,portId:"left"}}});else if(J.length===0)P.push({type:"edge.add",edge:{id:`line${gt.generateId()}`,source:{nodeId:se,portId:"right"},target:{nodeId:de,portId:"left"}}});else{const[pe,Oe]=J[0],Ke=Oe.target.nodeId;P.push({type:"edge.remove",edgeId:pe},{type:"edge.add",edge:{id:`line${gt.generateId()}`,source:{nodeId:se,portId:"right"},target:{nodeId:de,portId:"left"}}},{type:"edge.add",edge:{id:`line${gt.generateId()}`,source:{nodeId:de,portId:"right"},target:{nodeId:Ke,portId:"left"}}})}return P}function Y(se,de,ue={}){const R=B();if(!R)return;const P=R.flowModel.value.nodes[se];if(!P)return;const J={id:"",type:de,position:{x:0,y:0},label:ue.name??"",payload:ue};k({id:gt.generateId(),source:"user:panel",label:"替换占位节点",timestamp:Date.now(),commands:Ms(P,J,R.schema)})}function Z(se,de,ue){const R=B();if(!R)return;const P=R.flowModel.value.edges[se],J=de||"";if(P?.labels?.length){k({id:gt.generateId(),source:"user:panel",label:"更新边标签",timestamp:Date.now(),commands:[{type:"edge.label.update",edgeId:se,labelId:P.labels[0].id,patch:{text:J,...ue!==void 0?{position:ue}:{}}}]});return}k({id:gt.generateId(),source:"user:panel",label:"新增边标签",timestamp:Date.now(),commands:[{type:"edge.update",edgeId:se,patch:{labels:[{id:`label-${se}`,text:J,position:ue??Eo}]}}]})}function W(se,de=C.value.nodeId){const ue=he[se]??se;de&&(Y(de,ue),C.value.show=!1)}function q(se,de,ue=C.value.nodeId){const P=a.pluginGroupList.find(fe=>fe.name===de)?.children.find(fe=>fe.id===se);if(!P)return;const J={name:P.alias||P.name,component:{code:"uniform_api",data:{},version:P.version??"v2.0.0",api_meta:{id:P.id,name:P.name,alias:P.alias||P.name,meta_url:P.meta_url,api_key:P.api_key??"incident",category:{id:P.category_id,name:de}}}},$=ue;$&&(Y($,"task",J),C.value.show=!1,e.nextTick(()=>{const fe=B();if(!fe)return;const Oe=jn(fe.flowModel.value).activities[$];Oe&&(w.value=Ar({node:Fe.cloneDeep(Oe),constants:Fe.cloneDeep(x.value)}))}))}function ee(se,de,ue=C.value.nodeId){const R=ue;R&&(Y(R,"task"),C.value.show=!1,e.nextTick(()=>{const P=B();if(!P)return;const $=jn(P.flowModel.value).activities[R];$&&(y.value={show:!0,active:se,bkflowTag:de,node:Fe.cloneDeep($),constants:Fe.cloneDeep(x.value),isBack:!1})}))}const he={tasknode:"task",branchgateway:"exclusive-gateway",parallelgateway:"parallel-gateway",conditionalparallelgateway:"conditional-parallel-gateway",convergegateway:"converge-gateway"};function te(se,de){const ue=he[de]??de,R=`node${gt.generateId()}`,P=O(se,R,ue);k({id:gt.generateId(),source:"user:quick-add",label:"快捷添加节点",timestamp:Date.now(),commands:P})}function ne(se,de,ue){const P=a.pluginGroupList.find(pe=>pe.name===ue)?.children.find(pe=>pe.id===de);if(!P)return;const J=`node${gt.generateId()}`,$={name:P.alias||P.name,component:{code:"uniform_api",data:{},version:P.version??"v2.0.0",api_meta:{id:P.id,name:P.name,alias:P.alias||P.name,meta_url:P.meta_url,api_key:P.api_key??"incident",category:{id:P.category_id,name:ue}}}},fe=O(se,J,"task",$);k({id:gt.generateId(),source:"user:quick-add",label:"快捷添加插件节点",timestamp:Date.now(),commands:fe}),e.nextTick(()=>{const pe=B();if(!pe)return;const Ke=jn(pe.flowModel.value).activities[J];Ke&&(w.value=Ar({node:Fe.cloneDeep(Ke),constants:Fe.cloneDeep(x.value)}))})}function Ce(se,de,ue=0){const R=`node${gt.generateId()}`,P=O(se,R,"task");k({id:gt.generateId(),source:"user:quick-add",label:"快捷添加并选择插件",timestamp:Date.now(),commands:P}),e.nextTick(()=>{const J=B();if(!J)return;const fe=jn(J.flowModel.value).activities[R];fe&&(y.value={show:!0,active:de,bkflowTag:ue,node:Fe.cloneDeep(fe),constants:Fe.cloneDeep(x.value),isBack:!1})})}function oe(se){const de=B();if(!de)return;const ue=jn(de.flowModel.value),R=`node${gt.generateId()}`,P=I(se),J=de.flowModel.value.nodes[se];if(!J)return;let $={};ue.activities[se]&&($={...Fe.cloneDeep(ue.activities[se]),id:R,incoming:[],outgoing:""}),k({id:gt.generateId(),source:"user:toolbar",label:"复制节点",timestamp:Date.now(),commands:M(R,J.type,{x:P.x+200,y:P.y},$)})}function le(se){const de=B();if(!de)return;const ue=jn(de.flowModel.value),R=`node${gt.generateId()}`,P=I(se),J=de.flowModel.value.nodes[se];if(!J)return;let $={};ue.activities[se]&&($={...Fe.cloneDeep(ue.activities[se]),id:R,incoming:[],outgoing:""});const fe=L(se,J.type),pe=[...M(R,J.type,{x:P.x+200,y:fe},$),...G(se,R)];k({id:gt.generateId(),source:"user:toolbar",label:"复制并插入节点",timestamp:Date.now(),commands:pe})}function ke(se){const de=B();if(!de)return;const ue=de.flowModel.value,R=Object.entries(ue.edges).filter(([,P])=>P.source.nodeId===se||P.target.nodeId===se).map(([P])=>P);R.length!==0&&k({id:gt.generateId(),source:"user:toolbar",label:"解除连线",timestamp:Date.now(),commands:R.map(P=>({type:"edge.remove",edgeId:P}))})}function Ae(se){k({id:gt.generateId(),source:"user:toolbar",label:"删除节点",timestamp:Date.now(),commands:[{type:"node.remove",nodeId:se}]})}function Ne(se,de){const{nodeId:ue,edgeId:R,isDefault:P}=v.value,J=B();if(!J)return;const $=J.flowModel.value,fe=[],{name:pe,tag:Oe,evaluate:Ke="",loc:Xe}=se,et={name:pe,tag:Oe,evaluate:Ke.trim()};if(Xe&&(et.loc=Xe),de?(delete et.evaluate,et.flow_id=R,fe.push({type:"node.set-payload",nodeId:ue,path:["defaultCondition"],value:et}),P||fe.push({type:"node.set-payload",nodeId:ue,path:["conditions",R],value:void 0})):(fe.push({type:"node.set-payload",nodeId:ue,path:["conditions",R],value:et}),P&&fe.push({type:"node.set-payload",nodeId:ue,path:["defaultCondition"],value:void 0})),fe.push({type:"edge.set-payload",edgeId:R,path:["isDefault"],value:de}),de&&!P){const ae=$.nodes[ue],we=ae?.payload?.defaultCondition;if(we?.flow_id&&we.flow_id!==R){const Re=we.flow_id;fe.push({type:"edge.set-payload",edgeId:Re,path:["isDefault"],value:!1});const ge=ae?.payload?.conditions?.[Re],ze=$.edges[Re];ze?.labels?.length&&fe.push({type:"edge.label.update",edgeId:Re,labelId:ze.labels[0].id,patch:{text:ge?.name??"",position:ze.labels[0].position??Eo}})}}const it=de?et.name||"默认":et.name||"",X=$.edges[R];X?.labels?.length?fe.push({type:"edge.label.update",edgeId:R,labelId:X.labels[0].id,patch:{text:it,position:X.labels[0].position??Eo}}):fe.push({type:"edge.update",edgeId:R,patch:{labels:[{id:`label-${R}`,text:it,position:Eo}]}}),k({id:gt.generateId(),source:"user:panel",label:"编辑分支条件",timestamp:Date.now(),commands:fe})}function Ve(se,de){y.value=J0({node:Fe.cloneDeep(se),constants:Fe.cloneDeep(de),defaultGroup:a.pluginGroupList[0]?.name??""}),w.value={show:!1,node:null,constants:null}}function De(){y.value.node&&(w.value=Ar({node:Fe.cloneDeep(y.value.node),constants:Fe.cloneDeep(y.value.constants??x.value)}),y.value={...y.value,show:!1,node:null,constants:null,isBack:!1})}function qe(se,de,ue){if(!y.value.node)return;const R=Fe.cloneDeep(y.value.node);if(se==="projectPlugin"){const{id:P,name:J,alias:$,meta_url:fe,api_key:pe="incident",version:Oe="v2.0.0",category:Ke,category_id:Xe}=de;R.component={code:"uniform_api",data:ue||{},version:Oe,api_meta:{id:P,name:J,alias:$||J,meta_url:fe,api_key:pe,category:{id:Xe,name:Ke}}},R.name=$}else{const{code:P,data:J,version:$,name:fe}=de;R.component={code:P,data:J,version:$},R.name=fe}w.value=Ar({node:R,constants:Fe.cloneDeep(y.value.constants??x.value)}),y.value={...y.value,show:!1,node:null,constants:null,isBack:!1}}function Te(se,de){const ue=[{type:"node.update",nodeId:se.id,patch:{label:se.name}},{type:"node.set-payload",nodeId:se.id,path:[],value:{name:se.name,stageName:se.stage_name??"",component:se.component,errorIgnorable:se.error_ignorable,retryable:se.retryable,skippable:se.skippable,autoRetry:se.auto_retry,timeoutConfig:se.timeout_config}},{type:"model.set-meta",path:["variables"],value:de}];k({id:gt.generateId(),source:"user:panel",label:"保存节点配置",timestamp:Date.now(),commands:ue}),w.value={show:!1,node:null,constants:null}}function Ee(se){k({id:gt.generateId(),source:"user:panel",label:"更新全局变量",timestamp:Date.now(),commands:[{type:"model.set-meta",path:["variables"],value:se}],skipHistory:!0}),i.value&&w.value.show&&i.value.updateConstants?.(se)}function tt(se){k({id:gt.generateId(),source:"user:panel",label:"更新输出变量",timestamp:Date.now(),commands:[{type:"model.set-meta",path:["outputs"],value:se}],skipHistory:!0})}const ie=se=>{i.value&&w.value.show&&i.value.updateNodeInputParams?.(se)},ce={addEmptyNode:te,addPlugin:ne,addNodeAndSelectPlugin:Ce,updateEdgeLabel:Z,copyNode:oe,copyNodeAndInsert:le,detachEdges:ke,deleteNode:Ae};e.provide("bkflow-node-operations",ce);const Pe=e.ref(!1);function ot(){return r.value?.$el?.offsetWidth??document.documentElement.offsetWidth-200}function at(se){Pe.value=se}function vt(se,de){const ue=m.value;ue&&(ue.scrollToNode(se,de),ue.highlightNodes([se]),setTimeout(()=>ue.clearHighlight(),1500))}function rt(se){if(a.thumbnail)return;const de=B();if(!de)return;const ue=de.flowModel.value.nodes[se];if(!ue||ue.type!=="task")return;const P=jn(de.flowModel.value).activities[se];P&&(w.value=Ar({node:Fe.cloneDeep(P),constants:Fe.cloneDeep(x.value),initialTab:"debug"}))}function Be(se){m.value?.zoomToFit(se)}function Se(){m.value?.centerContent()}function Ie(){return m.value?.getZoom()??1}return n({updateNodeInputParams:ie,updateGlobalVariables:Ee,updateOutputs:tt,bkflowCanvasRef:r,getCanvasWidth:ot,setFormatLoading:at,formatLoading:Pe,locateNode:vt,openNodeDebugPanel:rt,zoomToFit:Be,centerContent:Se,getZoom:Ie,updatePipelineTree:se=>r.value?.updatePipelineTree?.(se),...ce}),(se,de)=>(e.openBlock(),e.createElementBlock("div",voe,[e.createVNode(wd,{ref_key:"bkflowCanvasRef",ref:r,"pipeline-tree":a.pipelineTree,mode:a.mode,thumbnail:a.thumbnail,"default-zoom":a.defaultZoom,"node-actions":g.value,"quick-add":a.quickAdd,"additional-plugins":a.additionalPlugins,"toolbar-items":a.toolbarItems,"simulate-debug-context":a.simulateDebugContext,"debug-context":a.debugContext,onChange:b,onNodeClick:H,onEdgeLabelClick:j,onUiEvent:A,onFormatPosition:de[0]||(de[0]=ue=>l("format-position"))},{"node-palette":e.withCtx(()=>[e.renderSlot(se.$slots,"node-palette",{},()=>[a.mode==="edit"&&!a.thumbnail?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"dndPaletteRef",ref:s,class:"dnd-node-palette"},[e.createElementVNode("div",goe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.dndNodeTypes,ue=>(e.openBlock(),e.createElementBlock("div",{key:ue.type,"data-dnd-type":ue.disabled?void 0:ue.type,class:e.normalizeClass(["dnd-palette-item",{"is-disabled":ue.disabled}]),title:ue.disabled?ue.disabledTip:ue.tipsImage?void 0:ue.label,onMouseenter:R=>p(R,ue),onMouseleave:h},[e.createElementVNode("i",{class:e.normalizeClass(["bkflow-canvas-icon",ue.icon])},null,2),e.createElementVNode("span",boe,e.toDisplayString(ue.label),1)],42,hoe))),128))]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[f.value.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:"dnd-gateway-tip",style:e.normalizeStyle({left:`${f.value.x}px`,top:`${f.value.y}px`})},[e.createElementVNode("img",{src:f.value.image},null,8,yoe)],4)):e.createCommentVNode("",!0)]))],512)):e.createCommentVNode("",!0)],!0)]),"quick-add-panel":e.withCtx(({node:ue,closePopover:R})=>[e.createVNode(Tw,{"plugin-group-list":a.pluginGroupList,onAddNode:P=>{te(ue.id,P),R()},onAddPlugin:(P,J)=>{ne(ue.id,P,J),R()},onOpenPluginSelect:(P,J)=>{Ce(ue.id,P,J),R()}},null,8,["plugin-group-list","onAddNode","onAddPlugin","onOpenPluginSelect"])]),_:3},8,["pipeline-tree","mode","thumbnail","default-zoom","node-actions","quick-add","additional-plugins","toolbar-items","simulate-debug-context","debug-context"]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[C.value.show?(e.openBlock(),e.createElementBlock("div",{key:0,class:"placeholder-popover-mask",onClick:de[1]||(de[1]=e.withModifiers(ue=>C.value.show=!1,["self"]))},[e.createElementVNode("div",{class:"placeholder-popover",style:e.normalizeStyle({left:`${C.value.screenPosition.x}px`,top:`${C.value.screenPosition.y}px`}),onMouseleave:V,onMouseenter:S},[e.createVNode(Tw,{"plugin-group-list":a.pluginGroupList,onAddNode:W,onAddPlugin:q,onOpenPluginSelect:ee},null,8,["plugin-group-list"])],36)])):e.createCommentVNode("",!0)])),!a.thumbnail&&v.value.condition?(e.openBlock(),e.createBlock(nZ,{key:0,show:v.value.show,"onUpdate:show":de[2]||(de[2]=ue=>v.value.show=ue),condition:v.value.condition,"has-default-branch":v.value.hasDefaultBranch,"is-default":v.value.isDefault,editable:a.mode==="edit",onConfirm:Ne},null,8,["show","condition","has-default-branch","is-default","editable"])):e.createCommentVNode("",!0),!a.thumbnail&&w.value.node?(e.openBlock(),e.createBlock(Hee,{key:1,ref_key:"nodeConfigPanelRef",ref:i,show:w.value.show,"onUpdate:show":de[3]||(de[3]=ue=>w.value.show=ue),node:w.value.node,editable:a.mode==="edit","enable-debug":a.enableNodeDebug,"initial-tab":w.value.initialTab??"config","system-variables":a.systemVariables,constants:w.value.constants??x.value,onSelectPlugin:Ve,onConfirm:Te},{inputParams:e.withCtx(ue=>[e.renderSlot(se.$slots,"inputParams",e.normalizeProps(e.guardReactiveProps(ue)),void 0,!0)]),debugConfig:e.withCtx(ue=>[e.renderSlot(se.$slots,"nodeDebugConfig",e.normalizeProps(e.guardReactiveProps(ue)),void 0,!0)]),_:3},8,["show","node","editable","enable-debug","initial-tab","system-variables","constants"])):e.createCommentVNode("",!0),a.thumbnail?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(jne,{key:2,show:y.value.show,"onUpdate:show":de[4]||(de[4]=ue=>y.value.show=ue),"flow-id":a.flowId,active:y.value.active,"bkflow-tag":y.value.bkflowTag,"plugin-group-list":a.pluginGroupList,"input-data":y.value.node?.component?.data||{},"is-back":y.value.isBack,onBack:De,onSelect:qe},null,8,["show","flow-id","active","bkflow-tag","plugin-group-list","input-data","is-back"]))]))}}),zc=je(woe,[["__scopeId","data-v-1e509939"]]);function H2(t){return JSON.stringify({name:t.name,variables:t.variables,customFormData:t.customFormData,additionalTaskParams:t.additionalTaskParams})}function koe(t){return t.editable?t.lastSavedSnapshot!==H2(t.currentDraft):!1}const Coe={class:"execute-flow-slider"},Aoe={class:"flow-name-wrapper"},Eoe={class:"form-params-wrapper"},Boe={key:0,class:"sideslider-footer-buttons"},xoe=e.defineComponent({__name:"create-task",props:{flowId:{},show:{type:Boolean},editable:{type:Boolean,default:!0},showFlowEntry:{type:Boolean,default:!1},apiConfig:{},onExecuteSuccess:{},bkflowSaasUrl:{},memberSelectorConfig:{},filterVariableConfig:{}},emits:["confirm","close","update:show","before-close","view-flow"],setup(t,{emit:n}){const o=e.useSlots(),a=t,l=n,r=il(a.apiConfig);Jr(a.memberSelectorConfig),Gc(a.filterVariableConfig),Kl({},a.bkflowSaasUrl);const i={name:[{required:!0,message:"请输入任务名称",trigger:"blur"}]},s=e.shallowRef(null);Em(F=>s.value?.pipeline_tree?.activities?.[F]?.component);const c=e.shallowRef(!0),f=e.shallowRef([]),p=e.ref({}),h=e.shallowRef([]),g=e.ref({}),m=e.ref({}),v=e.ref(),w=e.ref(),y=e.ref(),x=e.ref({name:""}),B=e.shallowRef(!1),k=e.computed(()=>h.value.filter(F=>Da(F)));let b="";const A=()=>{b=H2({name:x.value.name,variables:p.value,customFormData:g.value,additionalTaskParams:m.value})};e.watch(()=>a.show,F=>{F&&C()});const C=async()=>{c.value=!0,g.value={},m.value={};const F=await r.fetchFlowDetail(a.flowId);s.value=F,x.value.name=`${F.name}_${st().format("YYYYMMDDHHmmss")}`;const z=[],L={};Object.values(F.pipeline_tree.constants).forEach(O=>{if(typeof O!="object"||O===null)return;const M=O;!["system","space"].includes(M.source_type)&&M.show_type==="show"&&z.push(M),"value"in M&&(L[M.key]=M.value)}),h.value=z,p.value=L,await _(),c.value=!1,setTimeout(A)},_=async()=>{const F=s.value?.pipeline_tree?.constants;if(!F){f.value=[];return}const z=Object.fromEntries(Object.entries(F).filter(([,L])=>{if(typeof L!="object"||L===null)return!1;const O=L;return O.source_type==="custom"&&O.show_type==="show"&&!Da(O)}));if(Object.keys(z).length<1){f.value=[];return}if(!("fetchBkFlowInnerPluginDetail"in r)||typeof r.fetchBkFlowInnerPluginDetail!="function"){console.warn("fetchBkFlowInnerPluginDetail API is not available"),f.value=[];return}try{const L=await Kc(r,z);f.value=L}catch(L){console.error("Failed to get input forms from constants:",L),f.value=[]}},V=()=>{l("view-flow")},S=F=>{p.value={...p.value,...Fe.cloneDeep(F)}},N=F=>{g.value={...g.value,...F}},D=F=>{m.value={...m.value,...F}},H=async()=>{if(!r.createFlowTask||!r.executeFlowTask){console.warn("createFlowTask or executeFlowTask is not provided in api");return}const[F,z,L]=await Promise.all([v.value?.validate(),Promise.resolve(y.value&&typeof y.value.validate=="function"?y.value.validate():!0),Promise.resolve(w.value&&typeof w.value.validate=="function"?w.value.validate():!0)]);if(!(!F||!z||!L))try{B.value=!0;const O=await r.createFlowTask({...m.value,template_id:a.flowId,creator:"admin",name:x.value.name,constants:p.value});if(O.data.id){const M=await r.executeFlowTask({task_id:O.data.id,resource_type:"TASK",resource_id:O.data.id,permission_type:"OPERATE"});Xt({theme:"success",message:"执行成功"}),A();const G={createResult:O,executeResult:M};l("confirm",G),I(),a.onExecuteSuccess&&a.onExecuteSuccess(G)}}catch(O){console.error(O)}finally{B.value=!1}},j=()=>koe({editable:!!a.editable,lastSavedSnapshot:b,currentDraft:{name:x.value.name,variables:p.value,customFormData:g.value,additionalTaskParams:m.value}})?new Promise(z=>{qn.InfoBox({title:"确认离开?",content:"离开将会导致未保存信息丢失",confirmText:"离开",cancelText:"取消",width:320,onConfirm:()=>{I(),z(!0)},onCancel:()=>{z(!1)}})}):(I(),!0),I=()=>{l("before-close"),h.value=[],p.value={},g.value={},m.value={},l("close"),l("update:show",!1)};return(F,z)=>{const L=e.resolveComponent("bk-input"),O=e.resolveComponent("bk-form-item"),M=e.resolveComponent("bk-form"),G=e.resolveComponent("bk-button"),Y=e.resolveComponent("bk-sideslider"),Z=e.resolveDirective("bk-tooltips"),W=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(Y,{title:"执行流程","is-show":a.show,width:960,"quick-close":!0,"esc-close":!1,"before-close":j},{footer:e.withCtx(()=>[c.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Boe,[e.createVNode(G,{theme:"primary",loading:B.value,onClick:H},{default:e.withCtx(()=>[...z[2]||(z[2]=[e.createTextVNode("确定",-1)])]),_:1},8,["loading"]),e.createVNode(G,{onClick:I},{default:e.withCtx(()=>[...z[3]||(z[3]=[e.createTextVNode("取消",-1)])]),_:1})]))]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",Coe,[e.createVNode(M,{ref_key:"formRef",ref:v,"form-type":"vertical",model:x.value,rules:i,"label-width":100},{default:e.withCtx(()=>[t.showFlowEntry?(e.openBlock(),e.createBlock(O,{key:0,label:"排障流程",required:""},{default:e.withCtx(()=>[e.createElementVNode("div",Aoe,[e.createVNode(L,{readonly:"","model-value":s.value?.name},null,8,["model-value"]),e.withDirectives(e.createVNode(e.unref(dn.Share),{class:"link-icon",onClick:V},null,512),[[Z,"查看排障流程",void 0,{top:!0}]])])]),_:1})):e.createCommentVNode("",!0),e.createVNode(O,{label:"任务名称",property:"name",required:""},{default:e.withCtx(()=>[e.createVNode(L,{modelValue:x.value.name,"onUpdate:modelValue":z[0]||(z[0]=q=>x.value.name=q),placeholder:"请输入任务名称","show-word-limit":"",maxlength:100},null,8,["modelValue"])]),_:1}),o.customFormContent?e.renderSlot(F.$slots,"customFormContent",{customFormData:g.value,additionalTaskParams:m.value,updateCustomFormData:N,updateAdditionalTaskParams:D},void 0,!0,1):e.createCommentVNode("",!0),e.createVNode(O,{label:"请求参数",property:"inputParams",description:"流程的入参"},{default:e.withCtx(()=>[e.createElementVNode("div",Eoe,[k.value.length>0?(e.openBlock(),e.createBlock(e.unref(hd),{key:0,ref_key:"builtinVariableFormRef",ref:y,modelValue:p.value,"onUpdate:modelValue":z[1]||(z[1]=q=>p.value=q),variables:k.value,editable:a.editable},null,8,["modelValue","variables","editable"])):e.createCommentVNode("",!0),f.value.length>0?(e.openBlock(),e.createBlock(Ni,{key:1,ref_key:"renderFormRef",ref:w,scheme:f.value,editable:a.editable,"form-option":{showRequired:!0,showGroup:!0,showLabel:!1,showHook:!1,showDesc:!0,formEdit:a.editable},"form-data":p.value,onChange:S},null,8,["scheme","editable","form-option","form-data"])):e.createCommentVNode("",!0),k.value.length<1&&f.value.length<1?(e.openBlock(),e.createBlock(fn,{key:2,title:"暂无参数"})):e.createCommentVNode("",!0)])]),_:1})]),_:3},8,["model"])])),[[W,{loading:c.value}]])]),_:3},8,["is-show"])}}}),Ad=je(xoe,[["__scopeId","data-v-df86aaea"]]),_oe=Object.freeze(Object.defineProperty({__proto__:null,default:Ad},Symbol.toStringTag,{value:"Module"})),Voe={class:"execute-flow-slider"},Soe={class:"flow-name-wrapper"},Noe={class:"form-params-wrapper"},Doe={key:0,class:"sideslider-footer-buttons"},Toe=e.defineComponent({__name:"debug",props:{flowId:{},show:{type:Boolean},editable:{type:Boolean,default:!0},showFlowEntry:{type:Boolean,default:!1},apiConfig:{},onConfirm:{},useCustomConfirm:{type:Boolean,default:!1},mockData:{},onExecuteSuccess:{},bkflowSaasUrl:{},enableVersion:{type:Boolean,default:!1},flowVersion:{},memberSelectorConfig:{}},emits:["confirm","close","update:show","before-close"],setup(t,{emit:n}){const o=t,a=n,l=il(o.apiConfig);Jr(o.memberSelectorConfig),Kl({},o.bkflowSaasUrl);const r={name:[{required:!0,message:"请输入任务名称",trigger:"blur"}]},i=e.shallowRef(null),s=e.shallowRef(!0),c=e.shallowRef([]),f=e.ref({}),p=e.shallowRef([]),h=e.ref(),g=e.ref(),m=e.ref(),v=e.ref({name:""}),w=e.shallowRef(!1),y=e.computed(()=>p.value.filter(H=>Da(H)));let x="";const B=()=>{x=JSON.stringify({name:v.value.name,variables:f.value})};e.watch(()=>o.show,H=>{H&&k()});const k=async()=>{s.value=!0;let H=await l.fetchFlowDetail(o.flowId);if(o.enableVersion)if(o.flowVersion){const F=await l.fetchFlowDetailByVersion(o.flowId,o.flowVersion);H={...H,name:F.name,pipeline_tree:F.pipeline_tree}}else{const F=await l.fetchFlowDraftDetail(o.flowId);H={...H,pipeline_tree:F.pipeline_tree}}i.value=H,v.value.name=`${H.name}_${st().format("YYYYMMDDHHmmss")}`;const j=[],I={};Object.values(H.pipeline_tree.constants).forEach(F=>{if(typeof F!="object"||F===null)return;const z=F;!["system","space"].includes(z.source_type)&&z.show_type==="show"&&j.push(z),"value"in z&&(I[z.key]=z.value)}),p.value=j,f.value=I,await b(),s.value=!1,setTimeout(B)},b=async()=>{const H=i.value?.pipeline_tree?.constants;if(!H){c.value=[];return}const j=Object.fromEntries(Object.entries(H).filter(([,I])=>{if(typeof I!="object"||I===null)return!1;const F=I;return F.source_type==="custom"&&F.show_type==="show"&&!Da(F)}));if(Object.keys(j).length<1){c.value=[];return}if(!("fetchBkFlowInnerPluginDetail"in l)||typeof l.fetchBkFlowInnerPluginDetail!="function"){console.warn("fetchBkFlowInnerPluginDetail API is not available"),c.value=[];return}try{const I=await Kc(l,j);c.value=I}catch(I){console.error("Failed to get input forms from constants:",I),c.value=[]}},A=()=>{o.onExecuteSuccess},C=H=>{f.value={...f.value,...Fe.cloneDeep(H)}},_=H=>{const j=Fe.cloneDeep(i.value?.pipeline_tree);return Object.entries(H).forEach(([I,F])=>{j.constants[I]&&(j.constants[I]={...j.constants[I],value:F})}),j},V=async()=>{if(!l.createMockDebugTask||!l.executeFlowTask){console.warn("createMockDebugTask or executeFlowTask is not provided in api");return}try{w.value=!0;const H=await l.createMockDebugTask({template_id:o.flowId,name:v.value.name,pipeline_tree:_(f.value),mock_data:o.mockData??{nodes:[],outputs:{}},creator:String(window.USERNAME??"")}),j=H.data.id;await l.executeFlowTask({task_id:j,resource_type:"TASK",resource_id:j,permission_type:"OPERATE"}),Xt({theme:"success",message:"执行成功"}),B(),a("confirm",j,H.data.template_id),D(),o.onExecuteSuccess&&o.onExecuteSuccess(j,H.data.template_id)}catch(H){console.error(H)}finally{w.value=!1}},S=async()=>{const[H,j,I]=await Promise.all([h.value?.validate(),Promise.resolve(m.value&&typeof m.value.validate=="function"?m.value.validate():!0),Promise.resolve(g.value&&typeof g.value.validate=="function"?g.value.validate():!0)]);if(!H||!j||!I)return;const F={name:v.value.name,variablesValue:f.value};if(o.useCustomConfirm&&o.onConfirm)try{w.value=!0,await o.onConfirm(F),B(),a("confirm"),D()}catch(z){console.error(z)}finally{w.value=!1}else await V(),o.onConfirm&&await o.onConfirm(F)},N=()=>{const H=JSON.stringify({name:v.value.name,variables:f.value}),j=x!==H;return!o.editable||!j?(D(),!0):new Promise(I=>{qn.InfoBox({title:"确认离开?",content:"离开将会导致未保存信息丢失",confirmText:"离开",cancelText:"取消",width:320,onConfirm:()=>{D(),I(!0)},onCancel:()=>{I(!1)}})})},D=()=>{a("before-close"),p.value=[],f.value={},a("close"),a("update:show",!1)};return(H,j)=>{const I=e.resolveComponent("bk-input"),F=e.resolveComponent("bk-form-item"),z=e.resolveComponent("bk-form"),L=e.resolveComponent("bk-button"),O=e.resolveComponent("bk-sideslider"),M=e.resolveDirective("bk-tooltips"),G=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(O,{title:"调试流程","is-show":o.show,width:960,"quick-close":!0,"esc-close":!1,"before-close":N},{footer:e.withCtx(()=>[s.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Doe,[e.createVNode(L,{theme:"primary",loading:w.value,onClick:S},{default:e.withCtx(()=>[...j[2]||(j[2]=[e.createTextVNode("确定",-1)])]),_:1},8,["loading"]),e.createVNode(L,{onClick:D},{default:e.withCtx(()=>[...j[3]||(j[3]=[e.createTextVNode("取消",-1)])]),_:1})]))]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",Voe,[e.createVNode(z,{ref_key:"formRef",ref:h,"form-type":"vertical",model:v.value,rules:r,"label-width":100},{default:e.withCtx(()=>[o.showFlowEntry?(e.openBlock(),e.createBlock(F,{key:0,label:"排障流程",required:""},{default:e.withCtx(()=>[e.createElementVNode("div",Soe,[e.createVNode(I,{readonly:"","model-value":i.value?.name},null,8,["model-value"]),e.withDirectives(e.createVNode(e.unref(dn.Share),{class:"link-icon",onClick:A},null,512),[[M,"查看排障流程",void 0,{top:!0}]])])]),_:1})):e.createCommentVNode("",!0),e.createVNode(F,{label:"任务名称",property:"name",required:""},{default:e.withCtx(()=>[e.createVNode(I,{modelValue:v.value.name,"onUpdate:modelValue":j[0]||(j[0]=Y=>v.value.name=Y),placeholder:"请输入任务名称","show-word-limit":"",maxlength:100},null,8,["modelValue"])]),_:1}),e.createVNode(F,{label:"请求参数",property:"inputParams",description:"流程的入参"},{default:e.withCtx(()=>[e.createElementVNode("div",Noe,[y.value.length>0?(e.openBlock(),e.createBlock(e.unref(hd),{key:0,ref_key:"builtinVariableFormRef",ref:m,modelValue:f.value,"onUpdate:modelValue":j[1]||(j[1]=Y=>f.value=Y),variables:y.value,editable:o.editable},null,8,["modelValue","variables","editable"])):e.createCommentVNode("",!0),c.value.length>0?(e.openBlock(),e.createBlock(Ni,{key:1,ref_key:"renderFormRef",ref:g,scheme:c.value,editable:o.editable,"form-option":{showRequired:!0,showGroup:!0,showLabel:!1,showHook:!1,showDesc:!0,formEdit:o.editable},"form-data":f.value,onChange:C},null,8,["scheme","editable","form-option","form-data"])):e.createCommentVNode("",!0),y.value.length<1&&c.value.length<1?(e.openBlock(),e.createBlock(fn,{key:2,title:"暂无参数"})):e.createCommentVNode("",!0)])]),_:1}),e.renderSlot(H.$slots,"custom-form-content",{formData:v.value,variablesValue:f.value},void 0,!0)]),_:3},8,["model"])])),[[G,{loading:s.value}]])]),_:3},8,["is-show"])}}}),vi=je(Toe,[["__scopeId","data-v-c51ee991"]]),Ioe=Object.freeze(Object.defineProperty({__proto__:null,default:vi},Symbol.toStringTag,{value:"Module"})),Ooe={class:"mock-field-renderer"},Moe={key:8,class:"mock-field-renderer__code-editor"},Poe={key:10,class:"mock-field-renderer__error"},Loe=e.defineComponent({__name:"mock-field-renderer",props:{field:{},modelValue:{},error:{}},emits:["update:modelValue"],setup(t,{emit:n}){const o=t,a=n,l=e.computed(()=>pc(o.field)),r=e.computed(()=>(o.field.options??[]).map(SN)),i=e.computed(()=>r.value.length>0?r.value:o.field.type==="boolean"?[{label:"true",value:!0},{label:"false",value:!1}]:r.value),s=e.computed(()=>["json-editor","data-table"].includes(l.value)),c=e.computed(()=>({language:"json",theme:"vs-dark",lineNumbers:"on",scrollBeyondLastLine:!1,tabSize:2,placeholder:"{}"})),f=e.computed({get(){return typeof o.modelValue=="string"?o.modelValue:""},set(g){p(g)}}),p=g=>{a("update:modelValue",g)},h=g=>{if(g===""||g===void 0||g===null){a("update:modelValue",void 0);return}const m=Number(g);a("update:modelValue",Number.isNaN(m)?g:m)};return(g,m)=>{const v=e.resolveComponent("bk-option"),w=e.resolveComponent("bk-select"),y=e.resolveComponent("bk-checkbox"),x=e.resolveComponent("bk-checkbox-group"),B=e.resolveComponent("bk-radio"),k=e.resolveComponent("bk-radio-group"),b=e.resolveComponent("bk-switcher"),A=e.resolveComponent("bk-date-picker"),C=e.resolveComponent("bk-input");return e.openBlock(),e.createElementBlock("div",Ooe,[l.value==="bk-select"?(e.openBlock(),e.createBlock(w,{key:0,"model-value":o.modelValue,clearable:"",onChange:p},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,_=>(e.openBlock(),e.createBlock(v,{id:_.value,key:String(_.value),label:_.label},null,8,["id","label"]))),128))]),_:1},8,["model-value"])):l.value==="bk-checkbox-group"?(e.openBlock(),e.createBlock(x,{key:1,"model-value":Array.isArray(o.modelValue)?o.modelValue:[],onChange:p},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,_=>(e.openBlock(),e.createBlock(y,{key:String(_.value),label:_.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(_.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["model-value"])):l.value==="bk-radio-group"?(e.openBlock(),e.createBlock(k,{key:2,"model-value":o.modelValue,onChange:p},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,_=>(e.openBlock(),e.createBlock(B,{key:String(_.value),label:_.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(_.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["model-value"])):l.value==="bk-switcher"?(e.openBlock(),e.createBlock(b,{key:3,"model-value":!!o.modelValue,theme:"primary",onChange:p},null,8,["model-value"])):l.value==="bk-date-picker"?(e.openBlock(),e.createBlock(A,{key:4,"model-value":o.modelValue,type:"datetime",clearable:"",onChange:p},null,8,["model-value"])):l.value==="bk-date-range-picker"?(e.openBlock(),e.createBlock(A,{key:5,"model-value":Array.isArray(o.modelValue)?o.modelValue:[],type:"datetimerange",clearable:"",onChange:p},null,8,["model-value"])):l.value==="bk-input-number"?(e.openBlock(),e.createBlock(C,{key:6,"model-value":o.modelValue,type:"number","onUpdate:modelValue":h},null,8,["model-value"])):l.value==="bk-textarea"?(e.openBlock(),e.createBlock(C,{key:7,"model-value":o.modelValue,type:"textarea",rows:3,placeholder:"请输入","onUpdate:modelValue":p},null,8,["model-value"])):s.value?(e.openBlock(),e.createElementBlock("div",Moe,[e.createVNode(fa,{modelValue:f.value,"onUpdate:modelValue":m[0]||(m[0]=_=>f.value=_),options:c.value},null,8,["modelValue","options"])])):(e.openBlock(),e.createBlock(C,{key:9,"model-value":o.modelValue,"onUpdate:modelValue":p},null,8,["model-value"])),o.error?(e.openBlock(),e.createElementBlock("div",Poe,e.toDisplayString(o.error),1)):e.createCommentVNode("",!0)])}}}),bm=je(Loe,[["__scopeId","data-v-7dc32c6a"]]),Roe={key:0,class:"unchecked-fields-section"},Foe={key:0,class:"unchecked-fields-section__content"},zoe=e.defineComponent({__name:"unchecked-fields-section",props:{fields:{}},setup(t){const n=t,o=e.ref(!1);return(a,l)=>{const r=e.resolveComponent("bk-button");return n.fields.length>0?(e.openBlock(),e.createElementBlock("section",Roe,[e.createVNode(r,{text:"",theme:"primary",class:"unchecked-fields-section__toggle",onClick:l[0]||(l[0]=i=>o.value=!o.value)},{default:e.withCtx(()=>[e.createElementVNode("i",{class:e.normalizeClass(["bkflow-canvas-icon bkflow-canvas-angle-up unchecked-fields-section__toggle-icon",{"is-expanded":o.value}])},null,2),e.createElementVNode("span",null,e.toDisplayString(o.value?"收起未勾选的字段":"显示未勾选的字段"),1)]),_:1}),o.value?(e.openBlock(),e.createElementBlock("div",Foe,[e.renderSlot(a.$slots,"default",{},void 0,!0)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)}}}),joe=je(zoe,[["__scopeId","data-v-768e1d59"]]),Hoe={key:0,class:"mock-data-sideslider__title-sep"},Uoe=["title"],Woe={class:"mock-data-sideslider"},Goe={class:"mock-data-sideslider__footer"},Yoe=e.defineComponent({__name:"index",props:{show:{type:Boolean},node:{},constants:{default:()=>({})},config:{default:void 0}},emits:["save","cancel","update:show"],setup(t,{emit:n}){const o=t,a=n,l=xn(),r=e.ref(!1),i=e.shallowRef([]),s=e.ref({}),c=e.ref({}),f=e.ref(!1),p=e.ref({}),h=e.computed(()=>VN(i.value,o.constants,o.node?.id??"")),g=e.computed(()=>h.value.globalFields),m=e.computed(()=>h.value.otherFields),v=e.computed(()=>i.value.length>0),w=C=>{const _=o.config?.outputs;return!_||!Object.prototype.hasOwnProperty.call(_,C.key)?{exists:!1,value:void 0}:{exists:!0,value:_[C.key]}},y=async()=>{if(o.node){r.value=!0,f.value=!1,p.value={};try{const C=await Xs(l,o.node.component);i.value=Zw(C.outputs);const _={};i.value.forEach(V=>{const S=w(V),N=S.exists?S.value:V.type==="object"?{}:void 0,D=pc(V);_[V.key]=D==="json-editor"||D==="data-table"?Xw(N):N}),s.value=_,c.value=Fe.cloneDeep(_),f.value=!0}catch(C){console.error(C),i.value=[],s.value={},c.value={},f.value=!0,sn.Message({theme:"error",message:"加载输出结果失败"})}finally{r.value=!1}}},x=()=>{const C={},_={};return i.value.forEach(V=>{const S=s.value[V.key],N=pc(V);if(N==="json-editor"||N==="data-table"){const D=Jw(S);if(!D.valid){C[V.key]=D.message;return}D.value!==void 0&&(_[V.key]=D.value);return}S!==void 0&&S!==""&&(_[V.key]=S)}),{errors:C,outputs:_}},B=()=>!f.value||r.value?!1:!Fe.isEqual(s.value,c.value),k=()=>{if(!o.node)return;const{errors:C,outputs:_}=x();p.value=C,!(Object.keys(C).length>0)&&(a("save",{nodeId:o.node.id,outputs:_,fieldSnapshots:Object.fromEntries(i.value.map(V=>[V.key,V]))}),a("update:show",!1))},b=()=>{a("cancel"),a("update:show",!1)},A=()=>B()?new Promise(C=>{qn.InfoBox({title:"确认离开?",content:"离开将会导致未保存信息丢失",confirmText:"离开",cancelText:"取消",width:320,onConfirm:()=>{b(),C(!0)},onCancel:()=>{C(!1)}})}):(b(),!0);return e.watch(()=>[o.show,o.node?.id],([C])=>{C&&o.node&&y()},{immediate:!0}),(C,_)=>{const V=e.resolveComponent("bk-exception"),S=e.resolveComponent("bk-form-item"),N=e.resolveComponent("bk-form"),D=e.resolveComponent("bk-button"),H=e.resolveComponent("bk-sideslider"),j=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(H,{"is-show":o.show,width:960,"quick-close":"","esc-close":!1,"before-close":A},{header:e.withCtx(()=>[_[0]||(_[0]=e.createElementVNode("span",{class:"mock-data-sideslider__title"},"设置 Mock 数据",-1)),o.node?.name?(e.openBlock(),e.createElementBlock("span",Hoe,"-")):e.createCommentVNode("",!0),o.node?.name?(e.openBlock(),e.createElementBlock("span",{key:1,class:"mock-data-sideslider__title-node",title:o.node.name},e.toDisplayString(o.node.name),9,Uoe)):e.createCommentVNode("",!0)]),footer:e.withCtx(()=>[e.createElementVNode("div",Goe,[v.value?(e.openBlock(),e.createBlock(D,{key:0,theme:"primary",onClick:k},{default:e.withCtx(()=>[..._[1]||(_[1]=[e.createTextVNode("保存",-1)])]),_:1})):e.createCommentVNode("",!0),e.createVNode(D,{onClick:A},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(v.value?"取消":"关闭"),1)]),_:1})])]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",Woe,[o.node?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[i.value.length>0?(e.openBlock(),e.createBlock(N,{key:0,"form-type":"vertical","label-width":120},{default:e.withCtx(()=>[g.value.length===0?(e.openBlock(),e.createBlock(V,{key:0,class:"mock-data-sideslider__exception",scene:"part",type:"empty",title:"暂无已勾选的全局变量字段"})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,I=>(e.openBlock(),e.createBlock(S,{key:I.key,label:I.name||I.key,description:I.description},{default:e.withCtx(()=>[e.createVNode(bm,{modelValue:s.value[I.key],"onUpdate:modelValue":F=>s.value[I.key]=F,field:I,error:p.value[I.key]},null,8,["modelValue","onUpdate:modelValue","field","error"])]),_:2},1032,["label","description"]))),128)),e.createVNode(joe,{fields:m.value},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,I=>(e.openBlock(),e.createBlock(S,{key:I.key,label:I.name||I.key,description:I.description},{default:e.withCtx(()=>[e.createVNode(bm,{modelValue:s.value[I.key],"onUpdate:modelValue":F=>s.value[I.key]=F,field:I,error:p.value[I.key]},null,8,["modelValue","onUpdate:modelValue","field","error"])]),_:2},1032,["label","description"]))),128))]),_:1},8,["fields"])]),_:1})):r.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(V,{key:1,class:"mock-data-sideslider__exception",scene:"part",type:"empty",title:"暂无输出结果"}))],64)):e.createCommentVNode("",!0)])),[[j,{loading:r.value}]])]),_:1},8,["is-show"])}}}),U2=je(Yoe,[["__scopeId","data-v-b08c551c"]]),Qoe={class:"mock-select-all-toolbar"},qoe=e.defineComponent({__name:"mock-select-all-toolbar",setup(t){const n=Fv(),o=e.computed(()=>!!n.simulateDebug?.isAllMockNodesSelected?.());return(a,l)=>(e.openBlock(),e.createElementBlock("span",Qoe,[e.createElementVNode("i",{class:e.normalizeClass(["mock-select-all-toolbar__icon","bkflow-canvas-icon","bkflow-canvas-batch-checked",{"is-checked":o.value}]),"aria-hidden":"true"},null,2)]))}}),W2=je(qoe,[["__scopeId","data-v-4f66d077"]]),Koe={key:0,class:"operate-area"},$oe={key:0,class:"operate-btns"},Zoe={class:"flow-view-page-content"},Xoe={key:1,class:"flow-view-thumbnail"},Joe=e.defineComponent({__name:"view",props:{flowId:{},apiConfig:{},permissions:{default:()=>({canEdit:!0,canExecute:!0})},onEdit:{},onBack:{},thumbnail:{type:Boolean,default:!1},enableVersion:{type:Boolean,default:!1},flowVersion:{},showHeaderActions:{type:Boolean,default:!0},defaultZoom:{default:1},bkflowSaasUrl:{},onExecuteSuccess:{},memberSelectorConfig:{},enableDebug:{type:Boolean,default:!1},onMockDebugCreated:{},hideTrigger:{type:Boolean,default:!1}},emits:["edit","back","mockDebugCreated"],setup(t,{expose:n,emit:o}){const a=e.useSlots(),l=t,r=e.computed(()=>({canEdit:!0,canExecute:!0,...l.permissions})),i=il(l.apiConfig);Jr(l.memberSelectorConfig);const s=o;Kl({},l.bkflowSaasUrl);const c=e.shallowRef(!1),f=e.shallowRef(null),p=e.shallowRef(!0),h=e.shallowRef({}),g=e.shallowRef(!0),m=e.shallowRef([]),v=e.shallowRef(!1),w=e.ref(),y=e.ref(!1),x=lk(),B=e.computed(()=>x.stage.value!=="edit"),k=e.computed(()=>x.stage.value==="mock-config"?"mock-config":"view"),b={stage:x.stage,isMockSelected:x.isMockSelected,toggleMockSelected:x.toggleMockSelected,hasMockConfig:x.hasMockConfig,isAllMockNodesSelected:()=>C.value},A=e.computed(()=>ok(f.value?.pipeline_tree??null)),C=e.computed(()=>x.isAllMockNodesSelected(A.value)),_=e.computed(()=>{const{mockData:Ae}=x.buildRunnableSelection(A.value);return Object.keys(Ae).length>0}),V=e.computed(()=>{if(_.value)return"";const{selectedIds:Ae}=x.buildRunnableSelection(A.value);return Ae.length===0?"请先勾选需要模拟调试的节点":"请先为已勾选节点设置 Mock 数据"}),S=e.computed(()=>[{id:"mock-select-all",type:"custom",component:W2,description:"全选",group:"tools",order:19,visible:()=>x.stage.value==="mock-config",active:()=>C.value,onClick:()=>x.toggleSelectAllMockNodes(A.value)}]),N=e.computed(()=>{const Ae=x.activeConfigNodeId.value;return Ae?f.value?.pipeline_tree.activities[Ae]??null:null}),D=e.computed(()=>{const Ae=x.activeConfigNodeId.value;return Ae?x.mockConfigs.value[Ae]:void 0});e.onMounted(()=>{H(),j(),I()}),e.watch(()=>[l.flowId,l.flowVersion],([Ae,Ne],[Ve,De])=>{(Ae!==Ve||Ne!==De)&&(x.reset(),y.value=!1,H(),j(),I())});const H=async()=>{p.value=!0;try{let Ae=await i.fetchFlowDetail(String(l.flowId));if(l.enableVersion)if(l.flowVersion){const Ne=await i.fetchFlowDetailByVersion(String(l.flowId),l.flowVersion);Ae={...Ae,name:Ne.name,pipeline_tree:Ne.pipeline_tree}}else{const Ne=await i.fetchFlowDraftDetail(String(l.flowId));Ae={...Ae,pipeline_tree:Ne.pipeline_tree}}f.value=Ae}catch(Ae){console.error(Ae)}finally{p.value=!1}},j=async()=>{g.value=!0;try{const Ae=await i.fetchSpaceFlowConfig(String(l.flowId));h.value=Ae}catch(Ae){console.error(Ae)}finally{g.value=!1}},I=async()=>{v.value=!0;try{const Ae=await i.fetchSystemVariables(String(l.flowId));m.value=Ae}catch(Ae){console.error(Ae)}finally{v.value=!1}},F=()=>{typeof l.onBack=="function"?l.onBack():s("back")},z=()=>{r.value.canEdit&&(typeof l.onEdit=="function"?l.onEdit():s("edit"))},L=()=>{r.value.canExecute&&(c.value=!0)},O=Ae=>{typeof l.onExecuteSuccess=="function"&&l.onExecuteSuccess(Ae)};n({zoomToFit:Ae=>{w.value?.zoomToFit?.(Ae)},centerContent:()=>{w.value?.centerContent?.()},getZoom:()=>w.value?.getZoom?.()??1});const Z=()=>String(window.USERNAME??""),W=(Ae,Ne)=>{const Ve={taskId:Ae,templateId:Ne};l.onMockDebugCreated&&l.onMockDebugCreated(Ve),s("mockDebugCreated",Ve)},q=Ae=>{sn.Message({theme:"error",message:Ae.message}),Ae.ids.length>0&&w.value?.locateNode?.(Ae.ids[0])},ee=()=>{if(!f.value)return;const Ae=el(f.value.pipeline_tree),Ne=ak(f.value.pipeline_tree);if(!Ae.valid||Ne.length>0){q(Ae.valid?{message:"流程中存在未配置节点,请配置后再模拟调试",ids:Ne}:Ae);return}x.enterConfig(A.value)},he=()=>{_.value&&(y.value=!0)},te=()=>{y.value=!1},ne=Ae=>{x.openConfigNode(Ae.id)},Ce=Ae=>{x.saveMockConfig(Ae),x.closeConfigNode()},oe=Ae=>{Ae||x.closeConfigNode()},le=()=>{y.value=!1,x.reset()},ke=async Ae=>{if(!f.value)return;const{selectedIds:Ne,mockNodeIds:Ve,mockData:De}=x.buildRunnableSelection(A.value);if(Ne.length<1){sn.Message({theme:"warning",message:"请至少选择一个可模拟调试节点"});return}if(!i.createMockDebugTask||!i.executeFlowTask){sn.Message({theme:"warning",message:"模拟调试接口未配置"});return}try{const qe=tk(f.value.pipeline_tree,Ne,Ae.variablesValue),Te=await i.createMockDebugTask({template_id:f.value.id,name:Ae.name,pipeline_tree:qe,mock_data:{nodes:Ve,outputs:De,mock_data_ids:{}},creator:Z()}),Ee=Te.data.id,tt=Te.data.template_id;await i.executeFlowTask({task_id:Ee,resource_type:"TASK",resource_id:Ee,permission_type:"OPERATE"}),x.reset(),W(Ee,tt)}catch(qe){throw console.error(qe),sn.Message({theme:"error",message:"创建或启动模拟调试任务失败"}),qe}};return(Ae,Ne)=>{const Ve=e.resolveComponent("bk-button"),De=e.resolveDirective("bk-tooltips"),qe=e.resolveDirective("bkloading");return l.thumbnail?e.withDirectives((e.openBlock(),e.createElementBlock("div",Xoe,[f.value?(e.openBlock(),e.createBlock(zc,{key:0,mode:"view","flow-id":t.flowId,"pipeline-tree":f.value.pipeline_tree,"system-variables":m.value,thumbnail:!0,"default-zoom":l.defaultZoom},{inputParams:e.withCtx(Te=>[e.renderSlot(Ae.$slots,"inputParams",e.normalizeProps(e.guardReactiveProps(Te)),void 0,!0)]),_:3},8,["flow-id","pipeline-tree","system-variables","default-zoom"])):e.createCommentVNode("",!0)])),[[qe,{loading:p.value||g.value,zIndex:100}]]):(e.openBlock(),e.createBlock(hi,{key:0,title:"查看流程",desc:f.value?.name,"show-back-icon":!0,onBack:F},e.createSlots({extend:e.withCtx(()=>[f.value?(e.openBlock(),e.createElementBlock("div",Koe,[e.createVNode(bd,{editable:!1,"flow-data":f.value,"system-variables":m.value,"fetch-user-api":e.unref(i).fetchUserApi,"enable-simulate-debug":l.enableDebug,"simulate-debug-active":B.value,"simulate-debug-only":B.value,"hide-trigger":l.hideTrigger,onSimulateDebug:ee},null,8,["flow-data","system-variables","fetch-user-api","enable-simulate-debug","simulate-debug-active","simulate-debug-only","hide-trigger"]),t.showHeaderActions?(e.openBlock(),e.createElementBlock("div",$oe,[B.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.withDirectives((e.openBlock(),e.createBlock(Ve,{theme:"primary",disabled:!_.value,onClick:he},{default:e.withCtx(()=>[...Ne[2]||(Ne[2]=[e.createTextVNode(" 执行 ",-1)])]),_:1},8,["disabled"])),[[De,{content:V.value,disabled:!V.value}]]),e.createVNode(Ve,{onClick:le},{default:e.withCtx(()=>[...Ne[3]||(Ne[3]=[e.createTextVNode("退出模拟调试",-1)])]),_:1})],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(Ve,{theme:"primary",disabled:!r.value.canEdit,onClick:z},{default:e.withCtx(()=>[...Ne[4]||(Ne[4]=[e.createTextVNode("编辑",-1)])]),_:1},8,["disabled"]),e.createVNode(Ve,{disabled:!r.value.canExecute,onClick:L},{default:e.withCtx(()=>[...Ne[5]||(Ne[5]=[e.createTextVNode("执行流程",-1)])]),_:1},8,["disabled"])],64))])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",Zoe,[f.value?(e.openBlock(),e.createBlock(zc,{key:0,ref_key:"flowCanvasRef",ref:w,mode:k.value,"flow-id":t.flowId,"pipeline-tree":f.value.pipeline_tree,"system-variables":m.value,thumbnail:l.thumbnail,"default-zoom":l.defaultZoom,"toolbar-items":S.value,"simulate-debug-context":b,onMockNodeClick:ne},{inputParams:e.withCtx(Te=>[e.renderSlot(Ae.$slots,"inputParams",e.normalizeProps(e.guardReactiveProps(Te)),void 0,!0)]),_:3},8,["mode","flow-id","pipeline-tree","system-variables","thumbnail","default-zoom","toolbar-items"])):e.createCommentVNode("",!0)])),[[qe,{loading:p.value||g.value,zIndex:100}]]),f.value?(e.openBlock(),e.createBlock(Ad,{key:0,"flow-id":t.flowId,show:c.value,"api-config":l.apiConfig,"bkflow-saas-url":l.bkflowSaasUrl,"member-selector-config":l.memberSelectorConfig,onClose:Ne[0]||(Ne[0]=Te=>c.value=!1),onConfirm:O},e.createSlots({_:2},[e.unref(a).customFormContent?{name:"customFormContent",fn:e.withCtx(Te=>[e.renderSlot(Ae.$slots,"customFormContent",e.normalizeProps(e.guardReactiveProps(Te)),void 0,!0)]),key:"0"}:void 0]),1032,["flow-id","show","api-config","bkflow-saas-url","member-selector-config"])):e.createCommentVNode("",!0),f.value?(e.openBlock(),e.createBlock(vi,{key:1,"flow-id":t.flowId,show:y.value,"api-config":l.apiConfig,"bkflow-saas-url":l.bkflowSaasUrl,"enable-version":!1,"flow-version":l.flowVersion,"on-confirm":ke,"use-custom-confirm":!0,onClose:te,"onUpdate:show":Ne[1]||(Ne[1]=Te=>y.value=Te)},{"custom-form-content":e.withCtx(Te=>[e.renderSlot(Ae.$slots,"debugCustomFormContent",e.normalizeProps(e.guardReactiveProps(Te)),void 0,!0)]),_:3},8,["flow-id","show","api-config","bkflow-saas-url","flow-version"])):e.createCommentVNode("",!0),f.value?(e.openBlock(),e.createBlock(U2,{key:2,show:!!N.value,node:N.value,constants:f.value.pipeline_tree.constants,config:D.value,onSave:Ce,onCancel:e.unref(x).closeConfigNode,"onUpdate:show":oe},null,8,["show","node","constants","config","onCancel"])):e.createCommentVNode("",!0)]),_:2},[e.unref(a).header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(Ae.$slots,"header",{},void 0,!0)]),key:"0"}:void 0]),1032,["desc"]))}}}),G2=je(Joe,[["__scopeId","data-v-82600d34"]]),eae=Object.freeze(Object.defineProperty({__proto__:null,default:G2},Symbol.toStringTag,{value:"Module"})),tae={key:0,class:"operate-area"},nae={class:"flow-actions"},oae={class:"operate-btns"},aae={class:"flow-edit-page-content"},lae=e.defineComponent({__name:"edit",props:{flowId:{},apiConfig:{},permissions:{default:()=>({canSave:!0})},enableDebug:{type:Boolean,default:!1},onDebugConfirm:{},useCustomDebugConfirm:{type:Boolean,default:!1},selectPanelConfig:{},memberSelectorConfig:{},filterVariableConfig:{},onSave:{},onSaveSuccess:{},onBack:{},onExitEdit:{},onBeforeLeave:{},onMockDebugCreated:{},enableVersion:{type:Boolean,default:!1},flowVersion:{},defaultZoom:{default:1},bkflowSaasUrl:{},enableThirdPlugin:{type:Boolean,default:!0},quickAdd:{default:void 0},hideTrigger:{type:Boolean,default:!1}},emits:["save","saveSuccess","back","exitEdit","debugBeforeClose","mockDebugCreated","createVariable"],setup(t,{expose:n,emit:o}){const a=t,l={...a.apiConfig,enableThirdPlugin:a.enableThirdPlugin},r=il(l);km(a.selectPanelConfig||{}),Jr(a.memberSelectorConfig),Gc(a.filterVariableConfig);const i=o;Kl({},a.bkflowSaasUrl);const s=e.shallowRef(null),c=e.shallowRef(!0),f=e.ref(),p=e.ref(),h=e.shallowRef(!0),g=e.shallowRef({}),m=e.shallowRef(!1),v=e.shallowRef([]),w=e.shallowRef(!1),y=e.shallowRef([]),x=e.shallowRef(!1),B=e.shallowRef(!1),k=e.ref(!1),b=e.ref(!1),A=lk(),C=e.computed(()=>String(a.flowId)),_=R=>{i("createVariable",{keyword:R.keyword,cursorIndex:R.cursorIndex,defaultCustomType:R.defaultCustomType}),f.value?.openGlobalVariableCreate(R)};gt.provideVariableInputCreateVariable(_);const V=(R={})=>f.value?.openGlobalVariableCreate(R)??!1,S=e.computed(()=>c.value||w.value||h.value),N=e.computed(()=>A.stage.value==="mock-config"?"mock-config":"edit"),D={stage:A.stage,isMockSelected:A.isMockSelected,toggleMockSelected:A.toggleMockSelected,hasMockConfig:A.hasMockConfig,isAllMockNodesSelected:()=>j.value},H=e.computed(()=>ok(s.value?.pipeline_tree??null)),j=e.computed(()=>A.isAllMockNodesSelected(H.value)),I=e.computed(()=>{const{mockData:R}=A.buildRunnableSelection(H.value);return Object.keys(R).length>0}),F=e.computed(()=>{if(I.value)return"";const{selectedIds:R}=A.buildRunnableSelection(H.value);return R.length===0?"请先勾选需要模拟调试的节点":"请先为已勾选节点设置 Mock 数据"}),z=e.computed(()=>[{id:"mock-select-all",type:"custom",component:W2,description:"全选",group:"tools",order:19,visible:()=>A.stage.value==="mock-config",active:()=>j.value,onClick:()=>A.toggleSelectAllMockNodes(H.value)}]),L=e.computed(()=>s.value?.pipeline_tree),O=e.computed(()=>{const R=A.activeConfigNodeId.value;return R?s.value?.pipeline_tree.activities[R]??null:null}),M=e.computed(()=>{const R=A.activeConfigNodeId.value;return R?A.mockConfigs.value[R]:void 0}),G=()=>String(window.USERNAME??""),Y=(R,P)=>{const J={taskId:R,templateId:P};a.onMockDebugCreated&&a.onMockDebugCreated(J),i("mockDebugCreated",J)};e.onMounted(()=>{Z(),W(),q(),ee()}),e.watch(()=>[a.flowId,a.flowVersion],([R,P],[J,$])=>{(R!==J||P!==$)&&(B.value=!1,A.reset(),Z(),W(),q(),ee())});const Z=async()=>{c.value=!0;try{let R=await r.fetchFlowDetail(C.value);if(a.enableVersion)if(a.flowVersion){const P=await r.fetchFlowDetailByVersion(C.value,a.flowVersion);R={...R,name:P.name,pipeline_tree:P.pipeline_tree}}else{const P=await r.fetchFlowDraftDetail(C.value);R={...R,pipeline_tree:P.pipeline_tree}}s.value=R}catch(R){console.error(R)}finally{c.value=!1}},W=async()=>{h.value=!0;try{const R=await r.fetchSpaceFlowConfig(C.value);g.value=R}catch(R){console.error(R)}finally{h.value=!1}},q=async()=>{x.value=!0;try{const R=await r.fetchSystemVariables(C.value);y.value=R}catch(R){console.error(R)}finally{x.value=!1}},ee=async()=>{w.value=!0;try{const R=await r.fetchAllPluginGroups();v.value=R}catch(R){console.error(R)}finally{w.value=!1}},he=()=>{a.onBack?a.onBack():i("back")},te=()=>{a.onExitEdit?a.onExitEdit():i("exitEdit")},ne=()=>{f.value?.openBasicSetting()},Ce=R=>{s.value=R,B.value=!0},oe=R=>{s.value&&(s.value={...s.value,pipeline_tree:{...s.value.pipeline_tree,constants:R}}),B.value=!0,p.value?.updateGlobalVariables(R)},le=R=>{p.value?.updateOutputs(R)},ke=R=>{s.value={...s.value,pipeline_tree:R},B.value=!0},Ae=async()=>{if(!s.value||!r.drawPipeline)return;const R=s.value.pipeline_tree,P=el(R);if(!P.valid){sn.Message({theme:"warning",message:P.message});return}const J=p.value?.getCanvasWidth?.()??document.documentElement.offsetWidth-200;try{p.value?.setFormatLoading?.(!0);const $=await r.drawPipeline({pipeline_tree:R,canvas_width:J,activity_size:[240,48],event_size:[88,40],gateway_size:[64,64],start:[20,150]}),fe=p.value?.updatePipelineTree?.($.pipeline_tree);s.value={...s.value,pipeline_tree:fe??$.pipeline_tree},B.value=!0,sn.Message({theme:"success",message:"排版完成"})}catch($){console.error($)}finally{p.value?.setFormatLoading?.(!1)}},Ne=R=>{p.value&&p.value.updateNodeInputParams?.(R)},Ve=R=>{sn.Message({theme:"error",message:R.message}),R.ids.length>0&&p.value?.locateNode?.(R.ids[0])},De=async()=>{if(!s.value)return;const R=el(s.value.pipeline_tree),P=ak(s.value.pipeline_tree);if(!R.valid||P.length>0){Ve(R.valid?{message:"流程中存在未配置节点,请配置后再模拟调试",ids:P}:R);return}if(B.value){if(!a.permissions.canSave){sn.Message({theme:"warning",message:"您没有保存权限,无法在未保存的情况下进行模拟调试"});return}return new Promise(J=>{qn.InfoBox({title:"确认进入模拟调试?",content:"流程已修改,进入模拟调试前需要先保存流程。是否保存并继续?",confirmText:"保存并继续",cancelText:"取消",width:400,headerAlign:"center",footerAlign:"center",onConfirm:async()=>{try{await Be({throwOnError:!0,silent:!0})&&A.enterConfig(H.value)}catch($){console.error("保存失败:",$),sn.Message({theme:"error",message:"保存失败,请重试"})}finally{J()}},onCancel:()=>{J()}})})}A.enterConfig(H.value)},qe=()=>{I.value&&(b.value=!0)},Te=async R=>{if(!s.value)return;const{selectedIds:P,mockNodeIds:J,mockData:$}=A.buildRunnableSelection(H.value);if(P.length<1){sn.Message({theme:"warning",message:"请至少选择一个可模拟调试节点"});return}if(!r.createMockDebugTask||!r.executeFlowTask){sn.Message({theme:"warning",message:"模拟调试接口未配置"});return}try{const fe=tk(s.value.pipeline_tree,P,R.variablesValue),pe=await r.createMockDebugTask({template_id:s.value.id,name:R.name,pipeline_tree:fe,mock_data:{nodes:J,outputs:$,mock_data_ids:{}},creator:G()}),Oe=pe.data.id,Ke=pe.data.template_id;await r.executeFlowTask({task_id:Oe,resource_type:"TASK",resource_id:Oe,permission_type:"OPERATE"}),A.reset(),Y(Oe,Ke)}catch(fe){throw console.error(fe),sn.Message({theme:"error",message:"创建或启动模拟调试任务失败"}),fe}},Ee=(R,P)=>{Y(R,P)},tt=()=>{b.value=!1},ie=R=>{A.openConfigNode(R.id)},ce=R=>{A.saveMockConfig(R),A.closeConfigNode()},Pe=R=>{R||A.closeConfigNode()},ot=()=>{b.value=!1,A.reset()},at=()=>{i("debugBeforeClose")},vt=()=>{k.value=!1},rt=()=>{if(!a.permissions.canSave)return;const R=el(s.value?.pipeline_tree);R.valid?Be():Ve(R)},Be=async(R={})=>{const{name:P,desc:J,notify_config:$,pipeline_tree:fe,triggers:pe}=s.value,Oe={name:P,desc:J,notify_config:$,pipeline_tree:fe,triggers:pe};try{return m.value=!0,await r.saveFlow(C.value,Oe),B.value=!1,sn.Message({theme:"success",message:"保存成功"}),R.silent||(a.onSave&&a.onSave(s.value),a.onSaveSuccess&&a.onSaveSuccess(),i("save",s.value),i("saveSuccess")),!0}catch(Ke){if(console.error(Ke),R.throwOnError)throw Ke;return!1}finally{m.value=!1}},Se=()=>{f.value?.openGlobalVariables()},Ie=R=>{p.value?.zoomToFit?.(R)},se=()=>{p.value?.centerContent?.()},de=()=>p.value?.getZoom?.()??1,ue={isFlowEdited:e.computed(()=>B.value),updateNodeInputParams:Ne,openGlobalVariables:Se,openGlobalVariableCreate:V,zoomToFit:Ie,centerContent:se,getZoom:de};return n(ue),(R,P)=>{const J=e.resolveComponent("bk-button"),$=e.resolveDirective("bk-tooltips"),fe=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(hi,{title:"编辑流程",desc:s.value?.name,"show-back-icon":!0,"show-edit-icon":!0,onBack:he,onEdit:ne},{header:e.withCtx(()=>[e.renderSlot(R.$slots,"header",{},void 0,!0)]),extend:e.withCtx(()=>[s.value?(e.openBlock(),e.createElementBlock("div",tae,[e.createElementVNode("div",nae,[e.createVNode(bd,{ref_key:"flowInfoSlidersRef",ref:f,"flow-data":s.value,"system-variables":y.value,"fetch-user-api":e.unref(r).fetchUserApi,"enable-simulate-debug":a.enableDebug,"simulate-debug-active":e.unref(A).stage.value!=="edit","simulate-debug-only":e.unref(A).stage.value!=="edit","hide-trigger":a.hideTrigger,onChange:Ce,onUpdateConstants:oe,onUpdateOutputs:le,onSimulateDebug:De},null,8,["flow-data","system-variables","fetch-user-api","enable-simulate-debug","simulate-debug-active","simulate-debug-only","hide-trigger"]),e.createElementVNode("div",oae,[e.unref(A).stage.value==="edit"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(J,{theme:"primary",disabled:!t.permissions.canSave,loading:m.value,onClick:rt},{default:e.withCtx(()=>[...P[2]||(P[2]=[e.createTextVNode(" 保存 ",-1)])]),_:1},8,["disabled","loading"]),e.createVNode(J,{onClick:te},{default:e.withCtx(()=>[...P[3]||(P[3]=[e.createTextVNode("退出编辑",-1)])]),_:1})],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.withDirectives((e.openBlock(),e.createBlock(J,{theme:"primary",disabled:!I.value,onClick:qe},{default:e.withCtx(()=>[...P[4]||(P[4]=[e.createTextVNode(" 执行 ",-1)])]),_:1},8,["disabled"])),[[$,{content:F.value,disabled:!F.value}]]),e.createVNode(J,{onClick:ot},{default:e.withCtx(()=>[...P[5]||(P[5]=[e.createTextVNode("退出模拟调试",-1)])]),_:1})],64))])])])):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",aae,[!S.value&&s.value?(e.openBlock(),e.createBlock(zc,{key:0,ref_key:"flowCanvasRef",ref:p,mode:N.value,"flow-id":C.value,"pipeline-tree":L.value,"plugin-group-list":v.value,"system-variables":y.value,"default-zoom":a.defaultZoom,"quick-add":a.quickAdd,"toolbar-items":z.value,"simulate-debug-context":D,onChange:ke,onMockNodeClick:ie,onFormatPosition:Ae},{inputParams:e.withCtx(pe=>[e.renderSlot(R.$slots,"inputParams",e.normalizeProps(e.guardReactiveProps({...pe,updateNodeInputParams:Ne})),void 0,!0)]),_:3},8,["mode","flow-id","pipeline-tree","plugin-group-list","system-variables","default-zoom","quick-add","toolbar-items"])):e.createCommentVNode("",!0)])),[[fe,{loading:S.value,zIndex:100}]]),s.value?(e.openBlock(),e.createBlock(vi,{key:0,"flow-id":C.value,show:k.value,"api-config":a.apiConfig,"bkflow-saas-url":a.bkflowSaasUrl,"enable-version":a.enableVersion,"flow-version":a.flowVersion,"on-confirm":a.onDebugConfirm,"use-custom-confirm":a.useCustomDebugConfirm,"on-execute-success":Ee,onClose:vt,"onUpdate:show":P[0]||(P[0]=pe=>k.value=pe),onBeforeClose:at},{"custom-form-content":e.withCtx(pe=>[e.renderSlot(R.$slots,"debugCustomFormContent",e.normalizeProps(e.guardReactiveProps(pe)),void 0,!0)]),_:3},8,["flow-id","show","api-config","bkflow-saas-url","enable-version","flow-version","on-confirm","use-custom-confirm"])):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createBlock(vi,{key:1,"flow-id":C.value,show:b.value,"api-config":a.apiConfig,"bkflow-saas-url":a.bkflowSaasUrl,"enable-version":!1,"flow-version":a.flowVersion,"on-confirm":Te,"use-custom-confirm":!0,onClose:tt,"onUpdate:show":P[1]||(P[1]=pe=>b.value=pe)},{"custom-form-content":e.withCtx(pe=>[e.renderSlot(R.$slots,"debugCustomFormContent",e.normalizeProps(e.guardReactiveProps(pe)),void 0,!0)]),_:3},8,["flow-id","show","api-config","bkflow-saas-url","flow-version"])):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createBlock(U2,{key:2,show:!!O.value,node:O.value,constants:s.value.pipeline_tree.constants,config:M.value,onSave:ce,onCancel:e.unref(A).closeConfigNode,"onUpdate:show":Pe},null,8,["show","node","constants","config","onCancel"])):e.createCommentVNode("",!0)]),_:3},8,["desc"])}}}),Y2=je(lae,[["__scopeId","data-v-f3bb51df"]]),rae=Object.freeze(Object.defineProperty({__proto__:null,default:Y2},Symbol.toStringTag,{value:"Module"})),kp="#48A397",sae=.82,iae=.94,Iw={FAILED:"#FA4E41",SUSPENDED:"#F59500",REVOKED:"#FA4E41",SKIP:"#C4C6CC"},Ow=t=>{const n=t&&t.status in Iw?Iw[t.status]:void 0;return n?{strokeColor:{type:"linearGradient",stops:[{offset:0,color:kp},{offset:sae,color:kp},{offset:iae,color:n},{offset:1,color:n}]},targetMarkerColor:n}:{strokeColor:kp}};function uae(t,n){if(!n)return;const o=n[t.source.nodeId];if(!o||o.status!=="FINISHED")return;const a=o.selectedFlowIds;if(a&&a.length>0)return a.includes(t.id)?Ow(n[t.target.nodeId]):void 0;const l=n[t.target.nodeId];if(l)return Ow(l)}function Ed(t){return{name:"execution-status",priority:100,decorateEdge(n){return uae(n,t.value)}}}const cae={ExclusiveGateway:"exclusive-gateway",ParallelGateway:"parallel-gateway",ConditionalParallelGateway:"conditional-parallel-gateway",ConvergeGateway:"converge-gateway"};function Kv(t,n){if(!n||Object.keys(n).length===0)return t;const o={...t.activities};for(const[i,s]of Object.entries(n)){const c=o[i];if(!c)continue;const f={...c,status:s.status};s.retry!==void 0&&(f.retry=s.retry),s.skip!==void 0&&(f.skip=s.skip),(s.errorIgnored??s.error_ignored)!==void 0&&(f.error_ignored=s.errorIgnored??s.error_ignored),s.loop!==void 0&&(f.loop=s.loop),s.phase!==void 0&&(f.phase=s.phase),o[i]=f}const a={...t.gateways};for(const[i,s]of Object.entries(n))a[i]&&(a[i]={...a[i],status:s.status});const l=t.start_event&&n[t.start_event.id]?{...t.start_event,status:n[t.start_event.id].status}:t.start_event,r=t.end_event&&n[t.end_event.id]?{...t.end_event,status:n[t.end_event.id].status}:t.end_event;return{...t,activities:o,gateways:a,start_event:l,end_event:r}}function dae(t,n){if(!t)return"";if(t.activities?.[n])return"task";const o=t.gateways?.[n];return o?cae[o.type]??"":t.start_event?.id===n?"start-event":t.end_event?.id===n?"end-event":""}function fae(t,n,o){const a=t?.[o];if(!a)return;const l=n?.activities?.[o];return l?{...a,taskState:a.taskState??a.task_state,retryable:a.retryable??l.retryable,skippable:a.skippable??l.skippable,errorIgnorable:a.errorIgnorable??a.error_ignorable??l.error_ignorable,hasAdminPerm:a.hasAdminPerm??a.has_admin_perm,errorIgnored:a.errorIgnored??a.error_ignored,nodeCode:a.nodeCode??a.code??l.component?.code,actions:a.actions??a.action_list}:{...a,taskState:a.taskState??a.task_state,nodeCode:a.nodeCode??a.code,errorIgnorable:a.errorIgnorable??a.error_ignorable,hasAdminPerm:a.hasAdminPerm??a.has_admin_perm,errorIgnored:a.errorIgnored??a.error_ignored,actions:a.actions??a.action_list}}function Q2(t,n){if(!t)return[];const o=gae(t);return o.taskState==="REVOKED"||o.status==="REVOKED"?[]:o.actions&&o.actions.length>0?o.actions:n==="task"?pae(o):vae(n)?mae(o):[]}function pae(t){const n=[];if(t.status==="FAILED")return(t.retryable||t.errorIgnorable)&&n.push("retry"),(t.skippable||t.errorIgnorable)&&n.push("skip"),n;if(t.status==="RUNNING"){const o=t.nodeCode;return o==="pause_node"?(n.push("resume"),n):o==="bk_approve"?(n.push("approve"),n):(n.push("forceFail"),n)}return n}function mae(t){return t.status==="FAILED"?["gatewaySkip"]:[]}function vae(t){return t==="exclusive-gateway"||t==="parallel-gateway"||t==="conditional-parallel-gateway"}function gae(t){return{...t,taskState:t.taskState??t.task_state,nodeCode:t.nodeCode??t.code,errorIgnorable:t.errorIgnorable??t.error_ignorable,hasAdminPerm:t.hasAdminPerm??t.has_admin_perm,errorIgnored:t.errorIgnored??t.error_ignored,actions:t.actions??t.action_list}}const hae=150;function q2(t){const n=e.reactive({visible:!1,nodeId:"",actions:[],position:{x:0,y:0}});let o=null;function a(){o&&(clearTimeout(o),o=null)}function l(){a(),o=setTimeout(()=>{n.visible=!1,o=null},hae)}function r(){a(),n.visible=!1}function i(p){const h=t.getPipelineTree(),g=fae(t.getNodeStates(),h,p);if(!g){r();return}const m=dae(h,p),v=Q2(g,m);if(v.length===0){r();return}const w=t.getNodeViewportRect(p);if(!w){r();return}a(),n.nodeId=p,n.actions=v,n.position={x:w.x+w.width,y:w.y+w.height},n.visible=!0}function s(){a()}function c(){l()}function f(p){if(p.type==="node.mouseenter"){i(p.nodeId);return}if(p.type==="node.mouseleave"){p.nodeId===n.nodeId&&l();return}p.type==="blank.click"&&r()}return e.onBeforeUnmount(()=>{a()}),{actionPopover:n,openActionPopover:i,closeActionPopover:r,handlePopoverEnter:s,handlePopoverLeave:c,handleUiEvent:f}}const bae={class:"execution-action-popover__actions"},yae={key:0,class:"execution-action-popover__divider","aria-hidden":"true"},wae=["title","onClick","onKeydown"],kae={class:"execution-action-popover__label"},Cae=e.defineComponent({__name:"index",props:{visible:{type:Boolean},nodeId:{},actions:{},position:{}},emits:["popover-enter","popover-leave","action"],setup(t,{emit:n}){const o={retry:{label:"重试",icon:"bkflow-canvas-icon bkflow-canvas-retry"},skip:{label:"跳过",icon:"bkflow-canvas-icon bkflow-canvas-skip"},resume:{label:"继续",icon:"bkflow-canvas-icon bkflow-canvas-play"},approve:{label:"审批",icon:"bkflow-canvas-icon bkflow-canvas-circulation"},forceFail:{label:"强制终止",icon:"bkflow-canvas-icon bkflow-canvas-mandatory-failure"},gatewaySkip:{label:"跳过",icon:"bkflow-canvas-icon bkflow-canvas-skip"}},a=t,l=n,r=e.computed(()=>a.actions.map(p=>({key:p,...o[p]??{label:p,icon:""}}))),i=e.computed(()=>({left:`${a.position.x}px`,top:`${a.position.y+4}px`})),s=p=>{l("action",{nodeId:a.nodeId,action:p})},c=()=>{l("popover-enter")},f=()=>{l("popover-leave")};return(p,h)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[t.visible?(e.openBlock(),e.createElementBlock("div",{key:0,ref:"popoverRef",class:"execution-action-popover",style:e.normalizeStyle(i.value),onMouseenter:c,onMouseleave:f,onClick:h[0]||(h[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",bae,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(g,m)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:g.key},[m>0?(e.openBlock(),e.createElementBlock("span",yae)):e.createCommentVNode("",!0),e.createElementVNode("span",{class:"execution-action-popover__item",title:g.label,role:"button",tabindex:"0",onClick:v=>s(g.key),onKeydown:[e.withKeys(e.withModifiers(v=>s(g.key),["prevent"]),["enter"]),e.withKeys(e.withModifiers(v=>s(g.key),["prevent"]),["space"])]},[e.createElementVNode("i",{class:e.normalizeClass(["execution-action-popover__icon",g.icon])},null,2),e.createElementVNode("span",kae,e.toDisplayString(g.label),1)],40,wae)],64))),128))])],36)):e.createCommentVNode("",!0)]))}}),K2=je(Cae,[["__scopeId","data-v-868d8e66"]]),Aae={class:"flow-execute-page-content"},Eae=e.defineComponent({__name:"execute",props:{pipelineTree:{},nodeStates:{default:()=>({})},defaultZoom:{default:1},apiConfig:{},bkflowSaasUrl:{},showHeader:{type:Boolean,default:!0},onBack:{}},emits:["back","node-click","ui-event","execution-action","retry","skip","gatewaySkip","resume","approve","forceFail"],setup(t,{emit:n}){const o=e.useSlots(),a=t,l=n;il(a.apiConfig),Kl({},a.bkflowSaasUrl);const r=e.ref(),i=e.computed(()=>a.nodeStates??{}),s=e.shallowRef([Ed(i)]),c=e.computed(()=>a.pipelineTree?Kv(a.pipelineTree,a.nodeStates):null),{actionPopover:f,closeActionPopover:p,handlePopoverEnter:h,handlePopoverLeave:g,handleUiEvent:m}=q2({getNodeStates:()=>a.nodeStates,getPipelineTree:()=>c.value,getNodeViewportRect:B=>r.value?.editor?.api?.value?.overlay?.getNodeViewportRect?.(B)});function v(B){l("execution-action",B),l(B.action,B.nodeId),p()}const w=()=>{typeof a.onBack=="function"?a.onBack():l("back")},y=B=>{l("node-click",B)},x=B=>{l("ui-event",B),m(B)};return(B,k)=>{const b=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(hi,{title:"任务执行","show-back-icon":!0,"show-header":a.showHeader,onBack:w},e.createSlots({extend:e.withCtx(()=>[e.renderSlot(B.$slots,"extend",{},void 0,!0)]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",Aae,[c.value?(e.openBlock(),e.createBlock(wd,{key:0,ref_key:"canvasRef",ref:r,mode:"view","pipeline-tree":c.value,"default-zoom":a.defaultZoom,"additional-plugins":s.value,onNodeClick:y,onUiEvent:x},null,8,["pipeline-tree","default-zoom","additional-plugins"])):e.createCommentVNode("",!0)])),[[b,{loading:!a.pipelineTree}]]),e.createVNode(K2,{visible:e.unref(f).visible,"node-id":e.unref(f).nodeId,actions:e.unref(f).actions,position:e.unref(f).position,onPopoverEnter:e.unref(h),onPopoverLeave:e.unref(g),onAction:v},null,8,["visible","node-id","actions","position","onPopoverEnter","onPopoverLeave"])]),_:2},[e.unref(o).header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(B.$slots,"header",{},void 0,!0)]),key:"0"}:void 0]),1032,["show-header"])}}}),$2=je(Eae,[["__scopeId","data-v-d2ccd1b2"]]),Bae=Object.freeze(Object.defineProperty({__proto__:null,default:$2},Symbol.toStringTag,{value:"Module"})),xae=3,_ae=e.defineComponent({__name:"index",props:{size:{default:20},width:{default:""},dotSize:{default:4},color:{default:""}},setup(t){const n=t,o=l=>typeof l=="number"?`${l}px`:l,a=e.computed(()=>({"--bkflow-loading-dots-icon-width":n.width?o(n.width):o(n.size),"--bkflow-loading-dots-icon-size":o(n.size),"--bkflow-loading-dots-icon-dot-size":o(n.dotSize),color:n.color||void 0}));return(l,r)=>(e.openBlock(),e.createElementBlock("span",{class:"bkflow-loading-dots-icon",style:e.normalizeStyle(a.value),"aria-hidden":"true"},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(xae,i=>e.createElementVNode("span",{key:i,class:"bkflow-loading-dots-icon__dot"})),64))],4))}}),Vae=je(_ae,[["__scopeId","data-v-dd36d9ac"]]),Sae={class:"debug-status-bar__label"},Nae={class:"debug-status-bar__elapsed"},Dae={class:"debug-status-bar__failed-count"},Tae=e.defineComponent({__name:"index",props:{status:{default:"RUNNING"},startedAt:{default:void 0},elapsed:{default:void 0},failedCount:{default:0}},emits:["stop","locate-failed"],setup(t,{emit:n}){const o=t,a=n,l=e.ref(Date.now());let r;const i=e.computed(()=>o.status??"RUNNING"),s=e.computed(()=>({RUNNING:"正在调试",FINISHED:"调试成功",FAILED:"调试失败"})[i.value]),c=e.computed(()=>({RUNNING:"",FINISHED:"bkflow-canvas-dark-circle-checkbox",FAILED:"bkflow-canvas-dark-circle-close"})[i.value]),f=e.computed(()=>i.value!=="RUNNING"&&o.elapsed!=null?o.elapsed:o.startedAt?Math.max(0,Math.floor((l.value-o.startedAt)/1e3)):0),p=e.computed(()=>{const m=f.value,v=Math.floor(m/3600),w=Math.floor(m%3600/60),y=m%60,x=String(w).padStart(2,"0"),B=String(y).padStart(2,"0");return v>0?`${String(v).padStart(2,"0")}:${x}:${B}`:`${x}:${B}`}),h=()=>{g(),r=setInterval(()=>{l.value=Date.now()},1e3)},g=()=>{r&&(clearInterval(r),r=void 0)};return e.watch(i,m=>{m==="RUNNING"?h():g()},{immediate:!0}),e.onBeforeUnmount(()=>{g()}),(m,v)=>{const w=e.resolveComponent("bk-button"),y=e.resolveDirective("bk-tooltips");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["debug-status-bar",`is-${i.value.toLowerCase()}`])},[i.value==="RUNNING"?(e.openBlock(),e.createBlock(fi,{key:0,class:"debug-status-bar__icon",size:14})):(e.openBlock(),e.createElementBlock("i",{key:1,class:e.normalizeClass(["debug-status-bar__icon bkflow-canvas-icon",c.value])},null,2)),e.createElementVNode("span",Sae,e.toDisplayString(s.value),1),v[4]||(v[4]=e.createElementVNode("span",{class:"debug-status-bar__divider"},null,-1)),e.createElementVNode("span",Nae,e.toDisplayString(p.value),1),i.value==="RUNNING"?(e.openBlock(),e.createBlock(w,{key:2,text:"",class:"debug-status-bar__action debug-status-bar__action--stop",onClick:v[0]||(v[0]=x=>a("stop"))},{default:e.withCtx(()=>[...v[2]||(v[2]=[e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-zhongzhi debug-status-bar__action-icon"},null,-1),e.createTextVNode(" 终止调试 ",-1)])]),_:1})):e.createCommentVNode("",!0),i.value==="FAILED"&&o.failedCount>0?(e.openBlock(),e.createBlock(w,{key:3,text:"",class:"debug-status-bar__action debug-status-bar__action--locate",onClick:v[1]||(v[1]=x=>a("locate-failed"))},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("span",Dae,[e.createTextVNode(e.toDisplayString(o.failedCount),1)])),[[y,"定位错误"]]),v[3]||(v[3]=e.createTextVNode(" 个节点错误 ",-1))]),_:1})):e.createCommentVNode("",!0)],2)}}}),Iae=je(Tae,[["__scopeId","data-v-dfddc841"]]),Oae={key:0,class:"bkflow-segment-tabs__divider"},Mae=["onClick"],Pae={key:2,class:"bkflow-segment-tabs__label"},Lae={key:3,class:"bkflow-segment-tabs__count"},Mw=120,Rae=e.defineComponent({__name:"index",props:{modelValue:{},items:{},size:{default:"default"}},emits:["update:modelValue"],setup(t,{emit:n}){const o=t,a=n,l=e.ref(),r=e.ref(!1),i=e.ref(!1),s=()=>{const p=l.value;p&&(r.value=p.scrollLeft>1,i.value=p.scrollLeft+p.clientWidth<p.scrollWidth-1)},c=p=>{l.value?.scrollBy({left:p,behavior:"smooth"})};let f;return e.onMounted(()=>{e.nextTick(s),l.value&&(f=new ResizeObserver(s),f.observe(l.value))}),e.onBeforeUnmount(()=>{f?.disconnect()}),e.watch(()=>o.items,()=>e.nextTick(s)),(p,h)=>{const g=e.resolveDirective("bk-tooltips");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["bkflow-segment-tabs",{"is-small":o.size==="small"}])},[r.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"bkflow-segment-tabs__arrow is-left",onClick:h[0]||(h[0]=m=>c(-Mw))})):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"trackRef",ref:l,class:"bkflow-segment-tabs__track",onScroll:s},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.items,(m,v)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:m.value},[v>0?(e.openBlock(),e.createElementBlock("span",Oae)):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["bkflow-segment-tabs__item",{"is-active":m.value===o.modelValue}]),type:"button",onClick:w=>a("update:modelValue",m.value)},[m.iconComponent?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(m.iconComponent),{key:0,class:"bkflow-segment-tabs__icon",style:e.normalizeStyle(m.iconColor?{color:m.iconColor}:void 0)},null,8,["style"])):m.icon?(e.openBlock(),e.createElementBlock("i",{key:1,class:e.normalizeClass(["bkflow-segment-tabs__icon bkflow-canvas-icon",m.icon]),style:e.normalizeStyle(m.iconColor?{color:m.iconColor}:void 0)},null,6)):e.createCommentVNode("",!0),m.label?(e.openBlock(),e.createElementBlock("span",Pae,e.toDisplayString(m.label),1)):e.createCommentVNode("",!0),m.count!=null?(e.openBlock(),e.createElementBlock("span",Lae,e.toDisplayString(m.count),1)):e.createCommentVNode("",!0)],10,Mae)),[[g,{content:m.tooltip,disabled:!m.tooltip}]])],64))),128))],544),i.value?(e.openBlock(),e.createElementBlock("span",{key:1,class:"bkflow-segment-tabs__arrow is-right",onClick:h[1]||(h[1]=m=>c(Mw))})):e.createCommentVNode("",!0)],2)}}}),$v=je(Rae,[["__scopeId","data-v-00adf3a4"]]),Fae={class:"debug-node-list"},zae={key:0,class:"debug-node-list__items",role:"listbox"},jae=["aria-selected","onClick","onKeydown"],Hae=["title"],Uae={key:0,class:"debug-node-list__mock"},Wae={key:1,class:"debug-node-list__empty"},Gae=e.defineComponent({__name:"node-list",props:{nodes:{},modelValue:{default:""}},emits:["update:modelValue"],setup(t,{emit:n}){const o=t,a=n,l=e.ref(""),r=e.ref("ALL"),i=[{value:"ALL",label:"全部",icon:"",iconColor:""},{value:"FINISHED",icon:"bkflow-canvas-dark-circle-checkbox",iconColor:"#2dcb56"},{value:"FAILED",icon:"bkflow-canvas-circle-alert-filled",iconColor:"#ea3636"},{value:"RUNNING",iconComponent:fi,iconColor:"#3a84ff"},{value:"CREATED",icon:"bkflow-canvas-weizhixing",iconColor:"#c4c6cc"},{value:"SUSPENDED",icon:"bkflow-canvas-guaqi",iconColor:"#ff9c01"},{value:"REVOKED",icon:"bkflow-canvas-tiaoguo",iconColor:"#6e89af"}],s=e.computed(()=>{const g=l.value.trim().toLowerCase();return o.nodes.filter(m=>r.value==="ALL"||(m.status||"CREATED")===r.value?g?m.name.toLowerCase().includes(g)||m.id.toLowerCase().includes(g):!0:!1)}),c={FINISHED:"成功",FAILED:"失败",RUNNING:"执行中",SUSPENDED:"暂停",CREATED:"未执行",REVOKED:"已撤销"},f=e.computed(()=>l.value.trim()?"搜索结果为空":r.value!=="ALL"?`暂无${c[r.value]}状态节点`:"暂无节点"),p=()=>{l.value="",r.value="ALL"},h=e.computed(()=>i.map(g=>({...g,count:g.value==="ALL"?o.nodes.length:o.nodes.filter(m=>(m.status||"CREATED")===g.value).length})));return(g,m)=>{const v=e.resolveComponent("bk-input");return e.openBlock(),e.createElementBlock("aside",Fae,[e.createVNode(v,{modelValue:l.value,"onUpdate:modelValue":m[0]||(m[0]=w=>l.value=w),class:"debug-node-list__search",placeholder:"搜索节点名称",type:"search",clearable:""},null,8,["modelValue"]),e.createVNode($v,{modelValue:r.value,"onUpdate:modelValue":m[1]||(m[1]=w=>r.value=w),class:"debug-node-list__stats",items:h.value},null,8,["modelValue","items"]),s.value.length>0?(e.openBlock(),e.createElementBlock("div",zae,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,w=>(e.openBlock(),e.createElementBlock("div",{key:w.id,class:e.normalizeClass(["debug-node-list__item",{"is-active":w.id===o.modelValue}]),role:"option",tabindex:"0","aria-selected":w.id===o.modelValue,onClick:y=>a("update:modelValue",w.id),onKeydown:e.withKeys(e.withModifiers(y=>a("update:modelValue",w.id),["prevent"]),["enter","space"])},[e.createElementVNode("span",{class:e.normalizeClass(["debug-node-list__status",`is-${(w.status||"CREATED").toLowerCase()}`])},[w.status==="RUNNING"?(e.openBlock(),e.createBlock(fi,{key:0,size:12})):w.iconClass?(e.openBlock(),e.createElementBlock("i",{key:1,class:e.normalizeClass(w.iconClass)},null,2)):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:"debug-node-list__name",title:`${w.name} ${w.typeName||""}`},e.toDisplayString(w.name),9,Hae),w.hasMockConfig?(e.openBlock(),e.createElementBlock("span",Uae,"MOCK")):e.createCommentVNode("",!0)],42,jae))),128))])):(e.openBlock(),e.createElementBlock("div",Wae,[e.createVNode(fn,{"is-search":!1,title:f.value,onClear:p},null,8,["title"])]))])}}}),Yae=je(Gae,[["__scopeId","data-v-8864ef7f"]]),Go=t=>t&&typeof t=="object"&&!Array.isArray(t)?t:void 0,Qae=t=>{if(t==null)return!0;if(typeof t=="string")return t.trim()==="";if(Array.isArray(t))return t.length===0;const n=Go(t);return n?Object.keys(n).length===0:!1},Bd=t=>!!(t&&typeof t=="object"),ym=t=>{if(t==null)return"";if(typeof t=="string")return t;try{return JSON.stringify(t,null,2)}catch{return String(t)}},gi=t=>t==null||t===""?"--":typeof t=="boolean"?t?"true":"false":typeof t=="number"?String(t):typeof t=="string"?t:Array.isArray(t)?"[ ... ]":"{ ... }",qae=t=>{if(Array.isArray(t))return t.length>0?"[ ... ]":"[]";const n=Go(t);return n?Object.keys(n).length>0?"{ ... }":"{}":gi(t)},Kae=(t,n={})=>{const o=Go(t);return o?Object.entries(o).map(([a,l])=>({name:n[a]||a,key:a,value:l})):[]},Z2=(t,n={})=>{if(Array.isArray(t))return t.map((a,l)=>{const r=Go(a),i=String(r?.key??r?.id??l);return{name:n[i]||String(r?.name??r?.label??i),key:i,value:r&&"value"in r?r.value:a,preset:typeof r?.preset=="boolean"?r.preset:void 0}});const o=Go(t);return o?Object.entries(o).map(([a,l])=>({name:n[a]||a,key:a,value:Go(l)&&"value"in l?l.value:l})):[]},X2=(t,n)=>{if(n.length===0)return t;const o=new Map(n.map((a,l)=>[a,l]));return t.map((a,l)=>({row:a,index:l})).sort((a,l)=>{const r=o.get(a.row.key)??Number.MAX_SAFE_INTEGER,i=o.get(l.row.key)??Number.MAX_SAFE_INTEGER;return r===i?a.index-l.index:r-i}).map(({row:a})=>a)},J2=t=>{const n=t;return typeof n=="string"?n:ym(n)},$ae=t=>{if(typeof t!="number")return"--";if(t<1)return"小于 1 秒";if(t<60)return`${t} 秒`;const n=Math.floor(t/60),o=t%60;return o>0?`${n} 分 ${o} 秒`:`${n} 分`},eA=Symbol("shared-node-detail"),Zae=t=>typeof t=="string"?t:t instanceof Error?t.message:"加载失败",Xae=(t,n)=>`${t??""}_${n??""}`;function Jae(t){const n=xn(),o=e.ref(!1),a=e.ref(""),l=e.shallowRef(),r=new Map;let i=0;const s=async()=>{const f=t.taskId(),p=t.nodeId(),h=++i;if(!f||!p){o.value=!1,a.value="",l.value=void 0;return}const g=Xae(f,p),m=r.get(g);if(m){o.value=!1,a.value="",l.value=m;return}if(!n.fetchTaskNodeDetail){o.value=!1,a.value="节点执行详情接口未配置",l.value=void 0;return}o.value=!0,a.value="";try{const v=await n.fetchTaskNodeDetail({task_id:f,node_id:p});if(h!==i)return;const w=Go(v);w&&r.set(g,w),l.value=w}catch(v){if(h!==i)return;console.error(v),a.value=Zae(v),l.value=void 0}finally{h===i&&(o.value=!1)}};e.watch(()=>[t.taskId(),t.nodeId()],()=>{s()},{immediate:!0});const c={loading:o,error:a,detail:l};return e.provide(eA,c),c}function Zv(){const t=e.inject(eA);if(!t)throw new Error("useInjectedNodeDetail: shared node detail is not provided");return t}const ele={class:"execution-info-tab"},tle={key:0,class:"execution-info-tab__state is-error"},nle={class:"execution-info-tab__section"},ole={class:"execution-info-tab__section"},ale={class:"execution-info-tab__table"},lle=e.defineComponent({__name:"execution-info",setup(t){const{loading:n,error:o,detail:a}=Zv(),l=e.computed(()=>String(a.value?.ex_data??"")),r=e.computed(()=>[{label:"开始时间",value:gi(a.value?.start_time)},{label:"结束时间",value:gi(a.value?.finish_time)},{label:"耗时",value:$ae(a.value?.elapsed_time)}]);return(i,s)=>{const c=e.resolveDirective("bkloading");return e.withDirectives((e.openBlock(),e.createElementBlock("div",ele,[e.unref(o)?(e.openBlock(),e.createElementBlock("div",tle,e.toDisplayString(e.unref(o)),1)):e.unref(a)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("section",nle,[s[0]||(s[0]=e.createElementVNode("h3",null,"异常信息",-1)),e.createElementVNode("div",{class:e.normalizeClass(["execution-info-tab__exception",{"is-empty":!l.value}])},e.toDisplayString(l.value||"暂无异常"),3)]),e.createElementVNode("section",ole,[s[1]||(s[1]=e.createElementVNode("h3",null,"执行信息",-1)),e.createElementVNode("table",ale,[e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,f=>(e.openBlock(),e.createElementBlock("tr",{key:f.label},[e.createElementVNode("th",null,e.toDisplayString(f.label),1),e.createElementVNode("td",null,e.toDisplayString(f.value),1)]))),128))])])])],64)):e.unref(n)?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(fn,{key:2,title:"暂无执行信息"}))])),[[c,{loading:e.unref(n)}]])}}}),rle=je(lle,[["__scopeId","data-v-43618193"]]),sle={class:"debug-json-viewer"},ile={class:"debug-json-viewer__line"},ule={key:1,class:"debug-json-viewer__key"},cle={class:"debug-json-viewer__summary"},dle={key:0,class:"debug-json-viewer__children"},fle={key:1,class:"debug-json-viewer__line"},ple={key:0,class:"debug-json-viewer__key"},mle=e.defineComponent({name:"DebugJsonViewer",__name:"debug-json-viewer",props:{label:{default:""},value:{},level:{default:0},defaultExpanded:{type:Boolean,default:!1}},setup(t){const n=t,o=e.ref(n.defaultExpanded),a=e.computed(()=>Bd(n.value)),l=e.computed(()=>qae(n.value)),r=e.computed(()=>n.value===null?"null":typeof n.value),i=e.computed(()=>ym(n.value)),s=e.computed(()=>{if(Array.isArray(n.value))return n.value.map((p,h)=>({key:String(h),value:p}));const f=Go(n.value);return f?Object.entries(f).map(([p,h])=>({key:p,value:h})):[]}),c=async f=>{const p=ym(f);try{await navigator.clipboard?.writeText(p)}catch{const g=document.createElement("textarea");g.value=p,g.style.position="fixed",g.style.opacity="0",document.body.appendChild(g),g.select(),document.execCommand("copy"),document.body.removeChild(g)}Xt({theme:"success",message:"复制成功"})};return(f,p)=>{const h=e.resolveComponent("DebugJsonViewer",!0);return e.openBlock(),e.createElementBlock("div",sle,[a.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",ile,[s.value.length>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:"debug-json-viewer__toggle",onClick:p[0]||(p[0]=g=>o.value=!o.value)},e.toDisplayString(o.value?"▼":"▶"),1)):e.createCommentVNode("",!0),n.label?(e.openBlock(),e.createElementBlock("span",ule,e.toDisplayString(n.label)+":",1)):e.createCommentVNode("",!0),e.createElementVNode("span",cle,e.toDisplayString(l.value),1),s.value.length>0?(e.openBlock(),e.createElementBlock("i",{key:2,class:"bkflow-canvas-icon bkflow-canvas-bkflow-copy debug-json-viewer__copy",title:"复制",onClick:p[1]||(p[1]=g=>c(n.value))})):e.createCommentVNode("",!0)]),o.value&&s.value.length>0?(e.openBlock(),e.createElementBlock("div",dle,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,g=>(e.openBlock(),e.createBlock(h,{key:g.key,label:g.key,value:g.value,level:n.level+1},null,8,["label","value","level"]))),128))])):e.createCommentVNode("",!0)],64)):(e.openBlock(),e.createElementBlock("div",fle,[n.label?(e.openBlock(),e.createElementBlock("span",ple,e.toDisplayString(n.label)+":",1)):e.createCommentVNode("",!0),e.createElementVNode("span",{class:e.normalizeClass(["debug-json-viewer__primitive",`is-${r.value}`])},e.toDisplayString(i.value),3)]))])}}}),jc=je(mle,[["__scopeId","data-v-32f8c36e"]]),vle={class:"debug-value-table"},gle={key:0,class:"debug-value-table__toolbar"},hle={key:1,class:"debug-value-table__state is-error"},ble={key:0,class:"debug-value-table__table"},yle=["title"],wle={class:"debug-value-table__value"},kle={key:1},Cle={key:1,class:"debug-value-table__json-mode"},Ale=e.defineComponent({__name:"debug-value-table",props:{rows:{},loading:{type:Boolean,default:!1},error:{default:""},emptyText:{default:"暂无数据"}},setup(t){const n=t,o=e.ref("kv"),a=e.useSlots(),l=[{value:"kv",label:"KV"},{value:"json",label:"JSON"}],r=e.computed(()=>Object.fromEntries(n.rows.map(s=>[s.key||s.name,s.value]))),i=e.computed(()=>!n.error&&!n.loading&&(n.rows.length>0||!!a.toolbar));return(s,c)=>{const f=e.resolveDirective("bkloading");return e.withDirectives((e.openBlock(),e.createElementBlock("div",vle,[i.value?(e.openBlock(),e.createElementBlock("div",gle,[n.rows.length>0?(e.openBlock(),e.createBlock($v,{key:0,modelValue:o.value,"onUpdate:modelValue":c[0]||(c[0]=p=>o.value=p),items:l},null,8,["modelValue"])):e.createCommentVNode("",!0),e.renderSlot(s.$slots,"toolbar",{},void 0,!0)])):e.createCommentVNode("",!0),n.error?(e.openBlock(),e.createElementBlock("div",hle,e.toDisplayString(n.error),1)):!n.loading&&n.rows.length===0?(e.openBlock(),e.createBlock(fn,{key:2,title:n.emptyText},null,8,["title"])):n.loading?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[o.value==="kv"?(e.openBlock(),e.createElementBlock("table",ble,[c[1]||(c[1]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",null,"参数名"),e.createElementVNode("th",null,"参数值")])],-1)),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.rows,p=>(e.openBlock(),e.createElementBlock("tr",{key:p.key},[e.createElementVNode("td",{class:"debug-value-table__name",title:p.name},e.toDisplayString(p.name),9,yle),e.createElementVNode("td",wle,[e.unref(Bd)(p.value)?(e.openBlock(),e.createBlock(jc,{key:0,value:p.value},null,8,["value"])):(e.openBlock(),e.createElementBlock("span",kle,e.toDisplayString(e.unref(gi)(p.value)),1))])]))),128))])])):(e.openBlock(),e.createElementBlock("div",Cle,[e.createVNode(jc,{value:r.value,"default-expanded":""},null,8,["value"])]))],64))])),[[f,{loading:n.loading}]])}}}),Xv=je(Ale,[["__scopeId","data-v-a3fab2dc"]]),Uu={inputs:[],outputs:[]},Cp=new Map,Pw=(t,n)=>Object.prototype.hasOwnProperty.call(t,n),Ele=t=>{const n=t.attrs??{};return Pw(n,"formViewHidden")?!n.formViewHidden:Pw(n,"hidden")?!n.hidden:!0},Ble=t=>{const{inputs:n,inputParamsFormType:o}=t;if(o==="uniformApiForm")return n.filter(a=>!!a.key).map(a=>({key:a.key,name:a.name||a.key,visible:!0}));if(o==="jsonschemaform"){const a=n?.properties??{};return Object.entries(a).map(([l,r])=>{const i=Go(r),s=typeof i?.title=="string"?i.title:"";return{key:l,name:s||l,visible:!0}})}return n.filter(a=>!!a.tag_code).map(a=>({key:a.tag_code,name:String(a.attrs?.name||a.name||a.tag_code),visible:Ele(a)}))},xle=t=>({inputs:Ble(t),outputs:(t.outputs??[]).filter(n=>!!n.key).map(n=>({key:n.key,name:n.name||n.key,visible:!0}))}),Lw=(t,n)=>{if(!t?.code)return"";const o=t.data?.plugin_code?.value,a=t.data?.plugin_version?.value;return[n?.scope_type??"",n?.scope_value??"",n?.space_id??"",t.code,t.version??"",t.api_meta?.id??"",typeof o=="string"?o:String(o??""),typeof a=="string"?a:String(a??"")].join("|")},_le=(t,n,o)=>{const a=Cp.get(o);if(a)return a;const l=Xs(t,n).then(xle).catch(r=>{throw Cp.delete(o),r});return Cp.set(o,l),l},Rw=t=>Object.fromEntries(t.filter(n=>n.visible).map(n=>[n.key,n.name])),Vle=t=>typeof t=="string"?t:t instanceof Error?t.message:"加载失败";function Jv(t){const n=xn(),o=e.ref(!1),a=e.ref(""),l=e.shallowRef(Uu);let r=0;const i=async()=>{const h=t.component(),g=++r,m=Lw(h,n.scopeData);if(!h?.code||!m){o.value=!1,a.value="",l.value=Uu;return}o.value=!0,a.value="",l.value=Uu;try{const v=await _le(n,h,m);if(g!==r)return;l.value=v}catch(v){if(g!==r)return;l.value=Uu,a.value=`插件参数信息加载失败:${Vle(v)}`}finally{g===r&&(o.value=!1)}};e.watch(()=>Lw(t.component(),n.scopeData),()=>{i()},{immediate:!0});const s=e.computed(()=>l.value.inputs.filter(h=>h.visible)),c=e.computed(()=>l.value.outputs.filter(h=>h.visible)),f=e.computed(()=>Rw(l.value.inputs)),p=e.computed(()=>Rw(l.value.outputs));return{loading:o,error:a,meta:l,visibleInputs:s,visibleOutputs:c,inputNameMap:f,outputNameMap:p}}const tA=Symbol("plugin-param-names");function Sle(t){const{loading:n,error:o,inputNameMap:a,outputNameMap:l,visibleOutputs:r}=Jv(t),i={loading:n,error:o,inputNameMap:a,outputNameMap:l,outputKeys:e.computed(()=>r.value.map(s=>s.key))};return e.provide(tA,i),i}function nA(){const t=e.inject(tA);if(!t)throw new Error("useInjectedPluginParamNames: plugin param names is not provided");return t}const Nle=e.defineComponent({__name:"input-params",setup(t){const{loading:n,error:o,detail:a}=Zv(),{loading:l,error:r,inputNameMap:i}=nA(),s=e.computed(()=>n.value||l.value),c=e.computed(()=>o.value||r.value),f=e.computed(()=>Kae(a.value?.inputs,i.value).filter(p=>p.key in i.value));return(p,h)=>(e.openBlock(),e.createBlock(Xv,{loading:s.value,error:c.value,rows:f.value,"empty-text":"暂无输入参数"},null,8,["loading","error","rows"]))}}),Dle=e.defineComponent({__name:"output-params",setup(t){const{loading:n,error:o,detail:a}=Zv(),{loading:l,error:r,outputNameMap:i,outputKeys:s}=nA(),c=e.computed(()=>n.value||l.value),f=e.computed(()=>o.value||r.value),p=e.computed(()=>{const h=Z2(a.value?.outputs,i.value).filter(g=>g.key in i.value&&!Uc.has(g.key));return X2(h,s.value)});return(h,g)=>(e.openBlock(),e.createBlock(Xv,{loading:c.value,error:f.value,rows:p.value,"empty-text":"暂无输出结果"},null,8,["loading","error","rows"]))}}),Tle=t=>typeof t=="string"?t:t instanceof Error?t.message:"加载失败";function Ile(t){const n=e.ref(!1),o=e.ref(""),a=e.shallowRef();let l=0;const r=async()=>{const i=++l;if(!t.isReady()){n.value=!1,o.value="",a.value=void 0;return}n.value=!0,o.value="";try{const s=await t.load();i===l&&(a.value=s)}catch(s){i===l&&(console.error(s),o.value=Tle(s),a.value=void 0)}finally{i===l&&(n.value=!1)}};return e.watch(t.dependencies,()=>{r()},{immediate:!0}),{loading:n,error:o,data:a,fetchData:r}}const Ole={class:"call-logs-viewer"},Mle={key:0,class:"call-logs-viewer__state is-error","data-test":"log-error"},Ple={key:2,class:"call-logs-viewer__viewer"},Lle={class:"call-logs-viewer__empty-body"},Rle={class:"call-logs-viewer__sub-tabs"},Fle=["onClick"],zle=e.defineComponent({__name:"call-logs-viewer",props:{logText:{default:""},loading:{type:Boolean,default:!1},error:{default:""}},setup(t){const n=t,o=e.ref("platform"),a=[{value:"platform",label:"平台日志"},{value:"thirdParty",label:"第三方插件日志"}],l={readOnly:!0,lineNumbers:"on",domReadOnly:!0},r=e.computed(()=>(n.logText||"").replace(/\[bk-mark\]|\[\/bk-mark\]/g,""));return(i,s)=>{const c=e.resolveDirective("bkloading");return e.withDirectives((e.openBlock(),e.createElementBlock("div",Ole,[n.error?(e.openBlock(),e.createElementBlock("div",Mle,e.toDisplayString(n.error),1)):!n.loading&&!n.logText?(e.openBlock(),e.createBlock(fn,{key:1,title:"暂无调用日志","data-test":"log-empty"})):n.logText?(e.openBlock(),e.createElementBlock("div",Ple,[o.value==="platform"?(e.openBlock(),e.createBlock(fa,{key:0,"model-value":r.value,options:l,"data-test":"log-editor"},null,8,["model-value"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[s[0]||(s[0]=e.createElementVNode("div",{class:"call-logs-viewer__empty-header"},null,-1)),e.createElementVNode("div",Lle,[e.createVNode(fn,{title:"暂无第三方插件日志"})])],64)),e.createElementVNode("div",Rle,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(a,f=>e.createElementVNode("span",{key:f.value,class:e.normalizeClass(["call-logs-viewer__sub-tab",{"is-active":o.value===f.value}]),"data-test":"log-sub-tab",onClick:p=>o.value=f.value},e.toDisplayString(f.label),11,Fle)),64))])])):e.createCommentVNode("",!0)])),[[c,{loading:n.loading}]])}}}),oA=je(zle,[["__scopeId","data-v-06ddf5de"]]),jle=e.defineComponent({__name:"call-logs",props:{taskId:{},nodeId:{},version:{}},setup(t){const n=t,o=xn(),{loading:a,error:l,data:r}=Ile({dependencies:()=>[n.taskId,n.nodeId,n.version],isReady:()=>!!(n.taskId&&n.nodeId&&n.version),load:async()=>{if(!o.fetchTaskNodeLog)throw new Error("节点调用日志接口未配置");return await o.fetchTaskNodeLog({task_id:n.taskId,node_id:n.nodeId,version:n.version})}}),i=e.computed(()=>J2(r.value));return(s,c)=>(e.openBlock(),e.createBlock(oA,{"log-text":i.value,loading:e.unref(a),error:e.unref(l)},null,8,["log-text","loading","error"]))}}),Hle={class:"debug-result-tabs"},Ule=e.defineComponent({__name:"result-tabs",props:{taskId:{},activeNodeId:{},activeNodeVersion:{},activeNodeType:{default:""},activeNodeComponent:{default:void 0}},setup(t){const n=new Set(["开始节点","结束节点","网关节点"]),o=t,a=e.ref("execution"),l=e.computed(()=>n.has(o.activeNodeType));return Jae({taskId:()=>o.taskId,nodeId:()=>o.activeNodeId}),Sle({component:()=>o.activeNodeComponent}),(r,i)=>{const s=e.resolveComponent("bk-tab-panel"),c=e.resolveComponent("bk-tab");return e.openBlock(),e.createElementBlock("section",Hle,[e.createVNode(c,{active:a.value,"onUpdate:active":i[0]||(i[0]=f=>a.value=f),type:"card-grid"},{default:e.withCtx(()=>[e.createVNode(s,{name:"execution",label:"执行信息"},{default:e.withCtx(()=>[a.value==="execution"?(e.openBlock(),e.createBlock(rle,{key:0})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(s,{name:"inputs",label:"输入参数"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createBlock(fn,{key:0,title:"暂无输入参数"})):a.value==="inputs"?(e.openBlock(),e.createBlock(Nle,{key:1})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(s,{name:"outputs",label:"输出结果"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createBlock(fn,{key:0,title:"暂无输出结果"})):a.value==="outputs"?(e.openBlock(),e.createBlock(Dle,{key:1})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(s,{name:"logs",label:"调用日志"},{default:e.withCtx(()=>[a.value==="logs"?(e.openBlock(),e.createBlock(jle,{key:0,"task-id":o.taskId,"node-id":o.activeNodeId,version:o.activeNodeVersion},null,8,["task-id","node-id","version"])):e.createCommentVNode("",!0)]),_:1})]),_:1},8,["active"])])}}}),Wle=je(Ule,[["__scopeId","data-v-3a013845"]]),Gle={class:"debug-result-drawer__header"},Yle={class:"debug-result-drawer__body"},Qle=44,qle=e.defineComponent({__name:"index",props:{open:{type:Boolean},taskId:{default:void 0},nodes:{},activeNodeId:{default:""},activeNodeVersion:{default:""},activeNodeComponent:{default:void 0}},emits:["update:open","update:activeNodeId"],setup(t,{emit:n}){const o=t,a=e.computed(()=>o.nodes.find(B=>B.id===o.activeNodeId)?.typeName??""),l=n,r=e.ref(420),i=e.ref(!1);let s=0,c=0,f="",p="";const h=e.computed(()=>({height:`${o.open?r.value:Qle}px`})),g=()=>{l("update:open",!o.open)},m=x=>{l("update:activeNodeId",x)},v=x=>{const B=c-(x.clientY-s);r.value=Math.max(200,Math.min(window.innerHeight*.8,B))},w=()=>{document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",w),document.body.style.cursor=f,document.body.style.userSelect=p,i.value=!1},y=x=>{x.preventDefault(),i.value=!0,s=x.clientY,c=r.value,f=document.body.style.cursor,p=document.body.style.userSelect,document.body.style.cursor="ns-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",v),document.addEventListener("mouseup",w)};return e.onBeforeUnmount(w),(x,B)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["debug-result-drawer-wrapper",{"is-resizing":i.value}]),style:e.normalizeStyle(h.value)},[o.open?(e.openBlock(),e.createElementBlock("div",{key:0,class:"debug-result-drawer__resize",onMousedown:y},null,32)):e.createCommentVNode("",!0),e.createElementVNode("section",{class:e.normalizeClass(["debug-result-drawer",{"is-collapsed":!o.open}])},[e.createElementVNode("header",Gle,[B[0]||(B[0]=e.createElementVNode("div",{class:"debug-result-drawer__title"},"调试结果",-1)),e.createElementVNode("span",{class:"debug-result-drawer__collapse",onClick:g},[e.createElementVNode("span",null,e.toDisplayString(o.open?"收起":"展开"),1),e.createElementVNode("i",{class:e.normalizeClass(["bkflow-canvas-icon bkflow-canvas-arrows-down debug-result-drawer__collapse-icon",{"is-expanded":o.open}])},null,2)])]),e.createElementVNode("div",Yle,[e.createVNode(Yae,{nodes:o.nodes,"model-value":o.activeNodeId,"onUpdate:modelValue":m},null,8,["nodes","model-value"]),e.createVNode(Wle,{"task-id":o.taskId,"active-node-id":o.activeNodeId,"active-node-version":o.activeNodeVersion,"active-node-type":a.value,"active-node-component":o.activeNodeComponent},null,8,["task-id","active-node-id","active-node-version","active-node-type","active-node-component"])])],2)],6))}}),Kle=je(qle,[["__scopeId","data-v-c5b0c94f"]]),$le={key:0,class:"operate-area"},Zle={class:"mock-debug-status"},Xle={class:"operate-btns"},Jle={class:"flow-mock-debug-content"},ere={class:"gateway-select-dialog"},tre={class:"gateway-select-dialog__field"},nre=3e3,ore=e.defineComponent({__name:"mock",props:{flowId:{},taskId:{},apiConfig:{},bkflowSaasUrl:{},defaultZoom:{default:1},onBack:{}},emits:["back"],setup(t,{emit:n}){const o=t,a=n,l=il(o.apiConfig);Kl({},o.bkflowSaasUrl);const r=e.ref(),i=e.shallowRef(null),s=e.shallowRef(!0),c=e.ref("RUNNING"),f=e.ref(Date.now()),p=e.ref(),h=e.shallowRef({}),g=e.ref(!0),m=e.ref(),v=e.ref(0),w=e.computed(()=>s.value),y=e.computed(()=>h.value),x=e.shallowRef([Ed(y)]),B=e.computed(()=>{const Be=i.value?.pipeline_tree;return Be?Kv(Be,h.value):null}),k={ExclusiveGateway:"bkflow-canvas-icon bkflow-canvas-fenzhiwangguan",ParallelGateway:"bkflow-canvas-icon bkflow-canvas-bingxingwangguan",ConditionalParallelGateway:"bkflow-canvas-icon bkflow-canvas-tiaojianbingxingwangguan",ConvergeGateway:"bkflow-canvas-icon bkflow-canvas-huijuwangguan"},b=Be=>{if(Be.component?.code==="uniform_api"){const Se=Be.component?.api_meta?.category?.name??"";return gt.PLUGGIN_GROUP_FONT_CLASS_MAP[Se]??gt.PLUGGIN_GROUP_FONT_CLASS_MAP.bkflow}return gt.PLUGGIN_GROUP_FONT_CLASS_MAP.bkflow},A=Be=>{const Se=new Map;Object.values(Be.flows).forEach(R=>{const P=Se.get(R.source);P?P.push(R.target):Se.set(R.source,[R.target])});const Ie=[],se=new Set,de=Be.start_event?.id;if(!de)return Ie;const ue=[de];for(se.add(de);ue.length>0;){const R=ue.shift();Ie.push(R);const P=Se.get(R)??[];for(const J of P)se.has(J)||(se.add(J),ue.push(J))}return Ie},C=e.computed(()=>{const Be=i.value?.pipeline_tree;if(!Be)return[];const Se=new Map;Be.start_event&&Se.set(Be.start_event.id,{id:Be.start_event.id,name:Be.start_event.name||"开始节点",typeName:"开始节点",status:h.value[Be.start_event.id]?.status,iconClass:"bkflow-canvas-icon bkflow-canvas-kaishi",hasMockConfig:!1}),Object.values(Be.activities).forEach(de=>{Se.set(de.id,{id:de.id,name:de.name||de.id,typeName:de.component?.code||"任务节点",status:h.value[de.id]?.status,iconClass:b(de),hasMockConfig:!1})}),Object.values(Be.gateways).forEach(de=>{Se.set(de.id,{id:de.id,name:de.name||de.id,typeName:"网关节点",status:h.value[de.id]?.status,iconClass:k[de.type]??"bkflow-canvas-icon bkflow-canvas-fenzhiwangguan",hasMockConfig:!1})}),Be.end_event&&Se.set(Be.end_event.id,{id:Be.end_event.id,name:Be.end_event.name||"结束节点",typeName:"结束节点",status:h.value[Be.end_event.id]?.status,iconClass:"bkflow-canvas-icon bkflow-canvas-stop",hasMockConfig:!1});const Ie=A(Be).filter(de=>Se.has(de)),se=[...Se.keys()].filter(de=>!Ie.includes(de));return[...Ie,...se].map(de=>Se.get(de))}),_=e.computed(()=>Object.entries(h.value).filter(([,Be])=>Be.status==="FAILED").map(([Be])=>Be)),V=e.computed(()=>{const Be=m.value;return Be?h.value[Be]?.version??"":""}),S=e.computed(()=>{const Be=i.value?.pipeline_tree,Se=m.value;if(!(!Be||!Se))return Be.activities[Se]?.component});e.watch(C,Be=>{if(m.value||Be.length===0)return;const Se=Be.find(Ie=>Ie.typeName!=="开始节点"&&Ie.typeName!=="结束节点"&&Ie.typeName!=="网关节点");m.value=Se?.id??Be[0].id});const N=new Set(["CREATED","RUNNING","FINISHED","FAILED","SUSPENDED","REVOKED"]);let D;const H=()=>{D&&(clearTimeout(D),D=void 0)},j=Be=>{if(!Be)return;const Se=String(Be).toUpperCase();return N.has(Se)?Se:void 0},I=Be=>{const Se=j(Be);return Se==="FINISHED"?"FINISHED":Se==="FAILED"||Se==="SUSPENDED"||Se==="REVOKED"?"FAILED":"RUNNING"},F=Be=>Be&&typeof Be=="object"&&!Array.isArray(Be)?Be:void 0,z=Be=>{const Se=F(Be);return!Se||!("data"in Se)?Be:Se.data},L=Be=>{const Se={};return Object.entries(Be).forEach(([Ie,se])=>{const de=F(se),ue=j(de?de.status??de.state:se);if(!ue)return;const R=String(de?.id??de?.node_id??Ie);Se[R]={status:ue,version:typeof de?.version=="string"?de.version:void 0,start_time:typeof de?.start_time=="string"?de.start_time:void 0,finish_time:typeof de?.finish_time=="string"?de.finish_time:void 0,elapsed_time:typeof de?.elapsed_time=="number"?de.elapsed_time:void 0}}),Se},O=Be=>{const Se={};return Be.forEach(Ie=>{const se=F(Ie);if(!se)return;const de=se.id??se.node_id,ue=j(se.status??se.state);!de||!ue||(Se[String(de)]={status:ue,version:typeof se.version=="string"?se.version:void 0,start_time:typeof se.start_time=="string"?se.start_time:void 0,finish_time:typeof se.finish_time=="string"?se.finish_time:void 0,elapsed_time:typeof se.elapsed_time=="number"?se.elapsed_time:void 0})}),Se},M=Be=>{const Se=F(z(Be));if(!Se)return{};const Ie={};return[Se.node_states,Se.states,Se.children,Se.nodes,Se.activities,Se.gateways].forEach(de=>{if(Array.isArray(de)){Object.assign(Ie,O(de));return}const ue=F(de);ue&&Object.assign(Ie,L(ue))}),Ie},G=Be=>{const Se=F(z(Be));return I(Se?.state??Se?.status)},Y=Be=>{const Se=F(z(Be));if(!Se)return;const Ie=Se.elapsed_time;return typeof Ie=="number"?Ie:void 0};function Z(){H(),D=setTimeout(()=>{W()},nre)}async function W(){if(H(),!(!o.taskId||!l.fetchTaskState))try{const Be=await l.fetchTaskState({task_id:o.taskId}),Se=G(Be),Ie=M(Be);if(c.value=Se,Se!=="RUNNING"){const se=Y(Be);se!=null&&(p.value=se)}Object.keys(Ie).length>0&&(h.value=Ie)}catch(Be){console.error(Be)}finally{c.value==="RUNNING"&&Z()}}const q=async()=>{s.value=!0;try{const[Be,Se]=await Promise.all([l.fetchFlowDetail(String(o.flowId)),l.getFlowTaskDetail?.({task_id:o.taskId})]);Se?.pipeline_tree?i.value={...Be,pipeline_tree:Se.pipeline_tree}:i.value=Be}catch(Be){console.error(Be)}finally{s.value=!1}};function ee(Be){const Se=r.value?.editor?.api?.value;Se&&(Se.scrollToNode(Be,{offset:{y:-120}}),Se.highlightNodes([Be]),setTimeout(()=>Se.clearHighlight(),1500))}const{actionPopover:he,closeActionPopover:te,handlePopoverEnter:ne,handlePopoverLeave:Ce,handleUiEvent:oe}=q2({getNodeStates:()=>h.value,getPipelineTree:()=>B.value,getNodeViewportRect:Be=>r.value?.editor?.api?.value?.overlay?.getNodeViewportRect?.(Be)}),le=e.reactive({visible:!1,nodeId:"",isCondParallelGw:!1,branches:[],selectedBranch:null}),ke={retry:{title:"确定重试当前节点?",content:"重新节点将重新执行当前节点(使用最新的参数值)"},skip:{title:"确定跳过当前节点?",content:"跳过节点将忽略当前失败节点继续往后执行"},forceFail:{title:"确定强制终止当前节点?",content:"强制终止将强行修改节点状态为失败,但不会中断已经发送到其它系统的请求"},resume:{title:"确定继续往后执行?"}};function Ae(Be){if(te(),Be.action==="gatewaySkip"){Ve(Be.nodeId);return}const Se=ke[Be.action];if(Se){qn.InfoBox({title:Se.title,content:Se.content,confirmText:"确定",cancelText:"取消",width:400,onConfirm:()=>{tt(Be)}});return}tt(Be)}function Ne(Be){const Ie=B.value?.gateways?.[Be];if(!Ie)return[];const se=[],de=Ie.converge_gateway_id;if(Ie.conditions&&Object.keys(Ie.conditions).forEach(ue=>{const R=Ie.conditions[ue];se.push({id:ue,node_id:Be,name:R.name||R.evaluate||ue,converge_gateway_id:de})}),Ie.default_condition){const ue=Ie.default_condition.flow_id;ue&&se.unshift({id:ue,node_id:Be,name:Ie.default_condition.name,converge_gateway_id:de})}return se.length===0&&Ie.type==="ParallelGateway"&&(Array.isArray(Ie.outgoing)?Ie.outgoing:Ie.outgoing?[Ie.outgoing]:[]).forEach((R,P)=>{se.push({id:R,node_id:Be,name:`并行${P+1}`,converge_gateway_id:de})}),se.filter(ue=>ue.id)}function Ve(Be){const Ie=B.value?.gateways?.[Be];if(!Ie)return;const se=Ne(Be);if(se.length===0)return;const de=Ie.type==="ConditionalParallelGateway";le.nodeId=Be,le.isCondParallelGw=de,le.branches=se,le.selectedBranch=de?[se[0].id]:se[0].id,le.visible=!0}function De(){le.visible=!1,le.nodeId="",le.branches=[],le.selectedBranch=null}async function qe(){c.value="RUNNING",f.value=Date.now(),p.value=void 0,W(),Z()}async function Te(){const{nodeId:Be,branches:Se,selectedBranch:Ie,isCondParallelGw:se}=le;if(!Be||!o.taskId||!l.operateTaskNode)return;const de=se?Array.isArray(Ie)?Ie:[]:Ie?[Ie]:[],ue=Se.filter(J=>de.includes(J.id));if(ue.length===0)return;le.visible=!1;const R=se?"skip_cpg":"skip_exg",P={};se?(P.flow_ids=ue.map(J=>J.id),P.converge_gateway_id=ue[0].converge_gateway_id):P.flow_id=ue[0].id;try{await l.operateTaskNode({task_id:o.taskId,node_id:Be,action:"gatewaySkip",operation:R,data:P}),await qe()}catch(J){console.error(J)}finally{De()}}function Ee(Be){if(Be==="resume")return{data:{}}}async function tt(Be){if(!(!o.taskId||!l.operateTaskNode))try{await l.operateTaskNode({task_id:o.taskId,node_id:Be.nodeId,action:Be.action,data:Ee(Be.action)}),await qe()}catch(Se){console.error(Se)}}const ie=()=>{o.onBack?o.onBack():a("back")},ce=Be=>{m.value=Be.nodeId},Pe=Be=>{oe(Be)},ot=()=>{ie()},at=()=>{!o.taskId||!l.revokeFlowTask||qn.InfoBox({title:"确定终止当前任务?",content:"终止任务将停止执行任务,但执行中节点将运行完成",confirmText:"确定",cancelText:"取消",onConfirm:async()=>{try{await l.revokeFlowTask({task_id:o.taskId,resource_type:"TASK",resource_id:o.taskId,permission_type:"OPERATE"}),W()}catch(Be){console.error(Be)}}})},vt=()=>{const Be=_.value;if(Be.length<1)return;const Se=Be[v.value%Be.length];v.value+=1,m.value=Se,ee(Se)},rt=Be=>{m.value=Be,ee(Be)};return e.onMounted(()=>{q(),W()}),e.onBeforeUnmount(()=>{H()}),(Be,Se)=>{const Ie=e.resolveComponent("bk-button"),se=e.resolveComponent("bk-option"),de=e.resolveComponent("bk-select"),ue=e.resolveComponent("bk-dialog"),R=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(hi,{title:"模拟调试",desc:i.value?.name,"show-back-icon":!0,onBack:ie},{header:e.withCtx(()=>[e.renderSlot(Be.$slots,"header",{},void 0,!0)]),extend:e.withCtx(()=>[i.value?(e.openBlock(),e.createElementBlock("div",$le,[e.createVNode(bd,{"flow-data":i.value,editable:!1,"enable-simulate-debug":!1,"simulate-debug-only":!0},null,8,["flow-data"]),e.createElementVNode("div",Zle,[e.createVNode(Vae,{class:"mock-debug-status__icon",size:14,width:20,"dot-size":4}),Se[3]||(Se[3]=e.createElementVNode("span",{class:"mock-debug-status__label"},"调试中",-1))]),e.createElementVNode("div",Xle,[e.createVNode(Ie,{onClick:ot},{default:e.withCtx(()=>[...Se[4]||(Se[4]=[e.createTextVNode("退出模拟调试",-1)])]),_:1})])])):e.createCommentVNode("",!0),e.renderSlot(Be.$slots,"extend",{},void 0,!0)]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",Jle,[!w.value&&B.value?(e.openBlock(),e.createBlock(wd,{key:0,ref_key:"canvasRef",ref:r,"pipeline-tree":B.value,mode:"view","default-zoom":o.defaultZoom,"additional-plugins":x.value,onNodeClick:ce,onUiEvent:Pe},null,8,["pipeline-tree","default-zoom","additional-plugins"])):e.createCommentVNode("",!0),e.createVNode(K2,{visible:e.unref(he).visible,"node-id":e.unref(he).nodeId,actions:e.unref(he).actions,position:e.unref(he).position,onPopoverEnter:e.unref(ne),onPopoverLeave:e.unref(Ce),onAction:Ae},null,8,["visible","node-id","actions","position","onPopoverEnter","onPopoverLeave"]),e.createVNode(ue,{isShow:le.visible,"onUpdate:isShow":Se[1]||(Se[1]=P=>le.visible=P),"dialog-type":"operation",width:600,"esc-close":!1,"quick-close":!1,"header-align":"left",title:"请选择执行分支",onConfirm:Te,onClosed:De},{default:e.withCtx(()=>[e.createElementVNode("div",ere,[e.createElementVNode("div",tre,[Se[5]||(Se[5]=e.createElementVNode("label",{class:"gateway-select-dialog__label"},"可选执行分支",-1)),e.createVNode(de,{modelValue:le.selectedBranch,"onUpdate:modelValue":Se[0]||(Se[0]=P=>le.selectedBranch=P),class:"gateway-select-dialog__select",multiple:le.isCondParallelGw,"display-tag":le.isCondParallelGw,clearable:!1},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(le.branches,P=>(e.openBlock(),e.createBlock(se,{key:P.id,id:P.id,name:P.name},null,8,["id","name"]))),128))]),_:1},8,["modelValue","multiple","display-tag"])])])]),_:1},8,["isShow"]),!w.value&&i.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(Iae,{status:c.value,"started-at":f.value,elapsed:p.value,"failed-count":_.value.length,onStop:at,onLocateFailed:vt},null,8,["status","started-at","elapsed","failed-count"]),e.createVNode(Kle,{open:g.value,"task-id":o.taskId,nodes:C.value,"active-node-id":m.value,"active-node-version":V.value,"active-node-component":S.value,"onUpdate:open":Se[2]||(Se[2]=P=>g.value=P),"onUpdate:activeNodeId":rt},null,8,["open","task-id","nodes","active-node-id","active-node-version","active-node-component"])],64)):e.createCommentVNode("",!0)])),[[R,{loading:w.value,zIndex:100}]])]),_:3},8,["desc"])}}}),aA=je(ore,[["__scopeId","data-v-7ab3f135"]]),are=Object.freeze(Object.defineProperty({__proto__:null,default:aA},Symbol.toStringTag,{value:"Module"})),lre={waiting:"running",paused:"suspended"},rre=new Set(["not_run","running","suspended","finished","failed","skipped","revoked"]);function da(t){const n=lre[t];return n||(rre.has(t)?t:"not_run")}function lA(t){return t==="failed"||t==="revoked"}function Fw(t){return t==="finished"||lA(t)}function Wu(t){if(!t)return null;const n=t.nodes.filter(a=>da(a.status)==="running");if(!(t.status==="running"||t.status==="terminating"||n.length>0))return null;if(t.active_run_type==="global")return{runType:"global",nodeId:null};if(t.active_run_type==="step"){const a=t.active_node_id??(n.length===1?n[0].node_id:null);return a?{runType:"step",nodeId:a}:null}return t.active_node_id?{runType:"step",nodeId:t.active_node_id}:t.last_run_type==="global"?{runType:"global",nodeId:null}:t.last_run_type==="step"&&n.length===1?{runType:"step",nodeId:n[0].node_id}:null}const sre={running:"RUNNING",suspended:"SUSPENDED",finished:"FINISHED",failed:"FAILED",skipped:"SKIP",revoked:"REVOKED"};function ire(t,n={}){if(!t)return null;if(n.nodeIdOverride)return n.nodeIdOverride;if(t.active_node_id)return t.active_node_id;if(t.last_task_id!=null){const a=t.nodes.filter(l=>l.log_ref?.instance_id===t.last_task_id);if(a.length>=1)return a[0].node_id}const o=t.nodes.filter(a=>da(a.status)!=="not_run");return o.length===1?o[0].node_id:null}const ure={global:"全流程",step:"单节点"};function cre(t){return t?t.status==="running"||t.status==="terminating"?{taskId:t.active_task_id,runType:t.active_run_type,nodeId:t.active_node_id,runStatus:t.status==="terminating"?"terminating":t.last_run_status,errorDetail:t.last_error_detail??null,hasRecord:!0}:{taskId:t.last_task_id,runType:t.last_run_type,nodeId:null,runStatus:t.last_run_status,errorDetail:t.last_error_detail??null,hasRecord:t.last_task_id!=null}:{taskId:null,runType:null,nodeId:null,runStatus:null,errorDetail:null,hasRecord:!1}}function dre(t,n={}){const o={},a=new Set;let l=0;const r=[];let i=0,s;const c=n.existingNodeIds,f=t?.nodes??[],p=t?.status??"idle",h=cre(t),g=n.runStatusOverride??h.runStatus,m=n.runTypeOverride??h.runType,v=m==="step"?ire(t,n):null;for(const x of f){if(c&&!c.has(x.node_id))continue;x.execution_mode==="mock"&&a.add(x.node_id);const B=da(x.status);if(B!=="not_run"){const b=sre[B];if(b){const A=x.selected_flow_ids?.filter(Boolean);o[x.node_id]={status:b,...A&&A.length>0?{selectedFlowIds:A}:{}}}}!(m!=="step"||x.node_id===v)||B==="not_run"||(l+=1,B==="failed"&&r.push(x.node_id),B==="revoked"&&(i+=1),typeof x.duration_ms=="number"&&Number.isFinite(x.duration_ms)&&m==="step"&&(s=x.duration_ms))}m==="step"&&p!=="idle"&&(l=1);let w;i>0?w="revoked":r.length>0?w="failed":p==="idle"&&n.resultStateOverride==="none"?w="none":l>0?w="success":g==="revoked"?w="revoked":w="none";const y={active:p!=="idle",status:p,operator:t?.locked_by??"",nodeCount:l,failedNodeIds:r,errorNodeCount:r.length,hasRecord:p!=="idle"||w!=="none",resultState:w,runType:m,typeLabel:m?ure[m]:void 0,runStatus:g,startedAt:void 0,durationMs:s};return{nodeStates:o,mockNodeIds:a,summary:y}}function fre(t){return t.httpStatus===409||t.code==="409"?!0:/正在被|已被锁定|locked/i.test(t.message)}function zw(t){return t.map(n=>({...n,status:"not_run",duration_ms:null,error_detail:null,outputs:null,selected_flow_ids:[],condition_results:[],log_ref:null}))}function pre(t){if(!t||typeof t!="object")return;const n=t.elapsed_time;if(!(typeof n!="number"||!Number.isFinite(n)))return Math.max(0,n)*1e3}function mre(t={}){const n=e.ref(void 0);let o=null,a=0,l=null;const r=()=>{l!=null&&(clearInterval(l),l=null)},i=()=>{o!=null&&(n.value=a+Math.max(0,Date.now()-o))},s=(h=0)=>{r(),a=Math.max(0,h),o=Date.now(),n.value=a,l=setInterval(i,1e3)},c=()=>{o!=null&&i(),r(),o=null},f=()=>{r(),o=null,a=0,n.value=void 0},p=async(h,g={})=>{const m=t.getFlowTaskDetail;if(typeof m=="function")try{const v=await m({task_id:h}),w=pre(v);return w==null?void 0:(g.continueTimer?s(w):(r(),o=null,a=w,n.value=w),w)}catch{return}};return e.getCurrentScope()&&e.onScopeDispose(f),{durationMs:n,startLocal:s,freezeLocal:c,clear:f,restoreFromTask:p}}const vre=2500,gre=5e3;function jw(t){return t==="running"?"running":t==="failed"?"failed":t==="revoked"?"revoked":"finished"}function Sl(t,n){const o=t[n];if(typeof o!="function")throw new Error(`FlowDetail debug API "${String(n)}" is not configured`);return o}const hre=["fetchDebugContext","fetchDebugInputSchema","fetchDebugResetImpact","updateNodeDebugMock","runNodeDebugStep","runGlobalDebug","terminateDebug","resetDebugResult"];function bre(t){const n=hre.filter(o=>typeof t[o]!="function");if(n.length>0)throw new Error(`FlowDetail debug API is incomplete: ${n.join(", ")}`)}function yre(t){const n=t.pollInterval??vre,o=t.retryInterval??gre,a=e.shallowRef(null),l=e.ref(null),r=e.shallowRef(null),i=mre({getFlowTaskDetail:t.api.getFlowTaskDetail});let s=!1,c=null;const f=te=>{if(!te)return{runType:null,taskId:null,active:!1};const ne=te.status==="running"||te.status==="terminating";return{runType:ne?te.active_run_type:te.last_run_type,taskId:ne?te.active_task_id:te.last_task_id,active:ne}},p=(te,ne)=>{const Ce=f(te),oe=f(ne);if(!(oe.runType!=="global"||oe.taskId==null)){if(oe.active){(!s||c!==oe.taskId)&&(s=!0,c=oe.taskId,i.durationMs.value==null&&i.restoreFromTask(oe.taskId,{continueTimer:!0}).then(le=>{le==null&&c===oe.taskId&&s&&i.startLocal(0)}));return}if(Ce.active&&Ce.runType==="global"){i.freezeLocal(),s=!1,c=oe.taskId;return}i.durationMs.value==null&&c!==oe.taskId&&(c=oe.taskId,i.restoreFromTask(oe.taskId))}},h=e.computed(()=>{const te=dre(a.value,{resultStateOverride:l.value,runTypeOverride:r.value?.runType,runStatusOverride:r.value?.runStatus,nodeIdOverride:r.value?.nodeId,existingNodeIds:t.existingNodeIds?.()??null}),{runType:ne}=f(a.value);return(r.value?.runType??ne)==="global"&&i.durationMs.value!=null?{...te,summary:{...te.summary,durationMs:i.durationMs.value}}:te}),g=e.ref(!1),m=e.ref(!1),v=e.ref(""),w=e.ref(""),y=e.ref(!1),x=e.ref(!1),B=e.computed(()=>m.value||!!v.value||!!w.value||y.value||x.value),k=e.ref("");let b=null,A=0,C=0;function _(){b!==null&&(clearTimeout(b),b=null)}function V(){_(),A+=1,C+=1,a.value=null,k.value="",m.value=!1,v.value="",w.value="",y.value=!1,x.value=!1,l.value=null,r.value=null,i.clear(),s=!1,c=null}function S(te,ne){_(),t.enabled()&&(te==="running"||te==="terminating")&&(b=setTimeout(()=>{N()},ne?n:o))}async function N(){if(!t.enabled())return a.value;const te=++A,ne=String(t.templateId());try{const oe=await Sl(t.api,"fetchDebugContext")(t.templateId());if(te!==A||ne!==String(t.templateId()))return a.value;const le=a.value;return a.value=oe,(oe.status==="running"||oe.status==="terminating")&&(l.value=null,r.value=null),p(le,oe),k.value="",S(oe.status,!0),oe}catch(Ce){return te!==A||ne!==String(t.templateId())||(k.value=gt.normalizeApiError(Ce).message,S(a.value?.status??"idle",!1)),a.value}}async function D(te){const ne=gt.normalizeApiError(te);if(fre(ne))return t.onMessage?.("warning",ne.message),await N(),!1;throw t.onMessage?.("error",ne.message),ne}async function H(){if(t.enabled()){g.value=!0;try{bre(t.api),await N()}catch(te){k.value=gt.normalizeApiError(te).message}finally{g.value=!1}}}async function j(){if(!t.enabled())return{};try{return await Sl(t.api,"fetchDebugInputSchema")(t.templateId())}catch(te){return await D(te),{}}}const I=()=>({template_id:Number(t.templateId()),status:"idle",locked_by:"",active_task_id:null,active_run_type:null,active_node_id:null,last_task_id:null,last_run_type:null,last_run_status:null,last_error_detail:null,last_inputs:{},global_vars:{},nodes:[]}),F=(te,ne)=>{const Ce=a.value??I(),oe=Ce.nodes.findIndex(ke=>ke.node_id===te),le=[...Ce.nodes];oe>=0?le[oe]={...le[oe],...ne}:le.push({node_id:te,node_type:"",execution_mode:"real",status:"not_run",can_step:!0,missing_vars:[],...ne}),a.value={...Ce,nodes:le}},z=()=>({epoch:C,templateId:String(t.templateId())}),L=te=>te.epoch===C&&te.templateId===String(t.templateId());async function O(te){if(!t.enabled())return!1;const ne=z();m.value=!0;try{const oe=await Sl(t.api,"runGlobalDebug")({templateId:t.templateId(),inputs:te});if(!L(ne))return!1;l.value=null,r.value=null;const le=a.value??I();return a.value={...le,status:oe.status==="terminating"?"terminating":"running",active_task_id:oe.task_id,active_run_type:"global",active_node_id:null,last_task_id:oe.task_id,last_run_type:"global",last_run_status:"running",last_inputs:{...te},nodes:zw(le.nodes)},i.startLocal(0),s=!0,c=oe.task_id,S(a.value.status,!0),await N(),!0}catch(Ce){if(!L(ne))return!1;l.value=null,r.value=null,i.clear(),s=!1,c=null,a.value&&(a.value={...a.value,nodes:zw(a.value.nodes)});try{await N()}catch(oe){console.error(oe)}return L(ne)?await D(Ce):!1}finally{L(ne)&&(m.value=!1)}}async function M(te){if(!t.enabled())return!1;const ne=z();v.value=te.nodeId;try{const oe=await Sl(t.api,"runNodeDebugStep")({templateId:t.templateId(),...te});if(!L(ne))return!1;l.value=null,F(te.nodeId,{execution_mode:te.mode,status:oe.status,outputs:oe.outputs,selected_flow_ids:oe.selected_flow_ids,condition_results:oe.condition_results,error_detail:oe.error_detail??null,duration_ms:null,log_ref:oe.log_ref,...te.mode==="mock"?{mock_outputs:te.mockOutputs,mock_error:te.mockError??null}:{}});const le=da(oe.status);if(a.value){const ke=typeof oe.task_id=="number"||typeof oe.task_id=="string"?oe.task_id:null;le==="running"?(a.value={...a.value,status:"running",active_task_id:ke,active_run_type:"step",active_node_id:te.nodeId,last_task_id:ke??a.value.last_task_id,last_run_type:"step",last_run_status:"running",global_vars:oe.updated_global_vars??a.value.global_vars},S("running",!0)):a.value={...a.value,status:"idle",active_task_id:null,active_run_type:null,active_node_id:null,last_run_type:"step",last_run_status:jw(le),global_vars:oe.updated_global_vars??a.value.global_vars}}return await N(),L(ne)&&(r.value={runType:"step",runStatus:jw(le),nodeId:te.nodeId}),!0}catch(Ce){return L(ne)?await D(Ce):!1}finally{L(ne)&&(v.value="")}}async function G(te){if(!t.enabled())return!1;const ne=z();w.value=te.nodeId;try{const oe=await Sl(t.api,"updateNodeDebugMock")({templateId:t.templateId(),...te});return L(ne)?(F(te.nodeId,{execution_mode:oe.execution_mode,...te.enable?{mock_result:te.mockResult??"success",mock_outputs:te.mockOutputs,mock_error:te.mockError??null}:{mock_result:null,mock_outputs:null,mock_error:null}}),a.value&&oe.updated_global_vars&&(a.value={...a.value,global_vars:oe.updated_global_vars}),await N(),!0):!1}catch(Ce){return L(ne)?await D(Ce):!1}finally{L(ne)&&(w.value="")}}async function Y(te){return!t.enabled()||!await G({nodeId:te.nodeId,enable:!0,mockResult:te.mockResult,mockOutputs:te.mockOutputs,mockError:te.mockError})?!1:M({...te,mode:"mock"})}async function Z(te){return G({nodeId:te,enable:!1})}function W(te){!a.value||te.size===0||(a.value={...a.value,nodes:a.value.nodes.map(ne=>te.has(ne.node_id)?{...ne,status:"not_run",duration_ms:null,error_detail:null,outputs:null,selected_flow_ids:[],condition_results:[],log_ref:null}:ne)})}function q(){const te=(a.value?.nodes??[]).some(ne=>ne.status!=="not_run");l.value=te?null:"none",r.value=null,te||(i.clear(),s=!1,c=null)}async function ee(te){if(!t.enabled())return!1;const ne=z();y.value=!0;try{const oe=await Sl(t.api,"terminateDebug")({templateId:t.templateId(),nodeId:te});return!L(ne)||(oe.status==="terminating"&&a.value&&(a.value={...a.value,status:"terminating"},S("terminating",!0)),te&&W(new Set(oe.reset_node_ids??[te])),await N(),!L(ne))?!1:(te&&q(),!0)}catch(Ce){return L(ne)?await D(Ce):!1}finally{L(ne)&&(y.value=!1)}}async function he(te){if(!t.enabled())return null;const ne=z();x.value=!0;try{const oe=await Sl(t.api,"resetDebugResult")({templateId:t.templateId(),nodeIds:te});if(!L(ne))return null;const le=new Set(oe.reset_node_ids??te??a.value?.nodes.map(ke=>ke.node_id)??[]);return W(le),await N(),L(ne)?(le.size>0&&q(),oe):null}catch(Ce){return L(ne)&&await D(Ce),null}finally{L(ne)&&(x.value=!1)}}return e.getCurrentScope()&&e.onScopeDispose(V),{context:a,canvasState:h,initializing:g,globalRunPending:m,stepRunPendingNodeId:v,mockSavePendingNodeId:w,terminatePending:y,resetPending:x,actionPending:B,contextSyncError:k,initialize:H,refresh:N,fetchInputSchema:j,runGlobal:O,runStep:M,saveMock:G,runMock:Y,cancelMock:Z,terminate:ee,reset:he,resetState:V,stopPolling:_}}const wre=1e3;function rA(t){if(t==null||!Number.isFinite(t))return"--";const n=Math.max(0,Math.floor(t/wre)),o=Math.floor(n/3600),a=Math.floor(n%3600/60),l=n%60,r=String(l).padStart(2,"0");return o>0?`${o}:${String(a).padStart(2,"0")}:${r}`:`${a}:${r}`}const aa={realBlocked:"部分必填入参未填写,无法调试",realWhileMock:"当前使用 Mock 输出,请先取消 Mock,才可以调试",realWhileSkipDebug:"当前已跳过调试,请先取消跳过调试,才可以调试",realWhileDebugging:"当前流程正在调试中,无法调试",mockCreateWhileDebugging:"调试中,无法新建 Mock 输出",mockEditWhileDebugging:"当前流程正在调试中,无法编辑 Mock 输出",mockCancelWhileDebugging:"当前流程正在调试中,无法取消 Mock",skipDebugCancelWhileDebugging:"当前流程正在调试中,无法取消跳过调试"};function kre(t){const n=!!t.terminatePending,o=t.isFlowDebugging,a=t.isActiveStep,l=!!(t.systemOnlyOutputs&&t.isMock),r=Cre(t,a,o,n,l),i=t.isMock?"编辑 Mock 输出":"新建 Mock 输出",s=o,c=s?t.isMock?aa.mockEditWhileDebugging:aa.mockCreateWhileDebugging:"";return{primary:r,mock:{visible:!l,label:i,disabled:s,tooltip:c},cancelMock:{visible:t.isMock,disabled:o,label:l?"取消 跳过调试":"取消 Mock",tooltip:o?l?aa.skipDebugCancelWhileDebugging:aa.mockCancelWhileDebugging:""},viewResult:{visible:l?!1:t.hasResult||t.isMock||t.isActiveStep}}}function Cre(t,n,o,a,l){if(n)return{kind:"terminate",label:a?"终止中...":"终止调试",disabled:a,tooltip:""};const r=t.hasResult&&!t.isMock?"重新调试":"立即调试";return t.isMock?{kind:"runReal",label:r,disabled:!0,tooltip:l?aa.realWhileSkipDebug:aa.realWhileMock}:o?{kind:"runReal",label:r,disabled:!0,tooltip:aa.realWhileDebugging}:t.realBlocked?{kind:"runReal",label:r,disabled:!0,tooltip:aa.realBlocked}:{kind:"runReal",label:r,disabled:!1,tooltip:""}}const Are="重新调试";function Ere(t,n){if(n.status!=="idle"||n.runType!=="step"||n.failedNodeIds.length!==1||!t)return null;const o=t.nodes;if(o.some(r=>da(r.status)==="running"))return null;const a=n.failedNodeIds[0];return o.find(r=>r.node_id===a)?.execution_mode==="mock"?{nodeId:a,disabled:!0,tooltip:aa.realWhileMock}:{nodeId:a,disabled:!1,tooltip:Are}}const Bre={class:"debug-trigger"},xre=["disabled","title"],_re={key:1,class:"debug-trigger__running-dots","aria-label":"调试中"},Vre={class:"debug-trigger__label"},Sre={key:0,class:"debug-summary-card","data-test":"debug-summary"},Nre={class:"summary-row"},Dre={class:"summary-value summary-value--num"},Tre={key:0,class:"summary-row"},Ire={class:"summary-value","data-test":"debug-node-count"},Ore={class:"summary-value--num"},Mre={key:1,class:"summary-row"},Pre={class:"summary-value","data-test":"failed-node-count"},Lre=["tabindex","onKeydown"],Rre=["onKeydown"],Fre={key:2,class:"summary-actions"},zre={key:3,class:"summary-actions"},jre=e.defineComponent({__name:"index",props:{context:{},summary:{},terminatePending:{type:Boolean,default:!1},initializing:{type:Boolean,default:!1},syncError:{default:""}},emits:["start","openResult","terminate","locateFailed","retryStep"],setup(t,{emit:n}){const o=t,a=n,l=e.computed(()=>o.context?.status??"idle"),r=e.computed(()=>o.context?.nodes.some(Z=>da(Z.status)==="running")??!1),i=e.computed(()=>l.value==="terminating"?"terminating":l.value==="running"||r.value?"running":"idle"),s=e.computed(()=>o.summary.hasRecord),c=e.computed(()=>o.summary.resultState),f=e.computed(()=>{const Z=o.context;return Z?i.value==="running"||i.value==="terminating"?(Z.active_run_type??Z.last_run_type)==="global":o.summary.runType==="global":!1}),p=e.computed(()=>c.value==="failed"),h=e.computed(()=>i.value==="idle"&&c.value==="revoked"),g=e.computed(()=>i.value==="idle"&&c.value==="success"&&!o.syncError),m=e.computed(()=>i.value==="idle"&&!s.value),v=e.computed(()=>o.syncError||i.value!=="idle"||!s.value?null:h.value?{text:"调试终止",tone:"revoked"}:p.value?{text:"失败",tone:"failed"}:{text:"成功",tone:"success"}),w=e.computed(()=>o.initializing?"同步中":o.syncError?"同步失败":i.value==="running"?"调试中":i.value==="terminating"?"终止中":"调试"),y=e.computed(()=>({"is-running":i.value==="running"||i.value==="terminating","is-success":g.value,"is-failed":i.value==="idle"&&p.value,"is-revoked":h.value})),x=e.computed(()=>y.value),B=e.computed(()=>o.syncError?"bkflow-canvas-circle-alert-filled":i.value==="terminating"?"bkflow-canvas-loading":"bkflow-canvas-debug"),k=e.computed(()=>i.value==="running"||i.value==="terminating"?"bkflow-canvas-loading":h.value?"bkflow-canvas-stop-2":p.value?"bkflow-canvas-close-circle":g.value?"bkflow-canvas-check-circle":"bkflow-canvas-debug"),b=e.computed(()=>f.value?"全局":"单步"),A=e.computed(()=>i.value==="running"?"调试中":i.value==="terminating"?"终止中":s.value?h.value?`${b.value}调试终止`:p.value?`${b.value}调试失败`:`${b.value}调试成功`:"调试"),C=e.computed(()=>o.summary.active||s.value),_=e.computed(()=>i.value==="running"||i.value==="terminating"),V=e.computed(()=>i.value==="terminating"||o.terminatePending),S=e.computed(()=>i.value==="idle"&&s.value),N=e.computed(()=>f.value?"重新调试":"全局调试"),D=e.computed(()=>f.value?"debug-restart":"debug-global-entry"),H=e.computed(()=>o.summary.active||s.value),j=e.computed(()=>f.value?o.summary.nodeCount:1),I=e.computed(()=>o.summary.errorNodeCount>0),F=e.computed(()=>o.syncError?null:Ere(o.context,o.summary)),z=e.computed(()=>rA(o.summary.durationMs)),L=()=>{if(!o.initializing){if(m.value){a("start");return}a("openResult")}},O=()=>{V.value||a("terminate")},M=()=>{a("start")},G=()=>{o.summary.errorNodeCount<1||a("locateFailed")},Y=()=>{const Z=F.value;!Z||Z.disabled||a("retryStep",Z.nodeId)};return(Z,W)=>{const q=e.resolveComponent("bk-button"),ee=e.resolveDirective("bk-tooltips");return e.openBlock(),e.createElementBlock("div",Bre,[e.createElementVNode("button",{type:"button","data-test":"debug-trigger",class:e.normalizeClass(["debug-trigger__button",x.value]),disabled:o.initializing,title:o.syncError||"",onClick:L},[v.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["debug-trigger__badge",`is-${v.value.tone}`])},e.toDisplayString(v.value.text),3)):i.value==="running"?(e.openBlock(),e.createElementBlock("span",_re,[...W[0]||(W[0]=[e.createElementVNode("span",null,null,-1),e.createElementVNode("span",null,null,-1),e.createElementVNode("span",null,null,-1)])])):(e.openBlock(),e.createElementBlock("i",{key:2,class:e.normalizeClass(["bkflow-canvas-icon",B.value,"debug-trigger__icon"])},null,2)),e.createElementVNode("span",Vre,e.toDisplayString(w.value),1)],10,xre),C.value?(e.openBlock(),e.createElementBlock("div",Sre,[e.createElementVNode("div",{class:e.normalizeClass(["summary-title",y.value]),"data-test":"summary-title"},[e.createElementVNode("i",{class:e.normalizeClass(["bkflow-canvas-icon",k.value,"summary-title__icon"])},null,2),e.createElementVNode("span",null,e.toDisplayString(A.value),1)],2),e.createElementVNode("div",Nre,[W[1]||(W[1]=e.createElementVNode("span",{class:"summary-label"},"调试用时",-1)),e.createElementVNode("span",Dre,e.toDisplayString(z.value),1)]),H.value?(e.openBlock(),e.createElementBlock("div",Tre,[W[3]||(W[3]=e.createElementVNode("span",{class:"summary-label"},"调试节点",-1)),e.createElementVNode("span",Ire,[e.createElementVNode("span",Ore,e.toDisplayString(j.value),1),W[2]||(W[2]=e.createTextVNode(" 个 ",-1))])])):e.createCommentVNode("",!0),I.value?(e.openBlock(),e.createElementBlock("div",Mre,[W[5]||(W[5]=e.createElementVNode("span",{class:"summary-label"},"失败节点",-1)),e.createElementVNode("span",Pre,[F.value?e.withDirectives((e.openBlock(),e.createElementBlock("i",{key:0,class:e.normalizeClass(["bkflow-canvas-icon","bkflow-canvas-refresh","summary-value--retry",{"is-disabled":F.value.disabled}]),"data-test":"debug-step-retry",role:"button",tabindex:F.value.disabled?-1:0,onClick:e.withModifiers(Y,["stop"]),onKeydown:e.withKeys(e.withModifiers(Y,["prevent"]),["enter","space"])},null,42,Lre)),[[ee,F.value.tooltip]]):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createElementBlock("span",{class:"summary-value--num summary-value--failed-action","data-test":"failed-node-count-action",role:"button",tabindex:"0",onClick:e.withModifiers(G,["stop"]),onKeydown:e.withKeys(e.withModifiers(G,["prevent"]),["enter","space"])},[e.createTextVNode(e.toDisplayString(t.summary.errorNodeCount),1)],40,Rre)),[[ee,"定位错误"]]),W[4]||(W[4]=e.createTextVNode(" 个 ",-1))])])):e.createCommentVNode("",!0),_.value?(e.openBlock(),e.createElementBlock("div",Fre,[e.createVNode(q,{"data-test":"debug-terminate",outline:"",theme:"primary",size:"small",disabled:V.value,onClick:O},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.value==="terminating"||t.terminatePending?"终止中...":"终止调试"),1)]),_:1},8,["disabled"])])):e.createCommentVNode("",!0),S.value?(e.openBlock(),e.createElementBlock("div",zre,[e.createVNode(q,{"data-test":D.value,outline:"",theme:"primary",size:"small",onClick:M},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(N.value),1)]),_:1},8,["data-test"])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])}}}),Hre=je(jre,[["__scopeId","data-v-10d7e32f"]]),Ure={class:"node-debug-config","data-test":"node-debug-config"},Wre={class:"node-debug-config__section"},Gre={class:"node-debug-config__params","data-test":"input-params"},Yre={key:0},Qre={class:"node-debug-config__error",colspan:"2"},qre={key:1},Kre=["title"],$re={class:"col-value"},Zre={key:0,class:"node-debug-config__missing-value","data-test":"missing-value"},Xre={key:2,class:"node-debug-config__value"},Jre={class:"node-debug-config__jump-candidates"},ese=["onClick"],tse={key:0,class:"node-debug-config__reason","data-test":"missing-reason"},nse={class:"node-debug-config__actions"},ose=e.defineComponent({__name:"index",props:{node:{},contextNode:{default:null},pendingAction:{default:""},isActiveStep:{type:Boolean,default:!1},terminatePending:{type:Boolean,default:!1},hasResult:{type:Boolean,default:!1},nodeNameMap:{default:()=>({})},stale:{type:Boolean,default:!1},isFlowDebugging:{type:Boolean,default:!1}},emits:["runReal","terminate","runMock","cancelMock","viewResult","jumpToSourceNode"],setup(t,{emit:n}){const o=t,a=n,l=e.computed(()=>o.stale?[]:o.contextNode?.missing_vars??[]),r=e.computed(()=>o.stale?!0:o.contextNode?.can_step??!0),i=e.computed(()=>o.contextNode?.execution_mode==="mock"),{loading:s,error:c,visibleInputs:f,meta:p}=Jv({component:()=>o.node?.component}),h=e.computed(()=>!r.value||l.value.length>0),g=e.computed(()=>Cm(p.value.outputs)),m=e.computed(()=>kre({realBlocked:h.value,isMock:i.value,isActiveStep:o.isActiveStep,isFlowDebugging:o.isFlowDebugging,hasResult:o.hasResult,terminatePending:o.terminatePending,systemOnlyOutputs:g.value})),v=k=>k==null?"":typeof k=="object"?JSON.stringify(k,null,2):String(k),w=(k,b)=>{if(!b)return!1;try{return JSON.stringify(k??"").includes(b)}catch{return!1}},y=e.computed(()=>{const k=o.node?.component?.data??{};return f.value.filter(({key:b})=>Object.prototype.hasOwnProperty.call(k,b)).map(({key:b,name:A})=>{const _=k[b]?.value,V=l.value.filter(N=>w(_,N.key)),S=Fe.uniqBy(V.filter(N=>!!N.source_node_id),"source_node_id");return{key:b,name:A,rawValue:_,display:v(_),isComplex:Bd(_),missing:V,jumpCandidates:S}})}),x=k=>k?o.nodeNameMap[k]||k:"",B=k=>{k&&a("jumpToSourceNode",k)};return(k,b)=>{const A=e.resolveComponent("bk-button"),C=e.resolveComponent("bk-popover"),_=e.resolveDirective("bkloading"),V=e.resolveDirective("bk-tooltips");return e.openBlock(),e.createElementBlock("div",Ure,[e.withDirectives((e.openBlock(),e.createElementBlock("div",Wre,[b[10]||(b[10]=e.createElementVNode("div",{class:"node-debug-config__section-title"},"输入参数",-1)),e.createElementVNode("table",Gre,[b[9]||(b[9]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",{class:"col-name"},"参数名"),e.createElementVNode("th",{class:"col-value"},"参数值")])],-1)),e.createElementVNode("tbody",null,[e.unref(c)?(e.openBlock(),e.createElementBlock("tr",Yre,[e.createElementVNode("td",Qre,e.toDisplayString(e.unref(c)),1)])):!e.unref(s)&&y.value.length===0?(e.openBlock(),e.createElementBlock("tr",qre,[...b[5]||(b[5]=[e.createElementVNode("td",{class:"node-debug-config__empty",colspan:"2"},"暂无输入参数",-1)])])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,S=>(e.openBlock(),e.createElementBlock("tr",{key:S.key,"data-test":"input-row"},[e.createElementVNode("td",{class:"col-name",title:S.key},e.toDisplayString(S.name),9,Kre),e.createElementVNode("td",$re,[S.missing.length>0?(e.openBlock(),e.createElementBlock("div",Zre,[...b[6]||(b[6]=[e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-circle-alert-filled"},null,-1),e.createElementVNode("span",null,"暂无参数值",-1)])])):S.isComplex?(e.openBlock(),e.createBlock(jc,{key:1,value:S.rawValue,"data-test":"json-viewer"},null,8,["value"])):(e.openBlock(),e.createElementBlock("pre",Xre,e.toDisplayString(S.display),1)),S.jumpCandidates.length===1?(e.openBlock(),e.createBlock(A,{key:3,text:"",theme:"primary",size:"small","data-test":"jump-source",onClick:N=>B(S.jumpCandidates[0].source_node_id)},{default:e.withCtx(()=>[...b[7]||(b[7]=[e.createTextVNode(" 跳转至输出节点 ",-1)])]),_:1},8,["onClick"])):S.jumpCandidates.length>1?(e.openBlock(),e.createBlock(C,{key:4,trigger:"click",theme:"light",placement:"bottom-start"},{content:e.withCtx(()=>[e.createElementVNode("div",Jre,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.jumpCandidates,N=>(e.openBlock(),e.createElementBlock("div",{key:N.source_node_id,class:"node-debug-config__jump-candidate","data-test":"jump-candidate",onClick:D=>B(N.source_node_id)},e.toDisplayString(x(N.source_node_id)),9,ese))),128))])]),default:e.withCtx(()=>[e.createVNode(A,{text:"",theme:"primary",size:"small","data-test":"jump-multi"},{default:e.withCtx(()=>[...b[8]||(b[8]=[e.createTextVNode("跳转至输出节点",-1)])]),_:1})]),_:2},1024)):e.createCommentVNode("",!0)])]))),128))])])])),[[_,{loading:e.unref(s)}]]),h.value&&l.value.length>0?(e.openBlock(),e.createElementBlock("div",tse,e.toDisplayString(e.unref(aa).realBlocked),1)):e.createCommentVNode("",!0),e.createElementVNode("div",nse,[m.value.primary.kind==="terminate"?(e.openBlock(),e.createBlock(A,{key:0,outline:"",theme:"danger","data-test":"terminate-step",loading:o.terminatePending,disabled:m.value.primary.disabled,onClick:b[0]||(b[0]=S=>a("terminate"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value.primary.label),1)]),_:1},8,["loading","disabled"])):e.withDirectives((e.openBlock(),e.createBlock(A,{key:1,theme:"primary","data-test":"run-real",disabled:m.value.primary.disabled,loading:o.pendingAction==="real",onClick:b[1]||(b[1]=S=>a("runReal"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value.primary.label),1)]),_:1},8,["disabled","loading"])),[[V,{content:m.value.primary.tooltip,disabled:!m.value.primary.disabled}]]),m.value.mock.visible?e.withDirectives((e.openBlock(),e.createBlock(A,{key:2,outline:"",theme:"primary","data-test":"open-mock",disabled:m.value.mock.disabled,loading:o.pendingAction==="mock",onClick:b[2]||(b[2]=S=>a("runMock"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value.mock.label),1)]),_:1},8,["disabled","loading"])),[[V,{content:m.value.mock.tooltip,disabled:!m.value.mock.disabled}]]):e.createCommentVNode("",!0),m.value.cancelMock.visible?e.withDirectives((e.openBlock(),e.createBlock(A,{key:3,"data-test":"cancel-mock",disabled:m.value.cancelMock.disabled,loading:o.pendingAction==="cancel-mock",onClick:b[3]||(b[3]=S=>a("cancelMock"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value.cancelMock.label),1)]),_:1},8,["disabled","loading"])),[[V,{content:m.value.cancelMock.tooltip,disabled:!m.value.cancelMock.disabled}]]):e.createCommentVNode("",!0),m.value.viewResult.visible?(e.openBlock(),e.createBlock(A,{key:4,text:"",theme:"primary","data-test":"view-result",class:"node-debug-config__view-result",onClick:b[4]||(b[4]=S=>a("viewResult"))},{default:e.withCtx(()=>[...b[11]||(b[11]=[e.createTextVNode(" 查看结果 ",-1),e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-jump-link-line node-debug-config__view-result-icon","aria-hidden":"true"},null,-1)])]),_:1})):e.createCommentVNode("",!0)])])}}}),ase=je(ose,[["__scopeId","data-v-77bc692b"]]),lse=t=>{const n=[t.start_event?.id,...Object.keys(t.activities??{}),...Object.keys(t.gateways??{}),t.end_event?.id].filter(o=>!!o);return[...new Set(n)]};function rse(t){if(!t)return[];const n=lse(t),o=new Set(n),a=new Map(n.map((m,v)=>[m,v])),l=new Map((t.location??[]).map(m=>[m.id,m])),r=new Map(n.map(m=>[m,[]])),i=new Map,s=new Set;Object.values(t.flows??{}).forEach((m,v)=>{if(!o.has(m.source)||!o.has(m.target))return;const w=`${m.source}\0${m.target}`;s.has(w)||(s.add(w),r.get(m.source)?.push(m.target),i.has(m.target)||i.set(m.target,v))});const c=(m,v)=>{const w=(i.get(m)??Number.MAX_SAFE_INTEGER)-(i.get(v)??Number.MAX_SAFE_INTEGER);if(w!==0)return w;const y=l.get(m),x=l.get(v),B=(y?.x??Number.MAX_SAFE_INTEGER)-(x?.x??Number.MAX_SAFE_INTEGER);if(B!==0)return B;const k=(y?.y??Number.MAX_SAFE_INTEGER)-(x?.y??Number.MAX_SAFE_INTEGER);return k!==0?k:(a.get(m)??0)-(a.get(v)??0)},f=new Set,p=t.start_event?.id;if(p&&o.has(p)){const m=[p];for(f.add(p);m.length>0;){const v=m.shift();(r.get(v)??[]).forEach(w=>{f.has(w)||(f.add(w),m.push(w))})}}const h=m=>{if(m.size===0)return[];const v=new Map([...m].map(B=>[B,0]));m.forEach(B=>{(r.get(B)??[]).forEach(k=>{m.has(k)&&v.set(k,(v.get(k)??0)+1)})});const w=[...m].filter(B=>v.get(B)===0).sort(c),y=[];for(;w.length>0;){const B=w.shift();y.push(B),(r.get(B)??[]).forEach(k=>{if(!m.has(k))return;const b=(v.get(k)??0)-1;v.set(k,b),b===0&&(w.push(k),w.sort(c))})}const x=new Set(y);return[...y,...[...m].filter(B=>!x.has(B)).sort(c)]},g=new Set(n.filter(m=>!f.has(m)));return[...h(f),...h(g)]}const sse={ExclusiveGateway:"bkflow-canvas-icon bkflow-canvas-fenzhiwangguan",ParallelGateway:"bkflow-canvas-icon bkflow-canvas-bingxingwangguan",ConditionalParallelGateway:"bkflow-canvas-icon bkflow-canvas-tiaojianbingxingwangguan",ConvergeGateway:"bkflow-canvas-icon bkflow-canvas-huijuwangguan"},Ap={ServiceActivity:"任务节点",EmptyStartEvent:"开始节点",EmptyEndEvent:"结束节点",ExclusiveGateway:"分支网关",ParallelGateway:"并行网关",ConditionalParallelGateway:"条件并行网关",ConvergeGateway:"汇聚网关"},ise=t=>!t||t.includes("bkflow-canvas-icon")?t:`bkflow-canvas-icon ${t}`;function use(t){if(!t.component?.code)return"";if(t.component.code==="uniform_api"){const n=t.component.api_meta?.category?.name??"";return gt.PLUGGIN_GROUP_FONT_CLASS_MAP[n]??gt.PLUGGIN_GROUP_FONT_CLASS_MAP.bkflow}return gt.PLUGGIN_GROUP_FONT_CLASS_MAP.bkflow}function cse(t,n){const o=t?.location?.find(i=>i.id===n),a=ise(o?.icon??""),l=t?.activities?.[n];if(l)return{name:!!l.component?.code?l.name||o?.name||n:"节点未配置",type:l.type||"ServiceActivity",typeName:Ap[l.type]??"任务节点",icon:use(l)};const r=t?.gateways?.[n];return r?{name:r.name||o?.name||Ap[r.type]||n,type:r.type,typeName:Ap[r.type]??"网关",icon:a||sse[r.type]||""}:t?.start_event?.id===n?{name:t.start_event.name||"开始",type:"EmptyStartEvent",typeName:"开始节点",icon:a||"bkflow-canvas-icon bkflow-canvas-kaishi"}:t?.end_event?.id===n?{name:t.end_event.name||"结束",type:"EmptyEndEvent",typeName:"结束节点",icon:a||"bkflow-canvas-icon bkflow-canvas-stop"}:o?{name:o.name||n,type:o.type||"",typeName:"",icon:a}:{name:n,type:"",typeName:"",icon:""}}function fc(t){return t?rse(t).filter(n=>!!(t.activities?.[n]||t.gateways?.[n])):[]}function dse(t,n,o=new Set){if(!t)return[];const a=new Map((n??[]).map(l=>[l.node_id,da(l.status)]));return fc(t).map(l=>{const r=t.activities?.[l],i=r?!!r.component?.code:!0,s=cse(t,l);return{id:l,name:s.name,type:s.type||r?.type||"",typeName:s.typeName,icon:s.icon,status:a.get(l)??"not_run",isMock:!!(r&&o.has(l)),isConfigured:i}})}function fse(t){if(!t)return{};if(t.mock_outputs&&Object.keys(t.mock_outputs).length>0)return t.mock_outputs;if(t.outputs&&Object.keys(t.outputs).length>0)return t.outputs;const n=t.selected_flow_ids??[],o=t.condition_results??[];return n.length===0&&o.length===0?{}:{...n.length>0?{selected_flow_ids:n}:{},...o.length>0?{condition_results:o}:{}}}function Hw(t,n){const o=t.nodes.find(a=>a.node_id===n);return{taskId:o?.log_ref?.instance_id??null,taskNodeId:o?.log_ref?.node_id??"",version:o?.log_ref?.version??""}}const Uw=t=>typeof t=="string"?t:t instanceof Error?t.message:"加载调试结果失败";function pse(t){const n=e.ref(!1),o=e.ref(!1),a=e.ref(""),l=e.ref(""),r=e.ref(""),i=e.shallowRef({status:"not_run"}),s=e.shallowRef({}),c=e.shallowRef({}),f=e.shallowRef(void 0),p=new Map,h=new Map;let g=0,m=0;const v=B=>{s.value=B.inputs,c.value=B.outputs,n.value=!1,a.value="",l.value=""},w=()=>{i.value={status:"not_run"},s.value={},c.value={},f.value=void 0,n.value=!1,o.value=!1,a.value="",l.value="",r.value=""},y=async()=>{const B=t.context(),k=t.nodeId(),b=++g;if(!B||!k){w();return}const A=B.nodes.find(L=>L.node_id===k),C=A?da(A.status):"not_run";i.value={status:C,durationMs:A?.duration_ms??void 0,errorDetail:A?.error_detail};const _=t.fallbackInputs?.()??{},V=fse(A),S=A?.mock_error??(typeof A?.error_detail=="string"?A.error_detail:"");if(!A?.log_ref){s.value=_,c.value=V,f.value=void 0,a.value=S,l.value="",r.value="",o.value=!1,n.value=!1;return}const D=Hw(B,k),H=t.componentCode?.(),j=`${B.template_id}_${D.taskId??""}_${D.taskNodeId}_${D.version}_${H??""}`,I=Fw(C),F=I?p.get(j):void 0;if(F){v(F);return}const z=t.api.fetchTaskNodeDetail;if(!z){s.value=_,c.value=V,n.value=!1;const L="节点详情接口未配置(fetchTaskNodeDetail)";a.value=S,l.value=L;return}n.value=!0,a.value=S,c.value=V,l.value="";try{const L=await z({task_id:D.taskId,node_id:D.taskNodeId,...H?{component_code:H}:{}});if(b!==g)return;const O=Go(L);s.value=Go(O?.inputs)??{};const M=O?.outputs??{};c.value=Qae(M)?V:M,I&&p.set(j,{inputs:s.value,outputs:c.value})}catch(L){if(b!==g)return;s.value=_,c.value=V,l.value=`节点详情加载失败:${Uw(L)}`}finally{b===g&&(n.value=!1)}},x=async()=>{const B=++m;if(!t.logsActive?.()){o.value=!1;return}const k=t.context(),b=t.nodeId(),A=k?.nodes.find(D=>D.node_id===b);if(!k||!b||!A?.log_ref){f.value=void 0,r.value="",o.value=!1;return}const C=Hw(k,b),_=`${k.template_id}_${C.taskId??""}_${C.taskNodeId}_${C.version}`,V=da(A.status),S=Fw(V);if(S&&h.has(_)){f.value=h.get(_),r.value="",o.value=!1;return}const N=t.api.fetchTaskNodeLog;if(!N){f.value=void 0,r.value="调用日志接口未配置(fetchTaskNodeLog)",o.value=!1;return}f.value=void 0,o.value=!0,r.value="";try{const D=await N({task_id:C.taskId,node_id:C.taskNodeId,version:C.version});if(B!==m)return;f.value=D,S&&h.set(_,D)}catch(D){if(B!==m)return;f.value=void 0,r.value=`调用日志加载失败:${Uw(D)}`}finally{B===m&&(o.value=!1)}};return e.watch(()=>[t.nodeId(),t.componentCode?.(),t.context()?.nodes,t.fallbackInputs?.()],()=>{y()},{immediate:!0}),e.watch(()=>{const B=t.context(),k=t.nodeId(),b=B?.nodes.find(A=>A.node_id===k)?.log_ref;return[t.logsActive?.()??!1,k,b?.instance_id,b?.node_id,b?.version]},()=>{x()},{immediate:!0}),e.computed(()=>({loading:n.value,logLoading:o.value,error:a.value,detailError:l.value,logError:r.value,execution:i.value,inputs:s.value,outputs:c.value,logs:f.value}))}function mse(t,n){if(t.length<1)return null;const o=(n%t.length+t.length)%t.length;return{nodeId:t[o],nextCursor:n+1}}function vse(t){const{api:n}=t,o=e.shallowRef(null),a=e.shallowRef([]),l=e.shallowRef([]),r=e.ref(!1),i=e.ref(!1),s=e.ref(!1),c=e.ref(!1),f=e.ref(!1),p=e.computed(()=>s.value||c.value||f.value),h=()=>t.flowId(),g=()=>t.enableVersion?.()??!1,m=()=>t.flowVersion?.();let v=0;async function w(_,V,S,N){s.value=!0;try{let D=await n.fetchFlowDetail(V);if(S)if(N){const H=await n.fetchFlowDetailByVersion(V,N);D={...D,name:H.name,pipeline_tree:H.pipeline_tree}}else{const H=await n.fetchFlowDraftDetail(V);D={...D,pipeline_tree:H.pipeline_tree}}_===v&&(o.value=D)}catch(D){console.error(D)}finally{_===v&&(s.value=!1)}}async function y(_,V){if(n.fetchSpaceFlowConfig){c.value=!0;try{await n.fetchSpaceFlowConfig(V)}catch(S){console.error(S)}finally{_===v&&(c.value=!1)}}}async function x(_,V){if(n.fetchSystemVariables)try{const S=await n.fetchSystemVariables(V);_===v&&(a.value=S)}catch(S){console.error(S)}}async function B(_){if(!(!t.canEdit()||!n.fetchAllPluginGroups)){f.value=!0;try{const V=await n.fetchAllPluginGroups();_===v&&(l.value=V)}catch(V){console.error(V)}finally{_===v&&(f.value=!1)}}}async function k(){const _=++v,V=h(),S=g(),N=m();await Promise.all([w(_,V,S,N),y(_,V),x(_,V),B(_)])}function b(){v+=1,o.value=null,a.value=[],l.value=[],r.value=!1,s.value=!1,c.value=!1,f.value=!1}function A(_){o.value&&(o.value={...o.value,pipeline_tree:_},r.value=!0)}async function C(_={}){if(!o.value||!n.saveFlow||i.value)return!1;const V=v,S=h(),N=o.value;if(_.validate&&!el(N.pipeline_tree).valid)return!1;const{name:D,desc:H,notify_config:j,pipeline_tree:I,triggers:F}=N,z={name:D,desc:H,notify_config:j,pipeline_tree:I,triggers:F};i.value=!0;try{return await n.saveFlow(S,z),V!==v||S!==h()?!1:(o.value===N&&(r.value=!1),_.silent||(t.onSave?.(N),t.onSaveSuccess?.()),!0)}catch(L){return console.error(L),!1}finally{i.value=!1}}return{flowDetail:o,systemVariables:a,pluginGroupList:l,loading:p,isFlowEdited:r,savePending:i,load:k,reset:b,updatePipelineTree:A,save:C}}const gse={key:0,class:"flow-detail-operate-area"},hse={class:"flow-detail-operate-btns"},bse={class:"flow-detail-canvas-wrapper"},yse=e.defineComponent({__name:"index",props:{flowId:{},apiConfig:{},permissions:{},enableVersion:{type:Boolean,default:!1},flowVersion:{},defaultZoom:{default:1},bkflowSaasUrl:{},enableThirdPlugin:{type:Boolean,default:!0},quickAdd:{default:void 0},hideTrigger:{type:Boolean,default:!1},selectPanelConfig:{},memberSelectorConfig:{},filterVariableConfig:{},onSave:{},onSaveSuccess:{},onExecuteSuccess:{},onBack:{}},emits:["save","saveSuccess","executeSuccess","back","createVariable"],setup(t,{expose:n,emit:o}){const a=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./index-yyXW3qiI.cjs"))),l=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./index-BYtnfYVZ.cjs"))),r=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./index-BiPZczkD.cjs"))),i=t,s=o,c=e.computed(()=>({canEdit:i.permissions?.canEdit??!1,canDebug:i.permissions?.canDebug??!1,canExecute:i.permissions?.canExecute??!1})),f="fetchFlowDetail"in i.apiConfig?i.apiConfig:{...i.apiConfig,enableThirdPlugin:i.enableThirdPlugin},p=il(f);km(i.selectPanelConfig||{}),Jr(i.memberSelectorConfig),Gc(i.filterVariableConfig),Kl({},i.bkflowSaasUrl);const h=e.ref(),g=e.ref(),m=e.shallowRef(!1),v=be=>{s("createVariable",{keyword:be.keyword,cursorIndex:be.cursorIndex,defaultCustomType:be.defaultCustomType}),h.value?.openGlobalVariableCreate(be)};gt.provideVariableInputCreateVariable(v);const w=vse({flowId:()=>String(i.flowId),enableVersion:()=>i.enableVersion,flowVersion:()=>i.flowVersion,canEdit:()=>c.value.canEdit,api:p,onSave:i.onSave,onSaveSuccess:i.onSaveSuccess}),y=w.flowDetail;Em(be=>y.value?.pipeline_tree?.activities?.[be]?.component);const x=w.systemVariables,B=w.pluginGroupList,k=w.savePending,b=e.computed(()=>w.loading.value),A=e.computed(()=>{const be=y.value?.pipeline_tree;return be?new Set(fc(be)):null}),C=yre({templateId:()=>String(i.flowId),enabled:()=>c.value.canDebug,api:p,onMessage:(be,Je)=>Xt({theme:be,message:Je,ellipsisLine:3}),existingNodeIds:()=>A.value}),_=e.ref(!1),V=e.ref(!1),S=e.ref(!1),N=e.ref(!1),D=e.ref(null),H=e.computed(()=>S.value?"调试结果失效清理未完成,请在调试前重试":C.contextSyncError.value);let j=0;const I=e.computed(()=>c.value.canDebug&&(w.isFlowEdited.value||N.value||S.value)),F=e.computed(()=>c.value.canDebug&&["running","terminating"].includes(C.context.value?.status??"idle")),z=e.computed(()=>c.value.canEdit&&!F.value),L=e.computed(()=>z.value?"":"调试中,暂不可保存"),O=e.computed(()=>z.value?152:0),M=e.computed(()=>c.value.canDebug&&!C.initializing.value&&!C.actionPending.value&&!_.value&&!V.value&&!k.value&&(C.context.value?.status??"idle")==="idle"),G=e.computed(()=>C.canvasState.value.nodeStates),Y=Ed(G),Z=e.computed(()=>c.value.canDebug?[Y]:[]),W=e.computed(()=>c.value.canDebug?{isMockNode:be=>C.canvasState.value.mockNodeIds.has(be),getNodeStatus:be=>C.context.value?.nodes.find(Je=>Je.node_id===be)?.status,focusedNodeId:()=>bt.value,openNodeDebugPanel:be=>{g.value?.openNodeDebugPanel?.(be),Dt(be)},isLocked:()=>F.value}:void 0),q=e.computed(()=>{const be=y.value?.pipeline_tree;return!be||!c.value.canDebug?be:Kv(be,G.value)});let ee=0;async function he(be=!1){const Je=++ee;if(be&&(w.reset(),Mi(),m.value=!1),await w.load(),Je===ee){if(!y.value){Xt({theme:"error",message:"加载流程详情失败,请刷新重试"});return}if(c.value.canDebug&&(await C.initialize(),Je===ee)){if(C.contextSyncError.value&&Xt({theme:"warning",message:`调试状态同步失败:${C.contextSyncError.value}`,ellipsisLine:3}),C.context.value?.status!=="idle"){va();return}C.contextSyncError.value||await De()}}}e.onMounted(()=>{he()});const te=()=>{i.onBack?i.onBack():s("back")},ne=be=>{y.value=be,w.isFlowEdited.value=!0},Ce=be=>{y.value&&(y.value={...y.value,pipeline_tree:{...y.value.pipeline_tree,constants:be}}),w.isFlowEdited.value=!0,g.value?.updateGlobalVariables(be)},oe=be=>{g.value?.updateOutputs(be)},le=be=>{w.updatePipelineTree(be)},ke=(be,Je="")=>{Xt({theme:"error",message:Je?`${Je}${be.message}`:be.message}),be.ids.length>0&&g.value?.locateNode?.(be.ids[0])},Ae=()=>({epoch:j,flowId:String(i.flowId)}),Ne=be=>be.epoch===j&&be.flowId===String(i.flowId),Ve=async()=>{if(!c.value.canDebug||!p.fetchDebugResetImpact)return[];const be=Ae();try{const Je=await p.fetchDebugResetImpact(be.flowId);return Ne(be)?Je?.reset_node_ids??[]:null}catch(Je){return console.error(Je),Ne(be)&&Xt({theme:"error",message:gt.normalizeApiError(Je).message}),null}},De=async()=>{if((C.context.value?.status??"idle")!=="idle")return;const be=Ae(),Je=await Ve();Ne(be)&&(C.context.value?.status??"idle")==="idle"&&(Je===null||Je.length>0)&&(N.value=!0)},qe=async()=>{if(!c.value.canDebug||!p.fetchDebugResetImpact)return S.value=!1,N.value=!1,!0;if((C.context.value?.status??"idle")!=="idle")return!1;const be=Ae();S.value=!0;const Je=await Ve();if(Je===null)return!1;if(Je.length>0){if(!Ne(be))return!1;try{const jt=await C.reset(Je);if(!Ne(be)||!jt)return!1}catch(jt){return console.error(jt),!1}}return Ne(be)?(S.value=!1,N.value=!1,!0):!1},Te=async(be=!1)=>{if(!z.value||!y.value)return!1;if(c.value.canDebug){if(await C.refresh(),C.contextSyncError.value)return Xt({theme:"error",message:`调试状态同步失败,暂不能保存:${C.contextSyncError.value}`}),!1;if((C.context.value?.status??"idle")!=="idle")return Xt({theme:"warning",message:"流程正在调试中,暂不能保存"}),!1}const Je=el(y.value.pipeline_tree);if(!Je.valid)return ke(Je),!1;const jt=w.isFlowEdited.value,To=await w.save({silent:be,validate:!1});return To?(Xt({theme:"success",message:"保存成功"}),be||(s("save",y.value),s("saveSuccess")),jt&&await qe()):be&&Xt({theme:"error",message:"保存失败,请重试"}),To},Ee=async()=>{await Te()},tt=()=>{if(c.value.canExecute){if(!w.isFlowEdited.value){m.value=!0;return}if(!c.value.canEdit||!z.value){Xt({theme:"warning",message:"当前流程存在未保存修改,且暂时无法保存"});return}qn.InfoBox({title:"确认执行流程?",content:"流程已修改,执行前需要先保存流程。是否保存并继续?",confirmText:"保存并继续",cancelText:"取消",width:400,headerAlign:"center",footerAlign:"center",onConfirm:async()=>{await Te(!0)&&(m.value=!0)}})}},ie=be=>{s("executeSuccess",be),i.onExecuteSuccess?.(be)},ce=e.ref(!1),Pe=e.ref("run"),ot=e.shallowRef({}),at=e.ref(!1),vt=e.computed(()=>{const be=C.context.value;return{...be?.last_inputs??be?.global_vars??{}}}),rt=async(be,Je)=>{if(!y.value)return!1;const jt=el(y.value.pipeline_tree,be==="node"&&Je?{requireConfiguredNodeIds:[Je]}:{});if(!jt.valid)return ke(jt,"无法调试:"),!1;if(w.isFlowEdited.value){if(!c.value.canEdit)return Xt({theme:"warning",message:"当前流程存在未保存修改,且没有保存权限"}),!1;if(!await w.save({silent:!0,validate:!1}))return Xt({theme:"error",message:"保存流程失败,已中止调试"}),!1;if(w.isFlowEdited.value)return Xt({theme:"warning",message:"保存期间流程又被修改,请重新发起调试"}),!1;N.value=!0}return be==="global"||!S.value&&!N.value?!0:qe()},Be=async(be=!0)=>!C.contextSyncError.value||(be&&await C.refresh(),!C.contextSyncError.value)?!0:(Xt({theme:"error",message:`调试状态同步失败:${C.contextSyncError.value}`,ellipsisLine:3}),!1),Se=async()=>(await C.refresh(),await Be(!1)?(C.context.value?.status??"idle")==="idle":!1),Ie=async be=>{if(!M.value)return!1;_.value=!0;try{return await Se()?await be():!1}catch{return!1}finally{_.value=!1}},se=async()=>{if(M.value){V.value=!0;try{if(!await Se()||!await rt("global"))return;ot.value=await C.fetchInputSchema(),Pe.value="run",ce.value=!0}catch(be){console.error(be)}finally{V.value=!1}}},de=()=>{va()},ue=e.ref(0),R=e.computed(()=>C.canvasState.value.summary.failedNodeIds);e.watch(()=>R.value.join("\0"),()=>{ue.value=0});const P=()=>{const be=mse(R.value,ue.value);be&&(ue.value=be.nextCursor,va(be.nodeId))},J=be=>{C.terminatePending.value||qn.InfoBox({title:"确认终止调试?",content:"终止操作仅修改调试状态,已下发到第三方平台的任务不保证能被终止。",confirmText:"确认",cancelText:"取消",confirmButtonTheme:"danger",width:420,onConfirm:async()=>{const Je=be();if(!Je){Xt({theme:"error",message:"未获取到正在调试的任务信息,请刷新后重试"});return}try{await C.terminate(Je.runType==="step"?Je.nodeId:void 0)}catch{}}})},$=()=>{if(!Wu(C.context.value)){Xt({theme:"error",message:"未获取到正在调试的任务信息,请刷新后重试"});return}J(()=>Wu(C.context.value))},fe=e.ref(!1),pe=e.shallowRef(null),Oe=async be=>{await Ie(async()=>await rt("global")?(dt.value=!1,Le.value="",C.runGlobal(be)):!1)&&(S.value=!1,N.value=!1,fe.value=!0,pe.value={...be},ce.value=!1,at.value=!0)},Ke=e.computed(()=>{if(fe.value)return!0;const be=C.context.value;return be?be.status==="running"||be.status==="terminating"?be.active_run_type==="global":be.last_run_type==="global":!1}),Xe=e.computed(()=>pe.value??vt.value),et=e.computed(()=>Pe.value==="view"?Xe.value:vt.value),it=async()=>{if(!(!Ke.value||V.value)){V.value=!0;try{if(!await Be())return;ot.value=await C.fetchInputSchema(),Pe.value="view",ce.value=!0}catch(be){console.error(be)}finally{V.value=!1}}},X=e.computed(()=>new Set((C.context.value?.nodes??[]).filter(be=>be.status!=="not_run").map(be=>be.node_id))),ae=e.computed(()=>new Set(fc(y.value?.pipeline_tree))),we=e.computed(()=>fc(y.value?.pipeline_tree).find(be=>X.value.has(be))??""),Re=be=>C.context.value?.nodes.find(Je=>Je.node_id===be),ge=()=>{const be=Wu(C.context.value);return be?.runType==="step"?be.nodeId:""},ze=be=>ge()===be,Ye=e.computed(()=>{const be=y.value?.pipeline_tree?.activities??{},Je={};return Object.values(be).forEach(jt=>{jt?.id&&(Je[jt.id]=jt.name??jt.id)}),Je}),pt=be=>D.value?.nodeId===be?D.value.action:"",ut=be=>{Dt(be)},Et=async be=>{if(M.value){D.value={nodeId:be.id,action:"real"};try{await Ie(async()=>{const Je=w.isFlowEdited.value;if(!await rt("node",be.id))return!1;Je&&await C.refresh();const jt=Re(be.id);return!jt?.can_step||(jt.missing_vars?.length??0)>0?(Xt({theme:"warning",message:"当前输入参数不满足调试要求"}),!1):C.runStep({nodeId:be.id,mode:"real"})})}finally{D.value=null}}},Nt=be=>{!ze(be)||C.terminatePending.value||J(()=>{const Je=Wu(C.context.value);return Je?.runType==="step"&&Je.nodeId===be?Je:null})},zt=async be=>{if(M.value){D.value={nodeId:be.id,action:"cancel-mock"};try{await Ie(async()=>await rt("node",be.id)?C.cancelMock(be.id):!1)}finally{D.value=null}}},on=e.ref(!1),hn=e.shallowRef(null),Zn=e.computed(()=>{const be=hn.value?.id;return be?D.value?.nodeId===be&&D.value.action==="mock":!1}),Xn=e.computed(()=>{const be=hn.value?.id,Je=be?Re(be):void 0;return Je?.mock_outputs?{outputs:Je.mock_outputs??{}}:{outputs:{}}}),po=be=>{hn.value=be,on.value=!0},tn=async be=>{const Je=hn.value;if(!Je||!M.value)return;D.value={nodeId:Je.id,action:"mock"};const jt=await Ie(async()=>await rt("node",Je.id)?C.runMock({nodeId:Je.id,mockResult:"success",mockOutputs:be.outputs}):!1);D.value=null,jt&&(on.value=!1,at.value=!0,va(Je.id))},Ue=be=>{g.value?.updateNodeInputParams?.(be)},$e=()=>{h.value?.openGlobalVariables()},me=(be={})=>h.value?.openGlobalVariableCreate(be)??!1,Le=e.ref(""),nt=e.ref(!1),dt=e.ref(!1),bt=e.ref(""),Dt=be=>{be&&(bt.value=be,g.value?.locateNode?.(be,{offset:{y:at.value?-200:0}}))},An=be=>{dt.value=!0;const Je=Le.value===be;Le.value=be,Je&&Dt(be)},La=be=>{(be.type==="blank.click"||be.type==="node.click"||be.type==="edge.click"||be.type==="edge.label.click")&&(bt.value="")},Jl=pse({api:p,context:()=>C.context.value,nodeId:()=>Le.value,componentCode:()=>y.value?.pipeline_tree.activities?.[Le.value]?.component?.code,fallbackInputs:()=>{const be=y.value?.pipeline_tree.activities?.[Le.value]?.component?.data??{};return Object.fromEntries(Object.entries(be).map(([Je,jt])=>[Je,jt.value]))},logsActive:()=>at.value&&nt.value}),Oi=e.computed(()=>Jl.value),er=e.computed(()=>{const be=C.context.value;return be?(be.status==="running"||be.status==="terminating")&&be.active_node_id?be.active_node_id:be.nodes.find(Je=>da(Je.status)==="running")?.node_id??"":""}),ma=e.computed(()=>er.value&&ae.value.has(er.value)?er.value:""),va=be=>{const Je=at.value;if(at.value=!0,be){dt.value=!0,Le.value=be,Dt(be);return}if(ma.value&&(!Je||!dt.value)){dt.value=!1,Le.value=ma.value;return}Le.value||(Le.value=ma.value||we.value)},xd=(be,Je)=>{va(be),Je?.()};e.watch(Le,be=>{be&&Dt(be)}),e.watch(()=>C.context.value?.status??"idle",(be,Je)=>{be!==Je&&(be==="running"||be==="terminating")&&(at.value=!0,!dt.value&&ma.value&&(Le.value=ma.value))}),e.watch(ma,be=>{be&&!dt.value&&(Le.value=be)}),e.watch(A,be=>{!be||!Le.value||be.has(Le.value)||(Le.value="",bt.value="",dt.value=!1)});function Mi(){j+=1,C.resetState(),ce.value=!1,Pe.value="run",ot.value={},at.value=!1,fe.value=!1,pe.value=null,on.value=!1,hn.value=null,Le.value="",nt.value=!1,dt.value=!1,bt.value="",_.value=!1,V.value=!1,D.value=null,S.value=!1,N.value=!1}e.watch(()=>[String(i.flowId),i.flowVersion],([be,Je],[jt,To])=>{(be!==jt||Je!==To)&&he(!0)}),e.watch(()=>c.value.canDebug,(be,Je)=>{be!==Je&&(Mi(),be&&y.value&&C.initialize().then(async()=>{if(C.contextSyncError.value){Xt({theme:"warning",message:`调试状态同步失败:${C.contextSyncError.value}`,ellipsisLine:3});return}if(C.context.value?.status!=="idle"){va();return}await De()}))});const _d=be=>{const Je=y.value?.pipeline_tree?.activities?.[be];Je&&po(Je)},us=be=>{const Je=y.value?.pipeline_tree?.activities?.[be];Je&&Et(Je)},Pi=be=>{const Je=y.value?.pipeline_tree?.activities?.[be];Je&&po(Je)},Li={isFlowEdited:e.computed(()=>w.isFlowEdited.value),updateNodeInputParams:Ue,openGlobalVariables:$e,openGlobalVariableCreate:me,refreshDebugContext:async()=>{await C.refresh()},openDebugResult:va,zoomToFit:be=>g.value?.zoomToFit?.(be),centerContent:()=>g.value?.centerContent?.(),getZoom:()=>g.value?.getZoom?.()??1};return n(Li),(be,Je)=>{const jt=e.resolveComponent("bk-button"),To=e.resolveDirective("bk-tooltips"),Ri=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(hi,{title:"流程详情",desc:e.unref(y)?.name,"show-back-icon":!0,onBack:te},{header:e.withCtx(()=>[e.renderSlot(be.$slots,"header",{},void 0,!0)]),extend:e.withCtx(()=>[e.unref(y)?(e.openBlock(),e.createElementBlock("div",gse,[e.createVNode(bd,{ref_key:"flowInfoSlidersRef",ref:h,"flow-data":e.unref(y),editable:z.value,"system-variables":e.unref(x),"hide-trigger":i.hideTrigger,onChange:ne,onUpdateConstants:Ce,onUpdateOutputs:oe},null,8,["flow-data","editable","system-variables","hide-trigger"]),c.value.canDebug?(e.openBlock(),e.createBlock(Hre,{key:0,context:e.unref(C).context.value,summary:e.unref(C).canvasState.value.summary,initializing:e.unref(C).initializing.value||V.value||e.unref(k)||e.unref(C).resetPending.value,"sync-error":H.value,"terminate-pending":e.unref(C).terminatePending.value,onStart:se,onOpenResult:de,onTerminate:$,onLocateFailed:P,onRetryStep:us},null,8,["context","summary","initializing","sync-error","terminate-pending"])):e.createCommentVNode("",!0),e.createElementVNode("div",hse,[c.value.canEdit?e.withDirectives((e.openBlock(),e.createBlock(jt,{key:0,"data-test":"save-flow",theme:"primary",disabled:!z.value,loading:e.unref(k),onClick:Ee},{default:e.withCtx(()=>[...Je[5]||(Je[5]=[e.createTextVNode(" 保存 ",-1)])]),_:1},8,["disabled","loading"])),[[To,{content:L.value,disabled:!L.value}]]):e.createCommentVNode("",!0),e.createVNode(jt,{class:"execute-flow-btn",disabled:!c.value.canExecute||e.unref(k),onClick:tt},{default:e.withCtx(()=>[...Je[6]||(Je[6]=[e.createTextVNode(" 执行流程 ",-1)])]),_:1},8,["disabled"])])])):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",bse,[!b.value&&e.unref(y)?(e.openBlock(),e.createBlock(zc,{key:0,ref_key:"flowCanvasRef",ref:g,mode:z.value?"edit":"view","flow-id":String(i.flowId),"pipeline-tree":q.value,"plugin-group-list":e.unref(B),"system-variables":e.unref(x),"default-zoom":i.defaultZoom,"quick-add":i.quickAdd,"enable-node-debug":c.value.canDebug,"additional-plugins":Z.value,"debug-context":W.value,onUiEvent:La,onChange:le},{inputParams:e.withCtx(Qt=>[e.renderSlot(be.$slots,"inputParams",e.normalizeProps(e.guardReactiveProps({...Qt,updateNodeInputParams:Ue})),void 0,!0)]),nodeDebugConfig:e.withCtx(({node:Qt,close:Fi})=>[e.createVNode(ase,{node:Qt,"context-node":Re(Qt.id),stale:I.value,"pending-action":pt(Qt.id),"is-active-step":ze(Qt.id),"is-flow-debugging":F.value,"terminate-pending":e.unref(C).terminatePending.value,"has-result":X.value.has(Qt.id),"node-name-map":Ye.value,onRunReal:hl=>Et(Qt),onTerminate:hl=>Nt(Qt.id),onRunMock:hl=>po(Qt),onCancelMock:hl=>zt(Qt),onViewResult:hl=>xd(Qt.id,Fi),onJumpToSourceNode:ut},null,8,["node","context-node","stale","pending-action","is-active-step","is-flow-debugging","terminate-pending","has-result","node-name-map","onRunReal","onTerminate","onRunMock","onCancelMock","onViewResult"])]),_:3},8,["mode","flow-id","pipeline-tree","plugin-group-list","system-variables","default-zoom","quick-add","enable-node-debug","additional-plugins","debug-context"])):e.createCommentVNode("",!0),c.value.canDebug&&!b.value&&e.unref(y)?(e.openBlock(),e.createBlock(e.unref(r),{key:1,open:at.value,"onUpdate:open":Je[0]||(Je[0]=Qt=>at.value=Qt),"model-value":Le.value,context:e.unref(C).context.value,"pipeline-tree":e.unref(y).pipeline_tree,"mock-node-ids":e.unref(C).canvasState.value.mockNodeIds,result:Oi.value,"has-global-run":Ke.value,"view-params-pending":V.value,"offset-left":O.value,"onUpdate:modelValue":An,onViewParams:it,onReEditMock:_d,onRunReal:us,onRunMock:Pi,onLogsTabActive:Je[1]||(Je[1]=Qt=>nt.value=Qt)},null,8,["open","model-value","context","pipeline-tree","mock-node-ids","result","has-global-run","view-params-pending","offset-left"])):e.createCommentVNode("",!0)])),[[Ri,{loading:b.value,zIndex:100}]]),c.value.canDebug?(e.openBlock(),e.createBlock(e.unref(a),{key:0,show:ce.value,"onUpdate:show":Je[2]||(Je[2]=Qt=>ce.value=Qt),schema:ot.value,"pipeline-constants":e.unref(y)?.pipeline_tree?.constants??{},"initial-values":et.value,pending:e.unref(C).globalRunPending.value,readonly:Pe.value==="view",onConfirm:Oe},null,8,["show","schema","pipeline-constants","initial-values","pending","readonly"])):e.createCommentVNode("",!0),c.value.canDebug&&hn.value?(e.openBlock(),e.createBlock(e.unref(l),{key:1,show:on.value,"onUpdate:show":Je[3]||(Je[3]=Qt=>on.value=Qt),node:hn.value,outputs:Xn.value.outputs,pending:Zn.value,onConfirm:tn},null,8,["show","node","outputs","pending"])):e.createCommentVNode("",!0),e.unref(y)?(e.openBlock(),e.createBlock(Ad,{key:2,"flow-id":String(i.flowId),show:m.value,"api-config":i.apiConfig,"bkflow-saas-url":i.bkflowSaasUrl,"member-selector-config":i.memberSelectorConfig,onClose:Je[4]||(Je[4]=Qt=>m.value=!1),onConfirm:ie},e.createSlots({_:2},[be.$slots.customFormContent?{name:"customFormContent",fn:e.withCtx(Qt=>[e.renderSlot(be.$slots,"customFormContent",e.normalizeProps(e.guardReactiveProps(Qt)),void 0,!0)]),key:"0"}:void 0]),1032,["flow-id","show","api-config","bkflow-saas-url","member-selector-config"])):e.createCommentVNode("",!0)]),_:3},8,["desc"])}}}),wse=je(yse,[["__scopeId","data-v-fc1f8d98"]]),kse=t=>"default"in t?t.default:"",Cse={FlowView:()=>Promise.resolve().then(()=>eae),FlowEdit:()=>Promise.resolve().then(()=>rae),FlowCreateTask:()=>Promise.resolve().then(()=>_oe),FlowExecute:()=>Promise.resolve().then(()=>Bae),FlowDebug:()=>Promise.resolve().then(()=>Ioe),FlowMockDebug:()=>Promise.resolve().then(()=>are)};exports.BkFlowCanvas=wd;exports.BkFlowModelAccessor=zv;exports.BkFlowNodeAccessor=cc;exports.BuiltinVariableUsageForm=hd;exports.CallLogsViewer=oA;exports.DebugJsonViewer=jc;exports.DebugValueTable=Xv;exports.EmptyException=fn;exports.FlowCreateTask=Ad;exports.FlowDebug=vi;exports.LoadingStatusIcon=fi;exports.MockFieldRenderer=bm;exports.RenderForm=Ni;exports.SegmentTabs=$v;exports._export_sfc=je;exports.bkflowConnectionValidator=b2;exports.buildDebugResultNodeItems=dse;exports.createBkflowPlugin=h2;exports.createBkflowSchema=g2;exports.createExecutionStatusPlugin=Ed;exports.edit=Y2;exports.execute=$2;exports.exportToPipelineTree=jn;exports.formatDebugValue=gi;exports.formatJsonFieldValue=Xw;exports.formatSummaryDuration=rA;exports.getInputFormsFromConstants=Kc;exports.getUniformApiPluginFormValue=kse;exports.getVariableDefaultConfig=Bp;exports.hasOnlySystemOutputs=Cm;exports.importFromPipelineTree=uc;exports.index=wse;exports.index$1=Cse;exports.isBuiltinUsageVariable=Da;exports.isComplexDebugValue=Bd;exports.isDebugAbnormalStatus=lA;exports.isMockableNode=nk;exports.mergeOutputs=Zw;exports.mock=aA;exports.normalizeLogText=J2;exports.normalizePluginOutputItems=Ir;exports.orderDebugRowsByDeclaredKeys=X2;exports.parseJsonFieldValue=Jw;exports.pluginDetailRequest=Xs;exports.provideFilterVariableConfig=Gc;exports.provideFlowApiConfig=il;exports.provideMemberSelectorConfig=Jr;exports.provideSelectPanelConfig=km;exports.resolveExecutionActions=Q2;exports.resolveMockFormControl=pc;exports.shouldShowMockReEditHint=CN;exports.toDebugOutputValueRows=Z2;exports.useFlowApiConfig=xn;exports.useFlowEditApiConfig=gN;exports.useFlowViewApiConfig=hN;exports.useMemberSelectorConfig=qw;exports.usePluginParamMeta=Jv;exports.useSelectPanelConfig=Hc;exports.validatePipelineTree=el;exports.view=G2;