@blueking/bkflow-canvas-editor 1.1.0-beta.38 → 1.1.0-beta.39

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.
@@ -1,4 +1,4 @@
1
- "use strict";var c4=Object.create;var gy=Object.defineProperty;var d4=Object.getOwnPropertyDescriptor;var f4=Object.getOwnPropertyNames;var p4=Object.getPrototypeOf,m4=Object.prototype.hasOwnProperty;var v4=(t,n,o,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let l of f4(n))!m4.call(t,l)&&l!==o&&gy(t,l,{get:()=>n[l],enumerable:!(a=d4(n,l))||a.enumerable});return t};var hy=(t,n,o)=>(o=t!=null?c4(p4(t)):{},v4(n||!t||!t.__esModule?gy(o,"default",{value:t,enumerable:!0}):o,t));const e=require("vue"),vn=require("bkui-vue"),pt=require("./context-DbBT1PuL.cjs"),yn=require("bkui-vue/lib/icon"),eo=require("bkui-vue/lib"),Kt=require("bkui-vue/lib/message"),g4=require("monaco-editor"),h4=require("bkui-vue/lib/button"),b4=require("bkui-vue/lib/dialog");require("axios");const he=require("@vue/shared"),y4=require("xlsx"),k4=require("sortablejs"),na=require("@blueking/flow-canvas"),w4=require("@blueking/bkui-form");require("@blueking/bkui-form/dist/style.css");function d1(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const o in t)if(o!=="default"){const a=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(n,o,a.get?a:{enumerable:!0,get:()=>t[o]})}}return n.default=t,Object.freeze(n)}const zl=d1(g4),Vr=d1(y4),mv=Symbol("flow-api-config"),f1=Symbol("scope-data"),p1=Symbol("select-panel-config"),m1=Symbol("member-selector-config");function Al(t){let n,o;if("fetchFlowDetail"in t)n=t,o=n.scopeData;else{const a=t;n=pt.useFlowApi(a),o=a.scopeData}return e.provide(mv,n),e.provide(f1,o),n}function Vn(){const t=e.inject(mv,null);if(!t){const n="useFlowApiConfig: apiConfig is not provided. Please ensure FlowEdit, FlowView, or FlowCreateTask component is used as parent component.";throw new Error(n)}return t}function C4(){const t=e.inject(f1,null);if(!t){const n="useScopeData: scopeData is not provided. Please ensure FlowEdit, FlowView, or FlowCreateTask component is used as parent component.";throw new Error(n)}return t}function A4(){return Vn()}function E4(){return Vn()}function vv(t){e.provide(p1,t)}function Wi(){return e.inject(p1,null)}function ys(t){t!==void 0&&e.provide(m1,t)}function v1(){return e.inject(m1,{mode:"legacy"})}const g1={startpoint:"开始节点",endpoint:"结束节点",parallelgateway:"并行网关",conditionalparallelgateway:"条件并行网关",branchgateway:"分支网关",exclusivegateway:"分支网关",convergegateway:"汇聚网关",tasknode:"插件节点"},x4={startpoint:{min_in:0,max_in:0,min_out:1,max_out:1,allowed_out:["tasknode","branchgateway","parallelgateway","conditionalparallelgateway"],unique:!0},endpoint:{min_in:1,max_in:1e3,min_out:0,max_out:0,allowed_out:[],unique:!0},tasknode:{min_in:1,max_in:1e3,min_out:1,max_out:1,allowed_out:["tasknode","branchgateway","parallelgateway","conditionalparallelgateway","convergegateway","endpoint"],unique:!1},subflow:{min_in:1,max_in:1e3,min_out:1,max_out:1,allowed_out:["tasknode","branchgateway","parallelgateway","conditionalparallelgateway","convergegateway","endpoint"],unique:!1},branchgateway:{min_in:1,max_in:1e3,min_out:1,max_out:1e3,allowed_out:["tasknode","branchgateway","parallelgateway","conditionalparallelgateway","convergegateway","endpoint"],unique:!1},conditionalparallelgateway:{min_in:1,max_in:1e3,min_out:1,max_out:1e3,allowed_out:["tasknode","branchgateway","parallelgateway","conditionalparallelgateway","convergegateway","endpoint"],unique:!1},parallelgateway:{min_in:1,max_in:1e3,min_out:1,max_out:1e3,allowed_out:["tasknode","branchgateway","parallelgateway","conditionalparallelgateway"],unique:!1},convergegateway:{min_in:1,max_in:1e3,min_out:1,max_out:1,allowed_out:["tasknode","branchgateway","parallelgateway","conditionalparallelgateway","convergegateway","endpoint"],unique:!1}},_4=(t,n)=>{const o=[];return(n??Object.keys(t)).forEach(a=>{const l=t[a]?.component;(!l||!l.code)&&o.push(a)}),{valid:o.length===0,ids:o}},B4=(t,n)=>{let o="";const a=[];return n.forEach(l=>{const r=x4[l.type],i=g1[l.type];let s=0,c=0;t.forEach(f=>{f.source.id===l.id&&(c+=1),f.target.id===l.id&&(s+=1)}),s<r.min_in&&(o=`${i}至少需要${r.min_in}条输入连线`,a.push(l.id)),c<r.min_out&&(o=`${i}至少需要${r.min_out}条输出连线`,a.push(l.id))}),{valid:a.length===0,message:o,ids:a}},S4=t=>{const n=[];let o="";const a={},l=[];let r=[],i=[],s=new Set;const c=(d,v)=>{if(i.includes(d)){s.delete(v);return}i.push(d);const h=a[d]||[];if(h.length>1)s.delete(v),h.forEach(m=>{s.add(m),c(m,m)});else if(h.length===1)if(l.includes(d))r.includes(d)?s.delete(v):(r.push(d),s.size>1&&r.forEach(m=>{const g=a[m][0];c(g,v)}));else{const m=h[0];c(m,v)}},f=Object.keys(t).filter(d=>["ParallelGateway","ConditionalParallelGateway"].includes(t[d].type));for(const d of f){const v=t[d];if(i=[],r=[],s=new Set([d]),c(d,d),s.size>1){const h=v.type.toLowerCase();o=`${g1[h]}缺少对应的汇聚网关`,n.push(d);break}}return{valid:n.length===0,message:o,ids:n}},ml=(t,n={})=>{const{activities:o,gateways:a,line:l,location:r}=t,{requireConfiguredNodeIds:i}=n;if(Object.keys(o).length===0)return bp(!1,"请添加任务节点");const s=_4(o,i);if(!s.valid)return bp(!1,i?"当前节点尚未配置插件":"存在未配置的节点",s.ids);const c=B4(l,r);if(!c.valid)return c;const f=S4(a);return f.valid?bp(!0):f},bp=(t,n="",o=[])=>({valid:t,message:n,ids:o}),_d=new Set(["_result","_loop","_inner_loop"]);function gv(t){const n=(t??[]).map(o=>o?.key).filter(o=>!!o);return n.length>0&&n.every(o=>_d.has(o))}function V4(t,n){return t&&!gv(n)}const N4={string:"bk-input",int:"bk-input-number",integer:"bk-input-number",number:"bk-input-number",json:"json-editor",object:"json-editor",textarea:"bk-textarea",list:"bk-checkbox-group",table:"data-table",radio:"bk-radio-group",bool:"bk-switcher",boolean:"bk-radio-group",select:"bk-select"},by={table:"data-table",select:"bk-select",datetimepicker:"bk-date-picker",textarea:"bk-textarea",radio:"bk-radio-group",checkbox:"bk-checkbox-group",switch:"bk-switcher"};function h1(t,n,o){return Object.values(t).find(a=>a.source_type==="component_outputs"&&Array.isArray(a.source_info?.[n])&&a.source_info[n].includes(o))}function T4(t,n,o){return!!h1(t,n,o)}function D4(t,n,o){return h1(t,n,o)?.key??""}function b1(...t){return Yi(t)}function Yi(t,n={}){const o=new Map;return t.flat().forEach(a=>{!a?.key||!n.includeSystem&&_d.has(a.key)||o.set(a.key,{...o.get(a.key),...a,description:a.description??"",name:a.name||a.key,type:a.type||"string"})}),[...o.values()]}function I4(t){return{label:String(t.name??t.label??t.text??t.id??t.value??""),value:t.id??t.value??t}}function yy(t){return t.map(n=>({label:String(n),value:n}))}function O4(t,n){if(Array.isArray(t.options))return t.options;if(t.options&&typeof t.options=="object"&&Array.isArray(t.options.items))return t.options.items.map(I4);if(Array.isArray(t.enum))return yy(t.enum);if(Array.isArray(n?.enum))return yy(n.enum)}function yp(t,n,o={}){if(!t||!o.includeSystem&&_d.has(t))return null;if(typeof n=="string")return{key:t,name:t,type:n,description:""};if(!n||typeof n!="object")return{key:t,name:t,type:"string",description:""};const a=n,l=a.schema&&typeof a.schema=="object"?a.schema:void 0,r=a["ui:component"]&&typeof a["ui:component"]=="object"?a["ui:component"]:{},i=O4(a,l);return{key:t,name:a.name??a.title??l?.title??t,type:a.type??l?.type??"string",form_type:a.form_type??a.formType??r.name??r.type,description:a.description??a.desc??l?.description??"",options:i,schema:l,default:a.default}}function yl(t,n={}){if(!t)return[];if(Array.isArray(t))return t.map(o=>{if(typeof o=="string")return yp(o,{key:o},n);if(!o||typeof o!="object")return null;const a=o;return yp(a.key??a.id??a.name,a,n)}).filter(o=>!!o);if(typeof t=="object"){const o=t;return o.properties&&typeof o.properties=="object"?yl(o.properties,n):Object.entries(o).map(([a,l])=>yp(a,l,n)).filter(a=>!!a)}return[]}function M4(t,n,o){return t.reduce((a,l)=>(T4(n,o,l.key)?a.globalFields.push(l):a.otherFields.push(l),a),{globalFields:[],otherFields:[]})}function qc(t){return t.key==="time_range_field"?"bk-date-range-picker":t.form_type&&by[t.form_type]?by[t.form_type]:t.type==="string"&&t.options?.length?"bk-select":N4[t.type]??"bk-input"}function y1(t){return t==null||t===""?"":typeof t=="string"?t:JSON.stringify(t,null,2)}function k1(t){if(t===""||t===void 0||t===null)return{valid:!0,value:void 0};if(typeof t!="string")return{valid:!0,value:t};try{return{valid:!0,value:JSON.parse(t)}}catch{return{valid:!1,message:"请输入合法 JSON"}}}function P4(t){if(t&&typeof t=="object"){const n=t,o="value"in n?n.value:"id"in n?n.id:n,a=n.label??n.text??n.name??o;return{label:String(a),value:o}}return{label:String(t),value:t}}function Fe(t,n=new WeakMap){if(t===null||typeof t!="object")return t;if(n.has(t))return n.get(t);if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp)return new RegExp(t.source,t.flags);if(Array.isArray(t)){const l=[];n.set(t,l);for(let r=0;r<t.length;r++)l[r]=Fe(t[r],n);return l}const o=Object.getPrototypeOf(t);if(o!==Object.prototype&&o!==null)return t;const a={};n.set(t,a);for(const l of Object.keys(t))a[l]=Fe(t[l],n);return a}function za(t,n){if(t===n||t!==t&&n!==n)return!0;if(typeof t!="object"||typeof n!="object"||t===null||n===null)return!1;if(t instanceof Date||n instanceof Date)return t instanceof Date&&n instanceof Date&&t.getTime()===n.getTime();if(t instanceof RegExp||n instanceof RegExp)return t instanceof RegExp&&n instanceof RegExp&&t.source===n.source&&t.flags===n.flags;const o=Array.isArray(t);if(o!==Array.isArray(n))return!1;if(o){const r=t,i=n;return r.length!==i.length?!1:r.every((s,c)=>za(s,i[c]))}const a=Object.keys(t),l=Object.keys(n);return a.length!==l.length?!1:a.every(r=>Object.prototype.hasOwnProperty.call(n,r)&&za(t[r],n[r]))}function L4(t,n=0,o={}){const{leading:a=!0,trailing:l=!0}=o;let r=0,i=null,s=null;const c=d=>{r=Date.now(),t(...d)},f=(...d)=>{const v=Date.now();!r&&!a&&(r=v);const h=n-(v-r);if(h<=0||h>n){i&&(clearTimeout(i),i=null),s=null,c(d);return}s=d,!i&&l&&(i=setTimeout(()=>{i=null,r=a?Date.now():0,s&&c(s),s=null},h))};return f.cancel=()=>{i&&clearTimeout(i),i=null,r=0,s=null},f}function R4(t,n){if(!t||!t.length)return[];const o=r=>r?.[n],a=new Set,l=[];for(const r of t){const i=o(r);a.has(i)||(a.add(i),l.push(r))}return l}function hv(t){if(!t)return[];const n=t.outgoing;return Array.isArray(n)?n.filter(Boolean):n?[n]:[]}function sm(t,n){return t.start_event.id===n?t.start_event:t.end_event.id===n?t.end_event:t.activities[n]??t.gateways[n]}function F4(t,n,o){return!!(t.activities[o]&&!n.has(o))}function w1(t,n,o,a=new Set){const l=t.flows[o];if(!l)return[];if(!F4(t,n,l.target))return[{flow:l,line:t.line.find(i=>i.id===l.id)}];if(a.has(l.target))return[];a.add(l.target);const r=sm(t,l.target);return hv(r).flatMap(i=>w1(t,n,i,new Set(a)))}function z4(t,n){const o=new Map,a=new Map;Object.values(n).forEach(l=>{o.set(l.target,[...o.get(l.target)??[],l.id]),a.set(l.source,[...a.get(l.source)??[],l.id])}),t.start_event.outgoing=a.get(t.start_event.id)?.[0]??"",t.end_event.incoming=o.get(t.end_event.id)??[],t.end_event.outgoing="",Object.values(t.activities).forEach(l=>{l.incoming=o.get(l.id)??[],l.outgoing=a.get(l.id)?.[0]??""}),Object.values(t.gateways).forEach(l=>{l.incoming=o.get(l.id)??[];const r=a.get(l.id)??[];l.outgoing=l.type==="ConvergeGateway"?r[0]??"":r})}function j4(t,n){Object.values(t.gateways).forEach(o=>{const a=hv(o).filter(i=>n[i]?.source===o.id),l=new Set(a),r=o.default_condition?.flow_id;o.conditions&&(o.conditions=Object.fromEntries(Object.entries(o.conditions).filter(([i])=>l.has(i)&&i!==r))),r&&!l.has(r)&&delete o.default_condition})}function H4(t,n){Object.entries(n).forEach(([o,a])=>{t.constants[o]&&(t.constants[o]={...t.constants[o],value:a})})}function U4(t,n){const o=Object.fromEntries(Object.entries(t.constants).map(([a,l])=>{const r=Object.fromEntries(Object.entries(l.source_info??{}).filter(([i,s])=>n.has(i)&&s.length>0));return l.source_type==="component_outputs"&&Object.keys(r).length===0?null:[a,{...l,source_info:r}]}).filter(a=>!!a).sort(([,a],[,l])=>a.index-l.index).map(([a,l],r)=>[a,{...l,index:r}]));t.constants=o,t.outputs=t.outputs.filter(a=>!!o[a])}function G4(t,n){const o=new Set(n.filter(s=>t.activities[s])),a=new Set([t.start_event.id,t.end_event.id,...Object.keys(t.gateways),...o]),l={},r=[],i=(s,c,f)=>{const d=sm(t,s),v=t.flows[c];if(!d||!v||!a.has(f.flow.target))return;const h=v.id;if(l[h])return;l[h]={...v,id:h,source:s,target:f.flow.target};const m=t.line.find(k=>k.id===v.id),g=f.line;m&&g&&r.push({id:h,source:{...m.source,id:s},target:{...g.target,id:f.flow.target}})};return[...a].forEach(s=>{const c=sm(t,s);hv(c).forEach(f=>{w1(t,o,f).forEach(d=>{i(s,f,d)})})}),t.activities=Object.fromEntries(Object.entries(t.activities).filter(([s])=>o.has(s))),t.location=t.location.filter(s=>a.has(s.id)),t.flows=l,t.line=r,z4(t,l),j4(t,l),U4(t,o),t}function C1(t,n,o){const a=Fe(t);return H4(a,o),G4(a,n)}function A1(t){return!!(t&&t.type==="ServiceActivity"&&t.component?.code)}function E1(t){return t?Object.values(t.activities??{}).filter(A1).map(n=>n.id):[]}function x1(t){return t?Object.values(t.activities??{}).filter(n=>!n.component?.code).map(n=>n.id):[]}function _1(){const t=e.ref("edit"),n=e.shallowRef(new Set),o=e.shallowRef({}),a=e.ref(),l=e.ref(),r=e.ref(),i=e.ref(),s=e.ref(),c=e.shallowRef({}),f=e.ref(!1),d=e.ref(0);function v(F){return n.value.has(F)}function h(F){return!!o.value[F]}function m(F){return F.length>0&&F.every(O=>n.value.has(O))}function g(F){n.value=new Set(F)}function k(F){const O=new Set(n.value);O.has(F)?O.delete(F):O.add(F),n.value=O}function y(F){n.value=new Set(F)}function A(){n.value=new Set}function _(F){if(m(F)){A();return}y(F)}function w(F){a.value=F}function b(){a.value=void 0}function C(F){o.value={...o.value,[F.nodeId]:F}}function E(F){const O={...o.value};delete O[F],o.value=O}function x(){o.value={}}function S(F){t.value="mock-config",a.value=void 0,l.value=void 0,r.value=void 0,i.value=void 0,s.value=void 0,c.value={},f.value=!1,d.value=0,y(F)}function V(F){t.value="mock-running",r.value=F.id,i.value=F.status??"RUNNING",s.value=Date.now(),c.value=F.nodeStates??{},f.value=!0,a.value=void 0,d.value=0,l.value=j(F.mockableIds).selectedIds[0]}function N(F){l.value=F}function T(F){i.value=F}function z(F){c.value=F}function j(F){const O=new Set(F),P=[...n.value].filter(W=>O.has(W)),M=P.filter(W=>o.value[W]),H=Object.fromEntries(M.map(W=>[W,o.value[W].outputs]));return{selectedIds:P,mockNodeIds:M,mockData:H}}function R(F){if(F.length<1)return;const O=F[d.value%F.length];return d.value+=1,l.value=O,O}function L(){t.value="edit",n.value=new Set,o.value={},a.value=void 0,l.value=void 0,r.value=void 0,i.value=void 0,s.value=void 0,c.value={},f.value=!1,d.value=0}return{stage:t,selectedNodeIds:n,mockConfigs:o,activeConfigNodeId:a,activeRunningNodeId:l,taskId:r,taskStatus:i,taskStartedAt:s,nodeStates:c,resultDrawerOpen:f,isMockSelected:v,hasMockConfig:h,isAllMockNodesSelected:m,selectMockNodes:g,toggleMockSelected:k,selectAllMockNodes:y,clearAllMockNodes:A,toggleSelectAllMockNodes:_,openConfigNode:w,closeConfigNode:b,saveMockConfig:C,clearMockConfig:E,clearAllMockConfigs:x,enterConfig:S,enterRunning:V,setActiveRunningNode:N,setTaskStatus:T,setNodeStates:z,buildRunnableSelection:j,locateNextFailedNode:R,reset:L}}const W4={key:0,class:"container-layout-header"},Y4={class:"title-area"},q4={class:"title"},Q4={class:"desc"},$4={class:"container-layout-main"},K4={class:"container-main-wrapper"},Z4=e.defineComponent({__name:"index",props:{title:{default:""},desc:{default:""},showBackIcon:{type:Boolean,default:!1},showEditIcon:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!0}},emits:["back","edit"],setup(t,{emit:n}){e.useSlots();const o=t,a=n,l=()=>{a("back")},r=()=>{a("edit")};return(i,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["bkflow-canvans-editor-container-layout",{"is-headerless":!o.showHeader}])},[o.showHeader?(e.openBlock(),e.createElementBlock("section",W4,[e.renderSlot(i.$slots,"header",{},()=>[e.createElementVNode("div",Y4,[o.showBackIcon?(e.openBlock(),e.createBlock(e.unref(yn.ArrowsLeft),{key:0,class:"back-btn",onClick:l})):e.createCommentVNode("",!0),e.createElementVNode("h3",q4,e.toDisplayString(o.title),1),e.createElementVNode("p",Q4,e.toDisplayString(o.desc),1),o.showEditIcon?(e.openBlock(),e.createBlock(e.unref(yn.EditLine),{key:1,class:"edit-btn",onClick:r})):e.createCommentVNode("",!0)])],!0),e.renderSlot(i.$slots,"extend",{},void 0,!0)])):e.createCommentVNode("",!0),e.createElementVNode("section",$4,[e.createElementVNode("div",K4,[e.renderSlot(i.$slots,"default",{},void 0,!0)])])],2))}}),He=(t,n)=>{const o=t.__vccOpts||t;for(const[a,l]of n)o[a]=l;return o},qi=He(Z4,[["__scopeId","data-v-bdd7ab74"]]),B1=Symbol("filterVariableConfig");function Bd(t){t!==void 0&&e.provide(B1,t)}function Qi(){return e.inject(B1,null)}const Qc=t=>!!t?.retrievalFilterComponent&&!!t.getFields&&!!t.getValues;function ky(t){if(!t)return"";const n=t.sourceNodeComponent?.data?.query_config?.value,o=(Array.isArray(n?.query_configs)?n.query_configs:[]).map(a=>a.metric_id||`${a.data_source_label}.${a.table}.${a.metrics?.[0]?.field}`).filter(a=>a&&!a.includes("undefined")).join("");return`${t.sourceNodeId}\0${t.sourceFieldKey}\0${t.sourceNodeComponent?"1":"0"}\0${o}`}function S1(t){const n=Qi(),o=e.shallowRef([]),a=e.ref("");let l="";return e.watch(()=>ky(t.value),async()=>{const r=t.value;if(!n||!r)return;const i=ky(r);i!==l&&(l=i,o.value=[]),a.value="";try{const s=await n.getFields(r);s.length&&(o.value=s)}catch(s){a.value=s?.message||"条件字段加载失败"}},{immediate:!0}),{fields:o,error:a}}const V1=Symbol("filterSourceNodeName");function X4(t){e.provide(V1,t)}function bv(){return e.inject(V1,void 0)}const N1=Symbol("filterSourceNodeComponent");function yv(t){e.provide(N1,t)}function kv(){return e.inject(N1,void 0)}const Ma="__ALL__",J4=1,wv=()=>({schema_version:J4,dimensions:[Ma]}),kl=t=>t?.custom_type==="filter",eT=t=>/^\$\{[\w.]+\}$/.test(t),Cv=t=>!t||t.length===0||t.includes(Ma),tT=(t,n)=>{const o=[...new Set(n)];return o.length===0?[Ma]:!o.includes(Ma)||o.length===1?o:t?.includes(Ma)?o.filter(a=>a!==Ma):[Ma]},nT=t=>{const n=a=>typeof a=="string"?a:typeof a=="number"?Number.isFinite(a)?a:null:typeof a=="boolean"?String(a):null;if(Array.isArray(t))return t.map(n).filter(a=>a!==null);if(t==null||t==="")return[];const o=n(t);return o===null?[]:[o]},oT=t=>{if(!t||typeof t!="object"||Array.isArray(t))return;const n=Object.entries(t).filter(([,o])=>o!==void 0);return n.length>0?Object.fromEntries(n):void 0},$i=t=>Array.isArray(t)?t.reduce((n,o)=>{if(!o||typeof o!="object"||Array.isArray(o))return n;const a=o,l=typeof a.key=="string"?a.key.trim():"";if(!l)return n;const r=a.operator??a.method,i=oT(a.options);return n.push({key:l,operator:typeof r=="string"?r:"",value:nT(a.value),...i?{options:i}:{}}),n},[]):[],T1=t=>$i(t).filter(n=>!eT(n.key)),D1=(t,n={})=>{const o=[];if(t.length===0)return n.required&&o.push({code:"required"}),{valid:o.length===0,errors:o};const a=Cv(n.dimensions);return t.forEach((l,r)=>{(!l.key||!l.operator||l.value.length===0)&&o.push({code:"incomplete_condition",index:r,key:l.key}),!a&&!n.dimensions?.includes(l.key)&&o.push({code:"dimension_out_of_range",index:r,key:l.key})}),{valid:o.length===0,errors:o}},aT=t=>{if(!kl(t))return null;const n=Object.entries(t?.source_info||{});if(n.length!==1)return null;const[o,a]=n[0],l=Array.isArray(a)?a[0]:void 0;return!o||!l?null:{nodeId:o,fieldKey:l}},Sd=t=>kl(t)?t?.meta?.filter:void 0,lT=(t,n,o={})=>{const a=Sd(t)||wv(),l={...o.nodeName?{node_name:o.nodeName}:{},...o.fieldName?{field_name:o.fieldName}:{}};return{...t,source_info:{[n.nodeId]:[n.fieldKey]},meta:{...t.meta,filter:{...a,...Object.keys(l).length>0?{source_snapshot:l}:{}}}}},I1=t=>t.length===0?"--":t.map(n=>`${n.key} ${n.operator} ${n.value.join(", ")}`.trim()).join(";"),Av=(t,n)=>{const o=aT(t);if(!o)return null;const a=Sd(t)?.source_snapshot;return{...o,nodeName:n?.(o.nodeId)||a?.node_name||o.nodeId,fieldName:a?.field_name||o.fieldKey}},wy=t=>{const n=(t||"").trim();return n.startsWith("${")&&n.endsWith("}")?n.slice(2,-1):n},Ta=(t,n)=>({ok:!1,reason:t,message:n}),rT=(t,n)=>{if(!n.editable)return Ta("not-editable","当前为只读态,无法创建全局变量");const{defaultCustomType:o,keyword:a,onCreated:l}=t,{filterContext:r}=t,{selectRelatedContext:i}=t;if(i&&o!=="select")return Ta("select-context-unexpected","selectRelatedContext 仅适用于 defaultCustomType 为 select 的请求");if(o!=="filter"){if(r)return Ta("filter-context-unexpected","filterContext 仅适用于 defaultCustomType 为 filter 的请求");const v={keyword:wy(a)};o&&(v.defaultCustomType=o);const{cursorIndex:h}=t;if(h!==void 0&&(v.cursorIndex=h),l&&(v.onCreated=l),i){const m=i.sourceNodeId?.trim(),g=i.sourceFieldKey?.trim();if(!m||!g)return Ta("select-context-invalid","selectRelatedContext 缺少 sourceNodeId 或 sourceFieldKey");if(n.hasNode&&!n.hasNode(m))return Ta("select-node-not-found",`关联节点不存在于当前流程:${m}`);v.selectRelatedContext={...i,sourceNodeId:m,sourceFieldKey:g}}return{ok:!0,request:v}}if(!r)return Ta("filter-context-missing","创建 filter 变量必须提供 filterContext(关联节点与关联字段)");const s=r.sourceNodeId?.trim(),c=r.sourceFieldKey?.trim();if(!s||!c)return Ta("filter-context-invalid","filterContext 缺少 sourceNodeId 或 sourceFieldKey");if(n.hasNode&&!n.hasNode(s))return Ta("filter-node-not-found",`关联节点不存在于当前流程:${s}`);if(!n.filterAvailable)return Ta("filter-unavailable","宿主未注入 filterVariableConfig,无法创建复合条件选择变量");const f={keyword:wy(a),defaultCustomType:"filter",filterContext:{...r,sourceNodeId:s,sourceFieldKey:c}},{initialValue:d}=t;if(d){const v=T1(d);v.length&&(f.initialValue=v)}return l&&(f.onCreated=l),{ok:!0,request:f}};function Ga(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Ac={exports:{}},sT=Ac.exports,Cy;function iT(){return Cy||(Cy=1,(function(t,n){(function(o,a){t.exports=a()})(sT,(function(){var o=1e3,a=6e4,l=36e5,r="millisecond",i="second",s="minute",c="hour",f="day",d="week",v="month",h="quarter",m="year",g="date",k="Invalid Date",y=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,A=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,_={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(R){var L=["th","st","nd","rd"],F=R%100;return"["+R+(L[(F-20)%10]||L[F]||L[0])+"]"}},w=function(R,L,F){var O=String(R);return!O||O.length>=L?R:""+Array(L+1-O.length).join(F)+R},b={s:w,z:function(R){var L=-R.utcOffset(),F=Math.abs(L),O=Math.floor(F/60),P=F%60;return(L<=0?"+":"-")+w(O,2,"0")+":"+w(P,2,"0")},m:function R(L,F){if(L.date()<F.date())return-R(F,L);var O=12*(F.year()-L.year())+(F.month()-L.month()),P=L.clone().add(O,v),M=F-P<0,H=L.clone().add(O+(M?-1:1),v);return+(-(O+(F-P)/(M?P-H:H-P))||0)},a:function(R){return R<0?Math.ceil(R)||0:Math.floor(R)},p:function(R){return{M:v,y:m,w:d,d:f,D:g,h:c,m:s,s:i,ms:r,Q:h}[R]||String(R||"").toLowerCase().replace(/s$/,"")},u:function(R){return R===void 0}},C="en",E={};E[C]=_;var x="$isDayjsObject",S=function(R){return R instanceof z||!(!R||!R[x])},V=function R(L,F,O){var P;if(!L)return C;if(typeof L=="string"){var M=L.toLowerCase();E[M]&&(P=M),F&&(E[M]=F,P=M);var H=L.split("-");if(!P&&H.length>1)return R(H[0])}else{var W=L.name;E[W]=L,P=W}return!O&&P&&(C=P),P||!O&&C},N=function(R,L){if(S(R))return R.clone();var F=typeof L=="object"?L:{};return F.date=R,F.args=arguments,new z(F)},T=b;T.l=V,T.i=S,T.w=function(R,L){return N(R,{locale:L.$L,utc:L.$u,x:L.$x,$offset:L.$offset})};var z=(function(){function R(F){this.$L=V(F.locale,null,!0),this.parse(F),this.$x=this.$x||F.x||{},this[x]=!0}var L=R.prototype;return L.parse=function(F){this.$d=(function(O){var P=O.date,M=O.utc;if(P===null)return new Date(NaN);if(T.u(P))return new Date;if(P instanceof Date)return new Date(P);if(typeof P=="string"&&!/Z$/i.test(P)){var H=P.match(y);if(H){var W=H[2]-1||0,X=(H[7]||"0").substring(0,3);return M?new Date(Date.UTC(H[1],W,H[3]||1,H[4]||0,H[5]||0,H[6]||0,X)):new Date(H[1],W,H[3]||1,H[4]||0,H[5]||0,H[6]||0,X)}}return new Date(P)})(F),this.init()},L.init=function(){var F=this.$d;this.$y=F.getFullYear(),this.$M=F.getMonth(),this.$D=F.getDate(),this.$W=F.getDay(),this.$H=F.getHours(),this.$m=F.getMinutes(),this.$s=F.getSeconds(),this.$ms=F.getMilliseconds()},L.$utils=function(){return T},L.isValid=function(){return this.$d.toString()!==k},L.isSame=function(F,O){var P=N(F);return this.startOf(O)<=P&&P<=this.endOf(O)},L.isAfter=function(F,O){return N(F)<this.startOf(O)},L.isBefore=function(F,O){return this.endOf(O)<N(F)},L.$g=function(F,O,P){return T.u(F)?this[O]:this.set(P,F)},L.unix=function(){return Math.floor(this.valueOf()/1e3)},L.valueOf=function(){return this.$d.getTime()},L.startOf=function(F,O){var P=this,M=!!T.u(O)||O,H=T.p(F),W=function(me,te){var re=T.w(P.$u?Date.UTC(P.$y,te,me):new Date(P.$y,te,me),P);return M?re:re.endOf(f)},X=function(me,te){return T.w(P.toDate()[me].apply(P.toDate("s"),(M?[0,0,0,0]:[23,59,59,999]).slice(te)),P)},G=this.$W,Q=this.$M,ne=this.$D,ae="set"+(this.$u?"UTC":"");switch(H){case m:return M?W(1,0):W(31,11);case v:return M?W(1,Q):W(0,Q+1);case d:var $=this.$locale().weekStart||0,K=(G<$?G+7:G)-$;return W(M?ne-K:ne+(6-K),Q);case f:case g:return X(ae+"Hours",0);case c:return X(ae+"Minutes",1);case s:return X(ae+"Seconds",2);case i:return X(ae+"Milliseconds",3);default:return this.clone()}},L.endOf=function(F){return this.startOf(F,!1)},L.$set=function(F,O){var P,M=T.p(F),H="set"+(this.$u?"UTC":""),W=(P={},P[f]=H+"Date",P[g]=H+"Date",P[v]=H+"Month",P[m]=H+"FullYear",P[c]=H+"Hours",P[s]=H+"Minutes",P[i]=H+"Seconds",P[r]=H+"Milliseconds",P)[M],X=M===f?this.$D+(O-this.$W):O;if(M===v||M===m){var G=this.clone().set(g,1);G.$d[W](X),G.init(),this.$d=G.set(g,Math.min(this.$D,G.daysInMonth())).$d}else W&&this.$d[W](X);return this.init(),this},L.set=function(F,O){return this.clone().$set(F,O)},L.get=function(F){return this[T.p(F)]()},L.add=function(F,O){var P,M=this;F=Number(F);var H=T.p(O),W=function(Q){var ne=N(M);return T.w(ne.date(ne.date()+Math.round(Q*F)),M)};if(H===v)return this.set(v,this.$M+F);if(H===m)return this.set(m,this.$y+F);if(H===f)return W(1);if(H===d)return W(7);var X=(P={},P[s]=a,P[c]=l,P[i]=o,P)[H]||1,G=this.$d.getTime()+F*X;return T.w(G,this)},L.subtract=function(F,O){return this.add(-1*F,O)},L.format=function(F){var O=this,P=this.$locale();if(!this.isValid())return P.invalidDate||k;var M=F||"YYYY-MM-DDTHH:mm:ssZ",H=T.z(this),W=this.$H,X=this.$m,G=this.$M,Q=P.weekdays,ne=P.months,ae=P.meridiem,$=function(te,re,ue,pe){return te&&(te[re]||te(O,M))||ue[re].slice(0,pe)},K=function(te){return T.s(W%12||12,te,"0")},me=ae||function(te,re,ue){var pe=te<12?"AM":"PM";return ue?pe.toLowerCase():pe};return M.replace(A,(function(te,re){return re||(function(ue){switch(ue){case"YY":return String(O.$y).slice(-2);case"YYYY":return T.s(O.$y,4,"0");case"M":return G+1;case"MM":return T.s(G+1,2,"0");case"MMM":return $(P.monthsShort,G,ne,3);case"MMMM":return $(ne,G);case"D":return O.$D;case"DD":return T.s(O.$D,2,"0");case"d":return String(O.$W);case"dd":return $(P.weekdaysMin,O.$W,Q,2);case"ddd":return $(P.weekdaysShort,O.$W,Q,3);case"dddd":return Q[O.$W];case"H":return String(W);case"HH":return T.s(W,2,"0");case"h":return K(1);case"hh":return K(2);case"a":return me(W,X,!0);case"A":return me(W,X,!1);case"m":return String(X);case"mm":return T.s(X,2,"0");case"s":return String(O.$s);case"ss":return T.s(O.$s,2,"0");case"SSS":return T.s(O.$ms,3,"0");case"Z":return H}return null})(te)||H.replace(":","")}))},L.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},L.diff=function(F,O,P){var M,H=this,W=T.p(O),X=N(F),G=(X.utcOffset()-this.utcOffset())*a,Q=this-X,ne=function(){return T.m(H,X)};switch(W){case m:M=ne()/12;break;case v:M=ne();break;case h:M=ne()/3;break;case d:M=(Q-G)/6048e5;break;case f:M=(Q-G)/864e5;break;case c:M=Q/l;break;case s:M=Q/a;break;case i:M=Q/o;break;default:M=Q}return P?M:T.a(M)},L.daysInMonth=function(){return this.endOf(v).$D},L.$locale=function(){return E[this.$L]},L.locale=function(F,O){if(!F)return this.$L;var P=this.clone(),M=V(F,O,!0);return M&&(P.$L=M),P},L.clone=function(){return T.w(this.$d,this)},L.toDate=function(){return new Date(this.valueOf())},L.toJSON=function(){return this.isValid()?this.toISOString():null},L.toISOString=function(){return this.$d.toISOString()},L.toString=function(){return this.$d.toUTCString()},R})(),j=z.prototype;return N.prototype=j,[["$ms",r],["$s",i],["$m",s],["$H",c],["$W",f],["$M",v],["$y",m],["$D",g]].forEach((function(R){j[R[1]]=function(L){return this.$g(L,R[0],R[1])}})),N.extend=function(R,L){return R.$i||(R(L,z,N),R.$i=!0),N},N.locale=V,N.isDayjs=S,N.unix=function(R){return N(1e3*R)},N.en=E[C],N.Ls=E,N.p={},N}))})(Ac)),Ac.exports}var uT=iT();const dt=Ga(uT),cT=e.defineComponent({__name:"records-table",props:{data:{}},setup(t){const n=t;return(o,a)=>{const l=e.resolveComponent("bk-table-column"),r=e.resolveComponent("bk-table");return e.openBlock(),e.createBlock(r,{data:n.data,border:["outer"]},{default:e.withCtx(()=>[e.createVNode(l,{label:"操作时间",prop:"operate_date","min-width":200}),e.createVNode(l,{label:"操作名称",prop:"operate_type_name"}),e.createVNode(l,{label:"操作来源",prop:"operate_source_name"}),e.createVNode(l,{label:"操作人",prop:"operator"})]),_:1},8,["data"])}}}),dT={class:"operate-records-slider"},fT=e.defineComponent({__name:"index",props:{show:{type:Boolean},flowId:{}},emits:["close","update:show"],setup(t,{emit:n}){const o=t,a=Vn(),l=n,r=e.shallowRef([]),i=e.shallowRef(!1);e.watch(()=>o.show,f=>{f&&s()});const s=async()=>{if(!a?.fetchFlowOperateRecord){console.warn("fetchFlowOperateRecord is not provided in api");return}i.value=!0;try{const f=await a.fetchFlowOperateRecord(o.flowId);f.data.data.forEach(d=>d.operate_date=dt(d.operate_date).format("YYYY-MM-DD HH:mm:ss")),r.value=f.data.data}catch(f){console.error(f)}finally{i.value=!1}},c=()=>{l("close"),l("update:show",!1)};return(f,d)=>{const v=e.resolveComponent("bk-sideslider"),h=e.resolveDirective("bk-loading");return e.openBlock(),e.createBlock(v,{title:"操作记录","is-show":o.show,width:800,"esc-close":!1,"before-close":c},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",dT,[e.createVNode(cT,{data:r.value},null,8,["data"])])),[[h,{loading:i.value}]])]),_:1},8,["is-show"])}}}),pT=He(fT,[["__scopeId","data-v-66a242e2"]]),im=()=>({custom_type:"input",desc:"",index:0,key:"",name:"",show_type:"show",source_info:{},source_tag:"input.input",source_type:"custom",validation:"^.+$",pre_render_mako:!1,value:"",version:"legacy"}),mT={class:"search-select-wrapper"},ks=e.defineComponent({__name:"index",props:{modelValue:{default:()=>[]},placeholder:{default:"请选择"},options:{default:()=>[]},getMenuList:{type:Function,default:void 0}},emits:["update:modelValue","change"],setup(t,{emit:n}){const o=t,a=n,l=e.shallowRef([...o.modelValue]);e.watch(()=>o.modelValue,i=>{l.value=[...i]},{deep:!0});const r=i=>{l.value=i,a("update:modelValue",i),a("change",i)};return(i,s)=>{const c=e.resolveComponent("bk-search-select");return e.openBlock(),e.createElementBlock("div",mT,[e.createVNode(c,{modelValue:l.value,"onUpdate:modelValue":[s[0]||(s[0]=f=>l.value=f),r],"value-behavior":"need-key",data:o.options,placeholder:o.placeholder,uniqueSelect:!0,clearable:!0,"get-menu-list":o.getMenuList},null,8,["modelValue","data","placeholder","get-menu-list"])])}}}),vT={class:"operate-wrapper"},gT={class:"btns-list"},hT={class:"batch-delete-tooltip"},bT={key:0,class:"filter-tabs"},yT=["onClick"],kT={class:"tab-count"},wT={class:"search-wrapper"},CT={class:"variable-table-wrapper"},AT={class:"var-check-cell"},ET={class:"cell-text name-cell"},xT=["onClick"],_T={class:"key-cell"},BT=["onClick"],ST=["onClick"],VT={key:1,class:"reference-text"},NT={class:"table-row-actions"},TT=["onClick"],DT=["onClick"],IT=e.defineComponent({__name:"global-variable-table",props:{constants:{default:()=>({})},systemVariables:{default:()=>[]},editable:{type:Boolean,default:!0},outputs:{default:()=>[]},customVariableTypes:{default:()=>[]},variablesReference:{default:()=>({defined:{},nodefined:{}})},narrow:{type:Boolean,default:!1},selectedKey:{default:""}},emits:["create","edit","clone","delete","outputChange","updateConstants","select-detail","reference-click"],setup(t,{emit:n}){const o=t,a=n,l=e.ref([]),r=e.ref("all"),i=e.ref([]),s=new Set(["system","space"]),c=O=>!!O&&s.has(O.source_type),f=e.computed(()=>{const O=Object.values(o.constants).sort((P,M)=>P.index-M.index);return[...o.systemVariables,...O]}),d=e.computed(()=>{const O=f.value;return[{value:"all",label:"全部",count:O.length},{value:"system",label:"系统",count:O.filter(P=>P.source_type==="system").length},{value:"space",label:"空间",count:O.filter(P=>P.source_type==="space").length},{value:"custom",label:"自定义",count:O.filter(P=>P.source_type==="custom").length},{value:"component_inputs",label:"节点输入",count:O.filter(P=>P.source_type==="component_inputs").length},{value:"component_outputs",label:"节点输出",count:O.filter(P=>P.source_type==="component_outputs").length}]}),v=e.computed(()=>[{id:"name",name:"名称"},{id:"key",name:"Key"},{id:"custom_type",name:"组件类型"}]),h=e.computed(()=>{let O=f.value;return r.value!=="all"&&(O=O.filter(P=>P.source_type===r.value)),i.value.length>0&&(O=O.filter(P=>i.value.every(M=>{const H=M.id,W=(M.values||[]).map(X=>String(X.id??X.name??"").toLowerCase());return W.length===0?!0:H==="name"?W.some(X=>String(P.name).toLowerCase().includes(X)):H==="key"?W.some(X=>String(P.key).toLowerCase().includes(X)):H==="custom_type"?W.some(X=>String(P.custom_type||"").toLowerCase().includes(X)):!0}))),O}),m=e.computed(()=>Object.values(o.constants).filter(O=>!c(O)).map(O=>O.key)),g=e.computed(()=>l.value.filter(O=>m.value.includes(O))),k={cellFn:O=>{if(O.index===0){const P=g.value.length,M=m.value.length,H=M>0&&P===M,W=P>0&&P<M;return e.createVNode("div",{class:"thead-checkbox-cell"},[e.createVNode(e.resolveComponent("bk-checkbox"),{modelValue:H,indeterminate:W,disabled:!o.editable||M===0,onChange:x},null)])}if(["show_type","outputs"].includes(O.column.prop)){const P={content:O.column.prop==="show_type"?"配置为「显示」可在执行时做为任务入参使用,配置为「隐藏」则仅能在流程内部使用":"该变量将作为该流程模板的输出结果,被其他流程当作子流程节点引用时可使用",placement:"top"};return e.withDirectives(e.createVNode("span",{class:"thead-with-desc"},[O.column.label]),[[e.resolveDirective("bk-tooltips"),P]])}return O.column.label}},y=O=>{switch(O.source_type){case"system":return"系统";case"space":return"空间";case"custom":return"自定义";case"component_inputs":return"节点输入";case"component_outputs":return"节点输出";default:return"--"}},A=O=>{switch(O.source_type){case"system":return;case"space":return;case"custom":return"info";case"component_inputs":return"warning";case"component_outputs":return"success";default:return}},_=O=>O.source_type==="system"||O.source_type==="space"||O.source_type==="component_inputs"||O.source_type==="component_outputs"?"--":O.custom_type||"--",w=O=>{const P=O.filter(W=>V(W)>0).length,M=O.length>1?`确认删除所选的 ${O.length} 个变量?`:`确认删除全局变量"${O[0]}"?`,H=P>0?`其中 ${P} 个变量已被引用,删除后请及时检查并更新节点配置`:"若该变量被节点引用,请及时检查并更新节点配置";eo.InfoBox({title:M,content:H,width:450,headerAlign:"center",footerAlign:"center",confirmText:"确认",cancelText:"取消",onConfirm:()=>{const W={...o.constants};O.slice().forEach(X=>{delete W[X];const G=l.value.indexOf(X);G!==-1&&l.value.splice(G,1)}),l.value=l.value.filter(X=>!O.includes(X)),a("updateConstants",W),a("delete",O)},onCancel:()=>{}})},b=O=>{a("select-detail",O)},C=(O,P)=>{if(!o.narrow)return;const M=O.target;M instanceof Element&&M.closest(".bk-checkbox")||b(P)},E=O=>{a("reference-click",O)},x=O=>{O?l.value=[...m.value]:l.value=[]},S=(O,P)=>{if(!m.value.includes(P))return;const M=l.value.indexOf(P);O?M===-1&&l.value.push(P):M!==-1&&l.value.splice(M,1)},V=O=>{if(o.variablesReference?.defined&&O in o.variablesReference.defined){const{activities:P,conditions:M,constants:H}=o.variablesReference.defined[O];return(P?.length||0)+(M?.length||0)+(H?.length||0)}return 0},N=()=>{const O=[...g.value];O.length!==0&&w(O)},T=O=>{c(O)||w([O.key])},z=O=>m.value.includes(O.key),j=O=>{const P=document.createElement("textarea");P.value=O.toString(),document.body.appendChild(P),P.select(),document.execCommand("copy"),document.body.removeChild(P),eo.Message({theme:"success",message:"复制成功"})},R=(O,P)=>{if(c(O))return;const M={...o.constants};M[O.key]={...O,show_type:P?"show":"hide"},a("updateConstants",M)},L=(O,P)=>{c(O)||a("outputChange",O.key,P)},F=O=>[o.narrow?"is-detail-clickable-row":"",o.selectedKey&&O.key===o.selectedKey?"is-selected-row":""].filter(Boolean).join(" ");return(O,P)=>{const M=e.resolveComponent("bk-button"),H=e.resolveComponent("bk-checkbox"),W=e.resolveComponent("bk-table-column"),X=e.resolveComponent("bk-overflow-title"),G=e.resolveComponent("bk-tag"),Q=e.resolveComponent("bk-switcher"),ne=e.resolveComponent("bk-popover"),ae=e.resolveComponent("bk-table"),$=e.resolveDirective("bk-tooltips");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["bkflow-variable-table",{"is-narrow":o.narrow}])},[e.createElementVNode("div",vT,[e.createElementVNode("div",gT,[e.createVNode(M,{theme:"primary",disabled:!o.editable,onClick:P[0]||(P[0]=K=>a("create"))},{default:e.withCtx(()=>[...P[5]||(P[5]=[e.createTextVNode("新建",-1)])]),_:1},8,["disabled"]),e.withDirectives((e.openBlock(),e.createElementBlock("span",hT,[e.createVNode(M,{disabled:!o.editable||g.value.length===0,onClick:N},{default:e.withCtx(()=>[...P[6]||(P[6]=[e.createTextVNode(" 批量删除 ",-1)])]),_:1},8,["disabled"])])),[[$,{content:"请先选择需要删除的变量",disabled:g.value.length>0,placement:"top"}]])]),o.narrow?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",bT,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,K=>(e.openBlock(),e.createElementBlock("div",{key:K.value,class:e.normalizeClass(["filter-tab",{active:r.value===K.value}]),onClick:me=>r.value=K.value},[e.createTextVNode(e.toDisplayString(K.label)+" ",1),e.createElementVNode("span",kT,"("+e.toDisplayString(K.count)+")",1)],10,yT))),128))])),e.createElementVNode("div",wT,[e.createVNode(ks,{modelValue:i.value,"onUpdate:modelValue":P[1]||(P[1]=K=>i.value=K),placeholder:"搜索名称、Key、组件类型",options:v.value},null,8,["modelValue","options"])])]),e.createElementVNode("div",CT,[e.createVNode(ae,{data:h.value,border:["outer"],thead:k,"row-class":F,"max-height":"100%",onRowClick:C},{default:e.withCtx(()=>[e.createVNode(W,{align:"center","min-width":40,width:40},{default:e.withCtx(({row:K})=>[e.createElementVNode("div",AT,[e.withDirectives(e.createVNode(H,{"model-value":l.value.includes(K.key),disabled:!o.editable||!z(K),onChange:me=>S(me,K.key)},null,8,["model-value","disabled","onChange"]),[[$,{content:"该变量不支持批量操作",disabled:z(K),placement:"top"}]])])]),_:1}),e.createVNode(W,{label:"名称",prop:"name","min-width":140},{default:e.withCtx(({row:K})=>[e.createElementVNode("div",ET,[e.createVNode(X,{type:"tips"},{default:e.withCtx(()=>[e.createElementVNode("span",{class:"name-link",onClick:e.withModifiers(me=>b(K),["stop"])},e.toDisplayString(K.name),9,xT)]),_:2},1024)])]),_:1}),o.narrow?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(W,{label:"Key",prop:"key","min-width":160},{default:e.withCtx(({row:K})=>[e.createElementVNode("div",_T,[e.withDirectives(e.createVNode(e.unref(yn.CopyShape),{class:"key-copy-icon",onClick:e.withModifiers(me=>j(K.key),["stop"])},null,8,["onClick"]),[[$,{content:"复制",placement:"top"}]]),e.createVNode(X,{class:"key-overflow-title",type:"tips"},{default:e.withCtx(()=>[e.createElementVNode("span",{class:"key-text",onClick:e.withModifiers(me=>j(K.key),["stop"])},e.toDisplayString(K.key),9,BT)]),_:2},1024)])]),_:1}),e.createVNode(W,{label:"分类",prop:"source_type",width:100},{default:e.withCtx(({row:K})=>[e.createVNode(G,{theme:A(K)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y(K)),1)]),_:2},1032,["theme"])]),_:1}),e.createVNode(W,{label:"组件类型",prop:"custom_type",width:110},{default:e.withCtx(({row:K})=>[e.createVNode(G,{class:"component-type-tag"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(_(K)),1)]),_:2},1024)]),_:1}),e.createVNode(W,{label:"引用",prop:"reference",width:70},{default:e.withCtx(({row:K})=>[V(K.key)>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:"reference-link",onClick:e.withModifiers(me=>E(K),["stop"])},e.toDisplayString(V(K.key)),9,ST)):(e.openBlock(),e.createElementBlock("span",VT,e.toDisplayString(V(K.key)),1))]),_:1}),e.createVNode(W,{label:"入参",prop:"show_type",width:80},{default:e.withCtx(({row:K})=>[e.createVNode(Q,{theme:"primary",size:"small",value:K.show_type==="show",disabled:!o.editable||c(K)||K.source_type==="component_outputs",onClick:P[2]||(P[2]=e.withModifiers(()=>{},["stop"])),onChange:me=>R(K,me)},null,8,["value","disabled","onChange"])]),_:1}),e.createVNode(W,{label:"输出",prop:"outputs",width:80},{default:e.withCtx(({row:K})=>[e.createVNode(Q,{theme:"primary",size:"small",value:o.outputs.includes(K.key),disabled:!o.editable||c(K),onClick:P[3]||(P[3]=e.withModifiers(()=>{},["stop"])),onChange:me=>L(K.key,me)},null,8,["value","disabled","onChange"])]),_:1})],64)),o.narrow?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(W,{key:1,label:"操作",prop:"action",width:100,fixed:"right"},{default:e.withCtx(({row:K})=>[e.createElementVNode("div",NT,[["system","space"].includes(K.source_type)?(e.openBlock(),e.createBlock(M,{key:0,theme:"primary",size:"small",text:"",onClick:e.withModifiers(me=>b(K),["stop"])},{default:e.withCtx(()=>[...P[7]||(P[7]=[e.createTextVNode(" 查看 ",-1)])]),_:1},8,["onClick"])):o.editable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(M,{theme:"primary",size:"small",text:"",onClick:e.withModifiers(me=>a("edit",K),["stop"])},{default:e.withCtx(()=>[...P[8]||(P[8]=[e.createTextVNode("编辑",-1)])]),_:1},8,["onClick"]),e.createVNode(ne,{placement:"bottom",theme:"light",trigger:"click","ext-cls":"varibale-table-action-popover",width:90},{content:e.withCtx(()=>[e.unref(kl)(K)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:0,class:"more-action-item",onClick:me=>a("clone",K)},"克隆",8,TT)),e.createElementVNode("div",{class:"more-action-item",onClick:me=>T(K)},"删除",8,DT)]),default:e.withCtx(()=>[e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-more-fill row-action-more",onClick:P[4]||(P[4]=e.withModifiers(()=>{},["stop"]))})]),_:2},1024)],64)):(e.openBlock(),e.createBlock(M,{key:2,theme:"primary",size:"small",text:"",onClick:e.withModifiers(me=>b(K),["stop"])},{default:e.withCtx(()=>[...P[9]||(P[9]=[e.createTextVNode("查看",-1)])]),_:1},8,["onClick"]))])]),_:1}))]),_:1},8,["data"])])],2)}}}),OT=He(IT,[["__scopeId","data-v-8fc370f7"]]);function Ev(){if(typeof self>"u")return;const t=self;t.MonacoEnvironment||(t.MonacoEnvironment={getWorker(n,o){const l={json:"monaco-editor/esm/vs/language/json/json.worker.js",css:"monaco-editor/esm/vs/language/css/css.worker.js",scss:"monaco-editor/esm/vs/language/css/css.worker.js",less:"monaco-editor/esm/vs/language/css/css.worker.js",html:"monaco-editor/esm/vs/language/html/html.worker.js",handlebars:"monaco-editor/esm/vs/language/html/html.worker.js",razor:"monaco-editor/esm/vs/language/html/html.worker.js",typescript:"monaco-editor/esm/vs/language/typescript/ts.worker.js",javascript:"monaco-editor/esm/vs/language/typescript/ts.worker.js"}[o]||"monaco-editor/esm/vs/editor/editor.worker.js";return new Worker(l,{type:"module"})}})}Ev();const MT={class:"editor-header"},PT=e.defineComponent({__name:"index",props:{modelValue:{},options:{default:void 0},fullscreenZIndex:{default:10001}},emits:["update:modelValue","change","blur","save","markers-change"],setup(t,{expose:n,emit:o}){Ev();const a={language:"javascript",theme:"vs-dark",automaticLayout:!0,minimap:{enabled:!1},wordWrap:"on",wrappingIndent:"same"},l=t,r=o,i=e.ref(),s=e.shallowRef(),c=e.shallowRef(!1),f=e.ref(!1);let d=null;e.watch(()=>l.modelValue,_=>{const w=s.value?.getValue();_!==w&&s.value?.setValue(_)}),e.watch(()=>l.options,_=>{if(_){const{placeholder:w,...b}=_;s.value?.updateOptions({...a,...b})}},{deep:!0}),e.onMounted(()=>{v()}),e.onBeforeUnmount(()=>{d?.dispose(),s.value?.dispose()});const v=()=>{const{placeholder:_,...w}=l.options||{};s.value=zl.editor.create(i.value,{...a,...w,value:l.modelValue});const b=s.value.getModel();if(b&&(b.setEOL(0),b.onDidChangeContent(()=>{const E=s.value?.getValue();A(E)})),l.modelValue.indexOf(`\r
1
+ "use strict";var c4=Object.create;var gy=Object.defineProperty;var d4=Object.getOwnPropertyDescriptor;var f4=Object.getOwnPropertyNames;var p4=Object.getPrototypeOf,m4=Object.prototype.hasOwnProperty;var v4=(t,n,o,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let l of f4(n))!m4.call(t,l)&&l!==o&&gy(t,l,{get:()=>n[l],enumerable:!(a=d4(n,l))||a.enumerable});return t};var hy=(t,n,o)=>(o=t!=null?c4(p4(t)):{},v4(n||!t||!t.__esModule?gy(o,"default",{value:t,enumerable:!0}):o,t));const e=require("vue"),vn=require("bkui-vue"),pt=require("./context-DbBT1PuL.cjs"),yn=require("bkui-vue/lib/icon"),eo=require("bkui-vue/lib"),Kt=require("bkui-vue/lib/message"),g4=require("monaco-editor"),h4=require("bkui-vue/lib/button"),b4=require("bkui-vue/lib/dialog");require("axios");const he=require("@vue/shared"),y4=require("xlsx"),k4=require("sortablejs"),na=require("@blueking/flow-canvas"),w4=require("@blueking/bkui-form");require("@blueking/bkui-form/dist/style.css");function d1(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const o in t)if(o!=="default"){const a=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(n,o,a.get?a:{enumerable:!0,get:()=>t[o]})}}return n.default=t,Object.freeze(n)}const zl=d1(g4),Vr=d1(y4),mv=Symbol("flow-api-config"),f1=Symbol("scope-data"),p1=Symbol("select-panel-config"),m1=Symbol("member-selector-config");function Al(t){let n,o;if("fetchFlowDetail"in t)n=t,o=n.scopeData;else{const a=t;n=pt.useFlowApi(a),o=a.scopeData}return e.provide(mv,n),e.provide(f1,o),n}function Vn(){const t=e.inject(mv,null);if(!t){const n="useFlowApiConfig: apiConfig is not provided. Please ensure FlowEdit, FlowView, or FlowCreateTask component is used as parent component.";throw new Error(n)}return t}function C4(){const t=e.inject(f1,null);if(!t){const n="useScopeData: scopeData is not provided. Please ensure FlowEdit, FlowView, or FlowCreateTask component is used as parent component.";throw new Error(n)}return t}function A4(){return Vn()}function E4(){return Vn()}function vv(t){e.provide(p1,t)}function Wi(){return e.inject(p1,null)}function ys(t){t!==void 0&&e.provide(m1,t)}function v1(){return e.inject(m1,{mode:"legacy"})}const g1={startpoint:"开始节点",endpoint:"结束节点",parallelgateway:"并行网关",conditionalparallelgateway:"条件并行网关",branchgateway:"分支网关",exclusivegateway:"分支网关",convergegateway:"汇聚网关",tasknode:"插件节点"},x4={startpoint:{min_in:0,max_in:0,min_out:1,max_out:1,allowed_out:["tasknode","branchgateway","parallelgateway","conditionalparallelgateway"],unique:!0},endpoint:{min_in:1,max_in:1e3,min_out:0,max_out:0,allowed_out:[],unique:!0},tasknode:{min_in:1,max_in:1e3,min_out:1,max_out:1,allowed_out:["tasknode","branchgateway","parallelgateway","conditionalparallelgateway","convergegateway","endpoint"],unique:!1},subflow:{min_in:1,max_in:1e3,min_out:1,max_out:1,allowed_out:["tasknode","branchgateway","parallelgateway","conditionalparallelgateway","convergegateway","endpoint"],unique:!1},branchgateway:{min_in:1,max_in:1e3,min_out:1,max_out:1e3,allowed_out:["tasknode","branchgateway","parallelgateway","conditionalparallelgateway","convergegateway","endpoint"],unique:!1},conditionalparallelgateway:{min_in:1,max_in:1e3,min_out:1,max_out:1e3,allowed_out:["tasknode","branchgateway","parallelgateway","conditionalparallelgateway","convergegateway","endpoint"],unique:!1},parallelgateway:{min_in:1,max_in:1e3,min_out:1,max_out:1e3,allowed_out:["tasknode","branchgateway","parallelgateway","conditionalparallelgateway"],unique:!1},convergegateway:{min_in:1,max_in:1e3,min_out:1,max_out:1,allowed_out:["tasknode","branchgateway","parallelgateway","conditionalparallelgateway","convergegateway","endpoint"],unique:!1}},_4=(t,n)=>{const o=[];return(n??Object.keys(t)).forEach(a=>{const l=t[a]?.component;(!l||!l.code)&&o.push(a)}),{valid:o.length===0,ids:o}},B4=(t,n)=>{let o="";const a=[];return n.forEach(l=>{const r=x4[l.type],i=g1[l.type];let s=0,c=0;t.forEach(f=>{f.source.id===l.id&&(c+=1),f.target.id===l.id&&(s+=1)}),s<r.min_in&&(o=`${i}至少需要${r.min_in}条输入连线`,a.push(l.id)),c<r.min_out&&(o=`${i}至少需要${r.min_out}条输出连线`,a.push(l.id))}),{valid:a.length===0,message:o,ids:a}},S4=t=>{const n=[];let o="";const a={},l=[];let r=[],i=[],s=new Set;const c=(d,v)=>{if(i.includes(d)){s.delete(v);return}i.push(d);const h=a[d]||[];if(h.length>1)s.delete(v),h.forEach(m=>{s.add(m),c(m,m)});else if(h.length===1)if(l.includes(d))r.includes(d)?s.delete(v):(r.push(d),s.size>1&&r.forEach(m=>{const g=a[m][0];c(g,v)}));else{const m=h[0];c(m,v)}},f=Object.keys(t).filter(d=>["ParallelGateway","ConditionalParallelGateway"].includes(t[d].type));for(const d of f){const v=t[d];if(i=[],r=[],s=new Set([d]),c(d,d),s.size>1){const h=v.type.toLowerCase();o=`${g1[h]}缺少对应的汇聚网关`,n.push(d);break}}return{valid:n.length===0,message:o,ids:n}},ml=(t,n={})=>{const{activities:o,gateways:a,line:l,location:r}=t,{requireConfiguredNodeIds:i}=n;if(Object.keys(o).length===0)return bp(!1,"请添加任务节点");const s=_4(o,i);if(!s.valid)return bp(!1,i?"当前节点尚未配置插件":"存在未配置的节点",s.ids);const c=B4(l,r);if(!c.valid)return c;const f=S4(a);return f.valid?bp(!0):f},bp=(t,n="",o=[])=>({valid:t,message:n,ids:o}),_d=new Set(["_result","_loop","_inner_loop"]);function gv(t){const n=(t??[]).map(o=>o?.key).filter(o=>!!o);return n.length>0&&n.every(o=>_d.has(o))}function V4(t,n){return t&&!gv(n)}const N4={string:"bk-input",int:"bk-input-number",integer:"bk-input-number",number:"bk-input-number",json:"json-editor",object:"json-editor",textarea:"bk-textarea",list:"bk-checkbox-group",table:"data-table",radio:"bk-radio-group",bool:"bk-switcher",boolean:"bk-radio-group",select:"bk-select"},by={table:"data-table",select:"bk-select",datetimepicker:"bk-date-picker",textarea:"bk-textarea",radio:"bk-radio-group",checkbox:"bk-checkbox-group",switch:"bk-switcher"};function h1(t,n,o){return Object.values(t).find(a=>a.source_type==="component_outputs"&&Array.isArray(a.source_info?.[n])&&a.source_info[n].includes(o))}function T4(t,n,o){return!!h1(t,n,o)}function D4(t,n,o){return h1(t,n,o)?.key??""}function b1(...t){return Yi(t)}function Yi(t,n={}){const o=new Map;return t.flat().forEach(a=>{!a?.key||!n.includeSystem&&_d.has(a.key)||o.set(a.key,{...o.get(a.key),...a,description:a.description??"",name:a.name||a.key,type:a.type||"string"})}),[...o.values()]}function I4(t){return{label:String(t.name??t.label??t.text??t.id??t.value??""),value:t.id??t.value??t}}function yy(t){return t.map(n=>({label:String(n),value:n}))}function O4(t,n){if(Array.isArray(t.options))return t.options;if(t.options&&typeof t.options=="object"&&Array.isArray(t.options.items))return t.options.items.map(I4);if(Array.isArray(t.enum))return yy(t.enum);if(Array.isArray(n?.enum))return yy(n.enum)}function yp(t,n,o={}){if(!t||!o.includeSystem&&_d.has(t))return null;if(typeof n=="string")return{key:t,name:t,type:n,description:""};if(!n||typeof n!="object")return{key:t,name:t,type:"string",description:""};const a=n,l=a.schema&&typeof a.schema=="object"?a.schema:void 0,r=a["ui:component"]&&typeof a["ui:component"]=="object"?a["ui:component"]:{},i=O4(a,l);return{key:t,name:a.name??a.title??l?.title??t,type:a.type??l?.type??"string",form_type:a.form_type??a.formType??r.name??r.type,description:a.description??a.desc??l?.description??"",options:i,schema:l,default:a.default}}function yl(t,n={}){if(!t)return[];if(Array.isArray(t))return t.map(o=>{if(typeof o=="string")return yp(o,{key:o},n);if(!o||typeof o!="object")return null;const a=o;return yp(a.key??a.id??a.name,a,n)}).filter(o=>!!o);if(typeof t=="object"){const o=t;return o.properties&&typeof o.properties=="object"?yl(o.properties,n):Object.entries(o).map(([a,l])=>yp(a,l,n)).filter(a=>!!a)}return[]}function M4(t,n,o){return t.reduce((a,l)=>(T4(n,o,l.key)?a.globalFields.push(l):a.otherFields.push(l),a),{globalFields:[],otherFields:[]})}function qc(t){return t.key==="time_range_field"?"bk-date-range-picker":t.form_type&&by[t.form_type]?by[t.form_type]:t.type==="string"&&t.options?.length?"bk-select":N4[t.type]??"bk-input"}function y1(t){return t==null||t===""?"":typeof t=="string"?t:JSON.stringify(t,null,2)}function k1(t){if(t===""||t===void 0||t===null)return{valid:!0,value:void 0};if(typeof t!="string")return{valid:!0,value:t};try{return{valid:!0,value:JSON.parse(t)}}catch{return{valid:!1,message:"请输入合法 JSON"}}}function P4(t){if(t&&typeof t=="object"){const n=t,o="value"in n?n.value:"id"in n?n.id:n,a=n.label??n.text??n.name??o;return{label:String(a),value:o}}return{label:String(t),value:t}}function Fe(t,n=new WeakMap){if(t===null||typeof t!="object")return t;if(n.has(t))return n.get(t);if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp)return new RegExp(t.source,t.flags);if(Array.isArray(t)){const l=[];n.set(t,l);for(let r=0;r<t.length;r++)l[r]=Fe(t[r],n);return l}const o=Object.getPrototypeOf(t);if(o!==Object.prototype&&o!==null)return t;const a={};n.set(t,a);for(const l of Object.keys(t))a[l]=Fe(t[l],n);return a}function za(t,n){if(t===n||t!==t&&n!==n)return!0;if(typeof t!="object"||typeof n!="object"||t===null||n===null)return!1;if(t instanceof Date||n instanceof Date)return t instanceof Date&&n instanceof Date&&t.getTime()===n.getTime();if(t instanceof RegExp||n instanceof RegExp)return t instanceof RegExp&&n instanceof RegExp&&t.source===n.source&&t.flags===n.flags;const o=Array.isArray(t);if(o!==Array.isArray(n))return!1;if(o){const r=t,i=n;return r.length!==i.length?!1:r.every((s,c)=>za(s,i[c]))}const a=Object.keys(t),l=Object.keys(n);return a.length!==l.length?!1:a.every(r=>Object.prototype.hasOwnProperty.call(n,r)&&za(t[r],n[r]))}function L4(t,n=0,o={}){const{leading:a=!0,trailing:l=!0}=o;let r=0,i=null,s=null;const c=d=>{r=Date.now(),t(...d)},f=(...d)=>{const v=Date.now();!r&&!a&&(r=v);const h=n-(v-r);if(h<=0||h>n){i&&(clearTimeout(i),i=null),s=null,c(d);return}s=d,!i&&l&&(i=setTimeout(()=>{i=null,r=a?Date.now():0,s&&c(s),s=null},h))};return f.cancel=()=>{i&&clearTimeout(i),i=null,r=0,s=null},f}function R4(t,n){if(!t||!t.length)return[];const o=r=>r?.[n],a=new Set,l=[];for(const r of t){const i=o(r);a.has(i)||(a.add(i),l.push(r))}return l}function hv(t){if(!t)return[];const n=t.outgoing;return Array.isArray(n)?n.filter(Boolean):n?[n]:[]}function sm(t,n){return t.start_event.id===n?t.start_event:t.end_event.id===n?t.end_event:t.activities[n]??t.gateways[n]}function F4(t,n,o){return!!(t.activities[o]&&!n.has(o))}function w1(t,n,o,a=new Set){const l=t.flows[o];if(!l)return[];if(!F4(t,n,l.target))return[{flow:l,line:t.line.find(i=>i.id===l.id)}];if(a.has(l.target))return[];a.add(l.target);const r=sm(t,l.target);return hv(r).flatMap(i=>w1(t,n,i,new Set(a)))}function z4(t,n){const o=new Map,a=new Map;Object.values(n).forEach(l=>{o.set(l.target,[...o.get(l.target)??[],l.id]),a.set(l.source,[...a.get(l.source)??[],l.id])}),t.start_event.outgoing=a.get(t.start_event.id)?.[0]??"",t.end_event.incoming=o.get(t.end_event.id)??[],t.end_event.outgoing="",Object.values(t.activities).forEach(l=>{l.incoming=o.get(l.id)??[],l.outgoing=a.get(l.id)?.[0]??""}),Object.values(t.gateways).forEach(l=>{l.incoming=o.get(l.id)??[];const r=a.get(l.id)??[];l.outgoing=l.type==="ConvergeGateway"?r[0]??"":r})}function j4(t,n){Object.values(t.gateways).forEach(o=>{const a=hv(o).filter(i=>n[i]?.source===o.id),l=new Set(a),r=o.default_condition?.flow_id;o.conditions&&(o.conditions=Object.fromEntries(Object.entries(o.conditions).filter(([i])=>l.has(i)&&i!==r))),r&&!l.has(r)&&delete o.default_condition})}function H4(t,n){Object.entries(n).forEach(([o,a])=>{t.constants[o]&&(t.constants[o]={...t.constants[o],value:a})})}function U4(t,n){const o=Object.fromEntries(Object.entries(t.constants).map(([a,l])=>{const r=Object.fromEntries(Object.entries(l.source_info??{}).filter(([i,s])=>n.has(i)&&s.length>0));return l.source_type==="component_outputs"&&Object.keys(r).length===0?null:[a,{...l,source_info:r}]}).filter(a=>!!a).sort(([,a],[,l])=>a.index-l.index).map(([a,l],r)=>[a,{...l,index:r}]));t.constants=o,t.outputs=t.outputs.filter(a=>!!o[a])}function G4(t,n){const o=new Set(n.filter(s=>t.activities[s])),a=new Set([t.start_event.id,t.end_event.id,...Object.keys(t.gateways),...o]),l={},r=[],i=(s,c,f)=>{const d=sm(t,s),v=t.flows[c];if(!d||!v||!a.has(f.flow.target))return;const h=v.id;if(l[h])return;l[h]={...v,id:h,source:s,target:f.flow.target};const m=t.line.find(k=>k.id===v.id),g=f.line;m&&g&&r.push({id:h,source:{...m.source,id:s},target:{...g.target,id:f.flow.target}})};return[...a].forEach(s=>{const c=sm(t,s);hv(c).forEach(f=>{w1(t,o,f).forEach(d=>{i(s,f,d)})})}),t.activities=Object.fromEntries(Object.entries(t.activities).filter(([s])=>o.has(s))),t.location=t.location.filter(s=>a.has(s.id)),t.flows=l,t.line=r,z4(t,l),j4(t,l),U4(t,o),t}function C1(t,n,o){const a=Fe(t);return H4(a,o),G4(a,n)}function A1(t){return!!(t&&t.type==="ServiceActivity"&&t.component?.code)}function E1(t){return t?Object.values(t.activities??{}).filter(A1).map(n=>n.id):[]}function x1(t){return t?Object.values(t.activities??{}).filter(n=>!n.component?.code).map(n=>n.id):[]}function _1(){const t=e.ref("edit"),n=e.shallowRef(new Set),o=e.shallowRef({}),a=e.ref(),l=e.ref(),r=e.ref(),i=e.ref(),s=e.ref(),c=e.shallowRef({}),f=e.ref(!1),d=e.ref(0);function v(F){return n.value.has(F)}function h(F){return!!o.value[F]}function m(F){return F.length>0&&F.every(O=>n.value.has(O))}function g(F){n.value=new Set(F)}function k(F){const O=new Set(n.value);O.has(F)?O.delete(F):O.add(F),n.value=O}function y(F){n.value=new Set(F)}function A(){n.value=new Set}function _(F){if(m(F)){A();return}y(F)}function w(F){a.value=F}function b(){a.value=void 0}function C(F){o.value={...o.value,[F.nodeId]:F}}function E(F){const O={...o.value};delete O[F],o.value=O}function x(){o.value={}}function S(F){t.value="mock-config",a.value=void 0,l.value=void 0,r.value=void 0,i.value=void 0,s.value=void 0,c.value={},f.value=!1,d.value=0,y(F)}function V(F){t.value="mock-running",r.value=F.id,i.value=F.status??"RUNNING",s.value=Date.now(),c.value=F.nodeStates??{},f.value=!0,a.value=void 0,d.value=0,l.value=j(F.mockableIds).selectedIds[0]}function N(F){l.value=F}function T(F){i.value=F}function z(F){c.value=F}function j(F){const O=new Set(F),P=[...n.value].filter(W=>O.has(W)),M=P.filter(W=>o.value[W]),H=Object.fromEntries(M.map(W=>[W,o.value[W].outputs]));return{selectedIds:P,mockNodeIds:M,mockData:H}}function R(F){if(F.length<1)return;const O=F[d.value%F.length];return d.value+=1,l.value=O,O}function L(){t.value="edit",n.value=new Set,o.value={},a.value=void 0,l.value=void 0,r.value=void 0,i.value=void 0,s.value=void 0,c.value={},f.value=!1,d.value=0}return{stage:t,selectedNodeIds:n,mockConfigs:o,activeConfigNodeId:a,activeRunningNodeId:l,taskId:r,taskStatus:i,taskStartedAt:s,nodeStates:c,resultDrawerOpen:f,isMockSelected:v,hasMockConfig:h,isAllMockNodesSelected:m,selectMockNodes:g,toggleMockSelected:k,selectAllMockNodes:y,clearAllMockNodes:A,toggleSelectAllMockNodes:_,openConfigNode:w,closeConfigNode:b,saveMockConfig:C,clearMockConfig:E,clearAllMockConfigs:x,enterConfig:S,enterRunning:V,setActiveRunningNode:N,setTaskStatus:T,setNodeStates:z,buildRunnableSelection:j,locateNextFailedNode:R,reset:L}}const W4={key:0,class:"container-layout-header"},Y4={class:"title-area"},q4={class:"title"},Q4={class:"desc"},$4={class:"container-layout-main"},K4={class:"container-main-wrapper"},Z4=e.defineComponent({__name:"index",props:{title:{default:""},desc:{default:""},showBackIcon:{type:Boolean,default:!1},showEditIcon:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!0}},emits:["back","edit"],setup(t,{emit:n}){e.useSlots();const o=t,a=n,l=()=>{a("back")},r=()=>{a("edit")};return(i,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["bkflow-canvans-editor-container-layout",{"is-headerless":!o.showHeader}])},[o.showHeader?(e.openBlock(),e.createElementBlock("section",W4,[e.renderSlot(i.$slots,"header",{},()=>[e.createElementVNode("div",Y4,[o.showBackIcon?(e.openBlock(),e.createBlock(e.unref(yn.ArrowsLeft),{key:0,class:"back-btn",onClick:l})):e.createCommentVNode("",!0),e.createElementVNode("h3",q4,e.toDisplayString(o.title),1),e.createElementVNode("p",Q4,e.toDisplayString(o.desc),1),o.showEditIcon?(e.openBlock(),e.createBlock(e.unref(yn.EditLine),{key:1,class:"edit-btn",onClick:r})):e.createCommentVNode("",!0)])],!0),e.renderSlot(i.$slots,"extend",{},void 0,!0)])):e.createCommentVNode("",!0),e.createElementVNode("section",$4,[e.createElementVNode("div",K4,[e.renderSlot(i.$slots,"default",{},void 0,!0)])])],2))}}),He=(t,n)=>{const o=t.__vccOpts||t;for(const[a,l]of n)o[a]=l;return o},qi=He(Z4,[["__scopeId","data-v-bdd7ab74"]]),B1=Symbol("filterVariableConfig");function Bd(t){t!==void 0&&e.provide(B1,t)}function Qi(){return e.inject(B1,null)}const Qc=t=>!!t?.retrievalFilterComponent&&!!t.getFields&&!!t.getValues;function ky(t){if(!t)return"";const n=t.sourceNodeComponent?.data?.query_config?.value,o=(Array.isArray(n?.query_configs)?n.query_configs:[]).map(a=>a.metric_id||`${a.data_source_label}.${a.table}.${a.metrics?.[0]?.field}`).filter(a=>a&&!a.includes("undefined")).join("");return`${t.sourceNodeId}\0${t.sourceFieldKey}\0${t.sourceNodeComponent?"1":"0"}\0${o}`}function S1(t){const n=Qi(),o=e.shallowRef([]),a=e.ref("");let l="";return e.watch(()=>ky(t.value),async()=>{const r=t.value;if(!n||!r)return;const i=ky(r);i!==l&&(l=i,o.value=[]),a.value="";try{const s=await n.getFields(r);s.length&&(o.value=s)}catch(s){a.value=s?.message||"条件字段加载失败"}},{immediate:!0}),{fields:o,error:a}}const V1=Symbol("filterSourceNodeName");function X4(t){e.provide(V1,t)}function bv(){return e.inject(V1,void 0)}const N1=Symbol("filterSourceNodeComponent");function yv(t){e.provide(N1,t)}function kv(){return e.inject(N1,void 0)}const Ma="__ALL__",J4=1,wv=()=>({schema_version:J4,dimensions:[Ma]}),kl=t=>t?.custom_type==="filter",eT=t=>/^\$\{[\w.]+\}$/.test(t),Cv=t=>!t||t.length===0||t.includes(Ma),tT=(t,n)=>{const o=[...new Set(n)];return o.length===0?[Ma]:!o.includes(Ma)||o.length===1?o:t?.includes(Ma)?o.filter(a=>a!==Ma):[Ma]},nT=t=>{const n=a=>typeof a=="string"?a:typeof a=="number"?Number.isFinite(a)?a:null:typeof a=="boolean"?String(a):null;if(Array.isArray(t))return t.map(n).filter(a=>a!==null);if(t==null||t==="")return[];const o=n(t);return o===null?[]:[o]},oT=t=>{if(!t||typeof t!="object"||Array.isArray(t))return;const n=Object.entries(t).filter(([,o])=>o!==void 0);return n.length>0?Object.fromEntries(n):void 0},$i=t=>Array.isArray(t)?t.reduce((n,o)=>{if(!o||typeof o!="object"||Array.isArray(o))return n;const a=o,l=typeof a.key=="string"?a.key.trim():"";if(!l)return n;const r=a.operator??a.method,i=oT(a.options);return n.push({key:l,operator:typeof r=="string"?r:"",value:nT(a.value),...i?{options:i}:{}}),n},[]):[],T1=t=>$i(t).filter(n=>!eT(n.key)),D1=(t,n={})=>{const o=[];if(t.length===0)return n.required&&o.push({code:"required"}),{valid:o.length===0,errors:o};const a=Cv(n.dimensions);return t.forEach((l,r)=>{(!l.key||!l.operator||l.value.length===0)&&o.push({code:"incomplete_condition",index:r,key:l.key}),!a&&!n.dimensions?.includes(l.key)&&o.push({code:"dimension_out_of_range",index:r,key:l.key})}),{valid:o.length===0,errors:o}},aT=t=>{if(!kl(t))return null;const n=Object.entries(t?.source_info||{});if(n.length!==1)return null;const[o,a]=n[0],l=Array.isArray(a)?a[0]:void 0;return!o||!l?null:{nodeId:o,fieldKey:l}},Sd=t=>kl(t)?t?.meta?.filter:void 0,lT=(t,n,o={})=>{const a=Sd(t)||wv(),l={...o.nodeName?{node_name:o.nodeName}:{},...o.fieldName?{field_name:o.fieldName}:{}};return{...t,source_info:{[n.nodeId]:[n.fieldKey]},meta:{...t.meta,filter:{...a,...Object.keys(l).length>0?{source_snapshot:l}:{}}}}},I1=t=>t.length===0?"--":t.map(n=>`${n.key} ${n.operator} ${n.value.join(", ")}`.trim()).join(";"),Av=(t,n)=>{const o=aT(t);if(!o)return null;const a=Sd(t)?.source_snapshot;return{...o,nodeName:n?.(o.nodeId)||a?.node_name||o.nodeId,fieldName:a?.field_name||o.fieldKey}},wy=t=>{const n=(t||"").trim();return n.startsWith("${")&&n.endsWith("}")?n.slice(2,-1):n},Ta=(t,n)=>({ok:!1,reason:t,message:n}),rT=(t,n)=>{if(!n.editable)return Ta("not-editable","当前为只读态,无法创建全局变量");const{defaultCustomType:o,keyword:a,onCreated:l}=t,{filterContext:r}=t,{selectRelatedContext:i}=t;if(i&&o!=="select")return Ta("select-context-unexpected","selectRelatedContext 仅适用于 defaultCustomType 为 select 的请求");if(o!=="filter"){if(r)return Ta("filter-context-unexpected","filterContext 仅适用于 defaultCustomType 为 filter 的请求");const v={keyword:wy(a)};o&&(v.defaultCustomType=o);const{cursorIndex:h}=t;if(h!==void 0&&(v.cursorIndex=h),l&&(v.onCreated=l),i){const m=i.sourceNodeId?.trim(),g=i.sourceFieldKey?.trim();if(!m||!g)return Ta("select-context-invalid","selectRelatedContext 缺少 sourceNodeId 或 sourceFieldKey");if(n.hasNode&&!n.hasNode(m))return Ta("select-node-not-found",`关联节点不存在于当前流程:${m}`);v.selectRelatedContext={...i,sourceNodeId:m,sourceFieldKey:g}}return{ok:!0,request:v}}if(!r)return Ta("filter-context-missing","创建 filter 变量必须提供 filterContext(关联节点与关联字段)");const s=r.sourceNodeId?.trim(),c=r.sourceFieldKey?.trim();if(!s||!c)return Ta("filter-context-invalid","filterContext 缺少 sourceNodeId 或 sourceFieldKey");if(n.hasNode&&!n.hasNode(s))return Ta("filter-node-not-found",`关联节点不存在于当前流程:${s}`);if(!n.filterAvailable)return Ta("filter-unavailable","宿主未注入 filterVariableConfig,无法创建复合条件选择变量");const f={keyword:wy(a),defaultCustomType:"filter",filterContext:{...r,sourceNodeId:s,sourceFieldKey:c}},{initialValue:d}=t;if(d){const v=T1(d);v.length&&(f.initialValue=v)}return l&&(f.onCreated=l),{ok:!0,request:f}};function Ga(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Ac={exports:{}},sT=Ac.exports,Cy;function iT(){return Cy||(Cy=1,(function(t,n){(function(o,a){t.exports=a()})(sT,(function(){var o=1e3,a=6e4,l=36e5,r="millisecond",i="second",s="minute",c="hour",f="day",d="week",v="month",h="quarter",m="year",g="date",k="Invalid Date",y=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,A=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,_={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(R){var L=["th","st","nd","rd"],F=R%100;return"["+R+(L[(F-20)%10]||L[F]||L[0])+"]"}},w=function(R,L,F){var O=String(R);return!O||O.length>=L?R:""+Array(L+1-O.length).join(F)+R},b={s:w,z:function(R){var L=-R.utcOffset(),F=Math.abs(L),O=Math.floor(F/60),P=F%60;return(L<=0?"+":"-")+w(O,2,"0")+":"+w(P,2,"0")},m:function R(L,F){if(L.date()<F.date())return-R(F,L);var O=12*(F.year()-L.year())+(F.month()-L.month()),P=L.clone().add(O,v),M=F-P<0,H=L.clone().add(O+(M?-1:1),v);return+(-(O+(F-P)/(M?P-H:H-P))||0)},a:function(R){return R<0?Math.ceil(R)||0:Math.floor(R)},p:function(R){return{M:v,y:m,w:d,d:f,D:g,h:c,m:s,s:i,ms:r,Q:h}[R]||String(R||"").toLowerCase().replace(/s$/,"")},u:function(R){return R===void 0}},C="en",E={};E[C]=_;var x="$isDayjsObject",S=function(R){return R instanceof z||!(!R||!R[x])},V=function R(L,F,O){var P;if(!L)return C;if(typeof L=="string"){var M=L.toLowerCase();E[M]&&(P=M),F&&(E[M]=F,P=M);var H=L.split("-");if(!P&&H.length>1)return R(H[0])}else{var W=L.name;E[W]=L,P=W}return!O&&P&&(C=P),P||!O&&C},N=function(R,L){if(S(R))return R.clone();var F=typeof L=="object"?L:{};return F.date=R,F.args=arguments,new z(F)},T=b;T.l=V,T.i=S,T.w=function(R,L){return N(R,{locale:L.$L,utc:L.$u,x:L.$x,$offset:L.$offset})};var z=(function(){function R(F){this.$L=V(F.locale,null,!0),this.parse(F),this.$x=this.$x||F.x||{},this[x]=!0}var L=R.prototype;return L.parse=function(F){this.$d=(function(O){var P=O.date,M=O.utc;if(P===null)return new Date(NaN);if(T.u(P))return new Date;if(P instanceof Date)return new Date(P);if(typeof P=="string"&&!/Z$/i.test(P)){var H=P.match(y);if(H){var W=H[2]-1||0,X=(H[7]||"0").substring(0,3);return M?new Date(Date.UTC(H[1],W,H[3]||1,H[4]||0,H[5]||0,H[6]||0,X)):new Date(H[1],W,H[3]||1,H[4]||0,H[5]||0,H[6]||0,X)}}return new Date(P)})(F),this.init()},L.init=function(){var F=this.$d;this.$y=F.getFullYear(),this.$M=F.getMonth(),this.$D=F.getDate(),this.$W=F.getDay(),this.$H=F.getHours(),this.$m=F.getMinutes(),this.$s=F.getSeconds(),this.$ms=F.getMilliseconds()},L.$utils=function(){return T},L.isValid=function(){return this.$d.toString()!==k},L.isSame=function(F,O){var P=N(F);return this.startOf(O)<=P&&P<=this.endOf(O)},L.isAfter=function(F,O){return N(F)<this.startOf(O)},L.isBefore=function(F,O){return this.endOf(O)<N(F)},L.$g=function(F,O,P){return T.u(F)?this[O]:this.set(P,F)},L.unix=function(){return Math.floor(this.valueOf()/1e3)},L.valueOf=function(){return this.$d.getTime()},L.startOf=function(F,O){var P=this,M=!!T.u(O)||O,H=T.p(F),W=function(me,te){var re=T.w(P.$u?Date.UTC(P.$y,te,me):new Date(P.$y,te,me),P);return M?re:re.endOf(f)},X=function(me,te){return T.w(P.toDate()[me].apply(P.toDate("s"),(M?[0,0,0,0]:[23,59,59,999]).slice(te)),P)},G=this.$W,Q=this.$M,ne=this.$D,ae="set"+(this.$u?"UTC":"");switch(H){case m:return M?W(1,0):W(31,11);case v:return M?W(1,Q):W(0,Q+1);case d:var $=this.$locale().weekStart||0,K=(G<$?G+7:G)-$;return W(M?ne-K:ne+(6-K),Q);case f:case g:return X(ae+"Hours",0);case c:return X(ae+"Minutes",1);case s:return X(ae+"Seconds",2);case i:return X(ae+"Milliseconds",3);default:return this.clone()}},L.endOf=function(F){return this.startOf(F,!1)},L.$set=function(F,O){var P,M=T.p(F),H="set"+(this.$u?"UTC":""),W=(P={},P[f]=H+"Date",P[g]=H+"Date",P[v]=H+"Month",P[m]=H+"FullYear",P[c]=H+"Hours",P[s]=H+"Minutes",P[i]=H+"Seconds",P[r]=H+"Milliseconds",P)[M],X=M===f?this.$D+(O-this.$W):O;if(M===v||M===m){var G=this.clone().set(g,1);G.$d[W](X),G.init(),this.$d=G.set(g,Math.min(this.$D,G.daysInMonth())).$d}else W&&this.$d[W](X);return this.init(),this},L.set=function(F,O){return this.clone().$set(F,O)},L.get=function(F){return this[T.p(F)]()},L.add=function(F,O){var P,M=this;F=Number(F);var H=T.p(O),W=function(Q){var ne=N(M);return T.w(ne.date(ne.date()+Math.round(Q*F)),M)};if(H===v)return this.set(v,this.$M+F);if(H===m)return this.set(m,this.$y+F);if(H===f)return W(1);if(H===d)return W(7);var X=(P={},P[s]=a,P[c]=l,P[i]=o,P)[H]||1,G=this.$d.getTime()+F*X;return T.w(G,this)},L.subtract=function(F,O){return this.add(-1*F,O)},L.format=function(F){var O=this,P=this.$locale();if(!this.isValid())return P.invalidDate||k;var M=F||"YYYY-MM-DDTHH:mm:ssZ",H=T.z(this),W=this.$H,X=this.$m,G=this.$M,Q=P.weekdays,ne=P.months,ae=P.meridiem,$=function(te,re,ue,pe){return te&&(te[re]||te(O,M))||ue[re].slice(0,pe)},K=function(te){return T.s(W%12||12,te,"0")},me=ae||function(te,re,ue){var pe=te<12?"AM":"PM";return ue?pe.toLowerCase():pe};return M.replace(A,(function(te,re){return re||(function(ue){switch(ue){case"YY":return String(O.$y).slice(-2);case"YYYY":return T.s(O.$y,4,"0");case"M":return G+1;case"MM":return T.s(G+1,2,"0");case"MMM":return $(P.monthsShort,G,ne,3);case"MMMM":return $(ne,G);case"D":return O.$D;case"DD":return T.s(O.$D,2,"0");case"d":return String(O.$W);case"dd":return $(P.weekdaysMin,O.$W,Q,2);case"ddd":return $(P.weekdaysShort,O.$W,Q,3);case"dddd":return Q[O.$W];case"H":return String(W);case"HH":return T.s(W,2,"0");case"h":return K(1);case"hh":return K(2);case"a":return me(W,X,!0);case"A":return me(W,X,!1);case"m":return String(X);case"mm":return T.s(X,2,"0");case"s":return String(O.$s);case"ss":return T.s(O.$s,2,"0");case"SSS":return T.s(O.$ms,3,"0");case"Z":return H}return null})(te)||H.replace(":","")}))},L.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},L.diff=function(F,O,P){var M,H=this,W=T.p(O),X=N(F),G=(X.utcOffset()-this.utcOffset())*a,Q=this-X,ne=function(){return T.m(H,X)};switch(W){case m:M=ne()/12;break;case v:M=ne();break;case h:M=ne()/3;break;case d:M=(Q-G)/6048e5;break;case f:M=(Q-G)/864e5;break;case c:M=Q/l;break;case s:M=Q/a;break;case i:M=Q/o;break;default:M=Q}return P?M:T.a(M)},L.daysInMonth=function(){return this.endOf(v).$D},L.$locale=function(){return E[this.$L]},L.locale=function(F,O){if(!F)return this.$L;var P=this.clone(),M=V(F,O,!0);return M&&(P.$L=M),P},L.clone=function(){return T.w(this.$d,this)},L.toDate=function(){return new Date(this.valueOf())},L.toJSON=function(){return this.isValid()?this.toISOString():null},L.toISOString=function(){return this.$d.toISOString()},L.toString=function(){return this.$d.toUTCString()},R})(),j=z.prototype;return N.prototype=j,[["$ms",r],["$s",i],["$m",s],["$H",c],["$W",f],["$M",v],["$y",m],["$D",g]].forEach((function(R){j[R[1]]=function(L){return this.$g(L,R[0],R[1])}})),N.extend=function(R,L){return R.$i||(R(L,z,N),R.$i=!0),N},N.locale=V,N.isDayjs=S,N.unix=function(R){return N(1e3*R)},N.en=E[C],N.Ls=E,N.p={},N}))})(Ac)),Ac.exports}var uT=iT();const dt=Ga(uT),cT=e.defineComponent({__name:"records-table",props:{data:{}},setup(t){const n=t;return(o,a)=>{const l=e.resolveComponent("bk-table-column"),r=e.resolveComponent("bk-table");return e.openBlock(),e.createBlock(r,{data:n.data,border:["outer"]},{default:e.withCtx(()=>[e.createVNode(l,{label:"操作时间",prop:"operate_date","min-width":200}),e.createVNode(l,{label:"操作名称",prop:"operate_type_name"}),e.createVNode(l,{label:"操作来源",prop:"operate_source_name"}),e.createVNode(l,{label:"操作人",prop:"operator"})]),_:1},8,["data"])}}}),dT={class:"operate-records-slider"},fT=e.defineComponent({__name:"index",props:{show:{type:Boolean},flowId:{}},emits:["close","update:show"],setup(t,{emit:n}){const o=t,a=Vn(),l=n,r=e.shallowRef([]),i=e.shallowRef(!1);e.watch(()=>o.show,f=>{f&&s()});const s=async()=>{if(!a?.fetchFlowOperateRecord){console.warn("fetchFlowOperateRecord is not provided in api");return}i.value=!0;try{const f=await a.fetchFlowOperateRecord(o.flowId);f.data.data.forEach(d=>d.operate_date=dt(d.operate_date).format("YYYY-MM-DD HH:mm:ss")),r.value=f.data.data}catch(f){console.error(f)}finally{i.value=!1}},c=()=>{l("close"),l("update:show",!1)};return(f,d)=>{const v=e.resolveComponent("bk-sideslider"),h=e.resolveDirective("bk-loading");return e.openBlock(),e.createBlock(v,{title:"操作记录","is-show":o.show,width:800,"esc-close":!1,"before-close":c},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",dT,[e.createVNode(cT,{data:r.value},null,8,["data"])])),[[h,{loading:i.value}]])]),_:1},8,["is-show"])}}}),pT=He(fT,[["__scopeId","data-v-66a242e2"]]),im=()=>({custom_type:"input",desc:"",index:0,key:"",name:"",show_type:"show",source_info:{},source_tag:"input.input",source_type:"custom",validation:"^.+$",pre_render_mako:!1,value:"",version:"legacy"}),mT={class:"search-select-wrapper"},ks=e.defineComponent({__name:"index",props:{modelValue:{default:()=>[]},placeholder:{default:"请选择"},options:{default:()=>[]},getMenuList:{type:Function,default:void 0}},emits:["update:modelValue","change"],setup(t,{emit:n}){const o=t,a=n,l=e.shallowRef([...o.modelValue]);e.watch(()=>o.modelValue,i=>{l.value=[...i]},{deep:!0});const r=i=>{l.value=i,a("update:modelValue",i),a("change",i)};return(i,s)=>{const c=e.resolveComponent("bk-search-select");return e.openBlock(),e.createElementBlock("div",mT,[e.createVNode(c,{modelValue:l.value,"onUpdate:modelValue":[s[0]||(s[0]=f=>l.value=f),r],"value-behavior":"need-key",data:o.options,placeholder:o.placeholder,uniqueSelect:!0,clearable:!0,"get-menu-list":o.getMenuList},null,8,["modelValue","data","placeholder","get-menu-list"])])}}}),vT={class:"operate-wrapper"},gT={class:"btns-list"},hT={class:"batch-delete-tooltip"},bT={key:0,class:"filter-tabs"},yT=["onClick"],kT={class:"tab-count"},wT={class:"search-wrapper"},CT={class:"variable-table-wrapper"},AT={class:"var-check-cell"},ET={class:"cell-text name-cell"},xT=["onClick"],_T={class:"key-cell"},BT=["onClick"],ST=["onClick"],VT={key:1,class:"reference-text"},NT={class:"table-row-actions"},TT=["onClick"],DT=["onClick"],IT=e.defineComponent({__name:"global-variable-table",props:{constants:{default:()=>({})},systemVariables:{default:()=>[]},editable:{type:Boolean,default:!0},outputs:{default:()=>[]},customVariableTypes:{default:()=>[]},variablesReference:{default:()=>({defined:{},nodefined:{}})},narrow:{type:Boolean,default:!1},selectedKey:{default:""}},emits:["create","edit","clone","delete","outputChange","updateConstants","select-detail","reference-click"],setup(t,{emit:n}){const o=t,a=n,l=e.ref([]),r=e.ref("all"),i=e.ref([]),s=new Set(["system","space"]),c=O=>!!O&&s.has(O.source_type),f=e.computed(()=>{const O=Object.values(o.constants).sort((P,M)=>P.index-M.index);return[...o.systemVariables,...O]}),d=e.computed(()=>{const O=f.value;return[{value:"all",label:"全部",count:O.length},{value:"system",label:"系统",count:O.filter(P=>P.source_type==="system").length},{value:"space",label:"空间",count:O.filter(P=>P.source_type==="space").length},{value:"custom",label:"自定义",count:O.filter(P=>P.source_type==="custom").length},{value:"component_inputs",label:"节点输入",count:O.filter(P=>P.source_type==="component_inputs").length},{value:"component_outputs",label:"节点输出",count:O.filter(P=>P.source_type==="component_outputs").length}]}),v=e.computed(()=>[{id:"name",name:"名称"},{id:"key",name:"Key"},{id:"custom_type",name:"组件类型"}]),h=e.computed(()=>{let O=f.value;return r.value!=="all"&&(O=O.filter(P=>P.source_type===r.value)),i.value.length>0&&(O=O.filter(P=>i.value.every(M=>{const H=M.id,W=(M.values||[]).map(X=>String(X.id??X.name??"").toLowerCase());return W.length===0?!0:H==="name"?W.some(X=>String(P.name).toLowerCase().includes(X)):H==="key"?W.some(X=>String(P.key).toLowerCase().includes(X)):H==="custom_type"?W.some(X=>String(P.custom_type||"").toLowerCase().includes(X)):!0}))),O}),m=e.computed(()=>Object.values(o.constants).filter(O=>!c(O)).map(O=>O.key)),g=e.computed(()=>l.value.filter(O=>m.value.includes(O))),k={cellFn:O=>{if(O.index===0){const P=g.value.length,M=m.value.length,H=M>0&&P===M,W=P>0&&P<M;return e.createVNode("div",{class:"thead-checkbox-cell"},[e.createVNode(e.resolveComponent("bk-checkbox"),{modelValue:H,indeterminate:W,disabled:!o.editable||M===0,onChange:x},null)])}if(["show_type","outputs"].includes(O.column.prop)){const P={content:O.column.prop==="show_type"?"配置为「显示」可在执行时做为任务入参使用,配置为「隐藏」则仅能在流程内部使用":"该变量将作为该流程模板的输出结果,被其他流程当作子流程节点引用时可使用",placement:"top"};return e.withDirectives(e.createVNode("span",{class:"thead-with-desc"},[O.column.label]),[[e.resolveDirective("bk-tooltips"),P]])}return O.column.label}},y=O=>{switch(O.source_type){case"system":return"系统";case"space":return"空间";case"custom":return"自定义";case"component_inputs":return"节点输入";case"component_outputs":return"节点输出";default:return"--"}},A=O=>{switch(O.source_type){case"system":return;case"space":return;case"custom":return"info";case"component_inputs":return"warning";case"component_outputs":return"success";default:return}},_=O=>O.source_type==="system"||O.source_type==="space"||O.source_type==="component_inputs"||O.source_type==="component_outputs"?"--":O.custom_type||"--",w=O=>{const P=O.filter(W=>V(W)>0).length,M=O.length>1?`确认删除所选的 ${O.length} 个变量?`:`确认删除全局变量"${O[0]}"?`,H=P>0?`其中 ${P} 个变量已被引用,删除后请及时检查并更新节点配置`:"若该变量被节点引用,请及时检查并更新节点配置";eo.InfoBox({title:M,content:H,width:450,headerAlign:"center",footerAlign:"center",confirmText:"确认",cancelText:"取消",onConfirm:()=>{const W={...o.constants};O.slice().forEach(X=>{delete W[X];const G=l.value.indexOf(X);G!==-1&&l.value.splice(G,1)}),l.value=l.value.filter(X=>!O.includes(X)),a("updateConstants",W),a("delete",O)},onCancel:()=>{}})},b=O=>{a("select-detail",O)},C=(O,P)=>{if(!o.narrow)return;const M=O.target;M instanceof Element&&M.closest(".bk-checkbox")||b(P)},E=O=>{a("reference-click",O)},x=O=>{O?l.value=[...m.value]:l.value=[]},S=(O,P)=>{if(!m.value.includes(P))return;const M=l.value.indexOf(P);O?M===-1&&l.value.push(P):M!==-1&&l.value.splice(M,1)},V=O=>{if(o.variablesReference?.defined&&O in o.variablesReference.defined){const{activities:P,conditions:M,constants:H}=o.variablesReference.defined[O];return(P?.length||0)+(M?.length||0)+(H?.length||0)}return 0},N=()=>{const O=[...g.value];O.length!==0&&w(O)},T=O=>{c(O)||w([O.key])},z=O=>m.value.includes(O.key),j=O=>{const P=document.createElement("textarea");P.value=O.toString(),document.body.appendChild(P),P.select(),document.execCommand("copy"),document.body.removeChild(P),eo.Message({theme:"success",message:"复制成功"})},R=(O,P)=>{if(c(O))return;const M={...o.constants};M[O.key]={...O,show_type:P?"show":"hide"},a("updateConstants",M)},L=(O,P)=>{c(O)||a("outputChange",O.key,P)},F=O=>[o.narrow?"is-detail-clickable-row":"",o.selectedKey&&O.key===o.selectedKey?"is-selected-row":""].filter(Boolean).join(" ");return(O,P)=>{const M=e.resolveComponent("bk-button"),H=e.resolveComponent("bk-checkbox"),W=e.resolveComponent("bk-table-column"),X=e.resolveComponent("bk-overflow-title"),G=e.resolveComponent("bk-tag"),Q=e.resolveComponent("bk-switcher"),ne=e.resolveComponent("bk-popover"),ae=e.resolveComponent("bk-table"),$=e.resolveDirective("bk-tooltips");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["bkflow-variable-table",{"is-narrow":o.narrow}])},[e.createElementVNode("div",vT,[e.createElementVNode("div",gT,[e.createVNode(M,{theme:"primary",disabled:!o.editable,onClick:P[0]||(P[0]=K=>a("create"))},{default:e.withCtx(()=>[...P[5]||(P[5]=[e.createTextVNode("新建",-1)])]),_:1},8,["disabled"]),e.withDirectives((e.openBlock(),e.createElementBlock("span",hT,[e.createVNode(M,{disabled:!o.editable||g.value.length===0,onClick:N},{default:e.withCtx(()=>[...P[6]||(P[6]=[e.createTextVNode(" 批量删除 ",-1)])]),_:1},8,["disabled"])])),[[$,{content:"请先选择需要删除的变量",disabled:g.value.length>0,placement:"top"}]])]),o.narrow?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",bT,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,K=>(e.openBlock(),e.createElementBlock("div",{key:K.value,class:e.normalizeClass(["filter-tab",{active:r.value===K.value}]),onClick:me=>r.value=K.value},[e.createTextVNode(e.toDisplayString(K.label)+" ",1),e.createElementVNode("span",kT,"("+e.toDisplayString(K.count)+")",1)],10,yT))),128))])),e.createElementVNode("div",wT,[e.createVNode(ks,{modelValue:i.value,"onUpdate:modelValue":P[1]||(P[1]=K=>i.value=K),placeholder:"搜索名称、Key、组件类型",options:v.value},null,8,["modelValue","options"])])]),e.createElementVNode("div",CT,[e.createVNode(ae,{data:h.value,border:["outer"],thead:k,"row-class":F,"max-height":"100%",onRowClick:C},{default:e.withCtx(()=>[e.createVNode(W,{align:"center","min-width":40,width:40},{default:e.withCtx(({row:K})=>[e.createElementVNode("div",AT,[e.withDirectives(e.createVNode(H,{"model-value":l.value.includes(K.key),disabled:!o.editable||!z(K),onChange:me=>S(me,K.key)},null,8,["model-value","disabled","onChange"]),[[$,{content:"该变量不支持批量操作",disabled:z(K),placement:"top"}]])])]),_:1}),e.createVNode(W,{label:"名称",prop:"name","min-width":140},{default:e.withCtx(({row:K})=>[e.createElementVNode("div",ET,[e.createVNode(X,{type:"tips"},{default:e.withCtx(()=>[e.createElementVNode("span",{class:"name-link",onClick:e.withModifiers(me=>b(K),["stop"])},e.toDisplayString(K.name),9,xT)]),_:2},1024)])]),_:1}),o.narrow?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(W,{label:"Key",prop:"key","min-width":160},{default:e.withCtx(({row:K})=>[e.createElementVNode("div",_T,[e.withDirectives(e.createVNode(e.unref(yn.CopyShape),{class:"key-copy-icon",onClick:e.withModifiers(me=>j(K.key),["stop"])},null,8,["onClick"]),[[$,{content:"复制",placement:"top"}]]),e.createVNode(X,{class:"key-overflow-title",type:"tips"},{default:e.withCtx(()=>[e.createElementVNode("span",{class:"key-text",onClick:e.withModifiers(me=>j(K.key),["stop"])},e.toDisplayString(K.key),9,BT)]),_:2},1024)])]),_:1}),e.createVNode(W,{label:"分类",prop:"source_type",width:100},{default:e.withCtx(({row:K})=>[e.createVNode(G,{theme:A(K)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y(K)),1)]),_:2},1032,["theme"])]),_:1}),e.createVNode(W,{label:"组件类型",prop:"custom_type",width:110},{default:e.withCtx(({row:K})=>[e.createVNode(G,{class:"component-type-tag"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(_(K)),1)]),_:2},1024)]),_:1}),e.createVNode(W,{label:"引用",prop:"reference",width:70},{default:e.withCtx(({row:K})=>[V(K.key)>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:"reference-link",onClick:e.withModifiers(me=>E(K),["stop"])},e.toDisplayString(V(K.key)),9,ST)):(e.openBlock(),e.createElementBlock("span",VT,e.toDisplayString(V(K.key)),1))]),_:1}),e.createVNode(W,{label:"入参",prop:"show_type",width:80},{default:e.withCtx(({row:K})=>[e.createVNode(Q,{theme:"primary",size:"small",value:K.show_type==="show",disabled:!o.editable||c(K)||K.source_type==="component_outputs",onClick:P[2]||(P[2]=e.withModifiers(()=>{},["stop"])),onChange:me=>R(K,me)},null,8,["value","disabled","onChange"])]),_:1}),e.createVNode(W,{label:"输出",prop:"outputs",width:80},{default:e.withCtx(({row:K})=>[e.createVNode(Q,{theme:"primary",size:"small",value:o.outputs.includes(K.key),disabled:!o.editable||c(K),onClick:P[3]||(P[3]=e.withModifiers(()=>{},["stop"])),onChange:me=>L(K,me)},null,8,["value","disabled","onChange"])]),_:1})],64)),o.narrow?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(W,{key:1,label:"操作",prop:"action",width:100,fixed:"right"},{default:e.withCtx(({row:K})=>[e.createElementVNode("div",NT,[["system","space"].includes(K.source_type)?(e.openBlock(),e.createBlock(M,{key:0,theme:"primary",size:"small",text:"",onClick:e.withModifiers(me=>b(K),["stop"])},{default:e.withCtx(()=>[...P[7]||(P[7]=[e.createTextVNode(" 查看 ",-1)])]),_:1},8,["onClick"])):o.editable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(M,{theme:"primary",size:"small",text:"",onClick:e.withModifiers(me=>a("edit",K),["stop"])},{default:e.withCtx(()=>[...P[8]||(P[8]=[e.createTextVNode("编辑",-1)])]),_:1},8,["onClick"]),e.createVNode(ne,{placement:"bottom",theme:"light",trigger:"click","ext-cls":"varibale-table-action-popover",width:90},{content:e.withCtx(()=>[e.unref(kl)(K)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:0,class:"more-action-item",onClick:me=>a("clone",K)},"克隆",8,TT)),e.createElementVNode("div",{class:"more-action-item",onClick:me=>T(K)},"删除",8,DT)]),default:e.withCtx(()=>[e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-more-fill row-action-more",onClick:P[4]||(P[4]=e.withModifiers(()=>{},["stop"]))})]),_:2},1024)],64)):(e.openBlock(),e.createBlock(M,{key:2,theme:"primary",size:"small",text:"",onClick:e.withModifiers(me=>b(K),["stop"])},{default:e.withCtx(()=>[...P[9]||(P[9]=[e.createTextVNode("查看",-1)])]),_:1},8,["onClick"]))])]),_:1}))]),_:1},8,["data"])])],2)}}}),OT=He(IT,[["__scopeId","data-v-254e2461"]]);function Ev(){if(typeof self>"u")return;const t=self;t.MonacoEnvironment||(t.MonacoEnvironment={getWorker(n,o){const l={json:"monaco-editor/esm/vs/language/json/json.worker.js",css:"monaco-editor/esm/vs/language/css/css.worker.js",scss:"monaco-editor/esm/vs/language/css/css.worker.js",less:"monaco-editor/esm/vs/language/css/css.worker.js",html:"monaco-editor/esm/vs/language/html/html.worker.js",handlebars:"monaco-editor/esm/vs/language/html/html.worker.js",razor:"monaco-editor/esm/vs/language/html/html.worker.js",typescript:"monaco-editor/esm/vs/language/typescript/ts.worker.js",javascript:"monaco-editor/esm/vs/language/typescript/ts.worker.js"}[o]||"monaco-editor/esm/vs/editor/editor.worker.js";return new Worker(l,{type:"module"})}})}Ev();const MT={class:"editor-header"},PT=e.defineComponent({__name:"index",props:{modelValue:{},options:{default:void 0},fullscreenZIndex:{default:10001}},emits:["update:modelValue","change","blur","save","markers-change"],setup(t,{expose:n,emit:o}){Ev();const a={language:"javascript",theme:"vs-dark",automaticLayout:!0,minimap:{enabled:!1},wordWrap:"on",wrappingIndent:"same"},l=t,r=o,i=e.ref(),s=e.shallowRef(),c=e.shallowRef(!1),f=e.ref(!1);let d=null;e.watch(()=>l.modelValue,_=>{const w=s.value?.getValue();_!==w&&s.value?.setValue(_)}),e.watch(()=>l.options,_=>{if(_){const{placeholder:w,...b}=_;s.value?.updateOptions({...a,...b})}},{deep:!0}),e.onMounted(()=>{v()}),e.onBeforeUnmount(()=>{d?.dispose(),s.value?.dispose()});const v=()=>{const{placeholder:_,...w}=l.options||{};s.value=zl.editor.create(i.value,{...a,...w,value:l.modelValue});const b=s.value.getModel();if(b&&(b.setEOL(0),b.onDidChangeContent(()=>{const E=s.value?.getValue();A(E)})),l.modelValue.indexOf(`\r
2
2
  `)>-1){const E=document.createElement("textarea");E.value=l.modelValue,A(E.value)}if(_){const E=typeof _=="string"?_:JSON.stringify(_,null,4);h(E)}const C=s.value.getModel();if(C){const E=C.uri;d=zl.editor.onDidChangeMarkers(x=>{if(x.some(V=>V.toString()===E.toString())){const V=zl.editor.getModelMarkers({resource:E}),N=V.filter(T=>T.severity===zl.MarkerSeverity.Error);f.value=N.length>0,r("markers-change",{hasErrors:N.length>0,markers:V})}})}s.value.onDidBlurEditorText(()=>{r("blur")}),s.value.addCommand(zl.KeyMod.CtrlCmd|zl.KeyCode.KeyS,()=>{const E=s.value?.getValue();r("save",E)})},h=_=>{const w=s.value,b={getId(){return"placeholder.widget"},getDomNode(){if(!this.domNode){const C=document.createElement("div");C.textContent=_,C.classList.add("editor-placeholder"),C.style.display=w.getValue()?"none":"",this.domNode=C}return this.domNode},getPosition(){return null}};w.addOverlayWidget(b),w.onDidChangeModelContent(()=>{b.getDomNode().style.display=w.getValue()?"none":""})},m=()=>{const _=document.createElement("textarea");_.value=s.value.getValue(),document.body.appendChild(_),_.select(),document.execCommand("copy"),document.body.removeChild(_),Kt({theme:"success",message:"复制成功"})},g=()=>{c.value=!0,window.addEventListener("keydown",y,{once:!0}),Kt({theme:"primary",message:"按 Esc 即可退出全屏模式"})},k=()=>{c.value=!1,window.removeEventListener("keydown",y)},y=_=>{_.code==="Escape"&&(c.value=!1)},A=_=>{r("update:modelValue",_),r("change",_)};return n({hasMarkerErrors:f}),(_,w)=>{const b=e.resolveDirective("bk-tooltips");return e.openBlock(),e.createBlock(e.Teleport,{disabled:!c.value,to:"body"},[e.createElementVNode("div",{class:e.normalizeClass(["bkflow-code-editor",{fullscreen:c.value}]),style:e.normalizeStyle(c.value?{zIndex:t.fullscreenZIndex}:void 0)},[e.createElementVNode("div",MT,[e.withDirectives(e.createVNode(e.unref(yn.Copy),{class:"copy-icon",onClick:m},null,512),[[b,{content:"复制",placement:"top",distance:20}]]),c.value?e.withDirectives((e.openBlock(),e.createBlock(e.unref(yn.UnfullScreen),{key:1,class:"fullscreen-icon",onClick:k},null,512)),[[b,{content:"退出全屏",placement:"top",distance:20}]]):e.withDirectives((e.openBlock(),e.createBlock(e.unref(yn.FilliscreenLine),{key:0,class:"fullscreen-icon",onClick:g},null,512)),[[b,{content:"全屏",placement:"top",distance:20}]])]),e.createElementVNode("div",{ref_key:"monacoContainerRef",ref:i,class:"editor-instance-container"},null,512)],6)],8,["disabled"])}}}),ha=He(PT,[["__scopeId","data-v-26f903ae"]]),El=(t,n)=>{const o=e.ref(Fe(t.variable));e.watch(()=>t.variable,r=>{o.value=Fe(r)},{deep:!0});const a=e.computed(()=>({...o.value}));return{localData:o,formModel:a,handleChange:()=>{n("change",Fe(o.value))}}},Kr=(t,n,o="")=>e.computed({get:()=>t.value.meta?.[n]??o,set:a=>{t.value.meta={...t.value.meta||{},[n]:a}}}),xl=async t=>{if(!t.value)return!0;try{return await t.value.validate(),!0}catch{return!1}},LT={key:0,class:"validate-message"},RT={class:"array-default-value-config"},FT={key:0,class:"json-editor-wrapper"},zT={key:1,class:"array-value-table"},jT=["draggable","onDragstart","onDragover","onDrop"],HT={class:"drag-cell"},UT={class:"index-cell"},GT={class:"action-cell"},WT={class:"action-cell-inner"},YT=["onClick"],qT=["onClick"],QT={key:2,class:"validate-message"},$T=e.defineComponent({__name:"builtin-array-config",props:{variable:{},editable:{type:Boolean,default:!0}},emits:["change"],setup(t,{expose:n,emit:o}){const a=t,l=o,r=e.ref(),i=e.ref(""),s=e.ref(""),c=e.ref(!1),f=e.ref(-1),d=e.ref(-1),{localData:v,formModel:h,handleChange:m}=El(a,l),g=[{value:"string",label:"string"},{value:"number",label:"number"},{value:"boolean",label:"boolean"},{value:"json",label:"JSON"}],k=[{value:!0,label:"true"},{value:!1,label:"false"}],y=()=>`array_item_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,A=()=>({id:y(),value:"",isPlaceholder:!0}),_=de=>de.meta||{},w=de=>{const le=_(de).item_type;return["number","boolean","json"].includes(le||"")?le:"string"},b=de=>{try{return JSON.stringify(de)}catch{return String(de)}},C=(de,le)=>{if(de==null)return"";if(le==="number"){if(de==="")return"";const be=Number(de);return Number.isNaN(be)?String(de):be}if(le==="boolean"){if(typeof de=="boolean")return de;if(typeof de=="string"){const be=de.toLowerCase();if(be==="true")return!0;if(be==="false")return!1}return""}return typeof de=="object"?b(de):String(de)},E=(de,le)=>(Array.isArray(de)?de:[]).map(tt=>C(tt,le)),x=(de,le)=>{const be=E(de,le);return be.length<1?[A()]:be.map(tt=>({id:y(),value:tt}))},S=de=>{v.value.meta={...v.value.meta||{},data_type:"array",...de}},V=e.computed({get:()=>w(v.value),set:de=>{S({item_type:de,item_validation:""})}}),N=e.computed({get:()=>_(v.value).item_validation||"",set:de=>{S({item_validation:de})}}),T=e.computed(()=>V.value==="json"),z=e.computed(()=>v.value.source_type!=="component_outputs"),j=w(a.variable),R=e.ref(j==="json"?[A()]:x(a.variable.value,j)),L=e.computed(()=>({language:"json",theme:"vs-dark",readOnly:!a.editable,lineNumbers:"on",scrollBeyondLastLine:!1,tabSize:2,placeholder:"[]"})),F=de=>{if(de==null||de==="")return"[]";if(typeof de=="string"){const le=de.trim();if(!le)return"[]";try{const be=JSON.parse(le);return JSON.stringify(Array.isArray(be)?be:[],null,2)}catch{return de}}return JSON.stringify(Array.isArray(de)?de:[],null,2)},O=e.ref(F(v.value.value)),P=()=>R.value.filter(de=>!de.isPlaceholder),M=de=>P().map(le=>C(le.value,de)),H=()=>{V.value!=="json"&&(v.value.value=M(V.value),m())},W=(de,le)=>de.length!==le.length?!1:de.every((be,tt)=>be===le[tt]);e.watch(()=>a.variable,de=>{const le=w(de);if(le==="json"){const tt=F(de.value);tt!==O.value&&(O.value=tt);return}const be=E(de.value,le);w(v.value)===le&&W(be,M(le))||(R.value=x(de.value,le))},{deep:!0});const X=()=>{const de=O.value.trim();if(!de)return{valid:!1,message:"请输入 JSON 默认值"};try{const le=JSON.parse(de);return Array.isArray(le)?{valid:!0,value:le}:{valid:!1,message:"请输入数组格式的 JSON 默认值"}}catch{return{valid:!1,message:"请输入正确的 JSON 格式数据"}}},G=()=>{const de=X();return de.valid?(i.value="",v.value.value=de.value,m(),!0):!1},Q=()=>{i.value="",G()},ne=()=>{a.editable&&G()&&(O.value=F(v.value.value))},ae=({hasErrors:de})=>{c.value=de},$=de=>{if(!(!a.editable||V.value===de)){if(V.value=de,i.value="",s.value="",c.value=!1,f.value=-1,d.value=-1,de==="json"){v.value.value=[],O.value=F([]),m();return}v.value.value=[],R.value=[A()],H()}},K=()=>{s.value="",i.value="",m()},me=(de,le)=>{if(V.value==="json")return;const be=R.value.slice();be[de]={...be[de],value:C(le,V.value),isPlaceholder:!1},R.value=be,i.value="",H()},te=de=>{if(!a.editable)return;const le=R.value.slice();le[de]?.isPlaceholder&&(le[de]={...le[de],isPlaceholder:!1}),le.splice(de+1,0,{id:y(),value:""}),R.value=le,i.value="",H()},re=de=>{if(!a.editable)return;const le=R.value.slice();le.splice(de,1),R.value=le.length>0?le:[A()],i.value="",H()},ue=(de,le)=>{!a.editable||R.value[de]?.isPlaceholder||(f.value=de,le.dataTransfer&&(le.dataTransfer.effectAllowed="move"))},pe=de=>{!a.editable||f.value<0||R.value[de]?.isPlaceholder||(d.value=de)},Ae=()=>{d.value=-1},Pe=de=>{const le=f.value;if(!a.editable||le<0||le===de||R.value[de]?.isPlaceholder)return;const be=R.value.slice(),[tt]=be.splice(le,1);be.splice(de,0,tt),R.value=be,H()},Qe=()=>{f.value=-1,d.value=-1},qe=()=>{if(T.value||!N.value.trim())return!0;try{return new RegExp(N.value),s.value="",!0}catch{return s.value="正则表达式格式不合法",!1}},Te=()=>{if(V.value==="json")return!0;const de=P();if(V.value==="number"&&de.some(be=>be.value===""||Number.isNaN(Number(be.value))))return i.value="请输入合法的数字元素值",!1;if(V.value==="boolean"&&de.some(be=>be.value!==!0&&be.value!==!1))return i.value="请选择合法的布尔元素值",!1;if(N.value.trim()){const le=new RegExp(N.value);if(de.some(tt=>!le.test(String(tt.value))))return i.value=`元素值不符合正则规则:${N.value}`,!1}return i.value="",!0},xe=()=>{const de=X();return!de.valid||c.value?(i.value=de.message||"请输入正确的 JSON 格式数据",!1):(v.value.value=de.value,m(),i.value="",!0)};return n({validate:async()=>{const de=await xl(r);if(T.value)return de&&xe();if(!qe()||!Te())return!1;const le=V.value;return le==="json"?!1:(v.value.value=M(le),m(),de)}}),(de,le)=>{const be=e.resolveComponent("bk-select"),tt=e.resolveComponent("bk-form-item"),ut=e.resolveComponent("bk-input"),ft=e.resolveComponent("bk-form");return e.openBlock(),e.createBlock(ft,{ref_key:"formRef",ref:r,"label-width":110,model:e.unref(h)},{default:e.withCtx(()=>[e.createVNode(tt,{label:"元素数据类型"},{default:e.withCtx(()=>[e.createVNode(be,{"model-value":V.value,clearable:!1,list:g,disabled:!a.editable,onChange:$},null,8,["model-value","disabled"])]),_:1}),T.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(tt,{key:0,label:"元素正则校验"},{default:e.withCtx(()=>[e.createVNode(ut,{modelValue:N.value,"onUpdate:modelValue":le[0]||(le[0]=st=>N.value=st),disabled:!a.editable,placeholder:"请输入",onChange:K},null,8,["modelValue","disabled"]),s.value?(e.openBlock(),e.createElementBlock("div",LT,e.toDisplayString(s.value),1)):e.createCommentVNode("",!0)]),_:1})),z.value?(e.openBlock(),e.createBlock(tt,{key:1,label:"默认值"},{default:e.withCtx(()=>[e.createElementVNode("div",RT,[T.value?(e.openBlock(),e.createElementBlock("div",FT,[e.createVNode(ha,{modelValue:O.value,"onUpdate:modelValue":le[1]||(le[1]=st=>O.value=st),options:L.value,onChange:Q,onBlur:ne,onMarkersChange:ae},null,8,["modelValue","options"])])):(e.openBlock(),e.createElementBlock("table",zT,[le[4]||(le[4]=e.createElementVNode("colgroup",null,[e.createElementVNode("col",{class:"drag-col"}),e.createElementVNode("col",{class:"index-col"}),e.createElementVNode("col"),e.createElementVNode("col",{class:"action-col"})],-1)),le[5]||(le[5]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th"),e.createElementVNode("th",null,"index"),e.createElementVNode("th",null,"元素值"),e.createElementVNode("th")])],-1)),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(R.value,(st,_e)=>(e.openBlock(),e.createElementBlock("tr",{key:st.id,class:e.normalizeClass({"drag-over":d.value===_e}),draggable:a.editable&&!st.isPlaceholder,onDragstart:Ne=>ue(_e,Ne),onDragover:e.withModifiers(Ne=>pe(_e),["prevent"]),onDragleave:Ae,onDrop:e.withModifiers(Ne=>Pe(_e),["prevent"]),onDragend:Qe},[e.createElementVNode("td",HT,[e.createElementVNode("i",{class:e.normalizeClass(["bkflow-canvas-icon bkflow-canvas-drag drag-handle",{disabled:st.isPlaceholder}])},null,2)]),e.createElementVNode("td",UT,e.toDisplayString(_e),1),e.createElementVNode("td",{class:e.normalizeClass(["array-value-cell",{"select-cell":V.value==="boolean"}])},[V.value==="boolean"?(e.openBlock(),e.createBlock(be,{key:0,class:"array-value-select","model-value":st.value,clearable:!1,list:k,disabled:!a.editable,placeholder:"请选择",onChange:Ne=>me(_e,Ne)},null,8,["model-value","disabled","onChange"])):(e.openBlock(),e.createBlock(ut,{key:1,class:"array-value-input","model-value":st.value,type:V.value==="number"?"number":"text",disabled:!a.editable,placeholder:"请输入",onChange:Ne=>me(_e,Ne)},null,8,["model-value","type","disabled","onChange"]))],2),e.createElementVNode("td",GT,[e.createElementVNode("div",WT,[e.createElementVNode("div",{class:e.normalizeClass(["action-btn",{disabled:!a.editable}]),onClick:Ne=>te(_e)},[...le[2]||(le[2]=[e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-plus-circle-shape"},null,-1)])],10,YT),e.createElementVNode("div",{class:e.normalizeClass(["action-btn",{disabled:!a.editable}]),onClick:Ne=>re(_e)},[...le[3]||(le[3]=[e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-minus-circle-shape"},null,-1)])],10,qT)])])],42,jT))),128))])])),i.value?(e.openBlock(),e.createElementBlock("div",QT,e.toDisplayString(i.value),1)):e.createCommentVNode("",!0)])]),_:1})):e.createCommentVNode("",!0)]),_:1},8,["model"])}}}),KT=He($T,[["__scopeId","data-v-ca2094f9"]]),ZT={class:"retrieval-filter-adapter"},XT=e.defineComponent({__name:"index",props:{modelValue:{},source:{},fields:{},dimensions:{default:void 0}},emits:["update:modelValue"],setup(t,{emit:n}){const o=t,a=n,l=Qi(),r=h=>{const m=e.toRaw(h);return Array.isArray(m)?m.map(r):m&&typeof m=="object"?Object.fromEntries(Object.entries(m).map(([g,k])=>[g,r(k)])):m},i=e.computed(()=>r(o.fields)),s=e.computed(()=>{if(Cv(o.dimensions))return i.value;const h=new Set(o.dimensions);return i.value.filter(m=>h.has(m.name))}),c=h=>h.map(m=>({...m,method:m.operator,condition:"and"})),f=h=>$i(h),d=async h=>{if(!l)return{count:0,list:[]};const m=Array.isArray(h.where)?h.where[0]:void 0,g=Array.isArray(m?.value)?m.value[0]:void 0,k={field:h.field??m?.key??(Array.isArray(h.fields)?h.fields[0]:void 0),keyword:h.search??(g===void 0?void 0:String(g)),limit:h.limit??l.limit,method:m?.method??m?.operator,isWildcard:!!m?.options?.is_wildcard};try{return await l.getValues(o.source,k)}catch{return{count:0,list:[]}}},v=h=>{a("update:modelValue",Array.isArray(h)?h:[])};return(h,m)=>(e.openBlock(),e.createElementBlock("div",ZT,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(l).retrievalFilterComponent),{fields:s.value,where:o.modelValue,"get-value-fn":d,"is-single-mode":!0,"is-show-search-btn":!1,"z-index":e.unref(l).popupZIndex,"load-delay":e.unref(l).loadDelay,limit:e.unref(l).limit,"where-formatter":c,"change-where-formatter":f,onWhereChange:v},null,40,["fields","where","z-index","load-delay","limit"]))]))}}),O1=He(XT,[["__scopeId","data-v-80df5a98"]]),JT={class:"candidate-data-config"},e8={class:"candidate-data-row readonly-row"},t8={class:"candidate-data-value"},n8={class:"candidate-data-row dimension-row"},o8={key:0,class:"filter-default-editor"},a8={key:1,class:"filter-readonly"},l8={key:0},r8={key:2,class:"filter-error"},s8=e.defineComponent({__name:"builtin-filter-config",props:{variable:{},editable:{type:Boolean,default:!0}},emits:["change"],setup(t,{expose:n,emit:o}){const a={required:"该变量为必填项,请配置至少一个条件",incomplete_condition:"存在未填写完整的条件,请补全字段、运算符和值",dimension_out_of_range:"默认值中存在超出可选维度范围的条件,请修正"},l=t,r=o,i=e.ref(),s=e.ref(""),{localData:c,formModel:f,handleChange:d}=El(l,r),v=Qi(),h=bv(),m=kv(),g=e.computed(()=>Av(c.value,h)),k=e.computed(()=>{const C=g.value;return C?{sourceNodeId:C.nodeId,sourceNodeName:C.nodeName,sourceFieldKey:C.fieldKey,sourceFieldName:C.fieldName,sourceNodeComponent:m?.(C.nodeId)}:null}),y=e.computed(()=>l.editable&&!!k.value&&Qc(v)),{fields:A}=S1(k),_=e.computed({get:()=>$i(c.value.value),set:C=>{c.value.value=C,s.value="",d()}}),w=e.computed({get:()=>c.value.meta?.filter?.dimensions||[Ma],set:C=>{const E=tT(w.value,C);c.value.meta={...c.value.meta,filter:{...c.value.meta?.filter||wv(),dimensions:E}},d()}});return n({validate:async()=>{if(s.value="",!await xl(i))return!1;if(!k.value)return s.value="该变量缺少关联节点与关联表单项,无法使用",!1;if(!Qc(v))return s.value="当前环境缺少条件选择能力,无法编辑该变量",!1;const C=D1(_.value,{required:c.value.meta?.required,dimensions:w.value});return C.valid||(s.value=a[C.errors[0].code]),C.valid}}),(C,E)=>{const x=e.resolveComponent("bk-option"),S=e.resolveComponent("bk-select"),V=e.resolveComponent("bk-form-item"),N=e.resolveComponent("bk-form");return e.openBlock(),e.createBlock(N,{ref_key:"formRef",ref:i,class:"filter-config-form","label-width":110,model:e.unref(f)},{default:e.withCtx(()=>[e.createVNode(V,{label:"候选数据"},{default:e.withCtx(()=>[e.createElementVNode("div",JT,[e.createElementVNode("div",e8,[E[2]||(E[2]=e.createElementVNode("span",{class:"candidate-data-prefix"},"关联数据",-1)),e.createElementVNode("span",t8,e.toDisplayString(g.value?`${g.value.nodeName} / ${g.value.fieldName}`:"--"),1),E[3]||(E[3]=e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-arrows-down candidate-data-arrow"},null,-1))]),e.createElementVNode("div",n8,[E[4]||(E[4]=e.createElementVNode("span",{class:"candidate-data-prefix"},"可选维度",-1)),e.createVNode(S,{modelValue:w.value,"onUpdate:modelValue":E[0]||(E[0]=T=>w.value=T),class:"dimension-select",multiple:"",disabled:!y.value,placeholder:"- ALL -"},{default:e.withCtx(()=>[e.createVNode(x,{id:e.unref(Ma),name:"- ALL -"},null,8,["id"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(A),T=>(e.openBlock(),e.createBlock(x,{id:T.name,key:T.name,name:T.alias||T.name},null,8,["id","name"]))),128))]),_:1},8,["modelValue","disabled"])])])]),_:1}),e.createVNode(V,{label:"默认值"},{default:e.withCtx(()=>[y.value?(e.openBlock(),e.createElementBlock("div",o8,[e.createVNode(O1,{modelValue:_.value,"onUpdate:modelValue":E[1]||(E[1]=T=>_.value=T),source:k.value,fields:e.unref(A),dimensions:w.value},null,8,["modelValue","source","fields","dimensions"])])):(e.openBlock(),e.createElementBlock("div",a8,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,(T,z)=>(e.openBlock(),e.createElementBlock("div",{key:z},e.toDisplayString(T.key)+" "+e.toDisplayString(T.operator)+" "+e.toDisplayString(T.value.join(", ")),1))),128)),_.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",l8,"--"))])),s.value?(e.openBlock(),e.createElementBlock("div",r8,e.toDisplayString(s.value),1)):e.createCommentVNode("",!0)]),_:1})]),_:1},8,["model"])}}}),i8=He(s8,[["__scopeId","data-v-9df2c636"]]),u8={class:"json-editor-wrapper"},c8={key:0,class:"validate-message"},d8=e.defineComponent({__name:"builtin-json-config",props:{variable:{},editable:{type:Boolean,default:!0}},emits:["change"],setup(t,{expose:n,emit:o}){const a=t,l=o,r=e.ref(),i=e.ref(""),s=e.ref(!1),{localData:c,formModel:f,handleChange:d}=El(a,l),v=e.computed(()=>c.value.source_type!=="component_outputs"),h=e.computed(()=>({language:"json",theme:"vs-dark",readOnly:!a.editable,lineNumbers:"on",scrollBeyondLastLine:!1,tabSize:2,placeholder:"{}"})),m=C=>{if(C==null||C==="")return`{
3
3
 
4
4
  }`;if(typeof C=="string"){const E=C.trim();if(!E)return`{
@@ -82,4 +82,4 @@ function print() { __p += __j.call(arguments, '') }
82
82
  padding: ${l.padding};
83
83
  `,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 joe(t){const{reference:n}=t,{props:o}=n._bk_overflow_tips_;if(zoe(n)){let{content:l}=o;return l||(l=o.allowHTML?n.innerHTML:n.textContent),t.setContent(l),!0}return!1}function Ww(t,n){t.onShow=o=>{if(typeof n.onShow=="function"&&!n.onShow(o)||!joe(o))return!1}}function Yw(t,n){const o=["db-tippy bk-overflow-tips"];n.theme&&o.push(n.theme),t.theme=o.join(" ")}function qw(t){const n=Object.entries(t).map(a=>a[0]);if(n.length===0)return{};const o={};for(const a of n)Foe.includes(a)&&(o.placement=a);return o}const Hoe={arrow:!0,interactive:!0,delay:150,allowHTML:!1,maxWidth:600,placement:"top",appendTo:()=>document.body},Uoe={mounted(t,n){const o=typeof n.value=="object"?n.value:qw(n.modifiers),a=Object.assign({...Hoe},o);Ww(a,o),Yw(a,o),t._bk_overflow_tips_={props:a,instance:Roe(t,a)}},updated(t,n){const{props:o,instance:a}=t._bk_overflow_tips_,l=typeof n.value=="object"?n.value:qw(n.modifiers);Object.assign(o,l),Ww(o,l),Yw(o,l),a.setProps(o)},beforeUnmount(t){t._tippy&&t._tippy.destroy(),delete t._bk_overflow_tips_}},Goe=()=>`${ps.random(0,999999)}_${Date.now()}_${ps.random(0,999999)}`,Woe=["data-fixed","data-maxWidth","data-minWidth","data-width"],Yoe={class:"th-cell"},qoe={style:{display:"inline-block","line-height":"40px","vertical-align":"top"}},Qoe=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(UE),s=e.inject(AE),c=e.ref(),f=e.ref(0),d=vn.bkTooltips,v=Uoe,h=Goe();let m=0,g=!1;const k=e.computed(()=>n.minWidth?n.minWidth:n.width??100),y=e.computed(()=>n.fixed==="right"),A=e.computed(()=>n.fixed==="left"),_=e.computed(()=>{if(n.width&&a?.value&&k.value){const E=a.value*m;if(E!==n.width){let x=0;return l?.value?f.value!==0&&(f.value!==k.value||f.value!==n.width)?x=f.value:x=k.value:E>k.value?x=E:x=k.value,{minWidth:`${x}px`}}}return{minWidth:n.width?`${n.width}px`:"120px"}}),w=e.computed(()=>{var E;return(E=n.renderAppend)==null?void 0:E.call(n)});e.watch(()=>[n.width,a?.value,f.value],([E,x,S])=>{g&&E&&x&&S&&k.value&&(g=!1,S!==0&&(S!==k.value||S!==E)?m=S/x:m=l?.value?k.value/x:E/x)},{immediate:!0}),EE(c,()=>{if(!g)return;const E=parseFloat(c.value.style.width);f.value=E});const b=E=>{g=!0,s?.columnMousedown(E,{columnKey:h,minWidth:k.value})},C=E=>{s?.columnMouseMove(E)};return(E,x)=>(e.openBlock(),e.createElementBlock("th",{ref_key:"columnRef",ref:c,style:e.normalizeStyle(_.value),class:e.normalizeClass(["bk-ediatable-head-column",{[`column-${e.unref(h)}`]:!0,"is-right-fixed":e.unref(l)&&y.value&&!e.unref(i),"is-left-fixed":e.unref(l)&&A.value&&!e.unref(r)}]),"data-fixed":E.fixed,"data-maxWidth":E.maxWidth,"data-minWidth":k.value,"data-width":E.width,onMousedown:b,onMousemove:C},[e.createElementVNode("div",{class:e.normalizeClass({"is-required":E.required})},[e.withDirectives((e.openBlock(),e.createElementBlock("div",Yoe,[e.withDirectives((e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass({"title-memo":E.memo})},[e.renderSlot(E.$slots,"default")],2)),[[e.unref(d),{content:E.memo,disabled:!E.memo}]])])),[[e.unref(v)]]),e.createElementVNode("div",qoe,[o.append&&!E.renderAppend?e.renderSlot(E.$slots,"append",{key:0}):e.createCommentVNode("v-if",!0),E.renderAppend!==void 0?(e.openBlock(),e.createBlock(e.unref(w),{key:1})):e.createCommentVNode("v-if",!0)])],2)],46,Woe))}}),UE=Symbol("renderTable"),Qw=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,d()},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:d}=nne(a,r,ps.debounce(o));e.provide(UE,{isOverflow:i,rowWidth:s,isScrollToLeft:c,isScrollToRight:f});const v=ps.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",v)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",o),a.value.removeEventListener("scroll",v)}),(h,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&&h.theadList.length===0?e.renderSlot(h.$slots,"default",{key:0}):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(h.theadList,(g,k)=>(e.openBlock(),e.createBlock(Qoe,{key:k,width:g.width,"min-width":g.minWidth,"max-width":g.maxWidth,fixed:g.fixed,required:g.required,"render-append":g.renderAppend,memo:g.memo},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.title),1)]),_:2},1032,["width","min-width","max-width","fixed","required","render-append","memo"]))),128))])]),e.renderSlot(h.$slots,"data")],512),e.createElementVNode("div",{ref_key:"tableColumnResizeRef",ref:r,class:"table-column-resize"},null,512)],2))}}),nm=t=>typeof t.message=="function"?t.message():t.message;function GE(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(nm(i))}).then(()=>l(),()=>{n.error=!0;const c=nm(i);return n.message=c,Promise.reject(c)});if(!s){n.error=!0;const c=nm(i);return n.message=c,Promise.reject(c)}return l()})}})();return l()};return{...e.toRefs(n),validator:o}}const dv=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})}}),$oe={key:2,class:"blur-dispaly-main"},Koe=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 d=vn.bkTooltips,{message:v,validator:h}=GE(a.rules),m=()=>{s.value=!1,l("focus")},g=w=>{s.value=!0,r.value=a.type==="number"?Number(w):w,a.type==="number"&&h(r.value).then(()=>{l("error",!1),l("change",r.value),l("submit",r.value)}).catch(()=>l("error",!0))},k=()=>{r.value="",h("").catch(()=>l("error",!0)).finally(()=>{l("clear")})},y=w=>{s.value=!1,r.value=w},A=w=>{setTimeout(()=>{if(s.value=!0,a.disabled){w.preventDefault();return}if(r.value){if(f===r.value)return;f=r.value,h(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)},_=(w,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(),h(r.value).then(C=>{C&&(l("error",!1),l("change",r.value),l("submit",r.value))}).catch(()=>l("error",!0))}};return n({getValue(){return h(r.value).then(()=>r.value)},focus(){var w;(w=i.value.querySelector("input"))==null||w.focus()}}),(w,b)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"rootRef",ref:i,class:e.normalizeClass(["bk-ediatable-input",{"is-error":!!e.unref(v),"is-disabled":w.disabled,"is-password":c.value}])},[e.createVNode(e.unref(vn.Input),e.mergeProps({class:"input-box",clearable:!1,disabled:w.disabled,max:w.max,maxlength:w.maxlength,min:w.min,"model-value":r.value,placeholder:w.placeholder,type:w.type},w.$attrs,{precision:w.precision,onBlur:A,onChange:g,onFocus:m,onInput:y,onKeydown:_}),null,16,["disabled","max","maxlength","min","model-value","placeholder","type","precision"]),w.clearable&&r.value&&w.type!=="number"?(e.openBlock(),e.createBlock(e.unref(dv),{key:0,class:"clear-icon",type:"close-circle-shape",onClick:k})):e.createCommentVNode("v-if",!0),e.unref(v)?e.withDirectives((e.openBlock(),e.createBlock(e.unref(dv),{key:1,class:"error-icon",type:"exclamation-fill"},null,512)),[[e.unref(d),e.unref(v)]]):e.createCommentVNode("v-if",!0),w.isShowBlur&&s.value?(e.openBlock(),e.createElementBlock("div",$oe,[e.renderSlot(w.$slots,"blur")])):e.createCommentVNode("v-if",!0)],2))}}),Zoe={key:0,class:"select-error"},Xoe=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}=vn.Select,l=e.useSlots(),r=t,i=o,s=e.useModel(t,"modelValue"),c=e.ref(),f=e.ref(""),d=e.ref(42),v=e.computed(()=>r.multipleMode==="tag"),{message:h,validator:m}=GE(r.rules),g=vn.bkTooltips;e.watch(s,_=>{if(_!==void 0){if(f.value=_,typeof _!="object"&&_){m(_).then(()=>{i("error",!1)}).catch(()=>i("error",!0));return}if(Array.isArray(_)&&_.length>0){m(_).then(()=>{i("error",!1)}).catch(()=>i("error",!0));return}}},{immediate:!0});const k=_=>{f.value=_,m(f.value).then(()=>{s.value=_,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))},A=()=>{d.value=c.value.parentNode.clientHeight};return EE(c,ps.throttle(A,500)),n({getValue(){return m(f.value).then(()=>f.value)}}),(_,w)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"rootRef",ref:c,style:e.normalizeStyle({height:d.value+"px"}),class:e.normalizeClass(["bk-ediatable-select",{"is-error":!!e.unref(h),"is-disable":_.disabled,"is-overflow-visible":v.value}])},[e.createVNode(e.unref(vn.Select),e.mergeProps({class:"select-box",clearable:_.clearable,disabled:_.disabled,"display-key":_.displayKey,"id-key":_.idKey,"input-search":!1,list:l.optionRender?_.list:[],"model-value":f.value,multiple:_.multiple,"multiple-mode":_.multipleMode,placeholder:_.placeholder,"show-select-all":_.showSelectAll,"auto-focus":"",filterable:""},_.$attrs,{onChange:k,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(_.list,(b,C)=>(e.openBlock(),e.createBlock(e.unref(a),{disabled:b.disabled,key:C,label:b[_.displayKey],value:b[_.idKey]},null,8,["disabled","label","value"]))),128))]),_:2},[l.optionRender?{name:"optionRender",fn:e.withCtx(({item:b})=>[e.renderSlot(_.$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(h)?(e.openBlock(),e.createElementBlock("div",Zoe,[e.withDirectives(e.createVNode(e.unref(dv),{type:"exclamation-fill"},null,512),[[e.unref(g),e.unref(h)]])])):e.createCommentVNode("v-if",!0)],6))}}),Joe={class:"cell-content"},eae={class:"cell-content"},tae={class:"field-name"},nae={class:"cell-content role-cell"},oae=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",Joe,e.toDisplayString(t.index+1),1)]),e.createElementVNode("td",null,[e.createElementVNode("div",eae,[e.createVNode(i,{theme:"info",class:"type-tag"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.data.type),1)]),_:1}),e.createElementVNode("span",tae,e.toDisplayString(t.data.name),1)])]),e.createElementVNode("td",null,[e.createElementVNode("div",nae,[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(Xoe),{"model-value":t.data.name,list:[{value:t.data.name,label:t.data.name}],disabled:""},null,8,["model-value","list"])])])}}}),aae=He(oae,[["__scopeId","data-v-a4ad323e"]]),lae={class:"cell-content"},rae={class:"cell-content field-info"},sae={class:"field-name-wrapper"},iae={class:"field-name"},uae={class:"tooltip-content"},cae={class:"cell-content"},dae=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",lae,e.toDisplayString(t.index+1),1)]),e.createElementVNode("td",null,[e.createElementVNode("div",rae,[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",uae,[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",sae,[e.createElementVNode("span",iae,e.toDisplayString(t.data.name),1)])]),_:1})])]),e.createElementVNode("td",null,[e.createElementVNode("div",cae,[e.createVNode(i,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.value),1)]),_:1})])]),e.createElementVNode("td",null,[e.createVNode(e.unref(Koe),{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"])])])}}}),fae=He(dae,[["__scopeId","data-v-7c0389fe"]]),pae={class:"aiops-form"},mae=e.defineComponent({__name:"aiops-form",props:{inputData:{},pluginId:{},pluginDetail:{},editable:{type:Boolean},fullVariableList:{default:()=>[]}},emits:["change"],setup(t,{expose:n,emit:o}){const a=Vn(),l=t,r=o,i=e.ref(),s=e.ref({dataInput:""}),c=e.ref([]),f=(E,x)=>{const S=l.inputData?.[E]?.value;return S!==void 0?Fe(S):x},d=()=>l.pluginDetail?.inputs,v=e.computed(()=>{const E=d()?.find(x=>x.key==="data");return{name:E?.name||"输入参数",desc:E?.desc||""}}),h=e.computed(()=>{const E=d()?.find(x=>x.key==="data");return E?._slots?Object.entries(E._slots).map(([x,S])=>{const V=S;return{key:x,name:V.name,type:V.type,desc:V.desc,required:V.required,role:V.role||"feature",mapping:f(`data_mapping_${x}`,"")}}):[]}),m=()=>{const E=d()?.find(S=>S.key==="predict_args");if(!E?._slots){c.value=[];return}const x=l.inputData?.predict_args?.value;c.value=Object.entries(E._slots).map(([S,V])=>{const N=V,T=N.default!==void 0?String(N.default):"",z=x?.[S],j=z!==void 0?String(z):f(`predict_args_${S}`,T);return{key:S,name:N.name,type:N.type,desc:N.desc,required:N.required,condition:N.condition,value:j,default:T}})},g=[{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}],k=[{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=E=>{if(!l.inputData)return;const x={...l.inputData};Object.entries(E).forEach(([S,V])=>{x[S]={value:V,hook:!1,need_render:!0}}),r("change",x)},A=()=>{if(!l.editable||!l.inputData)return;const E={...l.inputData};E.data={value:s.value.dataInput,hook:!1,need_render:!0},r("change",E)},_=(E,x)=>{if(!l.editable)return;E.value=x;const S=Object.fromEntries(c.value.map(V=>[V.key,V.value]));y({predict_args:S})};e.watch(()=>l.inputData,()=>{const E=l.inputData?.data?.value;Array.isArray(E)?s.value.dataInput="":typeof E=="string"?s.value.dataInput=E==="[]"?"":E:s.value.dataInput="",m(),(!l.inputData||!Object.keys(l.inputData).length)&&A()},{immediate:!0}),e.watch(()=>l.pluginDetail,m,{immediate:!0});const w=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(E=>[E.key,E.value]))}}),!0}catch{return!1}};return n({validate:w,getFormData:()=>({data:Object.fromEntries(h.value.map(E=>[E.key,{mapping:E.mapping}])),predict_args:Object.fromEntries(c.value.map(E=>[E.key,E.value]))})}),(E,x)=>{const S=e.resolveComponent("bk-input"),V=e.resolveComponent("bk-form-item"),N=e.resolveComponent("bk-form");return e.openBlock(),e.createElementBlock("div",pae,[h.value.length?(e.openBlock(),e.createBlock(Pa,{key:0,title:v.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(V,{property:"dataInput",rules:[{required:!0,message:"必填项",trigger:"blur"}]},{label:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(v.value.name)+" 映射",1),x[1]||(x[1]=e.createElementVNode("span",{class:"required-mark"},"*",-1)),x[2]||(x[2]=e.createElementVNode("span",{class:"label-desc"},"(请输入「指标序列」变量表达式)",-1))]),default:e.withCtx(()=>[e.createVNode(S,{modelValue:s.value.dataInput,"onUpdate:modelValue":x[0]||(x[0]=T=>s.value.dataInput=T),disabled:!t.editable,onChange:A},null,8,["modelValue","disabled"])]),_:1}),e.createVNode(V,{label:"输入字段映射",required:"",class:"mapping-label"}),e.createVNode(e.unref(Qw),{"thead-list":g,class:"field-mapping-table"},{data:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,(T,z)=>(e.openBlock(),e.createBlock(aae,{key:T.key,data:T,index:z},null,8,["data","index"]))),128))]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])):e.createCommentVNode("",!0),c.value.length?(e.openBlock(),e.createBlock(Pa,{key:1,title:"应用参数","no-background":!0,class:"section app-params-section"},{default:e.withCtx(()=>[e.createVNode(e.unref(Qw),{"thead-list":k,class:"app-params-table"},{data:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(T,z)=>(e.openBlock(),e.createBlock(fae,{key:T.key,data:T,index:z,editable:t.editable,onUpdateValue:j=>_(T,j)},null,8,["data","index","editable","onUpdateValue"]))),128))]),_:1})]),_:1})):e.createCommentVNode("",!0)])}}}),vae=He(mae,[["__scopeId","data-v-86080d95"]]),gae=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 d=e.resolveComponent("bk-option"),v=e.resolveComponent("bk-select"),h=e.resolveDirective("bk-tooltips");return e.withDirectives((e.openBlock(),e.createBlock(v,{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(d,{id:m.code,key:m.code,name:m.name},null,8,["id","name"])),[[h,{content:m.description,theme:"light",placement:"right",boundary:"parent"}]])),128))]),_:1},8,["model-value","disabled"])),[[h,{content:"角色第一条 Prompt 必须定义为“系统”",disabled:a.index>0}]])}}}),hae=He(gae,[["__scopeId","data-v-a6edc23d"]]),bae={class:"bkflow-canvas-icon bkflow-canvas-daoru import-trigger"},yae={class:"prompt-content-tips"},kae=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"),d=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",bae,null,512),[[d,{content:"导入"}]])],!0)]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.prompts,v=>(e.openBlock(),e.createBlock(c,{theme:"light",placement:"right","ext-cls":"import-prompt-tips-popover",disabled:!v.content,key:v.prompt_id,"popover-delay":0},{content:e.withCtx(()=>[e.createElementVNode("p",yae,e.toDisplayString(v.content),1)]),default:e.withCtx(()=>[(e.openBlock(),e.createBlock(s,{id:v.prompt_id,key:v.prompt_id,name:v.prompt_name},null,8,["id","name"]))]),_:2},1032,["disabled"]))),128))]),_:3},8,["disabled"])}}}),WE=He(kae,[["__scopeId","data-v-bd3ebb9e"]]),wae={class:"prompt-add"},Cae=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",wae,[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(WE,{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"])])}}}),Aae=He(Cae,[["__scopeId","data-v-00c7183e"]]),Eae={class:"plugin-llm-form"},xae={class:"prompt-actions"},_ae=e.defineComponent({__name:"llm-form",props:{inputData:{},pluginId:{},pluginDetail:{},editable:{type:Boolean},fullVariableList:{default:()=>[]}},emits:["change"],setup(t,{expose:n,emit:o}){const a=Vn(),l=C4(),r=t,i=o,s=()=>{const A={...r.inputData};Object.keys(f.value).forEach(_=>{A[_]={value:f.value[_],hook:!1,need_render:!0}}),i("change",A)},c=e.ref(),f=e.ref({messages:[{role:"system",content:""},{role:"user",content:""}],chat_history:""}),d=e.shallowRef([]);e.watch(()=>r.inputData,A=>{const _="messages"in A&&Array.isArray(A.messages.value)&&A.messages.value.length>=2,w="chat_history"in A&&typeof A.chat_history?.value=="string";f.value.messages=_?Fe(A.messages.value):[{role:"system",content:""},{role:"user",content:""}],f.value.chat_history=w?A.chat_history.value:"",(!_||!w)&&s()},{immediate:!0}),e.onMounted(()=>{v()});const v=async()=>{if(!a.fetchApplyInstructionData){console.error("fetchApplyInstructionData is not available");return}const A=await a.fetchApplyInstructionData({plugin_id:r.pluginId,scope_type:l.scope_type,scope_value:l.scope_value,instruction:"get_space_prompts",params:{}});d.value=A.response},h=A=>{f.value.messages.push({role:"user",content:A}),c.value.validate(),s()},m=(A,_)=>{f.value.messages[A].content=_,s()},g=A=>{r.editable&&(f.value.messages.splice(A,1),s())},k=(A,_)=>A>0&&A===f.value.messages.length-1?_==="user":!0;return n({validate:async()=>c.value.validate().then(()=>!0).catch(()=>!1)}),(A,_)=>{const w=e.resolveComponent("bk-form-item"),b=e.resolveComponent("bk-input"),C=e.resolveComponent("bk-form"),E=e.resolveDirective("bk-tooltips");return e.openBlock(),e.createElementBlock("div",Eae,[e.createVNode(C,{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,(x,S)=>(e.openBlock(),e.createBlock(w,{key:S,label:"Prompt",property:`messages[${S}]`,required:S>0,rules:[{validator:V=>S===0||V.content.trim().length>0,message:"请输入Prompt内容"},{validator:V=>k(S,V.role),message:"最后一个提示词必须为【用户】role"}]},{default:e.withCtx(()=>[e.createElementVNode("div",xae,[e.createVNode(hae,{modelValue:x.role,"onUpdate:modelValue":[V=>x.role=V,s],index:S,disabled:!r.editable},null,8,["modelValue","onUpdate:modelValue","index","disabled"]),e.createVNode(WE,{prompts:d.value,disabled:!r.editable,onImport:V=>m(S,V)},null,8,["prompts","disabled","onImport"]),S>0&&f.value.messages.length>2?e.withDirectives((e.openBlock(),e.createBlock(e.unref(yn.Del),{key:0,class:e.normalizeClass(["delete-prompt-btn",{disabled:!r.editable}]),onClick:V=>g(S)},null,8,["class","onClick"])),[[E,"删除"]]):e.createCommentVNode("",!0)]),e.createVNode(fs,{modelValue:x.content,"onUpdate:modelValue":V=>x.content=V,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(Aae,{prompts:d.value,disabled:!r.editable,onAdd:h},null,8,["prompts","disabled"]),e.createVNode(w,{label:"聊天历史",property:"chat_history"},{default:e.withCtx(()=>[e.createVNode(b,{modelValue:f.value.chat_history,"onUpdate:modelValue":_[0]||(_[0]=x=>f.value.chat_history=x),type:"textarea",placeholder:"请输入聊天历史",rows:4,resize:!1,disabled:!r.editable,onBlur:s},null,8,["modelValue","disabled"])]),_:1})]),_:1},8,["model"])])}}}),$w=He(_ae,[["__scopeId","data-v-b3077a33"]]),Bae={class:"knowledgebase-input-params"},Sae={class:"settings-query-param-item-slider-wrapper"},Vae={class:"resource-reject-threshold-tips"},Nae=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 h={...a.inputData};Object.keys(r.value).forEach(m=>{h[m]={value:r.value[m],hook:!1,need_render:!0}}),l("change",h)};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(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 d=(h,m)=>{r.value[h]=m,h==="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)}),(h,m)=>{const g=e.resolveComponent("bk-slider"),k=e.resolveComponent("bk-form-item"),y=e.resolveComponent("bk-select"),A=e.resolveComponent("bk-input"),_=e.resolveComponent("bk-form");return e.openBlock(),e.createElementBlock("div",Bae,[e.createVNode(_,{"form-type":"vertical",ref_key:"formRef",ref:i,model:r.value},{default:e.withCtx(()=>[e.createVNode(k,{label:"文档片段数",class:"slider-form-item"},{default:e.withCtx(()=>[e.createVNode(g,{"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]=w=>d("topk",w))},null,8,["model-value","disable"])]),_:1}),e.createVNode(k,{label:"相关性阈值",class:"slider-form-item"},{default:e.withCtx(()=>[e.createElementVNode("div",Sae,[e.createVNode(g,{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]=w=>d("knowledge_resource_reject_threshold",w))},null,8,["class","model-value","disable"]),e.createElementVNode("section",Vae,[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(k,{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]=w=>d("knowledge_resource_fine_grained_score_type",w))},null,8,["model-value","list","disabled"])]),_:1}),r.value.knowledge_resource_fine_grained_score_type==="LLM"?(e.openBlock(),e.createBlock(k,{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]=w=>d("model",w))},null,8,["disabled","model-value","list"])]),_:1})):e.createCommentVNode("",!0),e.createVNode(k,{label:"查询文本",required:"",property:"query"},{default:e.withCtx(()=>[e.createVNode(A,{modelValue:r.value.query,"onUpdate:modelValue":m[4]||(m[4]=w=>r.value.query=w),type:"textarea",rows:10,disabled:!a.editable,resize:!1,placeholder:"请输入查询文本",onChange:m[5]||(m[5]=w=>d("query",w))},null,8,["modelValue","disabled"])]),_:1})]),_:1},8,["model"])])}}}),Tae=He(Nae,[["__scopeId","data-v-7b35397d"]]),Dae={class:"node-config-input-params"},Iae=e.defineComponent({__name:"input-params",props:{node:{},pluginType:{},pluginDetail:{},editable:{type:Boolean,default:!0},fullVariableList:{default:()=>[]}},emits:["change"],setup(t,{expose:n,emit:o}){const a={uniform_api_plugin:Ew,agent:Jte,aiops:vae,llm:$w,custom:$w,knowledgebase:Tae},l=t,r=o,i=()=>{const _={};return Object.keys(l.node.component.data).forEach(w=>{_[w]=Fe(l.node.component.data[w].value)}),_},s=e.ref(),c=e.ref(),f=e.ref(),d=e.ref(i()),v=e.computed(()=>{const _=l.pluginDetail?.category,w=l.pluginDetail?.group;if(_){if(_==="model"&&w&&w in a)return a[w];if(_ in a)return a[_]}return Ew}),h=e.computed(()=>l.pluginType==="uniform_api"&&l.node.component.api_meta?.id||""),m=e.computed(()=>l.pluginDetail?.inputParamsFormType==="renderform"?l.pluginDetail.inputs:[]),g=e.computed(()=>l.pluginDetail?.inputParamsFormType==="jsonschemaform"?l.pluginDetail.inputs:void 0),k=e.computed(()=>l.pluginDetail?.inputParamsFormType==="uniformApiForm"?l.pluginDetail.inputs:[]);e.watch(()=>l.node.component.data,()=>{d.value=i()});const y=_=>{const w={...l.node.component.data};Object.keys(_).forEach(b=>{w[b]={hook:!1,need_render:!0,value:_[b]}}),r("change",w)};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)=>(e.openBlock(),e.createElementBlock("section",Dae,[l.pluginDetail?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[l.pluginDetail.inputParamsFormType==="renderform"?(e.openBlock(),e.createBlock(su,{key:0,ref_key:"renderFormRef",ref:s,scheme:m.value,editable:l.editable,"form-option":{showGroup:!1,showHook:!0,showLabel:!0,showVarList:!0,formEdit:l.editable},"form-data":d.value,"full-variable-list":l.fullVariableList,onChange:y},null,8,["scheme","editable","form-option","form-data","full-variable-list"])):e.createCommentVNode("",!0),l.pluginDetail.inputParamsFormType==="jsonschemaform"?(e.openBlock(),e.createBlock(Ute,{key:1,ref_key:"jsonschemaFormRef",ref:c,"form-data":d.value,schema:g.value,editable:l.editable,onChange:y},null,8,["form-data","schema","editable"])):e.createCommentVNode("",!0),l.pluginDetail.inputParamsFormType==="uniformApiForm"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(v.value),{key:2,ref_key:"uniformApiPluginComponentRef",ref:f,node:l.node,"plugin-detail":l.pluginDetail,"plugin-id":h.value,"input-data":l.node.component.data,inputs:k.value,editable:l.editable,"full-variable-list":l.fullVariableList,onChange:w[0]||(w[0]=b=>r("change",b))},null,40,["node","plugin-detail","plugin-id","input-data","inputs","editable","full-variable-list"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)]))}}),Oae=He(Iae,[["__scopeId","data-v-c36f812a"]]),Mae={class:"node-config-output-params"},Pae={class:"params-key-wrappper"},Lae={class:"key-text"},Rae={class:"create-variable-cell"},Fae=["onClick"],zae=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=>D4(l.value,o.node.id,c),s=c=>{if(!o.editable)return;const f=i(c.key);if(f){const d={...l.value[f],source_info:{...l.value[f].source_info,[o.node.id]:l.value[f].source_info[o.node.id].filter(v=>v!==c.key)}};l.value={...l.value,[f]:d}}else{const d=`\${${c.key}}`,v=o.constants[d]?`\${${c.key}_${pt.random4()}}`:d;l.value={...l.value,[v]:{index:Object.values(l.value).length,name:c.name,key:v,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 d=e.resolveComponent("bk-table-column"),v=e.resolveComponent("bk-input"),h=e.resolveComponent("bk-table"),m=e.resolveDirective("bk-tooltips");return e.openBlock(),e.createElementBlock("section",Mae,[e.createVNode(h,{"empty-text":"暂无参数",data:r.value,border:["outer"],scrollbar:!1},{default:e.withCtx(()=>[e.createVNode(d,{label:"名称",width:180,"min-width":180,prop:"name"},{default:e.withCtx(({row:g})=>[e.withDirectives((e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(["params-name",{"has-desc":g.description!==""}])},[e.createTextVNode(e.toDisplayString(g.name),1)],2)),[[m,{disabled:g.description==="",content:g.description}]])]),_:1}),e.createVNode(d,{label:"KEY",prop:"key"},{default:e.withCtx(({row:g})=>[e.createElementVNode("div",Pae,[e.createElementVNode("span",Lae,e.toDisplayString(g.key),1),g.hookedKey?(e.openBlock(),e.createBlock(v,{key:0,class:"variable-key-input","model-value":g.hookedKey,readonly:""},null,8,["model-value"])):e.createCommentVNode("",!0)])]),_:1}),e.createVNode(d,{label:"勾选为全局变量",width:120,"min-width":120},{default:e.withCtx(({row:g})=>[e.createElementVNode("div",Rae,[e.withDirectives((e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(["btn",{"is-hooked":!!g.hookedKey,"is-disabled":!o.editable,"is-disabled-tooltip":!o.editable}]),onClick:k=>s(g)},[...f[0]||(f[0]=[e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-quanjubianliang-2"},null,-1)])],10,Fae)),[[m,{placement:"top",content:g.hookedKey?"取消使用变量接收输出":"使用变量接收输出"}]])])]),_:1})]),_:1},8,["data"])])}}}),jae=He(zae,[["__scopeId","data-v-01aa4982"]]),Hae={class:"bkflow-node-config"},Uae={key:1,class:"input-params-empty-tip"},Gae=e.defineComponent({__name:"index",props:{node:{},flowId:{default:""},systemVariables:{default:()=>[]},constants:{default:()=>({})},editable:{type:Boolean,default:!0}},emits:["change","selectPlugin","updateConstants"],setup(t,{expose:n,emit:o}){const a=t,l=Vn(),r=jg(),i=e.computed(()=>_te(r.debug)),s=xte,c=o,f=e.ref(),d=e.ref(),v=e.ref(null),h=e.ref(!0),m=e.shallowRef([]),g=e.shallowRef([]),k=e.ref(!1),y=R=>{const L=R||a.node;return L.component.code?["uniform_api","remote_plugin"].includes(L.component.code)?L.component.code:"inner":""},A=e.computed(()=>y()),_=e.computed(()=>[...a.systemVariables,...Object.values(a.constants)].map(R=>({key:R.key,name:R.name,source_type:R.source_type,custom_type:R.custom_type||""})));e.onMounted(()=>{k.value=!1,a.node.component.code?w():h.value=!1});const w=async()=>{h.value=!0,k.value=!1;try{const R=await Ai(l,a.node.component,{templateId:a.flowId}),{inputs:L,outputs:F}=R;m.value=L,g.value=F,v.value=R,C()}catch(R){V(R)}finally{h.value=!1}},b=R=>{if(!v.value)return;const{data:L}=R.component,F=y(R),O={uniform_api:()=>{const H=!L||!("uniform_api_plugin_url"in L)||!("uniform_api_plugin_method"in L),W=!!v.value?.openPluginIdentity&&!(L&&"uniform_api_plugin_id"in L);if(H||W)return!0;const X=v.value;return!X||X.inputParamsFormType==="jsonschemaform"||X.inputs.length===0?!1:X.inputs.some(G=>!(e0(G,X.inputParamsFormType)in L))},remote_plugin:()=>L?Object.keys(L).length<=2||!("plugin_code"in L)||!("plugin_version"in L):!0,inner:()=>!L||Object.keys(L).length===0},P=v.value.openPluginIdentity?.wrapperVersion,M=H=>{N({...R,component:{...R.component,...P?{version:P}:{},data:H}})};if(O[F]?.())if(F==="uniform_api"&&L){const H=n0(F,v.value),W={...H,...L},X=v.value;X.inputParamsFormType!=="jsonschemaform"&&X.inputs.forEach(G=>{const Q=e0(G,X.inputParamsFormType);Q in W||(W[Q]=H[Q])}),M(W)}else M(n0(F,v.value))},C=()=>{b(a.node)},E=R=>{const L={...a.node,component:{...a.node.component,data:R}};N(L)},x=R=>{N(R),S(R)},S=async R=>{h.value=!0,k.value=!1;try{const L=await Ai(l,R.component,{templateId:a.flowId}),{inputs:F,outputs:O}=L;m.value=F,g.value=O,v.value=L,b(R)}catch(L){V(L)}finally{h.value=!1}},V=R=>{if(Nte(R)){k.value=!0;return}console.error("Failed to fetch plugin detail:",R)},N=R=>{c("change",R)},T=R=>{E(R)},z=(R,L,F)=>{const O={...a.constants},P=O[R];if(!P)return;const M=P.source_info[L]||[];M.includes(F)||(O[R]={...P,source_info:{...P.source_info,[L]:[...M,F]}},c("updateConstants",O))};return n({isPluginNotExist:k,pluginDetailLoading:h,validate:async()=>{const R=d.value?.validate||(()=>!0),[L,F]=await Promise.all([f.value?.validate(),R()]);return L&&F},updateInputParams:T}),(R,L)=>{const F=e.resolveComponent("bk-button"),O=e.resolveComponent("bk-exception"),P=e.resolveComponent("bk-alert"),M=e.resolveDirective("bk-loading");return e.withDirectives((e.openBlock(),e.createElementBlock("div",Hae,[k.value?(e.openBlock(),e.createBlock(O,{key:0,class:"plugin-not-exist-exception",type:"500",title:"未找到可用插件或可用版本",scene:"part"},{default:e.withCtx(()=>[a.editable?(e.openBlock(),e.createBlock(F,{key:0,text:"",theme:"primary",onClick:L[0]||(L[0]=H=>c("selectPlugin"))},{default:e.withCtx(()=>[...L[3]||(L[3]=[e.createTextVNode("重新选择",-1)])]),_:1})):e.createCommentVNode("",!0)]),_:1})):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[i.value?(e.openBlock(),e.createBlock(P,{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(Pa,{title:"基础信息"},{default:e.withCtx(()=>[e.createVNode(jte,{ref_key:"basicInfoRef",ref:f,node:a.node,editable:a.editable,"plugin-type":A.value,"plugin-detail":v.value,onSelectPlugin:L[1]||(L[1]=H=>c("selectPlugin")),onChange:N,onVersionChange:x},null,8,["node","editable","plugin-type","plugin-detail"])]),_:1}),e.createVNode(Pa,{title:"输入参数"},{default:e.withCtx(()=>[!h.value&&v.value?e.renderSlot(R.$slots,"inputParams",{node:a.node,pluginDetail:v.value,inputs:m.value,editable:a.editable,fullVariableList:_.value,updateInputParams:T,updateVariableSourceInfo:z},()=>[e.createVNode(Oae,{ref_key:"inputParamsRef",ref:d,node:a.node,"plugin-type":A.value,"plugin-detail":v.value,editable:a.editable,"full-variable-list":_.value,onChange:E},null,8,["node","plugin-type","plugin-detail","editable","full-variable-list"])],!0,0):!h.value&&!a.node.component?.code?(e.openBlock(),e.createElementBlock("div",Uae,[...L[4]||(L[4]=[e.createElementVNode("span",{class:"tip-text"},"请选择插件",-1)])])):e.createCommentVNode("",!0)]),_:3}),e.createVNode(Pa,{title:"输出结果"},{default:e.withCtx(()=>[h.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(jae,{key:0,node:a.node,"outputs-forms":g.value,constants:a.constants,editable:a.editable,onUpdateConstants:L[2]||(L[2]=H=>c("updateConstants",H))},null,8,["node","outputs-forms","constants","editable"]))]),_:1})],64))])),[[M,{loading:h.value}]])}}}),Kw=He(Gae,[["__scopeId","data-v-7c597496"]]),Wae="「显示」可在执行时做为任务入参使用,「隐藏」则仅能在流程内部使用";function Zw(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 Yae(t,n){return n==="system"||n==="space"?"隐藏":t==="show"?"显示":"隐藏"}const qae={class:"global-variables-preview-content"},Qae={class:"preview-table-wrapper"},$ae={class:"cell-text"},Kae={class:"key-cell"},Zae={class:"cell-text"},Xae={class:"copy-icon-wrapper"},Jae=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((d,v)=>d.index-v.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:Wae,placement:"bottom"}]]):f.column.label},c=f=>{const d=document.createElement("textarea");d.value=f.toString(),document.body.appendChild(d),d.select(),document.execCommand("copy"),document.body.removeChild(d),eo.Message({theme:"success",message:"复制成功"})};return(f,d)=>{const v=e.resolveComponent("bk-overflow-title"),h=e.resolveComponent("bk-table-column"),m=e.resolveComponent("bk-tag"),g=e.resolveComponent("bk-table"),k=e.resolveComponent("bk-popover"),y=e.resolveDirective("bk-tooltips");return e.openBlock(),e.createBlock(k,{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:d[0]||(d[0]=A=>a.value=!1)},{content:e.withCtx(()=>[e.createElementVNode("div",qae,[d[2]||(d[2]=e.createElementVNode("div",{class:"preview-header"},[e.createElementVNode("span",{class:"header-title"},"全局变量")],-1)),e.createElementVNode("div",Qae,[e.createVNode(g,{data:i.value,border:["outer"],"max-height":400,thead:s},{default:e.withCtx(()=>[e.createVNode(h,{label:"名称",prop:"name","min-width":140},{default:e.withCtx(({row:A})=>[e.createElementVNode("div",$ae,[e.createVNode(v,{type:"tips"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(A.name),1)]),_:2},1024)])]),_:1}),e.createVNode(h,{label:"KEY",prop:"key","min-width":180},{default:e.withCtx(({row:A})=>[e.createElementVNode("div",Kae,[e.createElementVNode("div",Zae,[e.createVNode(v,{type:"tips"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(A.key),1)]),_:2},1024)]),e.createElementVNode("span",Xae,[e.withDirectives(e.createVNode(e.unref(yn.CopyShape),{onClick:e.withModifiers(_=>c(A.key),["stop"])},null,8,["onClick"]),[[y,{content:"复制",placement:"top"}]])])])]),_:1}),e.createVNode(h,{label:"分类",prop:"source_type",width:100},{default:e.withCtx(({row:A})=>[e.createVNode(m,{theme:e.unref(Zw)(A.source_type).theme},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(Zw)(A.source_type).label),1)]),_:2},1032,["theme"])]),_:1}),e.createVNode(h,{label:"执行时显示",prop:"show_type",width:100,align:"center"},{default:e.withCtx(({row:A})=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(Yae)(A.show_type,A.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"])},[...d[1]||(d[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"])}}}),ele=He(Jae,[["__scopeId","data-v-5c6fe2c2"]]),tle={class:"node-config-slider-header"},nle={class:"header-title","data-test":"node-config-title"},ole={"data-test":"tab-debug-label"},ale={class:"sideslider-footer-buttons"},lle=e.defineComponent({__name:"index",props:{show:{type:Boolean,default:!1},flowId:{},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(()=>h.value?.name||"节点配置"),f=e.computed(()=>h.value?.component?.code?"":"请先选择插件后再进行调试"),d=e.computed(()=>({node:h.value,active:s.value==="debug",close:V})),v=()=>{f.value||(s.value="debug")};e.watch(s,z=>{z==="debug"&&!f.value&&l("debug-tab-activated",h.value)});const h=e.ref(Fe(a.node)),m=e.shallowRef(Fe(a.constants)),g=e.ref(Fe(a.node)),k=e.shallowRef(Fe(a.constants)),y=e.ref(!1),A=()=>{g.value=Fe(h.value),k.value=Fe(m.value),y.value=!0};e.watch(()=>a.show,z=>{if(z){h.value=Fe(a.node),m.value=Fe(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([z,j,R])=>{!z||!j||R||y.value||(await e.nextTick(),!(!a.show||r.value?.pluginDetailLoading||y.value)&&A())},{flush:"post"}),e.watchEffect(()=>{r.value?.isPluginNotExist||r.value?.pluginDetailLoading?i.value=!1:i.value=!0});const _=z=>{h.value=z},w=z=>{m.value=z,l("updateConstants",z)},b=(z,j)=>Ete(z,j.id,kte(j.component?.data)),C=async()=>{if(await r.value?.validate()){const j=b(m.value,h.value);l("confirm",h.value,j)}},E=()=>{l("selectPlugin",h.value,m.value)},x=()=>y.value?!za(h.value,g.value)||!za(m.value,k.value):!1,S=()=>!a.editable||!x()?(V(),!0):new Promise(z=>{eo.InfoBox({title:"确认离开?",content:"离开将会导致未保存信息丢失",confirmText:"离开",cancelText:"取消",width:320,onConfirm:()=>{V(),z(!0)},onCancel:()=>{z(!1)}})}),V=()=>{l("close"),l("update:show",!1)};return n({updateNodeInputParams:z=>{r.value&&r.value.updateInputParams?.(z)},updateConstants:z=>{m.value=Fe(z)}}),(z,j)=>{const R=e.resolveComponent("bk-tab-panel"),L=e.resolveComponent("bk-tab"),F=e.resolveComponent("bk-button"),O=e.resolveComponent("bk-sideslider"),P=e.resolveDirective("bk-tooltips");return e.openBlock(),e.createBlock(O,{title:"节点配置","is-show":a.show,width:960,"esc-close":!1,"before-close":S},{header:e.withCtx(()=>[e.createElementVNode("div",tle,[e.createElementVNode("span",nle,e.toDisplayString(c.value),1),a.show?(e.openBlock(),e.createBlock(ele,{key:0,constants:m.value,"system-variables":a.systemVariables},null,8,["constants","system-variables"])):e.createCommentVNode("",!0)])]),footer:e.withCtx(()=>[e.createElementVNode("div",ale,[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(F,{theme:"primary","data-test":"save",onClick:C},{default:e.withCtx(()=>[...j[2]||(j[2]=[e.createTextVNode("保存",-1)])]),_:1}),a.enableDebug?e.withDirectives((e.openBlock(),e.createBlock(F,{key:0,outline:"",theme:"primary","data-test":"go-to-debug",title:f.value,disabled:!!f.value,onClick:v},{default:e.withCtx(()=>[...j[3]||(j[3]=[e.createTextVNode(" 去调试 ",-1)])]),_:1},8,["title","disabled"])),[[P,{content:f.value,disabled:!f.value}]]):e.createCommentVNode("",!0),e.createVNode(F,{onClick:V},{default:e.withCtx(()=>[...j[4]||(j[4]=[e.createTextVNode("取消",-1)])]),_:1})],64)):(e.openBlock(),e.createBlock(F,{key:1,theme:"primary",onClick:V},{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(Kw,{key:0,ref_key:"nodeConfigRef",ref:r,"flow-id":a.flowId,node:h.value,editable:a.editable,constants:m.value,"system-variables":a.systemVariables,onSelectPlugin:E,onUpdateConstants:w,onChange:_},{inputParams:e.withCtx(M=>[e.renderSlot(z.$slots,"inputParams",e.normalizeProps(e.guardReactiveProps(M)),void 0,!0)]),_:3},8,["flow-id","node","editable","constants","system-variables"])):a.show?(e.openBlock(),e.createBlock(L,{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(R,{class:"node-config-tab-panel",name:"config",label:"节点配置"},{default:e.withCtx(()=>[e.createVNode(Kw,{ref_key:"nodeConfigRef",ref:r,"flow-id":a.flowId,node:h.value,editable:a.editable,constants:m.value,"system-variables":a.systemVariables,onSelectPlugin:E,onUpdateConstants:w,onChange:_},{inputParams:e.withCtx(M=>[e.renderSlot(z.$slots,"inputParams",e.normalizeProps(e.guardReactiveProps(M)),void 0,!0)]),_:3},8,["flow-id","node","editable","constants","system-variables"])]),_:3}),e.createVNode(R,{name:"debug",label:"调试配置","data-test":"tab-debug",disabled:!!f.value},{label:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("span",ole,[...j[1]||(j[1]=[e.createTextVNode(" 调试配置 ",-1)])])),[[P,{content:f.value,disabled:!f.value}]])]),default:e.withCtx(()=>[e.renderSlot(z.$slots,"debugConfig",e.normalizeProps(e.guardReactiveProps(d.value)),void 0,!0)]),_:3},8,["disabled"])]),_:3},8,["active"])):e.createCommentVNode("",!0)],2)]),_:3},8,["is-show"])}}}),rle=He(lle,[["__scopeId","data-v-0d15eaac"]]),sle={class:"plugin-group-aside"},ile={class:"group-list"},ule=["onClick"],cle=["src"],dle={class:"group-text"},fle=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!==pt.PLUGIN_GROUP_DEFAULT_ICON&&(s.src=pt.PLUGIN_GROUP_DEFAULT_ICON)};return(i,s)=>(e.openBlock(),e.createElementBlock("section",sle,[e.createElementVNode("div",ile,[(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(pt.PLUGIN_GROUP_DEFAULT_ICON),onError:r},null,40,cle),e.createElementVNode("span",dle,e.toDisplayString(c.alias),1)],10,ule))),128))])]))}}),ple=He(fle,[["__scopeId","data-v-daa65103"]]),mle="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",vle="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",gle="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",hle="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",ble="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",yle="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",kle="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",wle="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",Cle={class:"data-plugin-group"},Ale={class:"plugin-list"},Ele=["onClick"],xle=["src"],_le={class:"plugin-name"},Ble=e.defineComponent({__name:"data-plugin-group",props:{plugins:{}},emits:["select"],setup(t,{emit:n}){const o=t,a=n,l={alert_plugin:mle,log_plugin:hle,trace_plugin:kle,query_promql_metric_plugin:ble,事件查询:vle,Profiling查询:yle,图谱查询:gle},r=wle,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",Cle,[e.createElementVNode("div",Ale,[(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:d=>a("select",f.id)},[e.createElementVNode("img",{class:"plugin-img",src:f.icon},null,8,xle),e.createElementVNode("h4",_le,e.toDisplayString(f.name),1)],8,Ele))),128))]),i.value.length===0?(e.openBlock(),e.createBlock(ln,{key:0,title:"暂无数据插件"})):e.createCommentVNode("",!0)]))}}),Sle=He(Ble,[["__scopeId","data-v-a00731b3"]]),Vle={key:0,class:"agent-plugin-group"},Nle={class:"top-operate-area"},Tle={class:"buttons"},Dle={class:"agent-content-area"},Ile={class:"agent-cards"},Ole={class:"card-header"},Mle=["src"],Ple={class:"agent-summary"},Lle={class:"main-info"},Rle={class:"name-text"},Fle={class:"other-info"},zle=["title"],jle=["title"],Hle={class:"agent-desc"},Ule={class:"agent-btns"},Gle=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=Wi(),r=n,i=e.ref("all"),s=e.ref([]),c=e.computed(()=>Object.keys(a.properties).map(A=>({id:A,name:a.properties[A]}))),f=e.computed(()=>(a.plugins||[]).filter(A=>!A.display_content?.hidden)),d=e.computed(()=>{let A=f.value;return i.value!=="all"&&(A=A.filter(_=>_.group===i.value)),s.value.length>0&&(A=A.filter(_=>s.value.some(w=>w.id==="alias"?_.alias.toLowerCase().includes(w.values[0].id.toLowerCase()):w.id==="agent_type"?(_.display_content?.agent_type||"")===w.values[0].id:w.id==="space_name"?(_.display_content?.space_name||"").toLowerCase().includes(w.values[0].id.toLowerCase()):w.id==="updated_by"?(_.display_content?.updated_by||"")===w.values[0].id:!0))),A}),v=e.ref(!1);e.watch(()=>a.plugins,A=>{if(v.value||!A?.length)return;A.some(w=>!w.display_content?.hidden&&w.group==="applied")&&(i.value="applied"),v.value=!0},{immediate:!0});const h=A=>{s.value=A},m=async(A,_)=>{const w=A?.id;if(!w)return[];const b=(_||"").toLowerCase(),C=new Set;if(f.value.forEach(E=>{let x="";w==="alias"?x=E.alias||"":w==="updated_by"?x=E.display_content?.updated_by||"":w==="agent_type"&&(x=E.display_content?.agent_type||""),x&&C.add(x)}),w==="agent_type"){const E={single:"单智能体",flow:"流程类"};return[...C].filter(x=>!b||(E[x]||x).toLowerCase().includes(b)).map(x=>({id:x,name:E[x]||x}))}return[...C].filter(E=>!b||E.toLowerCase().includes(b)).map(E=>({id:E,name:E}))},g=()=>{l?.agentApplyUrl&&window.open(l.agentApplyUrl,"_blank")},k=()=>{l?.agentResourceUrl&&window.open(l.agentResourceUrl,"_blank")},y=A=>{A.display_content.fetch_url&&window.open(A.display_content.fetch_url,"_blank")};return(A,_)=>{const w=e.resolveComponent("bk-button"),b=e.resolveComponent("bk-alert"),C=e.resolveComponent("bk-radio-button"),E=e.resolveComponent("bk-radio-group"),x=e.resolveDirective("bk-tooltips");return a.loading?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Vle,[e.createVNode(b,null,{default:e.withCtx(()=>[_[3]||(_[3]=e.createTextVNode(" 如有需要,您可以申请更多的智能体权限 ",-1)),e.createVNode(w,{theme:"primary",text:"",size:"small",onClick:g},{default:e.withCtx(()=>[..._[2]||(_[2]=[e.createTextVNode("点击申请",-1)])]),_:1})]),_:1}),e.createElementVNode("div",Nle,[e.createElementVNode("div",Tle,[e.createVNode(w,{theme:"primary",onClick:k},{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(yn.Plus),{class:"add-icon"}),_[4]||(_[4]=e.createTextVNode(" 智能体 ",-1))],64))]),_:1}),c.value.length>1?(e.openBlock(),e.createBlock(E,{key:0,modelValue:i.value,"onUpdate:modelValue":_[0]||(_[0]=S=>i.value=S),type:"capsule"},{default:e.withCtx(()=>[e.createVNode(C,{label:"all"},{default:e.withCtx(()=>[..._[5]||(_[5]=[e.createTextVNode("全部",-1)])]),_:1}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,S=>(e.openBlock(),e.createBlock(C,{key:S.id,label:S.id},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(S.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])):e.createCommentVNode("",!0)]),e.createVNode(ks,{modelValue:s.value,options:o,"get-menu-list":m,placeholder:"搜索智能体名称、更新人、标签",onChange:h},null,8,["modelValue"])]),e.createElementVNode("div",Dle,[e.createElementVNode("div",Ile,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,S=>(e.openBlock(),e.createElementBlock("div",{class:"card-item",key:S.id},[e.createElementVNode("div",Ole,[e.createElementVNode("img",{src:S.display_content.icon,alt:"",class:"agent-img"},null,8,Mle),e.createElementVNode("div",Ple,[e.createElementVNode("div",Lle,[e.createElementVNode("div",Rle,e.toDisplayString(S.alias),1),S.display_content.agent_type?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["agent-type",S.display_content.agent_type])},e.toDisplayString(S.display_content.agent_type==="single"?"单智能体":"流程类"),3)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Fle,[e.createElementVNode("span",{title:S.display_content.agent_code},"ID:"+e.toDisplayString(S.display_content.agent_code),9,zle),e.createElementVNode("span",{title:S.display_content.updated_by||"--"}," 更新人:"+e.toDisplayString(S.display_content.updated_by||"--"),9,jle)])])]),e.createElementVNode("p",Hle,e.toDisplayString(S.display_content.description||"--"),1),e.createElementVNode("div",Ule,[e.createVNode(w,{theme:"primary",size:"small",onClick:V=>r("select",S.id)},{default:e.withCtx(()=>[..._[6]||(_[6]=[e.createTextVNode("选择",-1)])]),_:1},8,["onClick"]),S.display_content.agent_type?e.withDirectives((e.openBlock(),e.createBlock(w,{key:0,size:"small",disabled:S.display_content.agent_type!=="single",onClick:V=>y(S)},{default:e.withCtx(()=>[..._[7]||(_[7]=[e.createTextVNode(" 体验 ",-1)])]),_:1},8,["disabled","onClick"])),[[x,{disabled:S.display_content.agent_type!=="flow",content:"流程类Agent暂不支持体验"}]]):e.createCommentVNode("",!0)])]))),128))]),d.value.length===0?(e.openBlock(),e.createBlock(ln,{key:0,"is-search":s.value.length>0,title:"暂无智能体",onClear:_[1]||(_[1]=S=>s.value=[])},null,8,["is-search"])):e.createCommentVNode("",!0)])]))}}}),Wle=He(Gle,[["__scopeId","data-v-2ef77a0c"]]),Yle={class:"order-selector"},qle=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,d)=>{const v=e.resolveComponent("bk-button"),h=e.resolveComponent("bk-dropdown-item"),m=e.resolveComponent("bk-dropdown-menu"),g=e.resolveComponent("bk-dropdown");return e.openBlock(),e.createElementBlock("div",Yle,[d[0]||(d[0]=e.createElementVNode("span",{class:"order-selector-prefix"},"排序",-1)),e.createVNode(g,{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,k=>e.createVNode(h,{key:k.id,class:e.normalizeClass({active:k.id===t.order}),onClick:y=>c(k.id)},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(k.name),1)]),_:2},1032,["class","onClick"])),64))]),_:1})]),default:e.withCtx(()=>[e.createVNode(v,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})])}}}),Qle=He(qle,[["__scopeId","data-v-dcd78334"]]),$le={class:"big-model-card"},Kle={class:"card-header"},Zle=["src"],Xle={class:"model-info"},Jle={class:"model-name"},ere=["title"],tre={class:"other-info"},nre={class:"other-info"},ore={class:"model-desc"},are={class:"tag-list"},lre={class:"bottom-btns"},rre=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",$le,[e.createElementVNode("div",Kle,[e.createElementVNode("img",{src:o.plugin.display_content.icon,alt:"",class:"model-img"},null,8,Zle),e.createElementVNode("div",Xle,[e.createElementVNode("div",Jle,[e.createElementVNode("div",{class:"name-text",title:o.plugin.alias},e.toDisplayString(o.plugin.alias),9,ere)]),e.createElementVNode("p",tre,[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",nre,[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",ore,e.toDisplayString(o.plugin.display_content.description||"--"),1),e.createElementVNode("div",are,[(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",lre,[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})])])}}}),sre=He(rre,[["__scopeId","data-v-be29d405"]]),ire={class:"small-model-card"},ure={class:"model-name"},cre={class:"name-text"},dre={class:"en-name"},fre={class:"extend-info"},pre={class:"model-desc"},mre={class:"bottom-btns"},vre=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",ire,[e.createElementVNode("div",ure,[e.createElementVNode("span",cre,e.toDisplayString(o.plugin.alias),1),e.createElementVNode("span",dre,"("+e.toDisplayString(o.plugin.name)+")",1)]),e.createElementVNode("p",fre,[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",pre,e.toDisplayString(o.plugin.display_content.description||"--"),1),e.createElementVNode("div",mre,[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})])])}}}),gre=He(vre,[["__scopeId","data-v-6d16f3f0"]]),hre={class:"model-plugin-group"},bre={class:"top-operate-area"},yre={class:"group-selector"},kre={class:"search-area"},wre={class:"mode-content-area"},Cre={class:"card-list"},Are=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(w=>({id:w,name:o.properties[w]}))),d=e.computed(()=>(o.plugins||[]).filter(w=>!w.display_content?.hidden)),v=w=>w.filter(b=>b.group===l.value),h=w=>{if(i.value.length===0)return w;const b={name:C=>C.name,base_model:C=>C.display_content.base_model||"",created_by:C=>C.display_content.created_by||""};return w.filter(C=>i.value.some(E=>{const x=E.values[0].id.toLowerCase();if(E.id==="tag")return(C.display_content?.tag_names||[]).some(N=>N.join("/").toLowerCase().includes(x));const S=b[E.id];return S?.(C).toLowerCase().includes(x)??!1}))},m=w=>{if(l.value!=="llm")return w;const b=(x,S,V)=>{const N=new Date(x.display_content.created_at).getTime(),T=new Date(S.display_content.created_at).getTime();return V?N-T:T-N},E={created_at_asc:(x,S)=>b(x,S,!0),created_at_desc:(x,S)=>b(x,S,!1),name_asc:(x,S)=>x.alias.localeCompare(S.alias),name_desc:(x,S)=>S.alias.localeCompare(x.alias)}[r.value];return E?[...w].sort(E):w},g=e.computed(()=>{const w=v(d.value),b=h(w);return m(b)}),k=w=>{l.value=w,r.value="created_at_desc",i.value=[]},y=w=>{i.value=w},A=async(w,b)=>{const C=w?.id;if(!C)return[];const E=(b||"").toLowerCase(),x=new Set;return d.value.filter(V=>V.group===l.value).forEach(V=>{if(C==="tag")(V.display_content?.tag_names||[]).forEach(T=>{const z=T.join("/");z&&x.add(z)});else{let N="";C==="name"?N=V.name||"":C==="base_model"?N=V.display_content?.base_model||"":C==="created_by"&&(N=V.display_content?.created_by||""),N&&x.add(N)}}),[...x].filter(V=>!E||V.toLowerCase().includes(E)).map(V=>({id:V,name:V}))},_=w=>{a("select",w)};return(w,b)=>{const C=e.resolveComponent("bk-radio-button"),E=e.resolveComponent("bk-radio-group");return e.openBlock(),e.createElementBlock("div",hre,[e.createElementVNode("div",bre,[e.createElementVNode("div",yre,[f.value.length>1?(e.openBlock(),e.createBlock(E,{key:0,modelValue:l.value,"onUpdate:modelValue":b[0]||(b[0]=x=>l.value=x),type:"capsule",onChange:k},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,x=>(e.openBlock(),e.createBlock(C,{key:x.id,label:x.id},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",kre,[l.value==="llm"?(e.openBlock(),e.createBlock(Qle,{key:0,order:r.value,"onUpdate:order":b[1]||(b[1]=x=>r.value=x)},null,8,["order"])):e.createCommentVNode("",!0),e.createVNode(ks,{modelValue:i.value,options:s.value,"get-menu-list":A,placeholder:c.value,onChange:y},null,8,["modelValue","options","placeholder"])])]),e.createElementVNode("div",wre,[e.createElementVNode("div",Cre,[l.value==="llm"?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(g.value,x=>(e.openBlock(),e.createBlock(sre,{key:x.id,plugin:x,onSelect:_},null,8,["plugin"]))),128)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(g.value,x=>(e.openBlock(),e.createBlock(gre,{key:x.id,plugin:x,onSelect:_},null,8,["plugin"]))),128))]),g.value.length===0?(e.openBlock(),e.createBlock(ln,{key:0,"is-search":i.value.length>0,title:"暂无模型插件",onClear:b[2]||(b[2]=x=>i.value=[])},null,8,["is-search"])):e.createCommentVNode("",!0)])])}}}),Ere=He(Are,[["__scopeId","data-v-4766232d"]]),xre={class:"knowledgebase-plugin-group"},_re={class:"group-header"},Bre={class:"knowledgebase-list"},Sre=["onClick"],Vre={class:"knowledgebase-info"},Nre={class:"kb-main-info"},Tre={class:"kb-name"},Dre={class:"name-text"},Ire={class:"kb-size"},Ore={class:"count"},Mre={class:"size"},Pre={class:"kb-description"},Lre={key:0,class:"group-footer"},Rre=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=Wi(),l=Vn(),r=t,i=n,s=e.shallowRef([]),c=e.ref([]),f=e.ref([]),d=e.ref(!1),v=e.computed(()=>c.value.length===0?s.value:s.value.filter(_=>c.value.every(w=>{const b=w.id,C=String(_[b]??"").toLowerCase();return w.values.some(E=>{const x=E.name.toLowerCase();return C.includes(x)})}))),h=async()=>{d.value=!0;const _=await l.fetchApplyInstructionData?.({plugin_id:r.plugins[0].id,instruction:"get_available_knowledgebases"});s.value=_.response,d.value=!1};e.watch(()=>r.plugins,_=>{_?.length>0&&h()},{immediate:!0}),e.watch(()=>r.inputData,_=>{if(_?.knowledge_base_id?.value){const w=_.knowledge_base_id.value;Array.isArray(w)?f.value=w:typeof w=="number"&&(f.value=[w])}},{immediate:!0});const m=_=>_<1024?`${_} B`:_<1024*1024?`${(_/1024).toFixed(2)} KB`:_<1024*1024*1024?`${(_/1024/1024).toFixed(2)} MB`:`${(_/1024/1024/1024).toFixed(2)} GB`,g=()=>{a?.knowledgebaseResourceUrl&&window.open(a.knowledgebaseResourceUrl,"_blank")},k=(_,w)=>{_?f.value.includes(w)||(f.value=[...f.value,w]):f.value=f.value.filter(b=>b!==w)},y=()=>{const _="knowledge_base_id"in r.inputData;let w;if(_){const{uniform_api_plugin_url:b,uniform_api_plugin_method:C,...E}=r.inputData;w={...E,knowledge_base_id:{value:f.value,hook:!1,need_render:!0}}}else w={knowledge_base_id:{value:f.value,hook:!1,need_render:!0}};i("select",{pluginId:r.plugins[0].id,inputData:w})},A=()=>{i("cancel")};return(_,w)=>{const b=e.resolveComponent("bk-button"),C=e.resolveComponent("bk-checkbox"),E=e.resolveDirective("bk-tooltips"),x=e.resolveDirective("bk-loading");return e.withDirectives((e.openBlock(),e.createElementBlock("div",xre,[e.createElementVNode("div",_re,[e.createVNode(b,{theme:"primary",onClick:g},{default:e.withCtx(()=>[...w[2]||(w[2]=[e.createTextVNode("新建知识库",-1)])]),_:1}),e.createVNode(ks,{modelValue:c.value,"onUpdate:modelValue":w[0]||(w[0]=S=>c.value=S),options:o,placeholder:"搜索知识库名称、描述、ID、更新人"},null,8,["modelValue"])]),e.createElementVNode("div",Bre,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,S=>(e.openBlock(),e.createElementBlock("div",{class:"knowledgebase-item",key:S.knowledgebase_id,onClick:V=>k(!f.value.includes(S.knowledgebase_id),S.knowledgebase_id)},[e.createElementVNode("div",Vre,[w[3]||(w[3]=e.createElementVNode("div",{class:"kb-icon"},[e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-knowledgebase"})],-1)),e.createElementVNode("div",Nre,[e.createElementVNode("div",Tre,[e.createElementVNode("div",Dre,e.toDisplayString(S.name),1),e.withDirectives(e.createVNode(e.unref(yn.InfoLine),{class:"info-icon",onClick:w[1]||(w[1]=e.withModifiers(()=>{},["stop"]))},null,512),[[E,{content:`更新人:${S.updated_by}
84
84
  更新时间:${S.updated_at}
85
- `,placement:"top"}]])]),e.createElementVNode("div",Ire,[e.createElementVNode("span",Ore,"共 "+e.toDisplayString(S.count)+" 篇,",1),e.createElementVNode("span",Mre,e.toDisplayString(m(S.size)),1)]),e.createVNode(C,{class:"kb-checkbox",style:{"pointer-events":"none"},"model-value":f.value.includes(S.knowledgebase_id)},null,8,["model-value"])])]),e.createElementVNode("div",Pre,e.toDisplayString(S.description||"--"),1)],8,Sre))),128)),v.value.length===0?(e.openBlock(),e.createBlock(ln,{key:0,title:s.value.length===0?"暂无知识库":"搜索结果为空"},null,8,["title"])):e.createCommentVNode("",!0)]),v.value.length>0?(e.openBlock(),e.createElementBlock("div",Lre,[e.withDirectives((e.openBlock(),e.createBlock(b,{theme:"primary",disabled:f.value.length===0,onClick:y},{default:e.withCtx(()=>[...w[4]||(w[4]=[e.createTextVNode(" 确定 ",-1)])]),_:1},8,["disabled"])),[[E,{content:f.value.length===0?"请选择知识库":"",disabled:f.value.length>0}]]),e.createVNode(b,{onClick:A},{default:e.withCtx(()=>[...w[5]||(w[5]=[e.createTextVNode("取消",-1)])]),_:1})])):e.createCommentVNode("",!0)])),[[x,{loading:d.value}]])}}}),Fre=He(Rre,[["__scopeId","data-v-67fc5ae8"]]),zre={class:"plugin-group"},jre=e.defineComponent({__name:"output-plugin-group",setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("div",zre,[e.createVNode(ln,{title:"暂无结论输出插件"})]))}}),Hre=He(jre,[["__scopeId","data-v-93c9733d"]]),Wc="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAADwCAYAAAA+VemSAAAABmJLR0QA/wD/AP+gvaeTAAAdWElEQVR4nO3de3wU5b0/8M/32Q0J14oCu0GtP2yxSq5A6gWtLZJNIAEFQbRWba2VSz21PbUX7al9pbYee3rxVuVmEY/UC6ilFgiQS6MtpV4QkmyCaOpRj5pkAyiKkMvuzvf3B+CJYTfJ7s7ss7Pzfb9e/MHO7jOfwH4yszszzwBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCOAjpDpCuKlsOjBrSGbrEAC6AQh4M/iwBo4loKIMPAggA3ALQyy4jXHVJwamv6c4s7EcKbKIKZnWRv+NSJr4BQAmAIYN9LQENYFr2vmv/IwtzcnqsSynSiRTYBMxM1c2BqwhcAaazEhzuTVb4XkmO9y+mhBNpTQqcoJr6fWexO/QHMH3JzHEZWHlQHbhZx9a4rrljRDjM4wAgzPxxaYG3I9kZxOBIgRNQ3RS4DszLAAy3aBVVww8F506bdnqnReMDAKqbWz8Lw7UQbMwAURGAMX2echiAn4ieDxNvKM3xvmhlHjF4UuA4VDCrC5va/wugH1i9LgI2bs/1zK0gMsweu8rfWkSsbgdhNgAVw0sbiXDXjBzPOiJis3OJwZMCx4iZqaYp8AcA30zian/qy/PeadZg2/fuG9nZE/4dCDcgtuJ+CgM73Eb4m/INuj5S4BhVNbX9jpi+n+TVdlPYlV9cOPb1RAeqbWidYij1JICJJuQCgMOk+BvFOdlPmzSeiEHcv32dqLqx7XoN5QWATHaF70hkAGaman/7dwyldsC88gLAcDZoXU1jYJGJY4pBki3wIFXt6ZhIYaMewDBNEcLKZXxuxqTxb8f6wq3N75zsMjJWA5hrQa7jDFJ8pWyJk0u2wIPAzERhYxX0lRcAXEZYXRPri2r9gWkuI2M3rC0vACg26JFqf+s5Fq9H9CIFHoSapo55AL6iOwcYcwb71ApmVeNvv80APw/gsxam6m04oJ6se/PNrCStz/FkF3oQavzt9QwU6M4BIOge0Tlq+oQJXf09qcYf8BjgtQT4khXs03i5Ly/725aNzkw1e9pOR0iNJ6IRhkKnQRQY0zn27aIiClq13lQkBR7AtsbWixWp53Xn+AQj35fv9UdbXNMYKGbitQC8SUx1IqIFvlzPM2YNV/da65hQj/oqA3MIOB/AyAhPCxKokWHUKagNl+SO+2e6H6eWAg+gxt/+EAPf0p3jOAKVFOd5qvs+XlfH7vCYwM8ZuBWp8dHoYCjEk2dNzn4rkUEqd7WNzRhCPwPjWwBi3TXfS0z3vu/avyZdLxBJhf/olMXMxMBs3Tl6CxOf8Cbe5n/v9NCYwHMM/ASp8396kttNT+zcyRnxDlDV2HZFRgbtBePfEHt5AeBsJl4x2jhlb1Vz+6Xx5khlqfKfnZLqGlvPgu5d0T6Iqbv336sb2y9TcNUDuFBTpP6cfzCr4xfxvLCqqe0OIloP4GQTckwgA89W+9v/WNlyYJQJ46UMKXA/DOUq1J2hL4MQAIDKlpbMKn/7fSBsgDlvcksw8w+r/IGSWF5T42+/k5hutyDO1zK6gi/U+gOfs2BsLaTA/WDGBN0Z+ggHu8ItVXs6JmZ0jdpBwM1I/e8xFIEfrWvuGNSeTHVT4LpjHwWsco4B3v7X5rYcC9eRNFLgfjBotO4Mn0YNWUPUXAobrwA8RXeaGHhChrG2grnf91tNY+DMY5dnWs0bNqimpjFwZhLWZSkpcD8UGS7dGT6NPwfCY4h8CCXVFV/UFPhxv88gvhfWXVvdl5eJN9v9M7EUuB8MdUh3hj4+oztAIhi4o9YfmBZpWW1z27mMwZ9pZpKzM7qCq5K8TlNJgfvF7+hOkGbcBvjxTY1vn/DRxDDoZh2BAFxZ7W9bqGndCZMC94NhNOrOkIbOyKLM1b0f2LHjnaGw/mKL6Jju2dbQnqxdd1NJgftxcnd2A4CPdOdINwzMq2pqu+n434+MHHIRkvfZ90SE8YrwHW3rT4AUuB9FRRQEYZPuHOmImH67tSlQAAAMPld3HhC+V9nSkqk7RqykwAMwDGOl7gxpKsvF/GRdc8cIIvq87jAAPEO6RurbjY+TFHgApfnj/wYgda5GSi9nB8P8ADP3ncZWC2ZcrTtDrFL9LJ6UsLUpUOBifhlA3Cfmi359BCAVjsd2BrMOjS6bOLF74KemBtkCD8LMXE8DwP+hO0caS4XyAsDQzK5RU3WHiIUUeJB8edm/YUA+D6c5JiPlLmDpjxQ4Br5cz1Iw7tGdQ1jHAGx1pZIUOAZExL587/cZdB3k+HBaIj7hvlApTQoch5I8z1oVdk8C+FEAYd15hHmI1FDdGWIhBY7TjMIx7/nysr9OTGcR8J8gTvi2J0I/NjikO0Ms5DCSieoa3j0tpFwFAJ0J8CSAFkF+SdoL4QFfrtc2p1XKm8tE0wtOe9eXl72ZFLcBdBXk39eO3tAdIBZu3QHSSd2bb2aFPs66mw1aqjuLiBNzve4IsZACm2RbY+vZoY/VOgD5urOIuHUOPxR6UXeIWMgunglqmtq+rkjthJTX5njLtGmnd+pOEQvZAiegrrljRMgIL2Oma3VnEYljxuqBn5Va5FvoOFU1dxQSh9eB6SzdWYQp6otzPVPsdi8l2YWOQ3Vj27+RYfxTyps2mIi/b7fyArILHZNNjW+PzqLM1QzM051FmIjwYHFudp3uGPGQAg9SrT8wzQA/zsAZurMIUz3/AR24RXeIeMln4AFUMKsL/YEfgfALyC+8NMPbg1lDyssmnmLbC1OkwP2o8Qc8fPSChZhuziVsYY17ROe3p0+Y0KU7SCJkixJFVUP7DAb/ESl2e1GRsD2k1C3FOeO26g5iBtkC91FXx+7QmEAFgNsg39LbQRADz1XWDaCamFZvzxv3lwoiIwm5kkIK3Ms2/3unK6jHAbpIdxYxaP+CgWvhorMIxucYdHSPycARAr1jMDdkuNWL03PGfaw5pyWkwMdUNbdfSgYeBnCK7iwiZut9ed4rdYfQwfEF3rmTMw5mBn7D9rhZtoiGsMiX631Id4xkc/QbduPO1mFZmfQngEp1ZxEJ6wTjPF++1687SDI59kuaujp2Z2Wqp6S8aWMoCOvsepfBeDm2wMGx7f8FoEx3DmGqc4joQd0hksmRu9A1TW3TmakWDv350x7R1325nkd1x0gGx22B169nl2HQ7yHlTV/My7Y1tp6tO0YyOK7AJ08KXEGEHN05hKWGK1Lrdux4x1ZzPMfDcQUGy4RzDpF/eFTGvbpDWM1Ru5FVe/eNp2D4XTjs53YyAq4qzvOu053DKs7aAgeNGZDyOgoDq7Y2d3xedw6rOKrAxDxFdwaRdKPcBj9Z2dKSqTuIFRxVYBDS9jexiI7BU91dI3+tO4cVnFVguVDBsQj4TpU/kHZzmTmrwOywn1f0RgpYXbunNa3mNHPUG5pJbsrtZAwebYTVkzt38kATANiG06bU+V/dAQbpbQIaAfwPA/uYj96zlghDCXQqAxMBFAL4jNaU9nT+B5kddwL4ke4gZnBUgQlo0J0hCgbwHAhPuMOhLdMLTnt3oBdUMKvzmzvyFHO5AhYyUJCEnGmCf1DV2PZcSX52pe4kiXLUMdEafyCfwalU4jARrWUO/9qXN/7VRAaq8rcWAeoWAhbCYR+N4rQ/7HLlz5w0tk13kEQ4qsAAUO1vbwH0H05i4CWDaNHMXI+pv1C2NbTnKoV7ABSbOW6asv1UPI77Tc3Mf9AdAYRfZez3XGh2eQGgtMDb5Mvz+sD8TQBpOZGbia7Y1tx+nu4QiXBcgTPCWSsJ9IGm1YeJ+Hpfrve26dMpZOWKfPnZawDjXAAtVq7H5ojC9APdIRLhuF1oAKjxt9/MwH1JXi0T8fXFudn/PdATV27cOYzVkCIizjHA2QQMASNI4HaD1KtDgpkv33DZ2YcGs9K611rHhHpc2wA5jTSKILlD2cXnnHZAd5B4OLLAFczqwqbAXwF8OVnrZOCukjzvT6IuZ6aHtvhnGsSLwVwKIKuf4UIA/kZMT8AIPr54TtGR/ta9tfmdk11GxvMAcuNLn94YdF1Jnmet7hzxcGSBAaC2fv+phitUD2CM5StjvOg+4Lko2m7zsk2NUxUZy0A4N/ahsQ+Eu9TY0AOLi4qC0Z5Xu6f1DCOsXgYwNtZ1pD3CKl+ud7HuGPFw3Gfg42YUjnkP4G/g6DFYKxlwqaXRyrtyS8PNShn/jKe8AEDAWGLczQH3yysqd02K9rwZk8a/DaJrYf3PazvM9t0zcWyBAcCXl72Zie+xeDVP+XLG7Y60YGVl/e3MfB8GvrfPwAgFgHpx5dbd5dGe4sv1bCNgdcLrSjMEnKo7Q7wcXWAAOEjv3wbg5WN/3Q/m3QBqADzPjGYcvTFW3Igp4pdly7c0XMXAHYmMHcEINmjD8s31s6M9oSfIPwHknPA+RugOEC/HfgburcYf8FDY5T66W/1pdXXs7jmlrUApNYuY5jJ4agxD/8uX553Y98GHK3eN7YF6DcDoRHL34zCxumBxeX7EuxRUN7XfBcatFq3bjtp9ed5s3SHi4ahzoaMpzvMEoi079tn1lWN/flm7p/WMcFjNJWAegIsAuKK9loGI59r2sOuHILaqvAAwnMl4fP365qkLF+b09F3oDoceDCn3D9FPdofZrztAvBy/Cx2rGZPGv12S573Pl+f9SjDI2QR8C8AmACfc6V0R/tn3sYq6OjeIr09C1NwDI4M3RVpw7GKJuiRksAl+XXeCeEmBE1A2JXtfcZ53tS/PO2dohmscwFcy8CSOfcaksHHCG8PTedJ5SMahKwDE+OH69c1DIi4DNiYjgx0Q4UXdGeIlu9AmuejssYcArAewvrKlJTOzc8QlRjDrjROfSZOTGCv7/eE9swA8e0IKw9jOSn5/AwBYbdUdIV5SYAuUTZzYDWBLpGVEPB6cxO8OicoQocDdww43Z3SNNODwvTBmNPvyPY26c8RLCtzH/ZUvjMrgrIsVUT4TjycDbiYEmOhVRcHnF88sSuz6UTbhmG8MiBDxW/OyiRO7q/3t+wB4kpkn1SjQ/bozJEIKfMzyyvrJBPwYwFwQMhkMMD7ZWBIzmN28orLhBQI/YxA/s3TW5LdiXhGr90HJOxmKGaf1s/gjOLvA//O+a/8jukMkwvEFfnRbw/DOEP+OgRsx8O4kAXwBAxcQ029Xbql/BcDTHOJnlsyZPLjL9hS/luSTGfvb4jv5MBKTUjctzDnxMJudOLrAK7fuzD4S4i1HT0OMHTOmApgKF921YnN9AxGeYRjPLCmbsifqaxRtpzAn87PnwWgLCDSanXpqNOPe4pxxtv3y6jjHnom1bFPjaJfifzD4HLPHJtCrBvhpUsYzS2ZOOWHWjRWV9bUALjF7vRExNi8pLzzh1Mq63R+cFHJ365rYQLdN7v2eeVZPqpAMjv0G0qXCj1hRXgBg8DkE3A5D1a+srG9Zvrn+rhWbdxV9spxh9QUU/4fouUgPB1V3LKeEppM/B7MOLUiH8gIOLfCKyoYFDLo0Geti4PNEuBWkXl5RWf/m8sr635IyDgCoTcLqe4Lu8OORFpDC9CSsP5UYAO784FXPgmOH+dKC43ahmZlWbmlohP7ZKToBWHsHeaZlS8oLTjidkpmppinwOlJgds4kCRybdaNKdxCzOe5LrOVbGs9T+ssLWFxeBlozXO7bIy2r3bOvFE4pL6HWTeqa6Tnj2nVHsYLjdqEJvEB3hiToUoQrvzUz5/2+C5iZOGxUaMiUbCEAP/1HjqckXcsLOKzAzEwEzNedw2KHFdTli2cVbo+0cGt9+xkgDuLoZ8J09Q4ZxiW+PO+dFUTp/HM66zPwqi27v2gwvaQ7h4X8xOpr0S7k763utdYxoaCrDMxXACgBEPGqJbshYCPcoevtOk1srBz1GZiZ0nX3+XUw7iFPaHV/M1P2Nv0L4/cDeBTAo5sa3x49BEOKiTAHoHmw5xQzIYDv3J7rvSPdt7q9OavA4PlpuNMRBqiBwe8PO5AxBMCgCtzb7PwzPgDwFICntjW0D1eKy8G4HkSlsMc/2BsM46qSvPE7dQdJNjv855hi5daGKWzwK7pzWKwLQA1AT1FG8NnFvqIPExmsurljMoWN3zIl6ayx+KwLZmUsKpt4iiMn6nNMgVds2f2fYLpNd44k6mamvxOwid14YmlpQUc8gzAz1fo7FjHxvej/bhHJ1gnCd3253od0B9HJOQWurN8L4Au6c2gSBvACmJ4Kw73upvKcmA+rVDe0nw+FTQBOMT9ezPYYBq4sLfA26Q6imyMKvGLrrgIYql53jhTxSZnJFVwfywQF1c0dk2EYzwEYZVm6gT3c1W18Z07R+H7vB+UUzihwZf3PAfxMd44UFGbQdsB4TIXDjw10kzQAqPa3lQO0Ecl/7xwCY4kv3xvx3G6ncsqJHOl6+ChRLgJ/mUCr2OV+Y0Vlw3UDvcCXl70ZwANJyNYL7WKXmirlPVHab4GP3vBLNevOYRvMT2QOO+mb10+fcMI818dVthwYldEVbAEwzvI0wO9DWYd+lE5XEJnJAVtgJVvfWBB9tbvzwz9Hm08aAMomnvIRM99tcZL3wZhXkuf9rpQ3OgcUWHaf41B6YETPvf09QWWE/4AEb/wWDQM7oIzJvnzvCdPhik9L6wKv2lx/FoA83TnsiEBLV23dVRxt+bFzjatNXq3BwF0Z+z1f9uWM/1+Tx05LaX0qJRMt6HU/63fBaGDFbcRkMGgEgc8GkI80/3eIl2GoXwOYEvUJhFowot7KNEYBAl3ry/OY/UshraX1G9cASojpN6DwI9FmilyzYfdJXZl0OQHfg2yt+5q8bGvDl749s+DvkRZS2HjFlNuzpPlF91ZK22+h169f7/pg6JmjF88pGtStIysqWHm/2LAIhN/AnlfjWIIZ9y8tL/xupGW19ftPNVyhdxMYPgSg4h+5nrucdAWRmdK2wPFavqkhlxRvAfq9o4GT7FpSVhhxBsujVy7h4zjHfQdKXe3LGRdx4gExOGn9JVY8ls4uaAqr8HQAcZ38n4Ymmj0gARvJHZos5U2cFDiCm2ZO/RcZuArpPe3MYI2sqOCI7xPKdH0mxrF6QPj3Gbmey5wyY4bVpMBRLJ5dWAemFbpzpIBQRUWUz6chY0IM47zBMC705XrvJUri3d3SnBS4H+zGzwE4+qoXAt6Luow5+iGmXhh4MpiVMcWJM2ZYTQrcj6WlBR1gPKE7h04M7O5n8UAzdXSCsKgkz/tVp86YYTUp8ACUy3hSdwadCBTxbgYbd7YOA+Dr56V7CXS+02fMsJoUeABdxsi/4+hcU05khNi9IdKCrEzXTADDI7+M1xoGiorzPI0WZhOQAg/o5rKJ3QCi3u83rTH+EW36HQLPi/DwIWK6xpeXfV1pgfewxekEpMCDw3hLdwQdSNHTkR7fuZMzACrv8+xd7FJTi/M9jyUjmzhKCjwYhISmZ7UpVow/RVpwcOi+GQwe/ckDhFXBrI+mlUwa15K0dAJAml/MYB52Oe+sU3rhxrKCiOc5MxvHd58/ZOYbS/Kyn0piMNGLbIEHhU7WnSDZCPxMpMcrmBUYlzLwkmFgckm+lFcn2QIPzpm6AyQZGxS5wBc1tl1oKLX+5G7PD4qKKObbuAhzSYEHsPrZvSOD6HLYhPD0ytJZhW9FWuIa1f1y8YQJEa8PFsknu9ADCGZ0fwWAS3eO5OKI3z4DwPQJ0WerFMknBR4QX6k7QbKFVTji7rNIPU77ajUmDz3r94Qzwm8htW7qZbX6JWWFk3WHEINj+y3wmro3LStXOMO4Fc4qL8CQra+N2L7A3Z0f3mNFiZdvasgF+Cazx0115FZRP/+K1GPrb6Hvr3xhFIDruzoPvgvgTrPGXVP3ZlZ354drAWSYNaZNNC8uzd9bUcHKc179xWD4iKmAFLwAwIxDDH6VoP7ag2Ebj50nLjSy9Wfg5ZW7v0agPwLoZoWLl84sfCnRMSsqWHnPa3gCjIUmRLQXxi8J9DYT34YBjn0zsI+A3/Vg+L1SZH1sXeAVlfUbAMw99td2g+gr355V8Fq8463cuTODO9xrAHzNlIA2w0ArAeNjfJk/rMKX3zRz6r8sCSX6ZdsCP1jXPMLVGewAMLTXwx1EmL94VmHMsx0+uM1/uisUfgyEL5mX0hkY2KdYzVhcnu/XncVpbFvgFZX1VwKINFtGiIH7srr5l9fPm3xwoHHuXr9j6LDhw5aC8DMAsc6yKP7Pu+yiqUtLC2Q63iSy8ZdYvCDK7x83Abd0Z9KNKyrr/5sMbACHXux99/kH65pHqM7QuQTjUgDXADglWanT2GkqbDwE4DLdQZzEllvglRt3DmOXex+AYYN8CQNoB9B57DUe2PRnT3UElC4uK4w4j5Ywny2PA7MrowyDLy9wtKzZOPrNqhdSXssw8GPdGZzElgUm8HzdGURU0x/YvOsM3SGcwnYFvnv9jqEM0+5JK8xHGeQq0x3CKWxX4OEjhpZCbv+Z0gzgPN0ZnMJ2BWbQAt0ZRP8IOEt3BqewVYHvr2zJhOw+24AxTncCp7BVgYfwxxdDTrZIeQSy8fkF9mKrAoPoAt0RxMAY+Fh3BqewV4EZsdyPVugT9Zakwly2KjARRurOIAbGgFzUkCS2KjCD5YZZNqDAMV8NJuJjqwID9JbuBGJAR9zBobW6QziFrQpMihOecUNYjZ++4bKzD+lO4RS2KjCC4TrIN5xmGPA66TgxFN9t0dgiAlsVePGcoiNgelR3DnvjA8T8U4sGf3zJzCkNFo0tIrBVgQEg7Fa/AnBkwCeKyJj+fPhw58Mw+VAPA/tcQdctZo4pBma7At9UmvcOEd2mO4d90dPfXzitE6DvmThoGIRrb7wsL2DimGIQbFdgAFg0M//3AMuudOw+OPmw+68AsKSs4GkwLTNhTAOMG5fOKtxmwlgiRrYsMBFx+9CDNwBYozuLnTDoLwsX5vQc//vJh1+7mQhrExiyE8DVS8oL5f9BE9tPLbO8cveNBPo1gJN0Z0l1zJiztLxw06cfY1q1teHHzPg5gCExDLeLWH1DppLVy5Zb4N6Wlk1+iMKhiWD8koFW3XlS2IdBGl7d90Ei4sWzCn9lEOUDWAcgNMA49cy4rv2lgi9KefWz/Ra4t4oKVtnnNUxj5gUAzQdwmu5MKeSxJWWF1wz0pAc3N3vdqqeUGZNBlA0mYhj7FaMZblft4tL8vckIKwYnrQrc16qt9TnhMF9BRFcDmKg7j1bMc5eUT35WdwxhrrQucG+9ynwVgC/ozpNkHx/5+Mi4o4ePRDpxTIF7O15mRWohg8/RncdyzE8sKZ98te4YwnyOLHBvn5RZ0WxmTNWdxwrMtGBpecEzunMI8zm+wL0t29R4piKeA+IrAFyoO49Jjgxz0bjrSgvkWuo0JAWOYvmW3f+PDHXZsTJPg23/reipJWUFzrtZuUPY9E2ZXA9s3nWGG665Ni3zVUvKCtfpDiGsYac3Yko4eiNw4/JjZb4AqX0yTFdGMGucXGCfvqTACVi+sf5U5ab5zMZ8gC5C6pX5z0vKCufpDiGsIwU2yYObm70u1XM5mOYD+DIAl+5McvJG+pMCW+Dhyl1jg6TmMWM+gEsA6LhTQVP7SwUFFRVkaFi3SBIpsMUeqHnxFFdP5mUEmg9wMWK74idehoJxyaKyKc8nYV1CIylwEq3ZsPuk7kx1KcALAPgAZFmxHgZ+sbSs8GdWjC1SixRYk/srXxiVyZmzmWgBgJkAhpoxLgEPLJpVcDMRsRnjidQmBU4Bj25rGH44xOVEtADgMgDD4ximC0y3LikvuM/sfCJ1SYFTzMqNO4ex2z0TBi8A0WxgwPtBhQH6k2L+6aLywteTkVGkDilwCltT92ZWd+dHPgKXMKMAhFOPLTpCwGsg+pti/OnGsoJ3tQYVQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEHH6/wXOXW9gEVklAAAAAElFTkSuQmCC",Ure={class:"bkflow-plugin-group"},Gre={class:"plugin-content-wrapper"},Wre={class:"tags-list"},Yre=["onClick"],qre={class:"plugins-list"},Qre={class:"plugin-icon-wrapper"},$re=["src"],Kre={class:"plugin-info-wrapper"},Zre={class:"plugin-name"},Xre=["title"],Jre={class:"managers-text"},ese=e.defineComponent({__name:"bkflow-plugin-group",props:{bkflowPluginTags:{},activeTag:{}},emits:["selectBkflowPlugin"],setup(t,{emit:n}){const o=Vn(),a=t,l=n,r=e.ref([]),i=e.ref(a.activeTag||0),s=e.ref([]),c=e.ref(!1),f=e.ref(!1),d=e.ref({}),v=[{id:"name",name:"插件名称"}],h=e.computed(()=>f.value?a.bkflowPluginTags.filter(w=>(d.value[w.id]?.length||0)>0):a.bkflowPluginTags),m=e.computed(()=>f.value?d.value[i.value]||[]:s.value);e.onMounted(()=>{y()});const g=w=>{i.value=w,f.value||y()},k=async w=>{const C=w.find(E=>E.id==="name")?.values?.[0]?.name||"";if(!C){f.value=!1,d.value={},y();return}f.value=!0,c.value=!0,d.value={};try{const x=(await o.fetchBkFlowInnerPluginList()).filter(V=>V.name.toLowerCase().includes(C.toLowerCase())).map(V=>({code:V.code,name:V.name,logo_url:Wc,desc:V.desc||"--",managers:["BkFlow"],version:V.version,tag:0}));if(x.length>0&&(d.value[0]=x),o.enableThirdPlugin!==!1&&o.searchBkFlowThirdPartyPlugins&&(await o.searchBkFlowThirdPartyPlugins(C)).data.plugins.forEach(T=>{const z={code:T.code,name:T.name,logo_url:T.logo_url,desc:T.introduction||"--",managers:T.managers,version:"1.0.0",tag:T.tag};d.value[T.tag]||(d.value[T.tag]=[]),d.value[T.tag].push(z)}),!d.value[i.value]||d.value[i.value].length===0){const V=Object.keys(d.value).map(Number)[0];V!==void 0&&(i.value=V)}}catch(E){console.error("Search plugins failed:",E)}finally{c.value=!1}},y=async()=>{if(c.value=!0,s.value=[],i.value===0){const w=await o.fetchBkFlowInnerPluginList();s.value=w.map(b=>({code:b.code,name:b.name,logo_url:Wc,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(C=>({code:C.code,name:C.name,logo_url:C.logo_url,desc:C.introduction||"--",managers:C.managers,version:"1.0.0"}))}c.value=!1},A=()=>{r.value=[],f.value=!1,d.value={},y()},_=w=>{const C=(f.value?m.value:s.value).find(E=>E.code===w);if(C){const{code:E,name:x,version:S}=C,V=f.value?C.tag===0:i.value===0;l("selectBkflowPlugin",{code:V?E:"remote_plugin",name:x,data:V?{}:{plugin_code:{hook:!1,value:E}},version:S})}};return(w,b)=>{const C=e.resolveComponent("bk-button"),E=e.resolveDirective("bk-loading");return e.openBlock(),e.createElementBlock("div",Ure,[e.createVNode(ks,{modelValue:r.value,"onUpdate:modelValue":b[0]||(b[0]=x=>r.value=x),options:v,placeholder:"搜索插件名称",onChange:k},null,8,["modelValue"]),e.createElementVNode("div",Gre,[h.value.length>0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",Wre,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,x=>(e.openBlock(),e.createElementBlock("div",{key:x.id,class:e.normalizeClass(["tag-item",{actived:i.value===x.id}]),onClick:S=>g(x.id)},e.toDisplayString(x.name),11,Yre))),128))]),e.withDirectives((e.openBlock(),e.createElementBlock("div",qre,[m.value.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(m.value,x=>(e.openBlock(),e.createElementBlock("div",{key:x.code,class:"plugin-item"},[e.createElementVNode("div",Qre,[e.createElementVNode("img",{src:x.logo_url||e.unref(Wc),alt:"plugin-icon"},null,8,$re)]),e.createElementVNode("div",Kre,[e.createElementVNode("h4",Zre,e.toDisplayString(x.name),1),e.createElementVNode("p",{class:"plugin-desc",title:x.desc},e.toDisplayString(x.desc),9,Xre),e.createElementVNode("div",Jre,e.toDisplayString(x.managers?x.managers.join(","):"BkFlow")+" 提供",1)]),e.createVNode(C,{theme:"primary",size:"small",onClick:S=>_(x.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(ln,{key:1,title:"该分类暂无插件"})):e.createCommentVNode("",!0)])),[[E,{loading:c.value}]])],64)):f.value&&!c.value&&h.value.length===0?(e.openBlock(),e.createBlock(ln,{key:1,"is-search":!0,onClear:A})):e.createCommentVNode("",!0)])])}}}),tse=He(ese,[["__scopeId","data-v-1f2d5307"]]),nse={key:0,class:"bkflow-segment-tabs__divider"},ose=["onClick"],ase={key:2,class:"bkflow-segment-tabs__label"},lse={key:3,class:"bkflow-segment-tabs__count"},Xw=120,rse=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 d=l.value;d&&(r.value=d.scrollLeft>1,i.value=d.scrollLeft+d.clientWidth<d.scrollWidth-1)},c=d=>{l.value?.scrollBy({left:d,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)),(d,v)=>{const h=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:v[0]||(v[0]=m=>c(-Xw))})):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,g)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:m.value},[g>0?(e.openBlock(),e.createElementBlock("span",nse)):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:k=>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",ase,e.toDisplayString(m.label),1)):e.createCommentVNode("",!0),m.count!=null?(e.openBlock(),e.createElementBlock("span",lse,e.toDisplayString(m.count),1)):e.createCommentVNode("",!0)],10,ose)),[[h,{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:v[1]||(v[1]=m=>c(Xw))})):e.createCommentVNode("",!0)],2)}}}),of=He(rse,[["__scopeId","data-v-58204f62"]]),sse=/[;;]/;function ise(t){if(!t)return[];const n=t.split(sse).map(o=>o.trim()).filter(Boolean);return[...new Set(n)]}function use(t,n){if(n.length===0)return t;const o=new Set(n);return t.filter(a=>o.has(a.name?.trim())||o.has(a.id?.trim()))}const cse=30;function dse(t){const n=t.pageSize??cse,o=e.ref(t.defaultSource),a=e.shallowRef([]),l=e.ref(""),r=e.shallowRef([]),i=e.ref(0),s=e.ref(""),c=e.ref(!1),f=e.ref(!1);let d=0,v=0;const h=e.ref(!1),m=e.computed(()=>!h.value&&r.value.length<i.value),g=()=>{r.value=[],i.value=0,h.value=!1};async function k(C=!1){const{fetchSopsPluginList:E}=t.api;if(!l.value){C||g();return}const x=v+=1,S=C?r.value.length:0;f.value=!0;try{const V=await E({template_id:t.templateId(),api_name:o.value,category:l.value,key:s.value||void 0,limit:n,offset:S});if(x!==v)return;const N=V.apis??[];if(C){const T=new Set(r.value.map(j=>j.id)),z=N.filter(j=>!T.has(j.id));r.value=[...r.value,...z],z.length===0&&(h.value=!0)}else r.value=N,h.value=!1;i.value=V.total}catch(V){if(x!==v)return;C?h.value=!0:g(),console.error(V)}finally{x===v&&(f.value=!1)}}async function y(C=""){const{fetchSopsPluginCategories:E}=t.api,x=d+=1;c.value=!0,a.value=[],l.value="",g();try{const S=await E({template_id:t.templateId(),api_name:o.value});if(x!==d)return;const V=use(S,t.categoryWhitelist?.()??[]);a.value=V;const N=V.some(T=>T.id===C);l.value=N?C:V[0]?.id??""}catch(S){if(x!==d)return;a.value=[],console.error(S)}finally{x===d&&(c.value=!1)}x===d&&l.value&&await k()}async function A(C){C!==o.value&&(o.value=C,await y())}async function _(C){C!==l.value&&(l.value=C,await k())}async function w(C){s.value=C,await k()}async function b(){f.value||!m.value||await k(!0)}return{activeSource:o,categories:a,activeCategory:l,plugins:r,keyword:s,categoriesLoading:c,pluginsLoading:f,hasMore:m,loadCategories:y,selectSource:A,selectCategory:_,search:w,loadMore:b}}function YE(t,n,o){const a=t.category||o;return t.category_name||n.find(l=>l.id===a)?.name||a}function fse(t){return t.latest_version?t.latest_version:t.default_version?t.default_version:t.versions?.[t.versions.length-1]||""}function pse(t){return JSON.parse(JSON.stringify(t))}function mse(t,n){const o=t.category||n.activeCategory,a=YE(t,n.categories,n.activeCategory),l=fse(t)||"v2.0.0",r=t.wrapper_version||"v2.0.0",i=n.sourceKey||t.source_key;return pse({id:t.id,name:t.name,meta_url:t.meta_url,api_key:n.apiName,plugin_source:t.plugin_source,plugin_code:t.plugin_code,plugin_version:l,wrapper_version:r,category:{id:o,name:a},meta_url_template:t.meta_url_template,versions:t.versions||[],latest_version:t.latest_version,default_version:t.default_version,desc:t.description||"",source_key:i})}function vse(t,n){const o=t.wrapper_version||"v2.0.0";return{name:t.name,code:"uniform_api",data:{},version:o,api_meta:mse(t,n)}}const gse={class:"sops-plugin-group"},hse={class:"group-header"},bse={class:"plugin-content-wrapper"},yse={class:"category-list"},kse=["onClick"],wse={class:"plugin-icon-wrapper"},Cse=["src"],Ase={class:"plugin-info-wrapper"},Ese={class:"plugin-name"},xse=["title"],_se={class:"plugin-category"},Bse={key:0,class:"list-more-tip"},Sse=e.defineComponent({__name:"index",props:{flowId:{},sources:{},activeSource:{default:""}},emits:["selectSopsPlugin"],setup(t,{emit:n}){const o=t,a=n,l=pt.ensureSopsCatalogApi(Vn()),r=Wi(),i=e.computed(()=>ise(r?.sopsCategoryWhitelist)),{activeSource:s,categories:c,activeCategory:f,plugins:d,keyword:v,categoriesLoading:h,pluginsLoading:m,hasMore:g,loadCategories:k,selectSource:y,selectCategory:A,search:_,loadMore:w}=dse({api:l,templateId:()=>o.flowId,defaultSource:V(),categoryWhitelist:()=>i.value}),b=e.ref([]),C=e.ref(s.value),E=e.ref(!1),x=[{id:"name",name:"插件名称"}],S=e.computed(()=>o.sources.map(L=>({value:L.id,label:L.name})));function V(){return o.sources.find(F=>F.id===o.activeSource)?.id??o.sources[0]?.id??""}e.onMounted(()=>{k()}),e.watch(C,L=>{y(L)});const N=L=>YE(L,c.value,f.value),T=L=>{const F=L.find(O=>O.id==="name");_(F?.values?.[0]?.name||"")},z=()=>{b.value=[],_("")},j=async L=>{if(E.value||m.value||!g.value)return;const{scrollTop:F,clientHeight:O,scrollHeight:P}=L.target;if(!(P-F-O>10)){E.value=!0;try{await w()}finally{E.value=!1}}},R=L=>{const F=o.sources.find(O=>O.id===s.value);a("selectSopsPlugin",vse(L,{apiName:s.value,sourceKey:F?.source_key||s.value,categories:c.value,activeCategory:f.value}))};return(L,F)=>{const O=e.resolveComponent("bk-button"),P=e.resolveDirective("bk-loading");return e.openBlock(),e.createElementBlock("div",gse,[e.createElementVNode("div",hse,[e.createVNode(of,{modelValue:C.value,"onUpdate:modelValue":F[0]||(F[0]=M=>C.value=M),class:"source-tabs",items:S.value},null,8,["modelValue","items"]),e.createVNode(ks,{modelValue:b.value,"onUpdate:modelValue":F[1]||(F[1]=M=>b.value=M),class:"source-search",options:x,placeholder:"搜索插件名称",onChange:T},null,8,["modelValue"])]),e.createElementVNode("div",bse,[e.withDirectives((e.openBlock(),e.createElementBlock("div",yse,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(c),M=>(e.openBlock(),e.createElementBlock("div",{key:M.id,class:e.normalizeClass(["category-item",{actived:M.id===e.unref(f)}]),onClick:H=>e.unref(A)(M.id)},e.toDisplayString(M.name),11,kse))),128)),!e.unref(h)&&e.unref(c).length===0?(e.openBlock(),e.createBlock(ln,{key:0,title:"暂无插件分类"})):e.createCommentVNode("",!0)])),[[P,{loading:e.unref(h)}]]),e.withDirectives((e.openBlock(),e.createElementBlock("div",{class:"plugins-list",onScroll:j},[e.unref(d).length>0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),M=>(e.openBlock(),e.createElementBlock("div",{key:M.id,class:"plugin-item"},[e.createElementVNode("div",wse,[e.createElementVNode("img",{src:e.unref(Wc),alt:"plugin-icon"},null,8,Cse)]),e.createElementVNode("div",Ase,[e.createElementVNode("h4",Ese,e.toDisplayString(M.name),1),e.createElementVNode("p",{class:"plugin-desc",title:M.description},e.toDisplayString(M.description||"--"),9,xse),e.createElementVNode("div",_se,e.toDisplayString(N(M)),1)]),e.createVNode(O,{theme:"primary",size:"small",onClick:H=>R(M)},{default:e.withCtx(()=>[...F[2]||(F[2]=[e.createTextVNode("选择",-1)])]),_:1},8,["onClick"])]))),128)),E.value?(e.openBlock(),e.createElementBlock("div",Bse,"加载中...")):e.createCommentVNode("",!0)],64)):e.unref(m)?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(ln,{key:1,"is-search":!!e.unref(v),title:"该分类暂无插件",onClear:z},null,8,["is-search"]))],32)),[[P,{loading:e.unref(m)&&!E.value}]])])])}}}),Vse=He(Sse,[["__scopeId","data-v-c48ba486"]]),Nse={class:"plugin-select-slider"},Tse={key:0,class:"plugin-select-content"},Dse=e.defineComponent({__name:"index",props:{show:{type:Boolean,default:!1},flowId:{},active:{default:""},bkflowTag:{default:0},sopsSource:{default:""},pluginGroupList:{default:()=>[]},inputData:{default:()=>({})},isBack:{type:Boolean,default:!1}},emits:["close","update:show","select","back"],setup(t,{emit:n}){const o={data:Sle,agent:Wle,model:Ere,knowledgebase:Fre,bkflow:tse,output:Hre,[pt.SOPS_PLUGIN_GROUP_NAME]:Vse},a=["bkflow",pt.SOPS_PLUGIN_GROUP_NAME],l=t,r=n,i=e.ref(l.active),s=e.shallowRef([]),c=e.ref(!1),f=e.computed(()=>o[i.value]||null),d=e.computed(()=>l.pluginGroupList.find(C=>C.name===i.value)?.properties||{}),v=e.computed(()=>l.pluginGroupList.find(C=>C.name==="bkflow")?.children||[]),h=e.computed(()=>i.value==="knowledgebase"?{cancel:b}:{}),m=e.computed(()=>{if(i.value!==pt.SOPS_PLUGIN_GROUP_NAME)return{};const C=pt.getSopsPluginSources(l.pluginGroupList);return{flowId:l.flowId,activeSource:l.sopsSource,sources:C}});e.watch(()=>l.show,()=>{l.show&&(i.value=l.active,a.includes(i.value)||g())});const g=()=>{const C=l.pluginGroupList.find(E=>E.name===i.value);s.value=C?C.children:[]},k=C=>{s.value=[],i.value=C,a.includes(C)||g()},y=C=>{if(typeof C=="object"&&C.pluginId){const E=s.value.find(x=>x.id===C.pluginId);r("select","projectPlugin",E,C.inputData)}else{const E=s.value.find(x=>x.id===C);r("select","projectPlugin",E)}},A=C=>{r("select","bkflowPlugin",C)},_=C=>{r("select","sopsPlugin",C)},w=()=>l.isBack?(r("back"),!1):(b(),!0),b=()=>{s.value=[],r("close"),r("update:show",!1)};return(C,E)=>{const x=e.resolveComponent("bk-sideslider"),S=e.resolveDirective("bk-loading");return e.openBlock(),e.createBlock(x,{title:"节点选择","is-show":l.show,width:1200,"esc-close":!1,"before-close":w},{default:e.withCtx(()=>[e.createElementVNode("div",Nse,[e.createVNode(ple,{active:i.value,"onUpdate:active":E[0]||(E[0]=V=>i.value=V),groups:l.pluginGroupList,onChange:k},null,8,["active","groups"]),l.show?e.withDirectives((e.openBlock(),e.createElementBlock("section",Tse,[f.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f.value),e.mergeProps({key:i.value,plugins:s.value,loading:c.value,"bkflow-plugin-tags":v.value,"active-tag":l.bkflowTag,properties:d.value,"input-data":l.inputData},m.value,e.toHandlers(h.value),{onSelect:y,onSelectBkflowPlugin:A,onSelectSopsPlugin:_}),null,16,["plugins","loading","bkflow-plugin-tags","active-tag","properties","input-data"])):e.createCommentVNode("",!0)])),[[S,{loading:c.value}]]):e.createCommentVNode("",!0)])]),_:1},8,["is-show"])}}}),Ise=He(Dse,[["__scopeId","data-v-368307a9"]]),Ose="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",Mse={class:"option-item"},Pse=["src"],Lse={class:"option-name"},Rse=e.defineComponent({__name:"option-item",props:{option:{}},setup(t){const n=t,o=a=>{const l=a.target;l.src!==pt.PLUGIN_GROUP_DEFAULT_ICON&&(l.src=pt.PLUGIN_GROUP_DEFAULT_ICON)};return(a,l)=>(e.openBlock(),e.createElementBlock("div",Mse,[e.createElementVNode("img",{class:"option-img",src:n.option.iconUrl||e.unref(pt.PLUGIN_GROUP_DEFAULT_ICON),onError:o},null,40,Pse),e.createElementVNode("div",Lse,e.toDisplayString(n.option.name),1),n.option.type==="group"?(e.openBlock(),e.createBlock(e.unref(yn.AngleRight),{key:0,class:"angle-icon"})):e.createCommentVNode("",!0),n.option.type==="link"?(e.openBlock(),e.createBlock(e.unref(yn.ArrowsRight),{key:1,class:"arrow-icon"})):e.createCommentVNode("",!0)]))}}),Jw=He(Rse,[["__scopeId","data-v-0a4661f8"]]),Fse={class:"quick-edit-popover"},zse={class:"search-input"},jse={class:"plugin-option-list"},Hse={key:0,class:"logic-node-list"},Use=["onClick"],Gse={class:"logic-node-name"},Wse={key:1,class:"data-plugin-list"},Yse=["onClick"],qse={class:"data-plugin-name"},Qse={key:2,class:"agent-plugin-list"},$se={class:"list-wrapper"},Kse=["onClick"],Zse={class:"agent-name"},Xse={class:"agent-en-name"},Jse={key:3,class:"agent-plugin-list"},eie={class:"list-wrapper"},tie=["onClick"],nie={class:"agent-name"},oie={key:4,class:"bkflow-tag-list"},aie=["onClick"],lie={key:5,class:"bkflow-tag-list"},rie=["onClick"],sie=["onClick"],iie=e.defineComponent({__name:"index",props:{pluginGroupList:{default:()=>[]}},emits:["addNode","addPlugin","openPluginSelect"],setup(t,{emit:n}){const o={branchgateway:ri.find(_=>_.type==="exclusive-gateway")?.icon??"bkflow-canvas-fenzhiwangguan",parallelgateway:ri.find(_=>_.type==="parallel-gateway")?.icon??"bkflow-canvas-bingxingwangguan",conditionalparallelgateway:ri.find(_=>_.type==="conditional-parallel-gateway")?.icon??"bkflow-canvas-tiaojianbingxingwangguan",convergegateway:ri.find(_=>_.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=Wi(),i=t,s=n,c=e.shallowRef([]),f=e.ref(""),d=e.shallowRef([...c.value||[]]),v=e.computed(()=>(i.pluginGroupList.find(_=>_.name==="agent")?.children.length||0)>10);e.watch(()=>i.pluginGroupList,_=>{const w=[{id:"logic",name:"逻辑",iconUrl:Ose,type:"group",width:160,children:a}];_.forEach(b=>{w.push({id:b.name,name:b.alias,iconUrl:b.iconUrl,type:b.name==="knowledgebase"?"link":"group",width:b.name==="data"||b.name===pt.SOPS_PLUGIN_GROUP_NAME?160:280,children:b.children.map(C=>{if(b.name==="data"){const{id:E,name:x,alias:S}=C;return{id:E,name:S,icon:l[x]}}else if(b.name==="agent"){const{id:E,alias:x,name:S}=C;return{id:E,name:x,enName:S}}else if(b.name==="bkflow"){const{id:E,name:x}=C;return{id:E,name:x}}return C})})}),c.value=w,d.value=[...c.value]},{immediate:!0});const h=_=>{const w=_.trim().toLowerCase();if(w===""){d.value=[...c.value];return}const b=[];c.value.forEach(C=>{if(C.name.toLowerCase().includes(w))b.push(C);else if(C.type==="group"){const E=[];C.children?.forEach(x=>{x.name.toLowerCase().includes(w)&&E.push(x)}),E.length>0&&b.push({...C,children:E})}}),d.value=b},m=()=>{f.value="",d.value=[...c.value]},g=_=>{s("addNode",_)},k=(_,w)=>{w==="bkflow"?y("bkflow",_):w===pt.SOPS_PLUGIN_GROUP_NAME?y(pt.SOPS_PLUGIN_GROUP_NAME,_):s("addPlugin",_,w)},y=(_,w=0)=>{s("openPluginSelect",_,w)},A=_=>{_==="agent"&&!v.value?r?.agentApplyUrl&&window.open(r.agentApplyUrl,"_blank"):y(_)};return(_,w)=>{const b=e.resolveComponent("bk-input"),C=e.resolveComponent("bk-button"),E=e.resolveComponent("bk-popover");return e.openBlock(),e.createElementBlock("div",Fse,[e.createElementVNode("div",zse,[e.createVNode(b,{modelValue:f.value,"onUpdate:modelValue":w[0]||(w[0]=x=>f.value=x),placeholder:"搜索节点",type:"search",clearable:!0,onClear:m,onInput:h},null,8,["modelValue"])]),e.createElementVNode("div",jse,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,x=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:x.id},[x.type==="group"?(e.openBlock(),e.createBlock(E,{key:0,theme:"light",placement:"right-start","ext-cls":"plugin-child-popover",boundary:"parent",arrow:!1,width:x.width,"popover-delay":[0,100]},{content:e.withCtx(()=>[x.id==="logic"?(e.openBlock(),e.createElementBlock("div",Hse,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.children,S=>(e.openBlock(),e.createElementBlock("div",{key:S.id,class:"logic-node-item",onClick:V=>g(S.id)},[e.createElementVNode("i",{class:e.normalizeClass(["bkflow-canvas-icon",S.icon])},null,2),e.createElementVNode("span",Gse,e.toDisplayString(S.name),1)],8,Use))),128))])):x.id==="data"?(e.openBlock(),e.createElementBlock("div",Wse,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.children?.slice(0,10),S=>(e.openBlock(),e.createElementBlock("div",{class:"data-plugin-item",key:S.id,onClick:V=>k(S.id,"data")},[e.createElementVNode("div",qse,e.toDisplayString(S.name),1)],8,Yse))),128))])):x.id==="agent"?(e.openBlock(),e.createElementBlock("div",Qse,[e.createElementVNode("div",$se,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.children?.slice(0,10),S=>(e.openBlock(),e.createElementBlock("div",{class:"agent-plugin-item",key:S.id,onClick:V=>k(S.id,"agent")},[e.createElementVNode("span",Zse,e.toDisplayString(S.name),1),e.createElementVNode("span",Xse,"("+e.toDisplayString(S.enName)+")",1)],8,Kse))),128))])])):x.id==="model"?(e.openBlock(),e.createElementBlock("div",Jse,[e.createElementVNode("div",eie,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.children?.slice(0,10),S=>(e.openBlock(),e.createElementBlock("div",{class:"agent-plugin-item",key:S.id,onClick:V=>k(S.id,"model")},[e.createElementVNode("span",nie,e.toDisplayString(S.alias||S.enName),1)],8,tie))),128))])])):x.id==="bkflow"?(e.openBlock(),e.createElementBlock("div",oie,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.children?.slice(0,10),S=>(e.openBlock(),e.createElementBlock("div",{class:"bkflow-tag-item",key:S.id,onClick:V=>k(S.id,"bkflow")},e.toDisplayString(S.name),9,aie))),128))])):x.id===e.unref(pt.SOPS_PLUGIN_GROUP_NAME)?(e.openBlock(),e.createElementBlock("div",lie,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.children,S=>(e.openBlock(),e.createElementBlock("div",{class:"bkflow-tag-item",key:S.id,onClick:V=>k(S.id,e.unref(pt.SOPS_PLUGIN_GROUP_NAME))},e.toDisplayString(S.name),9,rie))),128))])):e.createCommentVNode("",!0),x.children&&x.children.length===0?(e.openBlock(),e.createBlock(ln,{key:6,class:"group-empty-exception",title:`暂无${x.name}插件`},null,8,["title"])):e.createCommentVNode("",!0),x.id==="agent"||x.children&&x.children.length>10?(e.openBlock(),e.createElementBlock("div",{key:7,class:"list-footer",onClick:S=>A(x.id)},[e.createVNode(C,{theme:"primary",text:"",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.id==="agent"&&!v.value?"申请更多权限":"更多"),1)]),_:2},1024),w[1]||(w[1]=e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-arrow2"},null,-1))],8,sie)):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.createVNode(Jw,{option:x},null,8,["option"])]),_:2},1032,["width"])):(e.openBlock(),e.createBlock(Jw,{key:1,option:x,onClick:S=>y(x.id)},null,8,["option","onClick"]))],64))),128)),d.value.length===0?(e.openBlock(),e.createBlock(ln,{key:0,"is-search":f.value.length>0,onClear:m},null,8,["is-search"])):e.createCommentVNode("",!0)])])}}}),e1=He(iie,[["__scopeId","data-v-fe6d0204"]]),uie={class:"pipeline-editor-container"},cie={class:"dnd-palette-items"},die=["data-dnd-type","title","onMouseenter"],fie={class:"dnd-item-text"},pie=["src"],om=100,mie=e.defineComponent({__name:"index",props:{mode:{},flowId:{},pipelineTree:{},systemVariables:{default:()=>[]},pluginGroupList:{default:()=>[]},dndNodeTypes:{default:()=>ri},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 d(se,U){if(!U.tipsImage)return;const I=se.currentTarget.getBoundingClientRect(),J=s.value?.getBoundingClientRect().right??I.right+16;f.value={visible:!0,x:J+8,y:Math.max(8,Math.min(window.innerHeight-208,I.top+I.height/2-100)),image:U.tipsImage}}function v(){f.value.visible=!1}const h=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,U])=>{if(c.forEach(J=>J()),c.length=0,!se||!U)return;const I=U.querySelectorAll("[data-dnd-type]");for(const J of I){const q=J.dataset.dndType,ve=se.registerDndSource(J,()=>({id:`node${pt.generateId()}`,type:q,position:{x:0,y:0},label:"",payload:{}}));c.push(ve)}},{flush:"post"}),e.onBeforeUnmount(()=>{c.forEach(se=>se()),S&&(clearTimeout(S),S=null)});const g=e.ref({show:!1,nodeId:"",edgeId:"",condition:null,hasDefaultBranch:!1,isDefault:!1}),k=e.ref({show:!1,node:null,constants:null}),y=e.computed(()=>pt.getSopsPluginSources(a.pluginGroupList)),A=e.ref({show:!1,active:a.pluginGroupList[0]?.name||"",bkflowTag:0,sopsSource:"",node:null,constants:null,isBack:!1});e.watch(()=>r.value?.editor?.flowModel.value,se=>{if(se){if(k.value.show&&k.value.node&&(se.nodes[k.value.node.id]||(k.value={show:!1,node:null,constants:null})),g.value.show){const{nodeId:U,edgeId:I}=g.value;(!se.nodes[U]||!se.edges[I])&&(g.value={...g.value,show:!1})}x.value.show&&(se.nodes[x.value.nodeId]||(x.value={...x.value,show:!1})),A.value.show&&A.value.node&&(se.nodes[A.value.node.id]||(A.value={...A.value,show:!1,node:null,constants:null,isBack:!1}))}});const _=e.computed(()=>{const se=r.value?.editor;return se?new Hg(se.flowModel.value).globalVariables:a.pipelineTree.constants});function w(){return r.value?.editor}function b(se){const U=w();U&&U.executeCommand(se)}function C(se){l("change",se)}function E(se){l("ui-event",se),se.type==="node.action.debug"&&Ne(se.nodeId)}const x=e.ref({show:!1,nodeId:"",screenPosition:{x:0,y:0}});let S=null;e.watch(()=>a.mode,se=>{se!=="edit"&&(k.value={show:!1,node:null,constants:null},g.value={...g.value,show:!1},A.value={...A.value,show:!1,node:null,constants:null,isBack:!1},x.value={...x.value,show:!1})});function V(){S=setTimeout(()=>{x.value.show=!1,S=null},150)}function N(){S&&(clearTimeout(S),S=null)}function T(se){return vi(se,w()?.schema)}function z(se){const U=w();if(!U)return{x:0,y:0};const I=U.api.value;if(!I)return{x:0,y:0};const J=I.unsafeGetGraph(),q=U.flowModel.value.nodes[se];if(!q)return{x:0,y:0};const ve=Ra.width,ge=Ra.height;return J.localToPage(q.position.x+ve,q.position.y+ge/2)}function j(se){if(a.thumbnail)return;const U=w();if(!U)return;const I=U.flowModel.value.nodes[se.nodeId];if(!I)return;if(a.mode==="execute"){l("running-node-click",se.nodeId);return}if(a.mode==="mock-config"){if(I.type!=="task")return;const Be=Qn(U.flowModel.value).activities[se.nodeId];Be&&l("mock-node-click",Fe(Be));return}if(a.mode!=="edit"&&a.mode!=="view")return;if(I.type==="placeholder"){const ge=z(se.nodeId);x.value={show:!0,nodeId:se.nodeId,screenPosition:{x:ge.x+18,y:ge.y-18}};return}if(I.type!=="task")return;const q=Qn(U.flowModel.value).activities[se.nodeId];if(!q)return;if(ste({mode:a.mode,componentCode:q.component?.code})==="plugin-select"){A.value=yw({node:Fe(q),constants:Fe(_.value),defaultGroup:a.pluginGroupList[0]?.name??"",sopsSources:y.value}),k.value={show:!1,node:null,constants:null};return}k.value=Lr({node:Fe(q),constants:Fe(_.value)})}function R(se){if(a.thumbnail||a.mode!=="edit")return;const U=w();if(!U)return;const I=U.flowModel.value,J=I.edges[se.edgeId];if(!J)return;const q=I.nodes[J.source.nodeId];if(!q||!(q.type==="exclusive-gateway"||q.type==="conditional-parallel-gateway"))return;const ge=q.payload??{},Be=ge.conditions??{},Ue=ge.defaultCondition,Xe=!!Ue&&typeof Ue.flow_id=="string";g.value.hasDefaultBranch=Xe,g.value.nodeId=J.source.nodeId,g.value.edgeId=se.edgeId,Ue?.flow_id===se.edgeId?(g.value.condition=Fe(Ue)??null,g.value.isDefault=!0):Be[se.edgeId]&&(g.value.condition=Fe(Be[se.edgeId])??null,g.value.isDefault=!1),g.value.show=!0}function L(se){const U=w();if(!U)return{x:0,y:0};const I=U.flowModel.value.nodes[se];return I?{...I.position}:{x:0,y:0}}function F(se,U,I){const J=w();if(!J)return[];const q=J.flowModel.value,ve=q.nodes[se];if(!ve)return[];const ge=ve.type.includes("gateway"),Be=Object.values(q.edges).filter(Ce=>Ce.source.nodeId===se);if(ge||Be.length===0)return[];const Xe=T(U).width+om,lt=Be[0].target.nodeId,rt=new Set,oe=[lt],ie=[];for(;oe.length>0;){const Ce=oe.shift();if(rt.has(Ce)||Ce===se)continue;rt.add(Ce);const Le=q.nodes[Ce];if(Le){ie.push({type:"node.move",nodeId:Ce,position:{x:Le.position.x+Xe,y:Le.position.y}});for(const ke of Object.values(q.edges))ke.source.nodeId===Ce&&!rt.has(ke.target.nodeId)&&oe.push(ke.target.nodeId)}}return ie}function O(se){const U=w();if(!U)return 0;const I=U.flowModel.value.nodes[se];if(!I)return 0;const J=T(I.type);return I.position.x+J.width+om}function P(se,U){const I=w();if(!I)return 0;const J=I.flowModel.value,q=J.nodes[se];if(!q)return 0;const ve=q.position.y;if(q.type.includes("gateway")){const lt=Object.values(J.edges).filter(rt=>rt.source.nodeId===se);if(lt.length>0)return lt.reduce((oe,ie)=>{const Ce=J.nodes[ie.target.nodeId];return Ce?Math.max(oe,Ce.position.y):oe},0)+om}const ge=I.schema.nodeTypes[q.type],Be=I.schema.nodeTypes[U],Ue=ge?.getSize(q)?.height??48,Xe=Be?.getSize({id:"",type:U,position:{x:0,y:0}})?.height??48;return ve+(Ue-Xe)/2}function M(se,U,I,J={}){const q={x:O(se),y:P(se,I)};return[...F(se,I),...H(U,I,q,J),...W(se,U)]}function H(se,U,I,J={}){return[{type:"node.add",node:{id:se,type:U,position:I,label:J.name??"",payload:J}}]}function W(se,U){const I=w();if(!I)return[];const J=I.flowModel.value,q=[],ve=Object.entries(J.edges).filter(([,Ue])=>Ue.source.nodeId===se);if(J.nodes[se]?.type.includes("gateway")&&ve.length>0)q.push({type:"edge.add",edge:{id:`line${pt.generateId()}`,source:{nodeId:se,portId:"bottom"},target:{nodeId:U,portId:"left"}}});else if(ve.length===0)q.push({type:"edge.add",edge:{id:`line${pt.generateId()}`,source:{nodeId:se,portId:"right"},target:{nodeId:U,portId:"left"}}});else{const[Ue,Xe]=ve[0],lt=Xe.target.nodeId;q.push({type:"edge.remove",edgeId:Ue},{type:"edge.add",edge:{id:`line${pt.generateId()}`,source:{nodeId:se,portId:"right"},target:{nodeId:U,portId:"left"}}},{type:"edge.add",edge:{id:`line${pt.generateId()}`,source:{nodeId:U,portId:"right"},target:{nodeId:lt,portId:"left"}}})}return q}function X(se,U,I={}){const J=w();if(!J)return;const q=J.flowModel.value.nodes[se];if(!q)return;const ve={id:"",type:U,position:{x:0,y:0},label:I.name??"",payload:I};b({id:pt.generateId(),source:"user:panel",label:"替换占位节点",timestamp:Date.now(),commands:si(q,ve,J.schema)})}function G(se,U,I){const J=w();if(!J)return;const q=J.flowModel.value.edges[se],ve=U||"";if(q?.labels?.length){b({id:pt.generateId(),source:"user:panel",label:"更新边标签",timestamp:Date.now(),commands:[{type:"edge.label.update",edgeId:se,labelId:q.labels[0].id,patch:{text:ve,...I!==void 0?{position:I}:{}}}]});return}b({id:pt.generateId(),source:"user:panel",label:"新增边标签",timestamp:Date.now(),commands:[{type:"edge.update",edgeId:se,patch:{labels:[{id:`label-${se}`,text:ve,position:I??Bo}]}}]})}function Q(se,U=x.value.nodeId){const I=K[se]??se;U&&(X(U,I),x.value.show=!1)}function ne(se,U,I=x.value.nodeId){const q=a.pluginGroupList.find(Be=>Be.name===U)?.children.find(Be=>Be.id===se);if(!q)return;const ve={name:q.alias||q.name,component:{code:"uniform_api",data:{},version:q.version??"v2.0.0",api_meta:{id:q.id,name:q.name,alias:q.alias||q.name,meta_url:q.meta_url,api_key:q.api_key??"incident",category:{id:q.category_id,name:U}}}},ge=I;ge&&(X(ge,"task",ve),x.value.show=!1,e.nextTick(()=>{const Be=w();if(!Be)return;const Xe=Qn(Be.flowModel.value).activities[ge];Xe&&(k.value=Lr({node:Fe(Xe),constants:Fe(_.value)}))}))}function ae(se){return typeof se=="number"?{bkflowTag:se,sopsSource:""}:{bkflowTag:0,sopsSource:se}}function $(se,U,I=x.value.nodeId){const J=I;J&&(X(J,"task"),x.value.show=!1,e.nextTick(()=>{const q=w();if(!q)return;const ge=Qn(q.flowModel.value).activities[J];ge&&(A.value={show:!0,active:se,...ae(U),node:Fe(ge),constants:Fe(_.value),isBack:!1})}))}const K={tasknode:"task",branchgateway:"exclusive-gateway",parallelgateway:"parallel-gateway",conditionalparallelgateway:"conditional-parallel-gateway",convergegateway:"converge-gateway"};function me(se,U){const I=K[U]??U,J=`node${pt.generateId()}`,q=M(se,J,I);b({id:pt.generateId(),source:"user:quick-add",label:"快捷添加节点",timestamp:Date.now(),commands:q})}function te(se,U,I){const q=a.pluginGroupList.find(Ue=>Ue.name===I)?.children.find(Ue=>Ue.id===U);if(!q)return;const ve=`node${pt.generateId()}`,ge={name:q.alias||q.name,component:{code:"uniform_api",data:{},version:q.version??"v2.0.0",api_meta:{id:q.id,name:q.name,alias:q.alias||q.name,meta_url:q.meta_url,api_key:q.api_key??"incident",category:{id:q.category_id,name:I}}}},Be=M(se,ve,"task",ge);b({id:pt.generateId(),source:"user:quick-add",label:"快捷添加插件节点",timestamp:Date.now(),commands:Be}),e.nextTick(()=>{const Ue=w();if(!Ue)return;const lt=Qn(Ue.flowModel.value).activities[ve];lt&&(k.value=Lr({node:Fe(lt),constants:Fe(_.value)}))})}function re(se,U,I=0){const J=`node${pt.generateId()}`,q=M(se,J,"task");b({id:pt.generateId(),source:"user:quick-add",label:"快捷添加并选择插件",timestamp:Date.now(),commands:q}),e.nextTick(()=>{const ve=w();if(!ve)return;const Be=Qn(ve.flowModel.value).activities[J];Be&&(A.value={show:!0,active:U,...ae(I),node:Fe(Be),constants:Fe(_.value),isBack:!1})})}function ue(se){const U=w();if(!U)return;const I=Qn(U.flowModel.value),J=`node${pt.generateId()}`,q=L(se),ve=U.flowModel.value.nodes[se];if(!ve)return;let ge={};I.activities[se]&&(ge={...Fe(I.activities[se]),id:J,incoming:[],outgoing:""}),b({id:pt.generateId(),source:"user:toolbar",label:"复制节点",timestamp:Date.now(),commands:H(J,ve.type,{x:q.x+200,y:q.y},ge)})}function pe(se){const U=w();if(!U)return;const I=Qn(U.flowModel.value),J=`node${pt.generateId()}`,q=L(se),ve=U.flowModel.value.nodes[se];if(!ve)return;let ge={};I.activities[se]&&(ge={...Fe(I.activities[se]),id:J,incoming:[],outgoing:""});const Be=P(se,ve.type),Ue=[...H(J,ve.type,{x:q.x+200,y:Be},ge),...W(se,J)];b({id:pt.generateId(),source:"user:toolbar",label:"复制并插入节点",timestamp:Date.now(),commands:Ue})}function Ae(se){const U=w();if(!U)return;const I=U.flowModel.value,J=Object.entries(I.edges).filter(([,q])=>q.source.nodeId===se||q.target.nodeId===se).map(([q])=>q);J.length!==0&&b({id:pt.generateId(),source:"user:toolbar",label:"解除连线",timestamp:Date.now(),commands:J.map(q=>({type:"edge.remove",edgeId:q}))})}function Pe(se){b({id:pt.generateId(),source:"user:toolbar",label:"删除节点",timestamp:Date.now(),commands:[{type:"node.remove",nodeId:se}]})}function Qe(se,U){const{nodeId:I,edgeId:J,isDefault:q}=g.value,ve=w();if(!ve)return;const ge=ve.flowModel.value,Be=[],{name:Ue,tag:Xe,evaluate:lt="",loc:rt}=se,oe={name:Ue,tag:Xe,evaluate:lt.trim()};if(rt&&(oe.loc=rt),U?(delete oe.evaluate,oe.flow_id=J,Be.push({type:"node.set-payload",nodeId:I,path:["defaultCondition"],value:oe}),q||Be.push({type:"node.set-payload",nodeId:I,path:["conditions",J],value:void 0})):(Be.push({type:"node.set-payload",nodeId:I,path:["conditions",J],value:oe}),q&&Be.push({type:"node.set-payload",nodeId:I,path:["defaultCondition"],value:void 0})),Be.push({type:"edge.set-payload",edgeId:J,path:["isDefault"],value:U}),U&&!q){const Le=ge.nodes[I],ke=Le?.payload?.defaultCondition;if(ke?.flow_id&&ke.flow_id!==J){const je=ke.flow_id;Be.push({type:"edge.set-payload",edgeId:je,path:["isDefault"],value:!1});const fe=Le?.payload?.conditions?.[je],Oe=ge.edges[je];Oe?.labels?.length&&Be.push({type:"edge.label.update",edgeId:je,labelId:Oe.labels[0].id,patch:{text:fe?.name??"",position:Oe.labels[0].position??Bo}})}}const ie=U?oe.name||"默认":oe.name||"",Ce=ge.edges[J];Ce?.labels?.length?Be.push({type:"edge.label.update",edgeId:J,labelId:Ce.labels[0].id,patch:{text:ie,position:Ce.labels[0].position??Bo}}):Be.push({type:"edge.update",edgeId:J,patch:{labels:[{id:`label-${J}`,text:ie,position:Bo}]}}),b({id:pt.generateId(),source:"user:panel",label:"编辑分支条件",timestamp:Date.now(),commands:Be})}function qe(se,U){A.value=yw({node:Fe(se),constants:Fe(U),defaultGroup:a.pluginGroupList[0]?.name??"",sopsSources:y.value}),k.value={show:!1,node:null,constants:null}}function Te(){A.value.node&&(k.value=Lr({node:Fe(A.value.node),constants:Fe(A.value.constants??_.value)}),A.value={...A.value,show:!1,node:null,constants:null,isBack:!1})}function xe(se,U,I){if(!A.value.node)return;const J=Fe(A.value.node);if(se==="projectPlugin"){const{id:q,name:ve,alias:ge,meta_url:Be,api_key:Ue="incident",version:Xe="v2.0.0",category:lt,category_id:rt}=U;J.component={code:"uniform_api",data:I||{},version:Xe,api_meta:{id:q,name:ve,alias:ge||ve,meta_url:Be,api_key:Ue,category:{id:rt,name:lt}}},J.name=ge}else{const{name:q,...ve}=U;J.component=ve,J.name=q}k.value=Lr({node:J,constants:Fe(A.value.constants??_.value)}),A.value={...A.value,show:!1,node:null,constants:null,isBack:!1}}function ot(se,U){const I=[{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:U}];b({id:pt.generateId(),source:"user:panel",label:"保存节点配置",timestamp:Date.now(),commands:I}),k.value={show:!1,node:null,constants:null}}function de(se){b({id:pt.generateId(),source:"user:panel",label:"更新全局变量",timestamp:Date.now(),commands:[{type:"model.set-meta",path:["variables"],value:se}],skipHistory:!0}),i.value&&k.value.show&&i.value.updateConstants?.(se)}function le(se){b({id:pt.generateId(),source:"user:panel",label:"更新输出变量",timestamp:Date.now(),commands:[{type:"model.set-meta",path:["outputs"],value:se}],skipHistory:!0})}const be=se=>{i.value&&k.value.show&&i.value.updateNodeInputParams?.(se)},tt={addEmptyNode:me,addPlugin:te,addNodeAndSelectPlugin:re,updateEdgeLabel:G,copyNode:ue,copyNodeAndInsert:pe,detachEdges:Ae,deleteNode:Pe};e.provide("bkflow-node-operations",tt);const ut=e.ref(!1);function ft(){return r.value?.$el?.offsetWidth??document.documentElement.offsetWidth-200}function st(se){ut.value=se}function _e(se,U){const I=m.value;I&&(I.scrollToNode(se,U),I.highlightNodes([se]),setTimeout(()=>I.clearHighlight(),1500))}function Ne(se){if(a.thumbnail)return;const U=w();if(!U)return;const I=U.flowModel.value.nodes[se];if(!I||I.type!=="task")return;const q=Qn(U.flowModel.value).activities[se];q&&(k.value=Lr({node:Fe(q),constants:Fe(_.value),initialTab:"debug"}))}function Ie(se){m.value?.zoomToFit(se)}function Ke(){m.value?.centerContent()}function ze(){return m.value?.getZoom()??1}return n({updateNodeInputParams:be,updateGlobalVariables:de,updateOutputs:le,bkflowCanvasRef:r,getCanvasWidth:ft,setFormatLoading:st,formatLoading:ut,locateNode:_e,openNodeDebugPanel:Ne,zoomToFit:Ie,centerContent:Ke,getZoom:ze,updatePipelineTree:se=>r.value?.updatePipelineTree?.(se),...tt}),(se,U)=>(e.openBlock(),e.createElementBlock("div",uie,[e.createVNode(ef,{ref_key:"bkflowCanvasRef",ref:r,"pipeline-tree":a.pipelineTree,mode:a.mode,thumbnail:a.thumbnail,"default-zoom":a.defaultZoom,"node-actions":h.value,"quick-add":a.quickAdd,"additional-plugins":a.additionalPlugins,"toolbar-items":a.toolbarItems,"simulate-debug-context":a.simulateDebugContext,"debug-context":a.debugContext,onChange:C,onNodeClick:j,onEdgeLabelClick:R,onUiEvent:E,onFormatPosition:U[0]||(U[0]=I=>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",cie,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.dndNodeTypes,I=>(e.openBlock(),e.createElementBlock("div",{key:I.type,"data-dnd-type":I.disabled?void 0:I.type,class:e.normalizeClass(["dnd-palette-item",{"is-disabled":I.disabled}]),title:I.disabled?I.disabledTip:I.tipsImage?void 0:I.label,onMouseenter:J=>d(J,I),onMouseleave:v},[e.createElementVNode("i",{class:e.normalizeClass(["bkflow-canvas-icon",I.icon])},null,2),e.createElementVNode("span",fie,e.toDisplayString(I.label),1)],42,die))),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,pie)],4)):e.createCommentVNode("",!0)]))],512)):e.createCommentVNode("",!0)],!0)]),"quick-add-panel":e.withCtx(({node:I,closePopover:J})=>[e.createVNode(e1,{"plugin-group-list":a.pluginGroupList,onAddNode:q=>{me(I.id,q),J()},onAddPlugin:(q,ve)=>{te(I.id,q,ve),J()},onOpenPluginSelect:(q,ve)=>{re(I.id,q,ve),J()}},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"},[x.value.show?(e.openBlock(),e.createElementBlock("div",{key:0,class:"placeholder-popover-mask",onClick:U[1]||(U[1]=e.withModifiers(I=>x.value.show=!1,["self"]))},[e.createElementVNode("div",{class:"placeholder-popover",style:e.normalizeStyle({left:`${x.value.screenPosition.x}px`,top:`${x.value.screenPosition.y}px`}),onMouseleave:V,onMouseenter:N},[e.createVNode(e1,{"plugin-group-list":a.pluginGroupList,onAddNode:Q,onAddPlugin:ne,onOpenPluginSelect:$},null,8,["plugin-group-list"])],36)])):e.createCommentVNode("",!0)])),!a.thumbnail&&g.value.condition?(e.openBlock(),e.createBlock(bte,{key:0,show:g.value.show,"onUpdate:show":U[2]||(U[2]=I=>g.value.show=I),condition:g.value.condition,"has-default-branch":g.value.hasDefaultBranch,"is-default":g.value.isDefault,editable:a.mode==="edit",onConfirm:Qe},null,8,["show","condition","has-default-branch","is-default","editable"])):e.createCommentVNode("",!0),!a.thumbnail&&k.value.node?(e.openBlock(),e.createBlock(rle,{key:1,ref_key:"nodeConfigPanelRef",ref:i,show:k.value.show,"onUpdate:show":U[3]||(U[3]=I=>k.value.show=I),"flow-id":a.flowId,node:k.value.node,editable:a.mode==="edit","enable-debug":a.enableNodeDebug,"initial-tab":k.value.initialTab??"config","system-variables":a.systemVariables,constants:k.value.constants??_.value,onSelectPlugin:qe,onConfirm:ot},{inputParams:e.withCtx(I=>[e.renderSlot(se.$slots,"inputParams",e.normalizeProps(e.guardReactiveProps(I)),void 0,!0)]),debugConfig:e.withCtx(I=>[e.renderSlot(se.$slots,"nodeDebugConfig",e.normalizeProps(e.guardReactiveProps(I)),void 0,!0)]),_:3},8,["show","flow-id","node","editable","enable-debug","initial-tab","system-variables","constants"])):e.createCommentVNode("",!0),a.thumbnail?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Ise,{key:2,show:A.value.show,"onUpdate:show":U[4]||(U[4]=I=>A.value.show=I),"flow-id":a.flowId,active:A.value.active,"bkflow-tag":A.value.bkflowTag,"sops-source":A.value.sopsSource,"plugin-group-list":a.pluginGroupList,"input-data":A.value.node?.component?.data||{},"is-back":A.value.isBack,onBack:Te,onSelect:xe},null,8,["show","flow-id","active","bkflow-tag","sops-source","plugin-group-list","input-data","is-back"]))]))}}),Ed=He(mie,[["__scopeId","data-v-9e22ab94"]]);function qE(t){return JSON.stringify({name:t.name,variables:t.variables,customFormData:t.customFormData,additionalTaskParams:t.additionalTaskParams})}function vie(t){return t.editable?t.lastSavedSnapshot!==qE(t.currentDraft):!1}const gie={class:"execute-flow-slider"},hie={class:"flow-name-wrapper"},bie={class:"form-params-wrapper"},yie={key:0,class:"sideslider-footer-buttons"},kie=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:{},selectRelatedOptionConfig:{}},emits:["confirm","close","update:show","before-close","view-flow"],setup(t,{emit:n}){const o=e.useSlots(),a=t,l=n,r=Al(a.apiConfig);ys(a.memberSelectorConfig),Bd(a.filterVariableConfig),Vd(a.selectRelatedOptionConfig),sr({},a.bkflowSaasUrl);const i={name:[{required:!0,message:"请输入任务名称",trigger:"blur"}]},s=e.shallowRef(null);yv(L=>s.value?.pipeline_tree?.activities?.[L]?.component);const c=e.shallowRef(!0),f=e.shallowRef([]),d=e.ref({}),v=e.shallowRef([]),h=e.ref({}),m=e.ref({}),g=e.ref(),k=e.ref(),y=e.ref(),A=e.ref({name:""}),_=e.shallowRef(!1),w=e.computed(()=>v.value.filter(L=>Fa(L)));let b="";const C=()=>{b=qE({name:A.value.name,variables:d.value,customFormData:h.value,additionalTaskParams:m.value})};e.watch(()=>a.show,L=>{L&&E()});const E=async()=>{c.value=!0,h.value={},m.value={};const L=await r.fetchFlowDetail(a.flowId);s.value=L,A.value.name=`${L.name}_${dt().format("YYYYMMDDHHmmss")}`;const F=[],O={};Object.values(L.pipeline_tree.constants).forEach(P=>{if(typeof P!="object"||P===null)return;const M=P;!["system","space"].includes(M.source_type)&&M.show_type==="show"&&F.push(M),"value"in M&&(O[M.key]=M.value)}),v.value=F,d.value=O,await x(),c.value=!1,setTimeout(C)},x=async()=>{const L=s.value?.pipeline_tree?.constants;if(!L){f.value=[];return}const F=Object.fromEntries(Object.entries(L).filter(([,O])=>{if(typeof O!="object"||O===null)return!1;const P=O;return P.source_type==="custom"&&P.show_type==="show"&&!Fa(P)}));if(Object.keys(F).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 O=await Id(r,F);f.value=O}catch(O){console.error("Failed to get input forms from constants:",O),f.value=[]}},S=()=>{l("view-flow")},V=L=>{d.value={...d.value,...Fe(L)}},N=L=>{h.value={...h.value,...L}},T=L=>{m.value={...m.value,...L}},z=async()=>{if(!r.createFlowTask||!r.executeFlowTask){console.warn("createFlowTask or executeFlowTask is not provided in api");return}const[L,F,O]=await Promise.all([g.value?.validate(),Promise.resolve(y.value&&typeof y.value.validate=="function"?y.value.validate():!0),Promise.resolve(k.value&&typeof k.value.validate=="function"?k.value.validate():!0)]);if(!(!L||!F||!O))try{_.value=!0;const P=await r.createFlowTask({...m.value,template_id:a.flowId,creator:"admin",name:A.value.name,constants:d.value});if(P.data.id){const M=await r.executeFlowTask({task_id:P.data.id,resource_type:"TASK",resource_id:P.data.id,permission_type:"OPERATE"});Kt({theme:"success",message:"执行成功"}),C();const H={createResult:P,executeResult:M};l("confirm",H),R(),a.onExecuteSuccess&&a.onExecuteSuccess(H)}}catch(P){console.error(P)}finally{_.value=!1}},j=()=>vie({editable:!!a.editable,lastSavedSnapshot:b,currentDraft:{name:A.value.name,variables:d.value,customFormData:h.value,additionalTaskParams:m.value}})?new Promise(F=>{eo.InfoBox({title:"确认离开?",content:"离开将会导致未保存信息丢失",confirmText:"离开",cancelText:"取消",width:320,onConfirm:()=>{R(),F(!0)},onCancel:()=>{F(!1)}})}):(R(),!0),R=()=>{l("before-close"),v.value=[],d.value={},h.value={},m.value={},l("close"),l("update:show",!1)};return(L,F)=>{const O=e.resolveComponent("bk-input"),P=e.resolveComponent("bk-form-item"),M=e.resolveComponent("bk-form"),H=e.resolveComponent("bk-button"),W=e.resolveComponent("bk-sideslider"),X=e.resolveDirective("bk-tooltips"),G=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(W,{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",yie,[e.createVNode(H,{theme:"primary",loading:_.value,onClick:z},{default:e.withCtx(()=>[...F[2]||(F[2]=[e.createTextVNode("确定",-1)])]),_:1},8,["loading"]),e.createVNode(H,{onClick:R},{default:e.withCtx(()=>[...F[3]||(F[3]=[e.createTextVNode("取消",-1)])]),_:1})]))]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",gie,[e.createVNode(M,{ref_key:"formRef",ref:g,"form-type":"vertical",model:A.value,rules:i,"label-width":100},{default:e.withCtx(()=>[t.showFlowEntry?(e.openBlock(),e.createBlock(P,{key:0,label:"排障流程",required:""},{default:e.withCtx(()=>[e.createElementVNode("div",hie,[e.createVNode(O,{readonly:"","model-value":s.value?.name},null,8,["model-value"]),e.withDirectives(e.createVNode(e.unref(yn.Share),{class:"link-icon",onClick:S},null,512),[[X,"查看排障流程",void 0,{top:!0}]])])]),_:1})):e.createCommentVNode("",!0),e.createVNode(P,{label:"任务名称",property:"name",required:""},{default:e.withCtx(()=>[e.createVNode(O,{modelValue:A.value.name,"onUpdate:modelValue":F[0]||(F[0]=Q=>A.value.name=Q),placeholder:"请输入任务名称","show-word-limit":"",maxlength:100},null,8,["modelValue"])]),_:1}),o.customFormContent?e.renderSlot(L.$slots,"customFormContent",{customFormData:h.value,additionalTaskParams:m.value,updateCustomFormData:N,updateAdditionalTaskParams:T},void 0,!0,1):e.createCommentVNode("",!0),e.createVNode(P,{label:"请求参数",property:"inputParams",description:"流程的入参"},{default:e.withCtx(()=>[e.createElementVNode("div",bie,[w.value.length>0?(e.openBlock(),e.createBlock(e.unref(Zd),{key:0,ref_key:"builtinVariableFormRef",ref:y,modelValue:d.value,"onUpdate:modelValue":F[1]||(F[1]=Q=>d.value=Q),variables:w.value,editable:a.editable},null,8,["modelValue","variables","editable"])):e.createCommentVNode("",!0),f.value.length>0?(e.openBlock(),e.createBlock(su,{key:1,ref_key:"renderFormRef",ref:k,scheme:f.value,editable:a.editable,"form-option":{showRequired:!0,showGroup:!0,showLabel:!1,showHook:!1,showDesc:!0,formEdit:a.editable},"form-data":d.value,onChange:V},null,8,["scheme","editable","form-option","form-data"])):e.createCommentVNode("",!0),w.value.length<1&&f.value.length<1?(e.openBlock(),e.createBlock(ln,{key:2,title:"暂无参数"})):e.createCommentVNode("",!0)])]),_:1})]),_:3},8,["model"])])),[[G,{loading:c.value}]])]),_:3},8,["is-show"])}}}),af=He(kie,[["__scopeId","data-v-b9f0378f"]]),wie=Object.freeze(Object.defineProperty({__proto__:null,default:af},Symbol.toStringTag,{value:"Module"})),Cie={class:"execute-flow-slider"},Aie={class:"flow-name-wrapper"},Eie={class:"form-params-wrapper"},xie={key:0,class:"sideslider-footer-buttons"},_ie=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=Al(o.apiConfig);ys(o.memberSelectorConfig),sr({},o.bkflowSaasUrl);const r={name:[{required:!0,message:"请输入任务名称",trigger:"blur"}]},i=e.shallowRef(null),s=e.shallowRef(!0),c=e.shallowRef([]),f=e.ref({}),d=e.shallowRef([]),v=e.ref(),h=e.ref(),m=e.ref(),g=e.ref({name:""}),k=e.shallowRef(!1),y=e.computed(()=>d.value.filter(z=>Fa(z)));let A="";const _=()=>{A=JSON.stringify({name:g.value.name,variables:f.value})};e.watch(()=>o.show,z=>{z&&w()});const w=async()=>{s.value=!0;let z=await l.fetchFlowDetail(o.flowId);if(o.enableVersion)if(o.flowVersion){const L=await l.fetchFlowDetailByVersion(o.flowId,o.flowVersion);z={...z,name:L.name,pipeline_tree:L.pipeline_tree}}else{const L=await l.fetchFlowDraftDetail(o.flowId);z={...z,pipeline_tree:L.pipeline_tree}}i.value=z,g.value.name=`${z.name}_${dt().format("YYYYMMDDHHmmss")}`;const j=[],R={};Object.values(z.pipeline_tree.constants).forEach(L=>{if(typeof L!="object"||L===null)return;const F=L;!["system","space"].includes(F.source_type)&&F.show_type==="show"&&j.push(F),"value"in F&&(R[F.key]=F.value)}),d.value=j,f.value=R,await b(),s.value=!1,setTimeout(_)},b=async()=>{const z=i.value?.pipeline_tree?.constants;if(!z){c.value=[];return}const j=Object.fromEntries(Object.entries(z).filter(([,R])=>{if(typeof R!="object"||R===null)return!1;const L=R;return L.source_type==="custom"&&L.show_type==="show"&&!Fa(L)}));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 R=await Id(l,j);c.value=R}catch(R){console.error("Failed to get input forms from constants:",R),c.value=[]}},C=()=>{o.onExecuteSuccess},E=z=>{f.value={...f.value,...Fe(z)}},x=z=>{const j=Fe(i.value?.pipeline_tree);return Object.entries(z).forEach(([R,L])=>{j.constants[R]&&(j.constants[R]={...j.constants[R],value:L})}),j},S=async()=>{if(!l.createMockDebugTask||!l.executeFlowTask){console.warn("createMockDebugTask or executeFlowTask is not provided in api");return}try{k.value=!0;const z=await l.createMockDebugTask({template_id:o.flowId,name:g.value.name,pipeline_tree:x(f.value),mock_data:o.mockData??{nodes:[],outputs:{}},creator:String(window.USERNAME??"")}),j=z.data.id;await l.executeFlowTask({task_id:j,resource_type:"TASK",resource_id:j,permission_type:"OPERATE"}),Kt({theme:"success",message:"执行成功"}),_(),a("confirm",j,z.data.template_id),T(),o.onExecuteSuccess&&o.onExecuteSuccess(j,z.data.template_id)}catch(z){console.error(z)}finally{k.value=!1}},V=async()=>{const[z,j,R]=await Promise.all([v.value?.validate(),Promise.resolve(m.value&&typeof m.value.validate=="function"?m.value.validate():!0),Promise.resolve(h.value&&typeof h.value.validate=="function"?h.value.validate():!0)]);if(!z||!j||!R)return;const L={name:g.value.name,variablesValue:f.value};if(o.useCustomConfirm&&o.onConfirm)try{k.value=!0,await o.onConfirm(L),_(),a("confirm"),T()}catch(F){console.error(F)}finally{k.value=!1}else await S(),o.onConfirm&&await o.onConfirm(L)},N=()=>{const z=JSON.stringify({name:g.value.name,variables:f.value}),j=A!==z;return!o.editable||!j?(T(),!0):new Promise(R=>{eo.InfoBox({title:"确认离开?",content:"离开将会导致未保存信息丢失",confirmText:"离开",cancelText:"取消",width:320,onConfirm:()=>{T(),R(!0)},onCancel:()=>{R(!1)}})})},T=()=>{a("before-close"),d.value=[],f.value={},a("close"),a("update:show",!1)};return(z,j)=>{const R=e.resolveComponent("bk-input"),L=e.resolveComponent("bk-form-item"),F=e.resolveComponent("bk-form"),O=e.resolveComponent("bk-button"),P=e.resolveComponent("bk-sideslider"),M=e.resolveDirective("bk-tooltips"),H=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(P,{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",xie,[e.createVNode(O,{theme:"primary",loading:k.value,onClick:V},{default:e.withCtx(()=>[...j[2]||(j[2]=[e.createTextVNode("确定",-1)])]),_:1},8,["loading"]),e.createVNode(O,{onClick:T},{default:e.withCtx(()=>[...j[3]||(j[3]=[e.createTextVNode("取消",-1)])]),_:1})]))]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",Cie,[e.createVNode(F,{ref_key:"formRef",ref:v,"form-type":"vertical",model:g.value,rules:r,"label-width":100},{default:e.withCtx(()=>[o.showFlowEntry?(e.openBlock(),e.createBlock(L,{key:0,label:"排障流程",required:""},{default:e.withCtx(()=>[e.createElementVNode("div",Aie,[e.createVNode(R,{readonly:"","model-value":i.value?.name},null,8,["model-value"]),e.withDirectives(e.createVNode(e.unref(yn.Share),{class:"link-icon",onClick:C},null,512),[[M,"查看排障流程",void 0,{top:!0}]])])]),_:1})):e.createCommentVNode("",!0),e.createVNode(L,{label:"任务名称",property:"name",required:""},{default:e.withCtx(()=>[e.createVNode(R,{modelValue:g.value.name,"onUpdate:modelValue":j[0]||(j[0]=W=>g.value.name=W),placeholder:"请输入任务名称","show-word-limit":"",maxlength:100},null,8,["modelValue"])]),_:1}),e.createVNode(L,{label:"请求参数",property:"inputParams",description:"流程的入参"},{default:e.withCtx(()=>[e.createElementVNode("div",Eie,[y.value.length>0?(e.openBlock(),e.createBlock(e.unref(Zd),{key:0,ref_key:"builtinVariableFormRef",ref:m,modelValue:f.value,"onUpdate:modelValue":j[1]||(j[1]=W=>f.value=W),variables:y.value,editable:o.editable},null,8,["modelValue","variables","editable"])):e.createCommentVNode("",!0),c.value.length>0?(e.openBlock(),e.createBlock(su,{key:1,ref_key:"renderFormRef",ref:h,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:E},null,8,["scheme","editable","form-option","form-data"])):e.createCommentVNode("",!0),y.value.length<1&&c.value.length<1?(e.openBlock(),e.createBlock(ln,{key:2,title:"暂无参数"})):e.createCommentVNode("",!0)])]),_:1}),e.renderSlot(z.$slots,"custom-form-content",{formData:g.value,variablesValue:f.value},void 0,!0)]),_:3},8,["model"])])),[[H,{loading:s.value}]])]),_:3},8,["is-show"])}}}),Ui=He(_ie,[["__scopeId","data-v-0c437a04"]]),Bie=Object.freeze(Object.defineProperty({__proto__:null,default:Ui},Symbol.toStringTag,{value:"Module"})),Sie={class:"mock-field-renderer"},Vie={key:8,class:"mock-field-renderer__code-editor"},Nie={key:10,class:"mock-field-renderer__error"},Tie=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(()=>qc(o.field)),r=e.computed(()=>(o.field.options??[]).map(P4)),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(h){d(h)}}),d=h=>{a("update:modelValue",h)},v=h=>{if(h===""||h===void 0||h===null){a("update:modelValue",void 0);return}const m=Number(h);a("update:modelValue",Number.isNaN(m)?h:m)};return(h,m)=>{const g=e.resolveComponent("bk-option"),k=e.resolveComponent("bk-select"),y=e.resolveComponent("bk-checkbox"),A=e.resolveComponent("bk-checkbox-group"),_=e.resolveComponent("bk-radio"),w=e.resolveComponent("bk-radio-group"),b=e.resolveComponent("bk-switcher"),C=e.resolveComponent("bk-date-picker"),E=e.resolveComponent("bk-input");return e.openBlock(),e.createElementBlock("div",Sie,[l.value==="bk-select"?(e.openBlock(),e.createBlock(k,{key:0,"model-value":o.modelValue,clearable:"",onChange:d},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,x=>(e.openBlock(),e.createBlock(g,{id:x.value,key:String(x.value),label:x.label},null,8,["id","label"]))),128))]),_:1},8,["model-value"])):l.value==="bk-checkbox-group"?(e.openBlock(),e.createBlock(A,{key:1,"model-value":Array.isArray(o.modelValue)?o.modelValue:[],onChange:d},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,x=>(e.openBlock(),e.createBlock(y,{key:String(x.value),label:x.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["model-value"])):l.value==="bk-radio-group"?(e.openBlock(),e.createBlock(w,{key:2,"model-value":o.modelValue,onChange:d},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,x=>(e.openBlock(),e.createBlock(_,{key:String(x.value),label:x.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.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:d},null,8,["model-value"])):l.value==="bk-date-picker"?(e.openBlock(),e.createBlock(C,{key:4,"model-value":o.modelValue,type:"datetime",clearable:"",onChange:d},null,8,["model-value"])):l.value==="bk-date-range-picker"?(e.openBlock(),e.createBlock(C,{key:5,"model-value":Array.isArray(o.modelValue)?o.modelValue:[],type:"datetimerange",clearable:"",onChange:d},null,8,["model-value"])):l.value==="bk-input-number"?(e.openBlock(),e.createBlock(E,{key:6,"model-value":o.modelValue,type:"number","onUpdate:modelValue":v},null,8,["model-value"])):l.value==="bk-textarea"?(e.openBlock(),e.createBlock(E,{key:7,"model-value":o.modelValue,type:"textarea",rows:3,placeholder:"请输入","onUpdate:modelValue":d},null,8,["model-value"])):s.value?(e.openBlock(),e.createElementBlock("div",Vie,[e.createVNode(ha,{modelValue:f.value,"onUpdate:modelValue":m[0]||(m[0]=x=>f.value=x),options:c.value},null,8,["modelValue","options"])])):(e.openBlock(),e.createBlock(E,{key:9,"model-value":o.modelValue,"onUpdate:modelValue":d},null,8,["model-value"])),o.error?(e.openBlock(),e.createElementBlock("div",Nie,e.toDisplayString(o.error),1)):e.createCommentVNode("",!0)])}}}),fv=He(Tie,[["__scopeId","data-v-7dc32c6a"]]),Die={key:0,class:"unchecked-fields-section"},Iie={key:0,class:"unchecked-fields-section__content"},Oie=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",Die,[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",Iie,[e.renderSlot(a.$slots,"default",{},void 0,!0)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)}}}),Mie=He(Oie,[["__scopeId","data-v-768e1d59"]]),Pie={key:0,class:"mock-data-sideslider__title-sep"},Lie=["title"],Rie={class:"mock-data-sideslider"},Fie={class:"mock-data-sideslider__footer"},zie=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=Vn(),r=e.ref(!1),i=e.shallowRef([]),s=e.ref({}),c=e.ref({}),f=e.ref(!1),d=e.ref({}),v=e.computed(()=>M4(i.value,o.constants,o.node?.id??"")),h=e.computed(()=>v.value.globalFields),m=e.computed(()=>v.value.otherFields),g=e.computed(()=>i.value.length>0),k=E=>{const x=o.config?.outputs;return!x||!Object.prototype.hasOwnProperty.call(x,E.key)?{exists:!1,value:void 0}:{exists:!0,value:x[E.key]}},y=async()=>{if(o.node){r.value=!0,f.value=!1,d.value={};try{const E=await Ai(l,o.node.component);i.value=b1(E.outputs);const x={};i.value.forEach(S=>{const V=k(S),N=V.exists?V.value:S.type==="object"?{}:void 0,T=qc(S);x[S.key]=T==="json-editor"||T==="data-table"?y1(N):N}),s.value=x,c.value=Fe(x),f.value=!0}catch(E){console.error(E),i.value=[],s.value={},c.value={},f.value=!0,vn.Message({theme:"error",message:"加载输出结果失败"})}finally{r.value=!1}}},A=()=>{const E={},x={};return i.value.forEach(S=>{const V=s.value[S.key],N=qc(S);if(N==="json-editor"||N==="data-table"){const T=k1(V);if(!T.valid){E[S.key]=T.message;return}T.value!==void 0&&(x[S.key]=T.value);return}V!==void 0&&V!==""&&(x[S.key]=V)}),{errors:E,outputs:x}},_=()=>!f.value||r.value?!1:!za(s.value,c.value),w=()=>{if(!o.node)return;const{errors:E,outputs:x}=A();d.value=E,!(Object.keys(E).length>0)&&(a("save",{nodeId:o.node.id,outputs:x,fieldSnapshots:Object.fromEntries(i.value.map(S=>[S.key,S]))}),a("update:show",!1))},b=()=>{a("cancel"),a("update:show",!1)},C=()=>_()?new Promise(E=>{eo.InfoBox({title:"确认离开?",content:"离开将会导致未保存信息丢失",confirmText:"离开",cancelText:"取消",width:320,onConfirm:()=>{b(),E(!0)},onCancel:()=>{E(!1)}})}):(b(),!0);return e.watch(()=>[o.show,o.node?.id],([E])=>{E&&o.node&&y()},{immediate:!0}),(E,x)=>{const S=e.resolveComponent("bk-exception"),V=e.resolveComponent("bk-form-item"),N=e.resolveComponent("bk-form"),T=e.resolveComponent("bk-button"),z=e.resolveComponent("bk-sideslider"),j=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(z,{"is-show":o.show,width:960,"quick-close":"","esc-close":!1,"before-close":C},{header:e.withCtx(()=>[x[0]||(x[0]=e.createElementVNode("span",{class:"mock-data-sideslider__title"},"设置 Mock 数据",-1)),o.node?.name?(e.openBlock(),e.createElementBlock("span",Pie,"-")):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,Lie)):e.createCommentVNode("",!0)]),footer:e.withCtx(()=>[e.createElementVNode("div",Fie,[g.value?(e.openBlock(),e.createBlock(T,{key:0,theme:"primary",onClick:w},{default:e.withCtx(()=>[...x[1]||(x[1]=[e.createTextVNode("保存",-1)])]),_:1})):e.createCommentVNode("",!0),e.createVNode(T,{onClick:C},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.value?"取消":"关闭"),1)]),_:1})])]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",Rie,[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(()=>[h.value.length===0?(e.openBlock(),e.createBlock(S,{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(h.value,R=>(e.openBlock(),e.createBlock(V,{key:R.key,label:R.name||R.key,description:R.description},{default:e.withCtx(()=>[e.createVNode(fv,{modelValue:s.value[R.key],"onUpdate:modelValue":L=>s.value[R.key]=L,field:R,error:d.value[R.key]},null,8,["modelValue","onUpdate:modelValue","field","error"])]),_:2},1032,["label","description"]))),128)),e.createVNode(Mie,{fields:m.value},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,R=>(e.openBlock(),e.createBlock(V,{key:R.key,label:R.name||R.key,description:R.description},{default:e.withCtx(()=>[e.createVNode(fv,{modelValue:s.value[R.key],"onUpdate:modelValue":L=>s.value[R.key]=L,field:R,error:d.value[R.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(S,{key:1,class:"mock-data-sideslider__exception",scene:"part",type:"empty",title:"暂无输出结果"}))],64)):e.createCommentVNode("",!0)])),[[j,{loading:r.value}]])]),_:1},8,["is-show"])}}}),QE=He(zie,[["__scopeId","data-v-aa42b9e7"]]),jie={class:"mock-select-all-toolbar"},Hie=e.defineComponent({__name:"mock-select-all-toolbar",setup(t){const n=jg(),o=e.computed(()=>!!n.simulateDebug?.isAllMockNodesSelected?.());return(a,l)=>(e.openBlock(),e.createElementBlock("span",jie,[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)]))}}),$E=He(Hie,[["__scopeId","data-v-4f66d077"]]),Uie={key:0,class:"operate-area"},Gie={key:0,class:"operate-btns"},Wie={class:"flow-view-page-content"},Yie={key:1,class:"flow-view-thumbnail"},qie=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=Al(l.apiConfig);ys(l.memberSelectorConfig);const s=o;sr({},l.bkflowSaasUrl);const c=e.shallowRef(!1),f=e.shallowRef(null),d=e.shallowRef(!0),v=e.shallowRef({}),h=e.shallowRef(!0),m=e.shallowRef([]),g=e.shallowRef(!1),k=e.ref(),y=e.ref(!1),A=_1(),_=e.computed(()=>A.stage.value!=="edit"),w=e.computed(()=>A.stage.value==="mock-config"?"mock-config":"view"),b={stage:A.stage,isMockSelected:A.isMockSelected,toggleMockSelected:A.toggleMockSelected,hasMockConfig:A.hasMockConfig,isAllMockNodesSelected:()=>E.value},C=e.computed(()=>E1(f.value?.pipeline_tree??null)),E=e.computed(()=>A.isAllMockNodesSelected(C.value)),x=e.computed(()=>{const{mockData:pe}=A.buildRunnableSelection(C.value);return Object.keys(pe).length>0}),S=e.computed(()=>{if(x.value)return"";const{selectedIds:pe}=A.buildRunnableSelection(C.value);return pe.length===0?"请先勾选需要模拟调试的节点":"请先为已勾选节点设置 Mock 数据"}),V=e.computed(()=>[{id:"mock-select-all",type:"custom",component:$E,description:"全选",group:"tools",order:19,visible:()=>A.stage.value==="mock-config",active:()=>E.value,onClick:()=>A.toggleSelectAllMockNodes(C.value)}]),N=e.computed(()=>{const pe=A.activeConfigNodeId.value;return pe?f.value?.pipeline_tree.activities[pe]??null:null}),T=e.computed(()=>{const pe=A.activeConfigNodeId.value;return pe?A.mockConfigs.value[pe]:void 0});e.onMounted(()=>{z(),j(),R()}),e.watch(()=>[l.flowId,l.flowVersion],([pe,Ae],[Pe,Qe])=>{(pe!==Pe||Ae!==Qe)&&(A.reset(),y.value=!1,z(),j(),R())});const z=async()=>{d.value=!0;try{let pe=await i.fetchFlowDetail(String(l.flowId));if(l.enableVersion)if(l.flowVersion){const Ae=await i.fetchFlowDetailByVersion(String(l.flowId),l.flowVersion);pe={...pe,name:Ae.name,pipeline_tree:Ae.pipeline_tree}}else{const Ae=await i.fetchFlowDraftDetail(String(l.flowId));pe={...pe,pipeline_tree:Ae.pipeline_tree}}f.value=pe}catch(pe){console.error(pe)}finally{d.value=!1}},j=async()=>{h.value=!0;try{const pe=await i.fetchSpaceFlowConfig(String(l.flowId));v.value=pe}catch(pe){console.error(pe)}finally{h.value=!1}},R=async()=>{g.value=!0;try{const pe=await i.fetchSystemVariables(String(l.flowId));m.value=pe}catch(pe){console.error(pe)}finally{g.value=!1}},L=()=>{typeof l.onBack=="function"?l.onBack():s("back")},F=()=>{r.value.canEdit&&(typeof l.onEdit=="function"?l.onEdit():s("edit"))},O=()=>{r.value.canExecute&&(c.value=!0)},P=pe=>{typeof l.onExecuteSuccess=="function"&&l.onExecuteSuccess(pe)};n({zoomToFit:pe=>{k.value?.zoomToFit?.(pe)},centerContent:()=>{k.value?.centerContent?.()},getZoom:()=>k.value?.getZoom?.()??1});const X=()=>String(window.USERNAME??""),G=(pe,Ae)=>{const Pe={taskId:pe,templateId:Ae};l.onMockDebugCreated&&l.onMockDebugCreated(Pe),s("mockDebugCreated",Pe)},Q=pe=>{vn.Message({theme:"error",message:pe.message}),pe.ids.length>0&&k.value?.locateNode?.(pe.ids[0])},ne=()=>{if(!f.value)return;const pe=ml(f.value.pipeline_tree),Ae=x1(f.value.pipeline_tree);if(!pe.valid||Ae.length>0){Q(pe.valid?{message:"流程中存在未配置节点,请配置后再模拟调试",ids:Ae}:pe);return}A.enterConfig(C.value)},ae=()=>{x.value&&(y.value=!0)},$=()=>{y.value=!1},K=pe=>{A.openConfigNode(pe.id)},me=pe=>{A.saveMockConfig(pe),A.closeConfigNode()},te=pe=>{pe||A.closeConfigNode()},re=()=>{y.value=!1,A.reset()},ue=async pe=>{if(!f.value)return;const{selectedIds:Ae,mockNodeIds:Pe,mockData:Qe}=A.buildRunnableSelection(C.value);if(Ae.length<1){vn.Message({theme:"warning",message:"请至少选择一个可模拟调试节点"});return}if(!i.createMockDebugTask||!i.executeFlowTask){vn.Message({theme:"warning",message:"模拟调试接口未配置"});return}try{const qe=C1(f.value.pipeline_tree,Ae,pe.variablesValue),Te=await i.createMockDebugTask({template_id:f.value.id,name:pe.name,pipeline_tree:qe,mock_data:{nodes:Pe,outputs:Qe,mock_data_ids:{}},creator:X()}),xe=Te.data.id,ot=Te.data.template_id;await i.executeFlowTask({task_id:xe,resource_type:"TASK",resource_id:xe,permission_type:"OPERATE"}),A.reset(),G(xe,ot)}catch(qe){throw console.error(qe),vn.Message({theme:"error",message:"创建或启动模拟调试任务失败"}),qe}};return(pe,Ae)=>{const Pe=e.resolveComponent("bk-button"),Qe=e.resolveDirective("bk-tooltips"),qe=e.resolveDirective("bkloading");return l.thumbnail?e.withDirectives((e.openBlock(),e.createElementBlock("div",Yie,[f.value?(e.openBlock(),e.createBlock(Ed,{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(pe.$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:d.value||h.value,zIndex:100}]]):(e.openBlock(),e.createBlock(qi,{key:0,title:"查看流程",desc:f.value?.name,"show-back-icon":!0,onBack:L},e.createSlots({extend:e.withCtx(()=>[f.value?(e.openBlock(),e.createElementBlock("div",Uie,[e.createVNode(Xd,{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":_.value,"simulate-debug-only":_.value,"hide-trigger":l.hideTrigger,onSimulateDebug:ne},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",Gie,[_.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.withDirectives((e.openBlock(),e.createBlock(Pe,{theme:"primary",disabled:!x.value,onClick:ae},{default:e.withCtx(()=>[...Ae[2]||(Ae[2]=[e.createTextVNode(" 执行 ",-1)])]),_:1},8,["disabled"])),[[Qe,{content:S.value,disabled:!S.value}]]),e.createVNode(Pe,{onClick:re},{default:e.withCtx(()=>[...Ae[3]||(Ae[3]=[e.createTextVNode("退出模拟调试",-1)])]),_:1})],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(Pe,{theme:"primary",disabled:!r.value.canEdit,onClick:F},{default:e.withCtx(()=>[...Ae[4]||(Ae[4]=[e.createTextVNode("编辑",-1)])]),_:1},8,["disabled"]),e.createVNode(Pe,{disabled:!r.value.canExecute,onClick:O},{default:e.withCtx(()=>[...Ae[5]||(Ae[5]=[e.createTextVNode("执行流程",-1)])]),_:1},8,["disabled"])],64))])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",Wie,[f.value?(e.openBlock(),e.createBlock(Ed,{key:0,ref_key:"flowCanvasRef",ref:k,mode:w.value,"flow-id":t.flowId,"pipeline-tree":f.value.pipeline_tree,"system-variables":m.value,thumbnail:l.thumbnail,"default-zoom":l.defaultZoom,"toolbar-items":V.value,"simulate-debug-context":b,onMockNodeClick:K},{inputParams:e.withCtx(Te=>[e.renderSlot(pe.$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:d.value||h.value,zIndex:100}]]),f.value?(e.openBlock(),e.createBlock(af,{key:0,"flow-id":t.flowId,show:c.value,"api-config":l.apiConfig,"bkflow-saas-url":l.bkflowSaasUrl,"member-selector-config":l.memberSelectorConfig,onClose:Ae[0]||(Ae[0]=Te=>c.value=!1),onConfirm:P},e.createSlots({_:2},[e.unref(a).customFormContent?{name:"customFormContent",fn:e.withCtx(Te=>[e.renderSlot(pe.$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(Ui,{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":ue,"use-custom-confirm":!0,onClose:$,"onUpdate:show":Ae[1]||(Ae[1]=Te=>y.value=Te)},{"custom-form-content":e.withCtx(Te=>[e.renderSlot(pe.$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(QE,{key:2,show:!!N.value,node:N.value,constants:f.value.pipeline_tree.constants,config:T.value,onSave:me,onCancel:e.unref(A).closeConfigNode,"onUpdate:show":te},null,8,["show","node","constants","config","onCancel"])):e.createCommentVNode("",!0)]),_:2},[e.unref(a).header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(pe.$slots,"header",{},void 0,!0)]),key:"0"}:void 0]),1032,["desc"]))}}}),KE=He(qie,[["__scopeId","data-v-d213e85a"]]),Qie=Object.freeze(Object.defineProperty({__proto__:null,default:KE},Symbol.toStringTag,{value:"Module"})),$ie={key:0,class:"operate-area"},Kie={class:"flow-actions"},Zie={class:"operate-btns"},Xie={class:"flow-edit-page-content"},Jie=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:{},selectRelatedOptionConfig:{},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=Al(l);vv(a.selectPanelConfig||{}),ys(a.memberSelectorConfig),Bd(a.filterVariableConfig),Vd(a.selectRelatedOptionConfig);const i=o;sr({},a.bkflowSaasUrl);const s=e.shallowRef(null),c=e.shallowRef(!0),f=e.ref(),d=e.ref(),v=e.shallowRef(!0),h=e.shallowRef({}),m=e.shallowRef(!1),g=e.shallowRef([]),k=e.shallowRef(!1),y=e.shallowRef([]),A=e.shallowRef(!1),_=e.shallowRef(!1),w=e.ref(!1),b=e.ref(!1),C=_1(),E=e.computed(()=>String(a.flowId)),x=I=>{i("createVariable",{keyword:I.keyword,cursorIndex:I.cursorIndex,defaultCustomType:I.defaultCustomType}),f.value?.openGlobalVariableCreate(I)};pt.provideVariableInputCreateVariable(x);const S=(I={})=>f.value?.openGlobalVariableCreate(I)??!1,V=e.computed(()=>c.value||k.value||v.value),N=e.computed(()=>pt.withSopsPluginGroup(g.value,{spaceConfig:h.value,api:r})),T=e.computed(()=>C.stage.value==="mock-config"?"mock-config":"edit"),z={stage:C.stage,isMockSelected:C.isMockSelected,toggleMockSelected:C.toggleMockSelected,hasMockConfig:C.hasMockConfig,isAllMockNodesSelected:()=>R.value},j=e.computed(()=>E1(s.value?.pipeline_tree??null)),R=e.computed(()=>C.isAllMockNodesSelected(j.value)),L=e.computed(()=>{const{mockData:I}=C.buildRunnableSelection(j.value);return Object.keys(I).length>0}),F=e.computed(()=>{if(L.value)return"";const{selectedIds:I}=C.buildRunnableSelection(j.value);return I.length===0?"请先勾选需要模拟调试的节点":"请先为已勾选节点设置 Mock 数据"}),O=e.computed(()=>[{id:"mock-select-all",type:"custom",component:$E,description:"全选",group:"tools",order:19,visible:()=>C.stage.value==="mock-config",active:()=>R.value,onClick:()=>C.toggleSelectAllMockNodes(j.value)}]),P=e.computed(()=>s.value?.pipeline_tree),M=e.computed(()=>{const I=C.activeConfigNodeId.value;return I?s.value?.pipeline_tree.activities[I]??null:null}),H=e.computed(()=>{const I=C.activeConfigNodeId.value;return I?C.mockConfigs.value[I]:void 0}),W=()=>String(window.USERNAME??""),X=(I,J)=>{const q={taskId:I,templateId:J};a.onMockDebugCreated&&a.onMockDebugCreated(q),i("mockDebugCreated",q)};e.onMounted(()=>{G(),Q(),ne(),ae()}),e.watch(()=>[a.flowId,a.flowVersion],([I,J],[q,ve])=>{(I!==q||J!==ve)&&(_.value=!1,C.reset(),G(),Q(),ne(),ae())});const G=async()=>{c.value=!0;try{let I=await r.fetchFlowDetail(E.value);if(a.enableVersion)if(a.flowVersion){const J=await r.fetchFlowDetailByVersion(E.value,a.flowVersion);I={...I,name:J.name,pipeline_tree:J.pipeline_tree}}else{const J=await r.fetchFlowDraftDetail(E.value);I={...I,pipeline_tree:J.pipeline_tree}}s.value=I}catch(I){console.error(I)}finally{c.value=!1}},Q=async()=>{v.value=!0;try{const I=await r.fetchSpaceFlowConfig(E.value);h.value=I}catch(I){console.error(I)}finally{v.value=!1}},ne=async()=>{A.value=!0;try{const I=await r.fetchSystemVariables(E.value);y.value=I}catch(I){console.error(I)}finally{A.value=!1}},ae=async()=>{k.value=!0;try{const I=await r.fetchAllPluginGroups();g.value=I}catch(I){console.error(I)}finally{k.value=!1}},$=()=>{a.onBack?a.onBack():i("back")},K=()=>{a.onExitEdit?a.onExitEdit():i("exitEdit")},me=()=>{f.value?.openBasicSetting()},te=I=>{s.value=I,_.value=!0},re=I=>{s.value&&(s.value={...s.value,pipeline_tree:{...s.value.pipeline_tree,constants:I}}),_.value=!0,d.value?.updateGlobalVariables(I)},ue=I=>{d.value?.updateOutputs(I)},pe=I=>{s.value={...s.value,pipeline_tree:I},_.value=!0},Ae=async()=>{if(!s.value||!r.drawPipeline)return;const I=s.value.pipeline_tree,J=ml(I);if(!J.valid){vn.Message({theme:"warning",message:J.message});return}const q=d.value?.getCanvasWidth?.()??document.documentElement.offsetWidth-200;try{d.value?.setFormatLoading?.(!0);const ve=await r.drawPipeline({pipeline_tree:I,canvas_width:q,activity_size:[240,48],event_size:[88,40],gateway_size:[64,64],start:[20,150]}),ge=d.value?.updatePipelineTree?.(ve.pipeline_tree);s.value={...s.value,pipeline_tree:ge??ve.pipeline_tree},_.value=!0,vn.Message({theme:"success",message:"排版完成"})}catch(ve){console.error(ve)}finally{d.value?.setFormatLoading?.(!1)}},Pe=I=>{d.value&&d.value.updateNodeInputParams?.(I)},Qe=I=>{vn.Message({theme:"error",message:I.message}),I.ids.length>0&&d.value?.locateNode?.(I.ids[0])},qe=async()=>{if(!s.value)return;const I=ml(s.value.pipeline_tree),J=x1(s.value.pipeline_tree);if(!I.valid||J.length>0){Qe(I.valid?{message:"流程中存在未配置节点,请配置后再模拟调试",ids:J}:I);return}if(_.value){if(!a.permissions.canSave){vn.Message({theme:"warning",message:"您没有保存权限,无法在未保存的情况下进行模拟调试"});return}return new Promise(q=>{eo.InfoBox({title:"确认进入模拟调试?",content:"流程已修改,进入模拟调试前需要先保存流程。是否保存并继续?",confirmText:"保存并继续",cancelText:"取消",width:400,headerAlign:"center",footerAlign:"center",onConfirm:async()=>{try{await Ne({throwOnError:!0,silent:!0})&&C.enterConfig(j.value)}catch(ve){console.error("保存失败:",ve),vn.Message({theme:"error",message:"保存失败,请重试"})}finally{q()}},onCancel:()=>{q()}})})}C.enterConfig(j.value)},Te=()=>{L.value&&(b.value=!0)},xe=async I=>{if(!s.value)return;const{selectedIds:J,mockNodeIds:q,mockData:ve}=C.buildRunnableSelection(j.value);if(J.length<1){vn.Message({theme:"warning",message:"请至少选择一个可模拟调试节点"});return}if(!r.createMockDebugTask||!r.executeFlowTask){vn.Message({theme:"warning",message:"模拟调试接口未配置"});return}try{const ge=C1(s.value.pipeline_tree,J,I.variablesValue),Be=await r.createMockDebugTask({template_id:s.value.id,name:I.name,pipeline_tree:ge,mock_data:{nodes:q,outputs:ve,mock_data_ids:{}},creator:W()}),Ue=Be.data.id,Xe=Be.data.template_id;await r.executeFlowTask({task_id:Ue,resource_type:"TASK",resource_id:Ue,permission_type:"OPERATE"}),C.reset(),X(Ue,Xe)}catch(ge){throw console.error(ge),vn.Message({theme:"error",message:"创建或启动模拟调试任务失败"}),ge}},ot=(I,J)=>{X(I,J)},de=()=>{b.value=!1},le=I=>{C.openConfigNode(I.id)},be=I=>{C.saveMockConfig(I),C.closeConfigNode()},tt=I=>{I||C.closeConfigNode()},ut=()=>{b.value=!1,C.reset()},ft=()=>{i("debugBeforeClose")},st=()=>{w.value=!1},_e=()=>{if(!a.permissions.canSave)return;const I=ml(s.value?.pipeline_tree);I.valid?Ne():Qe(I)},Ne=async(I={})=>{const{name:J,desc:q,notify_config:ve,pipeline_tree:ge,triggers:Be}=s.value,Ue={name:J,desc:q,notify_config:ve,pipeline_tree:ge,triggers:Be};try{return m.value=!0,await r.saveFlow(E.value,Ue),_.value=!1,vn.Message({theme:"success",message:"保存成功"}),I.silent||(a.onSave&&a.onSave(s.value),a.onSaveSuccess&&a.onSaveSuccess(),i("save",s.value),i("saveSuccess")),!0}catch(Xe){if(console.error(Xe),I.throwOnError)throw Xe;return!1}finally{m.value=!1}},Ie=()=>{f.value?.openGlobalVariables()},Ke=I=>{d.value?.zoomToFit?.(I)},ze=()=>{d.value?.centerContent?.()},se=()=>d.value?.getZoom?.()??1,U={isFlowEdited:e.computed(()=>_.value),updateNodeInputParams:Pe,openGlobalVariables:Ie,openGlobalVariableCreate:S,zoomToFit:Ke,centerContent:ze,getZoom:se};return n(U),(I,J)=>{const q=e.resolveComponent("bk-button"),ve=e.resolveDirective("bk-tooltips"),ge=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(qi,{title:"编辑流程",desc:s.value?.name,"show-back-icon":!0,"show-edit-icon":!0,onBack:$,onEdit:me},{header:e.withCtx(()=>[e.renderSlot(I.$slots,"header",{},void 0,!0)]),extend:e.withCtx(()=>[s.value?(e.openBlock(),e.createElementBlock("div",$ie,[e.createElementVNode("div",Kie,[e.createVNode(Xd,{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(C).stage.value!=="edit","simulate-debug-only":e.unref(C).stage.value!=="edit","hide-trigger":a.hideTrigger,onChange:te,onUpdateConstants:re,onUpdateOutputs:ue,onSimulateDebug:qe},null,8,["flow-data","system-variables","fetch-user-api","enable-simulate-debug","simulate-debug-active","simulate-debug-only","hide-trigger"]),e.createElementVNode("div",Zie,[e.unref(C).stage.value==="edit"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(q,{theme:"primary",disabled:!t.permissions.canSave,loading:m.value,onClick:_e},{default:e.withCtx(()=>[...J[2]||(J[2]=[e.createTextVNode(" 保存 ",-1)])]),_:1},8,["disabled","loading"]),e.createVNode(q,{onClick:K},{default:e.withCtx(()=>[...J[3]||(J[3]=[e.createTextVNode("退出编辑",-1)])]),_:1})],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.withDirectives((e.openBlock(),e.createBlock(q,{theme:"primary",disabled:!L.value,onClick:Te},{default:e.withCtx(()=>[...J[4]||(J[4]=[e.createTextVNode(" 执行 ",-1)])]),_:1},8,["disabled"])),[[ve,{content:F.value,disabled:!F.value}]]),e.createVNode(q,{onClick:ut},{default:e.withCtx(()=>[...J[5]||(J[5]=[e.createTextVNode("退出模拟调试",-1)])]),_:1})],64))])])])):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",Xie,[!V.value&&s.value?(e.openBlock(),e.createBlock(Ed,{key:0,ref_key:"flowCanvasRef",ref:d,mode:T.value,"flow-id":E.value,"pipeline-tree":P.value,"plugin-group-list":N.value,"system-variables":y.value,"default-zoom":a.defaultZoom,"quick-add":a.quickAdd,"toolbar-items":O.value,"simulate-debug-context":z,onChange:pe,onMockNodeClick:le,onFormatPosition:Ae},{inputParams:e.withCtx(Be=>[e.renderSlot(I.$slots,"inputParams",e.normalizeProps(e.guardReactiveProps({...Be,updateNodeInputParams:Pe})),void 0,!0)]),_:3},8,["mode","flow-id","pipeline-tree","plugin-group-list","system-variables","default-zoom","quick-add","toolbar-items"])):e.createCommentVNode("",!0)])),[[ge,{loading:V.value,zIndex:100}]]),s.value?(e.openBlock(),e.createBlock(Ui,{key:0,"flow-id":E.value,show:w.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":ot,onClose:st,"onUpdate:show":J[0]||(J[0]=Be=>w.value=Be),onBeforeClose:ft},{"custom-form-content":e.withCtx(Be=>[e.renderSlot(I.$slots,"debugCustomFormContent",e.normalizeProps(e.guardReactiveProps(Be)),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(Ui,{key:1,"flow-id":E.value,show:b.value,"api-config":a.apiConfig,"bkflow-saas-url":a.bkflowSaasUrl,"enable-version":!1,"flow-version":a.flowVersion,"on-confirm":xe,"use-custom-confirm":!0,onClose:de,"onUpdate:show":J[1]||(J[1]=Be=>b.value=Be)},{"custom-form-content":e.withCtx(Be=>[e.renderSlot(I.$slots,"debugCustomFormContent",e.normalizeProps(e.guardReactiveProps(Be)),void 0,!0)]),_:3},8,["flow-id","show","api-config","bkflow-saas-url","flow-version"])):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createBlock(QE,{key:2,show:!!M.value,node:M.value,constants:s.value.pipeline_tree.constants,config:H.value,onSave:be,onCancel:e.unref(C).closeConfigNode,"onUpdate:show":tt},null,8,["show","node","constants","config","onCancel"])):e.createCommentVNode("",!0)]),_:3},8,["desc"])}}}),ZE=He(Jie,[["__scopeId","data-v-88edb5d0"]]),eue=Object.freeze(Object.defineProperty({__proto__:null,default:ZE},Symbol.toStringTag,{value:"Module"})),am="#48A397",tue=.82,nue=.94,t1={FAILED:"#FA4E41",SUSPENDED:"#F59500",REVOKED:"#FA4E41",SKIP:"#C4C6CC"},n1=t=>{const n=t&&t.status in t1?t1[t.status]:void 0;return n?{strokeColor:{type:"linearGradient",stops:[{offset:0,color:am},{offset:tue,color:am},{offset:nue,color:n},{offset:1,color:n}]},targetMarkerColor:n}:{strokeColor:am}};function oue(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)?n1(n[t.target.nodeId]):void 0;const l=n[t.target.nodeId];if(l)return n1(l)}function lf(t){return{name:"execution-status",priority:100,decorateEdge(n){return oue(n,t.value)}}}const aue={ExclusiveGateway:"exclusive-gateway",ParallelGateway:"parallel-gateway",ConditionalParallelGateway:"conditional-parallel-gateway",ConvergeGateway:"converge-gateway"};function Zg(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 lue(t,n){if(!t)return"";if(t.activities?.[n])return"task";const o=t.gateways?.[n];return o?aue[o.type]??"":t.start_event?.id===n?"start-event":t.end_event?.id===n?"end-event":""}function rue(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 XE(t,n){if(!t)return[];const o=cue(t);return o.taskState==="REVOKED"||o.status==="REVOKED"?[]:o.actions&&o.actions.length>0?o.actions:n==="task"?sue(o):uue(n)?iue(o):[]}function sue(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 iue(t){return t.status==="FAILED"?["gatewaySkip"]:[]}function uue(t){return t==="exclusive-gateway"||t==="parallel-gateway"||t==="conditional-parallel-gateway"}function cue(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 due=150;function JE(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},due)}function r(){a(),n.visible=!1}function i(d){const v=t.getPipelineTree(),h=rue(t.getNodeStates(),v,d);if(!h){r();return}const m=lue(v,d),g=XE(h,m);if(g.length===0){r();return}const k=t.getNodeViewportRect(d);if(!k){r();return}a(),n.nodeId=d,n.actions=g,n.position={x:k.x+k.width,y:k.y+k.height},n.visible=!0}function s(){a()}function c(){l()}function f(d){if(d.type==="node.mouseenter"){i(d.nodeId);return}if(d.type==="node.mouseleave"){d.nodeId===n.nodeId&&l();return}d.type==="blank.click"&&r()}return e.onBeforeUnmount(()=>{a()}),{actionPopover:n,openActionPopover:i,closeActionPopover:r,handlePopoverEnter:s,handlePopoverLeave:c,handleUiEvent:f}}const fue={class:"execution-action-popover__actions"},pue={key:0,class:"execution-action-popover__divider","aria-hidden":"true"},mue=["title","onClick","onKeydown"],vue={class:"execution-action-popover__label"},gue=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(d=>({key:d,...o[d]??{label:d,icon:""}}))),i=e.computed(()=>({left:`${a.position.x}px`,top:`${a.position.y+4}px`})),s=d=>{l("action",{nodeId:a.nodeId,action:d})},c=()=>{l("popover-enter")},f=()=>{l("popover-leave")};return(d,v)=>(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:v[0]||(v[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",fue,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(h,m)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:h.key},[m>0?(e.openBlock(),e.createElementBlock("span",pue)):e.createCommentVNode("",!0),e.createElementVNode("span",{class:"execution-action-popover__item",title:h.label,role:"button",tabindex:"0",onClick:g=>s(h.key),onKeydown:[e.withKeys(e.withModifiers(g=>s(h.key),["prevent"]),["enter"]),e.withKeys(e.withModifiers(g=>s(h.key),["prevent"]),["space"])]},[e.createElementVNode("i",{class:e.normalizeClass(["execution-action-popover__icon",h.icon])},null,2),e.createElementVNode("span",vue,e.toDisplayString(h.label),1)],40,mue)],64))),128))])],36)):e.createCommentVNode("",!0)]))}}),ex=He(gue,[["__scopeId","data-v-868d8e66"]]),hue={class:"flow-execute-page-content"},bue=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;Al(a.apiConfig),sr({},a.bkflowSaasUrl);const r=e.ref(),i=e.computed(()=>a.nodeStates??{}),s=e.shallowRef([lf(i)]),c=e.computed(()=>a.pipelineTree?Zg(a.pipelineTree,a.nodeStates):null),{actionPopover:f,closeActionPopover:d,handlePopoverEnter:v,handlePopoverLeave:h,handleUiEvent:m}=JE({getNodeStates:()=>a.nodeStates,getPipelineTree:()=>c.value,getNodeViewportRect:_=>r.value?.editor?.api?.value?.overlay?.getNodeViewportRect?.(_)});function g(_){l("execution-action",_),l(_.action,_.nodeId),d()}const k=()=>{typeof a.onBack=="function"?a.onBack():l("back")},y=_=>{l("node-click",_)},A=_=>{l("ui-event",_),m(_)};return(_,w)=>{const b=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(qi,{title:"任务执行","show-back-icon":!0,"show-header":a.showHeader,onBack:k},e.createSlots({extend:e.withCtx(()=>[e.renderSlot(_.$slots,"extend",{},void 0,!0)]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",hue,[c.value?(e.openBlock(),e.createBlock(ef,{key:0,ref_key:"canvasRef",ref:r,mode:"view","pipeline-tree":c.value,"default-zoom":a.defaultZoom,"additional-plugins":s.value,onNodeClick:y,onUiEvent:A},null,8,["pipeline-tree","default-zoom","additional-plugins"])):e.createCommentVNode("",!0)])),[[b,{loading:!a.pipelineTree}]]),e.createVNode(ex,{visible:e.unref(f).visible,"node-id":e.unref(f).nodeId,actions:e.unref(f).actions,position:e.unref(f).position,onPopoverEnter:e.unref(v),onPopoverLeave:e.unref(h),onAction:g},null,8,["visible","node-id","actions","position","onPopoverEnter","onPopoverLeave"])]),_:2},[e.unref(o).header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(_.$slots,"header",{},void 0,!0)]),key:"0"}:void 0]),1032,["show-header"])}}}),tx=He(bue,[["__scopeId","data-v-d2ccd1b2"]]),yue=Object.freeze(Object.defineProperty({__proto__:null,default:tx},Symbol.toStringTag,{value:"Module"})),kue=3,wue=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(kue,i=>e.createElementVNode("span",{key:i,class:"bkflow-loading-dots-icon__dot"})),64))],4))}}),Cue=He(wue,[["__scopeId","data-v-dd36d9ac"]]),Aue={class:"debug-status-bar__label"},Eue={class:"debug-status-bar__elapsed"},xue={class:"debug-status-bar__failed-count"},_ue=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),d=e.computed(()=>{const m=f.value,g=Math.floor(m/3600),k=Math.floor(m%3600/60),y=m%60,A=String(k).padStart(2,"0"),_=String(y).padStart(2,"0");return g>0?`${String(g).padStart(2,"0")}:${A}:${_}`:`${A}:${_}`}),v=()=>{h(),r=setInterval(()=>{l.value=Date.now()},1e3)},h=()=>{r&&(clearInterval(r),r=void 0)};return e.watch(i,m=>{m==="RUNNING"?v():h()},{immediate:!0}),e.onBeforeUnmount(()=>{h()}),(m,g)=>{const k=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(zi,{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",Aue,e.toDisplayString(s.value),1),g[4]||(g[4]=e.createElementVNode("span",{class:"debug-status-bar__divider"},null,-1)),e.createElementVNode("span",Eue,e.toDisplayString(d.value),1),i.value==="RUNNING"?(e.openBlock(),e.createBlock(k,{key:2,text:"",class:"debug-status-bar__action debug-status-bar__action--stop",onClick:g[0]||(g[0]=A=>a("stop"))},{default:e.withCtx(()=>[...g[2]||(g[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(k,{key:3,text:"",class:"debug-status-bar__action debug-status-bar__action--locate",onClick:g[1]||(g[1]=A=>a("locate-failed"))},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("span",xue,[e.createTextVNode(e.toDisplayString(o.failedCount),1)])),[[y,"定位错误"]]),g[3]||(g[3]=e.createTextVNode(" 个节点错误 ",-1))]),_:1})):e.createCommentVNode("",!0)],2)}}}),Bue=He(_ue,[["__scopeId","data-v-dfddc841"]]),Sue={class:"debug-node-list"},Vue={key:0,class:"debug-node-list__items",role:"listbox"},Nue=["aria-selected","onClick","onKeydown"],Tue=["title"],Due={key:0,class:"debug-node-list__mock"},Iue={key:1,class:"debug-node-list__empty"},Oue=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:zi,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 h=l.value.trim().toLowerCase();return o.nodes.filter(m=>r.value==="ALL"||(m.status||"CREATED")===r.value?h?m.name.toLowerCase().includes(h)||m.id.toLowerCase().includes(h):!0:!1)}),c={FINISHED:"成功",FAILED:"失败",RUNNING:"执行中",SUSPENDED:"暂停",CREATED:"未执行",REVOKED:"已撤销"},f=e.computed(()=>l.value.trim()?"搜索结果为空":r.value!=="ALL"?`暂无${c[r.value]}状态节点`:"暂无节点"),d=()=>{l.value="",r.value="ALL"},v=e.computed(()=>i.map(h=>({...h,count:h.value==="ALL"?o.nodes.length:o.nodes.filter(m=>(m.status||"CREATED")===h.value).length})));return(h,m)=>{const g=e.resolveComponent("bk-input");return e.openBlock(),e.createElementBlock("aside",Sue,[e.createVNode(g,{modelValue:l.value,"onUpdate:modelValue":m[0]||(m[0]=k=>l.value=k),class:"debug-node-list__search",placeholder:"搜索节点名称",type:"search",clearable:""},null,8,["modelValue"]),e.createVNode(of,{modelValue:r.value,"onUpdate:modelValue":m[1]||(m[1]=k=>r.value=k),class:"debug-node-list__stats",items:v.value},null,8,["modelValue","items"]),s.value.length>0?(e.openBlock(),e.createElementBlock("div",Vue,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,k=>(e.openBlock(),e.createElementBlock("div",{key:k.id,class:e.normalizeClass(["debug-node-list__item",{"is-active":k.id===o.modelValue}]),role:"option",tabindex:"0","aria-selected":k.id===o.modelValue,onClick:y=>a("update:modelValue",k.id),onKeydown:e.withKeys(e.withModifiers(y=>a("update:modelValue",k.id),["prevent"]),["enter","space"])},[e.createElementVNode("span",{class:e.normalizeClass(["debug-node-list__status",`is-${(k.status||"CREATED").toLowerCase()}`])},[k.status==="RUNNING"?(e.openBlock(),e.createBlock(zi,{key:0,size:12})):k.iconClass?(e.openBlock(),e.createElementBlock("i",{key:1,class:e.normalizeClass(k.iconClass)},null,2)):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:"debug-node-list__name",title:`${k.name} ${k.typeName||""}`},e.toDisplayString(k.name),9,Tue),k.hasMockConfig?(e.openBlock(),e.createElementBlock("span",Due,"MOCK")):e.createCommentVNode("",!0)],42,Nue))),128))])):(e.openBlock(),e.createElementBlock("div",Iue,[e.createVNode(ln,{"is-search":!1,title:f.value,onClear:d},null,8,["title"])]))])}}}),Mue=He(Oue,[["__scopeId","data-v-8864ef7f"]]),Yo=t=>t&&typeof t=="object"&&!Array.isArray(t)?t:void 0,Pue=t=>{if(t==null)return!0;if(typeof t=="string")return t.trim()==="";if(Array.isArray(t))return t.length===0;const n=Yo(t);return n?Object.keys(n).length===0:!1},rf=t=>!!(t&&typeof t=="object"),pv=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)?"[ ... ]":"{ ... }",Lue=t=>{if(Array.isArray(t))return t.length>0?"[ ... ]":"[]";const n=Yo(t);return n?Object.keys(n).length>0?"{ ... }":"{}":Gi(t)},Rue=(t,n={})=>{const o=Yo(t);return o?Object.entries(o).map(([a,l])=>({name:n[a]||a,key:a,value:l})):[]},nx=(t,n={})=>{if(Array.isArray(t))return t.map((a,l)=>{const r=Yo(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=Yo(t);return o?Object.entries(o).map(([a,l])=>({name:n[a]||a,key:a,value:Yo(l)&&"value"in l?l.value:l})):[]},ox=(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)},ax=t=>{const n=t;return typeof n=="string"?n:pv(n)},Fue=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} 分`},lx=Symbol("shared-node-detail"),zue=t=>typeof t=="string"?t:t instanceof Error?t.message:"加载失败",jue=(t,n)=>`${t??""}_${n??""}`;function Hue(t){const n=Vn(),o=e.ref(!1),a=e.ref(""),l=e.shallowRef(),r=new Map;let i=0;const s=async()=>{const f=t.taskId(),d=t.nodeId(),v=++i;if(!f||!d){o.value=!1,a.value="",l.value=void 0;return}const h=jue(f,d),m=r.get(h);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 g=await n.fetchTaskNodeDetail({task_id:f,node_id:d});if(v!==i)return;const k=Yo(g);k&&r.set(h,k),l.value=k}catch(g){if(v!==i)return;console.error(g),a.value=zue(g),l.value=void 0}finally{v===i&&(o.value=!1)}};e.watch(()=>[t.taskId(),t.nodeId()],()=>{s()},{immediate:!0});const c={loading:o,error:a,detail:l};return e.provide(lx,c),c}function Xg(){const t=e.inject(lx);if(!t)throw new Error("useInjectedNodeDetail: shared node detail is not provided");return t}const Uue={class:"execution-info-tab"},Gue={key:0,class:"execution-info-tab__state is-error"},Wue={class:"execution-info-tab__section"},Yue={class:"execution-info-tab__section"},que={class:"execution-info-tab__table"},Que=e.defineComponent({__name:"execution-info",setup(t){const{loading:n,error:o,detail:a}=Xg(),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:Fue(a.value?.elapsed_time)}]);return(i,s)=>{const c=e.resolveDirective("bkloading");return e.withDirectives((e.openBlock(),e.createElementBlock("div",Uue,[e.unref(o)?(e.openBlock(),e.createElementBlock("div",Gue,e.toDisplayString(e.unref(o)),1)):e.unref(a)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("section",Wue,[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",Yue,[s[1]||(s[1]=e.createElementVNode("h3",null,"执行信息",-1)),e.createElementVNode("table",que,[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(ln,{key:2,title:"暂无执行信息"}))])),[[c,{loading:e.unref(n)}]])}}}),$ue=He(Que,[["__scopeId","data-v-43618193"]]),Kue={class:"debug-json-viewer"},Zue={class:"debug-json-viewer__line"},Xue={key:1,class:"debug-json-viewer__key"},Jue={class:"debug-json-viewer__summary"},ece={key:0,class:"debug-json-viewer__children"},tce={key:1,class:"debug-json-viewer__line"},nce={key:0,class:"debug-json-viewer__key"},oce=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(()=>rf(n.value)),l=e.computed(()=>Lue(n.value)),r=e.computed(()=>n.value===null?"null":typeof n.value),i=e.computed(()=>pv(n.value)),s=e.computed(()=>{if(Array.isArray(n.value))return n.value.map((d,v)=>({key:String(v),value:d}));const f=Yo(n.value);return f?Object.entries(f).map(([d,v])=>({key:d,value:v})):[]}),c=async f=>{const d=pv(f);try{await navigator.clipboard?.writeText(d)}catch{const h=document.createElement("textarea");h.value=d,h.style.position="fixed",h.style.opacity="0",document.body.appendChild(h),h.select(),document.execCommand("copy"),document.body.removeChild(h)}Kt({theme:"success",message:"复制成功"})};return(f,d)=>{const v=e.resolveComponent("DebugJsonViewer",!0);return e.openBlock(),e.createElementBlock("div",Kue,[a.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",Zue,[s.value.length>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:"debug-json-viewer__toggle",onClick:d[0]||(d[0]=h=>o.value=!o.value)},e.toDisplayString(o.value?"▼":"▶"),1)):e.createCommentVNode("",!0),n.label?(e.openBlock(),e.createElementBlock("span",Xue,e.toDisplayString(n.label)+":",1)):e.createCommentVNode("",!0),e.createElementVNode("span",Jue,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:d[1]||(d[1]=h=>c(n.value))})):e.createCommentVNode("",!0)]),o.value&&s.value.length>0?(e.openBlock(),e.createElementBlock("div",ece,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,h=>(e.openBlock(),e.createBlock(v,{key:h.key,label:h.key,value:h.value,level:n.level+1},null,8,["label","value","level"]))),128))])):e.createCommentVNode("",!0)],64)):(e.openBlock(),e.createElementBlock("div",tce,[n.label?(e.openBlock(),e.createElementBlock("span",nce,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)]))])}}}),xd=He(oce,[["__scopeId","data-v-32f8c36e"]]),ace={class:"debug-value-table"},lce={key:0,class:"debug-value-table__toolbar"},rce={key:1,class:"debug-value-table__state is-error"},sce={key:0,class:"debug-value-table__table"},ice=["title"],uce={class:"debug-value-table__value"},cce={key:1},dce={key:1,class:"debug-value-table__json-mode"},fce=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",ace,[i.value?(e.openBlock(),e.createElementBlock("div",lce,[n.rows.length>0?(e.openBlock(),e.createBlock(of,{key:0,modelValue:o.value,"onUpdate:modelValue":c[0]||(c[0]=d=>o.value=d),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",rce,e.toDisplayString(n.error),1)):!n.loading&&n.rows.length===0?(e.openBlock(),e.createBlock(ln,{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",sce,[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,d=>(e.openBlock(),e.createElementBlock("tr",{key:d.key},[e.createElementVNode("td",{class:"debug-value-table__name",title:d.name},e.toDisplayString(d.name),9,ice),e.createElementVNode("td",uce,[e.unref(rf)(d.value)?(e.openBlock(),e.createBlock(xd,{key:0,value:d.value},null,8,["value"])):(e.openBlock(),e.createElementBlock("span",cce,e.toDisplayString(e.unref(Gi)(d.value)),1))])]))),128))])])):(e.openBlock(),e.createElementBlock("div",dce,[e.createVNode(xd,{value:r.value,"default-expanded":""},null,8,["value"])]))],64))])),[[f,{loading:n.loading}]])}}}),Jg=He(fce,[["__scopeId","data-v-a3fab2dc"]]),wc={inputs:[],outputs:[]},lm=new Map,o1=(t,n)=>Object.prototype.hasOwnProperty.call(t,n),pce=t=>{const n=t.attrs??{};return o1(n,"formViewHidden")?!n.formViewHidden:o1(n,"hidden")?!n.hidden:!0},mce=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=Yo(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:pce(a)}))},vce=t=>({inputs:mce(t),outputs:(t.outputs??[]).filter(n=>!!n.key).map(n=>({key:n.key,name:n.name||n.key,visible:!0}))}),a1=(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("|")},gce=(t,n,o)=>{const a=lm.get(o);if(a)return a;const l=Ai(t,n).then(vce).catch(r=>{throw lm.delete(o),r});return lm.set(o,l),l},l1=t=>Object.fromEntries(t.filter(n=>n.visible).map(n=>[n.key,n.name])),hce=t=>typeof t=="string"?t:t instanceof Error?t.message:"加载失败";function eh(t){const n=Vn(),o=e.ref(!1),a=e.ref(""),l=e.shallowRef(wc);let r=0;const i=async()=>{const v=t.component(),h=++r,m=a1(v,n.scopeData);if(!v?.code||!m){o.value=!1,a.value="",l.value=wc;return}o.value=!0,a.value="",l.value=wc;try{const g=await gce(n,v,m);if(h!==r)return;l.value=g}catch(g){if(h!==r)return;l.value=wc,a.value=`插件参数信息加载失败:${hce(g)}`}finally{h===r&&(o.value=!1)}};e.watch(()=>a1(t.component(),n.scopeData),()=>{i()},{immediate:!0});const s=e.computed(()=>l.value.inputs.filter(v=>v.visible)),c=e.computed(()=>l.value.outputs.filter(v=>v.visible)),f=e.computed(()=>l1(l.value.inputs)),d=e.computed(()=>l1(l.value.outputs));return{loading:o,error:a,meta:l,visibleInputs:s,visibleOutputs:c,inputNameMap:f,outputNameMap:d}}const rx=Symbol("plugin-param-names");function bce(t){const{loading:n,error:o,inputNameMap:a,outputNameMap:l,visibleOutputs:r}=eh(t),i={loading:n,error:o,inputNameMap:a,outputNameMap:l,outputKeys:e.computed(()=>r.value.map(s=>s.key))};return e.provide(rx,i),i}function sx(){const t=e.inject(rx);if(!t)throw new Error("useInjectedPluginParamNames: plugin param names is not provided");return t}const yce=e.defineComponent({__name:"input-params",setup(t){const{loading:n,error:o,detail:a}=Xg(),{loading:l,error:r,inputNameMap:i}=sx(),s=e.computed(()=>n.value||l.value),c=e.computed(()=>o.value||r.value),f=e.computed(()=>Rue(a.value?.inputs,i.value).filter(d=>d.key in i.value));return(d,v)=>(e.openBlock(),e.createBlock(Jg,{loading:s.value,error:c.value,rows:f.value,"empty-text":"暂无输入参数"},null,8,["loading","error","rows"]))}}),kce=e.defineComponent({__name:"output-params",setup(t){const{loading:n,error:o,detail:a}=Xg(),{loading:l,error:r,outputNameMap:i,outputKeys:s}=sx(),c=e.computed(()=>n.value||l.value),f=e.computed(()=>o.value||r.value),d=e.computed(()=>{const v=nx(a.value?.outputs,i.value).filter(h=>h.key in i.value&&!_d.has(h.key));return ox(v,s.value)});return(v,h)=>(e.openBlock(),e.createBlock(Jg,{loading:c.value,error:f.value,rows:d.value,"empty-text":"暂无输出结果"},null,8,["loading","error","rows"]))}}),wce=t=>typeof t=="string"?t:t instanceof Error?t.message:"加载失败";function Cce(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=wce(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 Ace={class:"call-logs-viewer"},Ece={key:0,class:"call-logs-viewer__state is-error","data-test":"log-error"},xce={key:2,class:"call-logs-viewer__viewer"},_ce={class:"call-logs-viewer__empty-body"},Bce={class:"call-logs-viewer__sub-tabs"},Sce=["onClick"],Vce=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",Ace,[n.error?(e.openBlock(),e.createElementBlock("div",Ece,e.toDisplayString(n.error),1)):!n.loading&&!n.logText?(e.openBlock(),e.createBlock(ln,{key:1,title:"暂无调用日志","data-test":"log-empty"})):n.logText?(e.openBlock(),e.createElementBlock("div",xce,[o.value==="platform"?(e.openBlock(),e.createBlock(ha,{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",_ce,[e.createVNode(ln,{title:"暂无第三方插件日志"})])],64)),e.createElementVNode("div",Bce,[(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:d=>o.value=f.value},e.toDisplayString(f.label),11,Sce)),64))])])):e.createCommentVNode("",!0)])),[[c,{loading:n.loading}]])}}}),ix=He(Vce,[["__scopeId","data-v-06ddf5de"]]),Nce=e.defineComponent({__name:"call-logs",props:{taskId:{},nodeId:{},version:{}},setup(t){const n=t,o=Vn(),{loading:a,error:l,data:r}=Cce({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(()=>ax(r.value));return(s,c)=>(e.openBlock(),e.createBlock(ix,{"log-text":i.value,loading:e.unref(a),error:e.unref(l)},null,8,["log-text","loading","error"]))}}),Tce={class:"debug-result-tabs"},Dce=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 Hue({taskId:()=>o.taskId,nodeId:()=>o.activeNodeId}),bce({component:()=>o.activeNodeComponent}),(r,i)=>{const s=e.resolveComponent("bk-tab-panel"),c=e.resolveComponent("bk-tab");return e.openBlock(),e.createElementBlock("section",Tce,[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($ue,{key:0})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(s,{name:"inputs",label:"输入参数"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createBlock(ln,{key:0,title:"暂无输入参数"})):a.value==="inputs"?(e.openBlock(),e.createBlock(yce,{key:1})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(s,{name:"outputs",label:"输出结果"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createBlock(ln,{key:0,title:"暂无输出结果"})):a.value==="outputs"?(e.openBlock(),e.createBlock(kce,{key:1})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(s,{name:"logs",label:"调用日志"},{default:e.withCtx(()=>[a.value==="logs"?(e.openBlock(),e.createBlock(Nce,{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"])])}}}),Ice=He(Dce,[["__scopeId","data-v-3a013845"]]),Oce={class:"debug-result-drawer__header"},Mce={class:"debug-result-drawer__body"},Pce=44,Lce=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(_=>_.id===o.activeNodeId)?.typeName??""),l=n,r=e.ref(420),i=e.ref(!1);let s=0,c=0,f="",d="";const v=e.computed(()=>({height:`${o.open?r.value:Pce}px`})),h=()=>{l("update:open",!o.open)},m=A=>{l("update:activeNodeId",A)},g=A=>{const _=c-(A.clientY-s);r.value=Math.max(200,Math.min(window.innerHeight*.8,_))},k=()=>{document.removeEventListener("mousemove",g),document.removeEventListener("mouseup",k),document.body.style.cursor=f,document.body.style.userSelect=d,i.value=!1},y=A=>{A.preventDefault(),i.value=!0,s=A.clientY,c=r.value,f=document.body.style.cursor,d=document.body.style.userSelect,document.body.style.cursor="ns-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",g),document.addEventListener("mouseup",k)};return e.onBeforeUnmount(k),(A,_)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["debug-result-drawer-wrapper",{"is-resizing":i.value}]),style:e.normalizeStyle(v.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",Oce,[_[0]||(_[0]=e.createElementVNode("div",{class:"debug-result-drawer__title"},"调试结果",-1)),e.createElementVNode("span",{class:"debug-result-drawer__collapse",onClick:h},[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",Mce,[e.createVNode(Mue,{nodes:o.nodes,"model-value":o.activeNodeId,"onUpdate:modelValue":m},null,8,["nodes","model-value"]),e.createVNode(Ice,{"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))}}),Rce=He(Lce,[["__scopeId","data-v-c5b0c94f"]]),Fce={key:0,class:"operate-area"},zce={class:"mock-debug-status"},jce={class:"operate-btns"},Hce={class:"flow-mock-debug-content"},Uce={class:"gateway-select-dialog"},Gce={class:"gateway-select-dialog__field"},Wce=3e3,Yce=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=Al(o.apiConfig);sr({},o.bkflowSaasUrl);const r=e.ref(),i=e.shallowRef(null),s=e.shallowRef(!0),c=e.ref("RUNNING"),f=e.ref(Date.now()),d=e.ref(),v=e.shallowRef({}),h=e.ref(!0),m=e.ref(),g=e.ref(0),k=e.computed(()=>s.value),y=e.computed(()=>v.value),A=e.shallowRef([lf(y)]),_=e.computed(()=>{const _e=i.value?.pipeline_tree;return _e?Zg(_e,v.value):null}),w={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=_e=>{if(_e.component?.code==="uniform_api"){const Ne=_e.component?.api_meta?.category?.name??"";return pt.PLUGGIN_GROUP_FONT_CLASS_MAP[Ne]??pt.PLUGGIN_GROUP_FONT_CLASS_MAP.bkflow}return pt.PLUGGIN_GROUP_FONT_CLASS_MAP.bkflow},C=_e=>{const Ne=new Map;Object.values(_e.flows).forEach(U=>{const I=Ne.get(U.source);I?I.push(U.target):Ne.set(U.source,[U.target])});const Ie=[],Ke=new Set,ze=_e.start_event?.id;if(!ze)return Ie;const se=[ze];for(Ke.add(ze);se.length>0;){const U=se.shift();Ie.push(U);const I=Ne.get(U)??[];for(const J of I)Ke.has(J)||(Ke.add(J),se.push(J))}return Ie},E=e.computed(()=>{const _e=i.value?.pipeline_tree;if(!_e)return[];const Ne=new Map;_e.start_event&&Ne.set(_e.start_event.id,{id:_e.start_event.id,name:_e.start_event.name||"开始节点",typeName:"开始节点",status:v.value[_e.start_event.id]?.status,iconClass:"bkflow-canvas-icon bkflow-canvas-kaishi",hasMockConfig:!1}),Object.values(_e.activities).forEach(ze=>{Ne.set(ze.id,{id:ze.id,name:ze.name||ze.id,typeName:ze.component?.code||"任务节点",status:v.value[ze.id]?.status,iconClass:b(ze),hasMockConfig:!1})}),Object.values(_e.gateways).forEach(ze=>{Ne.set(ze.id,{id:ze.id,name:ze.name||ze.id,typeName:"网关节点",status:v.value[ze.id]?.status,iconClass:w[ze.type]??"bkflow-canvas-icon bkflow-canvas-fenzhiwangguan",hasMockConfig:!1})}),_e.end_event&&Ne.set(_e.end_event.id,{id:_e.end_event.id,name:_e.end_event.name||"结束节点",typeName:"结束节点",status:v.value[_e.end_event.id]?.status,iconClass:"bkflow-canvas-icon bkflow-canvas-stop",hasMockConfig:!1});const Ie=C(_e).filter(ze=>Ne.has(ze)),Ke=[...Ne.keys()].filter(ze=>!Ie.includes(ze));return[...Ie,...Ke].map(ze=>Ne.get(ze))}),x=e.computed(()=>Object.entries(v.value).filter(([,_e])=>_e.status==="FAILED").map(([_e])=>_e)),S=e.computed(()=>{const _e=m.value;return _e?v.value[_e]?.version??"":""}),V=e.computed(()=>{const _e=i.value?.pipeline_tree,Ne=m.value;if(!(!_e||!Ne))return _e.activities[Ne]?.component});e.watch(E,_e=>{if(m.value||_e.length===0)return;const Ne=_e.find(Ie=>Ie.typeName!=="开始节点"&&Ie.typeName!=="结束节点"&&Ie.typeName!=="网关节点");m.value=Ne?.id??_e[0].id});const N=new Set(["CREATED","RUNNING","FINISHED","FAILED","SUSPENDED","REVOKED"]);let T;const z=()=>{T&&(clearTimeout(T),T=void 0)},j=_e=>{if(!_e)return;const Ne=String(_e).toUpperCase();return N.has(Ne)?Ne:void 0},R=_e=>{const Ne=j(_e);return Ne==="FINISHED"?"FINISHED":Ne==="FAILED"||Ne==="SUSPENDED"||Ne==="REVOKED"?"FAILED":"RUNNING"},L=_e=>_e&&typeof _e=="object"&&!Array.isArray(_e)?_e:void 0,F=_e=>{const Ne=L(_e);return!Ne||!("data"in Ne)?_e:Ne.data},O=_e=>{const Ne={};return Object.entries(_e).forEach(([Ie,Ke])=>{const ze=L(Ke),se=j(ze?ze.status??ze.state:Ke);if(!se)return;const U=String(ze?.id??ze?.node_id??Ie);Ne[U]={status:se,version:typeof ze?.version=="string"?ze.version:void 0,start_time:typeof ze?.start_time=="string"?ze.start_time:void 0,finish_time:typeof ze?.finish_time=="string"?ze.finish_time:void 0,elapsed_time:typeof ze?.elapsed_time=="number"?ze.elapsed_time:void 0}}),Ne},P=_e=>{const Ne={};return _e.forEach(Ie=>{const Ke=L(Ie);if(!Ke)return;const ze=Ke.id??Ke.node_id,se=j(Ke.status??Ke.state);!ze||!se||(Ne[String(ze)]={status:se,version:typeof Ke.version=="string"?Ke.version:void 0,start_time:typeof Ke.start_time=="string"?Ke.start_time:void 0,finish_time:typeof Ke.finish_time=="string"?Ke.finish_time:void 0,elapsed_time:typeof Ke.elapsed_time=="number"?Ke.elapsed_time:void 0})}),Ne},M=_e=>{const Ne=L(F(_e));if(!Ne)return{};const Ie={};return[Ne.node_states,Ne.states,Ne.children,Ne.nodes,Ne.activities,Ne.gateways].forEach(ze=>{if(Array.isArray(ze)){Object.assign(Ie,P(ze));return}const se=L(ze);se&&Object.assign(Ie,O(se))}),Ie},H=_e=>{const Ne=L(F(_e));return R(Ne?.state??Ne?.status)},W=_e=>{const Ne=L(F(_e));if(!Ne)return;const Ie=Ne.elapsed_time;return typeof Ie=="number"?Ie:void 0};function X(){z(),T=setTimeout(()=>{G()},Wce)}async function G(){if(z(),!(!o.taskId||!l.fetchTaskState))try{const _e=await l.fetchTaskState({task_id:o.taskId}),Ne=H(_e),Ie=M(_e);if(c.value=Ne,Ne!=="RUNNING"){const Ke=W(_e);Ke!=null&&(d.value=Ke)}Object.keys(Ie).length>0&&(v.value=Ie)}catch(_e){console.error(_e)}finally{c.value==="RUNNING"&&X()}}const Q=async()=>{s.value=!0;try{const[_e,Ne]=await Promise.all([l.fetchFlowDetail(String(o.flowId)),l.getFlowTaskDetail?.({task_id:o.taskId})]);Ne?.pipeline_tree?i.value={..._e,pipeline_tree:Ne.pipeline_tree}:i.value=_e}catch(_e){console.error(_e)}finally{s.value=!1}};function ne(_e){const Ne=r.value?.editor?.api?.value;Ne&&(Ne.scrollToNode(_e,{offset:{y:-120}}),Ne.highlightNodes([_e]),setTimeout(()=>Ne.clearHighlight(),1500))}const{actionPopover:ae,closeActionPopover:$,handlePopoverEnter:K,handlePopoverLeave:me,handleUiEvent:te}=JE({getNodeStates:()=>v.value,getPipelineTree:()=>_.value,getNodeViewportRect:_e=>r.value?.editor?.api?.value?.overlay?.getNodeViewportRect?.(_e)}),re=e.reactive({visible:!1,nodeId:"",isCondParallelGw:!1,branches:[],selectedBranch:null}),ue={retry:{title:"确定重试当前节点?",content:"重新节点将重新执行当前节点(使用最新的参数值)"},skip:{title:"确定跳过当前节点?",content:"跳过节点将忽略当前失败节点继续往后执行"},forceFail:{title:"确定强制终止当前节点?",content:"强制终止将强行修改节点状态为失败,但不会中断已经发送到其它系统的请求"},resume:{title:"确定继续往后执行?"}};function pe(_e){if($(),_e.action==="gatewaySkip"){Pe(_e.nodeId);return}const Ne=ue[_e.action];if(Ne){eo.InfoBox({title:Ne.title,content:Ne.content,confirmText:"确定",cancelText:"取消",width:400,onConfirm:()=>{ot(_e)}});return}ot(_e)}function Ae(_e){const Ie=_.value?.gateways?.[_e];if(!Ie)return[];const Ke=[],ze=Ie.converge_gateway_id;if(Ie.conditions&&Object.keys(Ie.conditions).forEach(se=>{const U=Ie.conditions[se];Ke.push({id:se,node_id:_e,name:U.name||U.evaluate||se,converge_gateway_id:ze})}),Ie.default_condition){const se=Ie.default_condition.flow_id;se&&Ke.unshift({id:se,node_id:_e,name:Ie.default_condition.name,converge_gateway_id:ze})}return Ke.length===0&&Ie.type==="ParallelGateway"&&(Array.isArray(Ie.outgoing)?Ie.outgoing:Ie.outgoing?[Ie.outgoing]:[]).forEach((U,I)=>{Ke.push({id:U,node_id:_e,name:`并行${I+1}`,converge_gateway_id:ze})}),Ke.filter(se=>se.id)}function Pe(_e){const Ie=_.value?.gateways?.[_e];if(!Ie)return;const Ke=Ae(_e);if(Ke.length===0)return;const ze=Ie.type==="ConditionalParallelGateway";re.nodeId=_e,re.isCondParallelGw=ze,re.branches=Ke,re.selectedBranch=ze?[Ke[0].id]:Ke[0].id,re.visible=!0}function Qe(){re.visible=!1,re.nodeId="",re.branches=[],re.selectedBranch=null}async function qe(){c.value="RUNNING",f.value=Date.now(),d.value=void 0,G(),X()}async function Te(){const{nodeId:_e,branches:Ne,selectedBranch:Ie,isCondParallelGw:Ke}=re;if(!_e||!o.taskId||!l.operateTaskNode)return;const ze=Ke?Array.isArray(Ie)?Ie:[]:Ie?[Ie]:[],se=Ne.filter(J=>ze.includes(J.id));if(se.length===0)return;re.visible=!1;const U=Ke?"skip_cpg":"skip_exg",I={};Ke?(I.flow_ids=se.map(J=>J.id),I.converge_gateway_id=se[0].converge_gateway_id):I.flow_id=se[0].id;try{await l.operateTaskNode({task_id:o.taskId,node_id:_e,action:"gatewaySkip",operation:U,data:I}),await qe()}catch(J){console.error(J)}finally{Qe()}}function xe(_e){if(_e==="resume")return{data:{}}}async function ot(_e){if(!(!o.taskId||!l.operateTaskNode))try{await l.operateTaskNode({task_id:o.taskId,node_id:_e.nodeId,action:_e.action,data:xe(_e.action)}),await qe()}catch(Ne){console.error(Ne)}}const de=()=>{o.onBack?o.onBack():a("back")},le=_e=>{m.value=_e.nodeId},be=_e=>{te(_e)},tt=()=>{de()},ut=()=>{!o.taskId||!l.revokeFlowTask||eo.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"}),G()}catch(_e){console.error(_e)}}})},ft=()=>{const _e=x.value;if(_e.length<1)return;const Ne=_e[g.value%_e.length];g.value+=1,m.value=Ne,ne(Ne)},st=_e=>{m.value=_e,ne(_e)};return e.onMounted(()=>{Q(),G()}),e.onBeforeUnmount(()=>{z()}),(_e,Ne)=>{const Ie=e.resolveComponent("bk-button"),Ke=e.resolveComponent("bk-option"),ze=e.resolveComponent("bk-select"),se=e.resolveComponent("bk-dialog"),U=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(qi,{title:"模拟调试",desc:i.value?.name,"show-back-icon":!0,onBack:de},{header:e.withCtx(()=>[e.renderSlot(_e.$slots,"header",{},void 0,!0)]),extend:e.withCtx(()=>[i.value?(e.openBlock(),e.createElementBlock("div",Fce,[e.createVNode(Xd,{"flow-data":i.value,editable:!1,"enable-simulate-debug":!1,"simulate-debug-only":!0},null,8,["flow-data"]),e.createElementVNode("div",zce,[e.createVNode(Cue,{class:"mock-debug-status__icon",size:14,width:20,"dot-size":4}),Ne[3]||(Ne[3]=e.createElementVNode("span",{class:"mock-debug-status__label"},"调试中",-1))]),e.createElementVNode("div",jce,[e.createVNode(Ie,{onClick:tt},{default:e.withCtx(()=>[...Ne[4]||(Ne[4]=[e.createTextVNode("退出模拟调试",-1)])]),_:1})])])):e.createCommentVNode("",!0),e.renderSlot(_e.$slots,"extend",{},void 0,!0)]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",Hce,[!k.value&&_.value?(e.openBlock(),e.createBlock(ef,{key:0,ref_key:"canvasRef",ref:r,"pipeline-tree":_.value,mode:"view","default-zoom":o.defaultZoom,"additional-plugins":A.value,onNodeClick:le,onUiEvent:be},null,8,["pipeline-tree","default-zoom","additional-plugins"])):e.createCommentVNode("",!0),e.createVNode(ex,{visible:e.unref(ae).visible,"node-id":e.unref(ae).nodeId,actions:e.unref(ae).actions,position:e.unref(ae).position,onPopoverEnter:e.unref(K),onPopoverLeave:e.unref(me),onAction:pe},null,8,["visible","node-id","actions","position","onPopoverEnter","onPopoverLeave"]),e.createVNode(se,{isShow:re.visible,"onUpdate:isShow":Ne[1]||(Ne[1]=I=>re.visible=I),"dialog-type":"operation",width:600,"esc-close":!1,"quick-close":!1,"header-align":"left",title:"请选择执行分支",onConfirm:Te,onClosed:Qe},{default:e.withCtx(()=>[e.createElementVNode("div",Uce,[e.createElementVNode("div",Gce,[Ne[5]||(Ne[5]=e.createElementVNode("label",{class:"gateway-select-dialog__label"},"可选执行分支",-1)),e.createVNode(ze,{modelValue:re.selectedBranch,"onUpdate:modelValue":Ne[0]||(Ne[0]=I=>re.selectedBranch=I),class:"gateway-select-dialog__select",multiple:re.isCondParallelGw,"display-tag":re.isCondParallelGw,clearable:!1},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(re.branches,I=>(e.openBlock(),e.createBlock(Ke,{key:I.id,id:I.id,name:I.name},null,8,["id","name"]))),128))]),_:1},8,["modelValue","multiple","display-tag"])])])]),_:1},8,["isShow"]),!k.value&&i.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(Bue,{status:c.value,"started-at":f.value,elapsed:d.value,"failed-count":x.value.length,onStop:ut,onLocateFailed:ft},null,8,["status","started-at","elapsed","failed-count"]),e.createVNode(Rce,{open:h.value,"task-id":o.taskId,nodes:E.value,"active-node-id":m.value,"active-node-version":S.value,"active-node-component":V.value,"onUpdate:open":Ne[2]||(Ne[2]=I=>h.value=I),"onUpdate:activeNodeId":st},null,8,["open","task-id","nodes","active-node-id","active-node-version","active-node-component"])],64)):e.createCommentVNode("",!0)])),[[U,{loading:k.value,zIndex:100}]])]),_:3},8,["desc"])}}}),ux=He(Yce,[["__scopeId","data-v-7ab3f135"]]),qce=Object.freeze(Object.defineProperty({__proto__:null,default:ux},Symbol.toStringTag,{value:"Module"})),Qce={waiting:"running",paused:"suspended"},$ce=new Set(["not_run","running","suspended","finished","failed","skipped","revoked"]);function ga(t){const n=Qce[t];return n||($ce.has(t)?t:"not_run")}function cx(t){return t==="failed"||t==="revoked"}function r1(t){return t==="finished"||cx(t)}function Cc(t){if(!t)return null;const n=t.nodes.filter(a=>ga(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 Kce={running:"RUNNING",suspended:"SUSPENDED",finished:"FINISHED",failed:"FAILED",skipped:"SKIP",revoked:"REVOKED"};function Zce(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=>ga(a.status)!=="not_run");return o.length===1?o[0].node_id:null}const Xce={global:"全流程",step:"单节点"};function Jce(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 ede(t,n={}){const o={},a=new Set;let l=0;const r=[];let i=0,s;const c=n.existingNodeIds,f=t?.nodes??[],d=t?.status??"idle",v=Jce(t),h=n.runStatusOverride??v.runStatus,m=n.runTypeOverride??v.runType,g=m==="step"?Zce(t,n):null;for(const A of f){if(c&&!c.has(A.node_id))continue;A.execution_mode==="mock"&&a.add(A.node_id);const _=ga(A.status);if(_!=="not_run"){const b=Kce[_];if(b){const C=A.selected_flow_ids?.filter(Boolean);o[A.node_id]={status:b,...C&&C.length>0?{selectedFlowIds:C}:{}}}}!(m!=="step"||A.node_id===g)||_==="not_run"||(l+=1,_==="failed"&&r.push(A.node_id),_==="revoked"&&(i+=1),typeof A.duration_ms=="number"&&Number.isFinite(A.duration_ms)&&m==="step"&&(s=A.duration_ms))}m==="step"&&d!=="idle"&&(l=1);let k;i>0?k="revoked":r.length>0?k="failed":d==="idle"&&n.resultStateOverride==="none"?k="none":l>0?k="success":h==="revoked"?k="revoked":k="none";const y={active:d!=="idle",status:d,operator:t?.locked_by??"",nodeCount:l,failedNodeIds:r,errorNodeCount:r.length,hasRecord:d!=="idle"||k!=="none",resultState:k,runType:m,typeLabel:m?Xce[m]:void 0,runStatus:h,startedAt:void 0,durationMs:s};return{nodeStates:o,mockNodeIds:a,summary:y}}function tde(t){return t.httpStatus===409||t.code==="409"?!0:/正在被|已被锁定|locked/i.test(t.message)}function s1(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 nde(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 ode(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=(v=0)=>{r(),a=Math.max(0,v),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},d=async(v,h={})=>{const m=t.getFlowTaskDetail;if(typeof m=="function")try{const g=await m({task_id:v}),k=nde(g);return k==null?void 0:(h.continueTimer?s(k):(r(),o=null,a=k,n.value=k),k)}catch{return}};return e.getCurrentScope()&&e.onScopeDispose(f),{durationMs:n,startLocal:s,freezeLocal:c,clear:f,restoreFromTask:d}}const ade=2500,lde=5e3;function i1(t){return t==="running"?"running":t==="failed"?"failed":t==="revoked"?"revoked":"finished"}function Fl(t,n){const o=t[n];if(typeof o!="function")throw new Error(`FlowDetail debug API "${String(n)}" is not configured`);return o}const rde=["fetchDebugContext","fetchDebugInputSchema","fetchDebugResetImpact","updateNodeDebugMock","runNodeDebugStep","runGlobalDebug","terminateDebug","resetDebugResult"];function sde(t){const n=rde.filter(o=>typeof t[o]!="function");if(n.length>0)throw new Error(`FlowDetail debug API is incomplete: ${n.join(", ")}`)}function ide(t){const n=t.pollInterval??ade,o=t.retryInterval??lde,a=e.shallowRef(null),l=e.ref(null),r=e.shallowRef(null),i=ode({getFlowTaskDetail:t.api.getFlowTaskDetail});let s=!1,c=null;const f=$=>{if(!$)return{runType:null,taskId:null,active:!1};const K=$.status==="running"||$.status==="terminating";return{runType:K?$.active_run_type:$.last_run_type,taskId:K?$.active_task_id:$.last_task_id,active:K}},d=($,K)=>{const me=f($),te=f(K);if(!(te.runType!=="global"||te.taskId==null)){if(te.active){(!s||c!==te.taskId)&&(s=!0,c=te.taskId,i.durationMs.value==null&&i.restoreFromTask(te.taskId,{continueTimer:!0}).then(re=>{re==null&&c===te.taskId&&s&&i.startLocal(0)}));return}if(me.active&&me.runType==="global"){i.freezeLocal(),s=!1,c=te.taskId;return}i.durationMs.value==null&&c!==te.taskId&&(c=te.taskId,i.restoreFromTask(te.taskId))}},v=e.computed(()=>{const $=ede(a.value,{resultStateOverride:l.value,runTypeOverride:r.value?.runType,runStatusOverride:r.value?.runStatus,nodeIdOverride:r.value?.nodeId,existingNodeIds:t.existingNodeIds?.()??null}),{runType:K}=f(a.value);return(r.value?.runType??K)==="global"&&i.durationMs.value!=null?{...$,summary:{...$.summary,durationMs:i.durationMs.value}}:$}),h=e.ref(!1),m=e.ref(!1),g=e.ref(""),k=e.ref(""),y=e.ref(!1),A=e.ref(!1),_=e.computed(()=>m.value||!!g.value||!!k.value||y.value||A.value),w=e.ref("");let b=null,C=0,E=0;function x(){b!==null&&(clearTimeout(b),b=null)}function S(){x(),C+=1,E+=1,a.value=null,w.value="",m.value=!1,g.value="",k.value="",y.value=!1,A.value=!1,l.value=null,r.value=null,i.clear(),s=!1,c=null}function V($,K){x(),t.enabled()&&($==="running"||$==="terminating")&&(b=setTimeout(()=>{N()},K?n:o))}async function N(){if(!t.enabled())return a.value;const $=++C,K=String(t.templateId());try{const te=await Fl(t.api,"fetchDebugContext")(t.templateId());if($!==C||K!==String(t.templateId()))return a.value;const re=a.value;return a.value=te,(te.status==="running"||te.status==="terminating")&&(l.value=null,r.value=null),d(re,te),w.value="",V(te.status,!0),te}catch(me){return $!==C||K!==String(t.templateId())||(w.value=pt.normalizeApiError(me).message,V(a.value?.status??"idle",!1)),a.value}}async function T($){const K=pt.normalizeApiError($);if(tde(K))return t.onMessage?.("warning",K.message),await N(),!1;throw t.onMessage?.("error",K.message),K}async function z(){if(t.enabled()){h.value=!0;try{sde(t.api),await N()}catch($){w.value=pt.normalizeApiError($).message}finally{h.value=!1}}}async function j(){if(!t.enabled())return{};try{return await Fl(t.api,"fetchDebugInputSchema")(t.templateId())}catch($){return await T($),{}}}const R=()=>({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:[]}),L=($,K)=>{const me=a.value??R(),te=me.nodes.findIndex(ue=>ue.node_id===$),re=[...me.nodes];te>=0?re[te]={...re[te],...K}:re.push({node_id:$,node_type:"",execution_mode:"real",status:"not_run",can_step:!0,missing_vars:[],...K}),a.value={...me,nodes:re}},F=()=>({epoch:E,templateId:String(t.templateId())}),O=$=>$.epoch===E&&$.templateId===String(t.templateId());async function P($){if(!t.enabled())return!1;const K=F();m.value=!0;try{const te=await Fl(t.api,"runGlobalDebug")({templateId:t.templateId(),inputs:$});if(!O(K))return!1;l.value=null,r.value=null;const re=a.value??R();return a.value={...re,status:te.status==="terminating"?"terminating":"running",active_task_id:te.task_id,active_run_type:"global",active_node_id:null,last_task_id:te.task_id,last_run_type:"global",last_run_status:"running",last_inputs:{...$},nodes:s1(re.nodes)},i.startLocal(0),s=!0,c=te.task_id,V(a.value.status,!0),await N(),!0}catch(me){if(!O(K))return!1;l.value=null,r.value=null,i.clear(),s=!1,c=null,a.value&&(a.value={...a.value,nodes:s1(a.value.nodes)});try{await N()}catch(te){console.error(te)}return O(K)?await T(me):!1}finally{O(K)&&(m.value=!1)}}async function M($){if(!t.enabled())return!1;const K=F();g.value=$.nodeId;try{const te=await Fl(t.api,"runNodeDebugStep")({templateId:t.templateId(),...$});if(!O(K))return!1;l.value=null,L($.nodeId,{execution_mode:$.mode,status:te.status,outputs:te.outputs,selected_flow_ids:te.selected_flow_ids,condition_results:te.condition_results,error_detail:te.error_detail??null,duration_ms:null,log_ref:te.log_ref,...$.mode==="mock"?{mock_outputs:$.mockOutputs,mock_error:$.mockError??null}:{}});const re=ga(te.status);if(a.value){const ue=typeof te.task_id=="number"||typeof te.task_id=="string"?te.task_id:null;re==="running"?(a.value={...a.value,status:"running",active_task_id:ue,active_run_type:"step",active_node_id:$.nodeId,last_task_id:ue??a.value.last_task_id,last_run_type:"step",last_run_status:"running",global_vars:te.updated_global_vars??a.value.global_vars},V("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:i1(re),global_vars:te.updated_global_vars??a.value.global_vars}}return await N(),O(K)&&(r.value={runType:"step",runStatus:i1(re),nodeId:$.nodeId}),!0}catch(me){return O(K)?await T(me):!1}finally{O(K)&&(g.value="")}}async function H($){if(!t.enabled())return!1;const K=F();k.value=$.nodeId;try{const te=await Fl(t.api,"updateNodeDebugMock")({templateId:t.templateId(),...$});return O(K)?(L($.nodeId,{execution_mode:te.execution_mode,...$.enable?{mock_result:$.mockResult??"success",mock_outputs:$.mockOutputs,mock_error:$.mockError??null}:{mock_result:null,mock_outputs:null,mock_error:null}}),a.value&&te.updated_global_vars&&(a.value={...a.value,global_vars:te.updated_global_vars}),await N(),!0):!1}catch(me){return O(K)?await T(me):!1}finally{O(K)&&(k.value="")}}async function W($){return!t.enabled()||!await H({nodeId:$.nodeId,enable:!0,mockResult:$.mockResult,mockOutputs:$.mockOutputs,mockError:$.mockError})?!1:M({...$,mode:"mock"})}async function X($){return H({nodeId:$,enable:!1})}function G($){!a.value||$.size===0||(a.value={...a.value,nodes:a.value.nodes.map(K=>$.has(K.node_id)?{...K,status:"not_run",duration_ms:null,error_detail:null,outputs:null,selected_flow_ids:[],condition_results:[],log_ref:null}:K)})}function Q(){const $=(a.value?.nodes??[]).some(K=>K.status!=="not_run");l.value=$?null:"none",r.value=null,$||(i.clear(),s=!1,c=null)}async function ne($){if(!t.enabled())return!1;const K=F();y.value=!0;try{const te=await Fl(t.api,"terminateDebug")({templateId:t.templateId(),nodeId:$});return!O(K)||(te.status==="terminating"&&a.value&&(a.value={...a.value,status:"terminating"},V("terminating",!0)),$&&G(new Set(te.reset_node_ids??[$])),await N(),!O(K))?!1:($&&Q(),!0)}catch(me){return O(K)?await T(me):!1}finally{O(K)&&(y.value=!1)}}async function ae($){if(!t.enabled())return null;const K=F();A.value=!0;try{const te=await Fl(t.api,"resetDebugResult")({templateId:t.templateId(),nodeIds:$});if(!O(K))return null;const re=new Set(te.reset_node_ids??$??a.value?.nodes.map(ue=>ue.node_id)??[]);return G(re),await N(),O(K)?(re.size>0&&Q(),te):null}catch(me){return O(K)&&await T(me),null}finally{O(K)&&(A.value=!1)}}return e.getCurrentScope()&&e.onScopeDispose(S),{context:a,canvasState:v,initializing:h,globalRunPending:m,stepRunPendingNodeId:g,mockSavePendingNodeId:k,terminatePending:y,resetPending:A,actionPending:_,contextSyncError:w,initialize:z,refresh:N,fetchInputSchema:j,runGlobal:P,runStep:M,saveMock:H,runMock:W,cancelMock:X,terminate:ne,reset:ae,resetState:S,stopPolling:x}}const ude=1e3;function dx(t){if(t==null||!Number.isFinite(t))return"--";const n=Math.max(0,Math.floor(t/ude)),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 sa={realBlocked:"部分必填入参未填写,无法调试",realWhileMock:"当前使用 Mock 输出,请先取消 Mock,才可以调试",realWhileSkipDebug:"当前已跳过调试,请先取消跳过调试,才可以调试",realWhileDebugging:"当前流程正在调试中,无法调试",mockCreateWhileDebugging:"调试中,无法新建 Mock 输出",mockEditWhileDebugging:"当前流程正在调试中,无法编辑 Mock 输出",mockCancelWhileDebugging:"当前流程正在调试中,无法取消 Mock",skipDebugCancelWhileDebugging:"当前流程正在调试中,无法取消跳过调试"};function cde(t){const n=!!t.terminatePending,o=t.isFlowDebugging,a=t.isActiveStep,l=!!(t.systemOnlyOutputs&&t.isMock),r=dde(t,a,o,n,l),i=t.isMock?"编辑 Mock 输出":"新建 Mock 输出",s=o,c=s?t.isMock?sa.mockEditWhileDebugging:sa.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?sa.skipDebugCancelWhileDebugging:sa.mockCancelWhileDebugging:""},viewResult:{visible:l?!1:t.hasResult||t.isMock||t.isActiveStep}}}function dde(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?sa.realWhileSkipDebug:sa.realWhileMock}:o?{kind:"runReal",label:r,disabled:!0,tooltip:sa.realWhileDebugging}:t.realBlocked?{kind:"runReal",label:r,disabled:!0,tooltip:sa.realBlocked}:{kind:"runReal",label:r,disabled:!1,tooltip:""}}const fde="重新调试";function pde(t,n){if(n.status!=="idle"||n.runType!=="step"||n.failedNodeIds.length!==1||!t)return null;const o=t.nodes;if(o.some(r=>ga(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:sa.realWhileMock}:{nodeId:a,disabled:!1,tooltip:fde}}const mde={class:"debug-trigger"},vde=["disabled","title"],gde={key:1,class:"debug-trigger__running-dots","aria-label":"调试中"},hde={class:"debug-trigger__label"},bde={key:0,class:"debug-summary-card","data-test":"debug-summary"},yde={class:"summary-row"},kde={class:"summary-value summary-value--num"},wde={key:0,class:"summary-row"},Cde={class:"summary-value","data-test":"debug-node-count"},Ade={class:"summary-value--num"},Ede={key:1,class:"summary-row"},xde={class:"summary-value","data-test":"failed-node-count"},_de=["tabindex","onKeydown"],Bde=["onKeydown"],Sde={key:2,class:"summary-actions"},Vde={key:3,class:"summary-actions"},Nde=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(X=>ga(X.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 X=o.context;return X?i.value==="running"||i.value==="terminating"?(X.active_run_type??X.last_run_type)==="global":o.summary.runType==="global":!1}),d=e.computed(()=>c.value==="failed"),v=e.computed(()=>i.value==="idle"&&c.value==="revoked"),h=e.computed(()=>i.value==="idle"&&c.value==="success"&&!o.syncError),m=e.computed(()=>i.value==="idle"&&!s.value),g=e.computed(()=>o.syncError||i.value!=="idle"||!s.value?null:v.value?{text:"调试终止",tone:"revoked"}:d.value?{text:"失败",tone:"failed"}:{text:"成功",tone:"success"}),k=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":h.value,"is-failed":i.value==="idle"&&d.value,"is-revoked":v.value})),A=e.computed(()=>y.value),_=e.computed(()=>o.syncError?"bkflow-canvas-circle-alert-filled":i.value==="terminating"?"bkflow-canvas-loading":"bkflow-canvas-debug"),w=e.computed(()=>i.value==="running"||i.value==="terminating"?"bkflow-canvas-loading":v.value?"bkflow-canvas-stop-2":d.value?"bkflow-canvas-close-circle":h.value?"bkflow-canvas-check-circle":"bkflow-canvas-debug"),b=e.computed(()=>f.value?"全局":"单步"),C=e.computed(()=>i.value==="running"?"调试中":i.value==="terminating"?"终止中":s.value?v.value?`${b.value}调试终止`:d.value?`${b.value}调试失败`:`${b.value}调试成功`:"调试"),E=e.computed(()=>o.summary.active||s.value),x=e.computed(()=>i.value==="running"||i.value==="terminating"),S=e.computed(()=>i.value==="terminating"||o.terminatePending),V=e.computed(()=>i.value==="idle"&&s.value),N=e.computed(()=>f.value?"重新调试":"全局调试"),T=e.computed(()=>f.value?"debug-restart":"debug-global-entry"),z=e.computed(()=>o.summary.active||s.value),j=e.computed(()=>f.value?o.summary.nodeCount:1),R=e.computed(()=>o.summary.errorNodeCount>0),L=e.computed(()=>o.syncError?null:pde(o.context,o.summary)),F=e.computed(()=>dx(o.summary.durationMs)),O=()=>{if(!o.initializing){if(m.value){a("start");return}a("openResult")}},P=()=>{S.value||a("terminate")},M=()=>{a("start")},H=()=>{o.summary.errorNodeCount<1||a("locateFailed")},W=()=>{const X=L.value;!X||X.disabled||a("retryStep",X.nodeId)};return(X,G)=>{const Q=e.resolveComponent("bk-button"),ne=e.resolveDirective("bk-tooltips");return e.openBlock(),e.createElementBlock("div",mde,[e.createElementVNode("button",{type:"button","data-test":"debug-trigger",class:e.normalizeClass(["debug-trigger__button",A.value]),disabled:o.initializing,title:o.syncError||"",onClick:O},[g.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["debug-trigger__badge",`is-${g.value.tone}`])},e.toDisplayString(g.value.text),3)):i.value==="running"?(e.openBlock(),e.createElementBlock("span",gde,[...G[0]||(G[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",_.value,"debug-trigger__icon"])},null,2)),e.createElementVNode("span",hde,e.toDisplayString(k.value),1)],10,vde),E.value?(e.openBlock(),e.createElementBlock("div",bde,[e.createElementVNode("div",{class:e.normalizeClass(["summary-title",y.value]),"data-test":"summary-title"},[e.createElementVNode("i",{class:e.normalizeClass(["bkflow-canvas-icon",w.value,"summary-title__icon"])},null,2),e.createElementVNode("span",null,e.toDisplayString(C.value),1)],2),e.createElementVNode("div",yde,[G[1]||(G[1]=e.createElementVNode("span",{class:"summary-label"},"调试用时",-1)),e.createElementVNode("span",kde,e.toDisplayString(F.value),1)]),z.value?(e.openBlock(),e.createElementBlock("div",wde,[G[3]||(G[3]=e.createElementVNode("span",{class:"summary-label"},"调试节点",-1)),e.createElementVNode("span",Cde,[e.createElementVNode("span",Ade,e.toDisplayString(j.value),1),G[2]||(G[2]=e.createTextVNode(" 个 ",-1))])])):e.createCommentVNode("",!0),R.value?(e.openBlock(),e.createElementBlock("div",Ede,[G[5]||(G[5]=e.createElementVNode("span",{class:"summary-label"},"失败节点",-1)),e.createElementVNode("span",xde,[L.value?e.withDirectives((e.openBlock(),e.createElementBlock("i",{key:0,class:e.normalizeClass(["bkflow-canvas-icon","bkflow-canvas-refresh","summary-value--retry",{"is-disabled":L.value.disabled}]),"data-test":"debug-step-retry",role:"button",tabindex:L.value.disabled?-1:0,onClick:e.withModifiers(W,["stop"]),onKeydown:e.withKeys(e.withModifiers(W,["prevent"]),["enter","space"])},null,42,_de)),[[ne,L.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(H,["stop"]),onKeydown:e.withKeys(e.withModifiers(H,["prevent"]),["enter","space"])},[e.createTextVNode(e.toDisplayString(t.summary.errorNodeCount),1)],40,Bde)),[[ne,"定位错误"]]),G[4]||(G[4]=e.createTextVNode(" 个 ",-1))])])):e.createCommentVNode("",!0),x.value?(e.openBlock(),e.createElementBlock("div",Sde,[e.createVNode(Q,{"data-test":"debug-terminate",outline:"",theme:"primary",size:"small",disabled:S.value,onClick:P},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.value==="terminating"||t.terminatePending?"终止中...":"终止调试"),1)]),_:1},8,["disabled"])])):e.createCommentVNode("",!0),V.value?(e.openBlock(),e.createElementBlock("div",Vde,[e.createVNode(Q,{"data-test":T.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)])}}}),Tde=He(Nde,[["__scopeId","data-v-10d7e32f"]]),Dde={class:"node-debug-config","data-test":"node-debug-config"},Ide={class:"node-debug-config__section"},Ode={class:"node-debug-config__params","data-test":"input-params"},Mde={key:0},Pde={class:"node-debug-config__error",colspan:"2"},Lde={key:1},Rde=["title"],Fde={class:"col-value"},zde={key:0,class:"node-debug-config__missing-value","data-test":"missing-value"},jde={key:2,class:"node-debug-config__value"},Hde={class:"node-debug-config__jump-candidates"},Ude=["onClick"],Gde={key:0,class:"node-debug-config__reason","data-test":"missing-reason"},Wde={class:"node-debug-config__actions"},Yde=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:d}=eh({component:()=>o.node?.component}),v=e.computed(()=>!r.value||l.value.length>0),h=e.computed(()=>gv(d.value.outputs)),m=e.computed(()=>cde({realBlocked:v.value,isMock:i.value,isActiveStep:o.isActiveStep,isFlowDebugging:o.isFlowDebugging,hasResult:o.hasResult,terminatePending:o.terminatePending,systemOnlyOutputs:h.value})),g=w=>w==null?"":typeof w=="object"?JSON.stringify(w,null,2):String(w),k=(w,b)=>{if(!b)return!1;try{return JSON.stringify(w??"").includes(b)}catch{return!1}},y=e.computed(()=>{const w=o.node?.component?.data??{};return f.value.filter(({key:b})=>Object.prototype.hasOwnProperty.call(w,b)).map(({key:b,name:C})=>{const x=w[b]?.value,S=l.value.filter(N=>k(x,N.key)),V=R4(S.filter(N=>!!N.source_node_id),"source_node_id");return{key:b,name:C,rawValue:x,display:g(x),isComplex:rf(x),missing:S,jumpCandidates:V}})}),A=w=>w?o.nodeNameMap[w]||w:"",_=w=>{w&&a("jumpToSourceNode",w)};return(w,b)=>{const C=e.resolveComponent("bk-button"),E=e.resolveComponent("bk-popover"),x=e.resolveDirective("bkloading"),S=e.resolveDirective("bk-tooltips");return e.openBlock(),e.createElementBlock("div",Dde,[e.withDirectives((e.openBlock(),e.createElementBlock("div",Ide,[b[10]||(b[10]=e.createElementVNode("div",{class:"node-debug-config__section-title"},"输入参数",-1)),e.createElementVNode("table",Ode,[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",Mde,[e.createElementVNode("td",Pde,e.toDisplayString(e.unref(c)),1)])):!e.unref(s)&&y.value.length===0?(e.openBlock(),e.createElementBlock("tr",Lde,[...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,V=>(e.openBlock(),e.createElementBlock("tr",{key:V.key,"data-test":"input-row"},[e.createElementVNode("td",{class:"col-name",title:V.key},e.toDisplayString(V.name),9,Rde),e.createElementVNode("td",Fde,[V.missing.length>0?(e.openBlock(),e.createElementBlock("div",zde,[...b[6]||(b[6]=[e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-circle-alert-filled"},null,-1),e.createElementVNode("span",null,"暂无参数值",-1)])])):V.isComplex?(e.openBlock(),e.createBlock(xd,{key:1,value:V.rawValue,"data-test":"json-viewer"},null,8,["value"])):(e.openBlock(),e.createElementBlock("pre",jde,e.toDisplayString(V.display),1)),V.jumpCandidates.length===1?(e.openBlock(),e.createBlock(C,{key:3,text:"",theme:"primary",size:"small","data-test":"jump-source",onClick:N=>_(V.jumpCandidates[0].source_node_id)},{default:e.withCtx(()=>[...b[7]||(b[7]=[e.createTextVNode(" 跳转至输出节点 ",-1)])]),_:1},8,["onClick"])):V.jumpCandidates.length>1?(e.openBlock(),e.createBlock(E,{key:4,trigger:"click",theme:"light",placement:"bottom-start"},{content:e.withCtx(()=>[e.createElementVNode("div",Hde,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(V.jumpCandidates,N=>(e.openBlock(),e.createElementBlock("div",{key:N.source_node_id,class:"node-debug-config__jump-candidate","data-test":"jump-candidate",onClick:T=>_(N.source_node_id)},e.toDisplayString(A(N.source_node_id)),9,Ude))),128))])]),default:e.withCtx(()=>[e.createVNode(C,{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))])])])),[[x,{loading:e.unref(s)}]]),v.value&&l.value.length>0?(e.openBlock(),e.createElementBlock("div",Gde,e.toDisplayString(e.unref(sa).realBlocked),1)):e.createCommentVNode("",!0),e.createElementVNode("div",Wde,[m.value.primary.kind==="terminate"?(e.openBlock(),e.createBlock(C,{key:0,outline:"",theme:"danger","data-test":"terminate-step",loading:o.terminatePending,disabled:m.value.primary.disabled,onClick:b[0]||(b[0]=V=>a("terminate"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value.primary.label),1)]),_:1},8,["loading","disabled"])):e.withDirectives((e.openBlock(),e.createBlock(C,{key:1,theme:"primary","data-test":"run-real",disabled:m.value.primary.disabled,loading:o.pendingAction==="real",onClick:b[1]||(b[1]=V=>a("runReal"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value.primary.label),1)]),_:1},8,["disabled","loading"])),[[S,{content:m.value.primary.tooltip,disabled:!m.value.primary.disabled}]]),m.value.mock.visible?e.withDirectives((e.openBlock(),e.createBlock(C,{key:2,outline:"",theme:"primary","data-test":"open-mock",disabled:m.value.mock.disabled,loading:o.pendingAction==="mock",onClick:b[2]||(b[2]=V=>a("runMock"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value.mock.label),1)]),_:1},8,["disabled","loading"])),[[S,{content:m.value.mock.tooltip,disabled:!m.value.mock.disabled}]]):e.createCommentVNode("",!0),m.value.cancelMock.visible?e.withDirectives((e.openBlock(),e.createBlock(C,{key:3,"data-test":"cancel-mock",disabled:m.value.cancelMock.disabled,loading:o.pendingAction==="cancel-mock",onClick:b[3]||(b[3]=V=>a("cancelMock"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value.cancelMock.label),1)]),_:1},8,["disabled","loading"])),[[S,{content:m.value.cancelMock.tooltip,disabled:!m.value.cancelMock.disabled}]]):e.createCommentVNode("",!0),m.value.viewResult.visible?(e.openBlock(),e.createBlock(C,{key:4,text:"",theme:"primary","data-test":"view-result",class:"node-debug-config__view-result",onClick:b[4]||(b[4]=V=>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)])])}}}),qde=He(Yde,[["__scopeId","data-v-1d567a44"]]),Qde=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 $de(t){if(!t)return[];const n=Qde(t),o=new Set(n),a=new Map(n.map((m,g)=>[m,g])),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,g)=>{if(!o.has(m.source)||!o.has(m.target))return;const k=`${m.source}\0${m.target}`;s.has(k)||(s.add(k),r.get(m.source)?.push(m.target),i.has(m.target)||i.set(m.target,g))});const c=(m,g)=>{const k=(i.get(m)??Number.MAX_SAFE_INTEGER)-(i.get(g)??Number.MAX_SAFE_INTEGER);if(k!==0)return k;const y=l.get(m),A=l.get(g),_=(y?.x??Number.MAX_SAFE_INTEGER)-(A?.x??Number.MAX_SAFE_INTEGER);if(_!==0)return _;const w=(y?.y??Number.MAX_SAFE_INTEGER)-(A?.y??Number.MAX_SAFE_INTEGER);return w!==0?w:(a.get(m)??0)-(a.get(g)??0)},f=new Set,d=t.start_event?.id;if(d&&o.has(d)){const m=[d];for(f.add(d);m.length>0;){const g=m.shift();(r.get(g)??[]).forEach(k=>{f.has(k)||(f.add(k),m.push(k))})}}const v=m=>{if(m.size===0)return[];const g=new Map([...m].map(_=>[_,0]));m.forEach(_=>{(r.get(_)??[]).forEach(w=>{m.has(w)&&g.set(w,(g.get(w)??0)+1)})});const k=[...m].filter(_=>g.get(_)===0).sort(c),y=[];for(;k.length>0;){const _=k.shift();y.push(_),(r.get(_)??[]).forEach(w=>{if(!m.has(w))return;const b=(g.get(w)??0)-1;g.set(w,b),b===0&&(k.push(w),k.sort(c))})}const A=new Set(y);return[...y,...[...m].filter(_=>!A.has(_)).sort(c)]},h=new Set(n.filter(m=>!f.has(m)));return[...v(f),...v(h)]}const Kde={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"},rm={ServiceActivity:"任务节点",EmptyStartEvent:"开始节点",EmptyEndEvent:"结束节点",ExclusiveGateway:"分支网关",ParallelGateway:"并行网关",ConditionalParallelGateway:"条件并行网关",ConvergeGateway:"汇聚网关"},Zde=t=>!t||t.includes("bkflow-canvas-icon")?t:`bkflow-canvas-icon ${t}`;function Xde(t){if(!t.component?.code)return"";if(t.component.code==="uniform_api"){const n=t.component.api_meta?.category?.name??"";return pt.PLUGGIN_GROUP_FONT_CLASS_MAP[n]??pt.PLUGGIN_GROUP_FONT_CLASS_MAP.bkflow}return pt.PLUGGIN_GROUP_FONT_CLASS_MAP.bkflow}function Jde(t,n){const o=t?.location?.find(i=>i.id===n),a=Zde(o?.icon??""),l=t?.activities?.[n];if(l)return{name:!!l.component?.code?l.name||o?.name||n:"节点未配置",type:l.type||"ServiceActivity",typeName:rm[l.type]??"任务节点",icon:Xde(l)};const r=t?.gateways?.[n];return r?{name:r.name||o?.name||rm[r.type]||n,type:r.type,typeName:rm[r.type]??"网关",icon:a||Kde[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 Yc(t){return t?$de(t).filter(n=>!!(t.activities?.[n]||t.gateways?.[n])):[]}function efe(t,n,o=new Set){if(!t)return[];const a=new Map((n??[]).map(l=>[l.node_id,ga(l.status)]));return Yc(t).map(l=>{const r=t.activities?.[l],i=r?!!r.component?.code:!0,s=Jde(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 tfe(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 u1(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 c1=t=>typeof t=="string"?t:t instanceof Error?t.message:"加载调试结果失败";function nfe(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),d=new Map,v=new Map;let h=0,m=0;const g=_=>{s.value=_.inputs,c.value=_.outputs,n.value=!1,a.value="",l.value=""},k=()=>{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 _=t.context(),w=t.nodeId(),b=++h;if(!_||!w){k();return}const C=_.nodes.find(O=>O.node_id===w),E=C?ga(C.status):"not_run";i.value={status:E,durationMs:C?.duration_ms??void 0,errorDetail:C?.error_detail};const x=t.fallbackInputs?.()??{},S=tfe(C),V=C?.mock_error??(typeof C?.error_detail=="string"?C.error_detail:"");if(!C?.log_ref){s.value=x,c.value=S,f.value=void 0,a.value=V,l.value="",r.value="",o.value=!1,n.value=!1;return}const T=u1(_,w),z=t.componentCode?.(),j=`${_.template_id}_${T.taskId??""}_${T.taskNodeId}_${T.version}_${z??""}`,R=r1(E),L=R?d.get(j):void 0;if(L){g(L);return}const F=t.api.fetchTaskNodeDetail;if(!F){s.value=x,c.value=S,n.value=!1;const O="节点详情接口未配置(fetchTaskNodeDetail)";a.value=V,l.value=O;return}n.value=!0,a.value=V,c.value=S,l.value="";try{const O=await F({task_id:T.taskId,node_id:T.taskNodeId,...z?{component_code:z}:{}});if(b!==h)return;const P=Yo(O);s.value=Yo(P?.inputs)??{};const M=P?.outputs??{};c.value=Pue(M)?S:M,R&&d.set(j,{inputs:s.value,outputs:c.value})}catch(O){if(b!==h)return;s.value=x,c.value=S,l.value=`节点详情加载失败:${c1(O)}`}finally{b===h&&(n.value=!1)}},A=async()=>{const _=++m;if(!t.logsActive?.()){o.value=!1;return}const w=t.context(),b=t.nodeId(),C=w?.nodes.find(T=>T.node_id===b);if(!w||!b||!C?.log_ref){f.value=void 0,r.value="",o.value=!1;return}const E=u1(w,b),x=`${w.template_id}_${E.taskId??""}_${E.taskNodeId}_${E.version}`,S=ga(C.status),V=r1(S);if(V&&v.has(x)){f.value=v.get(x),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 T=await N({task_id:E.taskId,node_id:E.taskNodeId,version:E.version});if(_!==m)return;f.value=T,V&&v.set(x,T)}catch(T){if(_!==m)return;f.value=void 0,r.value=`调用日志加载失败:${c1(T)}`}finally{_===m&&(o.value=!1)}};return e.watch(()=>[t.nodeId(),t.componentCode?.(),t.context()?.nodes,t.fallbackInputs?.()],()=>{y()},{immediate:!0}),e.watch(()=>{const _=t.context(),w=t.nodeId(),b=_?.nodes.find(C=>C.node_id===w)?.log_ref;return[t.logsActive?.()??!1,w,b?.instance_id,b?.node_id,b?.version]},()=>{A()},{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 ofe(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 afe(t){const{api:n}=t,o=e.shallowRef(null),a=e.shallowRef([]),l=e.shallowRef({}),r=e.shallowRef([]),i=e.computed(()=>pt.withSopsPluginGroup(r.value,{spaceConfig:l.value,api:n})),s=e.ref(!1),c=e.ref(!1),f=e.ref(!1),d=e.ref(!1),v=e.ref(!1),h=e.computed(()=>f.value||d.value||v.value),m=()=>t.flowId(),g=()=>t.enableVersion?.()??!1,k=()=>t.flowVersion?.();let y=0;async function A(V,N,T,z){f.value=!0;try{let j=await n.fetchFlowDetail(N);if(T)if(z){const R=await n.fetchFlowDetailByVersion(N,z);j={...j,name:R.name,pipeline_tree:R.pipeline_tree}}else{const R=await n.fetchFlowDraftDetail(N);j={...j,pipeline_tree:R.pipeline_tree}}V===y&&(o.value=j)}catch(j){console.error(j)}finally{V===y&&(f.value=!1)}}async function _(V,N){if(n.fetchSpaceFlowConfig){d.value=!0;try{const T=await n.fetchSpaceFlowConfig(N);V===y&&(l.value=T)}catch(T){console.error(T)}finally{V===y&&(d.value=!1)}}}async function w(V,N){if(n.fetchSystemVariables)try{const T=await n.fetchSystemVariables(N);V===y&&(a.value=T)}catch(T){console.error(T)}}async function b(V){if(!(!t.canEdit()||!n.fetchAllPluginGroups)){v.value=!0;try{const N=await n.fetchAllPluginGroups();V===y&&(r.value=N)}catch(N){console.error(N)}finally{V===y&&(v.value=!1)}}}async function C(){const V=++y,N=m(),T=g(),z=k();await Promise.all([A(V,N,T,z),_(V,N),w(V,N),b(V)])}function E(){y+=1,o.value=null,a.value=[],l.value={},r.value=[],s.value=!1,f.value=!1,d.value=!1,v.value=!1}function x(V){o.value&&(o.value={...o.value,pipeline_tree:V},s.value=!0)}async function S(V={}){if(!o.value||!n.saveFlow||c.value)return!1;const N=y,T=m(),z=o.value;if(V.validate&&!ml(z.pipeline_tree).valid)return!1;const{name:j,desc:R,notify_config:L,pipeline_tree:F,triggers:O}=z,P={name:j,desc:R,notify_config:L,pipeline_tree:F,triggers:O};c.value=!0;try{return await n.saveFlow(T,P),N!==y||T!==m()?!1:(o.value===z&&(s.value=!1),V.silent||(t.onSave?.(z),t.onSaveSuccess?.()),!0)}catch(M){return console.error(M),!1}finally{c.value=!1}}return{flowDetail:o,systemVariables:a,pluginGroupList:i,loading:h,isFlowEdited:s,savePending:c,load:C,reset:E,updatePipelineTree:x,save:S}}const lfe={key:0,class:"flow-detail-operate-area"},rfe={key:1,class:"flow-detail-operate-btns"},sfe={class:"flow-detail-canvas-wrapper"},ife=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:{},selectRelatedOptionConfig:{},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-CWm3PMFl.cjs"))),l=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./index-D-N3ZP2V.cjs"))),r=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./index-B33iq41Y.cjs"))),i=e.useSlots(),s=t,c=o,f=e.computed(()=>({canEdit:s.permissions?.canEdit??!1,canDebug:s.permissions?.canDebug??!1,canExecute:s.permissions?.canExecute??!1})),d="fetchFlowDetail"in s.apiConfig?s.apiConfig:{...s.apiConfig,enableThirdPlugin:s.enableThirdPlugin},v=Al(d);vv(s.selectPanelConfig||{}),ys(s.memberSelectorConfig),Bd(s.filterVariableConfig),Vd(s.selectRelatedOptionConfig),sr({},s.bkflowSaasUrl);const h=e.ref(),m=e.ref(),g=e.shallowRef(!1),k=Ee=>{c("createVariable",{keyword:Ee.keyword,cursorIndex:Ee.cursorIndex,defaultCustomType:Ee.defaultCustomType}),h.value?.openGlobalVariableCreate(Ee)};pt.provideVariableInputCreateVariable(k);const y=afe({flowId:()=>String(s.flowId),enableVersion:()=>s.enableVersion,flowVersion:()=>s.flowVersion,canEdit:()=>f.value.canEdit,api:v,onSave:s.onSave,onSaveSuccess:s.onSaveSuccess}),A=y.flowDetail;yv(Ee=>A.value?.pipeline_tree?.activities?.[Ee]?.component);const _=y.systemVariables,w=y.pluginGroupList,b=y.savePending,C=e.computed(()=>y.loading.value),E=e.computed(()=>{const Ee=A.value?.pipeline_tree;return Ee?new Set(Yc(Ee)):null}),x=ide({templateId:()=>String(s.flowId),enabled:()=>f.value.canDebug,api:v,onMessage:(Ee,at)=>Kt({theme:Ee,message:at,ellipsisLine:3}),existingNodeIds:()=>E.value}),S=e.ref(!1),V=e.ref(!1),N=e.ref(!1),T=e.ref(!1),z=e.ref(null),j=e.computed(()=>N.value?"调试结果失效清理未完成,请在调试前重试":x.contextSyncError.value);let R=0;const L=e.computed(()=>f.value.canDebug&&(y.isFlowEdited.value||T.value||N.value)),F=e.computed(()=>f.value.canDebug&&["running","terminating"].includes(x.context.value?.status??"idle")),O=e.computed(()=>f.value.canEdit&&!F.value),P=e.computed(()=>O.value?"":"调试中,暂不可保存"),M=e.computed(()=>O.value?152:0),H=e.computed(()=>f.value.canDebug&&!x.initializing.value&&!x.actionPending.value&&!S.value&&!V.value&&!b.value&&(x.context.value?.status??"idle")==="idle"),W=e.computed(()=>x.canvasState.value.nodeStates),X=lf(W),G=e.computed(()=>f.value.canDebug?[X]:[]),Q=e.computed(()=>f.value.canDebug?{isMockNode:Ee=>x.canvasState.value.mockNodeIds.has(Ee),getNodeStatus:Ee=>x.context.value?.nodes.find(at=>at.node_id===Ee)?.status,focusedNodeId:()=>It.value,openNodeDebugPanel:Ee=>{m.value?.openNodeDebugPanel?.(Ee),bn(Ee)},isLocked:()=>F.value}:void 0),ne=e.computed(()=>{const Ee=A.value?.pipeline_tree;return!Ee||!f.value.canDebug?Ee:Zg(Ee,W.value)});let ae=0;async function $(Ee=!1){const at=++ae;if(Ee&&(y.reset(),pu(),g.value=!1),await y.load(),at===ae){if(!A.value){Kt({theme:"error",message:"加载流程详情失败,请刷新重试"});return}if(f.value.canDebug&&(await x.initialize(),at===ae)){if(x.contextSyncError.value&&Kt({theme:"warning",message:`调试状态同步失败:${x.contextSyncError.value}`,ellipsisLine:3}),x.context.value?.status!=="idle"){ka();return}x.contextSyncError.value||await qe()}}}e.onMounted(()=>{$()});const K=()=>{s.onBack?s.onBack():c("back")},me=Ee=>{A.value=Ee,y.isFlowEdited.value=!0},te=Ee=>{A.value&&(A.value={...A.value,pipeline_tree:{...A.value.pipeline_tree,constants:Ee}}),y.isFlowEdited.value=!0,m.value?.updateGlobalVariables(Ee)},re=Ee=>{m.value?.updateOutputs(Ee)},ue=Ee=>{y.updatePipelineTree(Ee)},pe=(Ee,at="")=>{Kt({theme:"error",message:at?`${at}${Ee.message}`:Ee.message}),Ee.ids.length>0&&m.value?.locateNode?.(Ee.ids[0])},Ae=()=>({epoch:R,flowId:String(s.flowId)}),Pe=Ee=>Ee.epoch===R&&Ee.flowId===String(s.flowId),Qe=async()=>{if(!f.value.canDebug||!v.fetchDebugResetImpact)return[];const Ee=Ae();try{const at=await v.fetchDebugResetImpact(Ee.flowId);return Pe(Ee)?at?.reset_node_ids??[]:null}catch(at){return console.error(at),Pe(Ee)&&Kt({theme:"error",message:pt.normalizeApiError(at).message}),null}},qe=async()=>{if((x.context.value?.status??"idle")!=="idle")return;const Ee=Ae(),at=await Qe();Pe(Ee)&&(x.context.value?.status??"idle")==="idle"&&(at===null||at.length>0)&&(T.value=!0)},Te=async()=>{if(!f.value.canDebug||!v.fetchDebugResetImpact)return N.value=!1,T.value=!1,!0;if((x.context.value?.status??"idle")!=="idle")return!1;const Ee=Ae();N.value=!0;const at=await Qe();if(at===null)return!1;if(at.length>0){if(!Pe(Ee))return!1;try{const zt=await x.reset(at);if(!Pe(Ee)||!zt)return!1}catch(zt){return console.error(zt),!1}}return Pe(Ee)?(N.value=!1,T.value=!1,!0):!1},xe=async(Ee=!1)=>{if(!O.value||!A.value)return!1;if(f.value.canDebug){if(await x.refresh(),x.contextSyncError.value)return Kt({theme:"error",message:`调试状态同步失败,暂不能保存:${x.contextSyncError.value}`}),!1;if((x.context.value?.status??"idle")!=="idle")return Kt({theme:"warning",message:"流程正在调试中,暂不能保存"}),!1}const at=ml(A.value.pipeline_tree);if(!at.valid)return pe(at),!1;const zt=y.isFlowEdited.value,wa=await y.save({silent:Ee,validate:!1});return wa?(Kt({theme:"success",message:"保存成功"}),Ee||(c("save",A.value),c("saveSuccess")),zt&&await Te()):Ee&&Kt({theme:"error",message:"保存失败,请重试"}),wa},ot=async()=>{await xe()},de=()=>{if(f.value.canExecute){if(!y.isFlowEdited.value){g.value=!0;return}if(!f.value.canEdit||!O.value){Kt({theme:"warning",message:"当前流程存在未保存修改,且暂时无法保存"});return}eo.InfoBox({title:"确认执行流程?",content:"流程已修改,执行前需要先保存流程。是否保存并继续?",confirmText:"保存并继续",cancelText:"取消",width:400,headerAlign:"center",footerAlign:"center",onConfirm:async()=>{await xe(!0)&&(g.value=!0)}})}},le=Ee=>{c("executeSuccess",Ee),s.onExecuteSuccess?.(Ee)},be=e.ref(!1),tt=e.ref("run"),ut=e.shallowRef({}),ft=e.ref(!1),st=e.computed(()=>{const Ee=x.context.value;return{...Ee?.last_inputs??Ee?.global_vars??{}}}),_e=async(Ee,at)=>{if(!A.value)return!1;const zt=ml(A.value.pipeline_tree,Ee==="node"&&at?{requireConfiguredNodeIds:[at]}:{});if(!zt.valid)return pe(zt,"无法调试:"),!1;if(y.isFlowEdited.value){if(!f.value.canEdit)return Kt({theme:"warning",message:"当前流程存在未保存修改,且没有保存权限"}),!1;if(!await y.save({silent:!0,validate:!1}))return Kt({theme:"error",message:"保存流程失败,已中止调试"}),!1;if(y.isFlowEdited.value)return Kt({theme:"warning",message:"保存期间流程又被修改,请重新发起调试"}),!1;T.value=!0}return Ee==="global"||!N.value&&!T.value?!0:Te()},Ne=async(Ee=!0)=>!x.contextSyncError.value||(Ee&&await x.refresh(),!x.contextSyncError.value)?!0:(Kt({theme:"error",message:`调试状态同步失败:${x.contextSyncError.value}`,ellipsisLine:3}),!1),Ie=async()=>(await x.refresh(),await Ne(!1)?(x.context.value?.status??"idle")==="idle":!1),Ke=async Ee=>{if(!H.value)return!1;S.value=!0;try{return await Ie()?await Ee():!1}catch{return!1}finally{S.value=!1}},ze=async()=>{if(H.value){V.value=!0;try{if(!await Ie()||!await _e("global"))return;ut.value=await x.fetchInputSchema(),tt.value="run",be.value=!0}catch(Ee){console.error(Ee)}finally{V.value=!1}}},se=()=>{ka()},U=e.ref(0),I=e.computed(()=>x.canvasState.value.summary.failedNodeIds);e.watch(()=>I.value.join("\0"),()=>{U.value=0});const J=()=>{const Ee=ofe(I.value,U.value);Ee&&(U.value=Ee.nextCursor,ka(Ee.nodeId))},q=Ee=>{x.terminatePending.value||eo.InfoBox({title:"确认终止调试?",content:"终止操作仅修改调试状态,已下发到第三方平台的任务不保证能被终止。",confirmText:"确认",cancelText:"取消",confirmButtonTheme:"danger",width:420,onConfirm:async()=>{const at=Ee();if(!at){Kt({theme:"error",message:"未获取到正在调试的任务信息,请刷新后重试"});return}try{await x.terminate(at.runType==="step"?at.nodeId:void 0)}catch{}}})},ve=()=>{if(!Cc(x.context.value)){Kt({theme:"error",message:"未获取到正在调试的任务信息,请刷新后重试"});return}q(()=>Cc(x.context.value))},ge=e.ref(!1),Be=e.shallowRef(null),Ue=async Ee=>{await Ke(async()=>await _e("global")?(Ct.value=!1,nt.value="",x.runGlobal(Ee)):!1)&&(N.value=!1,T.value=!1,ge.value=!0,Be.value={...Ee},be.value=!1,ft.value=!0)},Xe=e.computed(()=>{if(ge.value)return!0;const Ee=x.context.value;return Ee?Ee.status==="running"||Ee.status==="terminating"?Ee.active_run_type==="global":Ee.last_run_type==="global":!1}),lt=e.computed(()=>Be.value??st.value),rt=e.computed(()=>tt.value==="view"?lt.value:st.value),oe=async()=>{if(!(!Xe.value||V.value)){V.value=!0;try{if(!await Ne())return;ut.value=await x.fetchInputSchema(),tt.value="view",be.value=!0}catch(Ee){console.error(Ee)}finally{V.value=!1}}},ie=e.computed(()=>new Set((x.context.value?.nodes??[]).filter(Ee=>Ee.status!=="not_run").map(Ee=>Ee.node_id))),Ce=e.computed(()=>new Set(Yc(A.value?.pipeline_tree))),Le=e.computed(()=>Yc(A.value?.pipeline_tree).find(Ee=>ie.value.has(Ee))??""),ke=Ee=>x.context.value?.nodes.find(at=>at.node_id===Ee),je=()=>{const Ee=Cc(x.context.value);return Ee?.runType==="step"?Ee.nodeId:""},fe=Ee=>je()===Ee,Oe=e.computed(()=>{const Ee=A.value?.pipeline_tree?.activities??{},at={};return Object.values(Ee).forEach(zt=>{zt?.id&&(at[zt.id]=zt.name??zt.id)}),at}),De=Ee=>z.value?.nodeId===Ee?z.value.action:"",mt=Ee=>{bn(Ee)},wt=async Ee=>{if(H.value){z.value={nodeId:Ee.id,action:"real"};try{await Ke(async()=>{const at=y.isFlowEdited.value;if(!await _e("node",Ee.id))return!1;at&&await x.refresh();const zt=ke(Ee.id);return!zt?.can_step||(zt.missing_vars?.length??0)>0?(Kt({theme:"warning",message:"当前输入参数不满足调试要求"}),!1):x.runStep({nodeId:Ee.id,mode:"real"})})}finally{z.value=null}}},St=Ee=>{!fe(Ee)||x.terminatePending.value||q(()=>{const at=Cc(x.context.value);return at?.runType==="step"&&at.nodeId===Ee?at:null})},tn=async Ee=>{if(H.value){z.value={nodeId:Ee.id,action:"cancel-mock"};try{await Ke(async()=>await _e("node",Ee.id)?x.cancelMock(Ee.id):!1)}finally{z.value=null}}},hn=e.ref(!1),dn=e.shallowRef(null),no=e.computed(()=>{const Ee=dn.value?.id;return Ee?z.value?.nodeId===Ee&&z.value.action==="mock":!1}),Zo=e.computed(()=>{const Ee=dn.value?.id,at=Ee?ke(Ee):void 0;return at?.mock_outputs?{outputs:at.mock_outputs??{}}:{outputs:{}}}),Jt=Ee=>{dn.value=Ee,hn.value=!0},We=async Ee=>{const at=dn.value;if(!at||!H.value)return;z.value={nodeId:at.id,action:"mock"};const zt=await Ke(async()=>await _e("node",at.id)?x.runMock({nodeId:at.id,mockResult:"success",mockOutputs:Ee.outputs}):!1);z.value=null,zt&&(hn.value=!1,ft.value=!0,ka(at.id))},Je=Ee=>{m.value?.updateNodeInputParams?.(Ee)},ye=()=>{h.value?.openGlobalVariables()},Ye=(Ee={})=>h.value?.openGlobalVariableCreate(Ee)??!1,nt=e.ref(""),yt=e.ref(!1),Ct=e.ref(!1),It=e.ref(""),bn=Ee=>{Ee&&(It.value=Ee,m.value?.locateNode?.(Ee,{offset:{y:ft.value?-200:0}}))},$a=Ee=>{Ct.value=!0;const at=nt.value===Ee;nt.value=Ee,at&&bn(Ee)},pr=Ee=>{(Ee.type==="blank.click"||Ee.type==="node.click"||Ee.type==="edge.click"||Ee.type==="edge.label.click")&&(It.value="")},du=nfe({api:v,context:()=>x.context.value,nodeId:()=>nt.value,componentCode:()=>A.value?.pipeline_tree.activities?.[nt.value]?.component?.code,fallbackInputs:()=>{const Ee=A.value?.pipeline_tree.activities?.[nt.value]?.component?.data??{};return Object.fromEntries(Object.entries(Ee).map(([at,zt])=>[at,zt.value]))},logsActive:()=>ft.value&&yt.value}),fu=e.computed(()=>du.value),mr=e.computed(()=>{const Ee=x.context.value;return Ee?(Ee.status==="running"||Ee.status==="terminating")&&Ee.active_node_id?Ee.active_node_id:Ee.nodes.find(at=>ga(at.status)==="running")?.node_id??"":""}),Ka=e.computed(()=>mr.value&&Ce.value.has(mr.value)?mr.value:""),ka=Ee=>{const at=ft.value;if(ft.value=!0,Ee){Ct.value=!0,nt.value=Ee,bn(Ee);return}if(Ka.value&&(!at||!Ct.value)){Ct.value=!1,nt.value=Ka.value;return}nt.value||(nt.value=Ka.value||Le.value)},sf=(Ee,at)=>{ka(Ee),at?.()};e.watch(nt,Ee=>{Ee&&bn(Ee)}),e.watch(()=>x.context.value?.status??"idle",(Ee,at)=>{Ee!==at&&(Ee==="running"||Ee==="terminating")&&(ft.value=!0,!Ct.value&&Ka.value&&(nt.value=Ka.value))}),e.watch(Ka,Ee=>{Ee&&!Ct.value&&(nt.value=Ee)}),e.watch(E,Ee=>{!Ee||!nt.value||Ee.has(nt.value)||(nt.value="",It.value="",Ct.value=!1)});function pu(){R+=1,x.resetState(),be.value=!1,tt.value="run",ut.value={},ft.value=!1,ge.value=!1,Be.value=null,hn.value=!1,dn.value=null,nt.value="",yt.value=!1,Ct.value=!1,It.value="",S.value=!1,V.value=!1,z.value=null,N.value=!1,T.value=!1}e.watch(()=>[String(s.flowId),s.flowVersion],([Ee,at],[zt,wa])=>{(Ee!==zt||at!==wa)&&$(!0)}),e.watch(()=>f.value.canDebug,(Ee,at)=>{Ee!==at&&(pu(),Ee&&A.value&&x.initialize().then(async()=>{if(x.contextSyncError.value){Kt({theme:"warning",message:`调试状态同步失败:${x.contextSyncError.value}`,ellipsisLine:3});return}if(x.context.value?.status!=="idle"){ka();return}await qe()}))});const mu=Ee=>{const at=A.value?.pipeline_tree?.activities?.[Ee];at&&Jt(at)},Ts=Ee=>{const at=A.value?.pipeline_tree?.activities?.[Ee];at&&wt(at)},vu=Ee=>{const at=A.value?.pipeline_tree?.activities?.[Ee];at&&Jt(at)},Ds={isFlowEdited:e.computed(()=>y.isFlowEdited.value),updateNodeInputParams:Je,openGlobalVariables:ye,openGlobalVariableCreate:Ye,refreshDebugContext:async()=>{await x.refresh()},openDebugResult:ka,zoomToFit:Ee=>m.value?.zoomToFit?.(Ee),centerContent:()=>m.value?.centerContent?.(),getZoom:()=>m.value?.getZoom?.()??1};return n(Ds),(Ee,at)=>{const zt=e.resolveComponent("bk-button"),wa=e.resolveDirective("bk-tooltips"),uf=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(qi,{title:"流程详情",desc:e.unref(A)?.name,"show-back-icon":!0,onBack:K},{header:e.withCtx(()=>[e.renderSlot(Ee.$slots,"header",{},void 0,!0)]),extend:e.withCtx(()=>[e.unref(A)?(e.openBlock(),e.createElementBlock("div",lfe,[e.createVNode(Xd,{ref_key:"flowInfoSlidersRef",ref:h,"flow-data":e.unref(A),editable:O.value,"system-variables":e.unref(_),"hide-trigger":s.hideTrigger,onChange:me,onUpdateConstants:te,onUpdateOutputs:re},null,8,["flow-data","editable","system-variables","hide-trigger"]),f.value.canDebug?(e.openBlock(),e.createBlock(Tde,{key:0,context:e.unref(x).context.value,summary:e.unref(x).canvasState.value.summary,initializing:e.unref(x).initializing.value||V.value||e.unref(b)||e.unref(x).resetPending.value,"sync-error":j.value,"terminate-pending":e.unref(x).terminatePending.value,onStart:ze,onOpenResult:se,onTerminate:ve,onLocateFailed:J,onRetryStep:Ts},null,8,["context","summary","initializing","sync-error","terminate-pending"])):e.createCommentVNode("",!0),f.value.canEdit||f.value.canExecute||i.headerActions?(e.openBlock(),e.createElementBlock("div",rfe,[f.value.canEdit?e.withDirectives((e.openBlock(),e.createBlock(zt,{key:0,"data-test":"save-flow",theme:"primary",disabled:!O.value,loading:e.unref(b),onClick:ot},{default:e.withCtx(()=>[...at[5]||(at[5]=[e.createTextVNode(" 保存 ",-1)])]),_:1},8,["disabled","loading"])),[[wa,{content:P.value,disabled:!P.value}]]):e.createCommentVNode("",!0),f.value.canExecute?(e.openBlock(),e.createBlock(zt,{key:1,class:"execute-flow-btn",disabled:e.unref(b),onClick:de},{default:e.withCtx(()=>[...at[6]||(at[6]=[e.createTextVNode(" 执行流程 ",-1)])]),_:1},8,["disabled"])):e.createCommentVNode("",!0),e.renderSlot(Ee.$slots,"headerActions",e.normalizeProps(e.guardReactiveProps({savePending:e.unref(b),canMutateFlow:O.value})),void 0,!0)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",sfe,[!C.value&&e.unref(A)?(e.openBlock(),e.createBlock(Ed,{key:0,ref_key:"flowCanvasRef",ref:m,mode:O.value?"edit":"view","flow-id":String(s.flowId),"pipeline-tree":ne.value,"plugin-group-list":e.unref(w),"system-variables":e.unref(_),"default-zoom":s.defaultZoom,"quick-add":s.quickAdd,"enable-node-debug":f.value.canDebug,"additional-plugins":G.value,"debug-context":Q.value,onUiEvent:pr,onChange:ue},{inputParams:e.withCtx(Wt=>[e.renderSlot(Ee.$slots,"inputParams",e.normalizeProps(e.guardReactiveProps({...Wt,updateNodeInputParams:Je})),void 0,!0)]),nodeDebugConfig:e.withCtx(({node:Wt,close:gu})=>[e.createVNode(qde,{node:Wt,"context-node":ke(Wt.id),stale:L.value,"pending-action":De(Wt.id),"is-active-step":fe(Wt.id),"is-flow-debugging":F.value,"terminate-pending":e.unref(x).terminatePending.value,"has-result":ie.value.has(Wt.id),"node-name-map":Oe.value,onRunReal:Za=>wt(Wt),onTerminate:Za=>St(Wt.id),onRunMock:Za=>Jt(Wt),onCancelMock:Za=>tn(Wt),onViewResult:Za=>sf(Wt.id,gu),onJumpToSourceNode:mt},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),f.value.canDebug&&!C.value&&e.unref(A)?(e.openBlock(),e.createBlock(e.unref(r),{key:1,open:ft.value,"onUpdate:open":at[0]||(at[0]=Wt=>ft.value=Wt),"model-value":nt.value,context:e.unref(x).context.value,"pipeline-tree":e.unref(A).pipeline_tree,"mock-node-ids":e.unref(x).canvasState.value.mockNodeIds,result:fu.value,"has-global-run":Xe.value,"view-params-pending":V.value,"offset-left":M.value,"onUpdate:modelValue":$a,onViewParams:oe,onReEditMock:mu,onRunReal:Ts,onRunMock:vu,onLogsTabActive:at[1]||(at[1]=Wt=>yt.value=Wt)},null,8,["open","model-value","context","pipeline-tree","mock-node-ids","result","has-global-run","view-params-pending","offset-left"])):e.createCommentVNode("",!0)])),[[uf,{loading:C.value,zIndex:100}]]),f.value.canDebug?(e.openBlock(),e.createBlock(e.unref(a),{key:0,show:be.value,"onUpdate:show":at[2]||(at[2]=Wt=>be.value=Wt),schema:ut.value,"pipeline-constants":e.unref(A)?.pipeline_tree?.constants??{},"initial-values":rt.value,pending:e.unref(x).globalRunPending.value,readonly:tt.value==="view",onConfirm:Ue},null,8,["show","schema","pipeline-constants","initial-values","pending","readonly"])):e.createCommentVNode("",!0),f.value.canDebug&&dn.value?(e.openBlock(),e.createBlock(e.unref(l),{key:1,show:hn.value,"onUpdate:show":at[3]||(at[3]=Wt=>hn.value=Wt),node:dn.value,outputs:Zo.value.outputs,pending:no.value,onConfirm:We},null,8,["show","node","outputs","pending"])):e.createCommentVNode("",!0),e.unref(A)?(e.openBlock(),e.createBlock(af,{key:2,"flow-id":String(s.flowId),show:g.value,"api-config":s.apiConfig,"bkflow-saas-url":s.bkflowSaasUrl,"member-selector-config":s.memberSelectorConfig,onClose:at[4]||(at[4]=Wt=>g.value=!1),onConfirm:le},e.createSlots({_:2},[Ee.$slots.customFormContent?{name:"customFormContent",fn:e.withCtx(Wt=>[e.renderSlot(Ee.$slots,"customFormContent",e.normalizeProps(e.guardReactiveProps(Wt)),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"])}}}),ufe=He(ife,[["__scopeId","data-v-40c792af"]]),cfe=t=>"default"in t?t.default:"",dfe={FlowView:()=>Promise.resolve().then(()=>Qie),FlowEdit:()=>Promise.resolve().then(()=>eue),FlowCreateTask:()=>Promise.resolve().then(()=>wie),FlowExecute:()=>Promise.resolve().then(()=>yue),FlowDebug:()=>Promise.resolve().then(()=>Bie),FlowMockDebug:()=>Promise.resolve().then(()=>qce)};exports.BkFlowCanvas=ef;exports.BkFlowModelAccessor=Hg;exports.BkFlowNodeAccessor=Uc;exports.BuiltinVariableUsageForm=Zd;exports.CallLogsViewer=ix;exports.DebugJsonViewer=xd;exports.DebugValueTable=Jg;exports.EmptyException=ln;exports.FlowCreateTask=af;exports.FlowDebug=Ui;exports.LoadingStatusIcon=zi;exports.MockFieldRenderer=fv;exports.RenderForm=su;exports.SegmentTabs=of;exports._export_sfc=He;exports.bkflowConnectionValidator=CE;exports.buildDebugResultNodeItems=efe;exports.cloneDeep=Fe;exports.createBkflowPlugin=wE;exports.createBkflowSchema=kE;exports.createExecutionStatusPlugin=lf;exports.edit=ZE;exports.execute=tx;exports.exportToPipelineTree=Qn;exports.formatDebugValue=Gi;exports.formatJsonFieldValue=y1;exports.formatSummaryDuration=dx;exports.getInputFormsFromConstants=Id;exports.getUniformApiPluginFormValue=cfe;exports.getVariableDefaultConfig=im;exports.hasOnlySystemOutputs=gv;exports.importFromPipelineTree=Hc;exports.index=ufe;exports.index$1=dfe;exports.isBuiltinUsageVariable=Fa;exports.isComplexDebugValue=rf;exports.isDebugAbnormalStatus=cx;exports.isMockableNode=A1;exports.mergeOutputs=b1;exports.mock=ux;exports.normalizeLogText=ax;exports.normalizePluginOutputItems=yl;exports.orderDebugRowsByDeclaredKeys=ox;exports.parseJsonFieldValue=k1;exports.pluginDetailRequest=Ai;exports.provideFilterVariableConfig=Bd;exports.provideFlowApiConfig=Al;exports.provideMemberSelectorConfig=ys;exports.provideSelectPanelConfig=vv;exports.provideSelectRelatedOptionConfig=Vd;exports.resolveExecutionActions=XE;exports.resolveMockFormControl=qc;exports.shouldShowMockReEditHint=V4;exports.toDebugOutputValueRows=nx;exports.useFlowApiConfig=Vn;exports.useFlowEditApiConfig=A4;exports.useFlowViewApiConfig=E4;exports.useMemberSelectorConfig=v1;exports.usePluginParamMeta=eh;exports.useSelectPanelConfig=Wi;exports.validatePipelineTree=ml;exports.view=KE;
85
+ `,placement:"top"}]])]),e.createElementVNode("div",Ire,[e.createElementVNode("span",Ore,"共 "+e.toDisplayString(S.count)+" 篇,",1),e.createElementVNode("span",Mre,e.toDisplayString(m(S.size)),1)]),e.createVNode(C,{class:"kb-checkbox",style:{"pointer-events":"none"},"model-value":f.value.includes(S.knowledgebase_id)},null,8,["model-value"])])]),e.createElementVNode("div",Pre,e.toDisplayString(S.description||"--"),1)],8,Sre))),128)),v.value.length===0?(e.openBlock(),e.createBlock(ln,{key:0,title:s.value.length===0?"暂无知识库":"搜索结果为空"},null,8,["title"])):e.createCommentVNode("",!0)]),v.value.length>0?(e.openBlock(),e.createElementBlock("div",Lre,[e.withDirectives((e.openBlock(),e.createBlock(b,{theme:"primary",disabled:f.value.length===0,onClick:y},{default:e.withCtx(()=>[...w[4]||(w[4]=[e.createTextVNode(" 确定 ",-1)])]),_:1},8,["disabled"])),[[E,{content:f.value.length===0?"请选择知识库":"",disabled:f.value.length>0}]]),e.createVNode(b,{onClick:A},{default:e.withCtx(()=>[...w[5]||(w[5]=[e.createTextVNode("取消",-1)])]),_:1})])):e.createCommentVNode("",!0)])),[[x,{loading:d.value}]])}}}),Fre=He(Rre,[["__scopeId","data-v-67fc5ae8"]]),zre={class:"plugin-group"},jre=e.defineComponent({__name:"output-plugin-group",setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("div",zre,[e.createVNode(ln,{title:"暂无结论输出插件"})]))}}),Hre=He(jre,[["__scopeId","data-v-93c9733d"]]),Wc="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAADwCAYAAAA+VemSAAAABmJLR0QA/wD/AP+gvaeTAAAdWElEQVR4nO3de3wU5b0/8M/32Q0J14oCu0GtP2yxSq5A6gWtLZJNIAEFQbRWba2VSz21PbUX7al9pbYee3rxVuVmEY/UC6ilFgiQS6MtpV4QkmyCaOpRj5pkAyiKkMvuzvf3B+CJYTfJ7s7ss7Pzfb9e/MHO7jOfwH4yszszzwBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCOAjpDpCuKlsOjBrSGbrEAC6AQh4M/iwBo4loKIMPAggA3ALQyy4jXHVJwamv6c4s7EcKbKIKZnWRv+NSJr4BQAmAIYN9LQENYFr2vmv/IwtzcnqsSynSiRTYBMxM1c2BqwhcAaazEhzuTVb4XkmO9y+mhBNpTQqcoJr6fWexO/QHMH3JzHEZWHlQHbhZx9a4rrljRDjM4wAgzPxxaYG3I9kZxOBIgRNQ3RS4DszLAAy3aBVVww8F506bdnqnReMDAKqbWz8Lw7UQbMwAURGAMX2echiAn4ieDxNvKM3xvmhlHjF4UuA4VDCrC5va/wugH1i9LgI2bs/1zK0gMsweu8rfWkSsbgdhNgAVw0sbiXDXjBzPOiJis3OJwZMCx4iZqaYp8AcA30zian/qy/PeadZg2/fuG9nZE/4dCDcgtuJ+CgM73Eb4m/INuj5S4BhVNbX9jpi+n+TVdlPYlV9cOPb1RAeqbWidYij1JICJJuQCgMOk+BvFOdlPmzSeiEHcv32dqLqx7XoN5QWATHaF70hkAGaman/7dwyldsC88gLAcDZoXU1jYJGJY4pBki3wIFXt6ZhIYaMewDBNEcLKZXxuxqTxb8f6wq3N75zsMjJWA5hrQa7jDFJ8pWyJk0u2wIPAzERhYxX0lRcAXEZYXRPri2r9gWkuI2M3rC0vACg26JFqf+s5Fq9H9CIFHoSapo55AL6iOwcYcwb71ApmVeNvv80APw/gsxam6m04oJ6se/PNrCStz/FkF3oQavzt9QwU6M4BIOge0Tlq+oQJXf09qcYf8BjgtQT4khXs03i5Ly/725aNzkw1e9pOR0iNJ6IRhkKnQRQY0zn27aIiClq13lQkBR7AtsbWixWp53Xn+AQj35fv9UdbXNMYKGbitQC8SUx1IqIFvlzPM2YNV/da65hQj/oqA3MIOB/AyAhPCxKokWHUKagNl+SO+2e6H6eWAg+gxt/+EAPf0p3jOAKVFOd5qvs+XlfH7vCYwM8ZuBWp8dHoYCjEk2dNzn4rkUEqd7WNzRhCPwPjWwBi3TXfS0z3vu/avyZdLxBJhf/olMXMxMBs3Tl6CxOf8Cbe5n/v9NCYwHMM/ASp8396kttNT+zcyRnxDlDV2HZFRgbtBePfEHt5AeBsJl4x2jhlb1Vz+6Xx5khlqfKfnZLqGlvPgu5d0T6Iqbv336sb2y9TcNUDuFBTpP6cfzCr4xfxvLCqqe0OIloP4GQTckwgA89W+9v/WNlyYJQJ46UMKXA/DOUq1J2hL4MQAIDKlpbMKn/7fSBsgDlvcksw8w+r/IGSWF5T42+/k5hutyDO1zK6gi/U+gOfs2BsLaTA/WDGBN0Z+ggHu8ItVXs6JmZ0jdpBwM1I/e8xFIEfrWvuGNSeTHVT4LpjHwWsco4B3v7X5rYcC9eRNFLgfjBotO4Mn0YNWUPUXAobrwA8RXeaGHhChrG2grnf91tNY+DMY5dnWs0bNqimpjFwZhLWZSkpcD8UGS7dGT6NPwfCY4h8CCXVFV/UFPhxv88gvhfWXVvdl5eJN9v9M7EUuB8MdUh3hj4+oztAIhi4o9YfmBZpWW1z27mMwZ9pZpKzM7qCq5K8TlNJgfvF7+hOkGbcBvjxTY1vn/DRxDDoZh2BAFxZ7W9bqGndCZMC94NhNOrOkIbOyKLM1b0f2LHjnaGw/mKL6Jju2dbQnqxdd1NJgftxcnd2A4CPdOdINwzMq2pqu+n434+MHHIRkvfZ90SE8YrwHW3rT4AUuB9FRRQEYZPuHOmImH67tSlQAAAMPld3HhC+V9nSkqk7RqykwAMwDGOl7gxpKsvF/GRdc8cIIvq87jAAPEO6RurbjY+TFHgApfnj/wYgda5GSi9nB8P8ADP3ncZWC2ZcrTtDrFL9LJ6UsLUpUOBifhlA3Cfmi359BCAVjsd2BrMOjS6bOLF74KemBtkCD8LMXE8DwP+hO0caS4XyAsDQzK5RU3WHiIUUeJB8edm/YUA+D6c5JiPlLmDpjxQ4Br5cz1Iw7tGdQ1jHAGx1pZIUOAZExL587/cZdB3k+HBaIj7hvlApTQoch5I8z1oVdk8C+FEAYd15hHmI1FDdGWIhBY7TjMIx7/nysr9OTGcR8J8gTvi2J0I/NjikO0Ms5DCSieoa3j0tpFwFAJ0J8CSAFkF+SdoL4QFfrtc2p1XKm8tE0wtOe9eXl72ZFLcBdBXk39eO3tAdIBZu3QHSSd2bb2aFPs66mw1aqjuLiBNzve4IsZACm2RbY+vZoY/VOgD5urOIuHUOPxR6UXeIWMgunglqmtq+rkjthJTX5njLtGmnd+pOEQvZAiegrrljRMgIL2Oma3VnEYljxuqBn5Va5FvoOFU1dxQSh9eB6SzdWYQp6otzPVPsdi8l2YWOQ3Vj27+RYfxTyps2mIi/b7fyArILHZNNjW+PzqLM1QzM051FmIjwYHFudp3uGPGQAg9SrT8wzQA/zsAZurMIUz3/AR24RXeIeMln4AFUMKsL/YEfgfALyC+8NMPbg1lDyssmnmLbC1OkwP2o8Qc8fPSChZhuziVsYY17ROe3p0+Y0KU7SCJkixJFVUP7DAb/ESl2e1GRsD2k1C3FOeO26g5iBtkC91FXx+7QmEAFgNsg39LbQRADz1XWDaCamFZvzxv3lwoiIwm5kkIK3Ms2/3unK6jHAbpIdxYxaP+CgWvhorMIxucYdHSPycARAr1jMDdkuNWL03PGfaw5pyWkwMdUNbdfSgYeBnCK7iwiZut9ed4rdYfQwfEF3rmTMw5mBn7D9rhZtoiGsMiX631Id4xkc/QbduPO1mFZmfQngEp1ZxEJ6wTjPF++1687SDI59kuaujp2Z2Wqp6S8aWMoCOvsepfBeDm2wMGx7f8FoEx3DmGqc4joQd0hksmRu9A1TW3TmakWDv350x7R1325nkd1x0gGx22B169nl2HQ7yHlTV/My7Y1tp6tO0YyOK7AJ08KXEGEHN05hKWGK1Lrdux4x1ZzPMfDcQUGy4RzDpF/eFTGvbpDWM1Ru5FVe/eNp2D4XTjs53YyAq4qzvOu053DKs7aAgeNGZDyOgoDq7Y2d3xedw6rOKrAxDxFdwaRdKPcBj9Z2dKSqTuIFRxVYBDS9jexiI7BU91dI3+tO4cVnFVguVDBsQj4TpU/kHZzmTmrwOywn1f0RgpYXbunNa3mNHPUG5pJbsrtZAwebYTVkzt38kATANiG06bU+V/dAQbpbQIaAfwPA/uYj96zlghDCXQqAxMBFAL4jNaU9nT+B5kddwL4ke4gZnBUgQlo0J0hCgbwHAhPuMOhLdMLTnt3oBdUMKvzmzvyFHO5AhYyUJCEnGmCf1DV2PZcSX52pe4kiXLUMdEafyCfwalU4jARrWUO/9qXN/7VRAaq8rcWAeoWAhbCYR+N4rQ/7HLlz5w0tk13kEQ4qsAAUO1vbwH0H05i4CWDaNHMXI+pv1C2NbTnKoV7ABSbOW6asv1UPI77Tc3Mf9AdAYRfZez3XGh2eQGgtMDb5Mvz+sD8TQBpOZGbia7Y1tx+nu4QiXBcgTPCWSsJ9IGm1YeJ+Hpfrve26dMpZOWKfPnZawDjXAAtVq7H5ojC9APdIRLhuF1oAKjxt9/MwH1JXi0T8fXFudn/PdATV27cOYzVkCIizjHA2QQMASNI4HaD1KtDgpkv33DZ2YcGs9K611rHhHpc2wA5jTSKILlD2cXnnHZAd5B4OLLAFczqwqbAXwF8OVnrZOCukjzvT6IuZ6aHtvhnGsSLwVwKIKuf4UIA/kZMT8AIPr54TtGR/ta9tfmdk11GxvMAcuNLn94YdF1Jnmet7hzxcGSBAaC2fv+phitUD2CM5StjvOg+4Lko2m7zsk2NUxUZy0A4N/ahsQ+Eu9TY0AOLi4qC0Z5Xu6f1DCOsXgYwNtZ1pD3CKl+ud7HuGPFw3Gfg42YUjnkP4G/g6DFYKxlwqaXRyrtyS8PNShn/jKe8AEDAWGLczQH3yysqd02K9rwZk8a/DaJrYf3PazvM9t0zcWyBAcCXl72Zie+xeDVP+XLG7Y60YGVl/e3MfB8GvrfPwAgFgHpx5dbd5dGe4sv1bCNgdcLrSjMEnKo7Q7wcXWAAOEjv3wbg5WN/3Q/m3QBqADzPjGYcvTFW3Igp4pdly7c0XMXAHYmMHcEINmjD8s31s6M9oSfIPwHknPA+RugOEC/HfgburcYf8FDY5T66W/1pdXXs7jmlrUApNYuY5jJ4agxD/8uX553Y98GHK3eN7YF6DcDoRHL34zCxumBxeX7EuxRUN7XfBcatFq3bjtp9ed5s3SHi4ahzoaMpzvMEoi079tn1lWN/flm7p/WMcFjNJWAegIsAuKK9loGI59r2sOuHILaqvAAwnMl4fP365qkLF+b09F3oDoceDCn3D9FPdofZrztAvBy/Cx2rGZPGv12S573Pl+f9SjDI2QR8C8AmACfc6V0R/tn3sYq6OjeIr09C1NwDI4M3RVpw7GKJuiRksAl+XXeCeEmBE1A2JXtfcZ53tS/PO2dohmscwFcy8CSOfcaksHHCG8PTedJ5SMahKwDE+OH69c1DIi4DNiYjgx0Q4UXdGeIlu9AmuejssYcArAewvrKlJTOzc8QlRjDrjROfSZOTGCv7/eE9swA8e0IKw9jOSn5/AwBYbdUdIV5SYAuUTZzYDWBLpGVEPB6cxO8OicoQocDdww43Z3SNNODwvTBmNPvyPY26c8RLCtzH/ZUvjMrgrIsVUT4TjycDbiYEmOhVRcHnF88sSuz6UTbhmG8MiBDxW/OyiRO7q/3t+wB4kpkn1SjQ/bozJEIKfMzyyvrJBPwYwFwQMhkMMD7ZWBIzmN28orLhBQI/YxA/s3TW5LdiXhGr90HJOxmKGaf1s/gjOLvA//O+a/8jukMkwvEFfnRbw/DOEP+OgRsx8O4kAXwBAxcQ029Xbql/BcDTHOJnlsyZPLjL9hS/luSTGfvb4jv5MBKTUjctzDnxMJudOLrAK7fuzD4S4i1HT0OMHTOmApgKF921YnN9AxGeYRjPLCmbsifqaxRtpzAn87PnwWgLCDSanXpqNOPe4pxxtv3y6jjHnom1bFPjaJfifzD4HLPHJtCrBvhpUsYzS2ZOOWHWjRWV9bUALjF7vRExNi8pLzzh1Mq63R+cFHJ365rYQLdN7v2eeVZPqpAMjv0G0qXCj1hRXgBg8DkE3A5D1a+srG9Zvrn+rhWbdxV9spxh9QUU/4fouUgPB1V3LKeEppM/B7MOLUiH8gIOLfCKyoYFDLo0Geti4PNEuBWkXl5RWf/m8sr635IyDgCoTcLqe4Lu8OORFpDC9CSsP5UYAO784FXPgmOH+dKC43ahmZlWbmlohP7ZKToBWHsHeaZlS8oLTjidkpmppinwOlJgds4kCRybdaNKdxCzOe5LrOVbGs9T+ssLWFxeBlozXO7bIy2r3bOvFE4pL6HWTeqa6Tnj2nVHsYLjdqEJvEB3hiToUoQrvzUz5/2+C5iZOGxUaMiUbCEAP/1HjqckXcsLOKzAzEwEzNedw2KHFdTli2cVbo+0cGt9+xkgDuLoZ8J09Q4ZxiW+PO+dFUTp/HM66zPwqi27v2gwvaQ7h4X8xOpr0S7k763utdYxoaCrDMxXACgBEPGqJbshYCPcoevtOk1srBz1GZiZ0nX3+XUw7iFPaHV/M1P2Nv0L4/cDeBTAo5sa3x49BEOKiTAHoHmw5xQzIYDv3J7rvSPdt7q9OavA4PlpuNMRBqiBwe8PO5AxBMCgCtzb7PwzPgDwFICntjW0D1eKy8G4HkSlsMc/2BsM46qSvPE7dQdJNjv855hi5daGKWzwK7pzWKwLQA1AT1FG8NnFvqIPExmsurljMoWN3zIl6ayx+KwLZmUsKpt4iiMn6nNMgVds2f2fYLpNd44k6mamvxOwid14YmlpQUc8gzAz1fo7FjHxvej/bhHJ1gnCd3253od0B9HJOQWurN8L4Au6c2gSBvACmJ4Kw73upvKcmA+rVDe0nw+FTQBOMT9ezPYYBq4sLfA26Q6imyMKvGLrrgIYql53jhTxSZnJFVwfywQF1c0dk2EYzwEYZVm6gT3c1W18Z07R+H7vB+UUzihwZf3PAfxMd44UFGbQdsB4TIXDjw10kzQAqPa3lQO0Ecl/7xwCY4kv3xvx3G6ncsqJHOl6+ChRLgJ/mUCr2OV+Y0Vlw3UDvcCXl70ZwANJyNYL7WKXmirlPVHab4GP3vBLNevOYRvMT2QOO+mb10+fcMI818dVthwYldEVbAEwzvI0wO9DWYd+lE5XEJnJAVtgJVvfWBB9tbvzwz9Hm08aAMomnvIRM99tcZL3wZhXkuf9rpQ3OgcUWHaf41B6YETPvf09QWWE/4AEb/wWDQM7oIzJvnzvCdPhik9L6wKv2lx/FoA83TnsiEBLV23dVRxt+bFzjatNXq3BwF0Z+z1f9uWM/1+Tx05LaX0qJRMt6HU/63fBaGDFbcRkMGgEgc8GkI80/3eIl2GoXwOYEvUJhFowot7KNEYBAl3ry/OY/UshraX1G9cASojpN6DwI9FmilyzYfdJXZl0OQHfg2yt+5q8bGvDl749s+DvkRZS2HjFlNuzpPlF91ZK22+h169f7/pg6JmjF88pGtStIysqWHm/2LAIhN/AnlfjWIIZ9y8tL/xupGW19ftPNVyhdxMYPgSg4h+5nrucdAWRmdK2wPFavqkhlxRvAfq9o4GT7FpSVhhxBsujVy7h4zjHfQdKXe3LGRdx4gExOGn9JVY8ls4uaAqr8HQAcZ38n4Ymmj0gARvJHZos5U2cFDiCm2ZO/RcZuArpPe3MYI2sqOCI7xPKdH0mxrF6QPj3Gbmey5wyY4bVpMBRLJ5dWAemFbpzpIBQRUWUz6chY0IM47zBMC705XrvJUri3d3SnBS4H+zGzwE4+qoXAt6Luow5+iGmXhh4MpiVMcWJM2ZYTQrcj6WlBR1gPKE7h04M7O5n8UAzdXSCsKgkz/tVp86YYTUp8ACUy3hSdwadCBTxbgYbd7YOA+Dr56V7CXS+02fMsJoUeABdxsi/4+hcU05khNi9IdKCrEzXTADDI7+M1xoGiorzPI0WZhOQAg/o5rKJ3QCi3u83rTH+EW36HQLPi/DwIWK6xpeXfV1pgfewxekEpMCDw3hLdwQdSNHTkR7fuZMzACrv8+xd7FJTi/M9jyUjmzhKCjwYhISmZ7UpVow/RVpwcOi+GQwe/ckDhFXBrI+mlUwa15K0dAJAml/MYB52Oe+sU3rhxrKCiOc5MxvHd58/ZOYbS/Kyn0piMNGLbIEHhU7WnSDZCPxMpMcrmBUYlzLwkmFgckm+lFcn2QIPzpm6AyQZGxS5wBc1tl1oKLX+5G7PD4qKKObbuAhzSYEHsPrZvSOD6HLYhPD0ytJZhW9FWuIa1f1y8YQJEa8PFsknu9ADCGZ0fwWAS3eO5OKI3z4DwPQJ0WerFMknBR4QX6k7QbKFVTji7rNIPU77ajUmDz3r94Qzwm8htW7qZbX6JWWFk3WHEINj+y3wmro3LStXOMO4Fc4qL8CQra+N2L7A3Z0f3mNFiZdvasgF+Cazx0115FZRP/+K1GPrb6Hvr3xhFIDruzoPvgvgTrPGXVP3ZlZ354drAWSYNaZNNC8uzd9bUcHKc179xWD4iKmAFLwAwIxDDH6VoP7ag2Ebj50nLjSy9Wfg5ZW7v0agPwLoZoWLl84sfCnRMSsqWHnPa3gCjIUmRLQXxi8J9DYT34YBjn0zsI+A3/Vg+L1SZH1sXeAVlfUbAMw99td2g+gr355V8Fq8463cuTODO9xrAHzNlIA2w0ArAeNjfJk/rMKX3zRz6r8sCSX6ZdsCP1jXPMLVGewAMLTXwx1EmL94VmHMsx0+uM1/uisUfgyEL5mX0hkY2KdYzVhcnu/XncVpbFvgFZX1VwKINFtGiIH7srr5l9fPm3xwoHHuXr9j6LDhw5aC8DMAsc6yKP7Pu+yiqUtLC2Q63iSy8ZdYvCDK7x83Abd0Z9KNKyrr/5sMbACHXux99/kH65pHqM7QuQTjUgDXADglWanT2GkqbDwE4DLdQZzEllvglRt3DmOXex+AYYN8CQNoB9B57DUe2PRnT3UElC4uK4w4j5Ywny2PA7MrowyDLy9wtKzZOPrNqhdSXssw8GPdGZzElgUm8HzdGURU0x/YvOsM3SGcwnYFvnv9jqEM0+5JK8xHGeQq0x3CKWxX4OEjhpZCbv+Z0gzgPN0ZnMJ2BWbQAt0ZRP8IOEt3BqewVYHvr2zJhOw+24AxTncCp7BVgYfwxxdDTrZIeQSy8fkF9mKrAoPoAt0RxMAY+Fh3BqewV4EZsdyPVugT9Zakwly2KjARRurOIAbGgFzUkCS2KjCD5YZZNqDAMV8NJuJjqwID9JbuBGJAR9zBobW6QziFrQpMihOecUNYjZ++4bKzD+lO4RS2KjCC4TrIN5xmGPA66TgxFN9t0dgiAlsVePGcoiNgelR3DnvjA8T8U4sGf3zJzCkNFo0tIrBVgQEg7Fa/AnBkwCeKyJj+fPhw58Mw+VAPA/tcQdctZo4pBma7At9UmvcOEd2mO4d90dPfXzitE6DvmThoGIRrb7wsL2DimGIQbFdgAFg0M//3AMuudOw+OPmw+68AsKSs4GkwLTNhTAOMG5fOKtxmwlgiRrYsMBFx+9CDNwBYozuLnTDoLwsX5vQc//vJh1+7mQhrExiyE8DVS8oL5f9BE9tPLbO8cveNBPo1gJN0Z0l1zJiztLxw06cfY1q1teHHzPg5gCExDLeLWH1DppLVy5Zb4N6Wlk1+iMKhiWD8koFW3XlS2IdBGl7d90Ei4sWzCn9lEOUDWAcgNMA49cy4rv2lgi9KefWz/Ra4t4oKVtnnNUxj5gUAzQdwmu5MKeSxJWWF1wz0pAc3N3vdqqeUGZNBlA0mYhj7FaMZblft4tL8vckIKwYnrQrc16qt9TnhMF9BRFcDmKg7j1bMc5eUT35WdwxhrrQucG+9ynwVgC/ozpNkHx/5+Mi4o4ePRDpxTIF7O15mRWohg8/RncdyzE8sKZ98te4YwnyOLHBvn5RZ0WxmTNWdxwrMtGBpecEzunMI8zm+wL0t29R4piKeA+IrAFyoO49Jjgxz0bjrSgvkWuo0JAWOYvmW3f+PDHXZsTJPg23/reipJWUFzrtZuUPY9E2ZXA9s3nWGG665Ni3zVUvKCtfpDiGsYac3Yko4eiNw4/JjZb4AqX0yTFdGMGucXGCfvqTACVi+sf5U5ab5zMZ8gC5C6pX5z0vKCufpDiGsIwU2yYObm70u1XM5mOYD+DIAl+5McvJG+pMCW+Dhyl1jg6TmMWM+gEsA6LhTQVP7SwUFFRVkaFi3SBIpsMUeqHnxFFdP5mUEmg9wMWK74idehoJxyaKyKc8nYV1CIylwEq3ZsPuk7kx1KcALAPgAZFmxHgZ+sbSs8GdWjC1SixRYk/srXxiVyZmzmWgBgJkAhpoxLgEPLJpVcDMRsRnjidQmBU4Bj25rGH44xOVEtADgMgDD4ximC0y3LikvuM/sfCJ1SYFTzMqNO4ex2z0TBi8A0WxgwPtBhQH6k2L+6aLywteTkVGkDilwCltT92ZWd+dHPgKXMKMAhFOPLTpCwGsg+pti/OnGsoJ3tQYVQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEHH6/wXOXW9gEVklAAAAAElFTkSuQmCC",Ure={class:"bkflow-plugin-group"},Gre={class:"plugin-content-wrapper"},Wre={class:"tags-list"},Yre=["onClick"],qre={class:"plugins-list"},Qre={class:"plugin-icon-wrapper"},$re=["src"],Kre={class:"plugin-info-wrapper"},Zre={class:"plugin-name"},Xre=["title"],Jre={class:"managers-text"},ese=e.defineComponent({__name:"bkflow-plugin-group",props:{bkflowPluginTags:{},activeTag:{}},emits:["selectBkflowPlugin"],setup(t,{emit:n}){const o=Vn(),a=t,l=n,r=e.ref([]),i=e.ref(a.activeTag||0),s=e.ref([]),c=e.ref(!1),f=e.ref(!1),d=e.ref({}),v=[{id:"name",name:"插件名称"}],h=e.computed(()=>f.value?a.bkflowPluginTags.filter(w=>(d.value[w.id]?.length||0)>0):a.bkflowPluginTags),m=e.computed(()=>f.value?d.value[i.value]||[]:s.value);e.onMounted(()=>{y()});const g=w=>{i.value=w,f.value||y()},k=async w=>{const C=w.find(E=>E.id==="name")?.values?.[0]?.name||"";if(!C){f.value=!1,d.value={},y();return}f.value=!0,c.value=!0,d.value={};try{const x=(await o.fetchBkFlowInnerPluginList()).filter(V=>V.name.toLowerCase().includes(C.toLowerCase())).map(V=>({code:V.code,name:V.name,logo_url:Wc,desc:V.desc||"--",managers:["BkFlow"],version:V.version,tag:0}));if(x.length>0&&(d.value[0]=x),o.enableThirdPlugin!==!1&&o.searchBkFlowThirdPartyPlugins&&(await o.searchBkFlowThirdPartyPlugins(C)).data.plugins.forEach(T=>{const z={code:T.code,name:T.name,logo_url:T.logo_url,desc:T.introduction||"--",managers:T.managers,version:"1.0.0",tag:T.tag};d.value[T.tag]||(d.value[T.tag]=[]),d.value[T.tag].push(z)}),!d.value[i.value]||d.value[i.value].length===0){const V=Object.keys(d.value).map(Number)[0];V!==void 0&&(i.value=V)}}catch(E){console.error("Search plugins failed:",E)}finally{c.value=!1}},y=async()=>{if(c.value=!0,s.value=[],i.value===0){const w=await o.fetchBkFlowInnerPluginList();s.value=w.map(b=>({code:b.code,name:b.name,logo_url:Wc,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(C=>({code:C.code,name:C.name,logo_url:C.logo_url,desc:C.introduction||"--",managers:C.managers,version:"1.0.0"}))}c.value=!1},A=()=>{r.value=[],f.value=!1,d.value={},y()},_=w=>{const C=(f.value?m.value:s.value).find(E=>E.code===w);if(C){const{code:E,name:x,version:S}=C,V=f.value?C.tag===0:i.value===0;l("selectBkflowPlugin",{code:V?E:"remote_plugin",name:x,data:V?{}:{plugin_code:{hook:!1,value:E}},version:S})}};return(w,b)=>{const C=e.resolveComponent("bk-button"),E=e.resolveDirective("bk-loading");return e.openBlock(),e.createElementBlock("div",Ure,[e.createVNode(ks,{modelValue:r.value,"onUpdate:modelValue":b[0]||(b[0]=x=>r.value=x),options:v,placeholder:"搜索插件名称",onChange:k},null,8,["modelValue"]),e.createElementVNode("div",Gre,[h.value.length>0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",Wre,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,x=>(e.openBlock(),e.createElementBlock("div",{key:x.id,class:e.normalizeClass(["tag-item",{actived:i.value===x.id}]),onClick:S=>g(x.id)},e.toDisplayString(x.name),11,Yre))),128))]),e.withDirectives((e.openBlock(),e.createElementBlock("div",qre,[m.value.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(m.value,x=>(e.openBlock(),e.createElementBlock("div",{key:x.code,class:"plugin-item"},[e.createElementVNode("div",Qre,[e.createElementVNode("img",{src:x.logo_url||e.unref(Wc),alt:"plugin-icon"},null,8,$re)]),e.createElementVNode("div",Kre,[e.createElementVNode("h4",Zre,e.toDisplayString(x.name),1),e.createElementVNode("p",{class:"plugin-desc",title:x.desc},e.toDisplayString(x.desc),9,Xre),e.createElementVNode("div",Jre,e.toDisplayString(x.managers?x.managers.join(","):"BkFlow")+" 提供",1)]),e.createVNode(C,{theme:"primary",size:"small",onClick:S=>_(x.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(ln,{key:1,title:"该分类暂无插件"})):e.createCommentVNode("",!0)])),[[E,{loading:c.value}]])],64)):f.value&&!c.value&&h.value.length===0?(e.openBlock(),e.createBlock(ln,{key:1,"is-search":!0,onClear:A})):e.createCommentVNode("",!0)])])}}}),tse=He(ese,[["__scopeId","data-v-1f2d5307"]]),nse={key:0,class:"bkflow-segment-tabs__divider"},ose=["onClick"],ase={key:2,class:"bkflow-segment-tabs__label"},lse={key:3,class:"bkflow-segment-tabs__count"},Xw=120,rse=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 d=l.value;d&&(r.value=d.scrollLeft>1,i.value=d.scrollLeft+d.clientWidth<d.scrollWidth-1)},c=d=>{l.value?.scrollBy({left:d,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)),(d,v)=>{const h=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:v[0]||(v[0]=m=>c(-Xw))})):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,g)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:m.value},[g>0?(e.openBlock(),e.createElementBlock("span",nse)):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:k=>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",ase,e.toDisplayString(m.label),1)):e.createCommentVNode("",!0),m.count!=null?(e.openBlock(),e.createElementBlock("span",lse,e.toDisplayString(m.count),1)):e.createCommentVNode("",!0)],10,ose)),[[h,{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:v[1]||(v[1]=m=>c(Xw))})):e.createCommentVNode("",!0)],2)}}}),of=He(rse,[["__scopeId","data-v-58204f62"]]),sse=/[;;]/;function ise(t){if(!t)return[];const n=t.split(sse).map(o=>o.trim()).filter(Boolean);return[...new Set(n)]}function use(t,n){if(n.length===0)return t;const o=new Set(n);return t.filter(a=>o.has(a.name?.trim())||o.has(a.id?.trim()))}const cse=30;function dse(t){const n=t.pageSize??cse,o=e.ref(t.defaultSource),a=e.shallowRef([]),l=e.ref(""),r=e.shallowRef([]),i=e.ref(0),s=e.ref(""),c=e.ref(!1),f=e.ref(!1);let d=0,v=0;const h=e.ref(!1),m=e.computed(()=>!h.value&&r.value.length<i.value),g=()=>{r.value=[],i.value=0,h.value=!1};async function k(C=!1){const{fetchSopsPluginList:E}=t.api;if(!l.value){C||g();return}const x=v+=1,S=C?r.value.length:0;f.value=!0;try{const V=await E({template_id:t.templateId(),api_name:o.value,category:l.value,key:s.value||void 0,limit:n,offset:S});if(x!==v)return;const N=V.apis??[];if(C){const T=new Set(r.value.map(j=>j.id)),z=N.filter(j=>!T.has(j.id));r.value=[...r.value,...z],z.length===0&&(h.value=!0)}else r.value=N,h.value=!1;i.value=V.total}catch(V){if(x!==v)return;C?h.value=!0:g(),console.error(V)}finally{x===v&&(f.value=!1)}}async function y(C=""){const{fetchSopsPluginCategories:E}=t.api,x=d+=1;c.value=!0,a.value=[],l.value="",g();try{const S=await E({template_id:t.templateId(),api_name:o.value});if(x!==d)return;const V=use(S,t.categoryWhitelist?.()??[]);a.value=V;const N=V.some(T=>T.id===C);l.value=N?C:V[0]?.id??""}catch(S){if(x!==d)return;a.value=[],console.error(S)}finally{x===d&&(c.value=!1)}x===d&&l.value&&await k()}async function A(C){C!==o.value&&(o.value=C,await y())}async function _(C){C!==l.value&&(l.value=C,await k())}async function w(C){s.value=C,await k()}async function b(){f.value||!m.value||await k(!0)}return{activeSource:o,categories:a,activeCategory:l,plugins:r,keyword:s,categoriesLoading:c,pluginsLoading:f,hasMore:m,loadCategories:y,selectSource:A,selectCategory:_,search:w,loadMore:b}}function YE(t,n,o){const a=t.category||o;return t.category_name||n.find(l=>l.id===a)?.name||a}function fse(t){return t.latest_version?t.latest_version:t.default_version?t.default_version:t.versions?.[t.versions.length-1]||""}function pse(t){return JSON.parse(JSON.stringify(t))}function mse(t,n){const o=t.category||n.activeCategory,a=YE(t,n.categories,n.activeCategory),l=fse(t)||"v2.0.0",r=t.wrapper_version||"v2.0.0",i=n.sourceKey||t.source_key;return pse({id:t.id,name:t.name,meta_url:t.meta_url,api_key:n.apiName,plugin_source:t.plugin_source,plugin_code:t.plugin_code,plugin_version:l,wrapper_version:r,category:{id:o,name:a},meta_url_template:t.meta_url_template,versions:t.versions||[],latest_version:t.latest_version,default_version:t.default_version,desc:t.description||"",source_key:i})}function vse(t,n){const o=t.wrapper_version||"v2.0.0";return{name:t.name,code:"uniform_api",data:{},version:o,api_meta:mse(t,n)}}const gse={class:"sops-plugin-group"},hse={class:"group-header"},bse={class:"plugin-content-wrapper"},yse={class:"category-list"},kse=["onClick"],wse={class:"plugin-icon-wrapper"},Cse=["src"],Ase={class:"plugin-info-wrapper"},Ese={class:"plugin-name"},xse=["title"],_se={class:"plugin-category"},Bse={key:0,class:"list-more-tip"},Sse=e.defineComponent({__name:"index",props:{flowId:{},sources:{},activeSource:{default:""}},emits:["selectSopsPlugin"],setup(t,{emit:n}){const o=t,a=n,l=pt.ensureSopsCatalogApi(Vn()),r=Wi(),i=e.computed(()=>ise(r?.sopsCategoryWhitelist)),{activeSource:s,categories:c,activeCategory:f,plugins:d,keyword:v,categoriesLoading:h,pluginsLoading:m,hasMore:g,loadCategories:k,selectSource:y,selectCategory:A,search:_,loadMore:w}=dse({api:l,templateId:()=>o.flowId,defaultSource:V(),categoryWhitelist:()=>i.value}),b=e.ref([]),C=e.ref(s.value),E=e.ref(!1),x=[{id:"name",name:"插件名称"}],S=e.computed(()=>o.sources.map(L=>({value:L.id,label:L.name})));function V(){return o.sources.find(F=>F.id===o.activeSource)?.id??o.sources[0]?.id??""}e.onMounted(()=>{k()}),e.watch(C,L=>{y(L)});const N=L=>YE(L,c.value,f.value),T=L=>{const F=L.find(O=>O.id==="name");_(F?.values?.[0]?.name||"")},z=()=>{b.value=[],_("")},j=async L=>{if(E.value||m.value||!g.value)return;const{scrollTop:F,clientHeight:O,scrollHeight:P}=L.target;if(!(P-F-O>10)){E.value=!0;try{await w()}finally{E.value=!1}}},R=L=>{const F=o.sources.find(O=>O.id===s.value);a("selectSopsPlugin",vse(L,{apiName:s.value,sourceKey:F?.source_key||s.value,categories:c.value,activeCategory:f.value}))};return(L,F)=>{const O=e.resolveComponent("bk-button"),P=e.resolveDirective("bk-loading");return e.openBlock(),e.createElementBlock("div",gse,[e.createElementVNode("div",hse,[e.createVNode(of,{modelValue:C.value,"onUpdate:modelValue":F[0]||(F[0]=M=>C.value=M),class:"source-tabs",items:S.value},null,8,["modelValue","items"]),e.createVNode(ks,{modelValue:b.value,"onUpdate:modelValue":F[1]||(F[1]=M=>b.value=M),class:"source-search",options:x,placeholder:"搜索插件名称",onChange:T},null,8,["modelValue"])]),e.createElementVNode("div",bse,[e.withDirectives((e.openBlock(),e.createElementBlock("div",yse,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(c),M=>(e.openBlock(),e.createElementBlock("div",{key:M.id,class:e.normalizeClass(["category-item",{actived:M.id===e.unref(f)}]),onClick:H=>e.unref(A)(M.id)},e.toDisplayString(M.name),11,kse))),128)),!e.unref(h)&&e.unref(c).length===0?(e.openBlock(),e.createBlock(ln,{key:0,title:"暂无插件分类"})):e.createCommentVNode("",!0)])),[[P,{loading:e.unref(h)}]]),e.withDirectives((e.openBlock(),e.createElementBlock("div",{class:"plugins-list",onScroll:j},[e.unref(d).length>0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),M=>(e.openBlock(),e.createElementBlock("div",{key:M.id,class:"plugin-item"},[e.createElementVNode("div",wse,[e.createElementVNode("img",{src:e.unref(Wc),alt:"plugin-icon"},null,8,Cse)]),e.createElementVNode("div",Ase,[e.createElementVNode("h4",Ese,e.toDisplayString(M.name),1),e.createElementVNode("p",{class:"plugin-desc",title:M.description},e.toDisplayString(M.description||"--"),9,xse),e.createElementVNode("div",_se,e.toDisplayString(N(M)),1)]),e.createVNode(O,{theme:"primary",size:"small",onClick:H=>R(M)},{default:e.withCtx(()=>[...F[2]||(F[2]=[e.createTextVNode("选择",-1)])]),_:1},8,["onClick"])]))),128)),E.value?(e.openBlock(),e.createElementBlock("div",Bse,"加载中...")):e.createCommentVNode("",!0)],64)):e.unref(m)?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(ln,{key:1,"is-search":!!e.unref(v),title:"该分类暂无插件",onClear:z},null,8,["is-search"]))],32)),[[P,{loading:e.unref(m)&&!E.value}]])])])}}}),Vse=He(Sse,[["__scopeId","data-v-c48ba486"]]),Nse={class:"plugin-select-slider"},Tse={key:0,class:"plugin-select-content"},Dse=e.defineComponent({__name:"index",props:{show:{type:Boolean,default:!1},flowId:{},active:{default:""},bkflowTag:{default:0},sopsSource:{default:""},pluginGroupList:{default:()=>[]},inputData:{default:()=>({})},isBack:{type:Boolean,default:!1}},emits:["close","update:show","select","back"],setup(t,{emit:n}){const o={data:Sle,agent:Wle,model:Ere,knowledgebase:Fre,bkflow:tse,output:Hre,[pt.SOPS_PLUGIN_GROUP_NAME]:Vse},a=["bkflow",pt.SOPS_PLUGIN_GROUP_NAME],l=t,r=n,i=e.ref(l.active),s=e.shallowRef([]),c=e.ref(!1),f=e.computed(()=>o[i.value]||null),d=e.computed(()=>l.pluginGroupList.find(C=>C.name===i.value)?.properties||{}),v=e.computed(()=>l.pluginGroupList.find(C=>C.name==="bkflow")?.children||[]),h=e.computed(()=>i.value==="knowledgebase"?{cancel:b}:{}),m=e.computed(()=>{if(i.value!==pt.SOPS_PLUGIN_GROUP_NAME)return{};const C=pt.getSopsPluginSources(l.pluginGroupList);return{flowId:l.flowId,activeSource:l.sopsSource,sources:C}});e.watch(()=>l.show,()=>{l.show&&(i.value=l.active,a.includes(i.value)||g())});const g=()=>{const C=l.pluginGroupList.find(E=>E.name===i.value);s.value=C?C.children:[]},k=C=>{s.value=[],i.value=C,a.includes(C)||g()},y=C=>{if(typeof C=="object"&&C.pluginId){const E=s.value.find(x=>x.id===C.pluginId);r("select","projectPlugin",E,C.inputData)}else{const E=s.value.find(x=>x.id===C);r("select","projectPlugin",E)}},A=C=>{r("select","bkflowPlugin",C)},_=C=>{r("select","sopsPlugin",C)},w=()=>l.isBack?(r("back"),!1):(b(),!0),b=()=>{s.value=[],r("close"),r("update:show",!1)};return(C,E)=>{const x=e.resolveComponent("bk-sideslider"),S=e.resolveDirective("bk-loading");return e.openBlock(),e.createBlock(x,{title:"节点选择","is-show":l.show,width:1200,"esc-close":!1,"before-close":w},{default:e.withCtx(()=>[e.createElementVNode("div",Nse,[e.createVNode(ple,{active:i.value,"onUpdate:active":E[0]||(E[0]=V=>i.value=V),groups:l.pluginGroupList,onChange:k},null,8,["active","groups"]),l.show?e.withDirectives((e.openBlock(),e.createElementBlock("section",Tse,[f.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f.value),e.mergeProps({key:i.value,plugins:s.value,loading:c.value,"bkflow-plugin-tags":v.value,"active-tag":l.bkflowTag,properties:d.value,"input-data":l.inputData},m.value,e.toHandlers(h.value),{onSelect:y,onSelectBkflowPlugin:A,onSelectSopsPlugin:_}),null,16,["plugins","loading","bkflow-plugin-tags","active-tag","properties","input-data"])):e.createCommentVNode("",!0)])),[[S,{loading:c.value}]]):e.createCommentVNode("",!0)])]),_:1},8,["is-show"])}}}),Ise=He(Dse,[["__scopeId","data-v-368307a9"]]),Ose="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",Mse={class:"option-item"},Pse=["src"],Lse={class:"option-name"},Rse=e.defineComponent({__name:"option-item",props:{option:{}},setup(t){const n=t,o=a=>{const l=a.target;l.src!==pt.PLUGIN_GROUP_DEFAULT_ICON&&(l.src=pt.PLUGIN_GROUP_DEFAULT_ICON)};return(a,l)=>(e.openBlock(),e.createElementBlock("div",Mse,[e.createElementVNode("img",{class:"option-img",src:n.option.iconUrl||e.unref(pt.PLUGIN_GROUP_DEFAULT_ICON),onError:o},null,40,Pse),e.createElementVNode("div",Lse,e.toDisplayString(n.option.name),1),n.option.type==="group"?(e.openBlock(),e.createBlock(e.unref(yn.AngleRight),{key:0,class:"angle-icon"})):e.createCommentVNode("",!0),n.option.type==="link"?(e.openBlock(),e.createBlock(e.unref(yn.ArrowsRight),{key:1,class:"arrow-icon"})):e.createCommentVNode("",!0)]))}}),Jw=He(Rse,[["__scopeId","data-v-0a4661f8"]]),Fse={class:"quick-edit-popover"},zse={class:"search-input"},jse={class:"plugin-option-list"},Hse={key:0,class:"logic-node-list"},Use=["onClick"],Gse={class:"logic-node-name"},Wse={key:1,class:"data-plugin-list"},Yse=["onClick"],qse={class:"data-plugin-name"},Qse={key:2,class:"agent-plugin-list"},$se={class:"list-wrapper"},Kse=["onClick"],Zse={class:"agent-name"},Xse={class:"agent-en-name"},Jse={key:3,class:"agent-plugin-list"},eie={class:"list-wrapper"},tie=["onClick"],nie={class:"agent-name"},oie={key:4,class:"bkflow-tag-list"},aie=["onClick"],lie={key:5,class:"bkflow-tag-list"},rie=["onClick"],sie=["onClick"],iie=e.defineComponent({__name:"index",props:{pluginGroupList:{default:()=>[]}},emits:["addNode","addPlugin","openPluginSelect"],setup(t,{emit:n}){const o={branchgateway:ri.find(_=>_.type==="exclusive-gateway")?.icon??"bkflow-canvas-fenzhiwangguan",parallelgateway:ri.find(_=>_.type==="parallel-gateway")?.icon??"bkflow-canvas-bingxingwangguan",conditionalparallelgateway:ri.find(_=>_.type==="conditional-parallel-gateway")?.icon??"bkflow-canvas-tiaojianbingxingwangguan",convergegateway:ri.find(_=>_.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=Wi(),i=t,s=n,c=e.shallowRef([]),f=e.ref(""),d=e.shallowRef([...c.value||[]]),v=e.computed(()=>(i.pluginGroupList.find(_=>_.name==="agent")?.children.length||0)>10);e.watch(()=>i.pluginGroupList,_=>{const w=[{id:"logic",name:"逻辑",iconUrl:Ose,type:"group",width:160,children:a}];_.forEach(b=>{w.push({id:b.name,name:b.alias,iconUrl:b.iconUrl,type:b.name==="knowledgebase"?"link":"group",width:b.name==="data"||b.name===pt.SOPS_PLUGIN_GROUP_NAME?160:280,children:b.children.map(C=>{if(b.name==="data"){const{id:E,name:x,alias:S}=C;return{id:E,name:S,icon:l[x]}}else if(b.name==="agent"){const{id:E,alias:x,name:S}=C;return{id:E,name:x,enName:S}}else if(b.name==="bkflow"){const{id:E,name:x}=C;return{id:E,name:x}}return C})})}),c.value=w,d.value=[...c.value]},{immediate:!0});const h=_=>{const w=_.trim().toLowerCase();if(w===""){d.value=[...c.value];return}const b=[];c.value.forEach(C=>{if(C.name.toLowerCase().includes(w))b.push(C);else if(C.type==="group"){const E=[];C.children?.forEach(x=>{x.name.toLowerCase().includes(w)&&E.push(x)}),E.length>0&&b.push({...C,children:E})}}),d.value=b},m=()=>{f.value="",d.value=[...c.value]},g=_=>{s("addNode",_)},k=(_,w)=>{w==="bkflow"?y("bkflow",_):w===pt.SOPS_PLUGIN_GROUP_NAME?y(pt.SOPS_PLUGIN_GROUP_NAME,_):s("addPlugin",_,w)},y=(_,w=0)=>{s("openPluginSelect",_,w)},A=_=>{_==="agent"&&!v.value?r?.agentApplyUrl&&window.open(r.agentApplyUrl,"_blank"):y(_)};return(_,w)=>{const b=e.resolveComponent("bk-input"),C=e.resolveComponent("bk-button"),E=e.resolveComponent("bk-popover");return e.openBlock(),e.createElementBlock("div",Fse,[e.createElementVNode("div",zse,[e.createVNode(b,{modelValue:f.value,"onUpdate:modelValue":w[0]||(w[0]=x=>f.value=x),placeholder:"搜索节点",type:"search",clearable:!0,onClear:m,onInput:h},null,8,["modelValue"])]),e.createElementVNode("div",jse,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,x=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:x.id},[x.type==="group"?(e.openBlock(),e.createBlock(E,{key:0,theme:"light",placement:"right-start","ext-cls":"plugin-child-popover",boundary:"parent",arrow:!1,width:x.width,"popover-delay":[0,100]},{content:e.withCtx(()=>[x.id==="logic"?(e.openBlock(),e.createElementBlock("div",Hse,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.children,S=>(e.openBlock(),e.createElementBlock("div",{key:S.id,class:"logic-node-item",onClick:V=>g(S.id)},[e.createElementVNode("i",{class:e.normalizeClass(["bkflow-canvas-icon",S.icon])},null,2),e.createElementVNode("span",Gse,e.toDisplayString(S.name),1)],8,Use))),128))])):x.id==="data"?(e.openBlock(),e.createElementBlock("div",Wse,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.children?.slice(0,10),S=>(e.openBlock(),e.createElementBlock("div",{class:"data-plugin-item",key:S.id,onClick:V=>k(S.id,"data")},[e.createElementVNode("div",qse,e.toDisplayString(S.name),1)],8,Yse))),128))])):x.id==="agent"?(e.openBlock(),e.createElementBlock("div",Qse,[e.createElementVNode("div",$se,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.children?.slice(0,10),S=>(e.openBlock(),e.createElementBlock("div",{class:"agent-plugin-item",key:S.id,onClick:V=>k(S.id,"agent")},[e.createElementVNode("span",Zse,e.toDisplayString(S.name),1),e.createElementVNode("span",Xse,"("+e.toDisplayString(S.enName)+")",1)],8,Kse))),128))])])):x.id==="model"?(e.openBlock(),e.createElementBlock("div",Jse,[e.createElementVNode("div",eie,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.children?.slice(0,10),S=>(e.openBlock(),e.createElementBlock("div",{class:"agent-plugin-item",key:S.id,onClick:V=>k(S.id,"model")},[e.createElementVNode("span",nie,e.toDisplayString(S.alias||S.enName),1)],8,tie))),128))])])):x.id==="bkflow"?(e.openBlock(),e.createElementBlock("div",oie,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.children?.slice(0,10),S=>(e.openBlock(),e.createElementBlock("div",{class:"bkflow-tag-item",key:S.id,onClick:V=>k(S.id,"bkflow")},e.toDisplayString(S.name),9,aie))),128))])):x.id===e.unref(pt.SOPS_PLUGIN_GROUP_NAME)?(e.openBlock(),e.createElementBlock("div",lie,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.children,S=>(e.openBlock(),e.createElementBlock("div",{class:"bkflow-tag-item",key:S.id,onClick:V=>k(S.id,e.unref(pt.SOPS_PLUGIN_GROUP_NAME))},e.toDisplayString(S.name),9,rie))),128))])):e.createCommentVNode("",!0),x.children&&x.children.length===0?(e.openBlock(),e.createBlock(ln,{key:6,class:"group-empty-exception",title:`暂无${x.name}插件`},null,8,["title"])):e.createCommentVNode("",!0),x.id==="agent"||x.children&&x.children.length>10?(e.openBlock(),e.createElementBlock("div",{key:7,class:"list-footer",onClick:S=>A(x.id)},[e.createVNode(C,{theme:"primary",text:"",size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.id==="agent"&&!v.value?"申请更多权限":"更多"),1)]),_:2},1024),w[1]||(w[1]=e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-arrow2"},null,-1))],8,sie)):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.createVNode(Jw,{option:x},null,8,["option"])]),_:2},1032,["width"])):(e.openBlock(),e.createBlock(Jw,{key:1,option:x,onClick:S=>y(x.id)},null,8,["option","onClick"]))],64))),128)),d.value.length===0?(e.openBlock(),e.createBlock(ln,{key:0,"is-search":f.value.length>0,onClear:m},null,8,["is-search"])):e.createCommentVNode("",!0)])])}}}),e1=He(iie,[["__scopeId","data-v-fe6d0204"]]),uie={class:"pipeline-editor-container"},cie={class:"dnd-palette-items"},die=["data-dnd-type","title","onMouseenter"],fie={class:"dnd-item-text"},pie=["src"],om=100,mie=e.defineComponent({__name:"index",props:{mode:{},flowId:{},pipelineTree:{},systemVariables:{default:()=>[]},pluginGroupList:{default:()=>[]},dndNodeTypes:{default:()=>ri},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 d(se,U){if(!U.tipsImage)return;const I=se.currentTarget.getBoundingClientRect(),J=s.value?.getBoundingClientRect().right??I.right+16;f.value={visible:!0,x:J+8,y:Math.max(8,Math.min(window.innerHeight-208,I.top+I.height/2-100)),image:U.tipsImage}}function v(){f.value.visible=!1}const h=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,U])=>{if(c.forEach(J=>J()),c.length=0,!se||!U)return;const I=U.querySelectorAll("[data-dnd-type]");for(const J of I){const q=J.dataset.dndType,ve=se.registerDndSource(J,()=>({id:`node${pt.generateId()}`,type:q,position:{x:0,y:0},label:"",payload:{}}));c.push(ve)}},{flush:"post"}),e.onBeforeUnmount(()=>{c.forEach(se=>se()),S&&(clearTimeout(S),S=null)});const g=e.ref({show:!1,nodeId:"",edgeId:"",condition:null,hasDefaultBranch:!1,isDefault:!1}),k=e.ref({show:!1,node:null,constants:null}),y=e.computed(()=>pt.getSopsPluginSources(a.pluginGroupList)),A=e.ref({show:!1,active:a.pluginGroupList[0]?.name||"",bkflowTag:0,sopsSource:"",node:null,constants:null,isBack:!1});e.watch(()=>r.value?.editor?.flowModel.value,se=>{if(se){if(k.value.show&&k.value.node&&(se.nodes[k.value.node.id]||(k.value={show:!1,node:null,constants:null})),g.value.show){const{nodeId:U,edgeId:I}=g.value;(!se.nodes[U]||!se.edges[I])&&(g.value={...g.value,show:!1})}x.value.show&&(se.nodes[x.value.nodeId]||(x.value={...x.value,show:!1})),A.value.show&&A.value.node&&(se.nodes[A.value.node.id]||(A.value={...A.value,show:!1,node:null,constants:null,isBack:!1}))}});const _=e.computed(()=>{const se=r.value?.editor;return se?new Hg(se.flowModel.value).globalVariables:a.pipelineTree.constants});function w(){return r.value?.editor}function b(se){const U=w();U&&U.executeCommand(se)}function C(se){l("change",se)}function E(se){l("ui-event",se),se.type==="node.action.debug"&&Ne(se.nodeId)}const x=e.ref({show:!1,nodeId:"",screenPosition:{x:0,y:0}});let S=null;e.watch(()=>a.mode,se=>{se!=="edit"&&(k.value={show:!1,node:null,constants:null},g.value={...g.value,show:!1},A.value={...A.value,show:!1,node:null,constants:null,isBack:!1},x.value={...x.value,show:!1})});function V(){S=setTimeout(()=>{x.value.show=!1,S=null},150)}function N(){S&&(clearTimeout(S),S=null)}function T(se){return vi(se,w()?.schema)}function z(se){const U=w();if(!U)return{x:0,y:0};const I=U.api.value;if(!I)return{x:0,y:0};const J=I.unsafeGetGraph(),q=U.flowModel.value.nodes[se];if(!q)return{x:0,y:0};const ve=Ra.width,ge=Ra.height;return J.localToPage(q.position.x+ve,q.position.y+ge/2)}function j(se){if(a.thumbnail)return;const U=w();if(!U)return;const I=U.flowModel.value.nodes[se.nodeId];if(!I)return;if(a.mode==="execute"){l("running-node-click",se.nodeId);return}if(a.mode==="mock-config"){if(I.type!=="task")return;const Be=Qn(U.flowModel.value).activities[se.nodeId];Be&&l("mock-node-click",Fe(Be));return}if(a.mode!=="edit"&&a.mode!=="view")return;if(I.type==="placeholder"){const ge=z(se.nodeId);x.value={show:!0,nodeId:se.nodeId,screenPosition:{x:ge.x+18,y:ge.y-18}};return}if(I.type!=="task")return;const q=Qn(U.flowModel.value).activities[se.nodeId];if(!q)return;if(ste({mode:a.mode,componentCode:q.component?.code})==="plugin-select"){A.value=yw({node:Fe(q),constants:Fe(_.value),defaultGroup:a.pluginGroupList[0]?.name??"",sopsSources:y.value}),k.value={show:!1,node:null,constants:null};return}k.value=Lr({node:Fe(q),constants:Fe(_.value)})}function R(se){if(a.thumbnail||a.mode!=="edit")return;const U=w();if(!U)return;const I=U.flowModel.value,J=I.edges[se.edgeId];if(!J)return;const q=I.nodes[J.source.nodeId];if(!q||!(q.type==="exclusive-gateway"||q.type==="conditional-parallel-gateway"))return;const ge=q.payload??{},Be=ge.conditions??{},Ue=ge.defaultCondition,Xe=!!Ue&&typeof Ue.flow_id=="string";g.value.hasDefaultBranch=Xe,g.value.nodeId=J.source.nodeId,g.value.edgeId=se.edgeId,Ue?.flow_id===se.edgeId?(g.value.condition=Fe(Ue)??null,g.value.isDefault=!0):Be[se.edgeId]&&(g.value.condition=Fe(Be[se.edgeId])??null,g.value.isDefault=!1),g.value.show=!0}function L(se){const U=w();if(!U)return{x:0,y:0};const I=U.flowModel.value.nodes[se];return I?{...I.position}:{x:0,y:0}}function F(se,U,I){const J=w();if(!J)return[];const q=J.flowModel.value,ve=q.nodes[se];if(!ve)return[];const ge=ve.type.includes("gateway"),Be=Object.values(q.edges).filter(Ce=>Ce.source.nodeId===se);if(ge||Be.length===0)return[];const Xe=T(U).width+om,lt=Be[0].target.nodeId,rt=new Set,oe=[lt],ie=[];for(;oe.length>0;){const Ce=oe.shift();if(rt.has(Ce)||Ce===se)continue;rt.add(Ce);const Le=q.nodes[Ce];if(Le){ie.push({type:"node.move",nodeId:Ce,position:{x:Le.position.x+Xe,y:Le.position.y}});for(const ke of Object.values(q.edges))ke.source.nodeId===Ce&&!rt.has(ke.target.nodeId)&&oe.push(ke.target.nodeId)}}return ie}function O(se){const U=w();if(!U)return 0;const I=U.flowModel.value.nodes[se];if(!I)return 0;const J=T(I.type);return I.position.x+J.width+om}function P(se,U){const I=w();if(!I)return 0;const J=I.flowModel.value,q=J.nodes[se];if(!q)return 0;const ve=q.position.y;if(q.type.includes("gateway")){const lt=Object.values(J.edges).filter(rt=>rt.source.nodeId===se);if(lt.length>0)return lt.reduce((oe,ie)=>{const Ce=J.nodes[ie.target.nodeId];return Ce?Math.max(oe,Ce.position.y):oe},0)+om}const ge=I.schema.nodeTypes[q.type],Be=I.schema.nodeTypes[U],Ue=ge?.getSize(q)?.height??48,Xe=Be?.getSize({id:"",type:U,position:{x:0,y:0}})?.height??48;return ve+(Ue-Xe)/2}function M(se,U,I,J={}){const q={x:O(se),y:P(se,I)};return[...F(se,I),...H(U,I,q,J),...W(se,U)]}function H(se,U,I,J={}){return[{type:"node.add",node:{id:se,type:U,position:I,label:J.name??"",payload:J}}]}function W(se,U){const I=w();if(!I)return[];const J=I.flowModel.value,q=[],ve=Object.entries(J.edges).filter(([,Ue])=>Ue.source.nodeId===se);if(J.nodes[se]?.type.includes("gateway")&&ve.length>0)q.push({type:"edge.add",edge:{id:`line${pt.generateId()}`,source:{nodeId:se,portId:"bottom"},target:{nodeId:U,portId:"left"}}});else if(ve.length===0)q.push({type:"edge.add",edge:{id:`line${pt.generateId()}`,source:{nodeId:se,portId:"right"},target:{nodeId:U,portId:"left"}}});else{const[Ue,Xe]=ve[0],lt=Xe.target.nodeId;q.push({type:"edge.remove",edgeId:Ue},{type:"edge.add",edge:{id:`line${pt.generateId()}`,source:{nodeId:se,portId:"right"},target:{nodeId:U,portId:"left"}}},{type:"edge.add",edge:{id:`line${pt.generateId()}`,source:{nodeId:U,portId:"right"},target:{nodeId:lt,portId:"left"}}})}return q}function X(se,U,I={}){const J=w();if(!J)return;const q=J.flowModel.value.nodes[se];if(!q)return;const ve={id:"",type:U,position:{x:0,y:0},label:I.name??"",payload:I};b({id:pt.generateId(),source:"user:panel",label:"替换占位节点",timestamp:Date.now(),commands:si(q,ve,J.schema)})}function G(se,U,I){const J=w();if(!J)return;const q=J.flowModel.value.edges[se],ve=U||"";if(q?.labels?.length){b({id:pt.generateId(),source:"user:panel",label:"更新边标签",timestamp:Date.now(),commands:[{type:"edge.label.update",edgeId:se,labelId:q.labels[0].id,patch:{text:ve,...I!==void 0?{position:I}:{}}}]});return}b({id:pt.generateId(),source:"user:panel",label:"新增边标签",timestamp:Date.now(),commands:[{type:"edge.update",edgeId:se,patch:{labels:[{id:`label-${se}`,text:ve,position:I??Bo}]}}]})}function Q(se,U=x.value.nodeId){const I=K[se]??se;U&&(X(U,I),x.value.show=!1)}function ne(se,U,I=x.value.nodeId){const q=a.pluginGroupList.find(Be=>Be.name===U)?.children.find(Be=>Be.id===se);if(!q)return;const ve={name:q.alias||q.name,component:{code:"uniform_api",data:{},version:q.version??"v2.0.0",api_meta:{id:q.id,name:q.name,alias:q.alias||q.name,meta_url:q.meta_url,api_key:q.api_key??"incident",category:{id:q.category_id,name:U}}}},ge=I;ge&&(X(ge,"task",ve),x.value.show=!1,e.nextTick(()=>{const Be=w();if(!Be)return;const Xe=Qn(Be.flowModel.value).activities[ge];Xe&&(k.value=Lr({node:Fe(Xe),constants:Fe(_.value)}))}))}function ae(se){return typeof se=="number"?{bkflowTag:se,sopsSource:""}:{bkflowTag:0,sopsSource:se}}function $(se,U,I=x.value.nodeId){const J=I;J&&(X(J,"task"),x.value.show=!1,e.nextTick(()=>{const q=w();if(!q)return;const ge=Qn(q.flowModel.value).activities[J];ge&&(A.value={show:!0,active:se,...ae(U),node:Fe(ge),constants:Fe(_.value),isBack:!1})}))}const K={tasknode:"task",branchgateway:"exclusive-gateway",parallelgateway:"parallel-gateway",conditionalparallelgateway:"conditional-parallel-gateway",convergegateway:"converge-gateway"};function me(se,U){const I=K[U]??U,J=`node${pt.generateId()}`,q=M(se,J,I);b({id:pt.generateId(),source:"user:quick-add",label:"快捷添加节点",timestamp:Date.now(),commands:q})}function te(se,U,I){const q=a.pluginGroupList.find(Ue=>Ue.name===I)?.children.find(Ue=>Ue.id===U);if(!q)return;const ve=`node${pt.generateId()}`,ge={name:q.alias||q.name,component:{code:"uniform_api",data:{},version:q.version??"v2.0.0",api_meta:{id:q.id,name:q.name,alias:q.alias||q.name,meta_url:q.meta_url,api_key:q.api_key??"incident",category:{id:q.category_id,name:I}}}},Be=M(se,ve,"task",ge);b({id:pt.generateId(),source:"user:quick-add",label:"快捷添加插件节点",timestamp:Date.now(),commands:Be}),e.nextTick(()=>{const Ue=w();if(!Ue)return;const lt=Qn(Ue.flowModel.value).activities[ve];lt&&(k.value=Lr({node:Fe(lt),constants:Fe(_.value)}))})}function re(se,U,I=0){const J=`node${pt.generateId()}`,q=M(se,J,"task");b({id:pt.generateId(),source:"user:quick-add",label:"快捷添加并选择插件",timestamp:Date.now(),commands:q}),e.nextTick(()=>{const ve=w();if(!ve)return;const Be=Qn(ve.flowModel.value).activities[J];Be&&(A.value={show:!0,active:U,...ae(I),node:Fe(Be),constants:Fe(_.value),isBack:!1})})}function ue(se){const U=w();if(!U)return;const I=Qn(U.flowModel.value),J=`node${pt.generateId()}`,q=L(se),ve=U.flowModel.value.nodes[se];if(!ve)return;let ge={};I.activities[se]&&(ge={...Fe(I.activities[se]),id:J,incoming:[],outgoing:""}),b({id:pt.generateId(),source:"user:toolbar",label:"复制节点",timestamp:Date.now(),commands:H(J,ve.type,{x:q.x+200,y:q.y},ge)})}function pe(se){const U=w();if(!U)return;const I=Qn(U.flowModel.value),J=`node${pt.generateId()}`,q=L(se),ve=U.flowModel.value.nodes[se];if(!ve)return;let ge={};I.activities[se]&&(ge={...Fe(I.activities[se]),id:J,incoming:[],outgoing:""});const Be=P(se,ve.type),Ue=[...H(J,ve.type,{x:q.x+200,y:Be},ge),...W(se,J)];b({id:pt.generateId(),source:"user:toolbar",label:"复制并插入节点",timestamp:Date.now(),commands:Ue})}function Ae(se){const U=w();if(!U)return;const I=U.flowModel.value,J=Object.entries(I.edges).filter(([,q])=>q.source.nodeId===se||q.target.nodeId===se).map(([q])=>q);J.length!==0&&b({id:pt.generateId(),source:"user:toolbar",label:"解除连线",timestamp:Date.now(),commands:J.map(q=>({type:"edge.remove",edgeId:q}))})}function Pe(se){b({id:pt.generateId(),source:"user:toolbar",label:"删除节点",timestamp:Date.now(),commands:[{type:"node.remove",nodeId:se}]})}function Qe(se,U){const{nodeId:I,edgeId:J,isDefault:q}=g.value,ve=w();if(!ve)return;const ge=ve.flowModel.value,Be=[],{name:Ue,tag:Xe,evaluate:lt="",loc:rt}=se,oe={name:Ue,tag:Xe,evaluate:lt.trim()};if(rt&&(oe.loc=rt),U?(delete oe.evaluate,oe.flow_id=J,Be.push({type:"node.set-payload",nodeId:I,path:["defaultCondition"],value:oe}),q||Be.push({type:"node.set-payload",nodeId:I,path:["conditions",J],value:void 0})):(Be.push({type:"node.set-payload",nodeId:I,path:["conditions",J],value:oe}),q&&Be.push({type:"node.set-payload",nodeId:I,path:["defaultCondition"],value:void 0})),Be.push({type:"edge.set-payload",edgeId:J,path:["isDefault"],value:U}),U&&!q){const Le=ge.nodes[I],ke=Le?.payload?.defaultCondition;if(ke?.flow_id&&ke.flow_id!==J){const je=ke.flow_id;Be.push({type:"edge.set-payload",edgeId:je,path:["isDefault"],value:!1});const fe=Le?.payload?.conditions?.[je],Oe=ge.edges[je];Oe?.labels?.length&&Be.push({type:"edge.label.update",edgeId:je,labelId:Oe.labels[0].id,patch:{text:fe?.name??"",position:Oe.labels[0].position??Bo}})}}const ie=U?oe.name||"默认":oe.name||"",Ce=ge.edges[J];Ce?.labels?.length?Be.push({type:"edge.label.update",edgeId:J,labelId:Ce.labels[0].id,patch:{text:ie,position:Ce.labels[0].position??Bo}}):Be.push({type:"edge.update",edgeId:J,patch:{labels:[{id:`label-${J}`,text:ie,position:Bo}]}}),b({id:pt.generateId(),source:"user:panel",label:"编辑分支条件",timestamp:Date.now(),commands:Be})}function qe(se,U){A.value=yw({node:Fe(se),constants:Fe(U),defaultGroup:a.pluginGroupList[0]?.name??"",sopsSources:y.value}),k.value={show:!1,node:null,constants:null}}function Te(){A.value.node&&(k.value=Lr({node:Fe(A.value.node),constants:Fe(A.value.constants??_.value)}),A.value={...A.value,show:!1,node:null,constants:null,isBack:!1})}function xe(se,U,I){if(!A.value.node)return;const J=Fe(A.value.node);if(se==="projectPlugin"){const{id:q,name:ve,alias:ge,meta_url:Be,api_key:Ue="incident",version:Xe="v2.0.0",category:lt,category_id:rt}=U;J.component={code:"uniform_api",data:I||{},version:Xe,api_meta:{id:q,name:ve,alias:ge||ve,meta_url:Be,api_key:Ue,category:{id:rt,name:lt}}},J.name=ge}else{const{name:q,...ve}=U;J.component=ve,J.name=q}k.value=Lr({node:J,constants:Fe(A.value.constants??_.value)}),A.value={...A.value,show:!1,node:null,constants:null,isBack:!1}}function ot(se,U){const I=[{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:U}];b({id:pt.generateId(),source:"user:panel",label:"保存节点配置",timestamp:Date.now(),commands:I}),k.value={show:!1,node:null,constants:null}}function de(se){b({id:pt.generateId(),source:"user:panel",label:"更新全局变量",timestamp:Date.now(),commands:[{type:"model.set-meta",path:["variables"],value:se}],skipHistory:!0}),i.value&&k.value.show&&i.value.updateConstants?.(se)}function le(se){b({id:pt.generateId(),source:"user:panel",label:"更新输出变量",timestamp:Date.now(),commands:[{type:"model.set-meta",path:["outputs"],value:se}],skipHistory:!0})}const be=se=>{i.value&&k.value.show&&i.value.updateNodeInputParams?.(se)},tt={addEmptyNode:me,addPlugin:te,addNodeAndSelectPlugin:re,updateEdgeLabel:G,copyNode:ue,copyNodeAndInsert:pe,detachEdges:Ae,deleteNode:Pe};e.provide("bkflow-node-operations",tt);const ut=e.ref(!1);function ft(){return r.value?.$el?.offsetWidth??document.documentElement.offsetWidth-200}function st(se){ut.value=se}function _e(se,U){const I=m.value;I&&(I.scrollToNode(se,U),I.highlightNodes([se]),setTimeout(()=>I.clearHighlight(),1500))}function Ne(se){if(a.thumbnail)return;const U=w();if(!U)return;const I=U.flowModel.value.nodes[se];if(!I||I.type!=="task")return;const q=Qn(U.flowModel.value).activities[se];q&&(k.value=Lr({node:Fe(q),constants:Fe(_.value),initialTab:"debug"}))}function Ie(se){m.value?.zoomToFit(se)}function Ke(){m.value?.centerContent()}function ze(){return m.value?.getZoom()??1}return n({updateNodeInputParams:be,updateGlobalVariables:de,updateOutputs:le,bkflowCanvasRef:r,getCanvasWidth:ft,setFormatLoading:st,formatLoading:ut,locateNode:_e,openNodeDebugPanel:Ne,zoomToFit:Ie,centerContent:Ke,getZoom:ze,updatePipelineTree:se=>r.value?.updatePipelineTree?.(se),...tt}),(se,U)=>(e.openBlock(),e.createElementBlock("div",uie,[e.createVNode(ef,{ref_key:"bkflowCanvasRef",ref:r,"pipeline-tree":a.pipelineTree,mode:a.mode,thumbnail:a.thumbnail,"default-zoom":a.defaultZoom,"node-actions":h.value,"quick-add":a.quickAdd,"additional-plugins":a.additionalPlugins,"toolbar-items":a.toolbarItems,"simulate-debug-context":a.simulateDebugContext,"debug-context":a.debugContext,onChange:C,onNodeClick:j,onEdgeLabelClick:R,onUiEvent:E,onFormatPosition:U[0]||(U[0]=I=>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",cie,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.dndNodeTypes,I=>(e.openBlock(),e.createElementBlock("div",{key:I.type,"data-dnd-type":I.disabled?void 0:I.type,class:e.normalizeClass(["dnd-palette-item",{"is-disabled":I.disabled}]),title:I.disabled?I.disabledTip:I.tipsImage?void 0:I.label,onMouseenter:J=>d(J,I),onMouseleave:v},[e.createElementVNode("i",{class:e.normalizeClass(["bkflow-canvas-icon",I.icon])},null,2),e.createElementVNode("span",fie,e.toDisplayString(I.label),1)],42,die))),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,pie)],4)):e.createCommentVNode("",!0)]))],512)):e.createCommentVNode("",!0)],!0)]),"quick-add-panel":e.withCtx(({node:I,closePopover:J})=>[e.createVNode(e1,{"plugin-group-list":a.pluginGroupList,onAddNode:q=>{me(I.id,q),J()},onAddPlugin:(q,ve)=>{te(I.id,q,ve),J()},onOpenPluginSelect:(q,ve)=>{re(I.id,q,ve),J()}},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"},[x.value.show?(e.openBlock(),e.createElementBlock("div",{key:0,class:"placeholder-popover-mask",onClick:U[1]||(U[1]=e.withModifiers(I=>x.value.show=!1,["self"]))},[e.createElementVNode("div",{class:"placeholder-popover",style:e.normalizeStyle({left:`${x.value.screenPosition.x}px`,top:`${x.value.screenPosition.y}px`}),onMouseleave:V,onMouseenter:N},[e.createVNode(e1,{"plugin-group-list":a.pluginGroupList,onAddNode:Q,onAddPlugin:ne,onOpenPluginSelect:$},null,8,["plugin-group-list"])],36)])):e.createCommentVNode("",!0)])),!a.thumbnail&&g.value.condition?(e.openBlock(),e.createBlock(bte,{key:0,show:g.value.show,"onUpdate:show":U[2]||(U[2]=I=>g.value.show=I),condition:g.value.condition,"has-default-branch":g.value.hasDefaultBranch,"is-default":g.value.isDefault,editable:a.mode==="edit",onConfirm:Qe},null,8,["show","condition","has-default-branch","is-default","editable"])):e.createCommentVNode("",!0),!a.thumbnail&&k.value.node?(e.openBlock(),e.createBlock(rle,{key:1,ref_key:"nodeConfigPanelRef",ref:i,show:k.value.show,"onUpdate:show":U[3]||(U[3]=I=>k.value.show=I),"flow-id":a.flowId,node:k.value.node,editable:a.mode==="edit","enable-debug":a.enableNodeDebug,"initial-tab":k.value.initialTab??"config","system-variables":a.systemVariables,constants:k.value.constants??_.value,onSelectPlugin:qe,onConfirm:ot},{inputParams:e.withCtx(I=>[e.renderSlot(se.$slots,"inputParams",e.normalizeProps(e.guardReactiveProps(I)),void 0,!0)]),debugConfig:e.withCtx(I=>[e.renderSlot(se.$slots,"nodeDebugConfig",e.normalizeProps(e.guardReactiveProps(I)),void 0,!0)]),_:3},8,["show","flow-id","node","editable","enable-debug","initial-tab","system-variables","constants"])):e.createCommentVNode("",!0),a.thumbnail?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Ise,{key:2,show:A.value.show,"onUpdate:show":U[4]||(U[4]=I=>A.value.show=I),"flow-id":a.flowId,active:A.value.active,"bkflow-tag":A.value.bkflowTag,"sops-source":A.value.sopsSource,"plugin-group-list":a.pluginGroupList,"input-data":A.value.node?.component?.data||{},"is-back":A.value.isBack,onBack:Te,onSelect:xe},null,8,["show","flow-id","active","bkflow-tag","sops-source","plugin-group-list","input-data","is-back"]))]))}}),Ed=He(mie,[["__scopeId","data-v-9e22ab94"]]);function qE(t){return JSON.stringify({name:t.name,variables:t.variables,customFormData:t.customFormData,additionalTaskParams:t.additionalTaskParams})}function vie(t){return t.editable?t.lastSavedSnapshot!==qE(t.currentDraft):!1}const gie={class:"execute-flow-slider"},hie={class:"flow-name-wrapper"},bie={class:"form-params-wrapper"},yie={key:0,class:"sideslider-footer-buttons"},kie=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:{},selectRelatedOptionConfig:{}},emits:["confirm","close","update:show","before-close","view-flow"],setup(t,{emit:n}){const o=e.useSlots(),a=t,l=n,r=Al(a.apiConfig);ys(a.memberSelectorConfig),Bd(a.filterVariableConfig),Vd(a.selectRelatedOptionConfig),sr({},a.bkflowSaasUrl);const i={name:[{required:!0,message:"请输入任务名称",trigger:"blur"}]},s=e.shallowRef(null);yv(L=>s.value?.pipeline_tree?.activities?.[L]?.component);const c=e.shallowRef(!0),f=e.shallowRef([]),d=e.ref({}),v=e.shallowRef([]),h=e.ref({}),m=e.ref({}),g=e.ref(),k=e.ref(),y=e.ref(),A=e.ref({name:""}),_=e.shallowRef(!1),w=e.computed(()=>v.value.filter(L=>Fa(L)));let b="";const C=()=>{b=qE({name:A.value.name,variables:d.value,customFormData:h.value,additionalTaskParams:m.value})};e.watch(()=>a.show,L=>{L&&E()});const E=async()=>{c.value=!0,h.value={},m.value={};const L=await r.fetchFlowDetail(a.flowId);s.value=L,A.value.name=`${L.name}_${dt().format("YYYYMMDDHHmmss")}`;const F=[],O={};Object.values(L.pipeline_tree.constants).forEach(P=>{if(typeof P!="object"||P===null)return;const M=P;!["system","space"].includes(M.source_type)&&M.show_type==="show"&&F.push(M),"value"in M&&(O[M.key]=M.value)}),v.value=F,d.value=O,await x(),c.value=!1,setTimeout(C)},x=async()=>{const L=s.value?.pipeline_tree?.constants;if(!L){f.value=[];return}const F=Object.fromEntries(Object.entries(L).filter(([,O])=>{if(typeof O!="object"||O===null)return!1;const P=O;return P.source_type==="custom"&&P.show_type==="show"&&!Fa(P)}));if(Object.keys(F).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 O=await Id(r,F);f.value=O}catch(O){console.error("Failed to get input forms from constants:",O),f.value=[]}},S=()=>{l("view-flow")},V=L=>{d.value={...d.value,...Fe(L)}},N=L=>{h.value={...h.value,...L}},T=L=>{m.value={...m.value,...L}},z=async()=>{if(!r.createFlowTask||!r.executeFlowTask){console.warn("createFlowTask or executeFlowTask is not provided in api");return}const[L,F,O]=await Promise.all([g.value?.validate(),Promise.resolve(y.value&&typeof y.value.validate=="function"?y.value.validate():!0),Promise.resolve(k.value&&typeof k.value.validate=="function"?k.value.validate():!0)]);if(!(!L||!F||!O))try{_.value=!0;const P=await r.createFlowTask({...m.value,template_id:a.flowId,creator:"admin",name:A.value.name,constants:d.value});if(P.data.id){const M=await r.executeFlowTask({task_id:P.data.id,resource_type:"TASK",resource_id:P.data.id,permission_type:"OPERATE"});Kt({theme:"success",message:"执行成功"}),C();const H={createResult:P,executeResult:M};l("confirm",H),R(),a.onExecuteSuccess&&a.onExecuteSuccess(H)}}catch(P){console.error(P)}finally{_.value=!1}},j=()=>vie({editable:!!a.editable,lastSavedSnapshot:b,currentDraft:{name:A.value.name,variables:d.value,customFormData:h.value,additionalTaskParams:m.value}})?new Promise(F=>{eo.InfoBox({title:"确认离开?",content:"离开将会导致未保存信息丢失",confirmText:"离开",cancelText:"取消",width:320,onConfirm:()=>{R(),F(!0)},onCancel:()=>{F(!1)}})}):(R(),!0),R=()=>{l("before-close"),v.value=[],d.value={},h.value={},m.value={},l("close"),l("update:show",!1)};return(L,F)=>{const O=e.resolveComponent("bk-input"),P=e.resolveComponent("bk-form-item"),M=e.resolveComponent("bk-form"),H=e.resolveComponent("bk-button"),W=e.resolveComponent("bk-sideslider"),X=e.resolveDirective("bk-tooltips"),G=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(W,{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",yie,[e.createVNode(H,{theme:"primary",loading:_.value,onClick:z},{default:e.withCtx(()=>[...F[2]||(F[2]=[e.createTextVNode("确定",-1)])]),_:1},8,["loading"]),e.createVNode(H,{onClick:R},{default:e.withCtx(()=>[...F[3]||(F[3]=[e.createTextVNode("取消",-1)])]),_:1})]))]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",gie,[e.createVNode(M,{ref_key:"formRef",ref:g,"form-type":"vertical",model:A.value,rules:i,"label-width":100},{default:e.withCtx(()=>[t.showFlowEntry?(e.openBlock(),e.createBlock(P,{key:0,label:"排障流程",required:""},{default:e.withCtx(()=>[e.createElementVNode("div",hie,[e.createVNode(O,{readonly:"","model-value":s.value?.name},null,8,["model-value"]),e.withDirectives(e.createVNode(e.unref(yn.Share),{class:"link-icon",onClick:S},null,512),[[X,"查看排障流程",void 0,{top:!0}]])])]),_:1})):e.createCommentVNode("",!0),e.createVNode(P,{label:"任务名称",property:"name",required:""},{default:e.withCtx(()=>[e.createVNode(O,{modelValue:A.value.name,"onUpdate:modelValue":F[0]||(F[0]=Q=>A.value.name=Q),placeholder:"请输入任务名称","show-word-limit":"",maxlength:100},null,8,["modelValue"])]),_:1}),o.customFormContent?e.renderSlot(L.$slots,"customFormContent",{customFormData:h.value,additionalTaskParams:m.value,updateCustomFormData:N,updateAdditionalTaskParams:T},void 0,!0,1):e.createCommentVNode("",!0),e.createVNode(P,{label:"请求参数",property:"inputParams",description:"流程的入参"},{default:e.withCtx(()=>[e.createElementVNode("div",bie,[w.value.length>0?(e.openBlock(),e.createBlock(e.unref(Zd),{key:0,ref_key:"builtinVariableFormRef",ref:y,modelValue:d.value,"onUpdate:modelValue":F[1]||(F[1]=Q=>d.value=Q),variables:w.value,editable:a.editable},null,8,["modelValue","variables","editable"])):e.createCommentVNode("",!0),f.value.length>0?(e.openBlock(),e.createBlock(su,{key:1,ref_key:"renderFormRef",ref:k,scheme:f.value,editable:a.editable,"form-option":{showRequired:!0,showGroup:!0,showLabel:!1,showHook:!1,showDesc:!0,formEdit:a.editable},"form-data":d.value,onChange:V},null,8,["scheme","editable","form-option","form-data"])):e.createCommentVNode("",!0),w.value.length<1&&f.value.length<1?(e.openBlock(),e.createBlock(ln,{key:2,title:"暂无参数"})):e.createCommentVNode("",!0)])]),_:1})]),_:3},8,["model"])])),[[G,{loading:c.value}]])]),_:3},8,["is-show"])}}}),af=He(kie,[["__scopeId","data-v-b9f0378f"]]),wie=Object.freeze(Object.defineProperty({__proto__:null,default:af},Symbol.toStringTag,{value:"Module"})),Cie={class:"execute-flow-slider"},Aie={class:"flow-name-wrapper"},Eie={class:"form-params-wrapper"},xie={key:0,class:"sideslider-footer-buttons"},_ie=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=Al(o.apiConfig);ys(o.memberSelectorConfig),sr({},o.bkflowSaasUrl);const r={name:[{required:!0,message:"请输入任务名称",trigger:"blur"}]},i=e.shallowRef(null),s=e.shallowRef(!0),c=e.shallowRef([]),f=e.ref({}),d=e.shallowRef([]),v=e.ref(),h=e.ref(),m=e.ref(),g=e.ref({name:""}),k=e.shallowRef(!1),y=e.computed(()=>d.value.filter(z=>Fa(z)));let A="";const _=()=>{A=JSON.stringify({name:g.value.name,variables:f.value})};e.watch(()=>o.show,z=>{z&&w()});const w=async()=>{s.value=!0;let z=await l.fetchFlowDetail(o.flowId);if(o.enableVersion)if(o.flowVersion){const L=await l.fetchFlowDetailByVersion(o.flowId,o.flowVersion);z={...z,name:L.name,pipeline_tree:L.pipeline_tree}}else{const L=await l.fetchFlowDraftDetail(o.flowId);z={...z,pipeline_tree:L.pipeline_tree}}i.value=z,g.value.name=`${z.name}_${dt().format("YYYYMMDDHHmmss")}`;const j=[],R={};Object.values(z.pipeline_tree.constants).forEach(L=>{if(typeof L!="object"||L===null)return;const F=L;!["system","space"].includes(F.source_type)&&F.show_type==="show"&&j.push(F),"value"in F&&(R[F.key]=F.value)}),d.value=j,f.value=R,await b(),s.value=!1,setTimeout(_)},b=async()=>{const z=i.value?.pipeline_tree?.constants;if(!z){c.value=[];return}const j=Object.fromEntries(Object.entries(z).filter(([,R])=>{if(typeof R!="object"||R===null)return!1;const L=R;return L.source_type==="custom"&&L.show_type==="show"&&!Fa(L)}));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 R=await Id(l,j);c.value=R}catch(R){console.error("Failed to get input forms from constants:",R),c.value=[]}},C=()=>{o.onExecuteSuccess},E=z=>{f.value={...f.value,...Fe(z)}},x=z=>{const j=Fe(i.value?.pipeline_tree);return Object.entries(z).forEach(([R,L])=>{j.constants[R]&&(j.constants[R]={...j.constants[R],value:L})}),j},S=async()=>{if(!l.createMockDebugTask||!l.executeFlowTask){console.warn("createMockDebugTask or executeFlowTask is not provided in api");return}try{k.value=!0;const z=await l.createMockDebugTask({template_id:o.flowId,name:g.value.name,pipeline_tree:x(f.value),mock_data:o.mockData??{nodes:[],outputs:{}},creator:String(window.USERNAME??"")}),j=z.data.id;await l.executeFlowTask({task_id:j,resource_type:"TASK",resource_id:j,permission_type:"OPERATE"}),Kt({theme:"success",message:"执行成功"}),_(),a("confirm",j,z.data.template_id),T(),o.onExecuteSuccess&&o.onExecuteSuccess(j,z.data.template_id)}catch(z){console.error(z)}finally{k.value=!1}},V=async()=>{const[z,j,R]=await Promise.all([v.value?.validate(),Promise.resolve(m.value&&typeof m.value.validate=="function"?m.value.validate():!0),Promise.resolve(h.value&&typeof h.value.validate=="function"?h.value.validate():!0)]);if(!z||!j||!R)return;const L={name:g.value.name,variablesValue:f.value};if(o.useCustomConfirm&&o.onConfirm)try{k.value=!0,await o.onConfirm(L),_(),a("confirm"),T()}catch(F){console.error(F)}finally{k.value=!1}else await S(),o.onConfirm&&await o.onConfirm(L)},N=()=>{const z=JSON.stringify({name:g.value.name,variables:f.value}),j=A!==z;return!o.editable||!j?(T(),!0):new Promise(R=>{eo.InfoBox({title:"确认离开?",content:"离开将会导致未保存信息丢失",confirmText:"离开",cancelText:"取消",width:320,onConfirm:()=>{T(),R(!0)},onCancel:()=>{R(!1)}})})},T=()=>{a("before-close"),d.value=[],f.value={},a("close"),a("update:show",!1)};return(z,j)=>{const R=e.resolveComponent("bk-input"),L=e.resolveComponent("bk-form-item"),F=e.resolveComponent("bk-form"),O=e.resolveComponent("bk-button"),P=e.resolveComponent("bk-sideslider"),M=e.resolveDirective("bk-tooltips"),H=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(P,{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",xie,[e.createVNode(O,{theme:"primary",loading:k.value,onClick:V},{default:e.withCtx(()=>[...j[2]||(j[2]=[e.createTextVNode("确定",-1)])]),_:1},8,["loading"]),e.createVNode(O,{onClick:T},{default:e.withCtx(()=>[...j[3]||(j[3]=[e.createTextVNode("取消",-1)])]),_:1})]))]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",Cie,[e.createVNode(F,{ref_key:"formRef",ref:v,"form-type":"vertical",model:g.value,rules:r,"label-width":100},{default:e.withCtx(()=>[o.showFlowEntry?(e.openBlock(),e.createBlock(L,{key:0,label:"排障流程",required:""},{default:e.withCtx(()=>[e.createElementVNode("div",Aie,[e.createVNode(R,{readonly:"","model-value":i.value?.name},null,8,["model-value"]),e.withDirectives(e.createVNode(e.unref(yn.Share),{class:"link-icon",onClick:C},null,512),[[M,"查看排障流程",void 0,{top:!0}]])])]),_:1})):e.createCommentVNode("",!0),e.createVNode(L,{label:"任务名称",property:"name",required:""},{default:e.withCtx(()=>[e.createVNode(R,{modelValue:g.value.name,"onUpdate:modelValue":j[0]||(j[0]=W=>g.value.name=W),placeholder:"请输入任务名称","show-word-limit":"",maxlength:100},null,8,["modelValue"])]),_:1}),e.createVNode(L,{label:"请求参数",property:"inputParams",description:"流程的入参"},{default:e.withCtx(()=>[e.createElementVNode("div",Eie,[y.value.length>0?(e.openBlock(),e.createBlock(e.unref(Zd),{key:0,ref_key:"builtinVariableFormRef",ref:m,modelValue:f.value,"onUpdate:modelValue":j[1]||(j[1]=W=>f.value=W),variables:y.value,editable:o.editable},null,8,["modelValue","variables","editable"])):e.createCommentVNode("",!0),c.value.length>0?(e.openBlock(),e.createBlock(su,{key:1,ref_key:"renderFormRef",ref:h,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:E},null,8,["scheme","editable","form-option","form-data"])):e.createCommentVNode("",!0),y.value.length<1&&c.value.length<1?(e.openBlock(),e.createBlock(ln,{key:2,title:"暂无参数"})):e.createCommentVNode("",!0)])]),_:1}),e.renderSlot(z.$slots,"custom-form-content",{formData:g.value,variablesValue:f.value},void 0,!0)]),_:3},8,["model"])])),[[H,{loading:s.value}]])]),_:3},8,["is-show"])}}}),Ui=He(_ie,[["__scopeId","data-v-0c437a04"]]),Bie=Object.freeze(Object.defineProperty({__proto__:null,default:Ui},Symbol.toStringTag,{value:"Module"})),Sie={class:"mock-field-renderer"},Vie={key:8,class:"mock-field-renderer__code-editor"},Nie={key:10,class:"mock-field-renderer__error"},Tie=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(()=>qc(o.field)),r=e.computed(()=>(o.field.options??[]).map(P4)),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(h){d(h)}}),d=h=>{a("update:modelValue",h)},v=h=>{if(h===""||h===void 0||h===null){a("update:modelValue",void 0);return}const m=Number(h);a("update:modelValue",Number.isNaN(m)?h:m)};return(h,m)=>{const g=e.resolveComponent("bk-option"),k=e.resolveComponent("bk-select"),y=e.resolveComponent("bk-checkbox"),A=e.resolveComponent("bk-checkbox-group"),_=e.resolveComponent("bk-radio"),w=e.resolveComponent("bk-radio-group"),b=e.resolveComponent("bk-switcher"),C=e.resolveComponent("bk-date-picker"),E=e.resolveComponent("bk-input");return e.openBlock(),e.createElementBlock("div",Sie,[l.value==="bk-select"?(e.openBlock(),e.createBlock(k,{key:0,"model-value":o.modelValue,clearable:"",onChange:d},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,x=>(e.openBlock(),e.createBlock(g,{id:x.value,key:String(x.value),label:x.label},null,8,["id","label"]))),128))]),_:1},8,["model-value"])):l.value==="bk-checkbox-group"?(e.openBlock(),e.createBlock(A,{key:1,"model-value":Array.isArray(o.modelValue)?o.modelValue:[],onChange:d},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,x=>(e.openBlock(),e.createBlock(y,{key:String(x.value),label:x.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["model-value"])):l.value==="bk-radio-group"?(e.openBlock(),e.createBlock(w,{key:2,"model-value":o.modelValue,onChange:d},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,x=>(e.openBlock(),e.createBlock(_,{key:String(x.value),label:x.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.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:d},null,8,["model-value"])):l.value==="bk-date-picker"?(e.openBlock(),e.createBlock(C,{key:4,"model-value":o.modelValue,type:"datetime",clearable:"",onChange:d},null,8,["model-value"])):l.value==="bk-date-range-picker"?(e.openBlock(),e.createBlock(C,{key:5,"model-value":Array.isArray(o.modelValue)?o.modelValue:[],type:"datetimerange",clearable:"",onChange:d},null,8,["model-value"])):l.value==="bk-input-number"?(e.openBlock(),e.createBlock(E,{key:6,"model-value":o.modelValue,type:"number","onUpdate:modelValue":v},null,8,["model-value"])):l.value==="bk-textarea"?(e.openBlock(),e.createBlock(E,{key:7,"model-value":o.modelValue,type:"textarea",rows:3,placeholder:"请输入","onUpdate:modelValue":d},null,8,["model-value"])):s.value?(e.openBlock(),e.createElementBlock("div",Vie,[e.createVNode(ha,{modelValue:f.value,"onUpdate:modelValue":m[0]||(m[0]=x=>f.value=x),options:c.value},null,8,["modelValue","options"])])):(e.openBlock(),e.createBlock(E,{key:9,"model-value":o.modelValue,"onUpdate:modelValue":d},null,8,["model-value"])),o.error?(e.openBlock(),e.createElementBlock("div",Nie,e.toDisplayString(o.error),1)):e.createCommentVNode("",!0)])}}}),fv=He(Tie,[["__scopeId","data-v-7dc32c6a"]]),Die={key:0,class:"unchecked-fields-section"},Iie={key:0,class:"unchecked-fields-section__content"},Oie=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",Die,[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",Iie,[e.renderSlot(a.$slots,"default",{},void 0,!0)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)}}}),Mie=He(Oie,[["__scopeId","data-v-768e1d59"]]),Pie={key:0,class:"mock-data-sideslider__title-sep"},Lie=["title"],Rie={class:"mock-data-sideslider"},Fie={class:"mock-data-sideslider__footer"},zie=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=Vn(),r=e.ref(!1),i=e.shallowRef([]),s=e.ref({}),c=e.ref({}),f=e.ref(!1),d=e.ref({}),v=e.computed(()=>M4(i.value,o.constants,o.node?.id??"")),h=e.computed(()=>v.value.globalFields),m=e.computed(()=>v.value.otherFields),g=e.computed(()=>i.value.length>0),k=E=>{const x=o.config?.outputs;return!x||!Object.prototype.hasOwnProperty.call(x,E.key)?{exists:!1,value:void 0}:{exists:!0,value:x[E.key]}},y=async()=>{if(o.node){r.value=!0,f.value=!1,d.value={};try{const E=await Ai(l,o.node.component);i.value=b1(E.outputs);const x={};i.value.forEach(S=>{const V=k(S),N=V.exists?V.value:S.type==="object"?{}:void 0,T=qc(S);x[S.key]=T==="json-editor"||T==="data-table"?y1(N):N}),s.value=x,c.value=Fe(x),f.value=!0}catch(E){console.error(E),i.value=[],s.value={},c.value={},f.value=!0,vn.Message({theme:"error",message:"加载输出结果失败"})}finally{r.value=!1}}},A=()=>{const E={},x={};return i.value.forEach(S=>{const V=s.value[S.key],N=qc(S);if(N==="json-editor"||N==="data-table"){const T=k1(V);if(!T.valid){E[S.key]=T.message;return}T.value!==void 0&&(x[S.key]=T.value);return}V!==void 0&&V!==""&&(x[S.key]=V)}),{errors:E,outputs:x}},_=()=>!f.value||r.value?!1:!za(s.value,c.value),w=()=>{if(!o.node)return;const{errors:E,outputs:x}=A();d.value=E,!(Object.keys(E).length>0)&&(a("save",{nodeId:o.node.id,outputs:x,fieldSnapshots:Object.fromEntries(i.value.map(S=>[S.key,S]))}),a("update:show",!1))},b=()=>{a("cancel"),a("update:show",!1)},C=()=>_()?new Promise(E=>{eo.InfoBox({title:"确认离开?",content:"离开将会导致未保存信息丢失",confirmText:"离开",cancelText:"取消",width:320,onConfirm:()=>{b(),E(!0)},onCancel:()=>{E(!1)}})}):(b(),!0);return e.watch(()=>[o.show,o.node?.id],([E])=>{E&&o.node&&y()},{immediate:!0}),(E,x)=>{const S=e.resolveComponent("bk-exception"),V=e.resolveComponent("bk-form-item"),N=e.resolveComponent("bk-form"),T=e.resolveComponent("bk-button"),z=e.resolveComponent("bk-sideslider"),j=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(z,{"is-show":o.show,width:960,"quick-close":"","esc-close":!1,"before-close":C},{header:e.withCtx(()=>[x[0]||(x[0]=e.createElementVNode("span",{class:"mock-data-sideslider__title"},"设置 Mock 数据",-1)),o.node?.name?(e.openBlock(),e.createElementBlock("span",Pie,"-")):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,Lie)):e.createCommentVNode("",!0)]),footer:e.withCtx(()=>[e.createElementVNode("div",Fie,[g.value?(e.openBlock(),e.createBlock(T,{key:0,theme:"primary",onClick:w},{default:e.withCtx(()=>[...x[1]||(x[1]=[e.createTextVNode("保存",-1)])]),_:1})):e.createCommentVNode("",!0),e.createVNode(T,{onClick:C},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.value?"取消":"关闭"),1)]),_:1})])]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",Rie,[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(()=>[h.value.length===0?(e.openBlock(),e.createBlock(S,{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(h.value,R=>(e.openBlock(),e.createBlock(V,{key:R.key,label:R.name||R.key,description:R.description},{default:e.withCtx(()=>[e.createVNode(fv,{modelValue:s.value[R.key],"onUpdate:modelValue":L=>s.value[R.key]=L,field:R,error:d.value[R.key]},null,8,["modelValue","onUpdate:modelValue","field","error"])]),_:2},1032,["label","description"]))),128)),e.createVNode(Mie,{fields:m.value},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,R=>(e.openBlock(),e.createBlock(V,{key:R.key,label:R.name||R.key,description:R.description},{default:e.withCtx(()=>[e.createVNode(fv,{modelValue:s.value[R.key],"onUpdate:modelValue":L=>s.value[R.key]=L,field:R,error:d.value[R.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(S,{key:1,class:"mock-data-sideslider__exception",scene:"part",type:"empty",title:"暂无输出结果"}))],64)):e.createCommentVNode("",!0)])),[[j,{loading:r.value}]])]),_:1},8,["is-show"])}}}),QE=He(zie,[["__scopeId","data-v-aa42b9e7"]]),jie={class:"mock-select-all-toolbar"},Hie=e.defineComponent({__name:"mock-select-all-toolbar",setup(t){const n=jg(),o=e.computed(()=>!!n.simulateDebug?.isAllMockNodesSelected?.());return(a,l)=>(e.openBlock(),e.createElementBlock("span",jie,[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)]))}}),$E=He(Hie,[["__scopeId","data-v-4f66d077"]]),Uie={key:0,class:"operate-area"},Gie={key:0,class:"operate-btns"},Wie={class:"flow-view-page-content"},Yie={key:1,class:"flow-view-thumbnail"},qie=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=Al(l.apiConfig);ys(l.memberSelectorConfig);const s=o;sr({},l.bkflowSaasUrl);const c=e.shallowRef(!1),f=e.shallowRef(null),d=e.shallowRef(!0),v=e.shallowRef({}),h=e.shallowRef(!0),m=e.shallowRef([]),g=e.shallowRef(!1),k=e.ref(),y=e.ref(!1),A=_1(),_=e.computed(()=>A.stage.value!=="edit"),w=e.computed(()=>A.stage.value==="mock-config"?"mock-config":"view"),b={stage:A.stage,isMockSelected:A.isMockSelected,toggleMockSelected:A.toggleMockSelected,hasMockConfig:A.hasMockConfig,isAllMockNodesSelected:()=>E.value},C=e.computed(()=>E1(f.value?.pipeline_tree??null)),E=e.computed(()=>A.isAllMockNodesSelected(C.value)),x=e.computed(()=>{const{mockData:pe}=A.buildRunnableSelection(C.value);return Object.keys(pe).length>0}),S=e.computed(()=>{if(x.value)return"";const{selectedIds:pe}=A.buildRunnableSelection(C.value);return pe.length===0?"请先勾选需要模拟调试的节点":"请先为已勾选节点设置 Mock 数据"}),V=e.computed(()=>[{id:"mock-select-all",type:"custom",component:$E,description:"全选",group:"tools",order:19,visible:()=>A.stage.value==="mock-config",active:()=>E.value,onClick:()=>A.toggleSelectAllMockNodes(C.value)}]),N=e.computed(()=>{const pe=A.activeConfigNodeId.value;return pe?f.value?.pipeline_tree.activities[pe]??null:null}),T=e.computed(()=>{const pe=A.activeConfigNodeId.value;return pe?A.mockConfigs.value[pe]:void 0});e.onMounted(()=>{z(),j(),R()}),e.watch(()=>[l.flowId,l.flowVersion],([pe,Ae],[Pe,Qe])=>{(pe!==Pe||Ae!==Qe)&&(A.reset(),y.value=!1,z(),j(),R())});const z=async()=>{d.value=!0;try{let pe=await i.fetchFlowDetail(String(l.flowId));if(l.enableVersion)if(l.flowVersion){const Ae=await i.fetchFlowDetailByVersion(String(l.flowId),l.flowVersion);pe={...pe,name:Ae.name,pipeline_tree:Ae.pipeline_tree}}else{const Ae=await i.fetchFlowDraftDetail(String(l.flowId));pe={...pe,pipeline_tree:Ae.pipeline_tree}}f.value=pe}catch(pe){console.error(pe)}finally{d.value=!1}},j=async()=>{h.value=!0;try{const pe=await i.fetchSpaceFlowConfig(String(l.flowId));v.value=pe}catch(pe){console.error(pe)}finally{h.value=!1}},R=async()=>{g.value=!0;try{const pe=await i.fetchSystemVariables(String(l.flowId));m.value=pe}catch(pe){console.error(pe)}finally{g.value=!1}},L=()=>{typeof l.onBack=="function"?l.onBack():s("back")},F=()=>{r.value.canEdit&&(typeof l.onEdit=="function"?l.onEdit():s("edit"))},O=()=>{r.value.canExecute&&(c.value=!0)},P=pe=>{typeof l.onExecuteSuccess=="function"&&l.onExecuteSuccess(pe)};n({zoomToFit:pe=>{k.value?.zoomToFit?.(pe)},centerContent:()=>{k.value?.centerContent?.()},getZoom:()=>k.value?.getZoom?.()??1});const X=()=>String(window.USERNAME??""),G=(pe,Ae)=>{const Pe={taskId:pe,templateId:Ae};l.onMockDebugCreated&&l.onMockDebugCreated(Pe),s("mockDebugCreated",Pe)},Q=pe=>{vn.Message({theme:"error",message:pe.message}),pe.ids.length>0&&k.value?.locateNode?.(pe.ids[0])},ne=()=>{if(!f.value)return;const pe=ml(f.value.pipeline_tree),Ae=x1(f.value.pipeline_tree);if(!pe.valid||Ae.length>0){Q(pe.valid?{message:"流程中存在未配置节点,请配置后再模拟调试",ids:Ae}:pe);return}A.enterConfig(C.value)},ae=()=>{x.value&&(y.value=!0)},$=()=>{y.value=!1},K=pe=>{A.openConfigNode(pe.id)},me=pe=>{A.saveMockConfig(pe),A.closeConfigNode()},te=pe=>{pe||A.closeConfigNode()},re=()=>{y.value=!1,A.reset()},ue=async pe=>{if(!f.value)return;const{selectedIds:Ae,mockNodeIds:Pe,mockData:Qe}=A.buildRunnableSelection(C.value);if(Ae.length<1){vn.Message({theme:"warning",message:"请至少选择一个可模拟调试节点"});return}if(!i.createMockDebugTask||!i.executeFlowTask){vn.Message({theme:"warning",message:"模拟调试接口未配置"});return}try{const qe=C1(f.value.pipeline_tree,Ae,pe.variablesValue),Te=await i.createMockDebugTask({template_id:f.value.id,name:pe.name,pipeline_tree:qe,mock_data:{nodes:Pe,outputs:Qe,mock_data_ids:{}},creator:X()}),xe=Te.data.id,ot=Te.data.template_id;await i.executeFlowTask({task_id:xe,resource_type:"TASK",resource_id:xe,permission_type:"OPERATE"}),A.reset(),G(xe,ot)}catch(qe){throw console.error(qe),vn.Message({theme:"error",message:"创建或启动模拟调试任务失败"}),qe}};return(pe,Ae)=>{const Pe=e.resolveComponent("bk-button"),Qe=e.resolveDirective("bk-tooltips"),qe=e.resolveDirective("bkloading");return l.thumbnail?e.withDirectives((e.openBlock(),e.createElementBlock("div",Yie,[f.value?(e.openBlock(),e.createBlock(Ed,{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(pe.$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:d.value||h.value,zIndex:100}]]):(e.openBlock(),e.createBlock(qi,{key:0,title:"查看流程",desc:f.value?.name,"show-back-icon":!0,onBack:L},e.createSlots({extend:e.withCtx(()=>[f.value?(e.openBlock(),e.createElementBlock("div",Uie,[e.createVNode(Xd,{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":_.value,"simulate-debug-only":_.value,"hide-trigger":l.hideTrigger,onSimulateDebug:ne},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",Gie,[_.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.withDirectives((e.openBlock(),e.createBlock(Pe,{theme:"primary",disabled:!x.value,onClick:ae},{default:e.withCtx(()=>[...Ae[2]||(Ae[2]=[e.createTextVNode(" 执行 ",-1)])]),_:1},8,["disabled"])),[[Qe,{content:S.value,disabled:!S.value}]]),e.createVNode(Pe,{onClick:re},{default:e.withCtx(()=>[...Ae[3]||(Ae[3]=[e.createTextVNode("退出模拟调试",-1)])]),_:1})],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(Pe,{theme:"primary",disabled:!r.value.canEdit,onClick:F},{default:e.withCtx(()=>[...Ae[4]||(Ae[4]=[e.createTextVNode("编辑",-1)])]),_:1},8,["disabled"]),e.createVNode(Pe,{disabled:!r.value.canExecute,onClick:O},{default:e.withCtx(()=>[...Ae[5]||(Ae[5]=[e.createTextVNode("执行流程",-1)])]),_:1},8,["disabled"])],64))])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",Wie,[f.value?(e.openBlock(),e.createBlock(Ed,{key:0,ref_key:"flowCanvasRef",ref:k,mode:w.value,"flow-id":t.flowId,"pipeline-tree":f.value.pipeline_tree,"system-variables":m.value,thumbnail:l.thumbnail,"default-zoom":l.defaultZoom,"toolbar-items":V.value,"simulate-debug-context":b,onMockNodeClick:K},{inputParams:e.withCtx(Te=>[e.renderSlot(pe.$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:d.value||h.value,zIndex:100}]]),f.value?(e.openBlock(),e.createBlock(af,{key:0,"flow-id":t.flowId,show:c.value,"api-config":l.apiConfig,"bkflow-saas-url":l.bkflowSaasUrl,"member-selector-config":l.memberSelectorConfig,onClose:Ae[0]||(Ae[0]=Te=>c.value=!1),onConfirm:P},e.createSlots({_:2},[e.unref(a).customFormContent?{name:"customFormContent",fn:e.withCtx(Te=>[e.renderSlot(pe.$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(Ui,{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":ue,"use-custom-confirm":!0,onClose:$,"onUpdate:show":Ae[1]||(Ae[1]=Te=>y.value=Te)},{"custom-form-content":e.withCtx(Te=>[e.renderSlot(pe.$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(QE,{key:2,show:!!N.value,node:N.value,constants:f.value.pipeline_tree.constants,config:T.value,onSave:me,onCancel:e.unref(A).closeConfigNode,"onUpdate:show":te},null,8,["show","node","constants","config","onCancel"])):e.createCommentVNode("",!0)]),_:2},[e.unref(a).header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(pe.$slots,"header",{},void 0,!0)]),key:"0"}:void 0]),1032,["desc"]))}}}),KE=He(qie,[["__scopeId","data-v-d213e85a"]]),Qie=Object.freeze(Object.defineProperty({__proto__:null,default:KE},Symbol.toStringTag,{value:"Module"})),$ie={key:0,class:"operate-area"},Kie={class:"flow-actions"},Zie={class:"operate-btns"},Xie={class:"flow-edit-page-content"},Jie=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:{},selectRelatedOptionConfig:{},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=Al(l);vv(a.selectPanelConfig||{}),ys(a.memberSelectorConfig),Bd(a.filterVariableConfig),Vd(a.selectRelatedOptionConfig);const i=o;sr({},a.bkflowSaasUrl);const s=e.shallowRef(null),c=e.shallowRef(!0),f=e.ref(),d=e.ref(),v=e.shallowRef(!0),h=e.shallowRef({}),m=e.shallowRef(!1),g=e.shallowRef([]),k=e.shallowRef(!1),y=e.shallowRef([]),A=e.shallowRef(!1),_=e.shallowRef(!1),w=e.ref(!1),b=e.ref(!1),C=_1(),E=e.computed(()=>String(a.flowId)),x=I=>{i("createVariable",{keyword:I.keyword,cursorIndex:I.cursorIndex,defaultCustomType:I.defaultCustomType}),f.value?.openGlobalVariableCreate(I)};pt.provideVariableInputCreateVariable(x);const S=(I={})=>f.value?.openGlobalVariableCreate(I)??!1,V=e.computed(()=>c.value||k.value||v.value),N=e.computed(()=>pt.withSopsPluginGroup(g.value,{spaceConfig:h.value,api:r})),T=e.computed(()=>C.stage.value==="mock-config"?"mock-config":"edit"),z={stage:C.stage,isMockSelected:C.isMockSelected,toggleMockSelected:C.toggleMockSelected,hasMockConfig:C.hasMockConfig,isAllMockNodesSelected:()=>R.value},j=e.computed(()=>E1(s.value?.pipeline_tree??null)),R=e.computed(()=>C.isAllMockNodesSelected(j.value)),L=e.computed(()=>{const{mockData:I}=C.buildRunnableSelection(j.value);return Object.keys(I).length>0}),F=e.computed(()=>{if(L.value)return"";const{selectedIds:I}=C.buildRunnableSelection(j.value);return I.length===0?"请先勾选需要模拟调试的节点":"请先为已勾选节点设置 Mock 数据"}),O=e.computed(()=>[{id:"mock-select-all",type:"custom",component:$E,description:"全选",group:"tools",order:19,visible:()=>C.stage.value==="mock-config",active:()=>R.value,onClick:()=>C.toggleSelectAllMockNodes(j.value)}]),P=e.computed(()=>s.value?.pipeline_tree),M=e.computed(()=>{const I=C.activeConfigNodeId.value;return I?s.value?.pipeline_tree.activities[I]??null:null}),H=e.computed(()=>{const I=C.activeConfigNodeId.value;return I?C.mockConfigs.value[I]:void 0}),W=()=>String(window.USERNAME??""),X=(I,J)=>{const q={taskId:I,templateId:J};a.onMockDebugCreated&&a.onMockDebugCreated(q),i("mockDebugCreated",q)};e.onMounted(()=>{G(),Q(),ne(),ae()}),e.watch(()=>[a.flowId,a.flowVersion],([I,J],[q,ve])=>{(I!==q||J!==ve)&&(_.value=!1,C.reset(),G(),Q(),ne(),ae())});const G=async()=>{c.value=!0;try{let I=await r.fetchFlowDetail(E.value);if(a.enableVersion)if(a.flowVersion){const J=await r.fetchFlowDetailByVersion(E.value,a.flowVersion);I={...I,name:J.name,pipeline_tree:J.pipeline_tree}}else{const J=await r.fetchFlowDraftDetail(E.value);I={...I,pipeline_tree:J.pipeline_tree}}s.value=I}catch(I){console.error(I)}finally{c.value=!1}},Q=async()=>{v.value=!0;try{const I=await r.fetchSpaceFlowConfig(E.value);h.value=I}catch(I){console.error(I)}finally{v.value=!1}},ne=async()=>{A.value=!0;try{const I=await r.fetchSystemVariables(E.value);y.value=I}catch(I){console.error(I)}finally{A.value=!1}},ae=async()=>{k.value=!0;try{const I=await r.fetchAllPluginGroups();g.value=I}catch(I){console.error(I)}finally{k.value=!1}},$=()=>{a.onBack?a.onBack():i("back")},K=()=>{a.onExitEdit?a.onExitEdit():i("exitEdit")},me=()=>{f.value?.openBasicSetting()},te=I=>{s.value=I,_.value=!0},re=I=>{s.value&&(s.value={...s.value,pipeline_tree:{...s.value.pipeline_tree,constants:I}}),_.value=!0,d.value?.updateGlobalVariables(I)},ue=I=>{d.value?.updateOutputs(I)},pe=I=>{s.value={...s.value,pipeline_tree:I},_.value=!0},Ae=async()=>{if(!s.value||!r.drawPipeline)return;const I=s.value.pipeline_tree,J=ml(I);if(!J.valid){vn.Message({theme:"warning",message:J.message});return}const q=d.value?.getCanvasWidth?.()??document.documentElement.offsetWidth-200;try{d.value?.setFormatLoading?.(!0);const ve=await r.drawPipeline({pipeline_tree:I,canvas_width:q,activity_size:[240,48],event_size:[88,40],gateway_size:[64,64],start:[20,150]}),ge=d.value?.updatePipelineTree?.(ve.pipeline_tree);s.value={...s.value,pipeline_tree:ge??ve.pipeline_tree},_.value=!0,vn.Message({theme:"success",message:"排版完成"})}catch(ve){console.error(ve)}finally{d.value?.setFormatLoading?.(!1)}},Pe=I=>{d.value&&d.value.updateNodeInputParams?.(I)},Qe=I=>{vn.Message({theme:"error",message:I.message}),I.ids.length>0&&d.value?.locateNode?.(I.ids[0])},qe=async()=>{if(!s.value)return;const I=ml(s.value.pipeline_tree),J=x1(s.value.pipeline_tree);if(!I.valid||J.length>0){Qe(I.valid?{message:"流程中存在未配置节点,请配置后再模拟调试",ids:J}:I);return}if(_.value){if(!a.permissions.canSave){vn.Message({theme:"warning",message:"您没有保存权限,无法在未保存的情况下进行模拟调试"});return}return new Promise(q=>{eo.InfoBox({title:"确认进入模拟调试?",content:"流程已修改,进入模拟调试前需要先保存流程。是否保存并继续?",confirmText:"保存并继续",cancelText:"取消",width:400,headerAlign:"center",footerAlign:"center",onConfirm:async()=>{try{await Ne({throwOnError:!0,silent:!0})&&C.enterConfig(j.value)}catch(ve){console.error("保存失败:",ve),vn.Message({theme:"error",message:"保存失败,请重试"})}finally{q()}},onCancel:()=>{q()}})})}C.enterConfig(j.value)},Te=()=>{L.value&&(b.value=!0)},xe=async I=>{if(!s.value)return;const{selectedIds:J,mockNodeIds:q,mockData:ve}=C.buildRunnableSelection(j.value);if(J.length<1){vn.Message({theme:"warning",message:"请至少选择一个可模拟调试节点"});return}if(!r.createMockDebugTask||!r.executeFlowTask){vn.Message({theme:"warning",message:"模拟调试接口未配置"});return}try{const ge=C1(s.value.pipeline_tree,J,I.variablesValue),Be=await r.createMockDebugTask({template_id:s.value.id,name:I.name,pipeline_tree:ge,mock_data:{nodes:q,outputs:ve,mock_data_ids:{}},creator:W()}),Ue=Be.data.id,Xe=Be.data.template_id;await r.executeFlowTask({task_id:Ue,resource_type:"TASK",resource_id:Ue,permission_type:"OPERATE"}),C.reset(),X(Ue,Xe)}catch(ge){throw console.error(ge),vn.Message({theme:"error",message:"创建或启动模拟调试任务失败"}),ge}},ot=(I,J)=>{X(I,J)},de=()=>{b.value=!1},le=I=>{C.openConfigNode(I.id)},be=I=>{C.saveMockConfig(I),C.closeConfigNode()},tt=I=>{I||C.closeConfigNode()},ut=()=>{b.value=!1,C.reset()},ft=()=>{i("debugBeforeClose")},st=()=>{w.value=!1},_e=()=>{if(!a.permissions.canSave)return;const I=ml(s.value?.pipeline_tree);I.valid?Ne():Qe(I)},Ne=async(I={})=>{const{name:J,desc:q,notify_config:ve,pipeline_tree:ge,triggers:Be}=s.value,Ue={name:J,desc:q,notify_config:ve,pipeline_tree:ge,triggers:Be};try{return m.value=!0,await r.saveFlow(E.value,Ue),_.value=!1,vn.Message({theme:"success",message:"保存成功"}),I.silent||(a.onSave&&a.onSave(s.value),a.onSaveSuccess&&a.onSaveSuccess(),i("save",s.value),i("saveSuccess")),!0}catch(Xe){if(console.error(Xe),I.throwOnError)throw Xe;return!1}finally{m.value=!1}},Ie=()=>{f.value?.openGlobalVariables()},Ke=I=>{d.value?.zoomToFit?.(I)},ze=()=>{d.value?.centerContent?.()},se=()=>d.value?.getZoom?.()??1,U={isFlowEdited:e.computed(()=>_.value),updateNodeInputParams:Pe,openGlobalVariables:Ie,openGlobalVariableCreate:S,zoomToFit:Ke,centerContent:ze,getZoom:se};return n(U),(I,J)=>{const q=e.resolveComponent("bk-button"),ve=e.resolveDirective("bk-tooltips"),ge=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(qi,{title:"编辑流程",desc:s.value?.name,"show-back-icon":!0,"show-edit-icon":!0,onBack:$,onEdit:me},{header:e.withCtx(()=>[e.renderSlot(I.$slots,"header",{},void 0,!0)]),extend:e.withCtx(()=>[s.value?(e.openBlock(),e.createElementBlock("div",$ie,[e.createElementVNode("div",Kie,[e.createVNode(Xd,{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(C).stage.value!=="edit","simulate-debug-only":e.unref(C).stage.value!=="edit","hide-trigger":a.hideTrigger,onChange:te,onUpdateConstants:re,onUpdateOutputs:ue,onSimulateDebug:qe},null,8,["flow-data","system-variables","fetch-user-api","enable-simulate-debug","simulate-debug-active","simulate-debug-only","hide-trigger"]),e.createElementVNode("div",Zie,[e.unref(C).stage.value==="edit"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(q,{theme:"primary",disabled:!t.permissions.canSave,loading:m.value,onClick:_e},{default:e.withCtx(()=>[...J[2]||(J[2]=[e.createTextVNode(" 保存 ",-1)])]),_:1},8,["disabled","loading"]),e.createVNode(q,{onClick:K},{default:e.withCtx(()=>[...J[3]||(J[3]=[e.createTextVNode("退出编辑",-1)])]),_:1})],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.withDirectives((e.openBlock(),e.createBlock(q,{theme:"primary",disabled:!L.value,onClick:Te},{default:e.withCtx(()=>[...J[4]||(J[4]=[e.createTextVNode(" 执行 ",-1)])]),_:1},8,["disabled"])),[[ve,{content:F.value,disabled:!F.value}]]),e.createVNode(q,{onClick:ut},{default:e.withCtx(()=>[...J[5]||(J[5]=[e.createTextVNode("退出模拟调试",-1)])]),_:1})],64))])])])):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",Xie,[!V.value&&s.value?(e.openBlock(),e.createBlock(Ed,{key:0,ref_key:"flowCanvasRef",ref:d,mode:T.value,"flow-id":E.value,"pipeline-tree":P.value,"plugin-group-list":N.value,"system-variables":y.value,"default-zoom":a.defaultZoom,"quick-add":a.quickAdd,"toolbar-items":O.value,"simulate-debug-context":z,onChange:pe,onMockNodeClick:le,onFormatPosition:Ae},{inputParams:e.withCtx(Be=>[e.renderSlot(I.$slots,"inputParams",e.normalizeProps(e.guardReactiveProps({...Be,updateNodeInputParams:Pe})),void 0,!0)]),_:3},8,["mode","flow-id","pipeline-tree","plugin-group-list","system-variables","default-zoom","quick-add","toolbar-items"])):e.createCommentVNode("",!0)])),[[ge,{loading:V.value,zIndex:100}]]),s.value?(e.openBlock(),e.createBlock(Ui,{key:0,"flow-id":E.value,show:w.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":ot,onClose:st,"onUpdate:show":J[0]||(J[0]=Be=>w.value=Be),onBeforeClose:ft},{"custom-form-content":e.withCtx(Be=>[e.renderSlot(I.$slots,"debugCustomFormContent",e.normalizeProps(e.guardReactiveProps(Be)),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(Ui,{key:1,"flow-id":E.value,show:b.value,"api-config":a.apiConfig,"bkflow-saas-url":a.bkflowSaasUrl,"enable-version":!1,"flow-version":a.flowVersion,"on-confirm":xe,"use-custom-confirm":!0,onClose:de,"onUpdate:show":J[1]||(J[1]=Be=>b.value=Be)},{"custom-form-content":e.withCtx(Be=>[e.renderSlot(I.$slots,"debugCustomFormContent",e.normalizeProps(e.guardReactiveProps(Be)),void 0,!0)]),_:3},8,["flow-id","show","api-config","bkflow-saas-url","flow-version"])):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createBlock(QE,{key:2,show:!!M.value,node:M.value,constants:s.value.pipeline_tree.constants,config:H.value,onSave:be,onCancel:e.unref(C).closeConfigNode,"onUpdate:show":tt},null,8,["show","node","constants","config","onCancel"])):e.createCommentVNode("",!0)]),_:3},8,["desc"])}}}),ZE=He(Jie,[["__scopeId","data-v-88edb5d0"]]),eue=Object.freeze(Object.defineProperty({__proto__:null,default:ZE},Symbol.toStringTag,{value:"Module"})),am="#48A397",tue=.82,nue=.94,t1={FAILED:"#FA4E41",SUSPENDED:"#F59500",REVOKED:"#FA4E41",SKIP:"#C4C6CC"},n1=t=>{const n=t&&t.status in t1?t1[t.status]:void 0;return n?{strokeColor:{type:"linearGradient",stops:[{offset:0,color:am},{offset:tue,color:am},{offset:nue,color:n},{offset:1,color:n}]},targetMarkerColor:n}:{strokeColor:am}};function oue(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)?n1(n[t.target.nodeId]):void 0;const l=n[t.target.nodeId];if(l)return n1(l)}function lf(t){return{name:"execution-status",priority:100,decorateEdge(n){return oue(n,t.value)}}}const aue={ExclusiveGateway:"exclusive-gateway",ParallelGateway:"parallel-gateway",ConditionalParallelGateway:"conditional-parallel-gateway",ConvergeGateway:"converge-gateway"};function Zg(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 lue(t,n){if(!t)return"";if(t.activities?.[n])return"task";const o=t.gateways?.[n];return o?aue[o.type]??"":t.start_event?.id===n?"start-event":t.end_event?.id===n?"end-event":""}function rue(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 XE(t,n){if(!t)return[];const o=cue(t);return o.taskState==="REVOKED"||o.status==="REVOKED"?[]:o.actions&&o.actions.length>0?o.actions:n==="task"?sue(o):uue(n)?iue(o):[]}function sue(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 iue(t){return t.status==="FAILED"?["gatewaySkip"]:[]}function uue(t){return t==="exclusive-gateway"||t==="parallel-gateway"||t==="conditional-parallel-gateway"}function cue(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 due=150;function JE(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},due)}function r(){a(),n.visible=!1}function i(d){const v=t.getPipelineTree(),h=rue(t.getNodeStates(),v,d);if(!h){r();return}const m=lue(v,d),g=XE(h,m);if(g.length===0){r();return}const k=t.getNodeViewportRect(d);if(!k){r();return}a(),n.nodeId=d,n.actions=g,n.position={x:k.x+k.width,y:k.y+k.height},n.visible=!0}function s(){a()}function c(){l()}function f(d){if(d.type==="node.mouseenter"){i(d.nodeId);return}if(d.type==="node.mouseleave"){d.nodeId===n.nodeId&&l();return}d.type==="blank.click"&&r()}return e.onBeforeUnmount(()=>{a()}),{actionPopover:n,openActionPopover:i,closeActionPopover:r,handlePopoverEnter:s,handlePopoverLeave:c,handleUiEvent:f}}const fue={class:"execution-action-popover__actions"},pue={key:0,class:"execution-action-popover__divider","aria-hidden":"true"},mue=["title","onClick","onKeydown"],vue={class:"execution-action-popover__label"},gue=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(d=>({key:d,...o[d]??{label:d,icon:""}}))),i=e.computed(()=>({left:`${a.position.x}px`,top:`${a.position.y+4}px`})),s=d=>{l("action",{nodeId:a.nodeId,action:d})},c=()=>{l("popover-enter")},f=()=>{l("popover-leave")};return(d,v)=>(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:v[0]||(v[0]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",fue,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(h,m)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:h.key},[m>0?(e.openBlock(),e.createElementBlock("span",pue)):e.createCommentVNode("",!0),e.createElementVNode("span",{class:"execution-action-popover__item",title:h.label,role:"button",tabindex:"0",onClick:g=>s(h.key),onKeydown:[e.withKeys(e.withModifiers(g=>s(h.key),["prevent"]),["enter"]),e.withKeys(e.withModifiers(g=>s(h.key),["prevent"]),["space"])]},[e.createElementVNode("i",{class:e.normalizeClass(["execution-action-popover__icon",h.icon])},null,2),e.createElementVNode("span",vue,e.toDisplayString(h.label),1)],40,mue)],64))),128))])],36)):e.createCommentVNode("",!0)]))}}),ex=He(gue,[["__scopeId","data-v-868d8e66"]]),hue={class:"flow-execute-page-content"},bue=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;Al(a.apiConfig),sr({},a.bkflowSaasUrl);const r=e.ref(),i=e.computed(()=>a.nodeStates??{}),s=e.shallowRef([lf(i)]),c=e.computed(()=>a.pipelineTree?Zg(a.pipelineTree,a.nodeStates):null),{actionPopover:f,closeActionPopover:d,handlePopoverEnter:v,handlePopoverLeave:h,handleUiEvent:m}=JE({getNodeStates:()=>a.nodeStates,getPipelineTree:()=>c.value,getNodeViewportRect:_=>r.value?.editor?.api?.value?.overlay?.getNodeViewportRect?.(_)});function g(_){l("execution-action",_),l(_.action,_.nodeId),d()}const k=()=>{typeof a.onBack=="function"?a.onBack():l("back")},y=_=>{l("node-click",_)},A=_=>{l("ui-event",_),m(_)};return(_,w)=>{const b=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(qi,{title:"任务执行","show-back-icon":!0,"show-header":a.showHeader,onBack:k},e.createSlots({extend:e.withCtx(()=>[e.renderSlot(_.$slots,"extend",{},void 0,!0)]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",hue,[c.value?(e.openBlock(),e.createBlock(ef,{key:0,ref_key:"canvasRef",ref:r,mode:"view","pipeline-tree":c.value,"default-zoom":a.defaultZoom,"additional-plugins":s.value,onNodeClick:y,onUiEvent:A},null,8,["pipeline-tree","default-zoom","additional-plugins"])):e.createCommentVNode("",!0)])),[[b,{loading:!a.pipelineTree}]]),e.createVNode(ex,{visible:e.unref(f).visible,"node-id":e.unref(f).nodeId,actions:e.unref(f).actions,position:e.unref(f).position,onPopoverEnter:e.unref(v),onPopoverLeave:e.unref(h),onAction:g},null,8,["visible","node-id","actions","position","onPopoverEnter","onPopoverLeave"])]),_:2},[e.unref(o).header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(_.$slots,"header",{},void 0,!0)]),key:"0"}:void 0]),1032,["show-header"])}}}),tx=He(bue,[["__scopeId","data-v-d2ccd1b2"]]),yue=Object.freeze(Object.defineProperty({__proto__:null,default:tx},Symbol.toStringTag,{value:"Module"})),kue=3,wue=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(kue,i=>e.createElementVNode("span",{key:i,class:"bkflow-loading-dots-icon__dot"})),64))],4))}}),Cue=He(wue,[["__scopeId","data-v-dd36d9ac"]]),Aue={class:"debug-status-bar__label"},Eue={class:"debug-status-bar__elapsed"},xue={class:"debug-status-bar__failed-count"},_ue=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),d=e.computed(()=>{const m=f.value,g=Math.floor(m/3600),k=Math.floor(m%3600/60),y=m%60,A=String(k).padStart(2,"0"),_=String(y).padStart(2,"0");return g>0?`${String(g).padStart(2,"0")}:${A}:${_}`:`${A}:${_}`}),v=()=>{h(),r=setInterval(()=>{l.value=Date.now()},1e3)},h=()=>{r&&(clearInterval(r),r=void 0)};return e.watch(i,m=>{m==="RUNNING"?v():h()},{immediate:!0}),e.onBeforeUnmount(()=>{h()}),(m,g)=>{const k=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(zi,{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",Aue,e.toDisplayString(s.value),1),g[4]||(g[4]=e.createElementVNode("span",{class:"debug-status-bar__divider"},null,-1)),e.createElementVNode("span",Eue,e.toDisplayString(d.value),1),i.value==="RUNNING"?(e.openBlock(),e.createBlock(k,{key:2,text:"",class:"debug-status-bar__action debug-status-bar__action--stop",onClick:g[0]||(g[0]=A=>a("stop"))},{default:e.withCtx(()=>[...g[2]||(g[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(k,{key:3,text:"",class:"debug-status-bar__action debug-status-bar__action--locate",onClick:g[1]||(g[1]=A=>a("locate-failed"))},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("span",xue,[e.createTextVNode(e.toDisplayString(o.failedCount),1)])),[[y,"定位错误"]]),g[3]||(g[3]=e.createTextVNode(" 个节点错误 ",-1))]),_:1})):e.createCommentVNode("",!0)],2)}}}),Bue=He(_ue,[["__scopeId","data-v-dfddc841"]]),Sue={class:"debug-node-list"},Vue={key:0,class:"debug-node-list__items",role:"listbox"},Nue=["aria-selected","onClick","onKeydown"],Tue=["title"],Due={key:0,class:"debug-node-list__mock"},Iue={key:1,class:"debug-node-list__empty"},Oue=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:zi,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 h=l.value.trim().toLowerCase();return o.nodes.filter(m=>r.value==="ALL"||(m.status||"CREATED")===r.value?h?m.name.toLowerCase().includes(h)||m.id.toLowerCase().includes(h):!0:!1)}),c={FINISHED:"成功",FAILED:"失败",RUNNING:"执行中",SUSPENDED:"暂停",CREATED:"未执行",REVOKED:"已撤销"},f=e.computed(()=>l.value.trim()?"搜索结果为空":r.value!=="ALL"?`暂无${c[r.value]}状态节点`:"暂无节点"),d=()=>{l.value="",r.value="ALL"},v=e.computed(()=>i.map(h=>({...h,count:h.value==="ALL"?o.nodes.length:o.nodes.filter(m=>(m.status||"CREATED")===h.value).length})));return(h,m)=>{const g=e.resolveComponent("bk-input");return e.openBlock(),e.createElementBlock("aside",Sue,[e.createVNode(g,{modelValue:l.value,"onUpdate:modelValue":m[0]||(m[0]=k=>l.value=k),class:"debug-node-list__search",placeholder:"搜索节点名称",type:"search",clearable:""},null,8,["modelValue"]),e.createVNode(of,{modelValue:r.value,"onUpdate:modelValue":m[1]||(m[1]=k=>r.value=k),class:"debug-node-list__stats",items:v.value},null,8,["modelValue","items"]),s.value.length>0?(e.openBlock(),e.createElementBlock("div",Vue,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,k=>(e.openBlock(),e.createElementBlock("div",{key:k.id,class:e.normalizeClass(["debug-node-list__item",{"is-active":k.id===o.modelValue}]),role:"option",tabindex:"0","aria-selected":k.id===o.modelValue,onClick:y=>a("update:modelValue",k.id),onKeydown:e.withKeys(e.withModifiers(y=>a("update:modelValue",k.id),["prevent"]),["enter","space"])},[e.createElementVNode("span",{class:e.normalizeClass(["debug-node-list__status",`is-${(k.status||"CREATED").toLowerCase()}`])},[k.status==="RUNNING"?(e.openBlock(),e.createBlock(zi,{key:0,size:12})):k.iconClass?(e.openBlock(),e.createElementBlock("i",{key:1,class:e.normalizeClass(k.iconClass)},null,2)):e.createCommentVNode("",!0)],2),e.createElementVNode("span",{class:"debug-node-list__name",title:`${k.name} ${k.typeName||""}`},e.toDisplayString(k.name),9,Tue),k.hasMockConfig?(e.openBlock(),e.createElementBlock("span",Due,"MOCK")):e.createCommentVNode("",!0)],42,Nue))),128))])):(e.openBlock(),e.createElementBlock("div",Iue,[e.createVNode(ln,{"is-search":!1,title:f.value,onClear:d},null,8,["title"])]))])}}}),Mue=He(Oue,[["__scopeId","data-v-8864ef7f"]]),Yo=t=>t&&typeof t=="object"&&!Array.isArray(t)?t:void 0,Pue=t=>{if(t==null)return!0;if(typeof t=="string")return t.trim()==="";if(Array.isArray(t))return t.length===0;const n=Yo(t);return n?Object.keys(n).length===0:!1},rf=t=>!!(t&&typeof t=="object"),pv=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)?"[ ... ]":"{ ... }",Lue=t=>{if(Array.isArray(t))return t.length>0?"[ ... ]":"[]";const n=Yo(t);return n?Object.keys(n).length>0?"{ ... }":"{}":Gi(t)},Rue=(t,n={})=>{const o=Yo(t);return o?Object.entries(o).map(([a,l])=>({name:n[a]||a,key:a,value:l})):[]},nx=(t,n={})=>{if(Array.isArray(t))return t.map((a,l)=>{const r=Yo(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=Yo(t);return o?Object.entries(o).map(([a,l])=>({name:n[a]||a,key:a,value:Yo(l)&&"value"in l?l.value:l})):[]},ox=(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)},ax=t=>{const n=t;return typeof n=="string"?n:pv(n)},Fue=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} 分`},lx=Symbol("shared-node-detail"),zue=t=>typeof t=="string"?t:t instanceof Error?t.message:"加载失败",jue=(t,n)=>`${t??""}_${n??""}`;function Hue(t){const n=Vn(),o=e.ref(!1),a=e.ref(""),l=e.shallowRef(),r=new Map;let i=0;const s=async()=>{const f=t.taskId(),d=t.nodeId(),v=++i;if(!f||!d){o.value=!1,a.value="",l.value=void 0;return}const h=jue(f,d),m=r.get(h);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 g=await n.fetchTaskNodeDetail({task_id:f,node_id:d});if(v!==i)return;const k=Yo(g);k&&r.set(h,k),l.value=k}catch(g){if(v!==i)return;console.error(g),a.value=zue(g),l.value=void 0}finally{v===i&&(o.value=!1)}};e.watch(()=>[t.taskId(),t.nodeId()],()=>{s()},{immediate:!0});const c={loading:o,error:a,detail:l};return e.provide(lx,c),c}function Xg(){const t=e.inject(lx);if(!t)throw new Error("useInjectedNodeDetail: shared node detail is not provided");return t}const Uue={class:"execution-info-tab"},Gue={key:0,class:"execution-info-tab__state is-error"},Wue={class:"execution-info-tab__section"},Yue={class:"execution-info-tab__section"},que={class:"execution-info-tab__table"},Que=e.defineComponent({__name:"execution-info",setup(t){const{loading:n,error:o,detail:a}=Xg(),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:Fue(a.value?.elapsed_time)}]);return(i,s)=>{const c=e.resolveDirective("bkloading");return e.withDirectives((e.openBlock(),e.createElementBlock("div",Uue,[e.unref(o)?(e.openBlock(),e.createElementBlock("div",Gue,e.toDisplayString(e.unref(o)),1)):e.unref(a)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("section",Wue,[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",Yue,[s[1]||(s[1]=e.createElementVNode("h3",null,"执行信息",-1)),e.createElementVNode("table",que,[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(ln,{key:2,title:"暂无执行信息"}))])),[[c,{loading:e.unref(n)}]])}}}),$ue=He(Que,[["__scopeId","data-v-43618193"]]),Kue={class:"debug-json-viewer"},Zue={class:"debug-json-viewer__line"},Xue={key:1,class:"debug-json-viewer__key"},Jue={class:"debug-json-viewer__summary"},ece={key:0,class:"debug-json-viewer__children"},tce={key:1,class:"debug-json-viewer__line"},nce={key:0,class:"debug-json-viewer__key"},oce=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(()=>rf(n.value)),l=e.computed(()=>Lue(n.value)),r=e.computed(()=>n.value===null?"null":typeof n.value),i=e.computed(()=>pv(n.value)),s=e.computed(()=>{if(Array.isArray(n.value))return n.value.map((d,v)=>({key:String(v),value:d}));const f=Yo(n.value);return f?Object.entries(f).map(([d,v])=>({key:d,value:v})):[]}),c=async f=>{const d=pv(f);try{await navigator.clipboard?.writeText(d)}catch{const h=document.createElement("textarea");h.value=d,h.style.position="fixed",h.style.opacity="0",document.body.appendChild(h),h.select(),document.execCommand("copy"),document.body.removeChild(h)}Kt({theme:"success",message:"复制成功"})};return(f,d)=>{const v=e.resolveComponent("DebugJsonViewer",!0);return e.openBlock(),e.createElementBlock("div",Kue,[a.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",Zue,[s.value.length>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:"debug-json-viewer__toggle",onClick:d[0]||(d[0]=h=>o.value=!o.value)},e.toDisplayString(o.value?"▼":"▶"),1)):e.createCommentVNode("",!0),n.label?(e.openBlock(),e.createElementBlock("span",Xue,e.toDisplayString(n.label)+":",1)):e.createCommentVNode("",!0),e.createElementVNode("span",Jue,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:d[1]||(d[1]=h=>c(n.value))})):e.createCommentVNode("",!0)]),o.value&&s.value.length>0?(e.openBlock(),e.createElementBlock("div",ece,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,h=>(e.openBlock(),e.createBlock(v,{key:h.key,label:h.key,value:h.value,level:n.level+1},null,8,["label","value","level"]))),128))])):e.createCommentVNode("",!0)],64)):(e.openBlock(),e.createElementBlock("div",tce,[n.label?(e.openBlock(),e.createElementBlock("span",nce,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)]))])}}}),xd=He(oce,[["__scopeId","data-v-32f8c36e"]]),ace={class:"debug-value-table"},lce={key:0,class:"debug-value-table__toolbar"},rce={key:1,class:"debug-value-table__state is-error"},sce={key:0,class:"debug-value-table__table"},ice=["title"],uce={class:"debug-value-table__value"},cce={key:1},dce={key:1,class:"debug-value-table__json-mode"},fce=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",ace,[i.value?(e.openBlock(),e.createElementBlock("div",lce,[n.rows.length>0?(e.openBlock(),e.createBlock(of,{key:0,modelValue:o.value,"onUpdate:modelValue":c[0]||(c[0]=d=>o.value=d),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",rce,e.toDisplayString(n.error),1)):!n.loading&&n.rows.length===0?(e.openBlock(),e.createBlock(ln,{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",sce,[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,d=>(e.openBlock(),e.createElementBlock("tr",{key:d.key},[e.createElementVNode("td",{class:"debug-value-table__name",title:d.name},e.toDisplayString(d.name),9,ice),e.createElementVNode("td",uce,[e.unref(rf)(d.value)?(e.openBlock(),e.createBlock(xd,{key:0,value:d.value},null,8,["value"])):(e.openBlock(),e.createElementBlock("span",cce,e.toDisplayString(e.unref(Gi)(d.value)),1))])]))),128))])])):(e.openBlock(),e.createElementBlock("div",dce,[e.createVNode(xd,{value:r.value,"default-expanded":""},null,8,["value"])]))],64))])),[[f,{loading:n.loading}]])}}}),Jg=He(fce,[["__scopeId","data-v-a3fab2dc"]]),wc={inputs:[],outputs:[]},lm=new Map,o1=(t,n)=>Object.prototype.hasOwnProperty.call(t,n),pce=t=>{const n=t.attrs??{};return o1(n,"formViewHidden")?!n.formViewHidden:o1(n,"hidden")?!n.hidden:!0},mce=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=Yo(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:pce(a)}))},vce=t=>({inputs:mce(t),outputs:(t.outputs??[]).filter(n=>!!n.key).map(n=>({key:n.key,name:n.name||n.key,visible:!0}))}),a1=(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("|")},gce=(t,n,o)=>{const a=lm.get(o);if(a)return a;const l=Ai(t,n).then(vce).catch(r=>{throw lm.delete(o),r});return lm.set(o,l),l},l1=t=>Object.fromEntries(t.filter(n=>n.visible).map(n=>[n.key,n.name])),hce=t=>typeof t=="string"?t:t instanceof Error?t.message:"加载失败";function eh(t){const n=Vn(),o=e.ref(!1),a=e.ref(""),l=e.shallowRef(wc);let r=0;const i=async()=>{const v=t.component(),h=++r,m=a1(v,n.scopeData);if(!v?.code||!m){o.value=!1,a.value="",l.value=wc;return}o.value=!0,a.value="",l.value=wc;try{const g=await gce(n,v,m);if(h!==r)return;l.value=g}catch(g){if(h!==r)return;l.value=wc,a.value=`插件参数信息加载失败:${hce(g)}`}finally{h===r&&(o.value=!1)}};e.watch(()=>a1(t.component(),n.scopeData),()=>{i()},{immediate:!0});const s=e.computed(()=>l.value.inputs.filter(v=>v.visible)),c=e.computed(()=>l.value.outputs.filter(v=>v.visible)),f=e.computed(()=>l1(l.value.inputs)),d=e.computed(()=>l1(l.value.outputs));return{loading:o,error:a,meta:l,visibleInputs:s,visibleOutputs:c,inputNameMap:f,outputNameMap:d}}const rx=Symbol("plugin-param-names");function bce(t){const{loading:n,error:o,inputNameMap:a,outputNameMap:l,visibleOutputs:r}=eh(t),i={loading:n,error:o,inputNameMap:a,outputNameMap:l,outputKeys:e.computed(()=>r.value.map(s=>s.key))};return e.provide(rx,i),i}function sx(){const t=e.inject(rx);if(!t)throw new Error("useInjectedPluginParamNames: plugin param names is not provided");return t}const yce=e.defineComponent({__name:"input-params",setup(t){const{loading:n,error:o,detail:a}=Xg(),{loading:l,error:r,inputNameMap:i}=sx(),s=e.computed(()=>n.value||l.value),c=e.computed(()=>o.value||r.value),f=e.computed(()=>Rue(a.value?.inputs,i.value).filter(d=>d.key in i.value));return(d,v)=>(e.openBlock(),e.createBlock(Jg,{loading:s.value,error:c.value,rows:f.value,"empty-text":"暂无输入参数"},null,8,["loading","error","rows"]))}}),kce=e.defineComponent({__name:"output-params",setup(t){const{loading:n,error:o,detail:a}=Xg(),{loading:l,error:r,outputNameMap:i,outputKeys:s}=sx(),c=e.computed(()=>n.value||l.value),f=e.computed(()=>o.value||r.value),d=e.computed(()=>{const v=nx(a.value?.outputs,i.value).filter(h=>h.key in i.value&&!_d.has(h.key));return ox(v,s.value)});return(v,h)=>(e.openBlock(),e.createBlock(Jg,{loading:c.value,error:f.value,rows:d.value,"empty-text":"暂无输出结果"},null,8,["loading","error","rows"]))}}),wce=t=>typeof t=="string"?t:t instanceof Error?t.message:"加载失败";function Cce(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=wce(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 Ace={class:"call-logs-viewer"},Ece={key:0,class:"call-logs-viewer__state is-error","data-test":"log-error"},xce={key:2,class:"call-logs-viewer__viewer"},_ce={class:"call-logs-viewer__empty-body"},Bce={class:"call-logs-viewer__sub-tabs"},Sce=["onClick"],Vce=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",Ace,[n.error?(e.openBlock(),e.createElementBlock("div",Ece,e.toDisplayString(n.error),1)):!n.loading&&!n.logText?(e.openBlock(),e.createBlock(ln,{key:1,title:"暂无调用日志","data-test":"log-empty"})):n.logText?(e.openBlock(),e.createElementBlock("div",xce,[o.value==="platform"?(e.openBlock(),e.createBlock(ha,{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",_ce,[e.createVNode(ln,{title:"暂无第三方插件日志"})])],64)),e.createElementVNode("div",Bce,[(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:d=>o.value=f.value},e.toDisplayString(f.label),11,Sce)),64))])])):e.createCommentVNode("",!0)])),[[c,{loading:n.loading}]])}}}),ix=He(Vce,[["__scopeId","data-v-06ddf5de"]]),Nce=e.defineComponent({__name:"call-logs",props:{taskId:{},nodeId:{},version:{}},setup(t){const n=t,o=Vn(),{loading:a,error:l,data:r}=Cce({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(()=>ax(r.value));return(s,c)=>(e.openBlock(),e.createBlock(ix,{"log-text":i.value,loading:e.unref(a),error:e.unref(l)},null,8,["log-text","loading","error"]))}}),Tce={class:"debug-result-tabs"},Dce=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 Hue({taskId:()=>o.taskId,nodeId:()=>o.activeNodeId}),bce({component:()=>o.activeNodeComponent}),(r,i)=>{const s=e.resolveComponent("bk-tab-panel"),c=e.resolveComponent("bk-tab");return e.openBlock(),e.createElementBlock("section",Tce,[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($ue,{key:0})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(s,{name:"inputs",label:"输入参数"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createBlock(ln,{key:0,title:"暂无输入参数"})):a.value==="inputs"?(e.openBlock(),e.createBlock(yce,{key:1})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(s,{name:"outputs",label:"输出结果"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createBlock(ln,{key:0,title:"暂无输出结果"})):a.value==="outputs"?(e.openBlock(),e.createBlock(kce,{key:1})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(s,{name:"logs",label:"调用日志"},{default:e.withCtx(()=>[a.value==="logs"?(e.openBlock(),e.createBlock(Nce,{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"])])}}}),Ice=He(Dce,[["__scopeId","data-v-3a013845"]]),Oce={class:"debug-result-drawer__header"},Mce={class:"debug-result-drawer__body"},Pce=44,Lce=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(_=>_.id===o.activeNodeId)?.typeName??""),l=n,r=e.ref(420),i=e.ref(!1);let s=0,c=0,f="",d="";const v=e.computed(()=>({height:`${o.open?r.value:Pce}px`})),h=()=>{l("update:open",!o.open)},m=A=>{l("update:activeNodeId",A)},g=A=>{const _=c-(A.clientY-s);r.value=Math.max(200,Math.min(window.innerHeight*.8,_))},k=()=>{document.removeEventListener("mousemove",g),document.removeEventListener("mouseup",k),document.body.style.cursor=f,document.body.style.userSelect=d,i.value=!1},y=A=>{A.preventDefault(),i.value=!0,s=A.clientY,c=r.value,f=document.body.style.cursor,d=document.body.style.userSelect,document.body.style.cursor="ns-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",g),document.addEventListener("mouseup",k)};return e.onBeforeUnmount(k),(A,_)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["debug-result-drawer-wrapper",{"is-resizing":i.value}]),style:e.normalizeStyle(v.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",Oce,[_[0]||(_[0]=e.createElementVNode("div",{class:"debug-result-drawer__title"},"调试结果",-1)),e.createElementVNode("span",{class:"debug-result-drawer__collapse",onClick:h},[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",Mce,[e.createVNode(Mue,{nodes:o.nodes,"model-value":o.activeNodeId,"onUpdate:modelValue":m},null,8,["nodes","model-value"]),e.createVNode(Ice,{"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))}}),Rce=He(Lce,[["__scopeId","data-v-c5b0c94f"]]),Fce={key:0,class:"operate-area"},zce={class:"mock-debug-status"},jce={class:"operate-btns"},Hce={class:"flow-mock-debug-content"},Uce={class:"gateway-select-dialog"},Gce={class:"gateway-select-dialog__field"},Wce=3e3,Yce=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=Al(o.apiConfig);sr({},o.bkflowSaasUrl);const r=e.ref(),i=e.shallowRef(null),s=e.shallowRef(!0),c=e.ref("RUNNING"),f=e.ref(Date.now()),d=e.ref(),v=e.shallowRef({}),h=e.ref(!0),m=e.ref(),g=e.ref(0),k=e.computed(()=>s.value),y=e.computed(()=>v.value),A=e.shallowRef([lf(y)]),_=e.computed(()=>{const _e=i.value?.pipeline_tree;return _e?Zg(_e,v.value):null}),w={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=_e=>{if(_e.component?.code==="uniform_api"){const Ne=_e.component?.api_meta?.category?.name??"";return pt.PLUGGIN_GROUP_FONT_CLASS_MAP[Ne]??pt.PLUGGIN_GROUP_FONT_CLASS_MAP.bkflow}return pt.PLUGGIN_GROUP_FONT_CLASS_MAP.bkflow},C=_e=>{const Ne=new Map;Object.values(_e.flows).forEach(U=>{const I=Ne.get(U.source);I?I.push(U.target):Ne.set(U.source,[U.target])});const Ie=[],Ke=new Set,ze=_e.start_event?.id;if(!ze)return Ie;const se=[ze];for(Ke.add(ze);se.length>0;){const U=se.shift();Ie.push(U);const I=Ne.get(U)??[];for(const J of I)Ke.has(J)||(Ke.add(J),se.push(J))}return Ie},E=e.computed(()=>{const _e=i.value?.pipeline_tree;if(!_e)return[];const Ne=new Map;_e.start_event&&Ne.set(_e.start_event.id,{id:_e.start_event.id,name:_e.start_event.name||"开始节点",typeName:"开始节点",status:v.value[_e.start_event.id]?.status,iconClass:"bkflow-canvas-icon bkflow-canvas-kaishi",hasMockConfig:!1}),Object.values(_e.activities).forEach(ze=>{Ne.set(ze.id,{id:ze.id,name:ze.name||ze.id,typeName:ze.component?.code||"任务节点",status:v.value[ze.id]?.status,iconClass:b(ze),hasMockConfig:!1})}),Object.values(_e.gateways).forEach(ze=>{Ne.set(ze.id,{id:ze.id,name:ze.name||ze.id,typeName:"网关节点",status:v.value[ze.id]?.status,iconClass:w[ze.type]??"bkflow-canvas-icon bkflow-canvas-fenzhiwangguan",hasMockConfig:!1})}),_e.end_event&&Ne.set(_e.end_event.id,{id:_e.end_event.id,name:_e.end_event.name||"结束节点",typeName:"结束节点",status:v.value[_e.end_event.id]?.status,iconClass:"bkflow-canvas-icon bkflow-canvas-stop",hasMockConfig:!1});const Ie=C(_e).filter(ze=>Ne.has(ze)),Ke=[...Ne.keys()].filter(ze=>!Ie.includes(ze));return[...Ie,...Ke].map(ze=>Ne.get(ze))}),x=e.computed(()=>Object.entries(v.value).filter(([,_e])=>_e.status==="FAILED").map(([_e])=>_e)),S=e.computed(()=>{const _e=m.value;return _e?v.value[_e]?.version??"":""}),V=e.computed(()=>{const _e=i.value?.pipeline_tree,Ne=m.value;if(!(!_e||!Ne))return _e.activities[Ne]?.component});e.watch(E,_e=>{if(m.value||_e.length===0)return;const Ne=_e.find(Ie=>Ie.typeName!=="开始节点"&&Ie.typeName!=="结束节点"&&Ie.typeName!=="网关节点");m.value=Ne?.id??_e[0].id});const N=new Set(["CREATED","RUNNING","FINISHED","FAILED","SUSPENDED","REVOKED"]);let T;const z=()=>{T&&(clearTimeout(T),T=void 0)},j=_e=>{if(!_e)return;const Ne=String(_e).toUpperCase();return N.has(Ne)?Ne:void 0},R=_e=>{const Ne=j(_e);return Ne==="FINISHED"?"FINISHED":Ne==="FAILED"||Ne==="SUSPENDED"||Ne==="REVOKED"?"FAILED":"RUNNING"},L=_e=>_e&&typeof _e=="object"&&!Array.isArray(_e)?_e:void 0,F=_e=>{const Ne=L(_e);return!Ne||!("data"in Ne)?_e:Ne.data},O=_e=>{const Ne={};return Object.entries(_e).forEach(([Ie,Ke])=>{const ze=L(Ke),se=j(ze?ze.status??ze.state:Ke);if(!se)return;const U=String(ze?.id??ze?.node_id??Ie);Ne[U]={status:se,version:typeof ze?.version=="string"?ze.version:void 0,start_time:typeof ze?.start_time=="string"?ze.start_time:void 0,finish_time:typeof ze?.finish_time=="string"?ze.finish_time:void 0,elapsed_time:typeof ze?.elapsed_time=="number"?ze.elapsed_time:void 0}}),Ne},P=_e=>{const Ne={};return _e.forEach(Ie=>{const Ke=L(Ie);if(!Ke)return;const ze=Ke.id??Ke.node_id,se=j(Ke.status??Ke.state);!ze||!se||(Ne[String(ze)]={status:se,version:typeof Ke.version=="string"?Ke.version:void 0,start_time:typeof Ke.start_time=="string"?Ke.start_time:void 0,finish_time:typeof Ke.finish_time=="string"?Ke.finish_time:void 0,elapsed_time:typeof Ke.elapsed_time=="number"?Ke.elapsed_time:void 0})}),Ne},M=_e=>{const Ne=L(F(_e));if(!Ne)return{};const Ie={};return[Ne.node_states,Ne.states,Ne.children,Ne.nodes,Ne.activities,Ne.gateways].forEach(ze=>{if(Array.isArray(ze)){Object.assign(Ie,P(ze));return}const se=L(ze);se&&Object.assign(Ie,O(se))}),Ie},H=_e=>{const Ne=L(F(_e));return R(Ne?.state??Ne?.status)},W=_e=>{const Ne=L(F(_e));if(!Ne)return;const Ie=Ne.elapsed_time;return typeof Ie=="number"?Ie:void 0};function X(){z(),T=setTimeout(()=>{G()},Wce)}async function G(){if(z(),!(!o.taskId||!l.fetchTaskState))try{const _e=await l.fetchTaskState({task_id:o.taskId}),Ne=H(_e),Ie=M(_e);if(c.value=Ne,Ne!=="RUNNING"){const Ke=W(_e);Ke!=null&&(d.value=Ke)}Object.keys(Ie).length>0&&(v.value=Ie)}catch(_e){console.error(_e)}finally{c.value==="RUNNING"&&X()}}const Q=async()=>{s.value=!0;try{const[_e,Ne]=await Promise.all([l.fetchFlowDetail(String(o.flowId)),l.getFlowTaskDetail?.({task_id:o.taskId})]);Ne?.pipeline_tree?i.value={..._e,pipeline_tree:Ne.pipeline_tree}:i.value=_e}catch(_e){console.error(_e)}finally{s.value=!1}};function ne(_e){const Ne=r.value?.editor?.api?.value;Ne&&(Ne.scrollToNode(_e,{offset:{y:-120}}),Ne.highlightNodes([_e]),setTimeout(()=>Ne.clearHighlight(),1500))}const{actionPopover:ae,closeActionPopover:$,handlePopoverEnter:K,handlePopoverLeave:me,handleUiEvent:te}=JE({getNodeStates:()=>v.value,getPipelineTree:()=>_.value,getNodeViewportRect:_e=>r.value?.editor?.api?.value?.overlay?.getNodeViewportRect?.(_e)}),re=e.reactive({visible:!1,nodeId:"",isCondParallelGw:!1,branches:[],selectedBranch:null}),ue={retry:{title:"确定重试当前节点?",content:"重新节点将重新执行当前节点(使用最新的参数值)"},skip:{title:"确定跳过当前节点?",content:"跳过节点将忽略当前失败节点继续往后执行"},forceFail:{title:"确定强制终止当前节点?",content:"强制终止将强行修改节点状态为失败,但不会中断已经发送到其它系统的请求"},resume:{title:"确定继续往后执行?"}};function pe(_e){if($(),_e.action==="gatewaySkip"){Pe(_e.nodeId);return}const Ne=ue[_e.action];if(Ne){eo.InfoBox({title:Ne.title,content:Ne.content,confirmText:"确定",cancelText:"取消",width:400,onConfirm:()=>{ot(_e)}});return}ot(_e)}function Ae(_e){const Ie=_.value?.gateways?.[_e];if(!Ie)return[];const Ke=[],ze=Ie.converge_gateway_id;if(Ie.conditions&&Object.keys(Ie.conditions).forEach(se=>{const U=Ie.conditions[se];Ke.push({id:se,node_id:_e,name:U.name||U.evaluate||se,converge_gateway_id:ze})}),Ie.default_condition){const se=Ie.default_condition.flow_id;se&&Ke.unshift({id:se,node_id:_e,name:Ie.default_condition.name,converge_gateway_id:ze})}return Ke.length===0&&Ie.type==="ParallelGateway"&&(Array.isArray(Ie.outgoing)?Ie.outgoing:Ie.outgoing?[Ie.outgoing]:[]).forEach((U,I)=>{Ke.push({id:U,node_id:_e,name:`并行${I+1}`,converge_gateway_id:ze})}),Ke.filter(se=>se.id)}function Pe(_e){const Ie=_.value?.gateways?.[_e];if(!Ie)return;const Ke=Ae(_e);if(Ke.length===0)return;const ze=Ie.type==="ConditionalParallelGateway";re.nodeId=_e,re.isCondParallelGw=ze,re.branches=Ke,re.selectedBranch=ze?[Ke[0].id]:Ke[0].id,re.visible=!0}function Qe(){re.visible=!1,re.nodeId="",re.branches=[],re.selectedBranch=null}async function qe(){c.value="RUNNING",f.value=Date.now(),d.value=void 0,G(),X()}async function Te(){const{nodeId:_e,branches:Ne,selectedBranch:Ie,isCondParallelGw:Ke}=re;if(!_e||!o.taskId||!l.operateTaskNode)return;const ze=Ke?Array.isArray(Ie)?Ie:[]:Ie?[Ie]:[],se=Ne.filter(J=>ze.includes(J.id));if(se.length===0)return;re.visible=!1;const U=Ke?"skip_cpg":"skip_exg",I={};Ke?(I.flow_ids=se.map(J=>J.id),I.converge_gateway_id=se[0].converge_gateway_id):I.flow_id=se[0].id;try{await l.operateTaskNode({task_id:o.taskId,node_id:_e,action:"gatewaySkip",operation:U,data:I}),await qe()}catch(J){console.error(J)}finally{Qe()}}function xe(_e){if(_e==="resume")return{data:{}}}async function ot(_e){if(!(!o.taskId||!l.operateTaskNode))try{await l.operateTaskNode({task_id:o.taskId,node_id:_e.nodeId,action:_e.action,data:xe(_e.action)}),await qe()}catch(Ne){console.error(Ne)}}const de=()=>{o.onBack?o.onBack():a("back")},le=_e=>{m.value=_e.nodeId},be=_e=>{te(_e)},tt=()=>{de()},ut=()=>{!o.taskId||!l.revokeFlowTask||eo.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"}),G()}catch(_e){console.error(_e)}}})},ft=()=>{const _e=x.value;if(_e.length<1)return;const Ne=_e[g.value%_e.length];g.value+=1,m.value=Ne,ne(Ne)},st=_e=>{m.value=_e,ne(_e)};return e.onMounted(()=>{Q(),G()}),e.onBeforeUnmount(()=>{z()}),(_e,Ne)=>{const Ie=e.resolveComponent("bk-button"),Ke=e.resolveComponent("bk-option"),ze=e.resolveComponent("bk-select"),se=e.resolveComponent("bk-dialog"),U=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(qi,{title:"模拟调试",desc:i.value?.name,"show-back-icon":!0,onBack:de},{header:e.withCtx(()=>[e.renderSlot(_e.$slots,"header",{},void 0,!0)]),extend:e.withCtx(()=>[i.value?(e.openBlock(),e.createElementBlock("div",Fce,[e.createVNode(Xd,{"flow-data":i.value,editable:!1,"enable-simulate-debug":!1,"simulate-debug-only":!0},null,8,["flow-data"]),e.createElementVNode("div",zce,[e.createVNode(Cue,{class:"mock-debug-status__icon",size:14,width:20,"dot-size":4}),Ne[3]||(Ne[3]=e.createElementVNode("span",{class:"mock-debug-status__label"},"调试中",-1))]),e.createElementVNode("div",jce,[e.createVNode(Ie,{onClick:tt},{default:e.withCtx(()=>[...Ne[4]||(Ne[4]=[e.createTextVNode("退出模拟调试",-1)])]),_:1})])])):e.createCommentVNode("",!0),e.renderSlot(_e.$slots,"extend",{},void 0,!0)]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",Hce,[!k.value&&_.value?(e.openBlock(),e.createBlock(ef,{key:0,ref_key:"canvasRef",ref:r,"pipeline-tree":_.value,mode:"view","default-zoom":o.defaultZoom,"additional-plugins":A.value,onNodeClick:le,onUiEvent:be},null,8,["pipeline-tree","default-zoom","additional-plugins"])):e.createCommentVNode("",!0),e.createVNode(ex,{visible:e.unref(ae).visible,"node-id":e.unref(ae).nodeId,actions:e.unref(ae).actions,position:e.unref(ae).position,onPopoverEnter:e.unref(K),onPopoverLeave:e.unref(me),onAction:pe},null,8,["visible","node-id","actions","position","onPopoverEnter","onPopoverLeave"]),e.createVNode(se,{isShow:re.visible,"onUpdate:isShow":Ne[1]||(Ne[1]=I=>re.visible=I),"dialog-type":"operation",width:600,"esc-close":!1,"quick-close":!1,"header-align":"left",title:"请选择执行分支",onConfirm:Te,onClosed:Qe},{default:e.withCtx(()=>[e.createElementVNode("div",Uce,[e.createElementVNode("div",Gce,[Ne[5]||(Ne[5]=e.createElementVNode("label",{class:"gateway-select-dialog__label"},"可选执行分支",-1)),e.createVNode(ze,{modelValue:re.selectedBranch,"onUpdate:modelValue":Ne[0]||(Ne[0]=I=>re.selectedBranch=I),class:"gateway-select-dialog__select",multiple:re.isCondParallelGw,"display-tag":re.isCondParallelGw,clearable:!1},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(re.branches,I=>(e.openBlock(),e.createBlock(Ke,{key:I.id,id:I.id,name:I.name},null,8,["id","name"]))),128))]),_:1},8,["modelValue","multiple","display-tag"])])])]),_:1},8,["isShow"]),!k.value&&i.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(Bue,{status:c.value,"started-at":f.value,elapsed:d.value,"failed-count":x.value.length,onStop:ut,onLocateFailed:ft},null,8,["status","started-at","elapsed","failed-count"]),e.createVNode(Rce,{open:h.value,"task-id":o.taskId,nodes:E.value,"active-node-id":m.value,"active-node-version":S.value,"active-node-component":V.value,"onUpdate:open":Ne[2]||(Ne[2]=I=>h.value=I),"onUpdate:activeNodeId":st},null,8,["open","task-id","nodes","active-node-id","active-node-version","active-node-component"])],64)):e.createCommentVNode("",!0)])),[[U,{loading:k.value,zIndex:100}]])]),_:3},8,["desc"])}}}),ux=He(Yce,[["__scopeId","data-v-7ab3f135"]]),qce=Object.freeze(Object.defineProperty({__proto__:null,default:ux},Symbol.toStringTag,{value:"Module"})),Qce={waiting:"running",paused:"suspended"},$ce=new Set(["not_run","running","suspended","finished","failed","skipped","revoked"]);function ga(t){const n=Qce[t];return n||($ce.has(t)?t:"not_run")}function cx(t){return t==="failed"||t==="revoked"}function r1(t){return t==="finished"||cx(t)}function Cc(t){if(!t)return null;const n=t.nodes.filter(a=>ga(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 Kce={running:"RUNNING",suspended:"SUSPENDED",finished:"FINISHED",failed:"FAILED",skipped:"SKIP",revoked:"REVOKED"};function Zce(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=>ga(a.status)!=="not_run");return o.length===1?o[0].node_id:null}const Xce={global:"全流程",step:"单节点"};function Jce(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 ede(t,n={}){const o={},a=new Set;let l=0;const r=[];let i=0,s;const c=n.existingNodeIds,f=t?.nodes??[],d=t?.status??"idle",v=Jce(t),h=n.runStatusOverride??v.runStatus,m=n.runTypeOverride??v.runType,g=m==="step"?Zce(t,n):null;for(const A of f){if(c&&!c.has(A.node_id))continue;A.execution_mode==="mock"&&a.add(A.node_id);const _=ga(A.status);if(_!=="not_run"){const b=Kce[_];if(b){const C=A.selected_flow_ids?.filter(Boolean);o[A.node_id]={status:b,...C&&C.length>0?{selectedFlowIds:C}:{}}}}!(m!=="step"||A.node_id===g)||_==="not_run"||(l+=1,_==="failed"&&r.push(A.node_id),_==="revoked"&&(i+=1),typeof A.duration_ms=="number"&&Number.isFinite(A.duration_ms)&&m==="step"&&(s=A.duration_ms))}m==="step"&&d!=="idle"&&(l=1);let k;i>0?k="revoked":r.length>0?k="failed":d==="idle"&&n.resultStateOverride==="none"?k="none":l>0?k="success":h==="revoked"?k="revoked":k="none";const y={active:d!=="idle",status:d,operator:t?.locked_by??"",nodeCount:l,failedNodeIds:r,errorNodeCount:r.length,hasRecord:d!=="idle"||k!=="none",resultState:k,runType:m,typeLabel:m?Xce[m]:void 0,runStatus:h,startedAt:void 0,durationMs:s};return{nodeStates:o,mockNodeIds:a,summary:y}}function tde(t){return t.httpStatus===409||t.code==="409"?!0:/正在被|已被锁定|locked/i.test(t.message)}function s1(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 nde(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 ode(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=(v=0)=>{r(),a=Math.max(0,v),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},d=async(v,h={})=>{const m=t.getFlowTaskDetail;if(typeof m=="function")try{const g=await m({task_id:v}),k=nde(g);return k==null?void 0:(h.continueTimer?s(k):(r(),o=null,a=k,n.value=k),k)}catch{return}};return e.getCurrentScope()&&e.onScopeDispose(f),{durationMs:n,startLocal:s,freezeLocal:c,clear:f,restoreFromTask:d}}const ade=2500,lde=5e3;function i1(t){return t==="running"?"running":t==="failed"?"failed":t==="revoked"?"revoked":"finished"}function Fl(t,n){const o=t[n];if(typeof o!="function")throw new Error(`FlowDetail debug API "${String(n)}" is not configured`);return o}const rde=["fetchDebugContext","fetchDebugInputSchema","fetchDebugResetImpact","updateNodeDebugMock","runNodeDebugStep","runGlobalDebug","terminateDebug","resetDebugResult"];function sde(t){const n=rde.filter(o=>typeof t[o]!="function");if(n.length>0)throw new Error(`FlowDetail debug API is incomplete: ${n.join(", ")}`)}function ide(t){const n=t.pollInterval??ade,o=t.retryInterval??lde,a=e.shallowRef(null),l=e.ref(null),r=e.shallowRef(null),i=ode({getFlowTaskDetail:t.api.getFlowTaskDetail});let s=!1,c=null;const f=$=>{if(!$)return{runType:null,taskId:null,active:!1};const K=$.status==="running"||$.status==="terminating";return{runType:K?$.active_run_type:$.last_run_type,taskId:K?$.active_task_id:$.last_task_id,active:K}},d=($,K)=>{const me=f($),te=f(K);if(!(te.runType!=="global"||te.taskId==null)){if(te.active){(!s||c!==te.taskId)&&(s=!0,c=te.taskId,i.durationMs.value==null&&i.restoreFromTask(te.taskId,{continueTimer:!0}).then(re=>{re==null&&c===te.taskId&&s&&i.startLocal(0)}));return}if(me.active&&me.runType==="global"){i.freezeLocal(),s=!1,c=te.taskId;return}i.durationMs.value==null&&c!==te.taskId&&(c=te.taskId,i.restoreFromTask(te.taskId))}},v=e.computed(()=>{const $=ede(a.value,{resultStateOverride:l.value,runTypeOverride:r.value?.runType,runStatusOverride:r.value?.runStatus,nodeIdOverride:r.value?.nodeId,existingNodeIds:t.existingNodeIds?.()??null}),{runType:K}=f(a.value);return(r.value?.runType??K)==="global"&&i.durationMs.value!=null?{...$,summary:{...$.summary,durationMs:i.durationMs.value}}:$}),h=e.ref(!1),m=e.ref(!1),g=e.ref(""),k=e.ref(""),y=e.ref(!1),A=e.ref(!1),_=e.computed(()=>m.value||!!g.value||!!k.value||y.value||A.value),w=e.ref("");let b=null,C=0,E=0;function x(){b!==null&&(clearTimeout(b),b=null)}function S(){x(),C+=1,E+=1,a.value=null,w.value="",m.value=!1,g.value="",k.value="",y.value=!1,A.value=!1,l.value=null,r.value=null,i.clear(),s=!1,c=null}function V($,K){x(),t.enabled()&&($==="running"||$==="terminating")&&(b=setTimeout(()=>{N()},K?n:o))}async function N(){if(!t.enabled())return a.value;const $=++C,K=String(t.templateId());try{const te=await Fl(t.api,"fetchDebugContext")(t.templateId());if($!==C||K!==String(t.templateId()))return a.value;const re=a.value;return a.value=te,(te.status==="running"||te.status==="terminating")&&(l.value=null,r.value=null),d(re,te),w.value="",V(te.status,!0),te}catch(me){return $!==C||K!==String(t.templateId())||(w.value=pt.normalizeApiError(me).message,V(a.value?.status??"idle",!1)),a.value}}async function T($){const K=pt.normalizeApiError($);if(tde(K))return t.onMessage?.("warning",K.message),await N(),!1;throw t.onMessage?.("error",K.message),K}async function z(){if(t.enabled()){h.value=!0;try{sde(t.api),await N()}catch($){w.value=pt.normalizeApiError($).message}finally{h.value=!1}}}async function j(){if(!t.enabled())return{};try{return await Fl(t.api,"fetchDebugInputSchema")(t.templateId())}catch($){return await T($),{}}}const R=()=>({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:[]}),L=($,K)=>{const me=a.value??R(),te=me.nodes.findIndex(ue=>ue.node_id===$),re=[...me.nodes];te>=0?re[te]={...re[te],...K}:re.push({node_id:$,node_type:"",execution_mode:"real",status:"not_run",can_step:!0,missing_vars:[],...K}),a.value={...me,nodes:re}},F=()=>({epoch:E,templateId:String(t.templateId())}),O=$=>$.epoch===E&&$.templateId===String(t.templateId());async function P($){if(!t.enabled())return!1;const K=F();m.value=!0;try{const te=await Fl(t.api,"runGlobalDebug")({templateId:t.templateId(),inputs:$});if(!O(K))return!1;l.value=null,r.value=null;const re=a.value??R();return a.value={...re,status:te.status==="terminating"?"terminating":"running",active_task_id:te.task_id,active_run_type:"global",active_node_id:null,last_task_id:te.task_id,last_run_type:"global",last_run_status:"running",last_inputs:{...$},nodes:s1(re.nodes)},i.startLocal(0),s=!0,c=te.task_id,V(a.value.status,!0),await N(),!0}catch(me){if(!O(K))return!1;l.value=null,r.value=null,i.clear(),s=!1,c=null,a.value&&(a.value={...a.value,nodes:s1(a.value.nodes)});try{await N()}catch(te){console.error(te)}return O(K)?await T(me):!1}finally{O(K)&&(m.value=!1)}}async function M($){if(!t.enabled())return!1;const K=F();g.value=$.nodeId;try{const te=await Fl(t.api,"runNodeDebugStep")({templateId:t.templateId(),...$});if(!O(K))return!1;l.value=null,L($.nodeId,{execution_mode:$.mode,status:te.status,outputs:te.outputs,selected_flow_ids:te.selected_flow_ids,condition_results:te.condition_results,error_detail:te.error_detail??null,duration_ms:null,log_ref:te.log_ref,...$.mode==="mock"?{mock_outputs:$.mockOutputs,mock_error:$.mockError??null}:{}});const re=ga(te.status);if(a.value){const ue=typeof te.task_id=="number"||typeof te.task_id=="string"?te.task_id:null;re==="running"?(a.value={...a.value,status:"running",active_task_id:ue,active_run_type:"step",active_node_id:$.nodeId,last_task_id:ue??a.value.last_task_id,last_run_type:"step",last_run_status:"running",global_vars:te.updated_global_vars??a.value.global_vars},V("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:i1(re),global_vars:te.updated_global_vars??a.value.global_vars}}return await N(),O(K)&&(r.value={runType:"step",runStatus:i1(re),nodeId:$.nodeId}),!0}catch(me){return O(K)?await T(me):!1}finally{O(K)&&(g.value="")}}async function H($){if(!t.enabled())return!1;const K=F();k.value=$.nodeId;try{const te=await Fl(t.api,"updateNodeDebugMock")({templateId:t.templateId(),...$});return O(K)?(L($.nodeId,{execution_mode:te.execution_mode,...$.enable?{mock_result:$.mockResult??"success",mock_outputs:$.mockOutputs,mock_error:$.mockError??null}:{mock_result:null,mock_outputs:null,mock_error:null}}),a.value&&te.updated_global_vars&&(a.value={...a.value,global_vars:te.updated_global_vars}),await N(),!0):!1}catch(me){return O(K)?await T(me):!1}finally{O(K)&&(k.value="")}}async function W($){return!t.enabled()||!await H({nodeId:$.nodeId,enable:!0,mockResult:$.mockResult,mockOutputs:$.mockOutputs,mockError:$.mockError})?!1:M({...$,mode:"mock"})}async function X($){return H({nodeId:$,enable:!1})}function G($){!a.value||$.size===0||(a.value={...a.value,nodes:a.value.nodes.map(K=>$.has(K.node_id)?{...K,status:"not_run",duration_ms:null,error_detail:null,outputs:null,selected_flow_ids:[],condition_results:[],log_ref:null}:K)})}function Q(){const $=(a.value?.nodes??[]).some(K=>K.status!=="not_run");l.value=$?null:"none",r.value=null,$||(i.clear(),s=!1,c=null)}async function ne($){if(!t.enabled())return!1;const K=F();y.value=!0;try{const te=await Fl(t.api,"terminateDebug")({templateId:t.templateId(),nodeId:$});return!O(K)||(te.status==="terminating"&&a.value&&(a.value={...a.value,status:"terminating"},V("terminating",!0)),$&&G(new Set(te.reset_node_ids??[$])),await N(),!O(K))?!1:($&&Q(),!0)}catch(me){return O(K)?await T(me):!1}finally{O(K)&&(y.value=!1)}}async function ae($){if(!t.enabled())return null;const K=F();A.value=!0;try{const te=await Fl(t.api,"resetDebugResult")({templateId:t.templateId(),nodeIds:$});if(!O(K))return null;const re=new Set(te.reset_node_ids??$??a.value?.nodes.map(ue=>ue.node_id)??[]);return G(re),await N(),O(K)?(re.size>0&&Q(),te):null}catch(me){return O(K)&&await T(me),null}finally{O(K)&&(A.value=!1)}}return e.getCurrentScope()&&e.onScopeDispose(S),{context:a,canvasState:v,initializing:h,globalRunPending:m,stepRunPendingNodeId:g,mockSavePendingNodeId:k,terminatePending:y,resetPending:A,actionPending:_,contextSyncError:w,initialize:z,refresh:N,fetchInputSchema:j,runGlobal:P,runStep:M,saveMock:H,runMock:W,cancelMock:X,terminate:ne,reset:ae,resetState:S,stopPolling:x}}const ude=1e3;function dx(t){if(t==null||!Number.isFinite(t))return"--";const n=Math.max(0,Math.floor(t/ude)),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 sa={realBlocked:"部分必填入参未填写,无法调试",realWhileMock:"当前使用 Mock 输出,请先取消 Mock,才可以调试",realWhileSkipDebug:"当前已跳过调试,请先取消跳过调试,才可以调试",realWhileDebugging:"当前流程正在调试中,无法调试",mockCreateWhileDebugging:"调试中,无法新建 Mock 输出",mockEditWhileDebugging:"当前流程正在调试中,无法编辑 Mock 输出",mockCancelWhileDebugging:"当前流程正在调试中,无法取消 Mock",skipDebugCancelWhileDebugging:"当前流程正在调试中,无法取消跳过调试"};function cde(t){const n=!!t.terminatePending,o=t.isFlowDebugging,a=t.isActiveStep,l=!!(t.systemOnlyOutputs&&t.isMock),r=dde(t,a,o,n,l),i=t.isMock?"编辑 Mock 输出":"新建 Mock 输出",s=o,c=s?t.isMock?sa.mockEditWhileDebugging:sa.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?sa.skipDebugCancelWhileDebugging:sa.mockCancelWhileDebugging:""},viewResult:{visible:l?!1:t.hasResult||t.isMock||t.isActiveStep}}}function dde(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?sa.realWhileSkipDebug:sa.realWhileMock}:o?{kind:"runReal",label:r,disabled:!0,tooltip:sa.realWhileDebugging}:t.realBlocked?{kind:"runReal",label:r,disabled:!0,tooltip:sa.realBlocked}:{kind:"runReal",label:r,disabled:!1,tooltip:""}}const fde="重新调试";function pde(t,n){if(n.status!=="idle"||n.runType!=="step"||n.failedNodeIds.length!==1||!t)return null;const o=t.nodes;if(o.some(r=>ga(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:sa.realWhileMock}:{nodeId:a,disabled:!1,tooltip:fde}}const mde={class:"debug-trigger"},vde=["disabled","title"],gde={key:1,class:"debug-trigger__running-dots","aria-label":"调试中"},hde={class:"debug-trigger__label"},bde={key:0,class:"debug-summary-card","data-test":"debug-summary"},yde={class:"summary-row"},kde={class:"summary-value summary-value--num"},wde={key:0,class:"summary-row"},Cde={class:"summary-value","data-test":"debug-node-count"},Ade={class:"summary-value--num"},Ede={key:1,class:"summary-row"},xde={class:"summary-value","data-test":"failed-node-count"},_de=["tabindex","onKeydown"],Bde=["onKeydown"],Sde={key:2,class:"summary-actions"},Vde={key:3,class:"summary-actions"},Nde=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(X=>ga(X.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 X=o.context;return X?i.value==="running"||i.value==="terminating"?(X.active_run_type??X.last_run_type)==="global":o.summary.runType==="global":!1}),d=e.computed(()=>c.value==="failed"),v=e.computed(()=>i.value==="idle"&&c.value==="revoked"),h=e.computed(()=>i.value==="idle"&&c.value==="success"&&!o.syncError),m=e.computed(()=>i.value==="idle"&&!s.value),g=e.computed(()=>o.syncError||i.value!=="idle"||!s.value?null:v.value?{text:"调试终止",tone:"revoked"}:d.value?{text:"失败",tone:"failed"}:{text:"成功",tone:"success"}),k=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":h.value,"is-failed":i.value==="idle"&&d.value,"is-revoked":v.value})),A=e.computed(()=>y.value),_=e.computed(()=>o.syncError?"bkflow-canvas-circle-alert-filled":i.value==="terminating"?"bkflow-canvas-loading":"bkflow-canvas-debug"),w=e.computed(()=>i.value==="running"||i.value==="terminating"?"bkflow-canvas-loading":v.value?"bkflow-canvas-stop-2":d.value?"bkflow-canvas-close-circle":h.value?"bkflow-canvas-check-circle":"bkflow-canvas-debug"),b=e.computed(()=>f.value?"全局":"单步"),C=e.computed(()=>i.value==="running"?"调试中":i.value==="terminating"?"终止中":s.value?v.value?`${b.value}调试终止`:d.value?`${b.value}调试失败`:`${b.value}调试成功`:"调试"),E=e.computed(()=>o.summary.active||s.value),x=e.computed(()=>i.value==="running"||i.value==="terminating"),S=e.computed(()=>i.value==="terminating"||o.terminatePending),V=e.computed(()=>i.value==="idle"&&s.value),N=e.computed(()=>f.value?"重新调试":"全局调试"),T=e.computed(()=>f.value?"debug-restart":"debug-global-entry"),z=e.computed(()=>o.summary.active||s.value),j=e.computed(()=>f.value?o.summary.nodeCount:1),R=e.computed(()=>o.summary.errorNodeCount>0),L=e.computed(()=>o.syncError?null:pde(o.context,o.summary)),F=e.computed(()=>dx(o.summary.durationMs)),O=()=>{if(!o.initializing){if(m.value){a("start");return}a("openResult")}},P=()=>{S.value||a("terminate")},M=()=>{a("start")},H=()=>{o.summary.errorNodeCount<1||a("locateFailed")},W=()=>{const X=L.value;!X||X.disabled||a("retryStep",X.nodeId)};return(X,G)=>{const Q=e.resolveComponent("bk-button"),ne=e.resolveDirective("bk-tooltips");return e.openBlock(),e.createElementBlock("div",mde,[e.createElementVNode("button",{type:"button","data-test":"debug-trigger",class:e.normalizeClass(["debug-trigger__button",A.value]),disabled:o.initializing,title:o.syncError||"",onClick:O},[g.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["debug-trigger__badge",`is-${g.value.tone}`])},e.toDisplayString(g.value.text),3)):i.value==="running"?(e.openBlock(),e.createElementBlock("span",gde,[...G[0]||(G[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",_.value,"debug-trigger__icon"])},null,2)),e.createElementVNode("span",hde,e.toDisplayString(k.value),1)],10,vde),E.value?(e.openBlock(),e.createElementBlock("div",bde,[e.createElementVNode("div",{class:e.normalizeClass(["summary-title",y.value]),"data-test":"summary-title"},[e.createElementVNode("i",{class:e.normalizeClass(["bkflow-canvas-icon",w.value,"summary-title__icon"])},null,2),e.createElementVNode("span",null,e.toDisplayString(C.value),1)],2),e.createElementVNode("div",yde,[G[1]||(G[1]=e.createElementVNode("span",{class:"summary-label"},"调试用时",-1)),e.createElementVNode("span",kde,e.toDisplayString(F.value),1)]),z.value?(e.openBlock(),e.createElementBlock("div",wde,[G[3]||(G[3]=e.createElementVNode("span",{class:"summary-label"},"调试节点",-1)),e.createElementVNode("span",Cde,[e.createElementVNode("span",Ade,e.toDisplayString(j.value),1),G[2]||(G[2]=e.createTextVNode(" 个 ",-1))])])):e.createCommentVNode("",!0),R.value?(e.openBlock(),e.createElementBlock("div",Ede,[G[5]||(G[5]=e.createElementVNode("span",{class:"summary-label"},"失败节点",-1)),e.createElementVNode("span",xde,[L.value?e.withDirectives((e.openBlock(),e.createElementBlock("i",{key:0,class:e.normalizeClass(["bkflow-canvas-icon","bkflow-canvas-refresh","summary-value--retry",{"is-disabled":L.value.disabled}]),"data-test":"debug-step-retry",role:"button",tabindex:L.value.disabled?-1:0,onClick:e.withModifiers(W,["stop"]),onKeydown:e.withKeys(e.withModifiers(W,["prevent"]),["enter","space"])},null,42,_de)),[[ne,L.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(H,["stop"]),onKeydown:e.withKeys(e.withModifiers(H,["prevent"]),["enter","space"])},[e.createTextVNode(e.toDisplayString(t.summary.errorNodeCount),1)],40,Bde)),[[ne,"定位错误"]]),G[4]||(G[4]=e.createTextVNode(" 个 ",-1))])])):e.createCommentVNode("",!0),x.value?(e.openBlock(),e.createElementBlock("div",Sde,[e.createVNode(Q,{"data-test":"debug-terminate",outline:"",theme:"primary",size:"small",disabled:S.value,onClick:P},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.value==="terminating"||t.terminatePending?"终止中...":"终止调试"),1)]),_:1},8,["disabled"])])):e.createCommentVNode("",!0),V.value?(e.openBlock(),e.createElementBlock("div",Vde,[e.createVNode(Q,{"data-test":T.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)])}}}),Tde=He(Nde,[["__scopeId","data-v-10d7e32f"]]),Dde={class:"node-debug-config","data-test":"node-debug-config"},Ide={class:"node-debug-config__section"},Ode={class:"node-debug-config__params","data-test":"input-params"},Mde={key:0},Pde={class:"node-debug-config__error",colspan:"2"},Lde={key:1},Rde=["title"],Fde={class:"col-value"},zde={key:0,class:"node-debug-config__missing-value","data-test":"missing-value"},jde={key:2,class:"node-debug-config__value"},Hde={class:"node-debug-config__jump-candidates"},Ude=["onClick"],Gde={key:0,class:"node-debug-config__reason","data-test":"missing-reason"},Wde={class:"node-debug-config__actions"},Yde=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:d}=eh({component:()=>o.node?.component}),v=e.computed(()=>!r.value||l.value.length>0),h=e.computed(()=>gv(d.value.outputs)),m=e.computed(()=>cde({realBlocked:v.value,isMock:i.value,isActiveStep:o.isActiveStep,isFlowDebugging:o.isFlowDebugging,hasResult:o.hasResult,terminatePending:o.terminatePending,systemOnlyOutputs:h.value})),g=w=>w==null?"":typeof w=="object"?JSON.stringify(w,null,2):String(w),k=(w,b)=>{if(!b)return!1;try{return JSON.stringify(w??"").includes(b)}catch{return!1}},y=e.computed(()=>{const w=o.node?.component?.data??{};return f.value.filter(({key:b})=>Object.prototype.hasOwnProperty.call(w,b)).map(({key:b,name:C})=>{const x=w[b]?.value,S=l.value.filter(N=>k(x,N.key)),V=R4(S.filter(N=>!!N.source_node_id),"source_node_id");return{key:b,name:C,rawValue:x,display:g(x),isComplex:rf(x),missing:S,jumpCandidates:V}})}),A=w=>w?o.nodeNameMap[w]||w:"",_=w=>{w&&a("jumpToSourceNode",w)};return(w,b)=>{const C=e.resolveComponent("bk-button"),E=e.resolveComponent("bk-popover"),x=e.resolveDirective("bkloading"),S=e.resolveDirective("bk-tooltips");return e.openBlock(),e.createElementBlock("div",Dde,[e.withDirectives((e.openBlock(),e.createElementBlock("div",Ide,[b[10]||(b[10]=e.createElementVNode("div",{class:"node-debug-config__section-title"},"输入参数",-1)),e.createElementVNode("table",Ode,[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",Mde,[e.createElementVNode("td",Pde,e.toDisplayString(e.unref(c)),1)])):!e.unref(s)&&y.value.length===0?(e.openBlock(),e.createElementBlock("tr",Lde,[...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,V=>(e.openBlock(),e.createElementBlock("tr",{key:V.key,"data-test":"input-row"},[e.createElementVNode("td",{class:"col-name",title:V.key},e.toDisplayString(V.name),9,Rde),e.createElementVNode("td",Fde,[V.missing.length>0?(e.openBlock(),e.createElementBlock("div",zde,[...b[6]||(b[6]=[e.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-circle-alert-filled"},null,-1),e.createElementVNode("span",null,"暂无参数值",-1)])])):V.isComplex?(e.openBlock(),e.createBlock(xd,{key:1,value:V.rawValue,"data-test":"json-viewer"},null,8,["value"])):(e.openBlock(),e.createElementBlock("pre",jde,e.toDisplayString(V.display),1)),V.jumpCandidates.length===1?(e.openBlock(),e.createBlock(C,{key:3,text:"",theme:"primary",size:"small","data-test":"jump-source",onClick:N=>_(V.jumpCandidates[0].source_node_id)},{default:e.withCtx(()=>[...b[7]||(b[7]=[e.createTextVNode(" 跳转至输出节点 ",-1)])]),_:1},8,["onClick"])):V.jumpCandidates.length>1?(e.openBlock(),e.createBlock(E,{key:4,trigger:"click",theme:"light",placement:"bottom-start"},{content:e.withCtx(()=>[e.createElementVNode("div",Hde,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(V.jumpCandidates,N=>(e.openBlock(),e.createElementBlock("div",{key:N.source_node_id,class:"node-debug-config__jump-candidate","data-test":"jump-candidate",onClick:T=>_(N.source_node_id)},e.toDisplayString(A(N.source_node_id)),9,Ude))),128))])]),default:e.withCtx(()=>[e.createVNode(C,{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))])])])),[[x,{loading:e.unref(s)}]]),v.value&&l.value.length>0?(e.openBlock(),e.createElementBlock("div",Gde,e.toDisplayString(e.unref(sa).realBlocked),1)):e.createCommentVNode("",!0),e.createElementVNode("div",Wde,[m.value.primary.kind==="terminate"?(e.openBlock(),e.createBlock(C,{key:0,outline:"",theme:"danger","data-test":"terminate-step",loading:o.terminatePending,disabled:m.value.primary.disabled,onClick:b[0]||(b[0]=V=>a("terminate"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value.primary.label),1)]),_:1},8,["loading","disabled"])):e.withDirectives((e.openBlock(),e.createBlock(C,{key:1,theme:"primary","data-test":"run-real",disabled:m.value.primary.disabled,loading:o.pendingAction==="real",onClick:b[1]||(b[1]=V=>a("runReal"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value.primary.label),1)]),_:1},8,["disabled","loading"])),[[S,{content:m.value.primary.tooltip,disabled:!m.value.primary.disabled}]]),m.value.mock.visible?e.withDirectives((e.openBlock(),e.createBlock(C,{key:2,outline:"",theme:"primary","data-test":"open-mock",disabled:m.value.mock.disabled,loading:o.pendingAction==="mock",onClick:b[2]||(b[2]=V=>a("runMock"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value.mock.label),1)]),_:1},8,["disabled","loading"])),[[S,{content:m.value.mock.tooltip,disabled:!m.value.mock.disabled}]]):e.createCommentVNode("",!0),m.value.cancelMock.visible?e.withDirectives((e.openBlock(),e.createBlock(C,{key:3,"data-test":"cancel-mock",disabled:m.value.cancelMock.disabled,loading:o.pendingAction==="cancel-mock",onClick:b[3]||(b[3]=V=>a("cancelMock"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.value.cancelMock.label),1)]),_:1},8,["disabled","loading"])),[[S,{content:m.value.cancelMock.tooltip,disabled:!m.value.cancelMock.disabled}]]):e.createCommentVNode("",!0),m.value.viewResult.visible?(e.openBlock(),e.createBlock(C,{key:4,text:"",theme:"primary","data-test":"view-result",class:"node-debug-config__view-result",onClick:b[4]||(b[4]=V=>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)])])}}}),qde=He(Yde,[["__scopeId","data-v-1d567a44"]]),Qde=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 $de(t){if(!t)return[];const n=Qde(t),o=new Set(n),a=new Map(n.map((m,g)=>[m,g])),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,g)=>{if(!o.has(m.source)||!o.has(m.target))return;const k=`${m.source}\0${m.target}`;s.has(k)||(s.add(k),r.get(m.source)?.push(m.target),i.has(m.target)||i.set(m.target,g))});const c=(m,g)=>{const k=(i.get(m)??Number.MAX_SAFE_INTEGER)-(i.get(g)??Number.MAX_SAFE_INTEGER);if(k!==0)return k;const y=l.get(m),A=l.get(g),_=(y?.x??Number.MAX_SAFE_INTEGER)-(A?.x??Number.MAX_SAFE_INTEGER);if(_!==0)return _;const w=(y?.y??Number.MAX_SAFE_INTEGER)-(A?.y??Number.MAX_SAFE_INTEGER);return w!==0?w:(a.get(m)??0)-(a.get(g)??0)},f=new Set,d=t.start_event?.id;if(d&&o.has(d)){const m=[d];for(f.add(d);m.length>0;){const g=m.shift();(r.get(g)??[]).forEach(k=>{f.has(k)||(f.add(k),m.push(k))})}}const v=m=>{if(m.size===0)return[];const g=new Map([...m].map(_=>[_,0]));m.forEach(_=>{(r.get(_)??[]).forEach(w=>{m.has(w)&&g.set(w,(g.get(w)??0)+1)})});const k=[...m].filter(_=>g.get(_)===0).sort(c),y=[];for(;k.length>0;){const _=k.shift();y.push(_),(r.get(_)??[]).forEach(w=>{if(!m.has(w))return;const b=(g.get(w)??0)-1;g.set(w,b),b===0&&(k.push(w),k.sort(c))})}const A=new Set(y);return[...y,...[...m].filter(_=>!A.has(_)).sort(c)]},h=new Set(n.filter(m=>!f.has(m)));return[...v(f),...v(h)]}const Kde={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"},rm={ServiceActivity:"任务节点",EmptyStartEvent:"开始节点",EmptyEndEvent:"结束节点",ExclusiveGateway:"分支网关",ParallelGateway:"并行网关",ConditionalParallelGateway:"条件并行网关",ConvergeGateway:"汇聚网关"},Zde=t=>!t||t.includes("bkflow-canvas-icon")?t:`bkflow-canvas-icon ${t}`;function Xde(t){if(!t.component?.code)return"";if(t.component.code==="uniform_api"){const n=t.component.api_meta?.category?.name??"";return pt.PLUGGIN_GROUP_FONT_CLASS_MAP[n]??pt.PLUGGIN_GROUP_FONT_CLASS_MAP.bkflow}return pt.PLUGGIN_GROUP_FONT_CLASS_MAP.bkflow}function Jde(t,n){const o=t?.location?.find(i=>i.id===n),a=Zde(o?.icon??""),l=t?.activities?.[n];if(l)return{name:!!l.component?.code?l.name||o?.name||n:"节点未配置",type:l.type||"ServiceActivity",typeName:rm[l.type]??"任务节点",icon:Xde(l)};const r=t?.gateways?.[n];return r?{name:r.name||o?.name||rm[r.type]||n,type:r.type,typeName:rm[r.type]??"网关",icon:a||Kde[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 Yc(t){return t?$de(t).filter(n=>!!(t.activities?.[n]||t.gateways?.[n])):[]}function efe(t,n,o=new Set){if(!t)return[];const a=new Map((n??[]).map(l=>[l.node_id,ga(l.status)]));return Yc(t).map(l=>{const r=t.activities?.[l],i=r?!!r.component?.code:!0,s=Jde(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 tfe(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 u1(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 c1=t=>typeof t=="string"?t:t instanceof Error?t.message:"加载调试结果失败";function nfe(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),d=new Map,v=new Map;let h=0,m=0;const g=_=>{s.value=_.inputs,c.value=_.outputs,n.value=!1,a.value="",l.value=""},k=()=>{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 _=t.context(),w=t.nodeId(),b=++h;if(!_||!w){k();return}const C=_.nodes.find(O=>O.node_id===w),E=C?ga(C.status):"not_run";i.value={status:E,durationMs:C?.duration_ms??void 0,errorDetail:C?.error_detail};const x=t.fallbackInputs?.()??{},S=tfe(C),V=C?.mock_error??(typeof C?.error_detail=="string"?C.error_detail:"");if(!C?.log_ref){s.value=x,c.value=S,f.value=void 0,a.value=V,l.value="",r.value="",o.value=!1,n.value=!1;return}const T=u1(_,w),z=t.componentCode?.(),j=`${_.template_id}_${T.taskId??""}_${T.taskNodeId}_${T.version}_${z??""}`,R=r1(E),L=R?d.get(j):void 0;if(L){g(L);return}const F=t.api.fetchTaskNodeDetail;if(!F){s.value=x,c.value=S,n.value=!1;const O="节点详情接口未配置(fetchTaskNodeDetail)";a.value=V,l.value=O;return}n.value=!0,a.value=V,c.value=S,l.value="";try{const O=await F({task_id:T.taskId,node_id:T.taskNodeId,...z?{component_code:z}:{}});if(b!==h)return;const P=Yo(O);s.value=Yo(P?.inputs)??{};const M=P?.outputs??{};c.value=Pue(M)?S:M,R&&d.set(j,{inputs:s.value,outputs:c.value})}catch(O){if(b!==h)return;s.value=x,c.value=S,l.value=`节点详情加载失败:${c1(O)}`}finally{b===h&&(n.value=!1)}},A=async()=>{const _=++m;if(!t.logsActive?.()){o.value=!1;return}const w=t.context(),b=t.nodeId(),C=w?.nodes.find(T=>T.node_id===b);if(!w||!b||!C?.log_ref){f.value=void 0,r.value="",o.value=!1;return}const E=u1(w,b),x=`${w.template_id}_${E.taskId??""}_${E.taskNodeId}_${E.version}`,S=ga(C.status),V=r1(S);if(V&&v.has(x)){f.value=v.get(x),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 T=await N({task_id:E.taskId,node_id:E.taskNodeId,version:E.version});if(_!==m)return;f.value=T,V&&v.set(x,T)}catch(T){if(_!==m)return;f.value=void 0,r.value=`调用日志加载失败:${c1(T)}`}finally{_===m&&(o.value=!1)}};return e.watch(()=>[t.nodeId(),t.componentCode?.(),t.context()?.nodes,t.fallbackInputs?.()],()=>{y()},{immediate:!0}),e.watch(()=>{const _=t.context(),w=t.nodeId(),b=_?.nodes.find(C=>C.node_id===w)?.log_ref;return[t.logsActive?.()??!1,w,b?.instance_id,b?.node_id,b?.version]},()=>{A()},{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 ofe(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 afe(t){const{api:n}=t,o=e.shallowRef(null),a=e.shallowRef([]),l=e.shallowRef({}),r=e.shallowRef([]),i=e.computed(()=>pt.withSopsPluginGroup(r.value,{spaceConfig:l.value,api:n})),s=e.ref(!1),c=e.ref(!1),f=e.ref(!1),d=e.ref(!1),v=e.ref(!1),h=e.computed(()=>f.value||d.value||v.value),m=()=>t.flowId(),g=()=>t.enableVersion?.()??!1,k=()=>t.flowVersion?.();let y=0;async function A(V,N,T,z){f.value=!0;try{let j=await n.fetchFlowDetail(N);if(T)if(z){const R=await n.fetchFlowDetailByVersion(N,z);j={...j,name:R.name,pipeline_tree:R.pipeline_tree}}else{const R=await n.fetchFlowDraftDetail(N);j={...j,pipeline_tree:R.pipeline_tree}}V===y&&(o.value=j)}catch(j){console.error(j)}finally{V===y&&(f.value=!1)}}async function _(V,N){if(n.fetchSpaceFlowConfig){d.value=!0;try{const T=await n.fetchSpaceFlowConfig(N);V===y&&(l.value=T)}catch(T){console.error(T)}finally{V===y&&(d.value=!1)}}}async function w(V,N){if(n.fetchSystemVariables)try{const T=await n.fetchSystemVariables(N);V===y&&(a.value=T)}catch(T){console.error(T)}}async function b(V){if(!(!t.canEdit()||!n.fetchAllPluginGroups)){v.value=!0;try{const N=await n.fetchAllPluginGroups();V===y&&(r.value=N)}catch(N){console.error(N)}finally{V===y&&(v.value=!1)}}}async function C(){const V=++y,N=m(),T=g(),z=k();await Promise.all([A(V,N,T,z),_(V,N),w(V,N),b(V)])}function E(){y+=1,o.value=null,a.value=[],l.value={},r.value=[],s.value=!1,f.value=!1,d.value=!1,v.value=!1}function x(V){o.value&&(o.value={...o.value,pipeline_tree:V},s.value=!0)}async function S(V={}){if(!o.value||!n.saveFlow||c.value)return!1;const N=y,T=m(),z=o.value;if(V.validate&&!ml(z.pipeline_tree).valid)return!1;const{name:j,desc:R,notify_config:L,pipeline_tree:F,triggers:O}=z,P={name:j,desc:R,notify_config:L,pipeline_tree:F,triggers:O};c.value=!0;try{return await n.saveFlow(T,P),N!==y||T!==m()?!1:(o.value===z&&(s.value=!1),V.silent||(t.onSave?.(z),t.onSaveSuccess?.()),!0)}catch(M){return console.error(M),!1}finally{c.value=!1}}return{flowDetail:o,systemVariables:a,pluginGroupList:i,loading:h,isFlowEdited:s,savePending:c,load:C,reset:E,updatePipelineTree:x,save:S}}const lfe={key:0,class:"flow-detail-operate-area"},rfe={key:1,class:"flow-detail-operate-btns"},sfe={class:"flow-detail-canvas-wrapper"},ife=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:{},selectRelatedOptionConfig:{},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-BRZ-dr9I.cjs"))),l=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./index-DNtT2x7X.cjs"))),r=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./index-CAobmC0i.cjs"))),i=e.useSlots(),s=t,c=o,f=e.computed(()=>({canEdit:s.permissions?.canEdit??!1,canDebug:s.permissions?.canDebug??!1,canExecute:s.permissions?.canExecute??!1})),d="fetchFlowDetail"in s.apiConfig?s.apiConfig:{...s.apiConfig,enableThirdPlugin:s.enableThirdPlugin},v=Al(d);vv(s.selectPanelConfig||{}),ys(s.memberSelectorConfig),Bd(s.filterVariableConfig),Vd(s.selectRelatedOptionConfig),sr({},s.bkflowSaasUrl);const h=e.ref(),m=e.ref(),g=e.shallowRef(!1),k=Ee=>{c("createVariable",{keyword:Ee.keyword,cursorIndex:Ee.cursorIndex,defaultCustomType:Ee.defaultCustomType}),h.value?.openGlobalVariableCreate(Ee)};pt.provideVariableInputCreateVariable(k);const y=afe({flowId:()=>String(s.flowId),enableVersion:()=>s.enableVersion,flowVersion:()=>s.flowVersion,canEdit:()=>f.value.canEdit,api:v,onSave:s.onSave,onSaveSuccess:s.onSaveSuccess}),A=y.flowDetail;yv(Ee=>A.value?.pipeline_tree?.activities?.[Ee]?.component);const _=y.systemVariables,w=y.pluginGroupList,b=y.savePending,C=e.computed(()=>y.loading.value),E=e.computed(()=>{const Ee=A.value?.pipeline_tree;return Ee?new Set(Yc(Ee)):null}),x=ide({templateId:()=>String(s.flowId),enabled:()=>f.value.canDebug,api:v,onMessage:(Ee,at)=>Kt({theme:Ee,message:at,ellipsisLine:3}),existingNodeIds:()=>E.value}),S=e.ref(!1),V=e.ref(!1),N=e.ref(!1),T=e.ref(!1),z=e.ref(null),j=e.computed(()=>N.value?"调试结果失效清理未完成,请在调试前重试":x.contextSyncError.value);let R=0;const L=e.computed(()=>f.value.canDebug&&(y.isFlowEdited.value||T.value||N.value)),F=e.computed(()=>f.value.canDebug&&["running","terminating"].includes(x.context.value?.status??"idle")),O=e.computed(()=>f.value.canEdit&&!F.value),P=e.computed(()=>O.value?"":"调试中,暂不可保存"),M=e.computed(()=>O.value?152:0),H=e.computed(()=>f.value.canDebug&&!x.initializing.value&&!x.actionPending.value&&!S.value&&!V.value&&!b.value&&(x.context.value?.status??"idle")==="idle"),W=e.computed(()=>x.canvasState.value.nodeStates),X=lf(W),G=e.computed(()=>f.value.canDebug?[X]:[]),Q=e.computed(()=>f.value.canDebug?{isMockNode:Ee=>x.canvasState.value.mockNodeIds.has(Ee),getNodeStatus:Ee=>x.context.value?.nodes.find(at=>at.node_id===Ee)?.status,focusedNodeId:()=>It.value,openNodeDebugPanel:Ee=>{m.value?.openNodeDebugPanel?.(Ee),bn(Ee)},isLocked:()=>F.value}:void 0),ne=e.computed(()=>{const Ee=A.value?.pipeline_tree;return!Ee||!f.value.canDebug?Ee:Zg(Ee,W.value)});let ae=0;async function $(Ee=!1){const at=++ae;if(Ee&&(y.reset(),pu(),g.value=!1),await y.load(),at===ae){if(!A.value){Kt({theme:"error",message:"加载流程详情失败,请刷新重试"});return}if(f.value.canDebug&&(await x.initialize(),at===ae)){if(x.contextSyncError.value&&Kt({theme:"warning",message:`调试状态同步失败:${x.contextSyncError.value}`,ellipsisLine:3}),x.context.value?.status!=="idle"){ka();return}x.contextSyncError.value||await qe()}}}e.onMounted(()=>{$()});const K=()=>{s.onBack?s.onBack():c("back")},me=Ee=>{A.value=Ee,y.isFlowEdited.value=!0},te=Ee=>{A.value&&(A.value={...A.value,pipeline_tree:{...A.value.pipeline_tree,constants:Ee}}),y.isFlowEdited.value=!0,m.value?.updateGlobalVariables(Ee)},re=Ee=>{m.value?.updateOutputs(Ee)},ue=Ee=>{y.updatePipelineTree(Ee)},pe=(Ee,at="")=>{Kt({theme:"error",message:at?`${at}${Ee.message}`:Ee.message}),Ee.ids.length>0&&m.value?.locateNode?.(Ee.ids[0])},Ae=()=>({epoch:R,flowId:String(s.flowId)}),Pe=Ee=>Ee.epoch===R&&Ee.flowId===String(s.flowId),Qe=async()=>{if(!f.value.canDebug||!v.fetchDebugResetImpact)return[];const Ee=Ae();try{const at=await v.fetchDebugResetImpact(Ee.flowId);return Pe(Ee)?at?.reset_node_ids??[]:null}catch(at){return console.error(at),Pe(Ee)&&Kt({theme:"error",message:pt.normalizeApiError(at).message}),null}},qe=async()=>{if((x.context.value?.status??"idle")!=="idle")return;const Ee=Ae(),at=await Qe();Pe(Ee)&&(x.context.value?.status??"idle")==="idle"&&(at===null||at.length>0)&&(T.value=!0)},Te=async()=>{if(!f.value.canDebug||!v.fetchDebugResetImpact)return N.value=!1,T.value=!1,!0;if((x.context.value?.status??"idle")!=="idle")return!1;const Ee=Ae();N.value=!0;const at=await Qe();if(at===null)return!1;if(at.length>0){if(!Pe(Ee))return!1;try{const zt=await x.reset(at);if(!Pe(Ee)||!zt)return!1}catch(zt){return console.error(zt),!1}}return Pe(Ee)?(N.value=!1,T.value=!1,!0):!1},xe=async(Ee=!1)=>{if(!O.value||!A.value)return!1;if(f.value.canDebug){if(await x.refresh(),x.contextSyncError.value)return Kt({theme:"error",message:`调试状态同步失败,暂不能保存:${x.contextSyncError.value}`}),!1;if((x.context.value?.status??"idle")!=="idle")return Kt({theme:"warning",message:"流程正在调试中,暂不能保存"}),!1}const at=ml(A.value.pipeline_tree);if(!at.valid)return pe(at),!1;const zt=y.isFlowEdited.value,wa=await y.save({silent:Ee,validate:!1});return wa?(Kt({theme:"success",message:"保存成功"}),Ee||(c("save",A.value),c("saveSuccess")),zt&&await Te()):Ee&&Kt({theme:"error",message:"保存失败,请重试"}),wa},ot=async()=>{await xe()},de=()=>{if(f.value.canExecute){if(!y.isFlowEdited.value){g.value=!0;return}if(!f.value.canEdit||!O.value){Kt({theme:"warning",message:"当前流程存在未保存修改,且暂时无法保存"});return}eo.InfoBox({title:"确认执行流程?",content:"流程已修改,执行前需要先保存流程。是否保存并继续?",confirmText:"保存并继续",cancelText:"取消",width:400,headerAlign:"center",footerAlign:"center",onConfirm:async()=>{await xe(!0)&&(g.value=!0)}})}},le=Ee=>{c("executeSuccess",Ee),s.onExecuteSuccess?.(Ee)},be=e.ref(!1),tt=e.ref("run"),ut=e.shallowRef({}),ft=e.ref(!1),st=e.computed(()=>{const Ee=x.context.value;return{...Ee?.last_inputs??Ee?.global_vars??{}}}),_e=async(Ee,at)=>{if(!A.value)return!1;const zt=ml(A.value.pipeline_tree,Ee==="node"&&at?{requireConfiguredNodeIds:[at]}:{});if(!zt.valid)return pe(zt,"无法调试:"),!1;if(y.isFlowEdited.value){if(!f.value.canEdit)return Kt({theme:"warning",message:"当前流程存在未保存修改,且没有保存权限"}),!1;if(!await y.save({silent:!0,validate:!1}))return Kt({theme:"error",message:"保存流程失败,已中止调试"}),!1;if(y.isFlowEdited.value)return Kt({theme:"warning",message:"保存期间流程又被修改,请重新发起调试"}),!1;T.value=!0}return Ee==="global"||!N.value&&!T.value?!0:Te()},Ne=async(Ee=!0)=>!x.contextSyncError.value||(Ee&&await x.refresh(),!x.contextSyncError.value)?!0:(Kt({theme:"error",message:`调试状态同步失败:${x.contextSyncError.value}`,ellipsisLine:3}),!1),Ie=async()=>(await x.refresh(),await Ne(!1)?(x.context.value?.status??"idle")==="idle":!1),Ke=async Ee=>{if(!H.value)return!1;S.value=!0;try{return await Ie()?await Ee():!1}catch{return!1}finally{S.value=!1}},ze=async()=>{if(H.value){V.value=!0;try{if(!await Ie()||!await _e("global"))return;ut.value=await x.fetchInputSchema(),tt.value="run",be.value=!0}catch(Ee){console.error(Ee)}finally{V.value=!1}}},se=()=>{ka()},U=e.ref(0),I=e.computed(()=>x.canvasState.value.summary.failedNodeIds);e.watch(()=>I.value.join("\0"),()=>{U.value=0});const J=()=>{const Ee=ofe(I.value,U.value);Ee&&(U.value=Ee.nextCursor,ka(Ee.nodeId))},q=Ee=>{x.terminatePending.value||eo.InfoBox({title:"确认终止调试?",content:"终止操作仅修改调试状态,已下发到第三方平台的任务不保证能被终止。",confirmText:"确认",cancelText:"取消",confirmButtonTheme:"danger",width:420,onConfirm:async()=>{const at=Ee();if(!at){Kt({theme:"error",message:"未获取到正在调试的任务信息,请刷新后重试"});return}try{await x.terminate(at.runType==="step"?at.nodeId:void 0)}catch{}}})},ve=()=>{if(!Cc(x.context.value)){Kt({theme:"error",message:"未获取到正在调试的任务信息,请刷新后重试"});return}q(()=>Cc(x.context.value))},ge=e.ref(!1),Be=e.shallowRef(null),Ue=async Ee=>{await Ke(async()=>await _e("global")?(Ct.value=!1,nt.value="",x.runGlobal(Ee)):!1)&&(N.value=!1,T.value=!1,ge.value=!0,Be.value={...Ee},be.value=!1,ft.value=!0)},Xe=e.computed(()=>{if(ge.value)return!0;const Ee=x.context.value;return Ee?Ee.status==="running"||Ee.status==="terminating"?Ee.active_run_type==="global":Ee.last_run_type==="global":!1}),lt=e.computed(()=>Be.value??st.value),rt=e.computed(()=>tt.value==="view"?lt.value:st.value),oe=async()=>{if(!(!Xe.value||V.value)){V.value=!0;try{if(!await Ne())return;ut.value=await x.fetchInputSchema(),tt.value="view",be.value=!0}catch(Ee){console.error(Ee)}finally{V.value=!1}}},ie=e.computed(()=>new Set((x.context.value?.nodes??[]).filter(Ee=>Ee.status!=="not_run").map(Ee=>Ee.node_id))),Ce=e.computed(()=>new Set(Yc(A.value?.pipeline_tree))),Le=e.computed(()=>Yc(A.value?.pipeline_tree).find(Ee=>ie.value.has(Ee))??""),ke=Ee=>x.context.value?.nodes.find(at=>at.node_id===Ee),je=()=>{const Ee=Cc(x.context.value);return Ee?.runType==="step"?Ee.nodeId:""},fe=Ee=>je()===Ee,Oe=e.computed(()=>{const Ee=A.value?.pipeline_tree?.activities??{},at={};return Object.values(Ee).forEach(zt=>{zt?.id&&(at[zt.id]=zt.name??zt.id)}),at}),De=Ee=>z.value?.nodeId===Ee?z.value.action:"",mt=Ee=>{bn(Ee)},wt=async Ee=>{if(H.value){z.value={nodeId:Ee.id,action:"real"};try{await Ke(async()=>{const at=y.isFlowEdited.value;if(!await _e("node",Ee.id))return!1;at&&await x.refresh();const zt=ke(Ee.id);return!zt?.can_step||(zt.missing_vars?.length??0)>0?(Kt({theme:"warning",message:"当前输入参数不满足调试要求"}),!1):x.runStep({nodeId:Ee.id,mode:"real"})})}finally{z.value=null}}},St=Ee=>{!fe(Ee)||x.terminatePending.value||q(()=>{const at=Cc(x.context.value);return at?.runType==="step"&&at.nodeId===Ee?at:null})},tn=async Ee=>{if(H.value){z.value={nodeId:Ee.id,action:"cancel-mock"};try{await Ke(async()=>await _e("node",Ee.id)?x.cancelMock(Ee.id):!1)}finally{z.value=null}}},hn=e.ref(!1),dn=e.shallowRef(null),no=e.computed(()=>{const Ee=dn.value?.id;return Ee?z.value?.nodeId===Ee&&z.value.action==="mock":!1}),Zo=e.computed(()=>{const Ee=dn.value?.id,at=Ee?ke(Ee):void 0;return at?.mock_outputs?{outputs:at.mock_outputs??{}}:{outputs:{}}}),Jt=Ee=>{dn.value=Ee,hn.value=!0},We=async Ee=>{const at=dn.value;if(!at||!H.value)return;z.value={nodeId:at.id,action:"mock"};const zt=await Ke(async()=>await _e("node",at.id)?x.runMock({nodeId:at.id,mockResult:"success",mockOutputs:Ee.outputs}):!1);z.value=null,zt&&(hn.value=!1,ft.value=!0,ka(at.id))},Je=Ee=>{m.value?.updateNodeInputParams?.(Ee)},ye=()=>{h.value?.openGlobalVariables()},Ye=(Ee={})=>h.value?.openGlobalVariableCreate(Ee)??!1,nt=e.ref(""),yt=e.ref(!1),Ct=e.ref(!1),It=e.ref(""),bn=Ee=>{Ee&&(It.value=Ee,m.value?.locateNode?.(Ee,{offset:{y:ft.value?-200:0}}))},$a=Ee=>{Ct.value=!0;const at=nt.value===Ee;nt.value=Ee,at&&bn(Ee)},pr=Ee=>{(Ee.type==="blank.click"||Ee.type==="node.click"||Ee.type==="edge.click"||Ee.type==="edge.label.click")&&(It.value="")},du=nfe({api:v,context:()=>x.context.value,nodeId:()=>nt.value,componentCode:()=>A.value?.pipeline_tree.activities?.[nt.value]?.component?.code,fallbackInputs:()=>{const Ee=A.value?.pipeline_tree.activities?.[nt.value]?.component?.data??{};return Object.fromEntries(Object.entries(Ee).map(([at,zt])=>[at,zt.value]))},logsActive:()=>ft.value&&yt.value}),fu=e.computed(()=>du.value),mr=e.computed(()=>{const Ee=x.context.value;return Ee?(Ee.status==="running"||Ee.status==="terminating")&&Ee.active_node_id?Ee.active_node_id:Ee.nodes.find(at=>ga(at.status)==="running")?.node_id??"":""}),Ka=e.computed(()=>mr.value&&Ce.value.has(mr.value)?mr.value:""),ka=Ee=>{const at=ft.value;if(ft.value=!0,Ee){Ct.value=!0,nt.value=Ee,bn(Ee);return}if(Ka.value&&(!at||!Ct.value)){Ct.value=!1,nt.value=Ka.value;return}nt.value||(nt.value=Ka.value||Le.value)},sf=(Ee,at)=>{ka(Ee),at?.()};e.watch(nt,Ee=>{Ee&&bn(Ee)}),e.watch(()=>x.context.value?.status??"idle",(Ee,at)=>{Ee!==at&&(Ee==="running"||Ee==="terminating")&&(ft.value=!0,!Ct.value&&Ka.value&&(nt.value=Ka.value))}),e.watch(Ka,Ee=>{Ee&&!Ct.value&&(nt.value=Ee)}),e.watch(E,Ee=>{!Ee||!nt.value||Ee.has(nt.value)||(nt.value="",It.value="",Ct.value=!1)});function pu(){R+=1,x.resetState(),be.value=!1,tt.value="run",ut.value={},ft.value=!1,ge.value=!1,Be.value=null,hn.value=!1,dn.value=null,nt.value="",yt.value=!1,Ct.value=!1,It.value="",S.value=!1,V.value=!1,z.value=null,N.value=!1,T.value=!1}e.watch(()=>[String(s.flowId),s.flowVersion],([Ee,at],[zt,wa])=>{(Ee!==zt||at!==wa)&&$(!0)}),e.watch(()=>f.value.canDebug,(Ee,at)=>{Ee!==at&&(pu(),Ee&&A.value&&x.initialize().then(async()=>{if(x.contextSyncError.value){Kt({theme:"warning",message:`调试状态同步失败:${x.contextSyncError.value}`,ellipsisLine:3});return}if(x.context.value?.status!=="idle"){ka();return}await qe()}))});const mu=Ee=>{const at=A.value?.pipeline_tree?.activities?.[Ee];at&&Jt(at)},Ts=Ee=>{const at=A.value?.pipeline_tree?.activities?.[Ee];at&&wt(at)},vu=Ee=>{const at=A.value?.pipeline_tree?.activities?.[Ee];at&&Jt(at)},Ds={isFlowEdited:e.computed(()=>y.isFlowEdited.value),updateNodeInputParams:Je,openGlobalVariables:ye,openGlobalVariableCreate:Ye,refreshDebugContext:async()=>{await x.refresh()},openDebugResult:ka,zoomToFit:Ee=>m.value?.zoomToFit?.(Ee),centerContent:()=>m.value?.centerContent?.(),getZoom:()=>m.value?.getZoom?.()??1};return n(Ds),(Ee,at)=>{const zt=e.resolveComponent("bk-button"),wa=e.resolveDirective("bk-tooltips"),uf=e.resolveDirective("bkloading");return e.openBlock(),e.createBlock(qi,{title:"流程详情",desc:e.unref(A)?.name,"show-back-icon":!0,onBack:K},{header:e.withCtx(()=>[e.renderSlot(Ee.$slots,"header",{},void 0,!0)]),extend:e.withCtx(()=>[e.unref(A)?(e.openBlock(),e.createElementBlock("div",lfe,[e.createVNode(Xd,{ref_key:"flowInfoSlidersRef",ref:h,"flow-data":e.unref(A),editable:O.value,"system-variables":e.unref(_),"hide-trigger":s.hideTrigger,onChange:me,onUpdateConstants:te,onUpdateOutputs:re},null,8,["flow-data","editable","system-variables","hide-trigger"]),f.value.canDebug?(e.openBlock(),e.createBlock(Tde,{key:0,context:e.unref(x).context.value,summary:e.unref(x).canvasState.value.summary,initializing:e.unref(x).initializing.value||V.value||e.unref(b)||e.unref(x).resetPending.value,"sync-error":j.value,"terminate-pending":e.unref(x).terminatePending.value,onStart:ze,onOpenResult:se,onTerminate:ve,onLocateFailed:J,onRetryStep:Ts},null,8,["context","summary","initializing","sync-error","terminate-pending"])):e.createCommentVNode("",!0),f.value.canEdit||f.value.canExecute||i.headerActions?(e.openBlock(),e.createElementBlock("div",rfe,[f.value.canEdit?e.withDirectives((e.openBlock(),e.createBlock(zt,{key:0,"data-test":"save-flow",theme:"primary",disabled:!O.value,loading:e.unref(b),onClick:ot},{default:e.withCtx(()=>[...at[5]||(at[5]=[e.createTextVNode(" 保存 ",-1)])]),_:1},8,["disabled","loading"])),[[wa,{content:P.value,disabled:!P.value}]]):e.createCommentVNode("",!0),f.value.canExecute?(e.openBlock(),e.createBlock(zt,{key:1,class:"execute-flow-btn",disabled:e.unref(b),onClick:de},{default:e.withCtx(()=>[...at[6]||(at[6]=[e.createTextVNode(" 执行流程 ",-1)])]),_:1},8,["disabled"])):e.createCommentVNode("",!0),e.renderSlot(Ee.$slots,"headerActions",e.normalizeProps(e.guardReactiveProps({savePending:e.unref(b),canMutateFlow:O.value})),void 0,!0)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("div",sfe,[!C.value&&e.unref(A)?(e.openBlock(),e.createBlock(Ed,{key:0,ref_key:"flowCanvasRef",ref:m,mode:O.value?"edit":"view","flow-id":String(s.flowId),"pipeline-tree":ne.value,"plugin-group-list":e.unref(w),"system-variables":e.unref(_),"default-zoom":s.defaultZoom,"quick-add":s.quickAdd,"enable-node-debug":f.value.canDebug,"additional-plugins":G.value,"debug-context":Q.value,onUiEvent:pr,onChange:ue},{inputParams:e.withCtx(Wt=>[e.renderSlot(Ee.$slots,"inputParams",e.normalizeProps(e.guardReactiveProps({...Wt,updateNodeInputParams:Je})),void 0,!0)]),nodeDebugConfig:e.withCtx(({node:Wt,close:gu})=>[e.createVNode(qde,{node:Wt,"context-node":ke(Wt.id),stale:L.value,"pending-action":De(Wt.id),"is-active-step":fe(Wt.id),"is-flow-debugging":F.value,"terminate-pending":e.unref(x).terminatePending.value,"has-result":ie.value.has(Wt.id),"node-name-map":Oe.value,onRunReal:Za=>wt(Wt),onTerminate:Za=>St(Wt.id),onRunMock:Za=>Jt(Wt),onCancelMock:Za=>tn(Wt),onViewResult:Za=>sf(Wt.id,gu),onJumpToSourceNode:mt},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),f.value.canDebug&&!C.value&&e.unref(A)?(e.openBlock(),e.createBlock(e.unref(r),{key:1,open:ft.value,"onUpdate:open":at[0]||(at[0]=Wt=>ft.value=Wt),"model-value":nt.value,context:e.unref(x).context.value,"pipeline-tree":e.unref(A).pipeline_tree,"mock-node-ids":e.unref(x).canvasState.value.mockNodeIds,result:fu.value,"has-global-run":Xe.value,"view-params-pending":V.value,"offset-left":M.value,"onUpdate:modelValue":$a,onViewParams:oe,onReEditMock:mu,onRunReal:Ts,onRunMock:vu,onLogsTabActive:at[1]||(at[1]=Wt=>yt.value=Wt)},null,8,["open","model-value","context","pipeline-tree","mock-node-ids","result","has-global-run","view-params-pending","offset-left"])):e.createCommentVNode("",!0)])),[[uf,{loading:C.value,zIndex:100}]]),f.value.canDebug?(e.openBlock(),e.createBlock(e.unref(a),{key:0,show:be.value,"onUpdate:show":at[2]||(at[2]=Wt=>be.value=Wt),schema:ut.value,"pipeline-constants":e.unref(A)?.pipeline_tree?.constants??{},"initial-values":rt.value,pending:e.unref(x).globalRunPending.value,readonly:tt.value==="view",onConfirm:Ue},null,8,["show","schema","pipeline-constants","initial-values","pending","readonly"])):e.createCommentVNode("",!0),f.value.canDebug&&dn.value?(e.openBlock(),e.createBlock(e.unref(l),{key:1,show:hn.value,"onUpdate:show":at[3]||(at[3]=Wt=>hn.value=Wt),node:dn.value,outputs:Zo.value.outputs,pending:no.value,onConfirm:We},null,8,["show","node","outputs","pending"])):e.createCommentVNode("",!0),e.unref(A)?(e.openBlock(),e.createBlock(af,{key:2,"flow-id":String(s.flowId),show:g.value,"api-config":s.apiConfig,"bkflow-saas-url":s.bkflowSaasUrl,"member-selector-config":s.memberSelectorConfig,onClose:at[4]||(at[4]=Wt=>g.value=!1),onConfirm:le},e.createSlots({_:2},[Ee.$slots.customFormContent?{name:"customFormContent",fn:e.withCtx(Wt=>[e.renderSlot(Ee.$slots,"customFormContent",e.normalizeProps(e.guardReactiveProps(Wt)),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"])}}}),ufe=He(ife,[["__scopeId","data-v-40c792af"]]),cfe=t=>"default"in t?t.default:"",dfe={FlowView:()=>Promise.resolve().then(()=>Qie),FlowEdit:()=>Promise.resolve().then(()=>eue),FlowCreateTask:()=>Promise.resolve().then(()=>wie),FlowExecute:()=>Promise.resolve().then(()=>yue),FlowDebug:()=>Promise.resolve().then(()=>Bie),FlowMockDebug:()=>Promise.resolve().then(()=>qce)};exports.BkFlowCanvas=ef;exports.BkFlowModelAccessor=Hg;exports.BkFlowNodeAccessor=Uc;exports.BuiltinVariableUsageForm=Zd;exports.CallLogsViewer=ix;exports.DebugJsonViewer=xd;exports.DebugValueTable=Jg;exports.EmptyException=ln;exports.FlowCreateTask=af;exports.FlowDebug=Ui;exports.LoadingStatusIcon=zi;exports.MockFieldRenderer=fv;exports.RenderForm=su;exports.SegmentTabs=of;exports._export_sfc=He;exports.bkflowConnectionValidator=CE;exports.buildDebugResultNodeItems=efe;exports.cloneDeep=Fe;exports.createBkflowPlugin=wE;exports.createBkflowSchema=kE;exports.createExecutionStatusPlugin=lf;exports.edit=ZE;exports.execute=tx;exports.exportToPipelineTree=Qn;exports.formatDebugValue=Gi;exports.formatJsonFieldValue=y1;exports.formatSummaryDuration=dx;exports.getInputFormsFromConstants=Id;exports.getUniformApiPluginFormValue=cfe;exports.getVariableDefaultConfig=im;exports.hasOnlySystemOutputs=gv;exports.importFromPipelineTree=Hc;exports.index=ufe;exports.index$1=dfe;exports.isBuiltinUsageVariable=Fa;exports.isComplexDebugValue=rf;exports.isDebugAbnormalStatus=cx;exports.isMockableNode=A1;exports.mergeOutputs=b1;exports.mock=ux;exports.normalizeLogText=ax;exports.normalizePluginOutputItems=yl;exports.orderDebugRowsByDeclaredKeys=ox;exports.parseJsonFieldValue=k1;exports.pluginDetailRequest=Ai;exports.provideFilterVariableConfig=Bd;exports.provideFlowApiConfig=Al;exports.provideMemberSelectorConfig=ys;exports.provideSelectPanelConfig=vv;exports.provideSelectRelatedOptionConfig=Vd;exports.resolveExecutionActions=XE;exports.resolveMockFormControl=qc;exports.shouldShowMockReEditHint=V4;exports.toDebugOutputValueRows=nx;exports.useFlowApiConfig=Vn;exports.useFlowEditApiConfig=A4;exports.useFlowViewApiConfig=E4;exports.useMemberSelectorConfig=v1;exports.usePluginParamMeta=eh;exports.useSelectPanelConfig=Wi;exports.validatePipelineTree=ml;exports.view=KE;