@blueking/bkflow-canvas-editor 0.0.10 → 0.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +14 -14
- package/dist/index.esm.js +3671 -3216
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const vue=require("vue"),BkMessage=require("bkui-vue/lib/message"),icon=require("bkui-vue/lib/icon"),x6=require("@antv/x6"),x6PluginSelection=require("@antv/x6-plugin-selection"),x6PluginClipboard=require("@antv/x6-plugin-clipboard"),x6PluginSnapline=require("@antv/x6-plugin-snapline"),x6VueShape=require("@antv/x6-vue-shape"),lodash=require("lodash"),x6PluginMinimap=require("@antv/x6-plugin-minimap"),vueRouter=require("vue-router"),lib=require("bkui-vue/lib"),monaco=require("monaco-editor"),bkuiVue=require("bkui-vue");function _interopNamespaceDefault(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const monaco__namespace=_interopNamespaceDefault(monaco);function bind(e,t){return function(){return e.apply(t,arguments)}}const{toString}=Object.prototype,{getPrototypeOf}=Object,{iterator,toStringTag}=Symbol,kindOf=(e=>t=>{const n=toString.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),kindOfTest=e=>(e=e.toLowerCase(),t=>kindOf(t)===e),typeOfTest=e=>t=>typeof t===e,{isArray}=Array,isUndefined=typeOfTest("undefined");function isBuffer(e){return e!==null&&!isUndefined(e)&&e.constructor!==null&&!isUndefined(e.constructor)&&isFunction$1(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const isArrayBuffer=kindOfTest("ArrayBuffer");function isArrayBufferView(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&isArrayBuffer(e.buffer),t}const isString=typeOfTest("string"),isFunction$1=typeOfTest("function"),isNumber=typeOfTest("number"),isObject=e=>e!==null&&typeof e=="object",isBoolean=e=>e===!0||e===!1,isPlainObject=e=>{if(kindOf(e)!=="object")return!1;const t=getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(toStringTag in e)&&!(iterator in e)},isEmptyObject=e=>{if(!isObject(e)||isBuffer(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},isDate=kindOfTest("Date"),isFile=kindOfTest("File"),isBlob=kindOfTest("Blob"),isFileList=kindOfTest("FileList"),isStream=e=>isObject(e)&&isFunction$1(e.pipe),isFormData=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||isFunction$1(e.append)&&((t=kindOf(e))==="formdata"||t==="object"&&isFunction$1(e.toString)&&e.toString()==="[object FormData]"))},isURLSearchParams=kindOfTest("URLSearchParams"),[isReadableStream,isRequest,isResponse,isHeaders]=["ReadableStream","Request","Response","Headers"].map(kindOfTest),trim=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function forEach(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let o,a;if(typeof e!="object"&&(e=[e]),isArray(e))for(o=0,a=e.length;o<a;o++)t.call(null,e[o],o,e);else{if(isBuffer(e))return;const s=n?Object.getOwnPropertyNames(e):Object.keys(e),i=s.length;let r;for(o=0;o<i;o++)r=s[o],t.call(null,e[r],r,e)}}function findKey(e,t){if(isBuffer(e))return null;t=t.toLowerCase();const n=Object.keys(e);let o=n.length,a;for(;o-- >0;)if(a=n[o],t===a.toLowerCase())return a;return null}const _global=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,isContextDefined=e=>!isUndefined(e)&&e!==_global;function merge(){const{caseless:e,skipUndefined:t}=isContextDefined(this)&&this||{},n={},o=(a,s)=>{const i=e&&findKey(n,s)||s;isPlainObject(n[i])&&isPlainObject(a)?n[i]=merge(n[i],a):isPlainObject(a)?n[i]=merge({},a):isArray(a)?n[i]=a.slice():(!t||!isUndefined(a))&&(n[i]=a)};for(let a=0,s=arguments.length;a<s;a++)arguments[a]&&forEach(arguments[a],o);return n}const extend=(e,t,n,{allOwnKeys:o}={})=>(forEach(t,(a,s)=>{n&&isFunction$1(a)?e[s]=bind(a,n):e[s]=a},{allOwnKeys:o}),e),stripBOM=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),inherits=(e,t,n,o)=>{e.prototype=Object.create(t.prototype,o),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject=(e,t,n,o)=>{let a,s,i;const r={};if(t=t||{},e==null)return t;do{for(a=Object.getOwnPropertyNames(e),s=a.length;s-- >0;)i=a[s],(!o||o(i,e,t))&&!r[i]&&(t[i]=e[i],r[i]=!0);e=n!==!1&&getPrototypeOf(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},endsWith=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const o=e.indexOf(t,n);return o!==-1&&o===n},toArray=e=>{if(!e)return null;if(isArray(e))return e;let t=e.length;if(!isNumber(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},isTypedArray=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&getPrototypeOf(Uint8Array)),forEachEntry=(e,t)=>{const o=(e&&e[iterator]).call(e);let a;for(;(a=o.next())&&!a.done;){const s=a.value;t.call(e,s[0],s[1])}},matchAll=(e,t)=>{let n;const o=[];for(;(n=e.exec(t))!==null;)o.push(n);return o},isHTMLForm=kindOfTest("HTMLFormElement"),toCamelCase=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,o,a){return o.toUpperCase()+a}),hasOwnProperty$1=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),isRegExp=kindOfTest("RegExp"),reduceDescriptors=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),o={};forEach(n,(a,s)=>{let i;(i=t(a,s,e))!==!1&&(o[s]=i||a)}),Object.defineProperties(e,o)},freezeMethods=e=>{reduceDescriptors(e,(t,n)=>{if(isFunction$1(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const o=e[n];if(isFunction$1(o)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},toObjectSet=(e,t)=>{const n={},o=a=>{a.forEach(s=>{n[s]=!0})};return isArray(e)?o(e):o(String(e).split(t)),n},noop=()=>{},toFiniteNumber=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function isSpecCompliantForm(e){return!!(e&&isFunction$1(e.append)&&e[toStringTag]==="FormData"&&e[iterator])}const toJSONObject=e=>{const t=new Array(10),n=(o,a)=>{if(isObject(o)){if(t.indexOf(o)>=0)return;if(isBuffer(o))return o;if(!("toJSON"in o)){t[a]=o;const s=isArray(o)?[]:{};return forEach(o,(i,r)=>{const l=n(i,a+1);!isUndefined(l)&&(s[r]=l)}),t[a]=void 0,s}}return o};return n(e,0)},isAsyncFn=kindOfTest("AsyncFunction"),isThenable=e=>e&&(isObject(e)||isFunction$1(e))&&isFunction$1(e.then)&&isFunction$1(e.catch),_setImmediate=((e,t)=>e?setImmediate:t?((n,o)=>(_global.addEventListener("message",({source:a,data:s})=>{a===_global&&s===n&&o.length&&o.shift()()},!1),a=>{o.push(a),_global.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",isFunction$1(_global.postMessage)),asap=typeof queueMicrotask<"u"?queueMicrotask.bind(_global):typeof process<"u"&&process.nextTick||_setImmediate,isIterable=e=>e!=null&&isFunction$1(e[iterator]),utils$1={isArray,isArrayBuffer,isBuffer,isFormData,isArrayBufferView,isString,isNumber,isBoolean,isObject,isPlainObject,isEmptyObject,isReadableStream,isRequest,isResponse,isHeaders,isUndefined,isDate,isFile,isBlob,isRegExp,isFunction:isFunction$1,isStream,isURLSearchParams,isTypedArray,isFileList,forEach,merge,extend,trim,stripBOM,inherits,toFlatObject,kindOf,kindOfTest,endsWith,toArray,forEachEntry,matchAll,isHTMLForm,hasOwnProperty:hasOwnProperty$1,hasOwnProp:hasOwnProperty$1,reduceDescriptors,freezeMethods,toObjectSet,toCamelCase,noop,toFiniteNumber,findKey,global:_global,isContextDefined,isSpecCompliantForm,toJSONObject,isAsyncFn,isThenable,setImmediate:_setImmediate,asap,isIterable};function AxiosError$1(e,t,n,o,a){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),o&&(this.request=o),a&&(this.response=a,this.status=a.status?a.status:null)}utils$1.inherits(AxiosError$1,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:utils$1.toJSONObject(this.config),code:this.code,status:this.status}}});const prototype$1=AxiosError$1.prototype,descriptors={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{descriptors[e]={value:e}});Object.defineProperties(AxiosError$1,descriptors);Object.defineProperty(prototype$1,"isAxiosError",{value:!0});AxiosError$1.from=(e,t,n,o,a,s)=>{const i=Object.create(prototype$1);utils$1.toFlatObject(e,i,function(u){return u!==Error.prototype},c=>c!=="isAxiosError");const r=e&&e.message?e.message:"Error",l=t==null&&e?e.code:t;return AxiosError$1.call(i,r,l,n,o,a),e&&i.cause==null&&Object.defineProperty(i,"cause",{value:e,configurable:!0}),i.name=e&&e.name||"Error",s&&Object.assign(i,s),i};const httpAdapter=null;function isVisitable(e){return utils$1.isPlainObject(e)||utils$1.isArray(e)}function removeBrackets(e){return utils$1.endsWith(e,"[]")?e.slice(0,-2):e}function renderKey(e,t,n){return e?e.concat(t).map(function(a,s){return a=removeBrackets(a),!n&&s?"["+a+"]":a}).join(n?".":""):t}function isFlatArray(e){return utils$1.isArray(e)&&!e.some(isVisitable)}const predicates=utils$1.toFlatObject(utils$1,{},null,function(t){return/^is[A-Z]/.test(t)});function toFormData$1(e,t,n){if(!utils$1.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=utils$1.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(h,f){return!utils$1.isUndefined(f[h])});const o=n.metaTokens,a=n.visitor||u,s=n.dots,i=n.indexes,l=(n.Blob||typeof Blob<"u"&&Blob)&&utils$1.isSpecCompliantForm(t);if(!utils$1.isFunction(a))throw new TypeError("visitor must be a function");function c(p){if(p===null)return"";if(utils$1.isDate(p))return p.toISOString();if(utils$1.isBoolean(p))return p.toString();if(!l&&utils$1.isBlob(p))throw new AxiosError$1("Blob is not supported. Use a Buffer instead.");return utils$1.isArrayBuffer(p)||utils$1.isTypedArray(p)?l&&typeof Blob=="function"?new Blob([p]):Buffer.from(p):p}function u(p,h,f){let y=p;if(p&&!f&&typeof p=="object"){if(utils$1.endsWith(h,"{}"))h=o?h:h.slice(0,-2),p=JSON.stringify(p);else if(utils$1.isArray(p)&&isFlatArray(p)||(utils$1.isFileList(p)||utils$1.endsWith(h,"[]"))&&(y=utils$1.toArray(p)))return h=removeBrackets(h),y.forEach(function(w,d){!(utils$1.isUndefined(w)||w===null)&&t.append(i===!0?renderKey([h],d,s):i===null?h:h+"[]",c(w))}),!1}return isVisitable(p)?!0:(t.append(renderKey(f,h,s),c(p)),!1)}const v=[],_=Object.assign(predicates,{defaultVisitor:u,convertValue:c,isVisitable});function m(p,h){if(!utils$1.isUndefined(p)){if(v.indexOf(p)!==-1)throw Error("Circular reference detected in "+h.join("."));v.push(p),utils$1.forEach(p,function(y,g){(!(utils$1.isUndefined(y)||y===null)&&a.call(t,y,utils$1.isString(g)?g.trim():g,h,_))===!0&&m(y,h?h.concat(g):[g])}),v.pop()}}if(!utils$1.isObject(e))throw new TypeError("data must be an object");return m(e),t}function encode$1(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(o){return t[o]})}function AxiosURLSearchParams(e,t){this._pairs=[],e&&toFormData$1(e,this,t)}const prototype=AxiosURLSearchParams.prototype;prototype.append=function(t,n){this._pairs.push([t,n])};prototype.toString=function(t){const n=t?function(o){return t.call(this,o,encode$1)}:encode$1;return this._pairs.map(function(a){return n(a[0])+"="+n(a[1])},"").join("&")};function encode(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function buildURL(e,t,n){if(!t)return e;const o=n&&n.encode||encode;utils$1.isFunction(n)&&(n={serialize:n});const a=n&&n.serialize;let s;if(a?s=a(t,n):s=utils$1.isURLSearchParams(t)?t.toString():new AxiosURLSearchParams(t,n).toString(o),s){const i=e.indexOf("#");i!==-1&&(e=e.slice(0,i)),e+=(e.indexOf("?")===-1?"?":"&")+s}return e}class InterceptorManager{constructor(){this.handlers=[]}use(t,n,o){return this.handlers.push({fulfilled:t,rejected:n,synchronous:o?o.synchronous:!1,runWhen:o?o.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){utils$1.forEach(this.handlers,function(o){o!==null&&t(o)})}}const transitionalDefaults={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},URLSearchParams$1=typeof URLSearchParams<"u"?URLSearchParams:AxiosURLSearchParams,FormData$1=typeof FormData<"u"?FormData:null,Blob$1=typeof Blob<"u"?Blob:null,platform$1={isBrowser:!0,classes:{URLSearchParams:URLSearchParams$1,FormData:FormData$1,Blob:Blob$1},protocols:["http","https","file","blob","url","data"]},hasBrowserEnv=typeof window<"u"&&typeof document<"u",_navigator=typeof navigator=="object"&&navigator||void 0,hasStandardBrowserEnv=hasBrowserEnv&&(!_navigator||["ReactNative","NativeScript","NS"].indexOf(_navigator.product)<0),hasStandardBrowserWebWorkerEnv=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",origin=hasBrowserEnv&&window.location.href||"http://localhost",utils=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv,hasStandardBrowserEnv,hasStandardBrowserWebWorkerEnv,navigator:_navigator,origin},Symbol.toStringTag,{value:"Module"})),platform={...utils,...platform$1};function toURLEncodedForm(e,t){return toFormData$1(e,new platform.classes.URLSearchParams,{visitor:function(n,o,a,s){return platform.isNode&&utils$1.isBuffer(n)?(this.append(o,n.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)},...t})}function parsePropPath(e){return utils$1.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function arrayToObject(e){const t={},n=Object.keys(e);let o;const a=n.length;let s;for(o=0;o<a;o++)s=n[o],t[s]=e[s];return t}function formDataToJSON(e){function t(n,o,a,s){let i=n[s++];if(i==="__proto__")return!0;const r=Number.isFinite(+i),l=s>=n.length;return i=!i&&utils$1.isArray(a)?a.length:i,l?(utils$1.hasOwnProp(a,i)?a[i]=[a[i],o]:a[i]=o,!r):((!a[i]||!utils$1.isObject(a[i]))&&(a[i]=[]),t(n,o,a[i],s)&&utils$1.isArray(a[i])&&(a[i]=arrayToObject(a[i])),!r)}if(utils$1.isFormData(e)&&utils$1.isFunction(e.entries)){const n={};return utils$1.forEachEntry(e,(o,a)=>{t(parsePropPath(o),a,n,0)}),n}return null}function stringifySafely(e,t,n){if(utils$1.isString(e))try{return(t||JSON.parse)(e),utils$1.trim(e)}catch(o){if(o.name!=="SyntaxError")throw o}return(n||JSON.stringify)(e)}const defaults={transitional:transitionalDefaults,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const o=n.getContentType()||"",a=o.indexOf("application/json")>-1,s=utils$1.isObject(t);if(s&&utils$1.isHTMLForm(t)&&(t=new FormData(t)),utils$1.isFormData(t))return a?JSON.stringify(formDataToJSON(t)):t;if(utils$1.isArrayBuffer(t)||utils$1.isBuffer(t)||utils$1.isStream(t)||utils$1.isFile(t)||utils$1.isBlob(t)||utils$1.isReadableStream(t))return t;if(utils$1.isArrayBufferView(t))return t.buffer;if(utils$1.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let r;if(s){if(o.indexOf("application/x-www-form-urlencoded")>-1)return toURLEncodedForm(t,this.formSerializer).toString();if((r=utils$1.isFileList(t))||o.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return toFormData$1(r?{"files[]":t}:t,l&&new l,this.formSerializer)}}return s||a?(n.setContentType("application/json",!1),stringifySafely(t)):t}],transformResponse:[function(t){const n=this.transitional||defaults.transitional,o=n&&n.forcedJSONParsing,a=this.responseType==="json";if(utils$1.isResponse(t)||utils$1.isReadableStream(t))return t;if(t&&utils$1.isString(t)&&(o&&!this.responseType||a)){const i=!(n&&n.silentJSONParsing)&&a;try{return JSON.parse(t,this.parseReviver)}catch(r){if(i)throw r.name==="SyntaxError"?AxiosError$1.from(r,AxiosError$1.ERR_BAD_RESPONSE,this,null,this.response):r}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:platform.classes.FormData,Blob:platform.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};utils$1.forEach(["delete","get","head","post","put","patch"],e=>{defaults.headers[e]={}});const ignoreDuplicateOf=utils$1.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),parseHeaders=e=>{const t={};let n,o,a;return e&&e.split(`
|
|
2
|
-
`).forEach(function(
|
|
3
|
-
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const o=new this(t);return n.forEach(a=>o.set(a)),o}static accessor(t){const o=(this[$internals]=this[$internals]={accessors:{}}).accessors,a=this.prototype;function s(i){const r=normalizeHeader(i);o[r]||(buildAccessors(a,i),o[r]=!0)}return utils$1.isArray(t)?t.forEach(s):s(t),this}};AxiosHeaders$1.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);utils$1.reduceDescriptors(AxiosHeaders$1.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(o){this[n]=o}}});utils$1.freezeMethods(AxiosHeaders$1);function transformData(e,t){const n=this||defaults,o=t||n,a=AxiosHeaders$1.from(o.headers);let s=o.data;return utils$1.forEach(e,function(r){s=r.call(n,s,a.normalize(),t?t.status:void 0)}),a.normalize(),s}function isCancel$1(e){return!!(e&&e.__CANCEL__)}function CanceledError$1(e,t,n){AxiosError$1.call(this,e??"canceled",AxiosError$1.ERR_CANCELED,t,n),this.name="CanceledError"}utils$1.inherits(CanceledError$1,AxiosError$1,{__CANCEL__:!0});function settle(e,t,n){const o=n.config.validateStatus;!n.status||!o||o(n.status)?e(n):t(new AxiosError$1("Request failed with status code "+n.status,[AxiosError$1.ERR_BAD_REQUEST,AxiosError$1.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function parseProtocol(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function speedometer(e,t){e=e||10;const n=new Array(e),o=new Array(e);let a=0,s=0,i;return t=t!==void 0?t:1e3,function(l){const c=Date.now(),u=o[s];i||(i=c),n[a]=l,o[a]=c;let v=s,_=0;for(;v!==a;)_+=n[v++],v=v%e;if(a=(a+1)%e,a===s&&(s=(s+1)%e),c-i<t)return;const m=u&&c-u;return m?Math.round(_*1e3/m):void 0}}function throttle(e,t){let n=0,o=1e3/t,a,s;const i=(c,u=Date.now())=>{n=u,a=null,s&&(clearTimeout(s),s=null),e(...c)};return[(...c)=>{const u=Date.now(),v=u-n;v>=o?i(c,u):(a=c,s||(s=setTimeout(()=>{s=null,i(a)},o-v)))},()=>a&&i(a)]}const progressEventReducer=(e,t,n=3)=>{let o=0;const a=speedometer(50,250);return throttle(s=>{const i=s.loaded,r=s.lengthComputable?s.total:void 0,l=i-o,c=a(l),u=i<=r;o=i;const v={loaded:i,total:r,progress:r?i/r:void 0,bytes:l,rate:c||void 0,estimated:c&&r&&u?(r-i)/c:void 0,event:s,lengthComputable:r!=null,[t?"download":"upload"]:!0};e(v)},n)},progressEventDecorator=(e,t)=>{const n=e!=null;return[o=>t[0]({lengthComputable:n,total:e,loaded:o}),t[1]]},asyncDecorator=e=>(...t)=>utils$1.asap(()=>e(...t)),isURLSameOrigin=platform.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,platform.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(platform.origin),platform.navigator&&/(msie|trident)/i.test(platform.navigator.userAgent)):()=>!0,cookies=platform.hasStandardBrowserEnv?{write(e,t,n,o,a,s,i){if(typeof document>"u")return;const r=[`${e}=${encodeURIComponent(t)}`];utils$1.isNumber(n)&&r.push(`expires=${new Date(n).toUTCString()}`),utils$1.isString(o)&&r.push(`path=${o}`),utils$1.isString(a)&&r.push(`domain=${a}`),s===!0&&r.push("secure"),utils$1.isString(i)&&r.push(`SameSite=${i}`),document.cookie=r.join("; ")},read(e){if(typeof document>"u")return null;const t=document.cookie.match(new RegExp("(?:^|; )"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function isAbsoluteURL(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function combineURLs(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function buildFullPath(e,t,n){let o=!isAbsoluteURL(t);return e&&(o||n==!1)?combineURLs(e,t):t}const headersToObject=e=>e instanceof AxiosHeaders$1?{...e}:e;function mergeConfig$1(e,t){t=t||{};const n={};function o(c,u,v,_){return utils$1.isPlainObject(c)&&utils$1.isPlainObject(u)?utils$1.merge.call({caseless:_},c,u):utils$1.isPlainObject(u)?utils$1.merge({},u):utils$1.isArray(u)?u.slice():u}function a(c,u,v,_){if(utils$1.isUndefined(u)){if(!utils$1.isUndefined(c))return o(void 0,c,v,_)}else return o(c,u,v,_)}function s(c,u){if(!utils$1.isUndefined(u))return o(void 0,u)}function i(c,u){if(utils$1.isUndefined(u)){if(!utils$1.isUndefined(c))return o(void 0,c)}else return o(void 0,u)}function r(c,u,v){if(v in t)return o(c,u);if(v in e)return o(void 0,c)}const l={url:s,method:s,data:s,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:r,headers:(c,u,v)=>a(headersToObject(c),headersToObject(u),v,!0)};return utils$1.forEach(Object.keys({...e,...t}),function(u){const v=l[u]||a,_=v(e[u],t[u],u);utils$1.isUndefined(_)&&v!==r||(n[u]=_)}),n}const resolveConfig=e=>{const t=mergeConfig$1({},e);let{data:n,withXSRFToken:o,xsrfHeaderName:a,xsrfCookieName:s,headers:i,auth:r}=t;if(t.headers=i=AxiosHeaders$1.from(i),t.url=buildURL(buildFullPath(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),r&&i.set("Authorization","Basic "+btoa((r.username||"")+":"+(r.password?unescape(encodeURIComponent(r.password)):""))),utils$1.isFormData(n)){if(platform.hasStandardBrowserEnv||platform.hasStandardBrowserWebWorkerEnv)i.setContentType(void 0);else if(utils$1.isFunction(n.getHeaders)){const l=n.getHeaders(),c=["content-type","content-length"];Object.entries(l).forEach(([u,v])=>{c.includes(u.toLowerCase())&&i.set(u,v)})}}if(platform.hasStandardBrowserEnv&&(o&&utils$1.isFunction(o)&&(o=o(t)),o||o!==!1&&isURLSameOrigin(t.url))){const l=a&&s&&cookies.read(s);l&&i.set(a,l)}return t},isXHRAdapterSupported=typeof XMLHttpRequest<"u",xhrAdapter=isXHRAdapterSupported&&function(e){return new Promise(function(n,o){const a=resolveConfig(e);let s=a.data;const i=AxiosHeaders$1.from(a.headers).normalize();let{responseType:r,onUploadProgress:l,onDownloadProgress:c}=a,u,v,_,m,p;function h(){m&&m(),p&&p(),a.cancelToken&&a.cancelToken.unsubscribe(u),a.signal&&a.signal.removeEventListener("abort",u)}let f=new XMLHttpRequest;f.open(a.method.toUpperCase(),a.url,!0),f.timeout=a.timeout;function y(){if(!f)return;const w=AxiosHeaders$1.from("getAllResponseHeaders"in f&&f.getAllResponseHeaders()),k={data:!r||r==="text"||r==="json"?f.responseText:f.response,status:f.status,statusText:f.statusText,headers:w,config:e,request:f};settle(function(B){n(B),h()},function(B){o(B),h()},k),f=null}"onloadend"in f?f.onloadend=y:f.onreadystatechange=function(){!f||f.readyState!==4||f.status===0&&!(f.responseURL&&f.responseURL.indexOf("file:")===0)||setTimeout(y)},f.onabort=function(){f&&(o(new AxiosError$1("Request aborted",AxiosError$1.ECONNABORTED,e,f)),f=null)},f.onerror=function(d){const k=d&&d.message?d.message:"Network Error",C=new AxiosError$1(k,AxiosError$1.ERR_NETWORK,e,f);C.event=d||null,o(C),f=null},f.ontimeout=function(){let d=a.timeout?"timeout of "+a.timeout+"ms exceeded":"timeout exceeded";const k=a.transitional||transitionalDefaults;a.timeoutErrorMessage&&(d=a.timeoutErrorMessage),o(new AxiosError$1(d,k.clarifyTimeoutError?AxiosError$1.ETIMEDOUT:AxiosError$1.ECONNABORTED,e,f)),f=null},s===void 0&&i.setContentType(null),"setRequestHeader"in f&&utils$1.forEach(i.toJSON(),function(d,k){f.setRequestHeader(k,d)}),utils$1.isUndefined(a.withCredentials)||(f.withCredentials=!!a.withCredentials),r&&r!=="json"&&(f.responseType=a.responseType),c&&([_,p]=progressEventReducer(c,!0),f.addEventListener("progress",_)),l&&f.upload&&([v,m]=progressEventReducer(l),f.upload.addEventListener("progress",v),f.upload.addEventListener("loadend",m)),(a.cancelToken||a.signal)&&(u=w=>{f&&(o(!w||w.type?new CanceledError$1(null,e,f):w),f.abort(),f=null)},a.cancelToken&&a.cancelToken.subscribe(u),a.signal&&(a.signal.aborted?u():a.signal.addEventListener("abort",u)));const g=parseProtocol(a.url);if(g&&platform.protocols.indexOf(g)===-1){o(new AxiosError$1("Unsupported protocol "+g+":",AxiosError$1.ERR_BAD_REQUEST,e));return}f.send(s||null)})},composeSignals=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let o=new AbortController,a;const s=function(c){if(!a){a=!0,r();const u=c instanceof Error?c:this.reason;o.abort(u instanceof AxiosError$1?u:new CanceledError$1(u instanceof Error?u.message:u))}};let i=t&&setTimeout(()=>{i=null,s(new AxiosError$1(`timeout ${t} of ms exceeded`,AxiosError$1.ETIMEDOUT))},t);const r=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach(c=>{c.unsubscribe?c.unsubscribe(s):c.removeEventListener("abort",s)}),e=null)};e.forEach(c=>c.addEventListener("abort",s));const{signal:l}=o;return l.unsubscribe=()=>utils$1.asap(r),l}},streamChunk=function*(e,t){let n=e.byteLength;if(n<t){yield e;return}let o=0,a;for(;o<n;)a=o+t,yield e.slice(o,a),o=a},readBytes=async function*(e,t){for await(const n of readStream(e))yield*streamChunk(n,t)},readStream=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}const t=e.getReader();try{for(;;){const{done:n,value:o}=await t.read();if(n)break;yield o}}finally{await t.cancel()}},trackStream=(e,t,n,o)=>{const a=readBytes(e,t);let s=0,i,r=l=>{i||(i=!0,o&&o(l))};return new ReadableStream({async pull(l){try{const{done:c,value:u}=await a.next();if(c){r(),l.close();return}let v=u.byteLength;if(n){let _=s+=v;n(_)}l.enqueue(new Uint8Array(u))}catch(c){throw r(c),c}},cancel(l){return r(l),a.return()}},{highWaterMark:2})},DEFAULT_CHUNK_SIZE=64*1024,{isFunction}=utils$1,globalFetchAPI=(({Request:e,Response:t})=>({Request:e,Response:t}))(utils$1.global),{ReadableStream:ReadableStream$1,TextEncoder}=utils$1.global,test=(e,...t)=>{try{return!!e(...t)}catch{return!1}},factory=e=>{e=utils$1.merge.call({skipUndefined:!0},globalFetchAPI,e);const{fetch:t,Request:n,Response:o}=e,a=t?isFunction(t):typeof fetch=="function",s=isFunction(n),i=isFunction(o);if(!a)return!1;const r=a&&isFunction(ReadableStream$1),l=a&&(typeof TextEncoder=="function"?(p=>h=>p.encode(h))(new TextEncoder):async p=>new Uint8Array(await new n(p).arrayBuffer())),c=s&&r&&test(()=>{let p=!1;const h=new n(platform.origin,{body:new ReadableStream$1,method:"POST",get duplex(){return p=!0,"half"}}).headers.has("Content-Type");return p&&!h}),u=i&&r&&test(()=>utils$1.isReadableStream(new o("").body)),v={stream:u&&(p=>p.body)};a&&["text","arrayBuffer","blob","formData","stream"].forEach(p=>{!v[p]&&(v[p]=(h,f)=>{let y=h&&h[p];if(y)return y.call(h);throw new AxiosError$1(`Response type '${p}' is not supported`,AxiosError$1.ERR_NOT_SUPPORT,f)})});const _=async p=>{if(p==null)return 0;if(utils$1.isBlob(p))return p.size;if(utils$1.isSpecCompliantForm(p))return(await new n(platform.origin,{method:"POST",body:p}).arrayBuffer()).byteLength;if(utils$1.isArrayBufferView(p)||utils$1.isArrayBuffer(p))return p.byteLength;if(utils$1.isURLSearchParams(p)&&(p=p+""),utils$1.isString(p))return(await l(p)).byteLength},m=async(p,h)=>{const f=utils$1.toFiniteNumber(p.getContentLength());return f??_(h)};return async p=>{let{url:h,method:f,data:y,signal:g,cancelToken:w,timeout:d,onDownloadProgress:k,onUploadProgress:C,responseType:B,headers:D,withCredentials:R="same-origin",fetchOptions:V}=resolveConfig(p),O=t||fetch;B=B?(B+"").toLowerCase():"text";let Z=composeSignals([g,w&&w.toAbortSignal()],d),I=null;const $=Z&&Z.unsubscribe&&(()=>{Z.unsubscribe()});let E;try{if(C&&c&&f!=="get"&&f!=="head"&&(E=await m(D,y))!==0){let L=new n(h,{method:"POST",body:y,duplex:"half"}),j;if(utils$1.isFormData(y)&&(j=L.headers.get("content-type"))&&D.setContentType(j),L.body){const[K,ee]=progressEventDecorator(E,progressEventReducer(asyncDecorator(C)));y=trackStream(L.body,DEFAULT_CHUNK_SIZE,K,ee)}}utils$1.isString(R)||(R=R?"include":"omit");const T=s&&"credentials"in n.prototype,b={...V,signal:Z,method:f.toUpperCase(),headers:D.normalize().toJSON(),body:y,duplex:"half",credentials:T?R:void 0};I=s&&new n(h,b);let x=await(s?O(I,V):O(h,b));const N=u&&(B==="stream"||B==="response");if(u&&(k||N&&$)){const L={};["status","statusText","headers"].forEach(J=>{L[J]=x[J]});const j=utils$1.toFiniteNumber(x.headers.get("content-length")),[K,ee]=k&&progressEventDecorator(j,progressEventReducer(asyncDecorator(k),!0))||[];x=new o(trackStream(x.body,DEFAULT_CHUNK_SIZE,K,()=>{ee&&ee(),$&&$()}),L)}B=B||"text";let P=await v[utils$1.findKey(v,B)||"text"](x,p);return!N&&$&&$(),await new Promise((L,j)=>{settle(L,j,{data:P,headers:AxiosHeaders$1.from(x.headers),status:x.status,statusText:x.statusText,config:p,request:I})})}catch(T){throw $&&$(),T&&T.name==="TypeError"&&/Load failed|fetch/i.test(T.message)?Object.assign(new AxiosError$1("Network Error",AxiosError$1.ERR_NETWORK,p,I),{cause:T.cause||T}):AxiosError$1.from(T,T&&T.code,p,I)}}},seedCache=new Map,getFetch=e=>{let t=e&&e.env||{};const{fetch:n,Request:o,Response:a}=t,s=[o,a,n];let i=s.length,r=i,l,c,u=seedCache;for(;r--;)l=s[r],c=u.get(l),c===void 0&&u.set(l,c=r?new Map:factory(t)),u=c;return c};getFetch();const knownAdapters={http:httpAdapter,xhr:xhrAdapter,fetch:{get:getFetch}};utils$1.forEach(knownAdapters,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const renderReason=e=>`- ${e}`,isResolvedHandle=e=>utils$1.isFunction(e)||e===null||e===!1;function getAdapter$1(e,t){e=utils$1.isArray(e)?e:[e];const{length:n}=e;let o,a;const s={};for(let i=0;i<n;i++){o=e[i];let r;if(a=o,!isResolvedHandle(o)&&(a=knownAdapters[(r=String(o)).toLowerCase()],a===void 0))throw new AxiosError$1(`Unknown adapter '${r}'`);if(a&&(utils$1.isFunction(a)||(a=a.get(t))))break;s[r||"#"+i]=a}if(!a){const i=Object.entries(s).map(([l,c])=>`adapter ${l} `+(c===!1?"is not supported by the environment":"is not available in the build"));let r=n?i.length>1?`since :
|
|
4
|
-
`+
|
|
5
|
-
`):" "+renderReason(
|
|
6
|
-
`+s):o.stack=s}catch{}}throw o}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=mergeConfig$1(this.defaults,n);const{transitional:o,paramsSerializer:a,headers:s}=n;o!==void 0&&validator.assertOptions(o,{silentJSONParsing:validators.transitional(validators.boolean),forcedJSONParsing:validators.transitional(validators.boolean),clarifyTimeoutError:validators.transitional(validators.boolean)},!1),a!=null&&(utils$1.isFunction(a)?n.paramsSerializer={serialize:a}:validator.assertOptions(a,{encode:validators.function,serialize:validators.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),validator.assertOptions(n,{baseUrl:validators.spelling("baseURL"),withXsrfToken:validators.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let i=s&&utils$1.merge(s.common,s[n.method]);s&&utils$1.forEach(["delete","get","head","post","put","patch","common"],p=>{delete s[p]}),n.headers=AxiosHeaders$1.concat(i,s);const r=[];let l=!0;this.interceptors.request.forEach(function(h){typeof h.runWhen=="function"&&h.runWhen(n)===!1||(l=l&&h.synchronous,r.unshift(h.fulfilled,h.rejected))});const c=[];this.interceptors.response.forEach(function(h){c.push(h.fulfilled,h.rejected)});let u,v=0,_;if(!l){const p=[dispatchRequest.bind(this),void 0];for(p.unshift(...r),p.push(...c),_=p.length,u=Promise.resolve(n);v<_;)u=u.then(p[v++],p[v++]);return u}_=r.length;let m=n;for(;v<_;){const p=r[v++],h=r[v++];try{m=p(m)}catch(f){h.call(this,f);break}}try{u=dispatchRequest.call(this,m)}catch(p){return Promise.reject(p)}for(v=0,_=c.length;v<_;)u=u.then(c[v++],c[v++]);return u}getUri(t){t=mergeConfig$1(this.defaults,t);const n=buildFullPath(t.baseURL,t.url,t.allowAbsoluteUrls);return buildURL(n,t.params,t.paramsSerializer)}};utils$1.forEach(["delete","get","head","options"],function(t){Axios$1.prototype[t]=function(n,o){return this.request(mergeConfig$1(o||{},{method:t,url:n,data:(o||{}).data}))}});utils$1.forEach(["post","put","patch"],function(t){function n(o){return function(s,i,r){return this.request(mergeConfig$1(r||{},{method:t,headers:o?{"Content-Type":"multipart/form-data"}:{},url:s,data:i}))}}Axios$1.prototype[t]=n(),Axios$1.prototype[t+"Form"]=n(!0)});let CancelToken$1=class nt{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(s){n=s});const o=this;this.promise.then(a=>{if(!o._listeners)return;let s=o._listeners.length;for(;s-- >0;)o._listeners[s](a);o._listeners=null}),this.promise.then=a=>{let s;const i=new Promise(r=>{o.subscribe(r),s=r}).then(a);return i.cancel=function(){o.unsubscribe(s)},i},t(function(s,i,r){o.reason||(o.reason=new CanceledError$1(s,i,r),n(o.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=o=>{t.abort(o)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new nt(function(a){t=a}),cancel:t}}};function spread$1(e){return function(n){return e.apply(null,n)}}function isAxiosError$1(e){return utils$1.isObject(e)&&e.isAxiosError===!0}const HttpStatusCode$1={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(HttpStatusCode$1).forEach(([e,t])=>{HttpStatusCode$1[t]=e});function createInstance(e){const t=new Axios$1(e),n=bind(Axios$1.prototype.request,t);return utils$1.extend(n,Axios$1.prototype,t,{allOwnKeys:!0}),utils$1.extend(n,t,null,{allOwnKeys:!0}),n.create=function(a){return createInstance(mergeConfig$1(e,a))},n}const axios=createInstance(defaults);axios.Axios=Axios$1;axios.CanceledError=CanceledError$1;axios.CancelToken=CancelToken$1;axios.isCancel=isCancel$1;axios.VERSION=VERSION$1;axios.toFormData=toFormData$1;axios.AxiosError=AxiosError$1;axios.Cancel=axios.CanceledError;axios.all=function(t){return Promise.all(t)};axios.spread=spread$1;axios.isAxiosError=isAxiosError$1;axios.mergeConfig=mergeConfig$1;axios.AxiosHeaders=AxiosHeaders$1;axios.formToJSON=e=>formDataToJSON(utils$1.isHTMLForm(e)?new FormData(e):e);axios.getAdapter=adapters.getAdapter;axios.HttpStatusCode=HttpStatusCode$1;axios.default=axios;const{Axios,AxiosError,CanceledError,isCancel,CancelToken,VERSION,all,Cancel,isAxiosError,spread,toFormData,AxiosHeaders,HttpStatusCode,formToJSON,getAdapter,mergeConfig}=axios,makeId=(e=32)=>{let t="";const n="abcdef0123456789";for(let o=0;o<e;o++)t+=n.charAt(Math.floor(Math.random()*n.length));return t},generateTraceId=()=>`00-${makeId(32)}-${makeId(16)}-01`;function createApiClient(e){if(e.axiosInstance)return e.axiosInstance;const t=generateTraceId(),n={...e.axiosConfig?.headers||{},traceparent:e.axiosConfig?.headers?.traceparent??t},{headers:o,...a}=e.axiosConfig||{},s={baseURL:e.baseURL||window.API_HOST,xsrfCookieName:"bk-incident_csrftoken",xsrfHeaderName:"X-CSRFToken",withCredentials:!0,...a,headers:n},i=axios.create(s);return i.interceptors.response.use(r=>{const{data:l}=r;return Object.prototype.toString.call(l)==="[object Object]"&&l.result===!1?(l.message&&!l.message.includes("1211011")&&BkMessage({theme:"error",message:l.message,ellipsisLine:3}),Promise.reject(l.message)):r.data},r=>{const{response:l}=r;if(l){let c=l.statusText;if(l.status===401||l.status===404)return Promise.reject(r);l.data.err_msg?c=l.data.err_msg:l.data.message&&(c=l.data.message),BkMessage({theme:"error",message:c,ellipsisLine:3})}return Promise.reject(r)}),i}const dataImg="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,12%20L3,12%20C2.72385763,12%202.5,12.2238576%202.5,12.5%20C2.5,12.7761424%202.72385763,13%203,13%20L13,13%20C13.2761424,13%2013.5,12.7761424%2013.5,12.5%20C13.5,12.2238576%2013.2761424,12%2013,12%20Z%20M5,6.5%20L4,6.5%20C3.72385763,6.5%203.5,6.72385763%203.5,7%20L3.5,10.5%20C3.5,10.7761424%203.72385763,11%204,11%20L5,11%20C5.27614237,11%205.5,10.7761424%205.5,10.5%20L5.5,7%20C5.5,6.72385763%205.27614237,6.5%205,6.5%20Z%20M8.5,3.5%20L7.5,3.5%20C7.22385763,3.5%207,3.72385763%207,4%20L7,10.5%20C7,10.7761424%207.22385763,11%207.5,11%20L8.5,11%20C8.77614237,11%209,10.7761424%209,10.5%20L9,4%20C9,3.72385763%208.77614237,3.5%208.5,3.5%20Z%20M12,5%20L11,5%20C10.7238576,5%2010.5,5.22385763%2010.5,5.5%20L10.5,10.5%20C10.5,10.7761424%2010.7238576,11%2011,11%20L12,11%20C12.2761424,11%2012.5,10.7761424%2012.5,10.5%20L12.5,5.5%20C12.5,5.22385763%2012.2761424,5%2012,5%20Z'%20fill='%23F8A54F'%20fill-rule='evenodd'/%3e%3c/svg%3e",agentImg="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20class='design-iconfont'%3e%3cdefs%3e%3clinearGradient%20x1='0%25'%20y1='0%25'%20x2='100%25'%20y2='96.1961861%25'%20id='19loczb8h__f71x3hmpea'%3e%3cstop%20stop-color='%234D76E3'%20offset='0%25'/%3e%3cstop%20stop-color='%23D787EE'%20offset='100%25'/%3e%3c/linearGradient%3e%3c/defs%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%20M8.5,2.5%20C6.17779929,2.5%204.26643215,4.28054945%204.02558864,6.56651687%20L4.026,6.558%20L4.03,6.54%20L3.99928094,6.75189877%20C3.76394842,8.11436335%203.07389664,8.46527789%203.00547979,8.87325046%20L3,8.93829715%20C3,9.39912427%204.33397403,9.2134945%204.33397403,9.69904945%20L4.33397403,10.9924271%20C4.33401331,11.5290486%204.757596,11.9699791%205.29378397,11.9915459%20C5.90300757,12.0163699%206.26264111,12.0687043%206.37268552,12.1485262%20C6.45725813,12.2098718%206.51932943,12.4266274%206.55889942,12.7987929%20L6.57276328,12.9456332%20C6.61875295,13.4959998%207.10219523,13.904878%207.65256183,13.8588884%20C7.70929358,13.8541478%207.76551689,13.8445713%207.82061902,13.8302632%20L10.1746185,13.2277878%20C10.5547586,13.1298644%2010.8424468,12.818586%2010.9101698,12.431922%20C11.0509156,11.6378879%2011.2333254,10.9899099%2011.4579782,10.4880363%20C12.402959,9.65300356%2013,8.42466038%2013,7.05516145%20C13,4.53941525%2010.9852814,2.5%208.5,2.5%20Z%20M8.9876109,3.8125%20C9.12361371,3.8219246%209.2572817,3.84136285%209.38686376,3.87081473%20L9.51119251,4.49813988%20C9.7435063,4.58296131%209.9565579,4.70842634%2010.1410081,4.86687748%20L10.7410548,4.6624814%20C10.8461213,4.77852183%2010.9412649,4.90339782%2011.0247344,5.03652034%20L11.1333032,5.22560144%20C11.2050986,5.36461434%2011.2658038,5.51128472%2011.3125,5.66384549%20L10.8356146,6.08677455%20C10.8560442,6.20399306%2010.8665509,6.32474578%2010.8665509,6.4484437%20C10.8665509,6.57390873%2010.8554605,6.69642857%2010.8344472,6.81541419%20L11.3101652,7.23775422%20C11.1934246,7.61473834%2010.9949656,7.95579117%2010.7358014,8.2391183%20L10.135171,8.03413318%20C9.95188828,8.19022817%209.74117149,8.31392609%209.51177621,8.39815848%20L9.38744747,9.02607267%20C9.20182991,9.06789435%209.00920792,9.09027778%208.81133259,9.09027778%20C8.61579208,9.09027778%208.4249212,9.06848338%208.24163845,9.02725074%20L8.11730971,8.40051463%20C7.88616332,8.31628224%207.67369542,8.19199529%207.48924527,8.03531126%20L6.88803117,8.24029638%20C6.79055277,8.13368056%206.70182991,8.0188182%206.6224463,7.89747644%20L6.47068352,7.63240947%20C6.408811,7.50753348%206.35569402,7.37676711%206.31366741,7.24128844%20L6.78938536,6.81894841%20C6.76778835,6.69878472%206.75669799,6.57449777%206.75669799,6.44785466%20C6.75669799,6.32297867%206.76778835,6.20045883%206.78880166,6.08147321%20L6.3125,5.65913318%20C6.3504407,5.53661334%206.39713694,5.41821677%206.45142132,5.30394345%20L6.64696183,4.96230159%20C6.719341,4.8562748%206.79814091,4.75496032%206.88452895,4.66071429%20L7.48457565,4.8656994%20C7.67077691,4.70665923%207.88499591,4.58060516%208.11906082,4.49578373%20L8.24338956,3.86904762%20C8.37122052,3.84077381%208.50197,3.82133557%208.63622169,3.8125%20Z%20M8.8119163,5.50598338%20C8.29592283,5.50598338%207.87799148,5.92773437%207.87799148,6.4484437%20C7.87799148,6.96915303%208.29592283,7.39090402%208.8119163,7.39090402%20C9.32790976,7.39090402%209.74584112,6.96915303%209.74584112,6.4484437%20C9.74584112,5.92773437%209.32790976,5.50598338%208.8119163,5.50598338%20Z%20M8.8119163,5.88296751%20C9.12139176,5.88296751%209.37227119,6.13613982%209.37227119,6.4484437%20C9.37227119,6.76074758%209.12139176,7.01391989%208.8119163,7.01391989%20C8.50244084,7.01391989%208.25156141,6.76074758%208.25156141,6.4484437%20C8.25156141,6.13613982%208.50244084,5.88296751%208.8119163,5.88296751%20Z'%20fill='url(%2319loczb8h__f71x3hmpea)'%20fill-rule='evenodd'/%3e%3c/svg%3e",pluginImg="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%20M8.03846154,2.5%20C7.295,2.5%206.6923077,3.10269231%206.6923077,3.84615384%20L6.6923077,4.42307693%20L4.38461538,4.42307693%20C4.17230769,4.42307693%204,4.59538461%204,4.8076923%20L4,6.92307693%20L4.57692308,6.92307693%20C5.32038461,6.92307693%205.92307693,7.52576923%205.92307693,8.26923077%20C5.92307693,9.0126923%205.32038461,9.61538461%204.57692308,9.61538461%20L4,9.61538461%20L4,12.1153846%20C4,12.3276923%204.17230769,12.5%204.38461538,12.5%20L6.6923077,12.5%20L6.6923077,11.9230769%20C6.6923077,11.1796154%207.295,10.5769231%208.03846154,10.5769231%20C8.78192307,10.5769231%209.38461539,11.1796154%209.38461539,11.9230769%20L9.38461539,12.5%20L11.6923077,12.5%20C11.9046154,12.5%2012.0769231,12.3276923%2012.0769231,12.1153846%20L12.0769231,9.61538461%20L12.6538462,9.61538461%20C13.3973077,9.61538461%2014,9.0126923%2014,8.26923077%20C14,7.52576923%2013.3973077,6.92307693%2012.6538462,6.92307693%20L12.0769231,6.92307693%20L12.0769231,4.8076923%20C12.0769231,4.59538461%2011.9046154,4.42307693%2011.6923077,4.42307693%20L9.38461539,4.42307693%20L9.38461539,3.84615384%20C9.38461539,3.10269231%208.78192307,2.5%208.03846154,2.5%20Z'%20fill='%235AB88E'%20fill-rule='evenodd'/%3e%3c/svg%3e",modelImg="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20class='design-iconfont'%3e%3cdefs%3e%3clinearGradient%20x1='0%25'%20y1='0%25'%20x2='100%25'%20y2='96.1961861%25'%20id='vgdxp7v4l__zvhmfdo4ha'%3e%3cstop%20stop-color='%234D76E3'%20offset='0%25'/%3e%3cstop%20stop-color='%23D787EE'%20offset='100%25'/%3e%3c/linearGradient%3e%3c/defs%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%20M8.44875881,3.88645164%20C7.88887563,4.38553286%207.31548649,5.06473362%206.78138741,5.85400744%20C6.4216379,5.88402737%206.07416654,5.92655559%205.74142896,5.98159211%20C5.68126606,5.77270348%205.6321535,5.570069%205.59409127,5.37619034%20C5.50937211,4.9434031%205.48727146,4.57065572%205.52901714,4.29797476%20C5.55848467,4.10784858%205.61741973,3.97275892%205.6935442,3.92772904%20C5.81878123,3.85393006%206.26447771,3.90646492%207.05027868,4.63319723%20L7.64454064,3.96650477%20C7.22094482,3.57499494%206.82067746,3.29856148%206.45356107,3.14470937%20C6.13432943,3.01087055%205.66653229,2.90329916%205.25153116,3.14721103%20C4.84512474,3.38611959%204.42398453,3.99777552%204.72725459,5.55130656%20C4.76531682,5.74893772%204.81442938,5.95282302%204.87336445,6.16421332%20C4.66586389,6.21799902%204.46818584,6.27678802%204.2815581,6.34183119%20C2.80940913,6.85216989%202.5,7.528869%202.5,8.0066861%20C2.5,8.49826234%202.82905415,8.85850142%203.10654011,9.07364421%20C3.42454394,9.32130857%203.86532916,9.53770219%204.41661765,9.71532006%20L4.68428111,8.85725059%20C3.65660079,8.5257806%203.38525389,8.1555349%203.38525389,8.0066861%20C3.38525389,7.91787716%203.46997306,7.79654664%203.61731074,7.67646695%20C3.82849474,7.50385239%204.15754889,7.33749199%204.56641096,7.19489735%20C4.75058305,7.13110501%204.9470333,7.07356682%205.15330604,7.02228279%20C5.27240401,7.34374613%205.41114699,7.67271446%205.56585156,8.00543527%20C5.34975629,8.47074408%205.16558418,8.93230041%205.01824651,9.37384344%20C4.76040556,10.1518598%204.62534603,10.8610805%204.62780166,11.4227032%20C4.63025729,11.9092761%204.74076054,12.5522028%205.25521461,12.8549037%20C5.43570327,12.9612243%205.62478661,13%205.80895872,13%20C6.05083808,13%206.2804393,12.9312044%206.46338358,12.8549037%20C6.8329556,12.6998008%207.23567859,12.4196148%207.66050223,12.0243525%20L7.06501244,11.3589109%20C6.27184459,12.0956498%205.82369249,12.1494355%205.69722765,12.0743857%20C5.60882504,12.0218508%205.51428337,11.8229689%205.51182774,11.4176999%20C5.50937211,10.9536419%205.62847006,10.3457385%205.85561565,9.66028354%20C5.92437324,9.45264574%206.00172552,9.24125546%206.08890031,9.02611266%20C6.10363407,9.05112927%206.11714004,9.07614586%206.13187381,9.1024133%20C6.59967093,9.92671036%207.13254221,10.6947201%207.67400818,11.321386%20C8.20687945,11.9380452%208.74220636,12.4121098%209.22105382,12.691045%20C9.49240072,12.8499004%209.84601114,13%2010.2008494,13%20C10.3874771,13%2010.5753327,12.9587226%2010.7533657,12.8536529%20C11.2678198,12.550952%2011.378323,11.9067745%2011.3807786,11.4202015%20C11.3832343,10.8585788%2011.2481747,10.1493581%2010.9903338,9.37009095%20C10.8589577,8.97232696%2010.6956584,8.55705136%2010.5065751,8.13802326%20L9.70235691,8.5170248%20C9.87916211,8.9072838%2010.0301832,9.29128866%2010.1517368,9.66028354%20C10.3788824,10.3457385%2010.4979804,10.9536419%2010.4955247,11.4189507%20C10.4942969,11.8242197%2010.3985274,12.0243525%2010.3101248,12.0756365%20C10.2217222,12.1281714%2010.0043991,12.1119106%209.65938341,11.910527%20C9.2640273,11.6803742%208.80605269,11.2713527%208.33702774,10.7272417%20C7.833624,10.1443548%207.33513152,9.42762914%206.89680191,8.65336529%20C6.77402052,8.43697167%206.658606,8.22182889%206.55055837,8.00543527%20C6.65983383,7.78654%206.77647615,7.56889555%206.89925754,7.35250195%20C7.02081114,7.13735916%207.14604815,6.92847053%207.27496864,6.72583605%20C7.51316455,6.71332774%207.7550439,6.70707359%208.00060669,6.70707359%20C9.30454518,6.70707359%2010.5249923,6.88093898%2011.4348024,7.19614818%20C11.8448923,7.33749199%2012.1727187,7.50385239%2012.3839027,7.67771778%20C12.5312403,7.7990483%2012.6159595,7.91912799%2012.6159595,8.00793694%20C12.6159595,8.10425085%2012.5189622,8.23433719%2012.3495239,8.36567435%20C12.111328,8.54954639%2011.7442116,8.72341178%2011.2886926,8.86850806%20L11.5526726,9.72782838%20C12.1125558,9.55021049%2012.5607079,9.33256604%2012.883623,9.08365086%20C13.1647924,8.86725724%2013.5,8.50451651%2013.5,8.00793694%20C13.5012134,7.528869%2013.1918043,6.85216989%2011.7196553,6.34183119%20C10.7202147,5.99535125%209.39908685,5.80522507%208.00060669,5.80522507%20L7.91097628,5.80522507%20C8.2805483,5.31740132%208.66117063,4.89587157%209.03197046,4.56440157%20C9.35734117,4.27420898%209.66306686,4.06782201%209.91599654,3.9677556%20C10.0928018,3.89770911%2010.2376838,3.88394998%2010.3138083,3.92772904%20C10.3960718,3.97651141%2010.4586903,4.12786186%2010.4844744,4.34425547%20C10.5213088,4.64945802%2010.4844744,5.06348279%2010.3776546,5.54129991%20L11.23958,5.7401819%20C11.3697283,5.15354257%2011.411474,4.64695636%2011.3611336,4.23418242%20C11.3181601,3.87519417%2011.1781893,3.39612623%2010.7545935,3.14721103%20C10.3481871,2.90830248%209.61886555,2.84200848%208.44875881,3.88645164%20Z%20M8.42307307,6.91304349%20C7.83892612,6.91304349%207.36538145,7.39969049%207.36538145,8%20C7.36538145,8.60030951%207.83892612,9.08695653%208.42307307,9.08695653%20C9.00722001,9.08695653%209.48076468,8.60030951%209.48076468,8%20C9.48076468,7.39969049%209.00722001,6.91304349%208.42307307,6.91304349%20Z'%20fill='url(%23vgdxp7v4l__zvhmfdo4ha)'%20fill-rule='evenodd'/%3e%3c/svg%3e",outputImg="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20class='design-iconfont'%3e%3cdefs%3e%3clinearGradient%20x1='0%25'%20y1='0%25'%20x2='100%25'%20y2='96.1961861%25'%20id='7doce0e6d__r8m44v5xza'%3e%3cstop%20stop-color='%234D76E3'%20offset='0%25'/%3e%3cstop%20stop-color='%23D787EE'%20offset='100%25'/%3e%3c/linearGradient%3e%3c/defs%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%20M11,3.5%20L5,3.5%20C3.8954305,3.5%203,4.3954305%203,5.5%20L3,9.5%20C3,10.6045695%203.8954305,11.5%205,11.5%20L9.536,11.5%20L12.0312272,13.0147852%20L11.4996566,11.5%20L11.0252355,11.4998441%20C12.1181756,11.4863297%2013,10.5961454%2013,9.5%20L13,5.5%20C13,4.3954305%2012.1045695,3.5%2011,3.5%20Z%20M8,9%20C8.27614237,9%208.5,9.22385763%208.5,9.5%20C8.5,9.77614237%208.27614237,10%208,10%20L5,10%20C4.72385763,10%204.5,9.77614237%204.5,9.5%20C4.5,9.22385763%204.72385763,9%205,9%20Z%20M11,7%20C11.2761424,7%2011.5,7.22385763%2011.5,7.5%20C11.5,7.77614237%2011.2761424,8%2011,8%20L5,8%20C4.72385763,8%204.5,7.77614237%204.5,7.5%20C4.5,7.22385763%204.72385763,7%205,7%20Z%20M11,5%20C11.2761424,5%2011.5,5.22385763%2011.5,5.5%20C11.5,5.77614237%2011.2761424,6%2011,6%20L5,6%20C4.72385763,6%204.5,5.77614237%204.5,5.5%20C4.5,5.22385763%204.72385763,5%205,5%20Z'%20fill='url(%237doce0e6d__r8m44v5xza)'%20fill-rule='evenodd'/%3e%3c/svg%3e",PLUGIN_GROUP_ICON_MAP={bkflow:pluginImg,data:dataImg,agent:agentImg,model:modelImg,output:outputImg},data$3=JSON.parse('{"result":true,"message":null,"data":{"count":26,"plugins":[{"code":"ai-dba-classv3","name":"DBAITSM工单智能分类","tag":2,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bk_plugin_app_default.png","created_time":"2025-09-23 15:02:58 +0800","updated_time":"2025-09-23 15:02:58 +0800","introduction":"DBA ITSM工单智能体分类","managers":["mingli","wheelwang"],"extra_info":{}},{"code":"ai-feedbackclean","name":"渠道预警数据AI清洗","tag":2,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bk_plugin_app_default.png","created_time":"2025-10-15 17:00:46 +0800","updated_time":"2025-10-15 17:00:46 +0800","introduction":"","managers":["leonjzhang"],"extra_info":{}},{"code":"aidev-tc-code","name":"TcomposeAICode","tag":2,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bk_plugin_app_default.png","created_time":"2025-04-22 16:55:17 +0800","updated_time":"2025-04-22 16:55:17 +0800","introduction":"AI","managers":["haonanchen"],"extra_info":{}},{"code":"bkchat-batch-msg","name":"BKChat批量通知-消息内容不同","tag":2,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bkchat-batch-msg_1757903422.png?download=false","created_time":"2025-09-15 10:28:53 +0800","updated_time":"2025-09-15 10:30:23 +0800","introduction":"BKChat批量消息通知(多组消息)","managers":["breakingzhu","mingli","wheelwang"],"extra_info":{}},{"code":"bkchat-bkm-skill","name":"bkchat-发送监控仪表盘","tag":2,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bkchat-bkm-skill_1745223673.png?download=false","created_time":"2025-03-03 14:12:01 +0800","updated_time":"2025-06-27 17:52:23 +0800","introduction":"用于执行bkchat中“发送图表到目标群组”技能。","managers":["colocasiawu"],"extra_info":{}},{"code":"bkchat-csutomsg","name":"蓝鲸审批-发送自定义消息通知","tag":2,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bkchat-csutomsg_1745223634.png?download=false","created_time":"2025-04-18 12:07:33 +0800","updated_time":"2025-04-21 16:20:35 +0800","introduction":"蓝鲸审批 - 发送自定义markdwon消息","managers":["colocasiawu","wheelwang"],"extra_info":{}},{"code":"bkchat-group","name":"bkchat企微群管理","tag":2,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bkchat-group_1747390355.png?download=false","created_time":"2025-05-16 11:18:36 +0800","updated_time":"2025-05-16 18:12:36 +0800","introduction":"支持企业微信群聊的创建、成员邀请和群名修改等管理功能","managers":["colocasiawu"],"extra_info":{}},{"code":"bkchat-input","name":"BKChat会话填参","tag":2,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bkchat-input_1753253129.png?download=false","created_time":"2025-07-21 15:30:00 +0800","updated_time":"2025-07-23 14:45:30 +0800","introduction":"BKChat输入等待","managers":["wheelwang","flamexia"],"extra_info":{}},{"code":"bkchat-push-file","name":"BKChat发送文件","tag":2,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bkchat-push-file_1755746986.png?download=false","created_time":"2025-08-20 19:48:04 +0800","updated_time":"2025-08-21 11:29:46 +0800","introduction":"BKChat发送文件","managers":["breakingzhu","mingli"],"extra_info":{}},{"code":"bkchat-push-img","name":"BKChat推送图片","tag":2,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bkchat-push-img_1755679047.png?download=false","created_time":"2025-08-20 16:36:31 +0800","updated_time":"2025-08-20 16:37:27 +0800","introduction":"BKChat推送图片","managers":["breakingzhu","mingli","kaishengli"],"extra_info":{}},{"code":"bkchat-sops","name":"BkChat通知插件","tag":2,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bkchat-sops_1667819658.png?download=false","created_time":"2021-10-28 17:47:18 +0800","updated_time":"2022-11-07 19:14:19 +0800","introduction":"bkchat服务号通知","managers":["wheelwang"],"extra_info":{}},{"code":"bkchat-sops-send","name":"bkchat通用消息通知","tag":2,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bkchat-sops-send_1659350059.png?download=false","created_time":"2022-06-10 16:25:29 +0800","updated_time":"2022-08-03 20:32:56 +0800","introduction":"支持bkchat腾讯内部通知,支持企微群机器人、QQ、slack、钉钉、飞书、微信公众号等外部消息通知","managers":["wheelwang","neolei"],"extra_info":{}},{"code":"bot-approval","name":"蓝鲸审批","tag":2,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bot-approval_1690963620.png?download=false","created_time":"2023-07-17 11:54:28 +0800","updated_time":"2023-08-02 16:45:43 +0800","introduction":"企微群机器人卡片式审批服务,并支持群和个人快捷审批,且群内审批消息仅审批人可见。","managers":["wheelwang"],"extra_info":{}},{"code":"ai-gyyzl-agent","name":"光与夜之恋舆情分析","tag":4,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bk_plugin_app_default.png","created_time":"2025-11-27 16:59:30 +0800","updated_time":"2025-11-27 16:59:30 +0800","introduction":"","managers":["leonjzhang"],"extra_info":{}},{"code":"ai-inspection","name":"bkm-inspection","tag":4,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bk_plugin_app_default.png","created_time":"2025-12-15 11:17:03 +0800","updated_time":"2025-12-15 11:17:03 +0800","introduction":"","managers":["leonjzhang"],"extra_info":{}},{"code":"ai-itsm-classv3","name":"ai-itsm-classv3","tag":4,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bk_plugin_app_default.png","created_time":"2025-06-27 11:00:05 +0800","updated_time":"2025-06-27 11:00:05 +0800","introduction":"itsm工单新分类","managers":["mingli"],"extra_info":{}},{"code":"ai-power-error","name":"powerapp错误分类器","tag":4,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bk_plugin_app_default.png","created_time":"2025-11-03 14:05:06 +0800","updated_time":"2025-11-03 14:05:06 +0800","introduction":"","managers":["yovafeng"],"extra_info":{}},{"code":"ai-sredata-cdn","name":"CDN盗刷分析智能体","tag":4,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bk_plugin_app_default.png","created_time":"2025-10-21 15:51:13 +0800","updated_time":"2025-10-21 15:51:13 +0800","introduction":"CDN盗刷分析智能体","managers":["colocasiawu","sheazou"],"extra_info":{}},{"code":"ai-wingman-tools","name":"Wingman工具助手","tag":4,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bk_plugin_app_default.png","created_time":"2025-09-19 11:05:18 +0800","updated_time":"2025-09-19 11:05:18 +0800","introduction":"","managers":["haonanchen"],"extra_info":{}},{"code":"aidev-doc","name":"aidev-doc","tag":4,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bk_plugin_app_default.png","created_time":"2025-05-27 14:05:46 +0800","updated_time":"2025-05-27 14:05:46 +0800","introduction":"腾娱交接文档检查插件","managers":["leonjzhang"],"extra_info":{}},{"code":"aidev-omniagent","name":"通用Agent","tag":4,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bk_plugin_app_default.png","created_time":"2025-03-27 17:51:24 +0800","updated_time":"2025-03-27 17:51:24 +0800","introduction":"通用 Agent","managers":["breakingzhu","kaishengli"],"extra_info":{}},{"code":"aidev-toolease","name":"aidev-toolease","tag":4,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bk_plugin_app_default.png","created_time":"2025-04-07 19:14:11 +0800","updated_time":"2025-04-07 19:14:11 +0800","introduction":"tooleaseai","managers":["pttigerchen"],"extra_info":{}},{"code":"benny-plugin-01","name":"benny-plugin-01","tag":4,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bk_plugin_app_default.png","created_time":"2023-07-30 19:18:03 +0800","updated_time":"2023-07-30 19:18:03 +0800","introduction":"测试","managers":["bennychen"],"extra_info":{}},{"code":"bkmonitor-ascode","name":"告警策略导入","tag":4,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bk_plugin_app_default.png","created_time":"2024-08-01 14:17:31 +0800","updated_time":"2024-08-01 14:17:31 +0800","introduction":"选择性导入告警策略","managers":["leonjzhang"],"extra_info":{}},{"code":"cvm-clb-check","name":"CLB巡检","tag":4,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bk_plugin_app_default.png","created_time":"2025-02-17 19:33:41 +0800","updated_time":"2025-02-19 17:06:06 +0800","introduction":"CLB巡检","managers":["kaishengli","breakingzhu"],"extra_info":{}},{"code":"danny-test-plugi","name":"danny-test-plugi","tag":4,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bk_plugin_app_default.png","created_time":"2025-06-12 14:34:52 +0800","updated_time":"2025-06-12 14:34:52 +0800","introduction":"测试插件部署","managers":["dannydeng"],"extra_info":{}},{"code":"devops-pl-plugin","name":"蓝盾执行流水线","tag":4,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/devops-pl-plugin_1632708201.png?download=false","created_time":"2021-08-20 20:28:41 +0800","updated_time":"2021-08-20 20:28:41 +0800","introduction":"执行流水线","managers":["dannydeng"],"extra_info":{}},{"code":"dimension-dd","name":"维度下钻分析","tag":4,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bk_plugin_app_default.png","created_time":"2024-12-24 11:01:51 +0800","updated_time":"2024-12-24 11:01:51 +0800","introduction":"维度下钻分析","managers":["erictzhang"],"extra_info":{}},{"code":"go-plugin-test","name":"go插件测试","tag":4,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bk_plugin_app_default.png","created_time":"2025-11-13 16:39:34 +0800","updated_time":"2025-11-13 16:39:34 +0800","introduction":"go插件测试","managers":["kayxing"],"extra_info":{}},{"code":"host-field-query","name":"CC-主机字段查询","tag":4,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bk_plugin_app_default.png","created_time":"2025-03-25 20:18:33 +0800","updated_time":"2025-03-25 20:18:33 +0800","introduction":"CC-主机字段查询","managers":["kaishengli"],"extra_info":{}},{"code":"iegsec-groupchat","name":"iegsec客服号拉群","tag":4,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bk_plugin_app_default.png","created_time":"2024-12-26 11:52:30 +0800","updated_time":"2024-12-26 11:52:30 +0800","introduction":"iegsec 客服号拉群","managers":["xaviechen"],"extra_info":{}},{"code":"m-ins-chargetype","name":"修改实例计费模式","tag":4,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bk_plugin_app_default.png","created_time":"2025-07-01 15:05:16 +0800","updated_time":"2025-07-01 15:05:16 +0800","introduction":"修改实例计费模式","managers":["vaeditshen"],"extra_info":{}},{"code":"tcm-batch-cmd","name":"TCM批量命令执行","tag":4,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bk_plugin_app_default.png","created_time":"2024-11-26 11:03:21 +0800","updated_time":"2024-11-26 11:03:21 +0800","introduction":"批量执行TCM命令","managers":["zackhao"],"extra_info":{}},{"code":"tcm-busid-to-ip","name":"TCM-busID转IP","tag":4,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bk_plugin_app_default.png","created_time":"2025-04-23 15:28:20 +0800","updated_time":"2025-04-23 15:28:20 +0800","introduction":"","managers":["kaishengli"],"extra_info":{}},{"code":"visualization","name":"结果可视化","tag":4,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/visualization_1736755273.png?download=false","created_time":"2024-12-14 13:50:13 +0800","updated_time":"2025-01-13 16:02:04 +0800","introduction":"基于 BKVision 的可视化服务能力,生成可视化图表","managers":["murphyywang"],"extra_info":{}},{"code":"wegame-queryvers","name":"wegame查询指定分支最新版本信息","tag":4,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bk_plugin_app_default.png","created_time":"2025-11-03 19:38:55 +0800","updated_time":"2025-11-03 19:38:55 +0800","introduction":"wegame指定分支最新版本信息查询","managers":["vaeditshen"],"extra_info":{}},{"code":"wegame-servermng","name":"wegame启停服管理","tag":4,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bk_plugin_app_default.png","created_time":"2025-11-03 17:06:35 +0800","updated_time":"2025-11-03 17:06:35 +0800","introduction":"wegame版本开关服维护","managers":["vaeditshen"],"extra_info":{}},{"code":"wegame-ver-mng","name":"wegame版本状态维护","tag":4,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bk_plugin_app_default.png","created_time":"2025-11-06 14:49:43 +0800","updated_time":"2025-11-06 18:56:06 +0800","introduction":"wegame版本状态维护","managers":["vaeditshen"],"extra_info":{}},{"code":"wgame-ver-status","name":"WeGame版本发布","tag":4,"logo_url":"https://bkrepo.woa.com/generic/bkpaas/bkpaas3-apps-logo/bk_plugin_app_default.png","created_time":"2025-10-11 15:12:27 +0800","updated_time":"2025-11-06 14:47:06 +0800","introduction":"wegame版本发布","managers":["vaeditshen"],"extra_info":{}}]}}'),bkpluginJson={data:data$3},data$2={url:"http://prod-dot-default-dot-bkchat-sops.bkapps-sz.oa.com/",urls:["https://bkchat-sops.bkapps-sz.woa.com/","https://prod-dot-bkchat-sops.bkapps-sz.woa.com/","https://prod-dot-default-dot-bkchat-sops.bkapps-sz.woa.com/","http://bkchat-sops.bkapps-sz.oa.com/","http://prod-dot-bkchat-sops.bkapps-sz.oa.com/","http://prod-dot-default-dot-bkchat-sops.bkapps-sz.oa.com/"],name:"BkChat通知插件",code:"bkchat-sops",updated:"2022-11-07 19:14:19 +0800",apigw_name:"bkchat-sops",tag_info:{id:2,name:"蓝鲸信息流",code_name:"BKCHAT",priority:0}},appDetailJson={data:data$2};function createFlowApiServices(e){const t=createApiClient(e),{scopeData:n}=e,o=r=>({...r,...n}),a=async()=>(await t.get("/bkflow/plugin/tags/",{params:{...n}})).data,s=async()=>[...(await t.get("/metas/category/list_categories/",{params:n})).data.map(l=>({...l,iconUrl:PLUGIN_GROUP_ICON_MAP[l.name]})),{id:"bkflow",name:"bkflow",alias:"插件",properties:{},iconUrl:PLUGIN_GROUP_ICON_MAP.bkflow}],i=async r=>(await t.post("/metas/plugin/list_plugins/",o({category:r}))).data.apis;return{async fetchFlowDetail(r){return(await t.get(`/bkflow/template/${r}/fetch_template/`,{params:n})).data},async fetchSpaceFlowConfig(r){return(await t.get(`/bkflow/template/${r}/get_space_related_configs/`,{params:n})).data},async fetchSystemVariables(r){const l=await t.get("/bkflow/variable/system_variables/",{params:{template_id:r,...n}});return Object.values(l.data)},async saveFlow(r,l){await t.put(`/bkflow/template/${r}/update_template/`,o(l))},async fetchBkFlowInnerPluginList(){return(await t.get("/bkflow/inner_plugin/plugins/",{params:{...n}})).data},async fetchBkFlowInnerPluginDetail(r,l){return(await t.get(`/bkflow/inner_plugin/${r}/plugin_detail/`,{params:{version:l,...n}})).data},async fetchBkFlowThirdPartyPluginTags(){return a()},async fetchBkFlowThirdPartyPluginList(r){const l=await t.get("/bkflow/plugin/list_plugins/",{params:{tag:r,...n}});return console.log(l.data),console.log("获取bkflow第三方插件tag下的插件列表: ",bkpluginJson.data),bkpluginJson.data.data.plugins},async fetchBkFlowThirdPartyPluginMeta(r){return(await t.get("/bkflow/plugin/meta/",{params:{plugin_code:r,...n}})).data},async fetchBkFlowThirdPartyPluginAppDetail(r){const l=await t.get("/bkflow/plugin/get_plugin_app_detail/",{params:{plugin_code:r,...n}});return console.log("获取bkflow第三方插件对应SaaS应用的app详情: ",l.data),appDetailJson.data},async fetchBkFlowThirdPartyPluginDetail(r,l){return(await t.get("/bkflow/plugin/plugin_detail/",{params:{plugin_code:r,plugin_version:l,with_app_detail:!0,...n}})).data},async fetchPluginGroupList(){return s()},async fetchCategoryPlugins(r){return i(r)},async fetchPluginDetail(r){return(await t.get("/metas/plugin/get_plugin/",{params:{plugin_id:r,...n}})).data},async fetchAllPluginGroups(){const[r,l]=await Promise.all([s(),a()]),c={code_name:"INNER",id:0,name:"内置",priority:1},u=r.map(async _=>{if(_.name==="bkflow")return{..._,children:[c,...l]};const m=await i(_.name);return{..._,children:m.map(p=>({...p,category_id:_.id}))}}),v=await Promise.all(u);return console.log(v),v},async fetchApplyInstructionData(r){return(await t.post("/metas/plugin/apply_instruction/",o(r))).data},async fetchVariableRef(r){return{data:(await t.post("/bkflow/template/analysis_constants_ref/",o(r))).data}},async fetchCustomVariableTypes(){return{data:(await t.get("/bkflow/variable/variable_class_list/",{params:n})).data}},async fetchFlowOperateRecord(r){return{data:(await t.get(`/bkflow/template/${r}/operation_record/`,{params:n})).data}},async createFlowTask(r){return{data:(await t.post("/bkflow/template/create_task/",o(r))).data}},async executeFlowTask(r){await t.post("/bkflow/template/operate_task/",o(r))}}}function useFlowApi(e){const t=createFlowApiServices(e);return{fetchFlowDetail:t.fetchFlowDetail,fetchSpaceFlowConfig:t.fetchSpaceFlowConfig,fetchSystemVariables:t.fetchSystemVariables,fetchUserApi:e.fetchUserApi,fetchVariableRef:t.fetchVariableRef,fetchCustomVariableTypes:t.fetchCustomVariableTypes,fetchFlowOperateRecord:t.fetchFlowOperateRecord,createFlowTask:t.createFlowTask,executeFlowTask:t.executeFlowTask,saveFlow:t.saveFlow,fetchBkFlowInnerPluginList:t.fetchBkFlowInnerPluginList,fetchBkFlowInnerPluginDetail:t.fetchBkFlowInnerPluginDetail,fetchBkFlowThirdPartyPluginList:t.fetchBkFlowThirdPartyPluginList,fetchBkFlowThirdPartyPluginTags:t.fetchBkFlowThirdPartyPluginTags,fetchBkFlowThirdPartyPluginMeta:t.fetchBkFlowThirdPartyPluginMeta,fetchBkFlowThirdPartyPluginDetail:t.fetchBkFlowThirdPartyPluginDetail,fetchBkFlowThirdPartyPluginAppDetail:t.fetchBkFlowThirdPartyPluginAppDetail,fetchPluginGroupList:t.fetchPluginGroupList,fetchCategoryPlugins:t.fetchCategoryPlugins,fetchPluginDetail:t.fetchPluginDetail,fetchApplyInstructionData:t.fetchApplyInstructionData,fetchAllPluginGroups:t.fetchAllPluginGroups}}const FLOW_API_CONFIG_KEY=Symbol("flow-api-config");function provideFlowApiConfig(e){let t;return"fetchFlowDetail"in e?t=e:t=useFlowApi(e),vue.provide(FLOW_API_CONFIG_KEY,t),t}function useFlowApiConfig(){const e=vue.inject(FLOW_API_CONFIG_KEY,null);if(!e){const t="useFlowApiConfig: apiConfig is not provided. Please ensure FlowEdit, FlowView, or FlowExecute component is used as parent component.";throw new Error(t)}return e}function useFlowEditApiConfig(){return useFlowApiConfig()}function useFlowViewApiConfig(){return useFlowApiConfig()}const _hoisted_1$P={class:"bkflow-canvans-editor-container-layout"},_hoisted_2$x={class:"container-layout-header"},_hoisted_3$m={class:"title-area"},_hoisted_4$l={class:"title"},_hoisted_5$g={class:"desc"},_hoisted_6$9={class:"container-layout-main"},_hoisted_7$5={class:"container-main-wrapper"},_sfc_main$Z=vue.defineComponent({__name:"index",props:{title:{default:""},desc:{default:""},showBackIcon:{type:Boolean,default:!1},showEditIcon:{type:Boolean,default:!1}},emits:["back","edit"],setup(e,{emit:t}){vue.useSlots();const n=e,o=t,a=()=>{o("back")},s=()=>{o("edit")};return(i,r)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$P,[vue.createElementVNode("section",_hoisted_2$x,[vue.renderSlot(i.$slots,"header",{},()=>[vue.createElementVNode("div",_hoisted_3$m,[n.showBackIcon?(vue.openBlock(),vue.createBlock(vue.unref(icon.ArrowsLeft),{key:0,class:"back-btn",onClick:a})):vue.createCommentVNode("",!0),vue.createElementVNode("h3",_hoisted_4$l,vue.toDisplayString(n.title),1),vue.createElementVNode("p",_hoisted_5$g,vue.toDisplayString(n.desc),1),n.showEditIcon?(vue.openBlock(),vue.createBlock(vue.unref(icon.EditLine),{key:1,class:"edit-btn",onClick:s})):vue.createCommentVNode("",!0)])],!0),vue.renderSlot(i.$slots,"extend",{},void 0,!0)]),vue.createElementVNode("section",_hoisted_6$9,[vue.createElementVNode("div",_hoisted_7$5,[vue.renderSlot(i.$slots,"default",{},void 0,!0)])])]))}}),_export_sfc=(e,t)=>{const n=e.__vccOpts||e;for(const[o,a]of t)n[o]=a;return n},ContainerLayout=_export_sfc(_sfc_main$Z,[["__scopeId","data-v-6d58adcc"]]);function getDefaultExportFromCjs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var dayjs_min$1={exports:{}},dayjs_min=dayjs_min$1.exports,hasRequiredDayjs_min;function requireDayjs_min(){return hasRequiredDayjs_min||(hasRequiredDayjs_min=1,(function(e,t){(function(n,o){e.exports=o()})(dayjs_min,(function(){var n=1e3,o=6e4,a=36e5,s="millisecond",i="second",r="minute",l="hour",c="day",u="week",v="month",_="quarter",m="year",p="date",h="Invalid Date",f=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|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,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($){var E=["th","st","nd","rd"],T=$%100;return"["+$+(E[(T-20)%10]||E[T]||E[0])+"]"}},w=function($,E,T){var b=String($);return!b||b.length>=E?$:""+Array(E+1-b.length).join(T)+$},d={s:w,z:function($){var E=-$.utcOffset(),T=Math.abs(E),b=Math.floor(T/60),x=T%60;return(E<=0?"+":"-")+w(b,2,"0")+":"+w(x,2,"0")},m:function $(E,T){if(E.date()<T.date())return-$(T,E);var b=12*(T.year()-E.year())+(T.month()-E.month()),x=E.clone().add(b,v),N=T-x<0,P=E.clone().add(b+(N?-1:1),v);return+(-(b+(T-x)/(N?x-P:P-x))||0)},a:function($){return $<0?Math.ceil($)||0:Math.floor($)},p:function($){return{M:v,y:m,w:u,d:c,D:p,h:l,m:r,s:i,ms:s,Q:_}[$]||String($||"").toLowerCase().replace(/s$/,"")},u:function($){return $===void 0}},k="en",C={};C[k]=g;var B="$isDayjsObject",D=function($){return $ instanceof Z||!(!$||!$[B])},R=function $(E,T,b){var x;if(!E)return k;if(typeof E=="string"){var N=E.toLowerCase();C[N]&&(x=N),T&&(C[N]=T,x=N);var P=E.split("-");if(!x&&P.length>1)return $(P[0])}else{var L=E.name;C[L]=E,x=L}return!b&&x&&(k=x),x||!b&&k},V=function($,E){if(D($))return $.clone();var T=typeof E=="object"?E:{};return T.date=$,T.args=arguments,new Z(T)},O=d;O.l=R,O.i=D,O.w=function($,E){return V($,{locale:E.$L,utc:E.$u,x:E.$x,$offset:E.$offset})};var Z=(function(){function $(T){this.$L=R(T.locale,null,!0),this.parse(T),this.$x=this.$x||T.x||{},this[B]=!0}var E=$.prototype;return E.parse=function(T){this.$d=(function(b){var x=b.date,N=b.utc;if(x===null)return new Date(NaN);if(O.u(x))return new Date;if(x instanceof Date)return new Date(x);if(typeof x=="string"&&!/Z$/i.test(x)){var P=x.match(f);if(P){var L=P[2]-1||0,j=(P[7]||"0").substring(0,3);return N?new Date(Date.UTC(P[1],L,P[3]||1,P[4]||0,P[5]||0,P[6]||0,j)):new Date(P[1],L,P[3]||1,P[4]||0,P[5]||0,P[6]||0,j)}}return new Date(x)})(T),this.init()},E.init=function(){var T=this.$d;this.$y=T.getFullYear(),this.$M=T.getMonth(),this.$D=T.getDate(),this.$W=T.getDay(),this.$H=T.getHours(),this.$m=T.getMinutes(),this.$s=T.getSeconds(),this.$ms=T.getMilliseconds()},E.$utils=function(){return O},E.isValid=function(){return this.$d.toString()!==h},E.isSame=function(T,b){var x=V(T);return this.startOf(b)<=x&&x<=this.endOf(b)},E.isAfter=function(T,b){return V(T)<this.startOf(b)},E.isBefore=function(T,b){return this.endOf(b)<V(T)},E.$g=function(T,b,x){return O.u(T)?this[b]:this.set(x,T)},E.unix=function(){return Math.floor(this.valueOf()/1e3)},E.valueOf=function(){return this.$d.getTime()},E.startOf=function(T,b){var x=this,N=!!O.u(b)||b,P=O.p(T),L=function(G,H){var W=O.w(x.$u?Date.UTC(x.$y,H,G):new Date(x.$y,H,G),x);return N?W:W.endOf(c)},j=function(G,H){return O.w(x.toDate()[G].apply(x.toDate("s"),(N?[0,0,0,0]:[23,59,59,999]).slice(H)),x)},K=this.$W,ee=this.$M,J=this.$D,A="set"+(this.$u?"UTC":"");switch(P){case m:return N?L(1,0):L(31,11);case v:return N?L(1,ee):L(0,ee+1);case u:var z=this.$locale().weekStart||0,F=(K<z?K+7:K)-z;return L(N?J-F:J+(6-F),ee);case c:case p:return j(A+"Hours",0);case l:return j(A+"Minutes",1);case r:return j(A+"Seconds",2);case i:return j(A+"Milliseconds",3);default:return this.clone()}},E.endOf=function(T){return this.startOf(T,!1)},E.$set=function(T,b){var x,N=O.p(T),P="set"+(this.$u?"UTC":""),L=(x={},x[c]=P+"Date",x[p]=P+"Date",x[v]=P+"Month",x[m]=P+"FullYear",x[l]=P+"Hours",x[r]=P+"Minutes",x[i]=P+"Seconds",x[s]=P+"Milliseconds",x)[N],j=N===c?this.$D+(b-this.$W):b;if(N===v||N===m){var K=this.clone().set(p,1);K.$d[L](j),K.init(),this.$d=K.set(p,Math.min(this.$D,K.daysInMonth())).$d}else L&&this.$d[L](j);return this.init(),this},E.set=function(T,b){return this.clone().$set(T,b)},E.get=function(T){return this[O.p(T)]()},E.add=function(T,b){var x,N=this;T=Number(T);var P=O.p(b),L=function(ee){var J=V(N);return O.w(J.date(J.date()+Math.round(ee*T)),N)};if(P===v)return this.set(v,this.$M+T);if(P===m)return this.set(m,this.$y+T);if(P===c)return L(1);if(P===u)return L(7);var j=(x={},x[r]=o,x[l]=a,x[i]=n,x)[P]||1,K=this.$d.getTime()+T*j;return O.w(K,this)},E.subtract=function(T,b){return this.add(-1*T,b)},E.format=function(T){var b=this,x=this.$locale();if(!this.isValid())return x.invalidDate||h;var N=T||"YYYY-MM-DDTHH:mm:ssZ",P=O.z(this),L=this.$H,j=this.$m,K=this.$M,ee=x.weekdays,J=x.months,A=x.meridiem,z=function(H,W,q,X){return H&&(H[W]||H(b,N))||q[W].slice(0,X)},F=function(H){return O.s(L%12||12,H,"0")},G=A||function(H,W,q){var X=H<12?"AM":"PM";return q?X.toLowerCase():X};return N.replace(y,(function(H,W){return W||(function(q){switch(q){case"YY":return String(b.$y).slice(-2);case"YYYY":return O.s(b.$y,4,"0");case"M":return K+1;case"MM":return O.s(K+1,2,"0");case"MMM":return z(x.monthsShort,K,J,3);case"MMMM":return z(J,K);case"D":return b.$D;case"DD":return O.s(b.$D,2,"0");case"d":return String(b.$W);case"dd":return z(x.weekdaysMin,b.$W,ee,2);case"ddd":return z(x.weekdaysShort,b.$W,ee,3);case"dddd":return ee[b.$W];case"H":return String(L);case"HH":return O.s(L,2,"0");case"h":return F(1);case"hh":return F(2);case"a":return G(L,j,!0);case"A":return G(L,j,!1);case"m":return String(j);case"mm":return O.s(j,2,"0");case"s":return String(b.$s);case"ss":return O.s(b.$s,2,"0");case"SSS":return O.s(b.$ms,3,"0");case"Z":return P}return null})(H)||P.replace(":","")}))},E.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},E.diff=function(T,b,x){var N,P=this,L=O.p(b),j=V(T),K=(j.utcOffset()-this.utcOffset())*o,ee=this-j,J=function(){return O.m(P,j)};switch(L){case m:N=J()/12;break;case v:N=J();break;case _:N=J()/3;break;case u:N=(ee-K)/6048e5;break;case c:N=(ee-K)/864e5;break;case l:N=ee/a;break;case r:N=ee/o;break;case i:N=ee/n;break;default:N=ee}return x?N:O.a(N)},E.daysInMonth=function(){return this.endOf(v).$D},E.$locale=function(){return C[this.$L]},E.locale=function(T,b){if(!T)return this.$L;var x=this.clone(),N=R(T,b,!0);return N&&(x.$L=N),x},E.clone=function(){return O.w(this.$d,this)},E.toDate=function(){return new Date(this.valueOf())},E.toJSON=function(){return this.isValid()?this.toISOString():null},E.toISOString=function(){return this.$d.toISOString()},E.toString=function(){return this.$d.toUTCString()},$})(),I=Z.prototype;return V.prototype=I,[["$ms",s],["$s",i],["$m",r],["$H",l],["$W",c],["$M",v],["$y",m],["$D",p]].forEach((function($){I[$[1]]=function(E){return this.$g(E,$[0],$[1])}})),V.extend=function($,E){return $.$i||($(E,Z,V),$.$i=!0),V},V.locale=R,V.isDayjs=D,V.unix=function($){return V(1e3*$)},V.en=C[k],V.Ls=C,V.p={},V}))})(dayjs_min$1)),dayjs_min$1.exports}var dayjs_minExports=requireDayjs_min();const dayjs=getDefaultExportFromCjs(dayjs_minExports),_sfc_main$Y=vue.defineComponent({__name:"records-table",props:{data:{}},setup(e){const t=e;return(n,o)=>{const a=vue.resolveComponent("bk-table-column"),s=vue.resolveComponent("bk-table");return vue.openBlock(),vue.createBlock(s,{data:t.data,border:["outer"]},{default:vue.withCtx(()=>[vue.createVNode(a,{label:"操作时间",prop:"operate_date","min-width":200}),vue.createVNode(a,{label:"操作名称",prop:"operate_type_name"}),vue.createVNode(a,{label:"操作来源",prop:"operate_source_name"}),vue.createVNode(a,{label:"操作人",prop:"operator"})]),_:1},8,["data"])}}}),_hoisted_1$O={class:"operate-records-slider"},_sfc_main$X=vue.defineComponent({__name:"index",props:{show:{type:Boolean},flowId:{}},emits:["close","update:show"],setup(e,{emit:t}){const n=e,o=useFlowApiConfig(),a=t,s=vue.shallowRef([]),i=vue.shallowRef(!1);vue.watch(()=>n.show,c=>{c&&r()});const r=async()=>{if(!o?.fetchFlowOperateRecord){console.warn("fetchFlowOperateRecord is not provided in api");return}i.value=!0;try{const c=await o.fetchFlowOperateRecord(n.flowId);c.data.data.forEach(u=>u.operate_date=dayjs(u.operate_date).format("YYYY-MM-DD HH:mm:ss")),s.value=c.data.data}catch(c){console.error(c)}finally{i.value=!1}},l=()=>{a("close"),a("update:show",!1)};return(c,u)=>{const v=vue.resolveComponent("bk-sideslider"),_=vue.resolveDirective("bk-loading");return vue.openBlock(),vue.createBlock(v,{title:"操作记录","is-show":n.show,width:800,"esc-close":!1,"before-close":l},{default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_1$O,[vue.createVNode(_sfc_main$Y,{data:s.value},null,8,["data"])])),[[_,{loading:i.value}]])]),_:1},8,["is-show"])}}}),OperateRecords=_export_sfc(_sfc_main$X,[["__scopeId","data-v-66a242e2"]]),getNodeById=(e,t)=>{const{start_event:n,end_event:o,activities:a,gateways:s,flows:i,line:r}=t;return n.id===e?n:o.id===e?o:a[e]?a[e]:s[e]?s[e]:null},getVariableDefaultConfig=()=>({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"}),getActivityConfig=(e,t={})=>lodash.merge({id:e,component:{},error_ignorable:!1,incoming:[],name:"",optional:!0,outgoing:"",stage_name:"",type:"ServiceActivity",retryable:!0,skippable:!0,auto_retry:{enable:!1,interval:0,times:1},timeout_config:{enable:!1,seconds:10,action:"forced_fail"}},t),getGatewayConfig=(e,t,n={})=>{const o={id:e,type:t,name:"",incoming:[],outgoing:[]};return["ExclusiveGateway","ConditionalParallelGateway"].includes(t)&&(o.conditions={},o.extra_info={parse_lang:"boolrule"}),t!=="ConvergeGateway"&&(o.converge_gateway_id=""),lodash.merge(o,n)},transLocationsToNodes=(e,t)=>{const n=[];return e.forEach(o=>{const{id:a,x:s,y:i,type:r}=o,l=r==="tasknode",c=t[a]||{},{name:u,error_ignorable:v=!1,retryable:_=!1,skippable:m=!1,auto_retry:p,component:h={}}=c,f={id:a,shape:"custom-node",position:{x:s,y:i},size:{height:l?54:34,width:l?154:34},data:{name:u,error_ignorable:v,retryable:_,skippable:m,auto_retry:p,component:h,...o,type:r}};n.push(f)}),n},transLinesToEdges=e=>{const t=[];return e.forEach(n=>{const{id:o,source:a,target:s}=n;t.push({shape:"edge",id:o,source:{cell:a.id,port:`port_${a.arrow.toLowerCase()}`},target:{cell:s.id,port:`port_${s.arrow.toLowerCase()}`},attrs:{line:{stroke:"#a9adb6",strokeWidth:2,targetMarker:{name:"block",width:6,height:8},class:o}},zIndex:0,router:{name:"manhattan",args:{padding:1}},data:{}})}),t},NODE_DICT={startpoint:"开始节点",endpoint:"结束节点",parallelgateway:"并行网关",conditionalparallelgateway:"条件并行网关",branchgateway:"分支网关",exclusivegateway:"分支网关",convergegateway:"汇聚网关",tasknode:"标准插件节点"},NODE_RULE={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}},validateEmptyNode=e=>{const t=[];return Object.keys(e).forEach(n=>{const o=e[n].component;(!o||!o.code)&&t.push(n)}),{valid:t.length===0,ids:t}},validateNodeMinEdges=(e,t)=>{let n="";const o=[];return t.forEach(a=>{const s=NODE_RULE[a.type],i=NODE_DICT[a.type];let r=0,l=0;e.forEach(c=>{c.source.id===a.id&&(l+=1),c.target.id===a.id&&(r+=1)}),r<s.min_in&&(n=`${i}至少需要${s.min_in}条输入连线`,o.push(a.id)),l<s.min_out&&(n=`${i}至少需要${s.min_out}条输出连线`,o.push(a.id))}),{valid:o.length===0,message:n,ids:o}},validateGatewayNumMatch=e=>{const t=[];let n="";const o={},a=[];let s=[],i=[],r=new Set;const l=(u,v)=>{if(i.includes(u)){r.delete(v);return}i.push(u);const _=o[u]||[];if(_.length>1)r.delete(v),_.forEach(m=>{r.add(m),l(m,m)});else if(_.length===1)if(a.includes(u))s.includes(u)?r.delete(v):(s.push(u),r.size>1&&s.forEach(m=>{const p=o[m][0];l(p,v)}));else{const m=_[0];l(m,v)}},c=Object.keys(e).filter(u=>["ParallelGateway","ConditionalParallelGateway"].includes(e[u].type));for(const u of c){const v=e[u];if(i=[],s=[],r=new Set([u]),l(u,u),r.size>1){n=`${NODE_DICT[v.type]}缺少对应的汇聚网关`,t.push(u);break}}return{valid:t.length===0,message:n,ids:t}},validateEdge=(e,t,n)=>{const{source:o,target:a}=e,s=o.id,i=a.id,r=n.filter(h=>h.id===s)[0],l=n.filter(h=>h.id===i)[0],c=NODE_RULE[r.type],u=NODE_RULE[l.type];let v=0,_=0,m=!1;if(s===i){const f=`${NODE_DICT[r.type]}节点不可连接自身`;return getResult(!1,f)}if(c.max_out===0){const f=`${NODE_DICT[r.type]}只能添加输入连线`;return getResult(!1,f)}if(u.max_in===0){const f=`${NODE_DICT[l.type]}只能添加输出连线`;return getResult(!1,f)}if(!c.allowed_out.includes(l.type)){const f=`${NODE_DICT[r.type]}不能连接${NODE_DICT[l.type]}`;return getResult(!1,f)}const p=t.some(h=>{let f=!1;return h.source.id===s&&(v+=1,h.target.id===i&&(f=!0)),h.target.id===i&&(_+=1),h.source.id===i&&h.target.id===s&&r.type!=="branchgateway"&&(m=!0),f});if(m)return getResult(!1,"相同节点不能回连");if(p)return getResult(!1,"重复添加连线");if(!p){if(v>=c.max_out){const y=`已达到${NODE_DICT[r.type]}最大输出连线条数`;return getResult(!1,y)}if(_>=u.max_in){const y=`已达到${NODE_DICT[l.type]}最大输入连线条数`;return getResult(!1,y)}}return getResult(!0)},validatePipelineTree=e=>{const{activities:t,gateways:n,line:o,location:a}=e;if(Object.keys(t).length===0)return getResult(!1,"请添加任务节点");const s=validateEmptyNode(t);if(!s.valid)return getResult(!1,"请为任务节点选择插件",s.ids);const i=validateNodeMinEdges(o,a);if(!i.valid)return i;const r=validateGatewayNumMatch(n);return r.valid?getResult(!0):r},getResult=(e,t="",n=[])=>({valid:e,message:t,ids:n}),ports={groups:{top:{position:"top",attrs:{circle:{r:6,magnet:!0,stroke:"#5F95FF",strokeWidth:1,fill:"#fff",style:{visibility:"hidden"}}}},right:{position:"right",attrs:{circle:{r:6,magnet:!0,stroke:"#5F95FF",strokeWidth:1,fill:"#fff",style:{visibility:"hidden"}}}},bottom:{position:"bottom",attrs:{circle:{r:6,magnet:!0,stroke:"#5F95FF",strokeWidth:1,fill:"#fff",style:{visibility:"hidden"}}}},left:{position:"left",attrs:{circle:{r:6,magnet:!0,stroke:"#5F95FF",strokeWidth:1,fill:"#fff",style:{visibility:"hidden"}}}}},items:[{id:"port_top",group:"top"},{id:"port_right",group:"right"},{id:"port_bottom",group:"bottom"},{id:"port_left",group:"left"}]},registryEvents=(e,t)=>{e.on("node:mouseenter",({cell:n})=>{if(!t)return;n.getPorts().forEach(a=>{n.setPortProp(a.id,"attrs/circle/style/visibility","visible")})}),e.on("node:mouseleave",({cell:n})=>{n.getPorts().forEach(a=>{n.setPortProp(a.id,"attrs/circle/style/visibility","hidden")})}),e.on("edge:mouseenter",({cell:n})=>{n.attr("line/stroke","#3a84ff"),t&&n.addTools([{name:"source-arrowhead",args:{tagName:"circle",attrs:{r:"6",fill:"#ffffff",stroke:"#a4deb1",strokeWidth:1}}},{name:"target-arrowhead",args:{tagName:"circle",attrs:{r:"6",fill:"#ffffff",stroke:"#a4deb1",strokeWidth:1}}}])}),e.on("edge:mouseleave",({cell:n})=>{n.attr("line/stroke","#a9adb6"),n.removeTools()})},random4=()=>Math.floor((1+Math.random())*65536).toString(16).substring(1),uuid=(e=8)=>{let t="";for(let n=0;n<e-1;n++)t+=random4();return t},parentClsContains=(e,t)=>{if(t.classList.contains(e))return!0;let n=t.parentNode;for(;n;){if(n.classList&&n.classList.contains(e))return!0;n=n.parentNode}return!1};var util=newUtil(),inliner=newInliner(),fontFaces=newFontFaces(),images=newImages(),defaultOptions={imagePlaceholder:void 0,cacheBust:!1},domtoimage={toSvg,toPng,toJpeg,toBlob,toPixelData,impl:{fontFaces,images,util,inliner,options:{}}};function toSvg(e,t){return t=t||{},copyOptions(t),Promise.resolve(e).then(function(o){return cloneNode(o,t.filter,!0)}).then(embedFonts).then(inlineImages).then(n).then(function(o){return makeSvgDataUri(o,t.width||util.width(e),t.height||util.height(e))});function n(o){return t.bgcolor&&(o.style.backgroundColor=t.bgcolor),t.width&&(o.style.width=t.width+"px"),t.height&&(o.style.height=t.height+"px"),t.style&&Object.keys(t.style).forEach(function(a){o.style[a]=t.style[a]}),t.cloneBack&&t.cloneBack.call(this,o),o}}function toPixelData(e,t){return draw(e,t||{}).then(function(n){return n.getContext("2d").getImageData(0,0,util.width(e),util.height(e)).data})}function toPng(e,t){return draw(e,t||{}).then(function(n){return n.toDataURL()})}function toJpeg(e,t){return t=t||{},draw(e,t).then(function(n){return n.toDataURL("image/jpeg",t.quality||1)})}function toBlob(e,t){return draw(e,t||{}).then(util.canvasToBlob)}function copyOptions(e){typeof e.imagePlaceholder>"u"?domtoimage.impl.options.imagePlaceholder=defaultOptions.imagePlaceholder:domtoimage.impl.options.imagePlaceholder=e.imagePlaceholder,typeof e.cacheBust>"u"?domtoimage.impl.options.cacheBust=defaultOptions.cacheBust:domtoimage.impl.options.cacheBust=e.cacheBust}function draw(e,t){return toSvg(e,t).then(util.makeImage).then(util.delay(100)).then(function(o){var a=n(e);return a.getContext("2d").drawImage(o,0,0),a});function n(o){var a=document.createElement("canvas");if(a.width=t.width||util.width(o),a.height=t.height||util.height(o),t.bgcolor){var s=a.getContext("2d");s.fillStyle=t.bgcolor,s.fillRect(0,0,a.width,a.height)}return a}}function cloneNode(e,t,n){if(!n&&t&&!t(e))return Promise.resolve();return Promise.resolve(e).then(o).then(function(i){return a(e,i,t)}).then(function(i){return s(e,i)});function o(i){return i instanceof HTMLCanvasElement?util.makeImage(i.toDataURL()):i.cloneNode(!1)}function a(i,r,l){var c=i.childNodes;if(c.length===0)return Promise.resolve(r);return u(r,util.asArray(c),l).then(function(){return r});function u(v,_,m){var p=Promise.resolve();return _.forEach(function(h){p=p.then(function(){return cloneNode(h,m)}).then(function(f){f&&v.appendChild(f)})}),p}}function s(i,r){if(!(r instanceof Element))return r;return Promise.resolve().then(l).then(c).then(u).then(v).then(function(){return r});function l(){_(window.getComputedStyle(i),r.style);function _(m,p){m.cssText?p.cssText=m.cssText:h(m,p);function h(f,y){util.asArray(f).forEach(function(g){y.setProperty(g,f.getPropertyValue(g),f.getPropertyPriority(g))})}}}function c(){[":before",":after"].forEach(function(m){_(m)});function _(m){var p=window.getComputedStyle(i,m),h=p.getPropertyValue("content");if(h===""||h==="none")return;var f=util.uid();r.className=r.className+" "+f;var y=document.createElement("style");y.appendChild(g(f,m,p)),r.appendChild(y);function g(w,d,k){var C="."+w+":"+d,B=k.cssText?D(k):R(k);return document.createTextNode(C+"{"+B+"}");function D(V){var O=V.getPropertyValue("content");return V.cssText+" content: "+O+";"}function R(V){return util.asArray(V).map(O).join("; ")+";";function O(Z){return Z+": "+V.getPropertyValue(Z)+(V.getPropertyPriority(Z)?" !important":"")}}}}}function u(){i instanceof HTMLTextAreaElement&&(r.innerHTML=i.value),i instanceof HTMLInputElement&&r.setAttribute("value",i.value)}function v(){r instanceof SVGElement&&(r.setAttribute("xmlns","http://www.w3.org/2000/svg"),r instanceof SVGRectElement&&["width","height"].forEach(function(_){var m=r.getAttribute(_);m&&r.style.setProperty(_,m)}))}}}function embedFonts(e){return fontFaces.resolveAll().then(function(t){var n=document.createElement("style");return e.appendChild(n),n.appendChild(document.createTextNode(t)),e})}function inlineImages(e){return images.inlineAll(e).then(function(){return e})}function makeSvgDataUri(e,t,n){return Promise.resolve(e).then(function(o){return o.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),new XMLSerializer().serializeToString(o)}).then(util.escapeXhtml).then(function(o){return'<foreignObject x="0" y="0" width="100%" height="100%">'+o+"</foreignObject>"}).then(function(o){return'<svg xmlns="http://www.w3.org/2000/svg" width="'+t+'" height="'+n+'">'+o+"</svg>"}).then(function(o){return"data:image/svg+xml;charset=utf-8,"+o})}function newUtil(){return{escape:v,parseExtension:t,mimeType:n,dataAsUrl:u,isDataUrl:o,canvasToBlob:s,resolveUrl:i,getAndEncode:c,uid:r(),delay:_,asArray:m,escapeXhtml:p,makeImage:l,width:h,height:f};function e(){var g="application/font-woff",w="image/jpeg";return{woff:g,woff2:g,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:w,jpeg:w,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml"}}function t(g){var w=/\.([^\.\/]*?)$/g.exec(g);return w?w[1]:""}function n(g){var w=t(g).toLowerCase();return e()[w]||""}function o(g){return g.search(/^(data:)/)!==-1}function a(g){return new Promise(function(w){for(var d=window.atob(g.toDataURL().split(",")[1]),k=d.length,C=new Uint8Array(k),B=0;B<k;B++)C[B]=d.charCodeAt(B);w(new Blob([C],{type:"image/png"}))})}function s(g){return g.toBlob?new Promise(function(w){g.toBlob(w)}):a(g)}function i(g,w){var d=document.implementation.createHTMLDocument(),k=d.createElement("base");d.head.appendChild(k);var C=d.createElement("a");return d.body.appendChild(C),k.href=w,C.href=g,C.href}function r(){var g=0;return function(){return"u"+w()+g++;function w(){return("0000"+(Math.random()*Math.pow(36,4)<<0).toString(36)).slice(-4)}}}function l(g){return new Promise(function(w,d){var k=new Image;k.onload=function(){w(k)},k.onerror=d,k.src=g})}function c(g){var w=3e4;return domtoimage.impl.options.cacheBust&&(g+=(/\?/.test(g)?"&":"?")+new Date().getTime()),new Promise(function(d){var k=new XMLHttpRequest;k.onreadystatechange=D,k.ontimeout=R,k.responseType="blob",k.timeout=w,k.open("GET",g,!0),k.send();var C;if(domtoimage.impl.options.imagePlaceholder){var B=domtoimage.impl.options.imagePlaceholder.split(/,/);B&&B[1]&&(C=B[1])}function D(){if(k.readyState===4){if(k.status!==200){C?d(C):V("cannot fetch resource: "+g+", status: "+k.status);return}var O=new FileReader;O.onloadend=function(){var Z=O.result.split(/,/)[1];d(Z)},O.readAsDataURL(k.response)}}function R(){C?d(C):V("timeout of "+w+"ms occured while fetching resource: "+g)}function V(O){console.error(O),d("")}})}function u(g,w){return"data:"+w+";base64,"+g}function v(g){return g.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1")}function _(g){return function(w){return new Promise(function(d){setTimeout(function(){d(w)},g)})}}function m(g){for(var w=[],d=g.length,k=0;k<d;k++)w.push(g[k]);return w}function p(g){return g.replace(/#/g,"%23").replace(/\n/g,"%0A")}function h(g){var w=y(g,"border-left-width"),d=y(g,"border-right-width");return g.scrollWidth+w+d}function f(g){var w=y(g,"border-top-width"),d=y(g,"border-bottom-width");return g.scrollHeight+w+d}function y(g,w){var d=window.getComputedStyle(g).getPropertyValue(w);return parseFloat(d.replace("px",""))}}function newInliner(){var e=/url\(['"]?([^'"]+?)['"]?\)/g;return{inlineAll:a,shouldProcess:t,impl:{readUrls:n,inline:o}};function t(s){return s.search(e)!==-1}function n(s){for(var i=[],r;(r=e.exec(s))!==null;)i.push(r[1]);return i.filter(function(l){return!util.isDataUrl(l)})}function o(s,i,r,l){return Promise.resolve(i).then(function(u){return r?util.resolveUrl(u,r):u}).then(l||util.getAndEncode).then(function(u){return util.dataAsUrl(u,util.mimeType(i))}).then(function(u){return s.replace(c(i),"$1"+u+"$3")});function c(u){return new RegExp(`(url\\(['"]?)(`+util.escape(u)+`)(['"]?\\))`,"g")}}function a(s,i,r){if(l())return Promise.resolve(s);return Promise.resolve(s).then(n).then(function(c){var u=Promise.resolve(s);return c.forEach(function(v){u=u.then(function(_){return o(_,v,i,r)})}),u});function l(){return!t(s)}}}function newFontFaces(){return{resolveAll:e,impl:{readAll:t}};function e(){return t().then(function(n){return Promise.all(n.map(function(o){return o.resolve()}))}).then(function(n){return n.join(`
|
|
7
|
-
`)})}function t(){return Promise.resolve(util.asArray(document.styleSheets)).then(o).then(n).then(function(
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const vue=require("vue"),BkMessage=require("bkui-vue/lib/message"),icon=require("bkui-vue/lib/icon"),x6=require("@antv/x6"),x6PluginSelection=require("@antv/x6-plugin-selection"),x6PluginClipboard=require("@antv/x6-plugin-clipboard"),x6PluginSnapline=require("@antv/x6-plugin-snapline"),x6VueShape=require("@antv/x6-vue-shape"),lodash=require("lodash"),x6PluginMinimap=require("@antv/x6-plugin-minimap"),vueRouter=require("vue-router"),lib=require("bkui-vue/lib"),monaco=require("monaco-editor"),bkuiVue=require("bkui-vue");function _interopNamespaceDefault(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const monaco__namespace=_interopNamespaceDefault(monaco);function bind(e,t){return function(){return e.apply(t,arguments)}}const{toString}=Object.prototype,{getPrototypeOf}=Object,{iterator,toStringTag}=Symbol,kindOf=(e=>t=>{const n=toString.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),kindOfTest=e=>(e=e.toLowerCase(),t=>kindOf(t)===e),typeOfTest=e=>t=>typeof t===e,{isArray}=Array,isUndefined=typeOfTest("undefined");function isBuffer(e){return e!==null&&!isUndefined(e)&&e.constructor!==null&&!isUndefined(e.constructor)&&isFunction$1(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const isArrayBuffer=kindOfTest("ArrayBuffer");function isArrayBufferView(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&isArrayBuffer(e.buffer),t}const isString=typeOfTest("string"),isFunction$1=typeOfTest("function"),isNumber=typeOfTest("number"),isObject=e=>e!==null&&typeof e=="object",isBoolean=e=>e===!0||e===!1,isPlainObject=e=>{if(kindOf(e)!=="object")return!1;const t=getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(toStringTag in e)&&!(iterator in e)},isEmptyObject=e=>{if(!isObject(e)||isBuffer(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},isDate=kindOfTest("Date"),isFile=kindOfTest("File"),isBlob=kindOfTest("Blob"),isFileList=kindOfTest("FileList"),isStream=e=>isObject(e)&&isFunction$1(e.pipe),isFormData=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||isFunction$1(e.append)&&((t=kindOf(e))==="formdata"||t==="object"&&isFunction$1(e.toString)&&e.toString()==="[object FormData]"))},isURLSearchParams=kindOfTest("URLSearchParams"),[isReadableStream,isRequest,isResponse,isHeaders]=["ReadableStream","Request","Response","Headers"].map(kindOfTest),trim=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function forEach(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let o,a;if(typeof e!="object"&&(e=[e]),isArray(e))for(o=0,a=e.length;o<a;o++)t.call(null,e[o],o,e);else{if(isBuffer(e))return;const r=n?Object.getOwnPropertyNames(e):Object.keys(e),s=r.length;let i;for(o=0;o<s;o++)i=r[o],t.call(null,e[i],i,e)}}function findKey(e,t){if(isBuffer(e))return null;t=t.toLowerCase();const n=Object.keys(e);let o=n.length,a;for(;o-- >0;)if(a=n[o],t===a.toLowerCase())return a;return null}const _global=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,isContextDefined=e=>!isUndefined(e)&&e!==_global;function merge(){const{caseless:e,skipUndefined:t}=isContextDefined(this)&&this||{},n={},o=(a,r)=>{const s=e&&findKey(n,r)||r;isPlainObject(n[s])&&isPlainObject(a)?n[s]=merge(n[s],a):isPlainObject(a)?n[s]=merge({},a):isArray(a)?n[s]=a.slice():(!t||!isUndefined(a))&&(n[s]=a)};for(let a=0,r=arguments.length;a<r;a++)arguments[a]&&forEach(arguments[a],o);return n}const extend=(e,t,n,{allOwnKeys:o}={})=>(forEach(t,(a,r)=>{n&&isFunction$1(a)?e[r]=bind(a,n):e[r]=a},{allOwnKeys:o}),e),stripBOM=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),inherits=(e,t,n,o)=>{e.prototype=Object.create(t.prototype,o),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject=(e,t,n,o)=>{let a,r,s;const i={};if(t=t||{},e==null)return t;do{for(a=Object.getOwnPropertyNames(e),r=a.length;r-- >0;)s=a[r],(!o||o(s,e,t))&&!i[s]&&(t[s]=e[s],i[s]=!0);e=n!==!1&&getPrototypeOf(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},endsWith=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const o=e.indexOf(t,n);return o!==-1&&o===n},toArray=e=>{if(!e)return null;if(isArray(e))return e;let t=e.length;if(!isNumber(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},isTypedArray=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&getPrototypeOf(Uint8Array)),forEachEntry=(e,t)=>{const o=(e&&e[iterator]).call(e);let a;for(;(a=o.next())&&!a.done;){const r=a.value;t.call(e,r[0],r[1])}},matchAll=(e,t)=>{let n;const o=[];for(;(n=e.exec(t))!==null;)o.push(n);return o},isHTMLForm=kindOfTest("HTMLFormElement"),toCamelCase=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,o,a){return o.toUpperCase()+a}),hasOwnProperty$1=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),isRegExp=kindOfTest("RegExp"),reduceDescriptors=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),o={};forEach(n,(a,r)=>{let s;(s=t(a,r,e))!==!1&&(o[r]=s||a)}),Object.defineProperties(e,o)},freezeMethods=e=>{reduceDescriptors(e,(t,n)=>{if(isFunction$1(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const o=e[n];if(isFunction$1(o)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},toObjectSet=(e,t)=>{const n={},o=a=>{a.forEach(r=>{n[r]=!0})};return isArray(e)?o(e):o(String(e).split(t)),n},noop=()=>{},toFiniteNumber=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function isSpecCompliantForm(e){return!!(e&&isFunction$1(e.append)&&e[toStringTag]==="FormData"&&e[iterator])}const toJSONObject=e=>{const t=new Array(10),n=(o,a)=>{if(isObject(o)){if(t.indexOf(o)>=0)return;if(isBuffer(o))return o;if(!("toJSON"in o)){t[a]=o;const r=isArray(o)?[]:{};return forEach(o,(s,i)=>{const l=n(s,a+1);!isUndefined(l)&&(r[i]=l)}),t[a]=void 0,r}}return o};return n(e,0)},isAsyncFn=kindOfTest("AsyncFunction"),isThenable=e=>e&&(isObject(e)||isFunction$1(e))&&isFunction$1(e.then)&&isFunction$1(e.catch),_setImmediate=((e,t)=>e?setImmediate:t?((n,o)=>(_global.addEventListener("message",({source:a,data:r})=>{a===_global&&r===n&&o.length&&o.shift()()},!1),a=>{o.push(a),_global.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",isFunction$1(_global.postMessage)),asap=typeof queueMicrotask<"u"?queueMicrotask.bind(_global):typeof process<"u"&&process.nextTick||_setImmediate,isIterable=e=>e!=null&&isFunction$1(e[iterator]),utils$1={isArray,isArrayBuffer,isBuffer,isFormData,isArrayBufferView,isString,isNumber,isBoolean,isObject,isPlainObject,isEmptyObject,isReadableStream,isRequest,isResponse,isHeaders,isUndefined,isDate,isFile,isBlob,isRegExp,isFunction:isFunction$1,isStream,isURLSearchParams,isTypedArray,isFileList,forEach,merge,extend,trim,stripBOM,inherits,toFlatObject,kindOf,kindOfTest,endsWith,toArray,forEachEntry,matchAll,isHTMLForm,hasOwnProperty:hasOwnProperty$1,hasOwnProp:hasOwnProperty$1,reduceDescriptors,freezeMethods,toObjectSet,toCamelCase,noop,toFiniteNumber,findKey,global:_global,isContextDefined,isSpecCompliantForm,toJSONObject,isAsyncFn,isThenable,setImmediate:_setImmediate,asap,isIterable};function AxiosError$1(e,t,n,o,a){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),o&&(this.request=o),a&&(this.response=a,this.status=a.status?a.status:null)}utils$1.inherits(AxiosError$1,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:utils$1.toJSONObject(this.config),code:this.code,status:this.status}}});const prototype$1=AxiosError$1.prototype,descriptors={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{descriptors[e]={value:e}});Object.defineProperties(AxiosError$1,descriptors);Object.defineProperty(prototype$1,"isAxiosError",{value:!0});AxiosError$1.from=(e,t,n,o,a,r)=>{const s=Object.create(prototype$1);utils$1.toFlatObject(e,s,function(u){return u!==Error.prototype},c=>c!=="isAxiosError");const i=e&&e.message?e.message:"Error",l=t==null&&e?e.code:t;return AxiosError$1.call(s,i,l,n,o,a),e&&s.cause==null&&Object.defineProperty(s,"cause",{value:e,configurable:!0}),s.name=e&&e.name||"Error",r&&Object.assign(s,r),s};const httpAdapter=null;function isVisitable(e){return utils$1.isPlainObject(e)||utils$1.isArray(e)}function removeBrackets(e){return utils$1.endsWith(e,"[]")?e.slice(0,-2):e}function renderKey(e,t,n){return e?e.concat(t).map(function(a,r){return a=removeBrackets(a),!n&&r?"["+a+"]":a}).join(n?".":""):t}function isFlatArray(e){return utils$1.isArray(e)&&!e.some(isVisitable)}const predicates=utils$1.toFlatObject(utils$1,{},null,function(t){return/^is[A-Z]/.test(t)});function toFormData$1(e,t,n){if(!utils$1.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=utils$1.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(g,v){return!utils$1.isUndefined(v[g])});const o=n.metaTokens,a=n.visitor||u,r=n.dots,s=n.indexes,l=(n.Blob||typeof Blob<"u"&&Blob)&&utils$1.isSpecCompliantForm(t);if(!utils$1.isFunction(a))throw new TypeError("visitor must be a function");function c(p){if(p===null)return"";if(utils$1.isDate(p))return p.toISOString();if(utils$1.isBoolean(p))return p.toString();if(!l&&utils$1.isBlob(p))throw new AxiosError$1("Blob is not supported. Use a Buffer instead.");return utils$1.isArrayBuffer(p)||utils$1.isTypedArray(p)?l&&typeof Blob=="function"?new Blob([p]):Buffer.from(p):p}function u(p,g,v){let w=p;if(p&&!v&&typeof p=="object"){if(utils$1.endsWith(g,"{}"))g=o?g:g.slice(0,-2),p=JSON.stringify(p);else if(utils$1.isArray(p)&&isFlatArray(p)||(utils$1.isFileList(p)||utils$1.endsWith(g,"[]"))&&(w=utils$1.toArray(p)))return g=removeBrackets(g),w.forEach(function(_,d){!(utils$1.isUndefined(_)||_===null)&&t.append(s===!0?renderKey([g],d,r):s===null?g:g+"[]",c(_))}),!1}return isVisitable(p)?!0:(t.append(renderKey(v,g,r),c(p)),!1)}const m=[],y=Object.assign(predicates,{defaultVisitor:u,convertValue:c,isVisitable});function h(p,g){if(!utils$1.isUndefined(p)){if(m.indexOf(p)!==-1)throw Error("Circular reference detected in "+g.join("."));m.push(p),utils$1.forEach(p,function(w,f){(!(utils$1.isUndefined(w)||w===null)&&a.call(t,w,utils$1.isString(f)?f.trim():f,g,y))===!0&&h(w,g?g.concat(f):[f])}),m.pop()}}if(!utils$1.isObject(e))throw new TypeError("data must be an object");return h(e),t}function encode$1(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(o){return t[o]})}function AxiosURLSearchParams(e,t){this._pairs=[],e&&toFormData$1(e,this,t)}const prototype=AxiosURLSearchParams.prototype;prototype.append=function(t,n){this._pairs.push([t,n])};prototype.toString=function(t){const n=t?function(o){return t.call(this,o,encode$1)}:encode$1;return this._pairs.map(function(a){return n(a[0])+"="+n(a[1])},"").join("&")};function encode(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function buildURL(e,t,n){if(!t)return e;const o=n&&n.encode||encode;utils$1.isFunction(n)&&(n={serialize:n});const a=n&&n.serialize;let r;if(a?r=a(t,n):r=utils$1.isURLSearchParams(t)?t.toString():new AxiosURLSearchParams(t,n).toString(o),r){const s=e.indexOf("#");s!==-1&&(e=e.slice(0,s)),e+=(e.indexOf("?")===-1?"?":"&")+r}return e}class InterceptorManager{constructor(){this.handlers=[]}use(t,n,o){return this.handlers.push({fulfilled:t,rejected:n,synchronous:o?o.synchronous:!1,runWhen:o?o.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){utils$1.forEach(this.handlers,function(o){o!==null&&t(o)})}}const transitionalDefaults={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},URLSearchParams$1=typeof URLSearchParams<"u"?URLSearchParams:AxiosURLSearchParams,FormData$1=typeof FormData<"u"?FormData:null,Blob$1=typeof Blob<"u"?Blob:null,platform$1={isBrowser:!0,classes:{URLSearchParams:URLSearchParams$1,FormData:FormData$1,Blob:Blob$1},protocols:["http","https","file","blob","url","data"]},hasBrowserEnv=typeof window<"u"&&typeof document<"u",_navigator=typeof navigator=="object"&&navigator||void 0,hasStandardBrowserEnv=hasBrowserEnv&&(!_navigator||["ReactNative","NativeScript","NS"].indexOf(_navigator.product)<0),hasStandardBrowserWebWorkerEnv=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",origin=hasBrowserEnv&&window.location.href||"http://localhost",utils=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv,hasStandardBrowserEnv,hasStandardBrowserWebWorkerEnv,navigator:_navigator,origin},Symbol.toStringTag,{value:"Module"})),platform={...utils,...platform$1};function toURLEncodedForm(e,t){return toFormData$1(e,new platform.classes.URLSearchParams,{visitor:function(n,o,a,r){return platform.isNode&&utils$1.isBuffer(n)?(this.append(o,n.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)},...t})}function parsePropPath(e){return utils$1.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function arrayToObject(e){const t={},n=Object.keys(e);let o;const a=n.length;let r;for(o=0;o<a;o++)r=n[o],t[r]=e[r];return t}function formDataToJSON(e){function t(n,o,a,r){let s=n[r++];if(s==="__proto__")return!0;const i=Number.isFinite(+s),l=r>=n.length;return s=!s&&utils$1.isArray(a)?a.length:s,l?(utils$1.hasOwnProp(a,s)?a[s]=[a[s],o]:a[s]=o,!i):((!a[s]||!utils$1.isObject(a[s]))&&(a[s]=[]),t(n,o,a[s],r)&&utils$1.isArray(a[s])&&(a[s]=arrayToObject(a[s])),!i)}if(utils$1.isFormData(e)&&utils$1.isFunction(e.entries)){const n={};return utils$1.forEachEntry(e,(o,a)=>{t(parsePropPath(o),a,n,0)}),n}return null}function stringifySafely(e,t,n){if(utils$1.isString(e))try{return(t||JSON.parse)(e),utils$1.trim(e)}catch(o){if(o.name!=="SyntaxError")throw o}return(n||JSON.stringify)(e)}const defaults={transitional:transitionalDefaults,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const o=n.getContentType()||"",a=o.indexOf("application/json")>-1,r=utils$1.isObject(t);if(r&&utils$1.isHTMLForm(t)&&(t=new FormData(t)),utils$1.isFormData(t))return a?JSON.stringify(formDataToJSON(t)):t;if(utils$1.isArrayBuffer(t)||utils$1.isBuffer(t)||utils$1.isStream(t)||utils$1.isFile(t)||utils$1.isBlob(t)||utils$1.isReadableStream(t))return t;if(utils$1.isArrayBufferView(t))return t.buffer;if(utils$1.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let i;if(r){if(o.indexOf("application/x-www-form-urlencoded")>-1)return toURLEncodedForm(t,this.formSerializer).toString();if((i=utils$1.isFileList(t))||o.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return toFormData$1(i?{"files[]":t}:t,l&&new l,this.formSerializer)}}return r||a?(n.setContentType("application/json",!1),stringifySafely(t)):t}],transformResponse:[function(t){const n=this.transitional||defaults.transitional,o=n&&n.forcedJSONParsing,a=this.responseType==="json";if(utils$1.isResponse(t)||utils$1.isReadableStream(t))return t;if(t&&utils$1.isString(t)&&(o&&!this.responseType||a)){const s=!(n&&n.silentJSONParsing)&&a;try{return JSON.parse(t,this.parseReviver)}catch(i){if(s)throw i.name==="SyntaxError"?AxiosError$1.from(i,AxiosError$1.ERR_BAD_RESPONSE,this,null,this.response):i}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:platform.classes.FormData,Blob:platform.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};utils$1.forEach(["delete","get","head","post","put","patch"],e=>{defaults.headers[e]={}});const ignoreDuplicateOf=utils$1.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),parseHeaders=e=>{const t={};let n,o,a;return e&&e.split(`
|
|
2
|
+
`).forEach(function(s){a=s.indexOf(":"),n=s.substring(0,a).trim().toLowerCase(),o=s.substring(a+1).trim(),!(!n||t[n]&&ignoreDuplicateOf[n])&&(n==="set-cookie"?t[n]?t[n].push(o):t[n]=[o]:t[n]=t[n]?t[n]+", "+o:o)}),t},$internals=Symbol("internals");function normalizeHeader(e){return e&&String(e).trim().toLowerCase()}function normalizeValue(e){return e===!1||e==null?e:utils$1.isArray(e)?e.map(normalizeValue):String(e)}function parseTokens(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let o;for(;o=n.exec(e);)t[o[1]]=o[2];return t}const isValidHeaderName=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function matchHeaderValue(e,t,n,o,a){if(utils$1.isFunction(o))return o.call(this,t,n);if(a&&(t=n),!!utils$1.isString(t)){if(utils$1.isString(o))return t.indexOf(o)!==-1;if(utils$1.isRegExp(o))return o.test(t)}}function formatHeader(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,o)=>n.toUpperCase()+o)}function buildAccessors(e,t){const n=utils$1.toCamelCase(" "+t);["get","set","has"].forEach(o=>{Object.defineProperty(e,o+n,{value:function(a,r,s){return this[o].call(this,t,a,r,s)},configurable:!0})})}let AxiosHeaders$1=class{constructor(t){t&&this.set(t)}set(t,n,o){const a=this;function r(i,l,c){const u=normalizeHeader(l);if(!u)throw new Error("header name must be a non-empty string");const m=utils$1.findKey(a,u);(!m||a[m]===void 0||c===!0||c===void 0&&a[m]!==!1)&&(a[m||l]=normalizeValue(i))}const s=(i,l)=>utils$1.forEach(i,(c,u)=>r(c,u,l));if(utils$1.isPlainObject(t)||t instanceof this.constructor)s(t,n);else if(utils$1.isString(t)&&(t=t.trim())&&!isValidHeaderName(t))s(parseHeaders(t),n);else if(utils$1.isObject(t)&&utils$1.isIterable(t)){let i={},l,c;for(const u of t){if(!utils$1.isArray(u))throw TypeError("Object iterator must return a key-value pair");i[c=u[0]]=(l=i[c])?utils$1.isArray(l)?[...l,u[1]]:[l,u[1]]:u[1]}s(i,n)}else t!=null&&r(n,t,o);return this}get(t,n){if(t=normalizeHeader(t),t){const o=utils$1.findKey(this,t);if(o){const a=this[o];if(!n)return a;if(n===!0)return parseTokens(a);if(utils$1.isFunction(n))return n.call(this,a,o);if(utils$1.isRegExp(n))return n.exec(a);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=normalizeHeader(t),t){const o=utils$1.findKey(this,t);return!!(o&&this[o]!==void 0&&(!n||matchHeaderValue(this,this[o],o,n)))}return!1}delete(t,n){const o=this;let a=!1;function r(s){if(s=normalizeHeader(s),s){const i=utils$1.findKey(o,s);i&&(!n||matchHeaderValue(o,o[i],i,n))&&(delete o[i],a=!0)}}return utils$1.isArray(t)?t.forEach(r):r(t),a}clear(t){const n=Object.keys(this);let o=n.length,a=!1;for(;o--;){const r=n[o];(!t||matchHeaderValue(this,this[r],r,t,!0))&&(delete this[r],a=!0)}return a}normalize(t){const n=this,o={};return utils$1.forEach(this,(a,r)=>{const s=utils$1.findKey(o,r);if(s){n[s]=normalizeValue(a),delete n[r];return}const i=t?formatHeader(r):String(r).trim();i!==r&&delete n[r],n[i]=normalizeValue(a),o[i]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return utils$1.forEach(this,(o,a)=>{o!=null&&o!==!1&&(n[a]=t&&utils$1.isArray(o)?o.join(", "):o)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(`
|
|
3
|
+
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const o=new this(t);return n.forEach(a=>o.set(a)),o}static accessor(t){const o=(this[$internals]=this[$internals]={accessors:{}}).accessors,a=this.prototype;function r(s){const i=normalizeHeader(s);o[i]||(buildAccessors(a,s),o[i]=!0)}return utils$1.isArray(t)?t.forEach(r):r(t),this}};AxiosHeaders$1.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);utils$1.reduceDescriptors(AxiosHeaders$1.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(o){this[n]=o}}});utils$1.freezeMethods(AxiosHeaders$1);function transformData(e,t){const n=this||defaults,o=t||n,a=AxiosHeaders$1.from(o.headers);let r=o.data;return utils$1.forEach(e,function(i){r=i.call(n,r,a.normalize(),t?t.status:void 0)}),a.normalize(),r}function isCancel$1(e){return!!(e&&e.__CANCEL__)}function CanceledError$1(e,t,n){AxiosError$1.call(this,e??"canceled",AxiosError$1.ERR_CANCELED,t,n),this.name="CanceledError"}utils$1.inherits(CanceledError$1,AxiosError$1,{__CANCEL__:!0});function settle(e,t,n){const o=n.config.validateStatus;!n.status||!o||o(n.status)?e(n):t(new AxiosError$1("Request failed with status code "+n.status,[AxiosError$1.ERR_BAD_REQUEST,AxiosError$1.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function parseProtocol(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function speedometer(e,t){e=e||10;const n=new Array(e),o=new Array(e);let a=0,r=0,s;return t=t!==void 0?t:1e3,function(l){const c=Date.now(),u=o[r];s||(s=c),n[a]=l,o[a]=c;let m=r,y=0;for(;m!==a;)y+=n[m++],m=m%e;if(a=(a+1)%e,a===r&&(r=(r+1)%e),c-s<t)return;const h=u&&c-u;return h?Math.round(y*1e3/h):void 0}}function throttle(e,t){let n=0,o=1e3/t,a,r;const s=(c,u=Date.now())=>{n=u,a=null,r&&(clearTimeout(r),r=null),e(...c)};return[(...c)=>{const u=Date.now(),m=u-n;m>=o?s(c,u):(a=c,r||(r=setTimeout(()=>{r=null,s(a)},o-m)))},()=>a&&s(a)]}const progressEventReducer=(e,t,n=3)=>{let o=0;const a=speedometer(50,250);return throttle(r=>{const s=r.loaded,i=r.lengthComputable?r.total:void 0,l=s-o,c=a(l),u=s<=i;o=s;const m={loaded:s,total:i,progress:i?s/i:void 0,bytes:l,rate:c||void 0,estimated:c&&i&&u?(i-s)/c:void 0,event:r,lengthComputable:i!=null,[t?"download":"upload"]:!0};e(m)},n)},progressEventDecorator=(e,t)=>{const n=e!=null;return[o=>t[0]({lengthComputable:n,total:e,loaded:o}),t[1]]},asyncDecorator=e=>(...t)=>utils$1.asap(()=>e(...t)),isURLSameOrigin=platform.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,platform.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(platform.origin),platform.navigator&&/(msie|trident)/i.test(platform.navigator.userAgent)):()=>!0,cookies=platform.hasStandardBrowserEnv?{write(e,t,n,o,a,r,s){if(typeof document>"u")return;const i=[`${e}=${encodeURIComponent(t)}`];utils$1.isNumber(n)&&i.push(`expires=${new Date(n).toUTCString()}`),utils$1.isString(o)&&i.push(`path=${o}`),utils$1.isString(a)&&i.push(`domain=${a}`),r===!0&&i.push("secure"),utils$1.isString(s)&&i.push(`SameSite=${s}`),document.cookie=i.join("; ")},read(e){if(typeof document>"u")return null;const t=document.cookie.match(new RegExp("(?:^|; )"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function isAbsoluteURL(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function combineURLs(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function buildFullPath(e,t,n){let o=!isAbsoluteURL(t);return e&&(o||n==!1)?combineURLs(e,t):t}const headersToObject=e=>e instanceof AxiosHeaders$1?{...e}:e;function mergeConfig$1(e,t){t=t||{};const n={};function o(c,u,m,y){return utils$1.isPlainObject(c)&&utils$1.isPlainObject(u)?utils$1.merge.call({caseless:y},c,u):utils$1.isPlainObject(u)?utils$1.merge({},u):utils$1.isArray(u)?u.slice():u}function a(c,u,m,y){if(utils$1.isUndefined(u)){if(!utils$1.isUndefined(c))return o(void 0,c,m,y)}else return o(c,u,m,y)}function r(c,u){if(!utils$1.isUndefined(u))return o(void 0,u)}function s(c,u){if(utils$1.isUndefined(u)){if(!utils$1.isUndefined(c))return o(void 0,c)}else return o(void 0,u)}function i(c,u,m){if(m in t)return o(c,u);if(m in e)return o(void 0,c)}const l={url:r,method:r,data:r,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:i,headers:(c,u,m)=>a(headersToObject(c),headersToObject(u),m,!0)};return utils$1.forEach(Object.keys({...e,...t}),function(u){const m=l[u]||a,y=m(e[u],t[u],u);utils$1.isUndefined(y)&&m!==i||(n[u]=y)}),n}const resolveConfig=e=>{const t=mergeConfig$1({},e);let{data:n,withXSRFToken:o,xsrfHeaderName:a,xsrfCookieName:r,headers:s,auth:i}=t;if(t.headers=s=AxiosHeaders$1.from(s),t.url=buildURL(buildFullPath(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),i&&s.set("Authorization","Basic "+btoa((i.username||"")+":"+(i.password?unescape(encodeURIComponent(i.password)):""))),utils$1.isFormData(n)){if(platform.hasStandardBrowserEnv||platform.hasStandardBrowserWebWorkerEnv)s.setContentType(void 0);else if(utils$1.isFunction(n.getHeaders)){const l=n.getHeaders(),c=["content-type","content-length"];Object.entries(l).forEach(([u,m])=>{c.includes(u.toLowerCase())&&s.set(u,m)})}}if(platform.hasStandardBrowserEnv&&(o&&utils$1.isFunction(o)&&(o=o(t)),o||o!==!1&&isURLSameOrigin(t.url))){const l=a&&r&&cookies.read(r);l&&s.set(a,l)}return t},isXHRAdapterSupported=typeof XMLHttpRequest<"u",xhrAdapter=isXHRAdapterSupported&&function(e){return new Promise(function(n,o){const a=resolveConfig(e);let r=a.data;const s=AxiosHeaders$1.from(a.headers).normalize();let{responseType:i,onUploadProgress:l,onDownloadProgress:c}=a,u,m,y,h,p;function g(){h&&h(),p&&p(),a.cancelToken&&a.cancelToken.unsubscribe(u),a.signal&&a.signal.removeEventListener("abort",u)}let v=new XMLHttpRequest;v.open(a.method.toUpperCase(),a.url,!0),v.timeout=a.timeout;function w(){if(!v)return;const _=AxiosHeaders$1.from("getAllResponseHeaders"in v&&v.getAllResponseHeaders()),C={data:!i||i==="text"||i==="json"?v.responseText:v.response,status:v.status,statusText:v.statusText,headers:_,config:e,request:v};settle(function(A){n(A),g()},function(A){o(A),g()},C),v=null}"onloadend"in v?v.onloadend=w:v.onreadystatechange=function(){!v||v.readyState!==4||v.status===0&&!(v.responseURL&&v.responseURL.indexOf("file:")===0)||setTimeout(w)},v.onabort=function(){v&&(o(new AxiosError$1("Request aborted",AxiosError$1.ECONNABORTED,e,v)),v=null)},v.onerror=function(d){const C=d&&d.message?d.message:"Network Error",b=new AxiosError$1(C,AxiosError$1.ERR_NETWORK,e,v);b.event=d||null,o(b),v=null},v.ontimeout=function(){let d=a.timeout?"timeout of "+a.timeout+"ms exceeded":"timeout exceeded";const C=a.transitional||transitionalDefaults;a.timeoutErrorMessage&&(d=a.timeoutErrorMessage),o(new AxiosError$1(d,C.clarifyTimeoutError?AxiosError$1.ETIMEDOUT:AxiosError$1.ECONNABORTED,e,v)),v=null},r===void 0&&s.setContentType(null),"setRequestHeader"in v&&utils$1.forEach(s.toJSON(),function(d,C){v.setRequestHeader(C,d)}),utils$1.isUndefined(a.withCredentials)||(v.withCredentials=!!a.withCredentials),i&&i!=="json"&&(v.responseType=a.responseType),c&&([y,p]=progressEventReducer(c,!0),v.addEventListener("progress",y)),l&&v.upload&&([m,h]=progressEventReducer(l),v.upload.addEventListener("progress",m),v.upload.addEventListener("loadend",h)),(a.cancelToken||a.signal)&&(u=_=>{v&&(o(!_||_.type?new CanceledError$1(null,e,v):_),v.abort(),v=null)},a.cancelToken&&a.cancelToken.subscribe(u),a.signal&&(a.signal.aborted?u():a.signal.addEventListener("abort",u)));const f=parseProtocol(a.url);if(f&&platform.protocols.indexOf(f)===-1){o(new AxiosError$1("Unsupported protocol "+f+":",AxiosError$1.ERR_BAD_REQUEST,e));return}v.send(r||null)})},composeSignals=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let o=new AbortController,a;const r=function(c){if(!a){a=!0,i();const u=c instanceof Error?c:this.reason;o.abort(u instanceof AxiosError$1?u:new CanceledError$1(u instanceof Error?u.message:u))}};let s=t&&setTimeout(()=>{s=null,r(new AxiosError$1(`timeout ${t} of ms exceeded`,AxiosError$1.ETIMEDOUT))},t);const i=()=>{e&&(s&&clearTimeout(s),s=null,e.forEach(c=>{c.unsubscribe?c.unsubscribe(r):c.removeEventListener("abort",r)}),e=null)};e.forEach(c=>c.addEventListener("abort",r));const{signal:l}=o;return l.unsubscribe=()=>utils$1.asap(i),l}},streamChunk=function*(e,t){let n=e.byteLength;if(n<t){yield e;return}let o=0,a;for(;o<n;)a=o+t,yield e.slice(o,a),o=a},readBytes=async function*(e,t){for await(const n of readStream(e))yield*streamChunk(n,t)},readStream=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}const t=e.getReader();try{for(;;){const{done:n,value:o}=await t.read();if(n)break;yield o}}finally{await t.cancel()}},trackStream=(e,t,n,o)=>{const a=readBytes(e,t);let r=0,s,i=l=>{s||(s=!0,o&&o(l))};return new ReadableStream({async pull(l){try{const{done:c,value:u}=await a.next();if(c){i(),l.close();return}let m=u.byteLength;if(n){let y=r+=m;n(y)}l.enqueue(new Uint8Array(u))}catch(c){throw i(c),c}},cancel(l){return i(l),a.return()}},{highWaterMark:2})},DEFAULT_CHUNK_SIZE=64*1024,{isFunction}=utils$1,globalFetchAPI=(({Request:e,Response:t})=>({Request:e,Response:t}))(utils$1.global),{ReadableStream:ReadableStream$1,TextEncoder}=utils$1.global,test=(e,...t)=>{try{return!!e(...t)}catch{return!1}},factory=e=>{e=utils$1.merge.call({skipUndefined:!0},globalFetchAPI,e);const{fetch:t,Request:n,Response:o}=e,a=t?isFunction(t):typeof fetch=="function",r=isFunction(n),s=isFunction(o);if(!a)return!1;const i=a&&isFunction(ReadableStream$1),l=a&&(typeof TextEncoder=="function"?(p=>g=>p.encode(g))(new TextEncoder):async p=>new Uint8Array(await new n(p).arrayBuffer())),c=r&&i&&test(()=>{let p=!1;const g=new n(platform.origin,{body:new ReadableStream$1,method:"POST",get duplex(){return p=!0,"half"}}).headers.has("Content-Type");return p&&!g}),u=s&&i&&test(()=>utils$1.isReadableStream(new o("").body)),m={stream:u&&(p=>p.body)};a&&["text","arrayBuffer","blob","formData","stream"].forEach(p=>{!m[p]&&(m[p]=(g,v)=>{let w=g&&g[p];if(w)return w.call(g);throw new AxiosError$1(`Response type '${p}' is not supported`,AxiosError$1.ERR_NOT_SUPPORT,v)})});const y=async p=>{if(p==null)return 0;if(utils$1.isBlob(p))return p.size;if(utils$1.isSpecCompliantForm(p))return(await new n(platform.origin,{method:"POST",body:p}).arrayBuffer()).byteLength;if(utils$1.isArrayBufferView(p)||utils$1.isArrayBuffer(p))return p.byteLength;if(utils$1.isURLSearchParams(p)&&(p=p+""),utils$1.isString(p))return(await l(p)).byteLength},h=async(p,g)=>{const v=utils$1.toFiniteNumber(p.getContentLength());return v??y(g)};return async p=>{let{url:g,method:v,data:w,signal:f,cancelToken:_,timeout:d,onDownloadProgress:C,onUploadProgress:b,responseType:A,headers:V,withCredentials:O="same-origin",fetchOptions:D}=resolveConfig(p),L=t||fetch;A=A?(A+"").toLowerCase():"text";let Z=composeSignals([f,_&&_.toAbortSignal()],d),I=null;const T=Z&&Z.unsubscribe&&(()=>{Z.unsubscribe()});let B;try{if(b&&c&&v!=="get"&&v!=="head"&&(B=await h(V,w))!==0){let F=new n(g,{method:"POST",body:w,duplex:"half"}),j;if(utils$1.isFormData(w)&&(j=F.headers.get("content-type"))&&V.setContentType(j),F.body){const[Q,ee]=progressEventDecorator(B,progressEventReducer(asyncDecorator(b)));w=trackStream(F.body,DEFAULT_CHUNK_SIZE,Q,ee)}}utils$1.isString(O)||(O=O?"include":"omit");const $=r&&"credentials"in n.prototype,k={...D,signal:Z,method:v.toUpperCase(),headers:V.normalize().toJSON(),body:w,duplex:"half",credentials:$?O:void 0};I=r&&new n(g,k);let x=await(r?L(I,D):L(g,k));const N=u&&(A==="stream"||A==="response");if(u&&(C||N&&T)){const F={};["status","statusText","headers"].forEach(J=>{F[J]=x[J]});const j=utils$1.toFiniteNumber(x.headers.get("content-length")),[Q,ee]=C&&progressEventDecorator(j,progressEventReducer(asyncDecorator(C),!0))||[];x=new o(trackStream(x.body,DEFAULT_CHUNK_SIZE,Q,()=>{ee&&ee(),T&&T()}),F)}A=A||"text";let S=await m[utils$1.findKey(m,A)||"text"](x,p);return!N&&T&&T(),await new Promise((F,j)=>{settle(F,j,{data:S,headers:AxiosHeaders$1.from(x.headers),status:x.status,statusText:x.statusText,config:p,request:I})})}catch($){throw T&&T(),$&&$.name==="TypeError"&&/Load failed|fetch/i.test($.message)?Object.assign(new AxiosError$1("Network Error",AxiosError$1.ERR_NETWORK,p,I),{cause:$.cause||$}):AxiosError$1.from($,$&&$.code,p,I)}}},seedCache=new Map,getFetch=e=>{let t=e&&e.env||{};const{fetch:n,Request:o,Response:a}=t,r=[o,a,n];let s=r.length,i=s,l,c,u=seedCache;for(;i--;)l=r[i],c=u.get(l),c===void 0&&u.set(l,c=i?new Map:factory(t)),u=c;return c};getFetch();const knownAdapters={http:httpAdapter,xhr:xhrAdapter,fetch:{get:getFetch}};utils$1.forEach(knownAdapters,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const renderReason=e=>`- ${e}`,isResolvedHandle=e=>utils$1.isFunction(e)||e===null||e===!1;function getAdapter$1(e,t){e=utils$1.isArray(e)?e:[e];const{length:n}=e;let o,a;const r={};for(let s=0;s<n;s++){o=e[s];let i;if(a=o,!isResolvedHandle(o)&&(a=knownAdapters[(i=String(o)).toLowerCase()],a===void 0))throw new AxiosError$1(`Unknown adapter '${i}'`);if(a&&(utils$1.isFunction(a)||(a=a.get(t))))break;r[i||"#"+s]=a}if(!a){const s=Object.entries(r).map(([l,c])=>`adapter ${l} `+(c===!1?"is not supported by the environment":"is not available in the build"));let i=n?s.length>1?`since :
|
|
4
|
+
`+s.map(renderReason).join(`
|
|
5
|
+
`):" "+renderReason(s[0]):"as no adapter specified";throw new AxiosError$1("There is no suitable adapter to dispatch the request "+i,"ERR_NOT_SUPPORT")}return a}const adapters={getAdapter:getAdapter$1,adapters:knownAdapters};function throwIfCancellationRequested(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new CanceledError$1(null,e)}function dispatchRequest(e){return throwIfCancellationRequested(e),e.headers=AxiosHeaders$1.from(e.headers),e.data=transformData.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),adapters.getAdapter(e.adapter||defaults.adapter,e)(e).then(function(o){return throwIfCancellationRequested(e),o.data=transformData.call(e,e.transformResponse,o),o.headers=AxiosHeaders$1.from(o.headers),o},function(o){return isCancel$1(o)||(throwIfCancellationRequested(e),o&&o.response&&(o.response.data=transformData.call(e,e.transformResponse,o.response),o.response.headers=AxiosHeaders$1.from(o.response.headers))),Promise.reject(o)})}const VERSION$1="1.13.2",validators$1={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{validators$1[e]=function(o){return typeof o===e||"a"+(t<1?"n ":" ")+e}});const deprecatedWarnings={};validators$1.transitional=function(t,n,o){function a(r,s){return"[Axios v"+VERSION$1+"] Transitional option '"+r+"'"+s+(o?". "+o:"")}return(r,s,i)=>{if(t===!1)throw new AxiosError$1(a(s," has been removed"+(n?" in "+n:"")),AxiosError$1.ERR_DEPRECATED);return n&&!deprecatedWarnings[s]&&(deprecatedWarnings[s]=!0,console.warn(a(s," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(r,s,i):!0}};validators$1.spelling=function(t){return(n,o)=>(console.warn(`${o} is likely a misspelling of ${t}`),!0)};function assertOptions(e,t,n){if(typeof e!="object")throw new AxiosError$1("options must be an object",AxiosError$1.ERR_BAD_OPTION_VALUE);const o=Object.keys(e);let a=o.length;for(;a-- >0;){const r=o[a],s=t[r];if(s){const i=e[r],l=i===void 0||s(i,r,e);if(l!==!0)throw new AxiosError$1("option "+r+" must be "+l,AxiosError$1.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new AxiosError$1("Unknown option "+r,AxiosError$1.ERR_BAD_OPTION)}}const validator={assertOptions,validators:validators$1},validators=validator.validators;let Axios$1=class{constructor(t){this.defaults=t||{},this.interceptors={request:new InterceptorManager,response:new InterceptorManager}}async request(t,n){try{return await this._request(t,n)}catch(o){if(o instanceof Error){let a={};Error.captureStackTrace?Error.captureStackTrace(a):a=new Error;const r=a.stack?a.stack.replace(/^.+\n/,""):"";try{o.stack?r&&!String(o.stack).endsWith(r.replace(/^.+\n.+\n/,""))&&(o.stack+=`
|
|
6
|
+
`+r):o.stack=r}catch{}}throw o}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=mergeConfig$1(this.defaults,n);const{transitional:o,paramsSerializer:a,headers:r}=n;o!==void 0&&validator.assertOptions(o,{silentJSONParsing:validators.transitional(validators.boolean),forcedJSONParsing:validators.transitional(validators.boolean),clarifyTimeoutError:validators.transitional(validators.boolean)},!1),a!=null&&(utils$1.isFunction(a)?n.paramsSerializer={serialize:a}:validator.assertOptions(a,{encode:validators.function,serialize:validators.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),validator.assertOptions(n,{baseUrl:validators.spelling("baseURL"),withXsrfToken:validators.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let s=r&&utils$1.merge(r.common,r[n.method]);r&&utils$1.forEach(["delete","get","head","post","put","patch","common"],p=>{delete r[p]}),n.headers=AxiosHeaders$1.concat(s,r);const i=[];let l=!0;this.interceptors.request.forEach(function(g){typeof g.runWhen=="function"&&g.runWhen(n)===!1||(l=l&&g.synchronous,i.unshift(g.fulfilled,g.rejected))});const c=[];this.interceptors.response.forEach(function(g){c.push(g.fulfilled,g.rejected)});let u,m=0,y;if(!l){const p=[dispatchRequest.bind(this),void 0];for(p.unshift(...i),p.push(...c),y=p.length,u=Promise.resolve(n);m<y;)u=u.then(p[m++],p[m++]);return u}y=i.length;let h=n;for(;m<y;){const p=i[m++],g=i[m++];try{h=p(h)}catch(v){g.call(this,v);break}}try{u=dispatchRequest.call(this,h)}catch(p){return Promise.reject(p)}for(m=0,y=c.length;m<y;)u=u.then(c[m++],c[m++]);return u}getUri(t){t=mergeConfig$1(this.defaults,t);const n=buildFullPath(t.baseURL,t.url,t.allowAbsoluteUrls);return buildURL(n,t.params,t.paramsSerializer)}};utils$1.forEach(["delete","get","head","options"],function(t){Axios$1.prototype[t]=function(n,o){return this.request(mergeConfig$1(o||{},{method:t,url:n,data:(o||{}).data}))}});utils$1.forEach(["post","put","patch"],function(t){function n(o){return function(r,s,i){return this.request(mergeConfig$1(i||{},{method:t,headers:o?{"Content-Type":"multipart/form-data"}:{},url:r,data:s}))}}Axios$1.prototype[t]=n(),Axios$1.prototype[t+"Form"]=n(!0)});let CancelToken$1=class nt{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(r){n=r});const o=this;this.promise.then(a=>{if(!o._listeners)return;let r=o._listeners.length;for(;r-- >0;)o._listeners[r](a);o._listeners=null}),this.promise.then=a=>{let r;const s=new Promise(i=>{o.subscribe(i),r=i}).then(a);return s.cancel=function(){o.unsubscribe(r)},s},t(function(r,s,i){o.reason||(o.reason=new CanceledError$1(r,s,i),n(o.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=o=>{t.abort(o)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new nt(function(a){t=a}),cancel:t}}};function spread$1(e){return function(n){return e.apply(null,n)}}function isAxiosError$1(e){return utils$1.isObject(e)&&e.isAxiosError===!0}const HttpStatusCode$1={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(HttpStatusCode$1).forEach(([e,t])=>{HttpStatusCode$1[t]=e});function createInstance(e){const t=new Axios$1(e),n=bind(Axios$1.prototype.request,t);return utils$1.extend(n,Axios$1.prototype,t,{allOwnKeys:!0}),utils$1.extend(n,t,null,{allOwnKeys:!0}),n.create=function(a){return createInstance(mergeConfig$1(e,a))},n}const axios=createInstance(defaults);axios.Axios=Axios$1;axios.CanceledError=CanceledError$1;axios.CancelToken=CancelToken$1;axios.isCancel=isCancel$1;axios.VERSION=VERSION$1;axios.toFormData=toFormData$1;axios.AxiosError=AxiosError$1;axios.Cancel=axios.CanceledError;axios.all=function(t){return Promise.all(t)};axios.spread=spread$1;axios.isAxiosError=isAxiosError$1;axios.mergeConfig=mergeConfig$1;axios.AxiosHeaders=AxiosHeaders$1;axios.formToJSON=e=>formDataToJSON(utils$1.isHTMLForm(e)?new FormData(e):e);axios.getAdapter=adapters.getAdapter;axios.HttpStatusCode=HttpStatusCode$1;axios.default=axios;const{Axios,AxiosError,CanceledError,isCancel,CancelToken,VERSION,all,Cancel,isAxiosError,spread,toFormData,AxiosHeaders,HttpStatusCode,formToJSON,getAdapter,mergeConfig}=axios,makeId=(e=32)=>{let t="";const n="abcdef0123456789";for(let o=0;o<e;o++)t+=n.charAt(Math.floor(Math.random()*n.length));return t},generateTraceId=()=>`00-${makeId(32)}-${makeId(16)}-01`;function createApiClient(e){if(e.axiosInstance)return e.axiosInstance;const t=generateTraceId(),n={...e.axiosConfig?.headers||{},traceparent:e.axiosConfig?.headers?.traceparent??t},{headers:o,...a}=e.axiosConfig||{},r={baseURL:e.baseURL||window.API_HOST,xsrfCookieName:"bk-incident_csrftoken",xsrfHeaderName:"X-CSRFToken",withCredentials:!0,...a,headers:n},s=axios.create(r);return s.interceptors.response.use(i=>{const{data:l}=i;return Object.prototype.toString.call(l)==="[object Object]"&&l.result===!1?(l.message&&!l.message.includes("1211011")&&BkMessage({theme:"error",message:l.message,ellipsisLine:3}),Promise.reject(l.message)):i.data},i=>{const{response:l}=i;if(l){let c=l.statusText;if(l.status===401||l.status===404)return Promise.reject(i);l.data.err_msg?c=l.data.err_msg:l.data.message&&(c=l.data.message),BkMessage({theme:"error",message:c,ellipsisLine:3})}return Promise.reject(i)}),s}const dataImg="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,12%20L3,12%20C2.72385763,12%202.5,12.2238576%202.5,12.5%20C2.5,12.7761424%202.72385763,13%203,13%20L13,13%20C13.2761424,13%2013.5,12.7761424%2013.5,12.5%20C13.5,12.2238576%2013.2761424,12%2013,12%20Z%20M5,6.5%20L4,6.5%20C3.72385763,6.5%203.5,6.72385763%203.5,7%20L3.5,10.5%20C3.5,10.7761424%203.72385763,11%204,11%20L5,11%20C5.27614237,11%205.5,10.7761424%205.5,10.5%20L5.5,7%20C5.5,6.72385763%205.27614237,6.5%205,6.5%20Z%20M8.5,3.5%20L7.5,3.5%20C7.22385763,3.5%207,3.72385763%207,4%20L7,10.5%20C7,10.7761424%207.22385763,11%207.5,11%20L8.5,11%20C8.77614237,11%209,10.7761424%209,10.5%20L9,4%20C9,3.72385763%208.77614237,3.5%208.5,3.5%20Z%20M12,5%20L11,5%20C10.7238576,5%2010.5,5.22385763%2010.5,5.5%20L10.5,10.5%20C10.5,10.7761424%2010.7238576,11%2011,11%20L12,11%20C12.2761424,11%2012.5,10.7761424%2012.5,10.5%20L12.5,5.5%20C12.5,5.22385763%2012.2761424,5%2012,5%20Z'%20fill='%23F8A54F'%20fill-rule='evenodd'/%3e%3c/svg%3e",agentImg="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20class='design-iconfont'%3e%3cdefs%3e%3clinearGradient%20x1='0%25'%20y1='0%25'%20x2='100%25'%20y2='96.1961861%25'%20id='19loczb8h__f71x3hmpea'%3e%3cstop%20stop-color='%234D76E3'%20offset='0%25'/%3e%3cstop%20stop-color='%23D787EE'%20offset='100%25'/%3e%3c/linearGradient%3e%3c/defs%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%20M8.5,2.5%20C6.17779929,2.5%204.26643215,4.28054945%204.02558864,6.56651687%20L4.026,6.558%20L4.03,6.54%20L3.99928094,6.75189877%20C3.76394842,8.11436335%203.07389664,8.46527789%203.00547979,8.87325046%20L3,8.93829715%20C3,9.39912427%204.33397403,9.2134945%204.33397403,9.69904945%20L4.33397403,10.9924271%20C4.33401331,11.5290486%204.757596,11.9699791%205.29378397,11.9915459%20C5.90300757,12.0163699%206.26264111,12.0687043%206.37268552,12.1485262%20C6.45725813,12.2098718%206.51932943,12.4266274%206.55889942,12.7987929%20L6.57276328,12.9456332%20C6.61875295,13.4959998%207.10219523,13.904878%207.65256183,13.8588884%20C7.70929358,13.8541478%207.76551689,13.8445713%207.82061902,13.8302632%20L10.1746185,13.2277878%20C10.5547586,13.1298644%2010.8424468,12.818586%2010.9101698,12.431922%20C11.0509156,11.6378879%2011.2333254,10.9899099%2011.4579782,10.4880363%20C12.402959,9.65300356%2013,8.42466038%2013,7.05516145%20C13,4.53941525%2010.9852814,2.5%208.5,2.5%20Z%20M8.9876109,3.8125%20C9.12361371,3.8219246%209.2572817,3.84136285%209.38686376,3.87081473%20L9.51119251,4.49813988%20C9.7435063,4.58296131%209.9565579,4.70842634%2010.1410081,4.86687748%20L10.7410548,4.6624814%20C10.8461213,4.77852183%2010.9412649,4.90339782%2011.0247344,5.03652034%20L11.1333032,5.22560144%20C11.2050986,5.36461434%2011.2658038,5.51128472%2011.3125,5.66384549%20L10.8356146,6.08677455%20C10.8560442,6.20399306%2010.8665509,6.32474578%2010.8665509,6.4484437%20C10.8665509,6.57390873%2010.8554605,6.69642857%2010.8344472,6.81541419%20L11.3101652,7.23775422%20C11.1934246,7.61473834%2010.9949656,7.95579117%2010.7358014,8.2391183%20L10.135171,8.03413318%20C9.95188828,8.19022817%209.74117149,8.31392609%209.51177621,8.39815848%20L9.38744747,9.02607267%20C9.20182991,9.06789435%209.00920792,9.09027778%208.81133259,9.09027778%20C8.61579208,9.09027778%208.4249212,9.06848338%208.24163845,9.02725074%20L8.11730971,8.40051463%20C7.88616332,8.31628224%207.67369542,8.19199529%207.48924527,8.03531126%20L6.88803117,8.24029638%20C6.79055277,8.13368056%206.70182991,8.0188182%206.6224463,7.89747644%20L6.47068352,7.63240947%20C6.408811,7.50753348%206.35569402,7.37676711%206.31366741,7.24128844%20L6.78938536,6.81894841%20C6.76778835,6.69878472%206.75669799,6.57449777%206.75669799,6.44785466%20C6.75669799,6.32297867%206.76778835,6.20045883%206.78880166,6.08147321%20L6.3125,5.65913318%20C6.3504407,5.53661334%206.39713694,5.41821677%206.45142132,5.30394345%20L6.64696183,4.96230159%20C6.719341,4.8562748%206.79814091,4.75496032%206.88452895,4.66071429%20L7.48457565,4.8656994%20C7.67077691,4.70665923%207.88499591,4.58060516%208.11906082,4.49578373%20L8.24338956,3.86904762%20C8.37122052,3.84077381%208.50197,3.82133557%208.63622169,3.8125%20Z%20M8.8119163,5.50598338%20C8.29592283,5.50598338%207.87799148,5.92773437%207.87799148,6.4484437%20C7.87799148,6.96915303%208.29592283,7.39090402%208.8119163,7.39090402%20C9.32790976,7.39090402%209.74584112,6.96915303%209.74584112,6.4484437%20C9.74584112,5.92773437%209.32790976,5.50598338%208.8119163,5.50598338%20Z%20M8.8119163,5.88296751%20C9.12139176,5.88296751%209.37227119,6.13613982%209.37227119,6.4484437%20C9.37227119,6.76074758%209.12139176,7.01391989%208.8119163,7.01391989%20C8.50244084,7.01391989%208.25156141,6.76074758%208.25156141,6.4484437%20C8.25156141,6.13613982%208.50244084,5.88296751%208.8119163,5.88296751%20Z'%20fill='url(%2319loczb8h__f71x3hmpea)'%20fill-rule='evenodd'/%3e%3c/svg%3e",pluginImg="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%20M8.03846154,2.5%20C7.295,2.5%206.6923077,3.10269231%206.6923077,3.84615384%20L6.6923077,4.42307693%20L4.38461538,4.42307693%20C4.17230769,4.42307693%204,4.59538461%204,4.8076923%20L4,6.92307693%20L4.57692308,6.92307693%20C5.32038461,6.92307693%205.92307693,7.52576923%205.92307693,8.26923077%20C5.92307693,9.0126923%205.32038461,9.61538461%204.57692308,9.61538461%20L4,9.61538461%20L4,12.1153846%20C4,12.3276923%204.17230769,12.5%204.38461538,12.5%20L6.6923077,12.5%20L6.6923077,11.9230769%20C6.6923077,11.1796154%207.295,10.5769231%208.03846154,10.5769231%20C8.78192307,10.5769231%209.38461539,11.1796154%209.38461539,11.9230769%20L9.38461539,12.5%20L11.6923077,12.5%20C11.9046154,12.5%2012.0769231,12.3276923%2012.0769231,12.1153846%20L12.0769231,9.61538461%20L12.6538462,9.61538461%20C13.3973077,9.61538461%2014,9.0126923%2014,8.26923077%20C14,7.52576923%2013.3973077,6.92307693%2012.6538462,6.92307693%20L12.0769231,6.92307693%20L12.0769231,4.8076923%20C12.0769231,4.59538461%2011.9046154,4.42307693%2011.6923077,4.42307693%20L9.38461539,4.42307693%20L9.38461539,3.84615384%20C9.38461539,3.10269231%208.78192307,2.5%208.03846154,2.5%20Z'%20fill='%235AB88E'%20fill-rule='evenodd'/%3e%3c/svg%3e",modelImg="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20class='design-iconfont'%3e%3cdefs%3e%3clinearGradient%20x1='0%25'%20y1='0%25'%20x2='100%25'%20y2='96.1961861%25'%20id='vgdxp7v4l__zvhmfdo4ha'%3e%3cstop%20stop-color='%234D76E3'%20offset='0%25'/%3e%3cstop%20stop-color='%23D787EE'%20offset='100%25'/%3e%3c/linearGradient%3e%3c/defs%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%20M8.44875881,3.88645164%20C7.88887563,4.38553286%207.31548649,5.06473362%206.78138741,5.85400744%20C6.4216379,5.88402737%206.07416654,5.92655559%205.74142896,5.98159211%20C5.68126606,5.77270348%205.6321535,5.570069%205.59409127,5.37619034%20C5.50937211,4.9434031%205.48727146,4.57065572%205.52901714,4.29797476%20C5.55848467,4.10784858%205.61741973,3.97275892%205.6935442,3.92772904%20C5.81878123,3.85393006%206.26447771,3.90646492%207.05027868,4.63319723%20L7.64454064,3.96650477%20C7.22094482,3.57499494%206.82067746,3.29856148%206.45356107,3.14470937%20C6.13432943,3.01087055%205.66653229,2.90329916%205.25153116,3.14721103%20C4.84512474,3.38611959%204.42398453,3.99777552%204.72725459,5.55130656%20C4.76531682,5.74893772%204.81442938,5.95282302%204.87336445,6.16421332%20C4.66586389,6.21799902%204.46818584,6.27678802%204.2815581,6.34183119%20C2.80940913,6.85216989%202.5,7.528869%202.5,8.0066861%20C2.5,8.49826234%202.82905415,8.85850142%203.10654011,9.07364421%20C3.42454394,9.32130857%203.86532916,9.53770219%204.41661765,9.71532006%20L4.68428111,8.85725059%20C3.65660079,8.5257806%203.38525389,8.1555349%203.38525389,8.0066861%20C3.38525389,7.91787716%203.46997306,7.79654664%203.61731074,7.67646695%20C3.82849474,7.50385239%204.15754889,7.33749199%204.56641096,7.19489735%20C4.75058305,7.13110501%204.9470333,7.07356682%205.15330604,7.02228279%20C5.27240401,7.34374613%205.41114699,7.67271446%205.56585156,8.00543527%20C5.34975629,8.47074408%205.16558418,8.93230041%205.01824651,9.37384344%20C4.76040556,10.1518598%204.62534603,10.8610805%204.62780166,11.4227032%20C4.63025729,11.9092761%204.74076054,12.5522028%205.25521461,12.8549037%20C5.43570327,12.9612243%205.62478661,13%205.80895872,13%20C6.05083808,13%206.2804393,12.9312044%206.46338358,12.8549037%20C6.8329556,12.6998008%207.23567859,12.4196148%207.66050223,12.0243525%20L7.06501244,11.3589109%20C6.27184459,12.0956498%205.82369249,12.1494355%205.69722765,12.0743857%20C5.60882504,12.0218508%205.51428337,11.8229689%205.51182774,11.4176999%20C5.50937211,10.9536419%205.62847006,10.3457385%205.85561565,9.66028354%20C5.92437324,9.45264574%206.00172552,9.24125546%206.08890031,9.02611266%20C6.10363407,9.05112927%206.11714004,9.07614586%206.13187381,9.1024133%20C6.59967093,9.92671036%207.13254221,10.6947201%207.67400818,11.321386%20C8.20687945,11.9380452%208.74220636,12.4121098%209.22105382,12.691045%20C9.49240072,12.8499004%209.84601114,13%2010.2008494,13%20C10.3874771,13%2010.5753327,12.9587226%2010.7533657,12.8536529%20C11.2678198,12.550952%2011.378323,11.9067745%2011.3807786,11.4202015%20C11.3832343,10.8585788%2011.2481747,10.1493581%2010.9903338,9.37009095%20C10.8589577,8.97232696%2010.6956584,8.55705136%2010.5065751,8.13802326%20L9.70235691,8.5170248%20C9.87916211,8.9072838%2010.0301832,9.29128866%2010.1517368,9.66028354%20C10.3788824,10.3457385%2010.4979804,10.9536419%2010.4955247,11.4189507%20C10.4942969,11.8242197%2010.3985274,12.0243525%2010.3101248,12.0756365%20C10.2217222,12.1281714%2010.0043991,12.1119106%209.65938341,11.910527%20C9.2640273,11.6803742%208.80605269,11.2713527%208.33702774,10.7272417%20C7.833624,10.1443548%207.33513152,9.42762914%206.89680191,8.65336529%20C6.77402052,8.43697167%206.658606,8.22182889%206.55055837,8.00543527%20C6.65983383,7.78654%206.77647615,7.56889555%206.89925754,7.35250195%20C7.02081114,7.13735916%207.14604815,6.92847053%207.27496864,6.72583605%20C7.51316455,6.71332774%207.7550439,6.70707359%208.00060669,6.70707359%20C9.30454518,6.70707359%2010.5249923,6.88093898%2011.4348024,7.19614818%20C11.8448923,7.33749199%2012.1727187,7.50385239%2012.3839027,7.67771778%20C12.5312403,7.7990483%2012.6159595,7.91912799%2012.6159595,8.00793694%20C12.6159595,8.10425085%2012.5189622,8.23433719%2012.3495239,8.36567435%20C12.111328,8.54954639%2011.7442116,8.72341178%2011.2886926,8.86850806%20L11.5526726,9.72782838%20C12.1125558,9.55021049%2012.5607079,9.33256604%2012.883623,9.08365086%20C13.1647924,8.86725724%2013.5,8.50451651%2013.5,8.00793694%20C13.5012134,7.528869%2013.1918043,6.85216989%2011.7196553,6.34183119%20C10.7202147,5.99535125%209.39908685,5.80522507%208.00060669,5.80522507%20L7.91097628,5.80522507%20C8.2805483,5.31740132%208.66117063,4.89587157%209.03197046,4.56440157%20C9.35734117,4.27420898%209.66306686,4.06782201%209.91599654,3.9677556%20C10.0928018,3.89770911%2010.2376838,3.88394998%2010.3138083,3.92772904%20C10.3960718,3.97651141%2010.4586903,4.12786186%2010.4844744,4.34425547%20C10.5213088,4.64945802%2010.4844744,5.06348279%2010.3776546,5.54129991%20L11.23958,5.7401819%20C11.3697283,5.15354257%2011.411474,4.64695636%2011.3611336,4.23418242%20C11.3181601,3.87519417%2011.1781893,3.39612623%2010.7545935,3.14721103%20C10.3481871,2.90830248%209.61886555,2.84200848%208.44875881,3.88645164%20Z%20M8.42307307,6.91304349%20C7.83892612,6.91304349%207.36538145,7.39969049%207.36538145,8%20C7.36538145,8.60030951%207.83892612,9.08695653%208.42307307,9.08695653%20C9.00722001,9.08695653%209.48076468,8.60030951%209.48076468,8%20C9.48076468,7.39969049%209.00722001,6.91304349%208.42307307,6.91304349%20Z'%20fill='url(%23vgdxp7v4l__zvhmfdo4ha)'%20fill-rule='evenodd'/%3e%3c/svg%3e",outputImg="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20class='design-iconfont'%3e%3cdefs%3e%3clinearGradient%20x1='0%25'%20y1='0%25'%20x2='100%25'%20y2='96.1961861%25'%20id='7doce0e6d__r8m44v5xza'%3e%3cstop%20stop-color='%234D76E3'%20offset='0%25'/%3e%3cstop%20stop-color='%23D787EE'%20offset='100%25'/%3e%3c/linearGradient%3e%3c/defs%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%20M11,3.5%20L5,3.5%20C3.8954305,3.5%203,4.3954305%203,5.5%20L3,9.5%20C3,10.6045695%203.8954305,11.5%205,11.5%20L9.536,11.5%20L12.0312272,13.0147852%20L11.4996566,11.5%20L11.0252355,11.4998441%20C12.1181756,11.4863297%2013,10.5961454%2013,9.5%20L13,5.5%20C13,4.3954305%2012.1045695,3.5%2011,3.5%20Z%20M8,9%20C8.27614237,9%208.5,9.22385763%208.5,9.5%20C8.5,9.77614237%208.27614237,10%208,10%20L5,10%20C4.72385763,10%204.5,9.77614237%204.5,9.5%20C4.5,9.22385763%204.72385763,9%205,9%20Z%20M11,7%20C11.2761424,7%2011.5,7.22385763%2011.5,7.5%20C11.5,7.77614237%2011.2761424,8%2011,8%20L5,8%20C4.72385763,8%204.5,7.77614237%204.5,7.5%20C4.5,7.22385763%204.72385763,7%205,7%20Z%20M11,5%20C11.2761424,5%2011.5,5.22385763%2011.5,5.5%20C11.5,5.77614237%2011.2761424,6%2011,6%20L5,6%20C4.72385763,6%204.5,5.77614237%204.5,5.5%20C4.5,5.22385763%204.72385763,5%205,5%20Z'%20fill='url(%237doce0e6d__r8m44v5xza)'%20fill-rule='evenodd'/%3e%3c/svg%3e",PLUGIN_GROUP_ICON_MAP={bkflow:pluginImg,data:dataImg,agent:agentImg,model:modelImg,output:outputImg};function createFlowApiServices(e){const t=createApiClient(e),{scopeData:n}=e,o=i=>({...i,...n}),a=async()=>(await t.get("/bkflow/plugin/tags/",{params:{...n}})).data,r=async()=>[...(await t.get("/metas/category/list_categories/",{params:n})).data.map(l=>({...l,iconUrl:PLUGIN_GROUP_ICON_MAP[l.name]})),{id:"bkflow",name:"bkflow",alias:"插件",properties:{},iconUrl:PLUGIN_GROUP_ICON_MAP.bkflow}],s=async i=>(await t.post("/metas/plugin/list_plugins/",o({category:i}))).data.apis;return{async fetchFlowDetail(i){return(await t.get(`/bkflow/template/${i}/fetch_template/`,{params:n})).data},async fetchSpaceFlowConfig(i){return(await t.get(`/bkflow/template/${i}/get_space_related_configs/`,{params:n})).data},async fetchSystemVariables(i){const l=await t.get("/bkflow/variable/system_variables/",{params:{template_id:i,...n}});return Object.values(l.data)},async saveFlow(i,l){await t.put(`/bkflow/template/${i}/update_template/`,o(l))},async fetchBkFlowInnerPluginList(){return(await t.get("/bkflow/inner_plugin/plugins/",{params:{...n}})).data},async fetchBkFlowInnerPluginDetail(i,l){return(await t.get(`/bkflow/inner_plugin/${i}/plugin_detail/`,{params:{version:l,...n}})).data},async fetchBkFlowThirdPartyPluginTags(){return a()},async fetchBkFlowThirdPartyPluginList(i){return(await t.get("/bkflow/plugin/list_plugin/",{params:{tag:i,...n}})).data.plugins},async fetchBkFlowThirdPartyPluginMeta(i){return(await t.get("/bkflow/plugin/meta/",{params:{plugin_code:i,...n}})).data},async fetchBkFlowThirdPartyPluginAppDetail(i){const l=await t.get("/bkflow/plugin/get_plugin_app_detail/",{params:{plugin_code:i,...n}});return console.log("获取bkflow第三方插件对应SaaS应用的app详情: ",l.data),l.data},async fetchBkFlowThirdPartyPluginDetail(i,l){return(await t.get("/bkflow/plugin/plugin_detail/",{params:{plugin_code:i,plugin_version:l,with_app_detail:!0,...n}})).data},async fetchPluginGroupList(){return r()},async fetchCategoryPlugins(i){return s(i)},async fetchPluginDetail(i){return(await t.get("/metas/plugin/get_plugin/",{params:{plugin_id:i,...n}})).data},async fetchAllPluginGroups(){const[i,l]=await Promise.all([r(),a()]),c={code_name:"INNER",id:0,name:"内置",priority:1},u=i.map(async y=>{if(y.name==="bkflow")return{...y,children:[c,...l]};const h=await s(y.name);return{...y,children:h.map(p=>({...p,category_id:y.id}))}}),m=await Promise.all(u);return console.log(m),m},async fetchApplyInstructionData(i){return(await t.post("/metas/plugin/apply_instruction/",o(i))).data},async fetchVariableRef(i){return{data:(await t.post("/bkflow/template/analysis_constants_ref/",o(i))).data}},async fetchCustomVariableTypes(){return{data:(await t.get("/bkflow/variable/variable_class_list/",{params:n})).data}},async fetchFlowOperateRecord(i){return{data:(await t.get(`/bkflow/template/${i}/operation_record/`,{params:n})).data}},async createFlowTask(i){return{data:(await t.post("/bkflow/template/create_task/",o(i))).data}},async executeFlowTask(i){await t.post("/bkflow/template/operate_task/",o(i))}}}function useFlowApi(e){const t=createFlowApiServices(e);return{fetchFlowDetail:t.fetchFlowDetail,fetchSpaceFlowConfig:t.fetchSpaceFlowConfig,fetchSystemVariables:t.fetchSystemVariables,fetchUserApi:e.fetchUserApi,scopeData:e.scopeData,fetchVariableRef:t.fetchVariableRef,fetchCustomVariableTypes:t.fetchCustomVariableTypes,fetchFlowOperateRecord:t.fetchFlowOperateRecord,createFlowTask:t.createFlowTask,executeFlowTask:t.executeFlowTask,saveFlow:t.saveFlow,fetchBkFlowInnerPluginList:t.fetchBkFlowInnerPluginList,fetchBkFlowInnerPluginDetail:t.fetchBkFlowInnerPluginDetail,fetchBkFlowThirdPartyPluginList:t.fetchBkFlowThirdPartyPluginList,fetchBkFlowThirdPartyPluginTags:t.fetchBkFlowThirdPartyPluginTags,fetchBkFlowThirdPartyPluginMeta:t.fetchBkFlowThirdPartyPluginMeta,fetchBkFlowThirdPartyPluginDetail:t.fetchBkFlowThirdPartyPluginDetail,fetchBkFlowThirdPartyPluginAppDetail:t.fetchBkFlowThirdPartyPluginAppDetail,fetchPluginGroupList:t.fetchPluginGroupList,fetchCategoryPlugins:t.fetchCategoryPlugins,fetchPluginDetail:t.fetchPluginDetail,fetchApplyInstructionData:t.fetchApplyInstructionData,fetchAllPluginGroups:t.fetchAllPluginGroups}}const FLOW_API_CONFIG_KEY=Symbol("flow-api-config"),SCOPE_DATA_KEY=Symbol("scope-data");function provideFlowApiConfig(e){let t,n;if("fetchFlowDetail"in e)t=e,n=t.scopeData;else{const o=e;t=useFlowApi(o),n=o.scopeData}return vue.provide(FLOW_API_CONFIG_KEY,t),vue.provide(SCOPE_DATA_KEY,n),t}function useFlowApiConfig(){const e=vue.inject(FLOW_API_CONFIG_KEY,null);if(!e){const t="useFlowApiConfig: apiConfig is not provided. Please ensure FlowEdit, FlowView, or FlowExecute component is used as parent component.";throw new Error(t)}return e}function useScopeData(){const e=vue.inject(SCOPE_DATA_KEY,null);if(!e){const t="useScopeData: scopeData is not provided. Please ensure FlowEdit, FlowView, or FlowExecute component is used as parent component.";throw new Error(t)}return e}function useFlowEditApiConfig(){return useFlowApiConfig()}function useFlowViewApiConfig(){return useFlowApiConfig()}const _hoisted_1$U={class:"bkflow-canvans-editor-container-layout"},_hoisted_2$z={class:"container-layout-header"},_hoisted_3$m={class:"title-area"},_hoisted_4$l={class:"title"},_hoisted_5$g={class:"desc"},_hoisted_6$a={class:"container-layout-main"},_hoisted_7$6={class:"container-main-wrapper"},_sfc_main$13=vue.defineComponent({__name:"index",props:{title:{default:""},desc:{default:""},showBackIcon:{type:Boolean,default:!1},showEditIcon:{type:Boolean,default:!1}},emits:["back","edit"],setup(e,{emit:t}){vue.useSlots();const n=e,o=t,a=()=>{o("back")},r=()=>{o("edit")};return(s,i)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$U,[vue.createElementVNode("section",_hoisted_2$z,[vue.renderSlot(s.$slots,"header",{},()=>[vue.createElementVNode("div",_hoisted_3$m,[n.showBackIcon?(vue.openBlock(),vue.createBlock(vue.unref(icon.ArrowsLeft),{key:0,class:"back-btn",onClick:a})):vue.createCommentVNode("",!0),vue.createElementVNode("h3",_hoisted_4$l,vue.toDisplayString(n.title),1),vue.createElementVNode("p",_hoisted_5$g,vue.toDisplayString(n.desc),1),n.showEditIcon?(vue.openBlock(),vue.createBlock(vue.unref(icon.EditLine),{key:1,class:"edit-btn",onClick:r})):vue.createCommentVNode("",!0)])],!0),vue.renderSlot(s.$slots,"extend",{},void 0,!0)]),vue.createElementVNode("section",_hoisted_6$a,[vue.createElementVNode("div",_hoisted_7$6,[vue.renderSlot(s.$slots,"default",{},void 0,!0)])])]))}}),_export_sfc=(e,t)=>{const n=e.__vccOpts||e;for(const[o,a]of t)n[o]=a;return n},ContainerLayout=_export_sfc(_sfc_main$13,[["__scopeId","data-v-6d58adcc"]]);function getDefaultExportFromCjs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var dayjs_min$1={exports:{}},dayjs_min=dayjs_min$1.exports,hasRequiredDayjs_min;function requireDayjs_min(){return hasRequiredDayjs_min||(hasRequiredDayjs_min=1,(function(e,t){(function(n,o){e.exports=o()})(dayjs_min,(function(){var n=1e3,o=6e4,a=36e5,r="millisecond",s="second",i="minute",l="hour",c="day",u="week",m="month",y="quarter",h="year",p="date",g="Invalid Date",v=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,w=/\[([^\]]+)]|Y{1,4}|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,f={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(T){var B=["th","st","nd","rd"],$=T%100;return"["+T+(B[($-20)%10]||B[$]||B[0])+"]"}},_=function(T,B,$){var k=String(T);return!k||k.length>=B?T:""+Array(B+1-k.length).join($)+T},d={s:_,z:function(T){var B=-T.utcOffset(),$=Math.abs(B),k=Math.floor($/60),x=$%60;return(B<=0?"+":"-")+_(k,2,"0")+":"+_(x,2,"0")},m:function T(B,$){if(B.date()<$.date())return-T($,B);var k=12*($.year()-B.year())+($.month()-B.month()),x=B.clone().add(k,m),N=$-x<0,S=B.clone().add(k+(N?-1:1),m);return+(-(k+($-x)/(N?x-S:S-x))||0)},a:function(T){return T<0?Math.ceil(T)||0:Math.floor(T)},p:function(T){return{M:m,y:h,w:u,d:c,D:p,h:l,m:i,s,ms:r,Q:y}[T]||String(T||"").toLowerCase().replace(/s$/,"")},u:function(T){return T===void 0}},C="en",b={};b[C]=f;var A="$isDayjsObject",V=function(T){return T instanceof Z||!(!T||!T[A])},O=function T(B,$,k){var x;if(!B)return C;if(typeof B=="string"){var N=B.toLowerCase();b[N]&&(x=N),$&&(b[N]=$,x=N);var S=B.split("-");if(!x&&S.length>1)return T(S[0])}else{var F=B.name;b[F]=B,x=F}return!k&&x&&(C=x),x||!k&&C},D=function(T,B){if(V(T))return T.clone();var $=typeof B=="object"?B:{};return $.date=T,$.args=arguments,new Z($)},L=d;L.l=O,L.i=V,L.w=function(T,B){return D(T,{locale:B.$L,utc:B.$u,x:B.$x,$offset:B.$offset})};var Z=(function(){function T($){this.$L=O($.locale,null,!0),this.parse($),this.$x=this.$x||$.x||{},this[A]=!0}var B=T.prototype;return B.parse=function($){this.$d=(function(k){var x=k.date,N=k.utc;if(x===null)return new Date(NaN);if(L.u(x))return new Date;if(x instanceof Date)return new Date(x);if(typeof x=="string"&&!/Z$/i.test(x)){var S=x.match(v);if(S){var F=S[2]-1||0,j=(S[7]||"0").substring(0,3);return N?new Date(Date.UTC(S[1],F,S[3]||1,S[4]||0,S[5]||0,S[6]||0,j)):new Date(S[1],F,S[3]||1,S[4]||0,S[5]||0,S[6]||0,j)}}return new Date(x)})($),this.init()},B.init=function(){var $=this.$d;this.$y=$.getFullYear(),this.$M=$.getMonth(),this.$D=$.getDate(),this.$W=$.getDay(),this.$H=$.getHours(),this.$m=$.getMinutes(),this.$s=$.getSeconds(),this.$ms=$.getMilliseconds()},B.$utils=function(){return L},B.isValid=function(){return this.$d.toString()!==g},B.isSame=function($,k){var x=D($);return this.startOf(k)<=x&&x<=this.endOf(k)},B.isAfter=function($,k){return D($)<this.startOf(k)},B.isBefore=function($,k){return this.endOf(k)<D($)},B.$g=function($,k,x){return L.u($)?this[k]:this.set(x,$)},B.unix=function(){return Math.floor(this.valueOf()/1e3)},B.valueOf=function(){return this.$d.getTime()},B.startOf=function($,k){var x=this,N=!!L.u(k)||k,S=L.p($),F=function(G,H){var W=L.w(x.$u?Date.UTC(x.$y,H,G):new Date(x.$y,H,G),x);return N?W:W.endOf(c)},j=function(G,H){return L.w(x.toDate()[G].apply(x.toDate("s"),(N?[0,0,0,0]:[23,59,59,999]).slice(H)),x)},Q=this.$W,ee=this.$M,J=this.$D,E="set"+(this.$u?"UTC":"");switch(S){case h:return N?F(1,0):F(31,11);case m:return N?F(1,ee):F(0,ee+1);case u:var z=this.$locale().weekStart||0,R=(Q<z?Q+7:Q)-z;return F(N?J-R:J+(6-R),ee);case c:case p:return j(E+"Hours",0);case l:return j(E+"Minutes",1);case i:return j(E+"Seconds",2);case s:return j(E+"Milliseconds",3);default:return this.clone()}},B.endOf=function($){return this.startOf($,!1)},B.$set=function($,k){var x,N=L.p($),S="set"+(this.$u?"UTC":""),F=(x={},x[c]=S+"Date",x[p]=S+"Date",x[m]=S+"Month",x[h]=S+"FullYear",x[l]=S+"Hours",x[i]=S+"Minutes",x[s]=S+"Seconds",x[r]=S+"Milliseconds",x)[N],j=N===c?this.$D+(k-this.$W):k;if(N===m||N===h){var Q=this.clone().set(p,1);Q.$d[F](j),Q.init(),this.$d=Q.set(p,Math.min(this.$D,Q.daysInMonth())).$d}else F&&this.$d[F](j);return this.init(),this},B.set=function($,k){return this.clone().$set($,k)},B.get=function($){return this[L.p($)]()},B.add=function($,k){var x,N=this;$=Number($);var S=L.p(k),F=function(ee){var J=D(N);return L.w(J.date(J.date()+Math.round(ee*$)),N)};if(S===m)return this.set(m,this.$M+$);if(S===h)return this.set(h,this.$y+$);if(S===c)return F(1);if(S===u)return F(7);var j=(x={},x[i]=o,x[l]=a,x[s]=n,x)[S]||1,Q=this.$d.getTime()+$*j;return L.w(Q,this)},B.subtract=function($,k){return this.add(-1*$,k)},B.format=function($){var k=this,x=this.$locale();if(!this.isValid())return x.invalidDate||g;var N=$||"YYYY-MM-DDTHH:mm:ssZ",S=L.z(this),F=this.$H,j=this.$m,Q=this.$M,ee=x.weekdays,J=x.months,E=x.meridiem,z=function(H,W,q,X){return H&&(H[W]||H(k,N))||q[W].slice(0,X)},R=function(H){return L.s(F%12||12,H,"0")},G=E||function(H,W,q){var X=H<12?"AM":"PM";return q?X.toLowerCase():X};return N.replace(w,(function(H,W){return W||(function(q){switch(q){case"YY":return String(k.$y).slice(-2);case"YYYY":return L.s(k.$y,4,"0");case"M":return Q+1;case"MM":return L.s(Q+1,2,"0");case"MMM":return z(x.monthsShort,Q,J,3);case"MMMM":return z(J,Q);case"D":return k.$D;case"DD":return L.s(k.$D,2,"0");case"d":return String(k.$W);case"dd":return z(x.weekdaysMin,k.$W,ee,2);case"ddd":return z(x.weekdaysShort,k.$W,ee,3);case"dddd":return ee[k.$W];case"H":return String(F);case"HH":return L.s(F,2,"0");case"h":return R(1);case"hh":return R(2);case"a":return G(F,j,!0);case"A":return G(F,j,!1);case"m":return String(j);case"mm":return L.s(j,2,"0");case"s":return String(k.$s);case"ss":return L.s(k.$s,2,"0");case"SSS":return L.s(k.$ms,3,"0");case"Z":return S}return null})(H)||S.replace(":","")}))},B.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},B.diff=function($,k,x){var N,S=this,F=L.p(k),j=D($),Q=(j.utcOffset()-this.utcOffset())*o,ee=this-j,J=function(){return L.m(S,j)};switch(F){case h:N=J()/12;break;case m:N=J();break;case y:N=J()/3;break;case u:N=(ee-Q)/6048e5;break;case c:N=(ee-Q)/864e5;break;case l:N=ee/a;break;case i:N=ee/o;break;case s:N=ee/n;break;default:N=ee}return x?N:L.a(N)},B.daysInMonth=function(){return this.endOf(m).$D},B.$locale=function(){return b[this.$L]},B.locale=function($,k){if(!$)return this.$L;var x=this.clone(),N=O($,k,!0);return N&&(x.$L=N),x},B.clone=function(){return L.w(this.$d,this)},B.toDate=function(){return new Date(this.valueOf())},B.toJSON=function(){return this.isValid()?this.toISOString():null},B.toISOString=function(){return this.$d.toISOString()},B.toString=function(){return this.$d.toUTCString()},T})(),I=Z.prototype;return D.prototype=I,[["$ms",r],["$s",s],["$m",i],["$H",l],["$W",c],["$M",m],["$y",h],["$D",p]].forEach((function(T){I[T[1]]=function(B){return this.$g(B,T[0],T[1])}})),D.extend=function(T,B){return T.$i||(T(B,Z,D),T.$i=!0),D},D.locale=O,D.isDayjs=V,D.unix=function(T){return D(1e3*T)},D.en=b[C],D.Ls=b,D.p={},D}))})(dayjs_min$1)),dayjs_min$1.exports}var dayjs_minExports=requireDayjs_min();const dayjs=getDefaultExportFromCjs(dayjs_minExports),_sfc_main$12=vue.defineComponent({__name:"records-table",props:{data:{}},setup(e){const t=e;return(n,o)=>{const a=vue.resolveComponent("bk-table-column"),r=vue.resolveComponent("bk-table");return vue.openBlock(),vue.createBlock(r,{data:t.data,border:["outer"]},{default:vue.withCtx(()=>[vue.createVNode(a,{label:"操作时间",prop:"operate_date","min-width":200}),vue.createVNode(a,{label:"操作名称",prop:"operate_type_name"}),vue.createVNode(a,{label:"操作来源",prop:"operate_source_name"}),vue.createVNode(a,{label:"操作人",prop:"operator"})]),_:1},8,["data"])}}}),_hoisted_1$T={class:"operate-records-slider"},_sfc_main$11=vue.defineComponent({__name:"index",props:{show:{type:Boolean},flowId:{}},emits:["close","update:show"],setup(e,{emit:t}){const n=e,o=useFlowApiConfig(),a=t,r=vue.shallowRef([]),s=vue.shallowRef(!1);vue.watch(()=>n.show,c=>{c&&i()});const i=async()=>{if(!o?.fetchFlowOperateRecord){console.warn("fetchFlowOperateRecord is not provided in api");return}s.value=!0;try{const c=await o.fetchFlowOperateRecord(n.flowId);c.data.data.forEach(u=>u.operate_date=dayjs(u.operate_date).format("YYYY-MM-DD HH:mm:ss")),r.value=c.data.data}catch(c){console.error(c)}finally{s.value=!1}},l=()=>{a("close"),a("update:show",!1)};return(c,u)=>{const m=vue.resolveComponent("bk-sideslider"),y=vue.resolveDirective("bk-loading");return vue.openBlock(),vue.createBlock(m,{title:"操作记录","is-show":n.show,width:800,"esc-close":!1,"before-close":l},{default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_1$T,[vue.createVNode(_sfc_main$12,{data:r.value},null,8,["data"])])),[[y,{loading:s.value}]])]),_:1},8,["is-show"])}}}),OperateRecords=_export_sfc(_sfc_main$11,[["__scopeId","data-v-66a242e2"]]),getNodeById=(e,t)=>{const{start_event:n,end_event:o,activities:a,gateways:r,flows:s,line:i}=t;return n.id===e?n:o.id===e?o:a[e]?a[e]:r[e]?r[e]:null},getVariableDefaultConfig=()=>({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"}),getActivityConfig=(e,t={})=>lodash.merge({id:e,component:{},error_ignorable:!1,incoming:[],name:"",optional:!0,outgoing:"",stage_name:"",type:"ServiceActivity",retryable:!0,skippable:!0,auto_retry:{enable:!1,interval:0,times:1},timeout_config:{enable:!1,seconds:10,action:"forced_fail"}},t),getGatewayConfig=(e,t,n={})=>{const o={id:e,type:t,name:"",incoming:[],outgoing:[]};return["ExclusiveGateway","ConditionalParallelGateway"].includes(t)&&(o.conditions={},o.extra_info={parse_lang:"boolrule"}),t!=="ConvergeGateway"&&(o.converge_gateway_id=""),lodash.merge(o,n)},transLocationsToNodes=(e,t)=>{const n=[];return e.forEach(o=>{const{id:a,x:r,y:s,type:i}=o,l=i==="tasknode",c=t[a]||{},{name:u,error_ignorable:m=!1,retryable:y=!1,skippable:h=!1,auto_retry:p,component:g={}}=c,v={id:a,shape:"custom-node",position:{x:r,y:s},size:{height:l?54:34,width:l?154:34},data:{name:u,error_ignorable:m,retryable:y,skippable:h,auto_retry:p,component:g,...o,type:i}};n.push(v)}),n},transLinesToEdges=e=>{const t=[];return e.forEach(n=>{const{id:o,source:a,target:r}=n;t.push({shape:"edge",id:o,source:{cell:a.id,port:`port_${a.arrow.toLowerCase()}`},target:{cell:r.id,port:`port_${r.arrow.toLowerCase()}`},attrs:{line:{stroke:"#a9adb6",strokeWidth:2,targetMarker:{name:"block",width:6,height:8},class:o}},zIndex:0,router:{name:"manhattan",args:{padding:1}},data:{}})}),t},NODE_DICT={startpoint:"开始节点",endpoint:"结束节点",parallelgateway:"并行网关",conditionalparallelgateway:"条件并行网关",branchgateway:"分支网关",exclusivegateway:"分支网关",convergegateway:"汇聚网关",tasknode:"标准插件节点"},NODE_RULE={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}},validateEmptyNode=e=>{const t=[];return Object.keys(e).forEach(n=>{const o=e[n].component;(!o||!o.code)&&t.push(n)}),{valid:t.length===0,ids:t}},validateNodeMinEdges=(e,t)=>{let n="";const o=[];return t.forEach(a=>{const r=NODE_RULE[a.type],s=NODE_DICT[a.type];let i=0,l=0;e.forEach(c=>{c.source.id===a.id&&(l+=1),c.target.id===a.id&&(i+=1)}),i<r.min_in&&(n=`${s}至少需要${r.min_in}条输入连线`,o.push(a.id)),l<r.min_out&&(n=`${s}至少需要${r.min_out}条输出连线`,o.push(a.id))}),{valid:o.length===0,message:n,ids:o}},validateGatewayNumMatch=e=>{const t=[];let n="";const o={},a=[];let r=[],s=[],i=new Set;const l=(u,m)=>{if(s.includes(u)){i.delete(m);return}s.push(u);const y=o[u]||[];if(y.length>1)i.delete(m),y.forEach(h=>{i.add(h),l(h,h)});else if(y.length===1)if(a.includes(u))r.includes(u)?i.delete(m):(r.push(u),i.size>1&&r.forEach(h=>{const p=o[h][0];l(p,m)}));else{const h=y[0];l(h,m)}},c=Object.keys(e).filter(u=>["ParallelGateway","ConditionalParallelGateway"].includes(e[u].type));for(const u of c){const m=e[u];if(s=[],r=[],i=new Set([u]),l(u,u),i.size>1){n=`${NODE_DICT[m.type]}缺少对应的汇聚网关`,t.push(u);break}}return{valid:t.length===0,message:n,ids:t}},validateEdge=(e,t,n)=>{const{source:o,target:a}=e,r=o.id,s=a.id,i=n.filter(g=>g.id===r)[0],l=n.filter(g=>g.id===s)[0],c=NODE_RULE[i.type],u=NODE_RULE[l.type];let m=0,y=0,h=!1;if(r===s){const v=`${NODE_DICT[i.type]}节点不可连接自身`;return getResult(!1,v)}if(c.max_out===0){const v=`${NODE_DICT[i.type]}只能添加输入连线`;return getResult(!1,v)}if(u.max_in===0){const v=`${NODE_DICT[l.type]}只能添加输出连线`;return getResult(!1,v)}if(!c.allowed_out.includes(l.type)){const v=`${NODE_DICT[i.type]}不能连接${NODE_DICT[l.type]}`;return getResult(!1,v)}const p=t.some(g=>{let v=!1;return g.source.id===r&&(m+=1,g.target.id===s&&(v=!0)),g.target.id===s&&(y+=1),g.source.id===s&&g.target.id===r&&i.type!=="branchgateway"&&(h=!0),v});if(h)return getResult(!1,"相同节点不能回连");if(p)return getResult(!1,"重复添加连线");if(!p){if(m>=c.max_out){const w=`已达到${NODE_DICT[i.type]}最大输出连线条数`;return getResult(!1,w)}if(y>=u.max_in){const w=`已达到${NODE_DICT[l.type]}最大输入连线条数`;return getResult(!1,w)}}return getResult(!0)},validatePipelineTree=e=>{const{activities:t,gateways:n,line:o,location:a}=e;if(Object.keys(t).length===0)return getResult(!1,"请添加任务节点");const r=validateEmptyNode(t);if(!r.valid)return getResult(!1,"请为任务节点选择插件",r.ids);const s=validateNodeMinEdges(o,a);if(!s.valid)return s;const i=validateGatewayNumMatch(n);return i.valid?getResult(!0):i},getResult=(e,t="",n=[])=>({valid:e,message:t,ids:n}),ports={groups:{top:{position:"top",attrs:{circle:{r:6,magnet:!0,stroke:"#5F95FF",strokeWidth:1,fill:"#fff",style:{visibility:"hidden"}}}},right:{position:"right",attrs:{circle:{r:6,magnet:!0,stroke:"#5F95FF",strokeWidth:1,fill:"#fff",style:{visibility:"hidden"}}}},bottom:{position:"bottom",attrs:{circle:{r:6,magnet:!0,stroke:"#5F95FF",strokeWidth:1,fill:"#fff",style:{visibility:"hidden"}}}},left:{position:"left",attrs:{circle:{r:6,magnet:!0,stroke:"#5F95FF",strokeWidth:1,fill:"#fff",style:{visibility:"hidden"}}}}},items:[{id:"port_top",group:"top"},{id:"port_right",group:"right"},{id:"port_bottom",group:"bottom"},{id:"port_left",group:"left"}]},registryEvents=(e,t)=>{e.on("node:mouseenter",({cell:n})=>{if(!t)return;n.getPorts().forEach(a=>{n.setPortProp(a.id,"attrs/circle/style/visibility","visible")})}),e.on("node:mouseleave",({cell:n})=>{n.getPorts().forEach(a=>{n.setPortProp(a.id,"attrs/circle/style/visibility","hidden")})}),e.on("edge:mouseenter",({cell:n})=>{n.attr("line/stroke","#3a84ff"),t&&n.addTools([{name:"source-arrowhead",args:{tagName:"circle",attrs:{r:"6",fill:"#ffffff",stroke:"#a4deb1",strokeWidth:1}}},{name:"target-arrowhead",args:{tagName:"circle",attrs:{r:"6",fill:"#ffffff",stroke:"#a4deb1",strokeWidth:1}}}])}),e.on("edge:mouseleave",({cell:n})=>{n.attr("line/stroke","#a9adb6"),n.removeTools()})},random4=()=>Math.floor((1+Math.random())*65536).toString(16).substring(1),uuid=(e=8)=>{let t="";for(let n=0;n<e-1;n++)t+=random4();return t},parentClsContains=(e,t)=>{if(t.classList.contains(e))return!0;let n=t.parentNode;for(;n;){if(n.classList&&n.classList.contains(e))return!0;n=n.parentNode}return!1};var util=newUtil(),inliner=newInliner(),fontFaces=newFontFaces(),images=newImages(),defaultOptions={imagePlaceholder:void 0,cacheBust:!1},domtoimage={toSvg,toPng,toJpeg,toBlob,toPixelData,impl:{fontFaces,images,util,inliner,options:{}}};function toSvg(e,t){return t=t||{},copyOptions(t),Promise.resolve(e).then(function(o){return cloneNode(o,t.filter,!0)}).then(embedFonts).then(inlineImages).then(n).then(function(o){return makeSvgDataUri(o,t.width||util.width(e),t.height||util.height(e))});function n(o){return t.bgcolor&&(o.style.backgroundColor=t.bgcolor),t.width&&(o.style.width=t.width+"px"),t.height&&(o.style.height=t.height+"px"),t.style&&Object.keys(t.style).forEach(function(a){o.style[a]=t.style[a]}),t.cloneBack&&t.cloneBack.call(this,o),o}}function toPixelData(e,t){return draw(e,t||{}).then(function(n){return n.getContext("2d").getImageData(0,0,util.width(e),util.height(e)).data})}function toPng(e,t){return draw(e,t||{}).then(function(n){return n.toDataURL()})}function toJpeg(e,t){return t=t||{},draw(e,t).then(function(n){return n.toDataURL("image/jpeg",t.quality||1)})}function toBlob(e,t){return draw(e,t||{}).then(util.canvasToBlob)}function copyOptions(e){typeof e.imagePlaceholder>"u"?domtoimage.impl.options.imagePlaceholder=defaultOptions.imagePlaceholder:domtoimage.impl.options.imagePlaceholder=e.imagePlaceholder,typeof e.cacheBust>"u"?domtoimage.impl.options.cacheBust=defaultOptions.cacheBust:domtoimage.impl.options.cacheBust=e.cacheBust}function draw(e,t){return toSvg(e,t).then(util.makeImage).then(util.delay(100)).then(function(o){var a=n(e);return a.getContext("2d").drawImage(o,0,0),a});function n(o){var a=document.createElement("canvas");if(a.width=t.width||util.width(o),a.height=t.height||util.height(o),t.bgcolor){var r=a.getContext("2d");r.fillStyle=t.bgcolor,r.fillRect(0,0,a.width,a.height)}return a}}function cloneNode(e,t,n){if(!n&&t&&!t(e))return Promise.resolve();return Promise.resolve(e).then(o).then(function(s){return a(e,s,t)}).then(function(s){return r(e,s)});function o(s){return s instanceof HTMLCanvasElement?util.makeImage(s.toDataURL()):s.cloneNode(!1)}function a(s,i,l){var c=s.childNodes;if(c.length===0)return Promise.resolve(i);return u(i,util.asArray(c),l).then(function(){return i});function u(m,y,h){var p=Promise.resolve();return y.forEach(function(g){p=p.then(function(){return cloneNode(g,h)}).then(function(v){v&&m.appendChild(v)})}),p}}function r(s,i){if(!(i instanceof Element))return i;return Promise.resolve().then(l).then(c).then(u).then(m).then(function(){return i});function l(){y(window.getComputedStyle(s),i.style);function y(h,p){h.cssText?p.cssText=h.cssText:g(h,p);function g(v,w){util.asArray(v).forEach(function(f){w.setProperty(f,v.getPropertyValue(f),v.getPropertyPriority(f))})}}}function c(){[":before",":after"].forEach(function(h){y(h)});function y(h){var p=window.getComputedStyle(s,h),g=p.getPropertyValue("content");if(g===""||g==="none")return;var v=util.uid();i.className=i.className+" "+v;var w=document.createElement("style");w.appendChild(f(v,h,p)),i.appendChild(w);function f(_,d,C){var b="."+_+":"+d,A=C.cssText?V(C):O(C);return document.createTextNode(b+"{"+A+"}");function V(D){var L=D.getPropertyValue("content");return D.cssText+" content: "+L+";"}function O(D){return util.asArray(D).map(L).join("; ")+";";function L(Z){return Z+": "+D.getPropertyValue(Z)+(D.getPropertyPriority(Z)?" !important":"")}}}}}function u(){s instanceof HTMLTextAreaElement&&(i.innerHTML=s.value),s instanceof HTMLInputElement&&i.setAttribute("value",s.value)}function m(){i instanceof SVGElement&&(i.setAttribute("xmlns","http://www.w3.org/2000/svg"),i instanceof SVGRectElement&&["width","height"].forEach(function(y){var h=i.getAttribute(y);h&&i.style.setProperty(y,h)}))}}}function embedFonts(e){return fontFaces.resolveAll().then(function(t){var n=document.createElement("style");return e.appendChild(n),n.appendChild(document.createTextNode(t)),e})}function inlineImages(e){return images.inlineAll(e).then(function(){return e})}function makeSvgDataUri(e,t,n){return Promise.resolve(e).then(function(o){return o.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),new XMLSerializer().serializeToString(o)}).then(util.escapeXhtml).then(function(o){return'<foreignObject x="0" y="0" width="100%" height="100%">'+o+"</foreignObject>"}).then(function(o){return'<svg xmlns="http://www.w3.org/2000/svg" width="'+t+'" height="'+n+'">'+o+"</svg>"}).then(function(o){return"data:image/svg+xml;charset=utf-8,"+o})}function newUtil(){return{escape:m,parseExtension:t,mimeType:n,dataAsUrl:u,isDataUrl:o,canvasToBlob:r,resolveUrl:s,getAndEncode:c,uid:i(),delay:y,asArray:h,escapeXhtml:p,makeImage:l,width:g,height:v};function e(){var f="application/font-woff",_="image/jpeg";return{woff:f,woff2:f,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:_,jpeg:_,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml"}}function t(f){var _=/\.([^\.\/]*?)$/g.exec(f);return _?_[1]:""}function n(f){var _=t(f).toLowerCase();return e()[_]||""}function o(f){return f.search(/^(data:)/)!==-1}function a(f){return new Promise(function(_){for(var d=window.atob(f.toDataURL().split(",")[1]),C=d.length,b=new Uint8Array(C),A=0;A<C;A++)b[A]=d.charCodeAt(A);_(new Blob([b],{type:"image/png"}))})}function r(f){return f.toBlob?new Promise(function(_){f.toBlob(_)}):a(f)}function s(f,_){var d=document.implementation.createHTMLDocument(),C=d.createElement("base");d.head.appendChild(C);var b=d.createElement("a");return d.body.appendChild(b),C.href=_,b.href=f,b.href}function i(){var f=0;return function(){return"u"+_()+f++;function _(){return("0000"+(Math.random()*Math.pow(36,4)<<0).toString(36)).slice(-4)}}}function l(f){return new Promise(function(_,d){var C=new Image;C.onload=function(){_(C)},C.onerror=d,C.src=f})}function c(f){var _=3e4;return domtoimage.impl.options.cacheBust&&(f+=(/\?/.test(f)?"&":"?")+new Date().getTime()),new Promise(function(d){var C=new XMLHttpRequest;C.onreadystatechange=V,C.ontimeout=O,C.responseType="blob",C.timeout=_,C.open("GET",f,!0),C.send();var b;if(domtoimage.impl.options.imagePlaceholder){var A=domtoimage.impl.options.imagePlaceholder.split(/,/);A&&A[1]&&(b=A[1])}function V(){if(C.readyState===4){if(C.status!==200){b?d(b):D("cannot fetch resource: "+f+", status: "+C.status);return}var L=new FileReader;L.onloadend=function(){var Z=L.result.split(/,/)[1];d(Z)},L.readAsDataURL(C.response)}}function O(){b?d(b):D("timeout of "+_+"ms occured while fetching resource: "+f)}function D(L){console.error(L),d("")}})}function u(f,_){return"data:"+_+";base64,"+f}function m(f){return f.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1")}function y(f){return function(_){return new Promise(function(d){setTimeout(function(){d(_)},f)})}}function h(f){for(var _=[],d=f.length,C=0;C<d;C++)_.push(f[C]);return _}function p(f){return f.replace(/#/g,"%23").replace(/\n/g,"%0A")}function g(f){var _=w(f,"border-left-width"),d=w(f,"border-right-width");return f.scrollWidth+_+d}function v(f){var _=w(f,"border-top-width"),d=w(f,"border-bottom-width");return f.scrollHeight+_+d}function w(f,_){var d=window.getComputedStyle(f).getPropertyValue(_);return parseFloat(d.replace("px",""))}}function newInliner(){var e=/url\(['"]?([^'"]+?)['"]?\)/g;return{inlineAll:a,shouldProcess:t,impl:{readUrls:n,inline:o}};function t(r){return r.search(e)!==-1}function n(r){for(var s=[],i;(i=e.exec(r))!==null;)s.push(i[1]);return s.filter(function(l){return!util.isDataUrl(l)})}function o(r,s,i,l){return Promise.resolve(s).then(function(u){return i?util.resolveUrl(u,i):u}).then(l||util.getAndEncode).then(function(u){return util.dataAsUrl(u,util.mimeType(s))}).then(function(u){return r.replace(c(s),"$1"+u+"$3")});function c(u){return new RegExp(`(url\\(['"]?)(`+util.escape(u)+`)(['"]?\\))`,"g")}}function a(r,s,i){if(l())return Promise.resolve(r);return Promise.resolve(r).then(n).then(function(c){var u=Promise.resolve(r);return c.forEach(function(m){u=u.then(function(y){return o(y,m,s,i)})}),u});function l(){return!t(r)}}}function newFontFaces(){return{resolveAll:e,impl:{readAll:t}};function e(){return t().then(function(n){return Promise.all(n.map(function(o){return o.resolve()}))}).then(function(n){return n.join(`
|
|
7
|
+
`)})}function t(){return Promise.resolve(util.asArray(document.styleSheets)).then(o).then(n).then(function(r){return r.map(a)});function n(r){return r.filter(function(s){return s.type===CSSRule.FONT_FACE_RULE}).filter(function(s){return inliner.shouldProcess(s.style.getPropertyValue("src"))})}function o(r){var s=[];return r.forEach(function(i){try{util.asArray(i.cssRules||[]).forEach(s.push.bind(s))}catch(l){console.log("Error while reading CSS rules from "+i.href,l.toString())}}),s}function a(r){return{resolve:function(){var i=(r.parentStyleSheet||{}).href;return inliner.inlineAll(r.cssText,i)},src:function(){return r.style.getPropertyValue("src")}}}}}function newImages(){return{inlineAll:t,impl:{newImage:e}};function e(n){return{inline:o};function o(a){return util.isDataUrl(n.src)?Promise.resolve():Promise.resolve(n.src).then(a||util.getAndEncode).then(function(r){return util.dataAsUrl(r,util.mimeType(n.src))}).then(function(r){return new Promise(function(s,i){n.onload=s,n.onerror=i,n.src=r})})}}function t(n){if(!(n instanceof Element))return Promise.resolve(n);return o(n).then(function(){return n instanceof HTMLImageElement?e(n).inline():Promise.all(util.asArray(n.childNodes).map(function(a){return t(a)}))});function o(a){var r=a.style.getPropertyValue("background");return r?inliner.inlineAll(r).then(function(s){a.style.setProperty("background",s,a.style.getPropertyPriority("background"))}).then(function(){return a}):Promise.resolve(a)}}}const _hoisted_1$S={class:"canvas-tools-wrapper"},_hoisted_2$y={class:"tools-content"},_hoisted_3$l={class:"zoom-wrapper"},_hoisted_4$k={class:"zoom-ratio"},_sfc_main$10=vue.defineComponent({__name:"index",props:{instance:{}},emits:["download"],setup(e,{emit:t}){const n=e,o=t,a=vue.ref(100),r=vue.ref(!1),s=vue.ref(null);vue.onMounted(()=>{n.instance.on("scale",c)});const i=()=>{n.instance.zoom(-.1),c()},l=()=>{n.instance.zoom(.1),c()},c=()=>{a.value=Math.round(n.instance.zoom()*100)},u=()=>{r.value=!r.value,vue.nextTick(()=>{r.value&&s.value?n.instance.use(new x6PluginMinimap.MiniMap({container:s.value,width:344,height:216,scalable:!1})):n.instance.disposePlugins("minimap")})},m=()=>{n.instance.zoomTo(1),n.instance.translate(0,0)};return(y,h)=>{const p=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$S,[vue.createElementVNode("div",_hoisted_2$y,[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["tool-icon",{"is-active":r.value}]),onClick:u},[...h[1]||(h[1]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-thumbnail-view"},null,-1)])],2)),[[p,{content:"缩略视图",placement:"bottom"}]]),vue.createElementVNode("div",_hoisted_3$l,[vue.withDirectives(vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-zoom-minus",onClick:i},null,512),[[p,{content:"缩小",placement:"bottom"}]]),vue.createElementVNode("p",_hoisted_4$k,vue.toDisplayString(a.value+"%"),1),vue.withDirectives(vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-zoom-add",onClick:l},null,512),[[p,{content:"放大",placement:"bottom"}]])]),vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",{class:"tool-icon",onClick:m},[...h[2]||(h[2]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-reset"},null,-1)])])),[[p,{content:"复位",placement:"bottom"}]]),vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",{class:"tool-icon",onClick:h[0]||(h[0]=g=>o("download"))},[...h[3]||(h[3]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-export-canvas"},null,-1)])])),[[p,{content:"导出图片",placement:"bottom"}]])]),r.value?(vue.openBlock(),vue.createElementBlock("div",{key:0,ref_key:"miniMapRef",ref:s,class:"canvas-minimap"},null,512)):vue.createCommentVNode("",!0)])}}}),Tool=_export_sfc(_sfc_main$10,[["__scopeId","data-v-0e5cea87"]]),content=`.x6-widget-dnd {
|
|
8
8
|
position: absolute;
|
|
9
9
|
top: -10000px;
|
|
10
10
|
left: -10000px;
|
|
@@ -27,26 +27,26 @@
|
|
|
27
27
|
.x6-widget-dnd .x6-graph .x6-graph-svg-viewport {
|
|
28
28
|
transform: translate(7px, 7px);
|
|
29
29
|
}
|
|
30
|
-
`;let Dnd$1=class Ze extends x6.View{get targetScroller(){const{target:t}=this.options;return t.getPlugin("scroller")}get targetGraph(){return this.options.target}get targetModel(){return this.targetGraph.model}get snapline(){const{target:t}=this.options;return t.getPlugin("snapline")}constructor(t){super(),this.name="dnd",this.options=Object.assign(Object.assign({},Ze.defaults),t),this.init()}init(){x6.CssLoader.ensure(this.name,content),this.container=document.createElement("div"),x6.Dom.addClass(this.container,this.prefixClassName("widget-dnd")),this.draggingGraph=new x6.Graph(Object.assign(Object.assign({},this.options.delegateGraphOptions),{container:document.createElement("div"),width:1,height:1,async:!1})),x6.Dom.append(this.container,this.draggingGraph.container)}start(t,n){const o=n;o.preventDefault(),this.targetModel.startBatch("dnd"),x6.Dom.addClass(this.container,"dragging"),x6.Dom.appendTo(this.container,this.options.draggingContainer||document.body),this.sourceNode=t,this.prepareDragging(t,o.clientX,o.clientY);const a=this.updateNodePosition(o.clientX,o.clientY);this.isSnaplineEnabled()&&(this.snapline.captureCursorOffset({e:o,node:t,cell:t,view:this.draggingView,x:a.x,y:a.y}),this.draggingNode.on("change:position",this.snap,this)),this.delegateDocumentEvents(Ze.documentEvents,o.data)}isSnaplineEnabled(){return this.snapline&&this.snapline.isEnabled()}prepareDragging(t,n,o){const{draggingGraph:a}=this,s=a.model,i=this.options.getDragNode(t,{sourceNode:t,draggingGraph:a,targetGraph:this.targetGraph});i.position(0,0);let r=5;if(this.isSnaplineEnabled()&&(r+=this.snapline.options.tolerance||0),this.isSnaplineEnabled()||this.options.scaled){const u=this.targetGraph.transform.getScale();a.scale(u.sx,u.sy),r*=Math.max(u.sx,u.sy)}else a.scale(1,1);this.clearDragging(),s.resetCells([i]);const l=a.findViewByCell(i);l.undelegateEvents(),l.cell.off("changed"),a.fitToContent({padding:r,allowNewOrigin:"any",useCellGeometry:!1});const c=l.getBBox();this.geometryBBox=l.getBBox({useCellGeometry:!0}),this.delta=this.geometryBBox.getTopLeft().diff(c.getTopLeft()),this.draggingNode=i,this.draggingView=l,this.draggingBBox=i.getBBox(),this.padding=r,this.originOffset=this.updateGraphPosition(n,o)}updateGraphPosition(t,n){const o=document.body.scrollTop||document.documentElement.scrollTop,{delta:a}=this,s=this.geometryBBox,i=this.padding||5,r={left:t-a.x-s.width/2-i,top:n-a.y-s.height/2-i+o};return this.draggingGraph&&x6.Dom.css(this.container,{left:`${r.left}px`,top:`${r.top}px`}),r}updateNodePosition(t,n){const o=this.targetGraph.clientToLocal(t,n),a=this.draggingBBox;return o.x-=a.width/2,o.y-=a.height/2,this.draggingNode.position(o.x,o.y),o}snap({cell:t,current:n,options:o}){const a=t;if(o.snapped){const s=this.draggingBBox;a.position(s.x+o.tx,s.y+o.ty,{silent:!0}),this.draggingView.translate(),a.position(n.x,n.y,{silent:!0}),this.snapOffset={x:o.tx,y:o.ty}}else this.snapOffset=null}onDragging(t){const{draggingView:n}=this;if(n){t.preventDefault();const o=this.normalizeEvent(t),{clientX:a}=o,{clientY:s}=o;this.updateGraphPosition(a,s);const i=this.updateNodePosition(a,s),r=this.targetGraph.options.embedding.enabled,l=(r||this.isSnaplineEnabled())&&this.isInsideValidArea({x:a,y:s});if(r){n.setEventData(o,{graph:this.targetGraph,candidateEmbedView:this.candidateEmbedView});const c=n.getEventData(o);l?n.processEmbedding(o,c):n.clearEmbedding(c),this.candidateEmbedView=c.candidateEmbedView}this.options.nodeDragging?.(t,this.sourceNode),this.isSnaplineEnabled()&&(l?this.snapline.snapOnMoving({e:o,view:n,x:i.x,y:i.y}):this.snapline.hide())}}onDragEnd(t){const{draggingNode:n}=this;if(n){const o=this.normalizeEvent(t),{draggingView:a}=this,{draggingBBox:s}=this,{snapOffset:i}=this;let{x:r}=s,{y:l}=s;i&&(r+=i.x,l+=i.y),n.position(r,l,{silent:!0});const c=this.drop(n,{x:o.clientX,y:o.clientY}),u=v=>{v?(this.onDropped(n),this.targetGraph.options.embedding.enabled&&a&&(a.setEventData(o,{cell:v,graph:this.targetGraph,candidateEmbedView:this.candidateEmbedView}),a.finalizeEmbedding(o,a.getEventData(o)))):this.onDropInvalid(),this.candidateEmbedView=null,this.targetModel.stopBatch("dnd")};this.options.nodeDragEnd?.(t,this.sourceNode),x6.FunctionExt.isAsync(c)?(this.undelegateDocumentEvents(),c.then(u)):u(c)}}clearDragging(){this.draggingNode&&(this.sourceNode=null,this.draggingNode.remove(),this.draggingNode=null,this.draggingView=null,this.delta=null,this.padding=null,this.snapOffset=null,this.originOffset=null,this.undelegateDocumentEvents())}onDropped(t){this.draggingNode===t&&(this.clearDragging(),x6.Dom.removeClass(this.container,"dragging"),x6.Dom.remove(this.container))}onDropInvalid(){const{draggingNode:t}=this;t&&this.onDropped(t)}isInsideValidArea(t){let n,o=null;const{targetGraph:a}=this,{targetScroller:s}=this;this.options.dndContainer&&(o=this.getDropArea(this.options.dndContainer));const i=o&&o.containsPoint(t);if(s)if(s.options.autoResize)n=this.getDropArea(s.container);else{const r=this.getDropArea(s.container);n=this.getDropArea(a.container).intersectsWithRect(r)}else n=this.getDropArea(a.container);return!i&&n&&n.containsPoint(t)}getDropArea(t){const n=x6.Dom.offset(t),o=document.body.scrollTop||document.documentElement.scrollTop,a=document.body.scrollLeft||document.documentElement.scrollLeft;return x6.Rectangle.create({x:n.left+parseInt(x6.Dom.css(t,"border-left-width"),10)-a,y:n.top+parseInt(x6.Dom.css(t,"border-top-width"),10)-o,width:t.clientWidth,height:t.clientHeight})}drop(t,n){if(this.isInsideValidArea(n)){const{targetGraph:o}=this,a=o.model,s=o.clientToLocal(n),{sourceNode:i}=this,r=this.options.getDropNode(t,{sourceNode:i,draggingNode:t,targetGraph:this.targetGraph,draggingGraph:this.draggingGraph}),l=r.getBBox();s.x+=l.x-l.width/2,s.y+=l.y-l.height/2;const c=this.snapOffset?1:o.getGridSize();r.position(x6.GeometryUtil.snapToGrid(s.x,c),x6.GeometryUtil.snapToGrid(s.y,c)),r.removeZIndex();const{validateNode:u}=this.options,v=u?u(r,{sourceNode:i,draggingNode:t,droppingNode:r,targetGraph:o,draggingGraph:this.draggingGraph}):!0;return typeof v=="boolean"?v?(a.addCell(r,{stencil:this.cid}),r):null:x6.FunctionExt.toDeferredBoolean(v).then(_=>_?(a.addCell(r,{stencil:this.cid}),r):null)}return null}onRemove(){this.draggingGraph&&(this.draggingGraph.view.remove(),this.draggingGraph.dispose())}dispose(){this.remove(),x6.CssLoader.clean(this.name)}};(function(e){e.defaults={getDragNode:t=>t.clone(),getDropNode:t=>t.clone()},e.documentEvents={mousemove:"onDragging",touchmove:"onDragging",mouseup:"onDragEnd",touchend:"onDragEnd",touchcancel:"onDragEnd"}})(Dnd$1||(Dnd$1={}));const _hoisted_1$M=["data-type"],_sfc_main$V=vue.defineComponent({__name:"index",props:{instance:{}},emits:["dragging","dragEnd"],setup(e,{emit:t}){const n=[{id:"startpoint",icon:"startpoint-zh",name:"开始节点"},{id:"endpoint",icon:"endpoint-zh",name:"结束节点"},{id:"tasknode",icon:"tasknode",name:"任务节点"},{id:"branchgateway",icon:"branchgateway",name:"分支网关"},{id:"parallelgateway",icon:"parallelgateway",name:"并行网关"},{id:"conditionalparallelgateway",icon:"conditionalparallelgateway",name:"条件并行网关"},{id:"convergegateway",icon:"convergegateway",name:"汇聚节点"}],o=e,a=t,s=vue.shallowRef(),i=vue.shallowRef(),r=vue.ref(),l=vue.ref();vue.onMounted(()=>{s.value=new Dnd$1({target:o.instance,scaled:!1,dndContainer:l.value,nodeDragging:(f,y)=>c(f,y),nodeDragEnd:(f,y)=>u(f,y),getDragNode:f=>f.clone({keepId:!0}),getDropNode:f=>f.clone({keepId:!0})}),o.instance.on("node:added",({node:f})=>{const y=f.shape==="custom-group-node"?1:2;f.setZIndex(y)}),r.value.addEventListener("mousedown",v)});const c=(f,y)=>{a("dragging",{e:f,node:y})},u=(f,y)=>{a("dragEnd",{e:f,node:y})},v=f=>{(parentClsContains("node-item",f.target)||parentClsContains("entry-item",f.target))&&(i.value=f,document.addEventListener("mousemove",_),document.addEventListener("mouseup",m))},_=f=>{if(!i.value)return;const{pageX:y,pageY:g}=i.value;Math.max(f.pageX-y,f.pageY-g)>3&&(p(i.value),document.removeEventListener("mousemove",_))},m=()=>{i.value=null,document.removeEventListener("mouseup",m)},p=f=>{const y=h(f.target),g=y.type==="tasknode",w=o.instance.createNode({id:`node${uuid()}`,shape:"custom-node",width:g?154:34,height:g?54:34,data:y,zIndex:5});s.value.start(w,f)},h=f=>{const y=f.getAttribute("data-type");return y?{type:y}:{}};return(f,y)=>(vue.openBlock(),vue.createElementBlock("div",{ref_key:"dndPanel",ref:r,class:"dnd-panel"},[vue.createElementVNode("ul",{ref_key:"containerRef",ref:l,class:"nodes-wrapper"},[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(n,g=>vue.createElementVNode("li",{key:g.id,class:vue.normalizeClass(["node-item",`bkflow-canvas-icon bkflow-canvas-node-${g.icon}`,{disabled:["startpoint","endpoint"].includes(g.id)}]),"data-type":g.id},null,10,_hoisted_1$M)),64))],512)],512))}}),Dnd=_export_sfc(_sfc_main$V,[["__scopeId","data-v-61aa5064"]]),_sfc_main$U={name:"Start",props:{node:{type:Object,default:()=>({})}},data(){return{}}};function _sfc_render$7(e,t,n,o,a,s){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["node-item circle-node",{ready:n.node.ready}])}," 开始 ",2)}const Start=_export_sfc(_sfc_main$U,[["render",_sfc_render$7]]),_sfc_main$T={name:"End",props:{node:{type:Object,default:()=>({})}},data(){return{}}};function _sfc_render$6(e,t,n,o,a,s){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["node-item circle-node",{ready:n.node.ready}])}," 结束 ",2)}const End=_export_sfc(_sfc_main$T,[["render",_sfc_render$6]]),SYSTEM_GROUP_ICON=["CMDB","JOB","BK","Nodeman","Monitor","GCLOUD","TCM","WechatWork"],BK_PLUGIN_ICON={bk_http_request:"bkflow-canvas-icon bkflow-canvas-bk-plugin-http",bk_notify:"bkflow-canvas-icon bkflow-canvas-bk-plugin-notify",sleep_timer:"bkflow-canvas-icon bkflow-canvas-bk-plugin-timer",pause_node:"bkflow-canvas-icon bkflow-canvas-bk-plugin-pause"},_sfc_main$S={name:"Task",props:{node:{type:Object,default:()=>({})}},data(){return{phaseStr:{1:"当前插件即将停止维护,请更新插件版本",2:"当前插件已停止维护,请更新插件版本"}}},computed:{isEmptyNode(){return!this.node.component||!this.node.component.code}},methods:{getIconCls(e){const{code:t,group:n}=e;if(BK_PLUGIN_ICON[t])return BK_PLUGIN_ICON[t];if(t==="remote_plugin")return"bkflow-canvas-icon bkflow-canvas-sys-third-party";const o=SYSTEM_GROUP_ICON.find(a=>new RegExp(a).test(n));return o?`bkflow-canvas-icon bkflow-canvas-sys-${o.toLowerCase()}`:"bkflow-canvas-icon bkflow-canvas-sys-default"}}},_hoisted_1$L={class:"node-status-block"},_hoisted_2$v=["src"],_hoisted_3$k={key:2,class:"stage-name"},_hoisted_4$j={class:"node-name"},_hoisted_5$f={class:"name-text"};function _sfc_render$5(e,t,n,o,a,s){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["node-item task-node",{"empty-node":s.isEmptyNode}])},[vue.createElementVNode("div",_hoisted_1$L,[n.node.icon?(vue.openBlock(),vue.createElementBlock("img",{key:0,class:"node-icon",src:n.node.icon},null,8,_hoisted_2$v)):(vue.openBlock(),vue.createElementBlock("i",{key:1,class:vue.normalizeClass(["node-icon-font",s.getIconCls(n.node)])},null,2)),n.node.stage_name?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$k,vue.toDisplayString(n.node.stage_name),1)):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_4$j,[vue.createElementVNode("div",_hoisted_5$f,vue.toDisplayString(s.isEmptyNode?"- 节点未配置 -":n.node.name),1)])],2)}const Task=_export_sfc(_sfc_main$S,[["render",_sfc_render$5],["__scopeId","data-v-53ab1e5c"]]),_sfc_main$R={name:"BranchGateway",props:{node:{type:Object,default:()=>({})}}};function _sfc_render$4(e,t,n,o,a,s){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["node-item gateway-node",{"fail-skip":n.node.status==="FINISHED"&&n.node.skip},{ready:n.node.ready}])},[...t[0]||(t[0]=[vue.createElementVNode("div",{class:"bpmn-flow-icon bkflow-canvas-icon bkflow-canvas-node-branchgateway"},null,-1)])],2)}const BranchGateway=_export_sfc(_sfc_main$R,[["render",_sfc_render$4]]),_sfc_main$Q={name:"ParallelGateway",props:{node:{type:Object,default:()=>({})}}};function _sfc_render$3(e,t,n,o,a,s){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["node-item gateway-node",{ready:n.node.ready}])},[...t[0]||(t[0]=[vue.createElementVNode("div",{class:"bpmn-flow-icon bkflow-canvas-icon bkflow-canvas-node-parallelgateway"},null,-1)])],2)}const ParallelGateway=_export_sfc(_sfc_main$Q,[["render",_sfc_render$3]]),_sfc_main$P={name:"ConditionalParallelGateway",props:{node:{type:Object,default:()=>({})}}};function _sfc_render$2(e,t,n,o,a,s){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["node-item gateway-node",{"fail-skip":n.node.status==="FINISHED"&&n.node.skip},{ready:n.node.ready}])},[...t[0]||(t[0]=[vue.createElementVNode("div",{class:"bpmn-flow-icon bkflow-canvas-icon bkflow-canvas-node-conditionalparallelgateway"},null,-1)])],2)}const ConditionalParallelGateway=_export_sfc(_sfc_main$P,[["render",_sfc_render$2]]),_sfc_main$O={name:"ConvergeGateway",props:{node:{type:Object,default:()=>({})}}};function _sfc_render$1(e,t,n,o,a,s){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["node-item gateway-node",{ready:n.node.ready}])},[...t[0]||(t[0]=[vue.createElementVNode("div",{class:"bpmn-flow-icon bkflow-canvas-icon bkflow-canvas-node-convergegateway"},null,-1)])],2)}const ConvergeGateway=_export_sfc(_sfc_main$O,[["render",_sfc_render$1]]),_hoisted_1$K={class:"node-config-flags"},_hoisted_2$u={key:0,class:"error-handle-icon"},_hoisted_3$j={key:1,class:"error-handle-icon"},_hoisted_4$i={key:2,class:"error-handle-icon"},_hoisted_5$e={key:3,class:"error-handle-icon"},_hoisted_6$8={key:1,class:"mock-label"},_sfc_main$N=vue.defineComponent({__name:"node-config-flags",props:{node:{},editable:{type:Boolean}},setup(e){const t=e;return(n,o)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$K,[t.editable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[t.node.error_ignorable?(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$u,[...o[0]||(o[0]=[vue.createElementVNode("span",{class:"text"},"AS",-1)])])):vue.createCommentVNode("",!0),t.node.skippable?(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$j,[...o[1]||(o[1]=[vue.createElementVNode("span",{class:"text"},"MS",-1)])])):vue.createCommentVNode("",!0),t.node.retryable?(vue.openBlock(),vue.createElementBlock("span",_hoisted_4$i,[...o[2]||(o[2]=[vue.createElementVNode("span",{class:"text"},"MR",-1)])])):vue.createCommentVNode("",!0),t.node.auto_retry?.enable?(vue.openBlock(),vue.createElementBlock("span",_hoisted_5$e,[...o[3]||(o[3]=[vue.createElementVNode("span",{class:"text"},"AR",-1)])])):vue.createCommentVNode("",!0)],64)):vue.createCommentVNode("",!0),t.node.create_method==="mock"?(vue.openBlock(),vue.createElementBlock("span",_hoisted_6$8,"MOCK")):vue.createCommentVNode("",!0)]))}}),NodeConfigFlags=_export_sfc(_sfc_main$N,[["__scopeId","data-v-077f8bb9"]]),_hoisted_1$J={class:"node-operate-actions"},_hoisted_2$t={key:0,class:"more-btn-list"},_hoisted_3$i=["onClick"],_hoisted_4$h={class:"action-name"},_sfc_main$M=vue.defineComponent({__name:"index",emits:["delete","moreBtnClick"],setup(e,{emit:t}){const n=t,o=vue.ref(!1),a=vue.computed(()=>[{id:"copyNode",name:"复制节点",icon:"incident-fuzhijiedian"},{id:"copyNodeAndInsert",name:"复制并插入",icon:"incident-fuzhibingcharu"},{id:"detachEdges",name:"解除连线",icon:"incident-jiechulianxian"}]),s=()=>{o.value=!0},i=r=>{n("moreBtnClick",r)};return(r,l)=>{const c=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$J,[vue.withDirectives(vue.createElementVNode("i",{class:"delete-btn bk-incident-icon incident-shanchujiedian",onClick:l[0]||(l[0]=u=>n("delete"))},null,512),[[c,"删除节点"]]),vue.createElementVNode("i",{class:"more-btn bkflow-canvas-icon bkflow-canvas-more-fill",onClick:s}),o.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$t,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(a.value,u=>(vue.openBlock(),vue.createElementBlock("div",{class:"more-btn-item",key:u.id,onClick:v=>i(u.id)},[vue.createElementVNode("i",{class:vue.normalizeClass(["bk-incident-icon",u.icon])},null,2),vue.createElementVNode("span",_hoisted_4$h,vue.toDisplayString(u.name),1)],8,_hoisted_3$i))),128))])):vue.createCommentVNode("",!0)])}}}),NodeOperateActions=_export_sfc(_sfc_main$M,[["__scopeId","data-v-31512fe2"]]),logicImg="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",_hoisted_1$I={class:"option-item"},_hoisted_2$s=["src"],_hoisted_3$h={class:"option-name"},_sfc_main$L=vue.defineComponent({__name:"option-item",props:{option:{}},setup(e){const t=e;return(n,o)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$I,[vue.createElementVNode("img",{class:"option-img",src:t.option.iconUrl},null,8,_hoisted_2$s),vue.createElementVNode("div",_hoisted_3$h,vue.toDisplayString(t.option.name),1),t.option.type==="group"?(vue.openBlock(),vue.createBlock(vue.unref(icon.AngleRight),{key:0,class:"angle-icon"})):vue.createCommentVNode("",!0),t.option.type==="link"?(vue.openBlock(),vue.createBlock(vue.unref(icon.ArrowsRight),{key:1,class:"arrow-icon"})):vue.createCommentVNode("",!0)]))}}),OptionItem=_export_sfc(_sfc_main$L,[["__scopeId","data-v-0470b67d"]]),_hoisted_1$H={key:0},_sfc_main$K=vue.defineComponent({__name:"index",props:{isSearch:{type:Boolean,default:!1},title:{}},emits:["clear"],setup(e,{emit:t}){const n=e,o=t,a=vue.computed(()=>n.isSearch?"搜索结果为空":n.title||"暂无数据");return(s,i)=>{const r=vue.resolveComponent("bk-exception");return vue.openBlock(),vue.createBlock(r,{scene:"part",type:n.isSearch?"search-empty":"empty",title:a.value},{default:vue.withCtx(()=>[n.isSearch?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$H,[i[1]||(i[1]=vue.createTextVNode(" 可以尝试 调整关键词 或 ",-1)),vue.createElementVNode("span",{class:"clear-button",onClick:i[0]||(i[0]=l=>o("clear"))},"清空筛选条件")])):vue.createCommentVNode("",!0)]),_:1},8,["type","title"])}}}),EmptyException=_export_sfc(_sfc_main$K,[["__scopeId","data-v-01a0dc2e"]]),_hoisted_1$G={class:"quick-edit-popover"},_hoisted_2$r={class:"search-input"},_hoisted_3$g={class:"plugin-option-list"},_hoisted_4$g={key:0,class:"nodes-list"},_hoisted_5$d=["onClick"],_hoisted_6$7={key:1,class:"data-plugin-list"},_hoisted_7$4=["onClick"],_hoisted_8$4={class:"data-plugin-name"},_hoisted_9$4={key:2,class:"agent-plugin-list"},_hoisted_10$4={class:"list-wrapper"},_hoisted_11$4=["onClick"],_hoisted_12$2={class:"agent-name"},_hoisted_13$2={class:"agent-en-name"},_hoisted_14$1={key:3,class:"bkflow-tag-list"},_hoisted_15$1=["onClick"],_hoisted_16$1=["onClick"],_sfc_main$J=vue.defineComponent({__name:"index",props:{pluginGroupList:{default:()=>[]}},emits:["addNode","addPlugin","openPluginSelect","deleteEdge","deleteNode","copyNode","copyNodeAndInsert","detachEdges"],setup(e,{emit:t}){const n=[{id:"branchgateway",name:"分支网关",icon:"incident-node-branchgateway-shortcut"},{id:"parallelgateway",name:"并行网关",icon:"incident-node-parallelgateway-shortcut"},{id:"conditionalparallelgateway",name:"条件并行网关",icon:"incident-node-conditionalparallelgateway-shortcut"},{id:"convergegateway",name:"汇聚网关",icon:"incident-node-convergegateway-shortcut"}],o={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"},a=vueRouter.useRouter(),s=vueRouter.useRoute(),i=e,r=t,l=vue.shallowRef([]),c=vue.ref(""),u=vue.shallowRef([...l.value||[]]),v=vue.computed(()=>(i.pluginGroupList.find(g=>g.name==="agent")?.children.length||0)>10);vue.watch(()=>i.pluginGroupList,g=>{const w=[{id:"logic",name:"逻辑",iconUrl:logicImg,type:"group",width:88,children:n}];g.forEach(d=>{w.push({id:d.name,name:d.alias,iconUrl:d.iconUrl,type:"group",width:d.name==="data"?160:280,children:d.children.map(k=>{if(d.name==="data"){const{id:C,name:B,alias:D}=k;return{id:C,name:D,icon:o[B]}}else if(d.name==="agent"){const{id:C,alias:B,name:D}=k;return{id:C,name:B,enName:D}}else if(d.name==="bkflow"){const{id:C,name:B}=k;return{id:C,name:B}}return k})})}),l.value=w,u.value=[...l.value]},{immediate:!0});const _=g=>{const w=g.trim().toLowerCase();if(w===""){u.value=[...l.value];return}const d=[];l.value.forEach(k=>{if(k.name.toLowerCase().includes(w))d.push(k);else if(k.type==="group"){const C=[];k.children?.forEach(B=>{B.name.toLowerCase().includes(w)&&C.push(B)}),C.length>0&&d.push({...k,children:C})}}),u.value=d},m=()=>{c.value="",u.value=[...l.value]},p=g=>{r("addNode",g)},h=(g,w)=>{w==="bkflow"?f("bkflow",g):r("addPlugin",g,w)},f=(g,w=0)=>{r("openPluginSelect",g,w)},y=g=>{if(g==="agent"&&!v.value){const{href:w}=a.resolve({name:"spaceResource",params:s.params});window.open(w,"_blank")}else f(g)};return(g,w)=>{const d=vue.resolveComponent("bk-input"),k=vue.resolveComponent("bk-button"),C=vue.resolveComponent("bk-popover"),B=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$G,[vue.createElementVNode("div",_hoisted_2$r,[vue.createVNode(d,{modelValue:c.value,"onUpdate:modelValue":w[0]||(w[0]=D=>c.value=D),placeholder:"搜索节点",type:"search",clearable:!0,onClear:m,onInput:_},null,8,["modelValue"])]),vue.createElementVNode("div",_hoisted_3$g,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(u.value,D=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:D.id},[D.type==="group"?(vue.openBlock(),vue.createBlock(C,{key:0,theme:"light",placement:"right-start","ext-cls":"plugin-child-popover",boundary:"parent",arrow:!1,width:D.width,"popover-delay":[0,100]},{content:vue.withCtx(()=>[D.id==="logic"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$g,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(D.children,R=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("i",{class:vue.normalizeClass(["bk-incident-icon",R.icon]),key:R.id,onClick:V=>p(R.id)},null,10,_hoisted_5$d)),[[B,{content:R.name,placement:"top"}]])),128))])):D.id==="data"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_6$7,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(D.children?.slice(0,10),R=>(vue.openBlock(),vue.createElementBlock("div",{class:"data-plugin-item",key:R.id,onClick:V=>h(R.id,"data")},[vue.createElementVNode("i",{class:vue.normalizeClass(["bk-incident-icon",R.icon])},null,2),vue.createElementVNode("div",_hoisted_8$4,vue.toDisplayString(R.name),1)],8,_hoisted_7$4))),128))])):D.id==="agent"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_9$4,[vue.createElementVNode("div",_hoisted_10$4,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(D.children?.slice(0,10),R=>(vue.openBlock(),vue.createElementBlock("div",{class:"agent-plugin-item",key:R.id,onClick:V=>h(R.id,"agent")},[vue.createElementVNode("span",_hoisted_12$2,vue.toDisplayString(R.name),1),vue.createElementVNode("span",_hoisted_13$2,"("+vue.toDisplayString(R.enName)+")",1)],8,_hoisted_11$4))),128))])])):D.id==="bkflow"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_14$1,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(D.children?.slice(0,10),R=>(vue.openBlock(),vue.createElementBlock("div",{class:"bkflow-tag-item",key:R.id,onClick:V=>h(R.id,"bkflow")},vue.toDisplayString(R.name),9,_hoisted_15$1))),128))])):vue.createCommentVNode("",!0),D.children&&D.children.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:4,class:"group-empty-exception",title:`暂无${D.name}插件`},null,8,["title"])):vue.createCommentVNode("",!0),D.id==="agent"||D.children&&D.children.length>10?(vue.openBlock(),vue.createElementBlock("div",{key:5,class:"list-footer",onClick:R=>y(D.id)},[vue.createVNode(k,{theme:"primary",text:"",size:"small"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(D.id==="agent"&&!v.value?"申请更多权限":"更多"),1)]),_:2},1024),w[1]||(w[1]=vue.createElementVNode("i",{class:"bk-incident-icon incident-arrow2"},null,-1))],8,_hoisted_16$1)):vue.createCommentVNode("",!0)]),default:vue.withCtx(()=>[vue.createVNode(OptionItem,{option:D},null,8,["option"])]),_:2},1032,["width"])):(vue.openBlock(),vue.createBlock(OptionItem,{key:1,option:D,onClick:R=>f(D.id)},null,8,["option","onClick"]))],64))),128)),u.value.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:0,"is-search":c.value.length>0,onClear:m},null,8,["is-search"])):vue.createCommentVNode("",!0)])])}}}),QuickAddNodePopover=_export_sfc(_sfc_main$J,[["__scopeId","data-v-4160e00b"]]),_hoisted_1$F={class:"custom-node"},_hoisted_2$q={key:0,class:"add-node-popover"},_sfc_main$I=vue.defineComponent({__name:"index",props:{editable:{type:Boolean},pluginGroupList:{default:()=>[]}},emits:["addNode","addPlugin","addNodeAndSelectPlugin","addBtnClick","deleteBtnClick","copyNodeClick","copyNodeAndInsertClick","detachEdgesClick"],setup(e,{emit:t}){const n={startpoint:Start,endpoint:End,tasknode:Task,branchgateway:BranchGateway,parallelgateway:ParallelGateway,conditionalparallelgateway:ConditionalParallelGateway,convergegateway:ConvergeGateway},o=vue.inject("getNode");if(!o)throw new Error("getNode is not defined");const a=e,s=t,i=vue.ref({id:"",type:"",name:""}),r=vue.ref(),l=vue.ref(!1),c=vue.computed(()=>{const f=o(),{type:y}=f.getData();return n[y]});vue.onMounted(()=>{const f=o();i.value=f.getData(),f.on("change:data",({current:y})=>{i.value=y})}),vue.onBeforeUnmount(()=>{r.value?.resetPopover()});const u=f=>{s("addNode",i.value.id,f),r.value.hide()},v=(f,y)=>{s("addPlugin",i.value.id,f,y),r.value.hide()},_=(f,y=0)=>{s("addNodeAndSelectPlugin",i.value.id,f,y),r.value.hide()},m=()=>{l.value=!0,s("addBtnClick",i.value.id)},p=()=>{s("deleteBtnClick",i.value.id)},h=f=>{f==="copyNode"?s("copyNodeClick",i.value.id):f==="copyNodeAndInsert"?s("copyNodeAndInsertClick",i.value.id):f==="detachEdges"&&s("detachEdgesClick",i.value.id)};return(f,y)=>{const g=vue.resolveComponent("bk-popover");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$F,[["task","tasknode"].includes(i.value.type)?(vue.openBlock(),vue.createBlock(NodeConfigFlags,{key:0,node:i.value,editable:a.editable},null,8,["node","editable"])):vue.createCommentVNode("",!0),(vue.openBlock(),vue.createBlock(g,{ref_key:"popoverRef",ref:r,"ext-cls":"custom-node-popover",placement:"bottom-end",theme:"light",disabled:!a.editable||i.value.type==="endpoint",content:i.value.name,key:i.value.id,arrow:!1,onAfterHidden:y[0]||(y[0]=w=>l.value=!1)},{content:vue.withCtx(()=>[vue.createElementVNode("div",{class:vue.normalizeClass(["add-btn",i.value.type==="tasknode"?"type-task-node":""])},[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-add-fill",onClick:m}),l.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$q,[vue.createVNode(QuickAddNodePopover,{"plugin-group-list":a.pluginGroupList,onAddNode:u,onOpenPluginSelect:_,onAddPlugin:v},null,8,["plugin-group-list"])])):vue.createCommentVNode("",!0)],2),vue.createVNode(NodeOperateActions,{onDelete:p,onMoreBtnClick:h})]),default:vue.withCtx(()=>[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(c.value),{node:i.value,class:vue.normalizeClass(i.value.status?i.value.status.toLowerCase():"")},null,8,["node","class"]))]),_:1},8,["disabled","content"]))])}}}),CustomNode=_export_sfc(_sfc_main$I,[["__scopeId","data-v-2eb82156"]]),_sfc_main$H=vue.defineComponent({__name:"canvas",props:{pipelineTree:{},editable:{type:Boolean},hideTool:{type:Boolean}},emits:["nodeMoving","nodeMoved","nodeClick","edgeClick","edgeLabelClick","edgeLabelUpdate","nodeDbClick","nodeMouseenter","nodeMouseleave","edgeMouseenter","edgeMouseleave","updatePipelineTree","addNode","deleteNode","copyNode","copyNodeAndInsert","detachEdges","deleteEdge"],setup(e,{expose:t,emit:n}){const o=vue.useSlots(),a=x6VueShape.getTeleport(),s=e,i=n,r=vue.shallowRef(null),l=vue.shallowRef(),c=vue.ref(lodash.cloneDeep(s.pipelineTree)),u=vue.ref(!1);vue.watch(()=>s.pipelineTree,()=>{c.value=lodash.cloneDeep(s.pipelineTree)}),vue.onMounted(()=>{v(),_();const{x:A,y:z}=r.value.getContentArea();r.value.positionPoint({x:A,y:z},40,134)});const v=()=>{r.value=new x6.Graph({container:l.value,grid:{size:1,visible:!1},panning:!0,mousewheel:{enabled:!0,modifiers:["ctrl"]},scaling:{min:.25,max:1.5},virtual:!1,connecting:{allowBlank:!1,allowLoop:!1,allowNode:!1,allowEdge:!1,allowMulti:!1,highlight:!1,snap:{radius:15},router:{name:"manhattan",args:{padding:1}},connector:{name:"rounded",args:{radius:6}},connectionPoint:"anchor",createEdge(){return new x6.Shape.Edge({id:`line${uuid()}`,attrs:{line:{stroke:"#a9adb6",strokeWidth:2,targetMarker:{name:"block",width:6,height:8}}},data:{},zIndex:0})},validateEdge:p},interacting:{nodeMovable:s.editable,edgeLabelMovable:s.editable,arrowheadMovable:s.editable},highlighting:{magnetAvailable:{name:"stroke",args:{attrs:{fill:"#fff",stroke:"#31d0c6","stroke-width":1}}},magnetAdsorbed:{name:"stroke",args:{attrs:{fill:"#fff",stroke:"#3a84ff","stroke-width":2}}}},onEdgeLabelRendered:A=>{const{label:z}=A.label,F=A.selectors.foContent;if(F){const G=document.createElement("div");return G.classList.add("branch-condition"),z.isDefault&&G.classList.add("default-branch"),G.innerText=z.name,G.title=z.name,Array.isArray(F)?F.length>0&&F[0].appendChild(G):F.appendChild(G),()=>{Array.isArray(F)?F.length>0&&F[0].contains(G)&&F[0].removeChild(G):F.contains(G)&&F.removeChild(G)}}}}),window.__x6_instances__=[r.value],r.value.use(new x6PluginSnapline.Snapline({enabled:!0,className:"custom-snap-line",tolerance:2})),r.value.use(new x6PluginClipboard.Clipboard({enabled:!0})),r.value.use(new x6PluginSelection.Selection({enabled:!1,multiple:!0,rubberband:!1,showNodeSelectionBox:!0,pointerEvents:"none"})),m(),registryEvents(r.value,s.editable),r.value.on("node:moving",h),r.value.on("node:moved",y),r.value.on("node:click",lodash.debounce(w,200)),r.value.on("node:dblclick",d),r.value.on("node:mouseenter",k),r.value.on("node:mouseleave",C),r.value.on("edge:click",lodash.debounce(B,200)),r.value.on("edge:mouseenter",D),r.value.on("edge:click",R),r.value.on("edge:added",V),r.value.on("edge:change:labels",Z),r.value.on("edge:mouseenter",({cell:A})=>{s.editable&&A.addTools([{name:"button-remove",args:{distance:.5,onClick:()=>{i("deleteEdge",A)}}}])}),r.value.on("edge:mouseleave",({cell:A})=>{A.removeTools()})},_=()=>{const A=transLocationsToNodes(c.value.location,c.value.activities),z=transLinesToEdges(c.value.line);r.value?.addNodes(A),r.value?.addEdges(z)},m=()=>{x6VueShape.register({shape:"custom-node",ports:{...ports},component:o.customNode?vue.h("div",{style:{width:"100%",height:"100%"}},o.customNode()):vue.h(CustomNode,{editable:s.editable,onAddBtnClick:A=>{i("addNode",A)},onDeleteBtnClick:A=>{i("deleteNode",A)},onCopyNodeClick:A=>{i("copyNode",A)},onCopyNodeAndInsertClick:A=>{i("copyNodeAndInsert",A)},onDetachEdgesClick:A=>{i("detachEdges",A)}})})},p=({edge:A})=>{const z=c.value.line.filter(ae=>ae.id!==A.id),F=A.source,G=A.target,H=F.port.split("_")[1]||"",W=G.port?.split("_")[1]||"",q={id:A.id,source:{id:F.cell,arrow:`${H.charAt(0).toUpperCase()}${H.slice(1)}`},target:{id:G.cell,arrow:`${W.charAt(0).toUpperCase()}${W.slice(1)}`}},X=validateEdge(q,z,c.value.location);if(X.valid){const ae=A.id in s.pipelineTree.flows;if(console.log(ae),ae){const ie=c.value.line.find(ne=>ne.id===A.id);b(ie,q)}else T([q]),V({cell:A})}else BkMessage({message:X.message,theme:"warning"});return X.valid},h=({node:A})=>{i("nodeMoving",A)},f=({node:A})=>{},y=({node:A})=>{const z=A.position(),F=[...c.value.location],G=F.findIndex(H=>H.id===A.id);F.splice(G,1,{...F[G],x:z.x,y:z.y}),c.value={...c.value,location:F},J(),i("nodeMoved",A)},g=({node:A})=>{const z=r.value?.getCellById(A.id);if(z){const F=z.getData().type,G=z.position();F==="tasknode"?$(A.id,G):E(A.id,F,G)}},w=({e:A,node:z})=>{A.detail===1&&i("nodeClick",z)},d=({node:A})=>{i("nodeDbClick",A)},k=({node:A})=>{i("nodeMouseenter",A)},C=({node:A,e:z})=>{i("nodeMouseleave",A,z)},B=({e:A,edge:z})=>{if(parentClsContains("branch-condition",A.target)){i("edgeLabelClick",z);return}i("edgeClick",z,A)},D=({edge:A})=>{i("edgeMouseenter",A)},R=({edge:A})=>{i("edgeMouseleave",A)},V=({cell:A})=>{vue.nextTick(()=>{const z=A.source?.cell||A.source,G=I(z)[A.id];if(G){const H=document.createElement("span");H.innerText=G.name,H.style.fontSize="12px",H.style.padding="0 6px",document.body.appendChild(H);let{width:W=0}=H.getBoundingClientRect();W>112?W=112:W<60&&(W=60),document.body.removeChild(H);const q=G.loc||-W/2-20;A.appendLabel({markup:x6.Markup.getForeignObjectMarkup(),attrs:{fo:{width:W,height:26,x:-W,y:-13}},label:{...G,lineId:A.id,sourceId:z},position:{distance:q,offset:{x:W/2,y:0}}})}})},O=A=>{const F=r.value.getEdges().find(G=>G.id===A);F&&(F.removeLabelAt(0),V({cell:F}))},Z=({edge:A,current:z,previous:F})=>{if(!F||!F.length||!z.length)return;const W=r.value.findViewByCell(A.id).container.querySelector(`.${A.id}`).getTotalLength();z.forEach(q=>{const{width:X}=q.attrs.fo;q.position.offset={x:X/2,y:0};const ae=(X/2+20)/W,ie=1-ae,ne=Math.max(ae,Math.min(ie,q.position.distance));q.position.distance=ne;const{sourceId:se,isDefault:de=!1}=q.label;K(A.id,se,de,ne)})},I=A=>{const z=c.value.gateways[A];let F={};if(z){const{conditions:G,default_condition:H}=z;G&&(F={...G}),H&&H.flow_id&&(F[H.flow_id]={...H,isDefault:!0})}return F},$=(A,z,F={})=>{const G={...c.value.activities},H=[...c.value.location],W=getActivityConfig(A,F),{name:q,error_ignorable:X,retryable:ae,skippable:ie,auto_retry:ne,component:se={}}=W;j(A,{id:A,name:q,error_ignorable:X,retryable:ae,skippable:ie,auto_retry:ne,component:se,type:"tasknode"}),G[A]=W,H.push({id:A,type:"tasknode",x:z.x,y:z.y,name:q}),c.value={...c.value,activities:G,location:H},J()},E=(A,z,F,G={})=>{const W={branchgateway:"ExclusiveGateway",parallelgateway:"ParallelGateway",conditionalparallelgateway:"ConditionalParallelGateway",convergegateway:"ConvergeGateway"}[z],q={...c.value.gateways},X=[...c.value.location],ae=getGatewayConfig(A,W,G);console.log("gateway: ",ae),j(A,{id:A}),q[A]=ae,X.push({id:A,type:z,x:F.x,y:F.y}),c.value={...c.value,gateways:q,location:X},J()},T=A=>{const{start_event:z,end_event:F,activities:G,gateways:H,flows:W,location:q,line:X}=lodash.cloneDeep(c.value);A.forEach(ae=>{const{id:ie,source:ne,target:se}=ae;X.push(ae),W[ae.id]={id:ie,source:ne.id,target:se.id,is_default:!1};const de=q.find(ce=>ce.id===ne.id),ve=q.find(ce=>ce.id===se.id);if(de){if(de.type==="startpoint")z.outgoing=ie;else if(de.type==="tasknode")G[ne.id].outgoing=ie;else if(de.type.includes("gateway")){const ce=H[ne.id];if(Array.isArray(ce.outgoing)?ce.outgoing.push(ie):ce.outgoing=ie,["ExclusiveGateway","ConditionalParallelGateway"].includes(ce.type)){const he={...ce.conditions||{}},ye=Object.keys(he).length;he[ie]={name:`条件${ye+1}`,tag:`branch_${ne.id}_${se.id}`,evaluate:ye>0?"1 == 0":"1 == 1"},ce.conditions=he}}}ve&&(ve.type==="endpoint"?F.incoming.push(ie):ve.type==="tasknode"?G[se.id].incoming.push(ie):ve.type.includes("gateway")&&H[se.id].incoming.push(ie))}),c.value={...c.value,start_event:z,end_event:F,activities:G,gateways:H,flows:W,line:X},J()},b=(A,z)=>{const F=z.id,G=lodash.cloneDeep(c.value),H=A.source.id!==z.source.id,W=H?A.source.id:A.target.id,q=H?z.source.id:z.target.id;H?G.flows[F].source=q:G.flows[F].target=q;const X=G.line.findIndex(se=>se.id===F);X>-1&&G.line.splice(X,1,z);const ae=getNodeById(q,G),ie=getNodeById(W,G),ne=H?"outgoing":"incoming";Array.isArray(ae[ne])?ae[ne].push(F):ae[ne]=F,Array.isArray(ie[ne])?ie[ne]=ie[ne].filter(se=>se!==F):ie[ne]="",c.value=G,J()},x=A=>{const z=transLinesToEdges(A);r.value?.addEdges(z),T(A)},N=A=>{r.value?.removeNode(A);const z=[];c.value.line.forEach(ne=>{(ne.source.id===A||ne.target.id===A)&&z.push(ne.id)});const F=L(z),{activities:G,gateways:H,flows:W,location:q,line:X,start_event:ae,end_event:ie}=F;G[A]?delete G[A]:H[A]&&delete H[A],q.splice(q.findIndex(ne=>ne.id===A),1),c.value={...c.value,activities:G,gateways:H,flows:W,location:q,line:X,start_event:ae,end_event:ie},J()},P=A=>{A.forEach(z=>{r.value?.removeEdge(z)}),c.value=L(A),J()},L=A=>{const z={...c.value.activities},F={...c.value.gateways},G={...c.value.flows},H=[...c.value.line],W={...c.value.start_event},q={...c.value.end_event};return A.forEach(X=>{delete G[X],H.splice(H.findIndex(ae=>ae.id===X),1),Object.keys(z).forEach(ae=>{if(z[ae].incoming.includes(X)||z[ae].outgoing===X){const ie=lodash.cloneDeep(z[ae]),{incoming:ne,outgoing:se}=ie;ne.includes(X)&&ne.splice(ne.findIndex(de=>de===X),1),se===X&&(ie.outgoing=""),z[ae]=ie}}),Object.keys(F).forEach(ae=>{const ie=lodash.cloneDeep(F[ae]),{incoming:ne,outgoing:se,conditions:de,default_condition:ve}=ie;F[ae].incoming.includes(X)&&ne.includes(X)&&ne.splice(ne.findIndex(ce=>ce===X),1),Array.isArray(se)?se.includes(X)&&se.splice(se.findIndex(ce=>ce===X),1):se===X&&(ie.outgoing=""),de&&de[X]&&delete de[X],ve&&ve.flow_id===X&&delete ie.default_condition,F[ae]=ie}),W.outgoing===X&&(W.outgoing=""),q.incoming.includes(X)&&(q.incoming=q.incoming.filter(ae=>ae!==X))}),{...c.value,activities:z,gateways:F,flows:G,line:H,start_event:W,end_event:q}},j=(A,z)=>{const F=r.value?.getCellById(A),G=F?.data.type;F&&F.setData({...F.data,...z,type:G})},K=lodash.debounce((A,z,F,G)=>{const H={...c.value.gateways};if(H[z]){const W=lodash.cloneDeep(H[z]);F&&W.default_condition?W.default_condition={...W.default_condition,loc:G}:W.conditions&&W.conditions[A]&&(W.conditions[A]={...W.conditions[A],loc:G}),H[z]=W,c.value={...c.value,gateways:H},J()}},300),ee=async()=>{if(u.value)return;const A=200,z=s.pipelineTree.location.map(me=>me.x),F=s.pipelineTree.location.map(me=>me.y),G=Math.min(...z),H=Math.max(...z),W=Math.min(...F),q=Math.max(...F),X=G<0?-G:0,ae=W<0?-W:0;let ie=0;const ne=document.documentElement.offsetWidth-60,se=document.documentElement.offsetHeight-60-50;G<0?ie=H>ne?H-G:ne-G:ie=H>ne?H:ne;let de=0;W<0?de=q>se?q-W:se-W:de=q>se?q:se;const ve=de+A+30,ce=ie+A+80,he=await domtoimage.toJpeg(l.value,{bgcolor:"#ffffff",height:ve,width:ce,cloneBack:me=>{const Ce=me.querySelector(".x6-graph-svg");Ce.style.width=`${ce}px`,Ce.style.height=`${ve}px`;const Ae=me.querySelector(".x6-graph-svg-viewport");Ae.style.transform=`translate(${`${X+30}px`}, ${`${ae+30}px`})`}});u.value=!0;const ye=document.createElement("a");ye.download=`bkflow_template_canvas_${+new Date}.png`,ye.href=he,ye.click(),u.value=!1},J=()=>{i("updatePipelineTree",c.value)};return t({graph:r,createActivity:$,createGateway:E,deleteNode:N,deleteEdges:P,insertEdgesToCanvas:x,updateEdgeLabel:O,updateNodeData:j}),(A,z)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["bkflow-canvas-container",{"bkflow-canvas-view":!s.editable}])},[r.value&&!s.hideTool?(vue.openBlock(),vue.createBlock(Tool,{key:0,instance:r.value,onDownload:ee},null,8,["instance"])):vue.createCommentVNode("",!0),r.value&&s.editable?(vue.openBlock(),vue.createBlock(Dnd,{key:1,instance:r.value,onDragging:f,onDragEnd:g},null,8,["instance"])):vue.createCommentVNode("",!0),vue.createElementVNode("div",{ref_key:"graphContainerRef",ref:l,class:"graph-container"},null,512),vue.createVNode(vue.unref(a))],2))}}),BkFlowCanvas=_export_sfc(_sfc_main$H,[["__scopeId","data-v-89f6970f"]]),getUniformApiPluginFormValue$1=e=>"default"in e?e.default:"",_hoisted_1$E={class:"bkflow-variable-table"},_hoisted_2$p={class:"operate-wrapper"},_hoisted_3$f={class:"btns-list"},_hoisted_4$f={class:"toggle-system-variables"},_hoisted_5$c={class:"variable-table-wrapper"},_hoisted_6$6={class:"var-check-cell"},_hoisted_7$3={key:0,class:"bkflow-canvas-icon bkflow-canvas-lock-disable"},_hoisted_8$3={class:"cell-text"},_hoisted_9$3={class:"cell-text"},_hoisted_10$3={class:"copy-icon-wrapper"},_hoisted_11$3={class:"table-row-actions"},_hoisted_12$1=["onClick"],_hoisted_13$1=["onClick"],_sfc_main$G=vue.defineComponent({__name:"global-variable-table",props:{constants:{default:()=>({})},systemVariables:{default:()=>[]},editable:{type:Boolean,default:!0},outputs:{default:()=>[]},customVariableTypes:{default:()=>[]},variablesReference:{default:()=>({defined:{},nodefined:{}})}},emits:["create","edit","clone","delete","outputChange","updateConstants"],setup(e,{emit:t}){const n=e;vue.watch(()=>n.outputs,d=>{console.log("outputs",d)});const o=t,a=vue.ref(!1),s=vue.ref([]),i=vue.computed(()=>{const d=Object.values(n.constants).sort((k,C)=>k.index-C.index);return a.value?d:[...n.systemVariables,...d]}),r={cellFn:d=>{const k=s.value.length,C=Object.values(n.constants).length,B=C>0&&k===C,D=k>0&&k<C;if(d.index===0)return vue.createVNode(vue.Fragment,null,[vue.createVNode(vue.resolveComponent("bk-checkbox"),{modelValue:B,indeterminate:D,disabled:!n.editable,onChange:v},null)]);if(["reference","outputs"].includes(d.column.prop)){const R={content:d.column.prop==="reference"?"直接引用全局变量的节点数量,点击数字查看引用详情":"表示该变量会作为该流程模板的输出参数,在被其他流程模板当做子流程节点时可以引用。",placement:"top"};return vue.createVNode("div",{class:"thead-custom"},[d.column.label,vue.withDirectives(vue.createVNode(icon.Info,{class:"info-icon"},null),[[vue.resolveDirective("bk-tooltips"),R]])])}return d.column.label}},l=d=>d.source_type==="system"?"系统变量":d.source_type==="custom"?n.customVariableTypes.find(C=>C.code===d.custom_type)?.name||"自定义":"组件",c=d=>{const k=d.length>1?`确认删除所选的${d.length}个变量?`:`确认删除全局变量"${d[0]}"?`;lib.InfoBox({title:k,content:"若该变量被节点引用,请及时检查并更新节点配置",width:450,headerAlign:"center",footerAlign:"center",confirmText:"确认",cancelText:"取消",onConfirm:()=>{const C={...n.constants};d.slice().forEach(B=>{delete C[B];const D=s.value.indexOf(B);D!==-1&&s.value.splice(D,1)}),o("updateConstants",C),w(d)},onCancel:()=>{}})},u=(d,k)=>{o("edit",k)},v=d=>{d?s.value=Object.keys(n.constants):s.value=[]},_=(d,k)=>{const C=s.value.indexOf(k);d?C===-1&&s.value.push(k):C!==-1&&s.value.splice(C,1)},m=d=>{if(n.variablesReference?.defined&&d in n.variablesReference.defined){const{activities:k,conditions:C,constants:B}=n.variablesReference.defined[d];return k.length+C.length+B.length}return 0},p=()=>{c(s.value)},h=d=>{c([d.key])},f=d=>{const k=document.createElement("textarea");k.value=d.toString(),document.body.appendChild(k),k.select(),document.execCommand("copy"),document.body.removeChild(k),lib.Message({theme:"success",message:"复制成功"})},y=(d,k)=>{const C={...n.constants};C[d.key]={...d,show_type:k?"show":"hide"},o("updateConstants",C)},g=(d,k)=>{o("outputChange",d,k)},w=d=>{o("delete",d)};return(d,k)=>{const C=vue.resolveComponent("bk-button"),B=vue.resolveComponent("bk-checkbox"),D=vue.resolveComponent("bk-table-column"),R=vue.resolveComponent("bk-overflow-title"),V=vue.resolveComponent("bk-switcher"),O=vue.resolveComponent("bk-popover"),Z=vue.resolveComponent("bk-table"),I=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$E,[vue.createElementVNode("div",_hoisted_2$p,[vue.createElementVNode("div",_hoisted_3$f,[vue.createVNode(C,{theme:"primary",onClick:k[0]||(k[0]=$=>o("create"))},{default:vue.withCtx(()=>[...k[7]||(k[7]=[vue.createTextVNode("新建",-1)])]),_:1}),s.value.length>0?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(C,{onClick:p},{default:vue.withCtx(()=>[...k[8]||(k[8]=[vue.createTextVNode("删除",-1)])]),_:1}),vue.createElementVNode("span",null,"已选择"+vue.toDisplayString(s.value.length)+"项",1),vue.createVNode(C,{class:"clear-checked-btn",theme:"primary",size:"small",text:"",onClick:k[1]||(k[1]=$=>s.value=[])},{default:vue.withCtx(()=>[...k[9]||(k[9]=[vue.createTextVNode(" 清空 ",-1)])]),_:1})],64)):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_4$f,[vue.createVNode(B,{modelValue:a.value,"onUpdate:modelValue":k[2]||(k[2]=$=>a.value=$)},{default:vue.withCtx(()=>[...k[10]||(k[10]=[vue.createTextVNode("隐藏系统变量",-1)])]),_:1},8,["modelValue"])])]),vue.createElementVNode("div",_hoisted_5$c,[vue.createVNode(Z,{data:i.value,border:["outer"],thead:r,onRowClick:u},{default:vue.withCtx(()=>[vue.createVNode(D,{"min-width":40,width:40},{default:vue.withCtx(({row:$})=>[vue.createElementVNode("div",_hoisted_6$6,[$.source_type==="system"?(vue.openBlock(),vue.createElementBlock("i",_hoisted_7$3)):(vue.openBlock(),vue.createElementBlock("span",{key:1,onClick:k[3]||(k[3]=vue.withModifiers(()=>{},["stop"]))},[vue.createVNode(B,{"model-value":s.value.includes($.key),disabled:!n.editable,onChange:E=>_(E,$.key)},null,8,["model-value","disabled","onChange"])]))])]),_:1}),vue.createVNode(D,{label:"名称",prop:"name",width:150},{default:vue.withCtx(({row:$})=>[vue.createElementVNode("div",_hoisted_8$3,[vue.createVNode(R,{type:"tips"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString($.name),1)]),_:2},1024)])]),_:1}),vue.createVNode(D,{label:"KEY",prop:"key","min-width":120},{default:vue.withCtx(({row:$})=>[vue.createElementVNode("div",_hoisted_9$3,[vue.createVNode(R,{type:"tips"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString($.key),1)]),_:2},1024)]),vue.createElementVNode("span",_hoisted_10$3,[vue.withDirectives(vue.createVNode(vue.unref(icon.CopyShape),{onClick:vue.withModifiers(E=>f($.key),["stop"])},null,8,["onClick"]),[[I,{content:"复制",placement:"top"}]])])]),_:1}),vue.createVNode(D,{label:"引用",prop:"reference",width:70,"min-width":60},{default:vue.withCtx(({row:$})=>[vue.createTextVNode(vue.toDisplayString(m($.key)),1)]),_:1}),vue.createVNode(D,{label:"类型",prop:"type",width:80,"min-width":80},{default:vue.withCtx(({row:$})=>[vue.createTextVNode(vue.toDisplayString(l($)),1)]),_:1}),vue.createVNode(D,{label:"显示(入参)",prop:"value",width:110},{default:vue.withCtx(({row:$})=>[vue.createVNode(V,{theme:"primary",size:"small",value:$.show_type==="show",disabled:!n.editable||["system","component_outputs"].includes($.source_type),onClick:k[4]||(k[4]=vue.withModifiers(()=>{},["stop"])),onChange:E=>y($,E)},null,8,["value","disabled","onChange"])]),_:1}),vue.createVNode(D,{label:"输出",prop:"outputs",width:70,"min-width":60},{default:vue.withCtx(({row:$})=>[vue.createVNode(V,{theme:"primary",size:"small",value:n.outputs.includes($.key),disabled:!n.editable||$.source_type==="system",onClick:k[5]||(k[5]=vue.withModifiers(()=>{},["stop"])),onChange:E=>g($.key,E)},null,8,["value","disabled","onChange"])]),_:1}),vue.createVNode(D,{label:"操作",prop:"description",width:70,"min-width":70,fixed:"right"},{default:vue.withCtx(({row:$})=>[vue.createElementVNode("div",_hoisted_11$3,[n.editable&&$.source_type!=="system"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(C,{theme:"primary",size:"small",text:"",onClick:vue.withModifiers(E=>o("edit",$),["stop"])},{default:vue.withCtx(()=>[...k[11]||(k[11]=[vue.createTextVNode(" 编辑 ",-1)])]),_:1},8,["onClick"]),vue.createVNode(O,{placement:"bottom",theme:"light","ext-cls":"varibale-table-action-popover",width:90},{content:vue.withCtx(()=>[vue.createElementVNode("div",{class:"more-action-item",onClick:E=>o("clone",$)},"克隆",8,_hoisted_12$1),vue.createElementVNode("div",{class:"more-action-item",onClick:E=>h($)},"删除",8,_hoisted_13$1)]),default:vue.withCtx(()=>[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-more-fill row-action-more",onClick:k[6]||(k[6]=vue.withModifiers(()=>{},["stop"]))})]),_:2},1024)],64)):(vue.openBlock(),vue.createBlock(C,{key:1,theme:"primary",size:"small",text:""},{default:vue.withCtx(()=>[...k[12]||(k[12]=[vue.createTextVNode("查看",-1)])]),_:1}))])]),_:1})]),_:1},8,["data"])])])}}}),GlobalVariableTable=_export_sfc(_sfc_main$G,[["__scopeId","data-v-49065388"]]),_hoisted_1$D={class:"plugin-form-renderform"},_sfc_main$F=vue.defineComponent({__name:"index",setup(e){return(t,n)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$D,[vue.createVNode(EmptyException,{title:"暂无插件表单"})]))}}),BKflowPluginFormRenderForm=_export_sfc(_sfc_main$F,[["__scopeId","data-v-4ab46214"]]),_hoisted_1$C={class:"bkflow-variable-edit"},_hoisted_2$o={class:"basic-info-section"},_sfc_main$E=vue.defineComponent({__name:"global-variable-edit",props:{variable:{},editable:{type:Boolean,default:!0},variablesReference:{default:()=>({defined:{},nodefined:{}})},customVariableTypes:{default:()=>[]}},emits:["change"],setup(e,{expose:t,emit:n}){const o=e,a=n,s=vue.ref(lodash.cloneDeep(o.variable)),i=vue.ref(o.variable.key),r=vue.ref(),l={name:[{required:!0,message:"请输入变量名称"}],key:[{validator:y=>y.trim().length>0,message:"KEY不能为空",trigger:"blur"},{validator:y=>/(^\${(?!_env_|_system\.)[a-zA-Z_]\w*}$)|(^(?!_env_|_system\.)[a-zA-Z_]\w*$)/.test(y),message:"变量KEY由英文字母、数字、下划线组成,不允许使用系统变量及业务环境变量命名规则,且不能以数字开头",trigger:"blur"}],validation:[{required:!0,message:"请输入正则校验"}]},c=vue.computed(()=>o.variable.source_type!=="custom"?[{value:"component_inputs",label:"组件"},{value:"component_outputs",label:"组件"}]:o.customVariableTypes.filter(y=>["textarea","input","int","json_variable"].includes(y.code)).map(y=>({value:y.code,label:y.name}))),u=vue.computed(()=>({...s.value,key:i.value})),v=vue.computed(()=>{if(o.variable.key.length>0&&o.variablesReference?.defined&&o.variablesReference.defined[o.variable.key]){const{activities:y,conditions:g,constants:w}=o.variablesReference.defined[o.variable.key];return y.length+g.length+w.length>0}return!1}),_=()=>{s.value.key=i.value,f()},m=y=>{s.value.custom_type=y,["textarea","input"].includes(y)?s.value.validation="^.+$":s.value.validation="",s.value.source_tag=`${y}.${y}`,f()},p=y=>{s.value.value=y[s.value.key],a("change",lodash.cloneDeep(s.value))},h=()=>r.value.validate().then(()=>!0).catch(()=>!1),f=()=>{a("change",lodash.cloneDeep(s.value))};return t({validate:h}),(y,g)=>{const w=vue.resolveComponent("bk-input"),d=vue.resolveComponent("bk-form-item"),k=vue.resolveComponent("bk-select"),C=vue.resolveComponent("bk-option"),B=vue.resolveComponent("bk-form"),D=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$C,[vue.createElementVNode("div",_hoisted_2$o,[g[5]||(g[5]=vue.createElementVNode("h4",{class:"variable-edit-section-title"},"基础信息",-1)),vue.createVNode(B,{ref_key:"basicInfoFormRef",ref:r,"label-width":130,model:u.value,rules:l},{default:vue.withCtx(()=>[vue.createVNode(d,{label:"名称",required:"",property:"name"},{default:vue.withCtx(()=>[vue.createVNode(w,{modelValue:s.value.name,"onUpdate:modelValue":g[0]||(g[0]=R=>s.value.name=R),disabled:!o.editable,onChange:f},null,8,["modelValue","disabled"])]),_:1}),vue.createVNode(d,{label:"KEY",required:"",property:"key"},{default:vue.withCtx(()=>[vue.withDirectives(vue.createVNode(w,{modelValue:i.value,"onUpdate:modelValue":g[1]||(g[1]=R=>i.value=R),disabled:!o.editable||v.value,onBlur:_},null,8,["modelValue","disabled"]),[[D,{content:"变量已被引用,KEY不可修改",disabled:o.editable&&!v.value}]])]),_:1}),vue.createVNode(d,{label:"类型"},{default:vue.withCtx(()=>[vue.createVNode(k,{"model-value":s.value.source_type==="custom"?s.value.custom_type:s.value.source_type,clearable:!1,list:c.value,disabled:!o.editable||s.value.source_type==="component_outputs",onChange:m},null,8,["model-value","list","disabled"])]),_:1}),s.value.custom_type==="input"?(vue.openBlock(),vue.createBlock(d,{key:0,label:"正则校验",property:"validation"},{default:vue.withCtx(()=>[vue.createVNode(w,{modelValue:s.value.validation,"onUpdate:modelValue":g[2]||(g[2]=R=>s.value.validation=R),disabled:!o.editable,onChange:f},null,8,["modelValue","disabled"])]),_:1})):vue.createCommentVNode("",!0),s.value.source_type!=="system"?(vue.openBlock(),vue.createBlock(d,{key:1,label:"执行时显示",description:"配置为「显示」可在执行时做为任务入参使用,配置为「隐藏」则仅能在流程内部使用"},{default:vue.withCtx(()=>[vue.createVNode(k,{modelValue:s.value.show_type,"onUpdate:modelValue":g[3]||(g[3]=R=>s.value.show_type=R),disabled:!o.editable||s.value.source_type==="component_outputs",clearable:!1,onChange:f},{default:vue.withCtx(()=>[vue.createVNode(C,{id:"show",name:"显示(入参)"}),vue.createVNode(C,{id:"hide",name:"隐藏(非入参)"})]),_:1},8,["modelValue","disabled"])]),_:1})):vue.createCommentVNode("",!0),s.value.source_type!=="system"?(vue.openBlock(),vue.createBlock(d,{key:2,label:"说明"},{default:vue.withCtx(()=>[vue.createVNode(w,{modelValue:s.value.desc,"onUpdate:modelValue":g[4]||(g[4]=R=>s.value.desc=R),type:"textarea",rows:4,resize:!1,disabled:!o.editable,onChange:f},null,8,["modelValue","disabled"])]),_:1})):vue.createCommentVNode("",!0)]),_:1},8,["model"])]),["components_input","custom"].includes(s.value.source_type)?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[g[6]||(g[6]=vue.createElementVNode("h4",{class:"variable-edit-section-title"},"默认值",-1)),vue.createVNode(BKflowPluginFormRenderForm,{variables:[s.value],editable:o.editable,onChange:p},null,8,["variables","editable"])],64)):vue.createCommentVNode("",!0)])}}}),GlobalVariableEdit=_export_sfc(_sfc_main$E,[["__scopeId","data-v-6e468587"]]),_hoisted_1$B={class:"slider-title"},_hoisted_2$n={key:0},_hoisted_3$e={class:"sub-title-text"},_hoisted_4$e={class:"global-variable-slider"},_hoisted_5$b={class:"sideslider-footer-buttons"},_sfc_main$D=vue.defineComponent({__name:"index",props:{show:{type:Boolean,default:!1},flowData:{},systemVariables:{default:()=>[]},editable:{type:Boolean,default:!0}},emits:["close","update:show","outputChange","change"],setup(e,{emit:t}){const n={create:"新建",edit:"编辑",clone:"克隆",view:"查看"},o=e,a=useFlowApiConfig(),s=t,i=vue.shallowRef({defined:{},nodefined:{}}),r=vue.shallowRef(!1),l=vue.shallowRef({type:"create",data:getVariableDefaultConfig(),oldKey:""}),c=vue.ref([]),u=vue.ref(),v=vue.computed(()=>Object.keys(o.flowData.pipeline_tree.constants).length);vue.watch(()=>o.show,B=>{B&&(m(),_())});const _=async()=>{if(a?.fetchCustomVariableTypes){const B=await a.fetchCustomVariableTypes();c.value=B.data}},m=async()=>{if(a?.fetchVariableRef){const{activities:B,constants:D,gateways:R}=o.flowData.pipeline_tree,V=await a.fetchVariableRef({template_id:o.flowData.id,activities:B,constants:D,gateways:R});i.value=V.data}},p=()=>{const B=getVariableDefaultConfig();B.index=v.value,l.value={type:"create",data:B},r.value=!0},h=B=>{l.value={type:!o.editable||B.source_type==="system"?"view":"edit",data:lodash.cloneDeep(B),oldKey:B.key},r.value=!0},f=B=>{const D=lodash.cloneDeep(B);D.key="",l.value={type:"clone",data:D},r.value=!0},y=B=>{l.value={...l.value,data:B}},g=async()=>{if(await u.value?.validate()){const D={...o.flowData.pipeline_tree.constants};let R=l.value.data.key.trim();/^\$\{\w+\}$/.test(R)||(R=`\${${R}}`,l.value.data.key=R),D[R]=l.value.data,l.value.type==="edit"&&l.value.oldKey!==l.value.data.key&&delete D[l.value.oldKey],r.value=!1,k(D)}},w=(B,D)=>{s("outputChange",B,D)},d=()=>{},k=B=>{s("change",B)},C=()=>{s("close"),s("update:show",!1),r.value=!1};return(B,D)=>{const R=vue.resolveComponent("bk-button"),V=vue.resolveComponent("bk-sideslider");return vue.openBlock(),vue.createBlock(V,{title:"全局变量","is-show":o.show,width:800,"esc-close":!1,"before-close":C},vue.createSlots({header:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$B,[vue.createElementVNode("span",{class:vue.normalizeClass([r.value?"main-title-text":""]),onClick:D[0]||(D[0]=O=>r.value=!1)},"全局变量",2),r.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$n,[D[3]||(D[3]=vue.createElementVNode("span",null,">",-1)),vue.createElementVNode("span",_hoisted_3$e,vue.toDisplayString(n[l.value.type]),1)])):vue.createCommentVNode("",!0)])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_4$e,[r.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(GlobalVariableTable,{key:0,constants:o.flowData.pipeline_tree.constants,"system-variables":o.systemVariables,outputs:o.flowData.pipeline_tree.outputs,"variables-reference":i.value,"custom-variable-types":c.value,editable:o.editable,onCreate:p,onEdit:h,onClone:f,onDelete:d,onUpdateConstants:k,onOutputChange:w},null,8,["constants","system-variables","outputs","variables-reference","custom-variable-types","editable"])),r.value?(vue.openBlock(),vue.createBlock(GlobalVariableEdit,{key:1,ref_key:"variableEditRef",ref:u,editable:o.editable&&l.value.type!=="view",variable:l.value.data,"variables-reference":i.value,"custom-variable-types":c.value,onChange:y},null,8,["editable","variable","variables-reference","custom-variable-types"])):vue.createCommentVNode("",!0)])]),_:2},[r.value?{name:"footer",fn:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_5$b,[o.editable&&l.value.type!=="view"&&l.value.data.source_type!=="system"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(R,{theme:"primary",onClick:g},{default:vue.withCtx(()=>[...D[4]||(D[4]=[vue.createTextVNode("确定",-1)])]),_:1}),vue.createVNode(R,{onClick:D[1]||(D[1]=O=>r.value=!1)},{default:vue.withCtx(()=>[...D[5]||(D[5]=[vue.createTextVNode("取消",-1)])]),_:1})],64)):(vue.openBlock(),vue.createBlock(R,{key:1,theme:"primary",onClick:D[2]||(D[2]=O=>r.value=!1)},{default:vue.withCtx(()=>[...D[6]||(D[6]=[vue.createTextVNode("返回",-1)])]),_:1}))])]),key:"0"}:void 0]),1032,["is-show"])}}}),GlobalVariables=_export_sfc(_sfc_main$D,[["__scopeId","data-v-7400bcc9"]]),_hoisted_1$A={key:0,class:"desc"},_hoisted_2$m={class:"section-content"},_sfc_main$C=vue.defineComponent({__name:"index",props:{title:{},desc:{}},setup(e){const t=e,n=vue.ref(!1),o=()=>{n.value=!n.value},a=l=>{const c=l;c.style.height="0",c.offsetHeight,c.style.height=`${l.scrollHeight}px`},s=l=>{const c=l;c.style.height=""},i=l=>{const c=l;c.style.height=`${c.scrollHeight}px`,c.offsetHeight,c.style.height="0"},r=l=>{const c=l;c.style.height=""};return(l,c)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["section-container",{fold:n.value}])},[vue.createElementVNode("div",{class:"section-title",onClick:o},[vue.createVNode(vue.unref(icon.AngleUpFill),{class:"arrow-icon"}),vue.createTextVNode(" "+vue.toDisplayString(t.title)+" ",1),t.desc?(vue.openBlock(),vue.createElementBlock("span",_hoisted_1$A,vue.toDisplayString(t.desc),1)):vue.createCommentVNode("",!0)]),vue.createVNode(vue.Transition,{name:"fold",css:!0,onEnter:a,onAfterEnter:s,onLeave:i,onAfterLeave:r},{default:vue.withCtx(()=>[vue.withDirectives(vue.createElementVNode("div",_hoisted_2$m,[vue.renderSlot(l.$slots,"default",{},void 0,!0)],512),[[vue.vShow,!n.value]])]),_:3})],2))}}),SectionContainer=_export_sfc(_sfc_main$C,[["__scopeId","data-v-c8f4294f"]]),WeixinIcon="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20width='48px'%20height='48px'%20viewBox='0%200%2048%2048'%20enable-background='new%200%200%2048%2048'%20xml:space='preserve'%3e%3cimage%20id='image0'%20width='48'%20height='48'%20x='0'%20y='0'%20href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJN%20AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAG%20yUlEQVRo3u2Zf2yVVxnHP897bymMArdjFV00zgGbLmFuiRkIjs0y3R9uWcyIzDmTVcqaOLUm8mMb%20WdAExF/ZIALK1oFCoSyLxmVGwqIIGkZNlmFrBTp+DDfnipEVNgrt7X2fr3+8t7e3t/f29uemSb/J%20Se59z/M+53zPec7z47wwjnGM4/8aNtwXa06tHrB/68x1/3sEciZtQAKYmvXMgXeAC+8VmaIEHjrx%20WPRDYDGbCHwSuBmYCXwY+GCWrm7gLHAGOAkcAVoUKuwZ6anZ33/vCCx79VEkEcSCacDngCXATcBH%20gNIiui8CbwAvA78EGj30DjPj6evWjz2BZa2PQowAZ76ZfQe4Aygb5jjngH2SthBwmBB/+vrRIZGX%20QPWxR7DArgDuB1ZizB6V0cQJ4EfAbrku1X3iB6NPoProKghsokENsAYoH5XJ96Id+J5gK67Ouht+%20OCJl8X6MjLjEg4LvEnmZ3MHPAFOAjwGxAnpD4DXgXeCanEUoJ9KdNKOO6OAPG0H2n6rmlbjzGbmW%20IyWQyGptSGuQFiN9FWkvkufIkH62Ny2zOP1OW45MQq5vuzO3qnnliHagD4Eg4EqkpUgz5SKn/Umu%20HcBpoFGurXJ15JHrkOvnQCNwWq6dcv05Vw5pFlJ1EHDlqBCoalqBxE0Sd/dfVJBISYRhtxN251v4%20TJNEchBygcQXJG6oaloxbALZZ6BErs9iNi2vpFQJVAEvAFfJVQNMxixXrgz4JpH9vynXPcCtkb9Q%20rtbpwC2e8sM1p1aHPQ+HErkzo1c1rZgG/BqoHEC+nehwlhFF4mKH+HxarhxIEqUYbRivGtaGcQ6j%20JV4aP2iBdWIk6aKTkjSRWcWJ9BL46/IKoJne1GC00A0cscAag5LY60E8KDOzG4GrMSqAacDbRFG7%20FXEYaDKzVndPwsDpR4bAg0eWfwBoASpGPGWlTcWsCeM38YnxVBAL5gC3m1kFBQKoEIgQOAH8FngO%20eEWuFEC+6J05A3KJKJscDYTA3ljcdsYmxhcBX5RUEXFTsXdjwMfT7W7gZxjbPfR38gn3ulEplcdf%20D6c5UkOsNPZMrDT+MKIaUYFgGO16xFrEOjObUX3skcIEJLokmuUa/txdyDkUlMQaglhQK2mhpCBP%20rBh8k8rkqkGsAsqWtqzKb0JInRIHgfuRCnmXYjhrAZuCeHCXXAtz+oTRbNgeYIpQFeJDWf0dGA2G%20HRW6A3EnvV6uBKgGjprZNrJMPTsSO9J+pMYRmM/z8dJ4iFiCCHLMoQNnbZgKf+yhr8XZntP/Is7j%20YTLciLMGcSKnfwriIUmzv9bcG/gyBHbc8iQSZyTqJS6kzWHwTZyT+CPGnXIl+puDu9zPmwiRknJ/%20N6e/Q+6XzHC5X5R7d44pIfeb5X5b9rxzs1EhNSBuBJaB+mWrBSFOx0pjb8n1qZyd7cFkoggNIgHc%20lxOZeyL9y4jFwLV9+pWZ7+eB3UQVX18C9Z/ewAMv1V4QWgfMAO6hcLTtZ/9BPDCkQvVDDLgLuD1N%20MLe6uxpYD3SlyZYU0DOHqJy92MeEMiTmb8SwNxHLEfWIDknF3J3k+lf6KFiRBG6qRFmB/kkSCYmS%20AXSUS72Lmm+rqV+wEeA1Scvl2obTXczdITrTv21EbrN483TQzdhUfpOWkPgPUgfFr18MmIWUZIQV%201iBwMnuMoJDU7lt/ikJdJWeBnLgcEMcRmxB1iD8gTiHOpz3RhFRn+G+J18d0B8Q+iY6iO7Dk918H%20aR5wLfAPsJ2CX0n8HSgxYzpRPj8ZmAS8nUqm/hmU2CHEQgZ/+AcP4w2kFy0IMjswkJuMIaYTuazt%204CexoDtdv3QDl4hS4F79ZuDUA18Crhvl6XcitgCv7Jj7RObhQARM0vPALgssBQYSeyo3DzjKAy/V%20ngKeAH6C0q5y2FfI9Ph/x3gB+IUF1ueMDUQgRVRRFZ107nsSu5CuAb4FXNG/khwyhX1gj5vRtnPe%20hr6rPCLVBfCVQ7XgKhOsIrogG26R1An8DnjMYkHrrvkb+gkEQ9U4GOxasBGMi0jrkWqRDiB1DdXj%20IL2F9KQZrXj+Wmv0PUUaf9v2F+ZUze1OJGi5fJkDwHGkONGtXg96ripC4DLpm4z0wk5COGK/p/xY%20w22b8o4zJiaUjS8fjPI3urqMCRPKkGYouqL/aLpBdNtxnCjfPytpAbAUmAfUIVbvqdycN0COOYEM%20kQPf6B3UDDOjtDT6xJBMJnH3TL1sZnjoCeBeoFzSM88u2tL+vhIYKu7b/zDt7e0kEompwOVnF23J%20uwNjcohHA3sqN5NIJCD65jbW+dU4xjGO9wv/BfVAV6WfUfulAAAAJXRFWHRkYXRlOmNyZWF0ZQAy%20MDI0LTEwLTE2VDA5OjM5OjAzKzAyOjAwmO75JgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyNC0xMC0x%20NlQwOTozOTowMyswMjowMOmzQZoAAAAASUVORK5CYII='%20/%3e%3c/svg%3e",RtxIcon="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20width='48px'%20height='48px'%20viewBox='0%200%2048%2048'%20enable-background='new%200%200%2048%2048'%20xml:space='preserve'%3e%3cimage%20id='image0'%20width='48'%20height='48'%20x='0'%20y='0'%20href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJN%20AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAG%20XklEQVRo3u3Za4xVVxUH8N+ducPADMggUCullJaSipRaAV/F1GKoreKHprZa0ajRItH6ikkj1pQq%20qRofMbY+GiB9aB8qGGqJr7a0aInNqGDBkaZpSbEPaGGGDjq8Zi53jh/WmblnLsPceZImspKdOXfv%20c/Ze/7X22mv993BKTsn/t+SGPMPK1srvrJjwKgNwvNI55FFd1l9AcSTBDAxAT8VPw1mYkrbXpS0r%20z6ftWbyI3egcTiCVAfRUuhpvw7sxH29Jla8kLdiOv+IP+Dvau0eHAKa/APK4AJ/C5Tj7BN8maavq%20Y8Zd2Ijb0IRjQwHRN4BQfiKWYpnYMtlvDuFl7MN+sU06MAZT0SC22lTUlgHdhR/jbrQML4DStnkD%20voIlGJVZfDc24c/YgZ0pgKRspomYiQtxMRZhcmb8INbiRuwZjCfyfYydh+/hfUpb4r/4BX6GJ/Gf%20Hl+UL76ydX8KrBG/wjxci8UYm7aPi9i6oRvEkDwQ1j8Dq/DejPL/xDfxWxw+odInkpJXG3AVlmNG%202lfEPbgezQPxQs9gi0XG4gt4TzqeYDOuE+4+3K34QNxdevcA7sBnsCXtq8Y1whs1g/fAytYcrsRP%20RfARx9+12DJsSajkjUvxExEn8G98GI39Xav8uJuCT2eU34ebMpYaHikp9wi+ji5E04Wn6/o7VQlA%20WGUuLkp7EqzDo2WLDieITtyP9ZmRi/HWftVYenqgFpeIGCBKgF+ibcSKsZj3CO5Fc9o7BW/XzzIn%20C2AM3pk+J+LUGb5937dsx2Ppcx7n4zUDBdCAc9LnAh7H0RFXPQzUiqcyvacPBsAUpcTWgadOkvUJ%20j78gDEdUteMGCqBGad8V8crJ0t6KCST5vZL8Y5LqRqV6qqKcqJSoFltqxGXOxvjbsueGnaPrmlYV%20i+OP7tn1nepjHafvHiiA51PkhDdmWNk6onQwI3MnTfnRNzAbHQ2TH7gzn7fxH/34MLuFWsU+JI7U%20uY6niCMho0Wmf7/gGeclnZYXOszp8k5/ARzF37JWwaz+JpTBSjG8Pb2su0GUF1WVvs++0I4/isQC%2054q6KD9SIJItLB6lvS7X65F9GcZU8kIWQCI466b09yhRHV5kmCXZEg3jvlvnE78epwZfFmXLi+lr%20i7Gw0lzl1Sh8FLeiK3ofEqXvsxh0UCc9y8Ec5uCT+BhWzzlgeS4Y3JtFPHxIHCzLmhpbtuksC8dU%20j6peOh/AfbrIdpS8K3GmoV+ETRPl8i3pGtcJgn/LvxYh2NtGQXaWoTpJRr3LkfoZqWHn68mtew2S%20Nnw7tXyXta7BGpw9mHhIrT9XVLdrUsVnCwr5A7wETYuiiXjYkMu59OknGveoPbpBMMTf40sypKcv%20Uj8vtdSCzMhnsVr5bVtPDx5/c3ewQfLB3G2Ca2SNdju+iEO5+T0/mf1QnR2P75+sqn01yRWZoecw%2034oJLfRN6remk9+NWWlfg6jhq1GfGuBYarFiL94ZhTFVY1sLojjLKn9ITmOyy6Gqq45ffEfjbqqO%20ziwzIJE3ug3fO4AVE7qs2CTufWaJLL1NnNlXiGOuNh3fLpLg3nSGKlFRvhELOlWtV+MeBQvxepDY%20muz1p+KDFJZSs+Y4LfIi/iaV9W9WOuorXmxNFYxpvuCrawXZWGBgWfqRc+ue+9wzCy+cJ3GJKm3J%20TtuLD5slyvbfSbdlvkhu+gEk5wumNlPEyrbUoPeiqWu75issPEGJn04WtxWj098H00VHi6Dq7UAo%20igR5wc7D05fk1iY3J1fn7jdNR/H7TlNvCT4i7qDuQ3NbvQ7V4ycpHvia4Oa34+d4RnD0HvFXCcBE%20JYpZn/5twV/SSVvwJkGEztGTjDeLgHsaT5C8oF0BHZox2ktYIa5Ybhbn/qP1R2y9uu2utnV1V9bS%20+VXcld0y5XmoEoAWUeRNSy3+cGqpjeJ+hxIVrCyvPaDrtCks7c78d+Bb4tSb15nTvuqVz687o/jy%20TT8cf/2TOtuKvSneJZVioEZkxQ/gwbTt62vCgUphqempEc7MdB/OJy7PnVXY7Ma+77kqeaCA36SK%20D/w6sX+yX/DhLID8sZx8JeWpVK6GoonBXif2T45gg9iiXbJJ3HhXlEoeOBmM7JhIls14h7jxXq9U%20lfYpQ/8v5TBIYWn3Y63I9AV6TW6vTgBlIPRX+VNySk4J/wPavNXBV0/3hwAAACV0RVh0ZGF0ZTpj%20cmVhdGUAMjAyNC0xMC0xNlQwNzozODowMyswMDowMCfDViMAAAAldEVYdGRhdGU6bW9kaWZ5ADIw%20MjQtMTAtMTZUMDc6Mzg6MDMrMDA6MDBWnu6fAAAAAElFTkSuQmCC'%20/%3e%3c/svg%3e",MailIcon="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20width='48px'%20height='48px'%20viewBox='0%200%2048%2048'%20enable-background='new%200%200%2048%2048'%20xml:space='preserve'%3e%3cimage%20id='image0'%20width='48'%20height='48'%20x='0'%20y='0'%20href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAACBjSFJN%20AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABdFBMVEUAAAD80if2uSH1uCDO%20GQD//2L1tiD2uyH0sh/4wCPxpRz3wCL//3r1tSD3viLwohv80if80if80if80if80if80if80if8%200if80if80if80if80if80if80if//zj80if80if80ifwohvwoRv80if80ifwohvwohvwohv80if8%200if80ifwohvwohvwohvwohvwoBv80if80if80ifwohvwohvwohvwohv+2Cn80if80if80ifwohvw%20ohvwohvwoRv80if80if80ifwohvwohv91Sj80if80if80ifwohvwohvvnxr80if80if80ifwohvw%20ohvwohv91Sj80if80ifwohvwohvwohvqixX80if80if80ifwohvwohvwohv80yf80if80ifwohvw%20ohvwohvslBf//zr80if80ifwohvwohvwoRv80ifwohvwohvwohvwohvwohvwohvwohvwohvwohvw%20ohvwohvwohv80ifwohv///9tjhRAAAAAeXRSTlMAAAAAAAAAAAAAAAAAAAAABBIWT9bpTWzzZBRj%202P4BM6j1IBNw23CkKD6z+YH+0F8OF3zhf++XJANJvPv9xVMHH4btjiIGTMP8vkwGKJDu5YMbC17U%20+rtBAiue8N94GAxp1/eyNwIBOKfbbBQL9ag01GP2gNbpBBIWNnChdAAAAAFiS0dEe0/StfwAAAAH%20dElNRQfoChAHJgNz8rhqAAABhElEQVRIx+3R6TNCURzG8UTaEdlKlvZQKu0iQnRbRCXtaFW0W/r9%209ZbhSF05Xpjxou/Lc57PnLlzKZRBf9UQZghM8CYx4k2gB6b40xjxZxCYnWtjNDePgEC4IPppLloQ%208hCgLi4tr/TfrywvLQ6jjxZLqAKprN9eJhVQJWIE5ArlCE21uvbdfG1VRRtRKuQIrKs1G9pRnX6T%20fL+p141qNzTqdQQMAEaTmW6x2rZ651s2q4VuNhkBDJ0A7Ns7DsbunrN779zbZTh2tu3QDV4e2T9g%20HrqOjjvnx0euQ+bBvvFt0A3A7iY8LK/P/7n3+7wsD+G2AzkAOAmcss+Cofe/KAoFz9ingZOPWxIA%204fPIBScai7/u47Eo5yJyHoZ+ACCRTNHTl1ft9tVlmp5KJjquyAFcZ7K5fKFYLORz2cw1/AwAbkpl%207u0tt1y6+Xr+LYC7SnVsrFq5A1wAUKvXaz2H/QA0GvA7QNYA/DfQxANNBIjWPUYtAoGHxyeMHh8Q%20GMeMMuivegZPNwJ6UuK61QAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyNC0xMC0xNlQwNzozODowMysw%20MDowMCfDViMAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjQtMTAtMTZUMDc6Mzg6MDMrMDA6MDBWnu6f%20AAAAAElFTkSuQmCC'%20/%3e%3c/svg%3e",SmsIcon="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20width='48px'%20height='48px'%20viewBox='0%200%2048%2048'%20enable-background='new%200%200%2048%2048'%20xml:space='preserve'%3e%3cimage%20id='image0'%20width='48'%20height='48'%20x='0'%20y='0'%20href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAACBjSFJN%20AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABF1BMVEUAAAAhqvchqvchqvch%20qvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvch%20qvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvch%20qvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvch%20qvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvch%20qvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvf////t18AcAAAAW3RSTlMAAA84XHh/%20CjSAwNzxCEKl6vsjiOYCQANM19giwQv5jA3n6UMJDOs5+obDEs+dn948hf7Gee9aFdn2m5L9Ne7l%20MxShFuI/Ab0d1boyHKDkkwYvfLz4tXUuMFNoR3rSMgAAAAFiS0dEXOrYAJcAAAAHdElNRQfoChAL%20JgN66EEOAAABqklEQVRIx9WVaVuCQBCAXbxYFBXxQoWKjLQ0UyvTssvu+7BS5///j7JHEFhksU/1%20fmTm3WVhdsbn+wcgC16yGX8gGPomGPAzNAehMIu5SBR+iEY4zIbdDMTH4gkBTAiJeIxHc5dPiikg%20SIlJ501QOsMJ4IDAZdIOBsrmJJiDlMsicv35+ROD2ANl8uBCPmMTUKEIrhQLFgPJouIuKEvLZgPF%20VoCCumoWSnFaPkB8zbQBm6AL2vpsC4TLdEGozASGo+cDbGwagj8yfVatbRHUqtNgfdsQAtN6hkZJ%20Jig1psFowBCCTS9CM2gIGLy8EmBDCHk5M0Dl9wL2JmDy0FBucUULXMv4p80d8rOClmRsJDU9trtH%20/jhQ28hGW9Vj+6xDaXS6Bza6HT3GMU7F1zy0YRxPwKZq7R3Rv9HxiekGnap04axkunF9unB+cbmQ%20oIgyWki4ura0Gaog+a2NjCYQrZIi3BDN2FVQbu+IVtx36Ut1fE8OFPlB1TmytCjl8an37DRN5L7O%20y+ubpA0myQNNev/45B3nlaWg+eFoPBm749GQ9zKqfYvM9T/BF26JhjZ0x+78AAAAJXRFWHRkYXRl%20OmNyZWF0ZQAyMDI0LTEwLTE2VDA5OjM4OjAzKzAyOjAwdyySGAAAACV0RVh0ZGF0ZTptb2RpZnkA%20MjAyNC0xMC0xNlQwOTozODowMyswMjowMAZxKqQAAAAASUVORK5CYII='%20/%3e%3c/svg%3e",VoiceIcon="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20width='48px'%20height='48px'%20viewBox='0%200%2048%2048'%20enable-background='new%200%200%2048%2048'%20xml:space='preserve'%3e%3cimage%20id='image0'%20width='48'%20height='48'%20x='0'%20y='0'%20href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAACBjSFJN%20AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABzlBMVEUAAAAzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAP///8ahhZ5AAAA%20mHRSTlMAAA84XHh/DDmNwtzxCkOl6/0rkOgDSMYIYN4E59/+9Pcp82k9ZqHXDfyfe140heny0ps3%20QLLlr6z61uxnnvvOTAYBzDtUivDROjza+bh+EsRYg4TgfdMqKM+nJpww1NkuIsiAQeEvc+ZTAhOa%20tUmB9WPj7iBx+AWHTcuwGg5s9tBhMz6iGzViB1Lbox9Qs1umRM12kld67xKguDoAAAABYktHRJkB%201jaoAAAAB3RJTUUH6AoQCycDY/NwTwAAArVJREFUSMfVlflbEkEYxxkOWQ5hAbkRgUQgTQyxQswC%20aS0js7Iyiy5Syw4tyuzU7ssOO+fPbXd2dphdlpLf6n0enmfnZT7zvvPOd97RaP4DAzLbymytTm9o%20482g12n/xgBgZExmixUis1rMJsb4BwKAdpuddUDKHKzd1t4MAcDp6oAN1uFyqhPA7fE6oIo5vB63%20CgF8/gBsYgG/r4EAQX8INrWQP6gkgKdTNiXcZY1Qw06PAgBRr3zN2LbueE8iTMbeqIwASVdKDkS2%209/Y5d/RbpHHKlaQJYEs3Jj6wMzOYHZIWSttowGgXvbt278Glyg3nhdRHontHMWE3UgEYFvn27S8U%20s2Poky0d4BIQjrdFhzDAMvUQwIQCHzwkaG3isPBdPjLJMJkItI5k8T5SpjpwdArt85ggAVCMi/Uc%20TR+PnojA6cGTZZEwawkwgRI/dRotAWbO4CRGZ89moONc5bw4tOgIoEd6vnBRzO/SZalO5aouAROV%20Hqx2PQEM6IBiV1CEYHycVHZungsP9OEcwway56r494IbhbtaP4rcwrU87O3GF6oq7XqRw8d/XfDc%20oA/vZmkYcrcwsCQBYEl0LN8WPNk7FJBjc7CrhiXFLSpSglN3eaJwL9ZE5CQlvGkIVybvAw0wri6r%20zq9vGpeVt9CDIh/Q2K9KUGXVERU/nOdPGyRXhaxW5tgwDVAHpzWTsI8eC8STp4G19WfPX3A1CqCk%20gcUnmOPlK0FQ7tdvKkUA3r57T+bT4pPkjfwfNoQYqEfyv4/kGGl5kwuEiE/82uSfwqzkpy+Q4oqu%20f6431OAX7JRfUUUTqLlmpJw2p3FceRNQtpnU128bPp4Ibo7hyiraTGMjK1u+/2BKPyVdNTQytVYZ%20zv+SPlVaZcvNuPV23/qD0vqTpWn5UdS0/uxKzNYf9n/BfgOj3RPg/kA9xAAAACV0RVh0ZGF0ZTpj%20cmVhdGUAMjAyNC0xMC0xNlQwOTozOTowMyswMjowMJju+SYAAAAldEVYdGRhdGU6bW9kaWZ5ADIw%20MjQtMTAtMTZUMDk6Mzk6MDMrMDI6MDDps0GaAAAAAElFTkSuQmCC'%20/%3e%3c/svg%3e",store={},instanceStore={setInstance(e,t,n){store[e]||(store[e]={}),store[e][t]=n},getInstance(e,t){return store[e][t]}};let callbackSeed=0;function JSONP(e,t={},n={}){return new Promise((o,a)=>{const s=`USER_LIST_CALLBACK_${callbackSeed+=1}`;window[s]=l=>{document.body.removeChild(i),delete window[s],o(l)};const i=document.createElement("script");i.onerror=l=>{document.body.removeChild(i),delete window[s],a("Get user list failed.")};const r=[];for(const l in t)r.push(`${l}=${t[l]}`);i.src=`${e}?${r.join("&")}&callback=${s}`,n.timeout&&setTimeout(()=>{document.body.removeChild(i),delete window[s],a("Get user list timeout.")},n.timeout),document.body.appendChild(i)})}const userMap=new Map;function getMap(e){if(userMap.has(e))return userMap.get(e);const t=new Map;return userMap.set(e,t),t}function storeUsers(e,t){const n=getMap(e);t.forEach(o=>n.set(o.username,o))}function getUsers(e,t){const n=getMap(e),o=[];return t.forEach(a=>{n.has(a)&&o.push(n.get(a))}),o}async function handleBatchSearch(e,t,n){const o=getMap(e),a=[...new Set(t)].filter(i=>!o.has(i));if(!a.length)return Promise.resolve(getUsers(e,t));const s=[];a.reduce((i,r,l)=>i.length<100?(i.push(r),l===a.length-1&&s.push(i),i):(s.push(i),[]),[]);try{(await Promise.all(s.map(r=>JSONP(e,{app_code:"bk-magicbox",exact_lookups:r.join(","),page_size:100,page:1},n)))).forEach(r=>{r.code===0&&storeUsers(e,r.data.results||[])})}catch(i){console.error(i)}return Promise.resolve(getUsers(e,t))}function createVm(e){const t={setup(){const{proxy:a}=vue.getCurrentInstance();instanceStore.setInstance("exactSearch",e,a);const s=vue.ref("");s.value=e;const i=vue.ref([]);vue.watch(()=>i,c=>{c.value.length&&l()},{deep:!0});const r=c=>new Promise(u=>{i.value.push({resolve:u,usernames:c})}),l=async()=>{const c=[...i.value];i.value=[];try{const u=c.reduce((m,{usernames:p})=>m.concat(p),[]),v=await request.exactSearch(s.value,u),_={};v.forEach(m=>{_[m.username]=m}),c.forEach(({resolve:m,usernames:p})=>{const h=[];p.forEach(f=>{_.hasOwnProperty(f)&&h.push(_[f])}),m(h)})}catch(u){c.forEach(({resolve:v})=>{v([])}),console.error(u)}};return{api:s,queue:i,search:r,dispatchSeach:l}},render(){return null}},n=vue.createApp(t),o=document.createElement("div");return n.mount(o),n}const request={async fuzzySearch(e,t,n){const o={};try{const a=await JSONP(e,t,n);if(a.code!==0)throw new Error(a);o.count=a.data.count,o.results=a.data.results||[],storeUsers(e,o.results)}catch(a){console.error(a.message),o.count=0,o.results=[]}return o},async exactSearch(e,t,n){const o=Array.isArray(t),s=await handleBatchSearch(e,o?t:[t],n);return o?s:s[0]},pasteValidate(e,t,n){return handleBatchSearch(e,t,n)},scheduleExactSearch(e,t){const n=Array.isArray(t)?t:[t];return createVm(e),instanceStore.getInstance("exactSearch",e).search(n)}};var top="top",bottom="bottom",right="right",left="left",auto="auto",basePlacements=[top,bottom,right,left],start="start",end="end",clippingParents="clippingParents",viewport="viewport",popper="popper",reference="reference",variationPlacements=basePlacements.reduce(function(e,t){return e.concat([t+"-"+start,t+"-"+end])},[]),placements=[].concat(basePlacements,[auto]).reduce(function(e,t){return e.concat([t,t+"-"+start,t+"-"+end])},[]),beforeRead="beforeRead",read="read",afterRead="afterRead",beforeMain="beforeMain",main="main",afterMain="afterMain",beforeWrite="beforeWrite",write="write",afterWrite="afterWrite",modifierPhases=[beforeRead,read,afterRead,beforeMain,main,afterMain,beforeWrite,write,afterWrite];function getNodeName(e){return e?(e.nodeName||"").toLowerCase():null}function getWindow(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function isElement$1(e){var t=getWindow(e).Element;return e instanceof t||e instanceof Element}function isHTMLElement(e){var t=getWindow(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function isShadowRoot(e){if(typeof ShadowRoot>"u")return!1;var t=getWindow(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function applyStyles$1(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var o=t.styles[n]||{},a=t.attributes[n]||{},s=t.elements[n];!isHTMLElement(s)||!getNodeName(s)||(Object.assign(s.style,o),Object.keys(a).forEach(function(i){var r=a[i];r===!1?s.removeAttribute(i):s.setAttribute(i,r===!0?"":r)}))})}function effect$2(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(o){var a=t.elements[o],s=t.attributes[o]||{},i=Object.keys(t.styles.hasOwnProperty(o)?t.styles[o]:n[o]),r=i.reduce(function(l,c){return l[c]="",l},{});!isHTMLElement(a)||!getNodeName(a)||(Object.assign(a.style,r),Object.keys(s).forEach(function(l){a.removeAttribute(l)}))})}}const applyStyles={name:"applyStyles",enabled:!0,phase:"write",fn:applyStyles$1,effect:effect$2,requires:["computeStyles"]};function getBasePlacement$1(e){return e.split("-")[0]}var max=Math.max,min=Math.min,round=Math.round;function getUAString(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function isLayoutViewport(){return!/^((?!chrome|android).)*safari/i.test(getUAString())}function getBoundingClientRect(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var o=e.getBoundingClientRect(),a=1,s=1;t&&isHTMLElement(e)&&(a=e.offsetWidth>0&&round(o.width)/e.offsetWidth||1,s=e.offsetHeight>0&&round(o.height)/e.offsetHeight||1);var i=isElement$1(e)?getWindow(e):window,r=i.visualViewport,l=!isLayoutViewport()&&n,c=(o.left+(l&&r?r.offsetLeft:0))/a,u=(o.top+(l&&r?r.offsetTop:0))/s,v=o.width/a,_=o.height/s;return{width:v,height:_,top:u,right:c+v,bottom:u+_,left:c,x:c,y:u}}function getLayoutRect(e){var t=getBoundingClientRect(e),n=e.offsetWidth,o=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-o)<=1&&(o=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:o}}function contains(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&isShadowRoot(n)){var o=t;do{if(o&&e.isSameNode(o))return!0;o=o.parentNode||o.host}while(o)}return!1}function getComputedStyle$1(e){return getWindow(e).getComputedStyle(e)}function isTableElement(e){return["table","td","th"].indexOf(getNodeName(e))>=0}function getDocumentElement(e){return((isElement$1(e)?e.ownerDocument:e.document)||window.document).documentElement}function getParentNode(e){return getNodeName(e)==="html"?e:e.assignedSlot||e.parentNode||(isShadowRoot(e)?e.host:null)||getDocumentElement(e)}function getTrueOffsetParent(e){return!isHTMLElement(e)||getComputedStyle$1(e).position==="fixed"?null:e.offsetParent}function getContainingBlock(e){var t=/firefox/i.test(getUAString()),n=/Trident/i.test(getUAString());if(n&&isHTMLElement(e)){var o=getComputedStyle$1(e);if(o.position==="fixed")return null}var a=getParentNode(e);for(isShadowRoot(a)&&(a=a.host);isHTMLElement(a)&&["html","body"].indexOf(getNodeName(a))<0;){var s=getComputedStyle$1(a);if(s.transform!=="none"||s.perspective!=="none"||s.contain==="paint"||["transform","perspective"].indexOf(s.willChange)!==-1||t&&s.willChange==="filter"||t&&s.filter&&s.filter!=="none")return a;a=a.parentNode}return null}function getOffsetParent(e){for(var t=getWindow(e),n=getTrueOffsetParent(e);n&&isTableElement(n)&&getComputedStyle$1(n).position==="static";)n=getTrueOffsetParent(n);return n&&(getNodeName(n)==="html"||getNodeName(n)==="body"&&getComputedStyle$1(n).position==="static")?t:n||getContainingBlock(e)||t}function getMainAxisFromPlacement(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function within(e,t,n){return max(e,min(t,n))}function withinMaxClamp(e,t,n){var o=within(e,t,n);return o>n?n:o}function getFreshSideObject(){return{top:0,right:0,bottom:0,left:0}}function mergePaddingObject(e){return Object.assign({},getFreshSideObject(),e)}function expandToHashMap(e,t){return t.reduce(function(n,o){return n[o]=e,n},{})}var toPaddingObject=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,mergePaddingObject(typeof t!="number"?t:expandToHashMap(t,basePlacements))};function arrow$1(e){var t,n=e.state,o=e.name,a=e.options,s=n.elements.arrow,i=n.modifiersData.popperOffsets,r=getBasePlacement$1(n.placement),l=getMainAxisFromPlacement(r),c=[left,right].indexOf(r)>=0,u=c?"height":"width";if(!(!s||!i)){var v=toPaddingObject(a.padding,n),_=getLayoutRect(s),m=l==="y"?top:left,p=l==="y"?bottom:right,h=n.rects.reference[u]+n.rects.reference[l]-i[l]-n.rects.popper[u],f=i[l]-n.rects.reference[l],y=getOffsetParent(s),g=y?l==="y"?y.clientHeight||0:y.clientWidth||0:0,w=h/2-f/2,d=v[m],k=g-_[u]-v[p],C=g/2-_[u]/2+w,B=within(d,C,k),D=l;n.modifiersData[o]=(t={},t[D]=B,t.centerOffset=B-C,t)}}function effect$1(e){var t=e.state,n=e.options,o=n.element,a=o===void 0?"[data-popper-arrow]":o;a!=null&&(typeof a=="string"&&(a=t.elements.popper.querySelector(a),!a)||contains(t.elements.popper,a)&&(t.elements.arrow=a))}const arrow={name:"arrow",enabled:!0,phase:"main",fn:arrow$1,effect:effect$1,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function getVariation(e){return e.split("-")[1]}var unsetSides={top:"auto",right:"auto",bottom:"auto",left:"auto"};function roundOffsetsByDPR(e,t){var n=e.x,o=e.y,a=t.devicePixelRatio||1;return{x:round(n*a)/a||0,y:round(o*a)/a||0}}function mapToStyles(e){var t,n=e.popper,o=e.popperRect,a=e.placement,s=e.variation,i=e.offsets,r=e.position,l=e.gpuAcceleration,c=e.adaptive,u=e.roundOffsets,v=e.isFixed,_=i.x,m=_===void 0?0:_,p=i.y,h=p===void 0?0:p,f=typeof u=="function"?u({x:m,y:h}):{x:m,y:h};m=f.x,h=f.y;var y=i.hasOwnProperty("x"),g=i.hasOwnProperty("y"),w=left,d=top,k=window;if(c){var C=getOffsetParent(n),B="clientHeight",D="clientWidth";if(C===getWindow(n)&&(C=getDocumentElement(n),getComputedStyle$1(C).position!=="static"&&r==="absolute"&&(B="scrollHeight",D="scrollWidth")),C=C,a===top||(a===left||a===right)&&s===end){d=bottom;var R=v&&C===k&&k.visualViewport?k.visualViewport.height:C[B];h-=R-o.height,h*=l?1:-1}if(a===left||(a===top||a===bottom)&&s===end){w=right;var V=v&&C===k&&k.visualViewport?k.visualViewport.width:C[D];m-=V-o.width,m*=l?1:-1}}var O=Object.assign({position:r},c&&unsetSides),Z=u===!0?roundOffsetsByDPR({x:m,y:h},getWindow(n)):{x:m,y:h};if(m=Z.x,h=Z.y,l){var I;return Object.assign({},O,(I={},I[d]=g?"0":"",I[w]=y?"0":"",I.transform=(k.devicePixelRatio||1)<=1?"translate("+m+"px, "+h+"px)":"translate3d("+m+"px, "+h+"px, 0)",I))}return Object.assign({},O,(t={},t[d]=g?h+"px":"",t[w]=y?m+"px":"",t.transform="",t))}function computeStyles$1(e){var t=e.state,n=e.options,o=n.gpuAcceleration,a=o===void 0?!0:o,s=n.adaptive,i=s===void 0?!0:s,r=n.roundOffsets,l=r===void 0?!0:r,c={placement:getBasePlacement$1(t.placement),variation:getVariation(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:a,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,mapToStyles(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:i,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,mapToStyles(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const computeStyles={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:computeStyles$1,data:{}};var passive={passive:!0};function effect(e){var t=e.state,n=e.instance,o=e.options,a=o.scroll,s=a===void 0?!0:a,i=o.resize,r=i===void 0?!0:i,l=getWindow(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return s&&c.forEach(function(u){u.addEventListener("scroll",n.update,passive)}),r&&l.addEventListener("resize",n.update,passive),function(){s&&c.forEach(function(u){u.removeEventListener("scroll",n.update,passive)}),r&&l.removeEventListener("resize",n.update,passive)}}const eventListeners={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect,data:{}};var hash$1={left:"right",right:"left",bottom:"top",top:"bottom"};function getOppositePlacement(e){return e.replace(/left|right|bottom|top/g,function(t){return hash$1[t]})}var hash={start:"end",end:"start"};function getOppositeVariationPlacement(e){return e.replace(/start|end/g,function(t){return hash[t]})}function getWindowScroll(e){var t=getWindow(e),n=t.pageXOffset,o=t.pageYOffset;return{scrollLeft:n,scrollTop:o}}function getWindowScrollBarX(e){return getBoundingClientRect(getDocumentElement(e)).left+getWindowScroll(e).scrollLeft}function getViewportRect(e,t){var n=getWindow(e),o=getDocumentElement(e),a=n.visualViewport,s=o.clientWidth,i=o.clientHeight,r=0,l=0;if(a){s=a.width,i=a.height;var c=isLayoutViewport();(c||!c&&t==="fixed")&&(r=a.offsetLeft,l=a.offsetTop)}return{width:s,height:i,x:r+getWindowScrollBarX(e),y:l}}function getDocumentRect(e){var t,n=getDocumentElement(e),o=getWindowScroll(e),a=(t=e.ownerDocument)==null?void 0:t.body,s=max(n.scrollWidth,n.clientWidth,a?a.scrollWidth:0,a?a.clientWidth:0),i=max(n.scrollHeight,n.clientHeight,a?a.scrollHeight:0,a?a.clientHeight:0),r=-o.scrollLeft+getWindowScrollBarX(e),l=-o.scrollTop;return getComputedStyle$1(a||n).direction==="rtl"&&(r+=max(n.clientWidth,a?a.clientWidth:0)-s),{width:s,height:i,x:r,y:l}}function isScrollParent(e){var t=getComputedStyle$1(e),n=t.overflow,o=t.overflowX,a=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+a+o)}function getScrollParent(e){return["html","body","#document"].indexOf(getNodeName(e))>=0?e.ownerDocument.body:isHTMLElement(e)&&isScrollParent(e)?e:getScrollParent(getParentNode(e))}function listScrollParents(e,t){var n;t===void 0&&(t=[]);var o=getScrollParent(e),a=o===((n=e.ownerDocument)==null?void 0:n.body),s=getWindow(o),i=a?[s].concat(s.visualViewport||[],isScrollParent(o)?o:[]):o,r=t.concat(i);return a?r:r.concat(listScrollParents(getParentNode(i)))}function rectToClientRect(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function getInnerBoundingClientRect(e,t){var n=getBoundingClientRect(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function getClientRectFromMixedType(e,t,n){return t===viewport?rectToClientRect(getViewportRect(e,n)):isElement$1(t)?getInnerBoundingClientRect(t,n):rectToClientRect(getDocumentRect(getDocumentElement(e)))}function getClippingParents(e){var t=listScrollParents(getParentNode(e)),n=["absolute","fixed"].indexOf(getComputedStyle$1(e).position)>=0,o=n&&isHTMLElement(e)?getOffsetParent(e):e;return isElement$1(o)?t.filter(function(a){return isElement$1(a)&&contains(a,o)&&getNodeName(a)!=="body"}):[]}function getClippingRect(e,t,n,o){var a=t==="clippingParents"?getClippingParents(e):[].concat(t),s=[].concat(a,[n]),i=s[0],r=s.reduce(function(l,c){var u=getClientRectFromMixedType(e,c,o);return l.top=max(u.top,l.top),l.right=min(u.right,l.right),l.bottom=min(u.bottom,l.bottom),l.left=max(u.left,l.left),l},getClientRectFromMixedType(e,i,o));return r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}function computeOffsets(e){var t=e.reference,n=e.element,o=e.placement,a=o?getBasePlacement$1(o):null,s=o?getVariation(o):null,i=t.x+t.width/2-n.width/2,r=t.y+t.height/2-n.height/2,l;switch(a){case top:l={x:i,y:t.y-n.height};break;case bottom:l={x:i,y:t.y+t.height};break;case right:l={x:t.x+t.width,y:r};break;case left:l={x:t.x-n.width,y:r};break;default:l={x:t.x,y:t.y}}var c=a?getMainAxisFromPlacement(a):null;if(c!=null){var u=c==="y"?"height":"width";switch(s){case start:l[c]=l[c]-(t[u]/2-n[u]/2);break;case end:l[c]=l[c]+(t[u]/2-n[u]/2);break}}return l}function detectOverflow(e,t){t===void 0&&(t={});var n=t,o=n.placement,a=o===void 0?e.placement:o,s=n.strategy,i=s===void 0?e.strategy:s,r=n.boundary,l=r===void 0?clippingParents:r,c=n.rootBoundary,u=c===void 0?viewport:c,v=n.elementContext,_=v===void 0?popper:v,m=n.altBoundary,p=m===void 0?!1:m,h=n.padding,f=h===void 0?0:h,y=mergePaddingObject(typeof f!="number"?f:expandToHashMap(f,basePlacements)),g=_===popper?reference:popper,w=e.rects.popper,d=e.elements[p?g:_],k=getClippingRect(isElement$1(d)?d:d.contextElement||getDocumentElement(e.elements.popper),l,u,i),C=getBoundingClientRect(e.elements.reference),B=computeOffsets({reference:C,element:w,placement:a}),D=rectToClientRect(Object.assign({},w,B)),R=_===popper?D:C,V={top:k.top-R.top+y.top,bottom:R.bottom-k.bottom+y.bottom,left:k.left-R.left+y.left,right:R.right-k.right+y.right},O=e.modifiersData.offset;if(_===popper&&O){var Z=O[a];Object.keys(V).forEach(function(I){var $=[right,bottom].indexOf(I)>=0?1:-1,E=[top,bottom].indexOf(I)>=0?"y":"x";V[I]+=Z[E]*$})}return V}function computeAutoPlacement(e,t){t===void 0&&(t={});var n=t,o=n.placement,a=n.boundary,s=n.rootBoundary,i=n.padding,r=n.flipVariations,l=n.allowedAutoPlacements,c=l===void 0?placements:l,u=getVariation(o),v=u?r?variationPlacements:variationPlacements.filter(function(p){return getVariation(p)===u}):basePlacements,_=v.filter(function(p){return c.indexOf(p)>=0});_.length===0&&(_=v);var m=_.reduce(function(p,h){return p[h]=detectOverflow(e,{placement:h,boundary:a,rootBoundary:s,padding:i})[getBasePlacement$1(h)],p},{});return Object.keys(m).sort(function(p,h){return m[p]-m[h]})}function getExpandedFallbackPlacements(e){if(getBasePlacement$1(e)===auto)return[];var t=getOppositePlacement(e);return[getOppositeVariationPlacement(e),t,getOppositeVariationPlacement(t)]}function flip$1(e){var t=e.state,n=e.options,o=e.name;if(!t.modifiersData[o]._skip){for(var a=n.mainAxis,s=a===void 0?!0:a,i=n.altAxis,r=i===void 0?!0:i,l=n.fallbackPlacements,c=n.padding,u=n.boundary,v=n.rootBoundary,_=n.altBoundary,m=n.flipVariations,p=m===void 0?!0:m,h=n.allowedAutoPlacements,f=t.options.placement,y=getBasePlacement$1(f),g=y===f,w=l||(g||!p?[getOppositePlacement(f)]:getExpandedFallbackPlacements(f)),d=[f].concat(w).reduce(function(ee,J){return ee.concat(getBasePlacement$1(J)===auto?computeAutoPlacement(t,{placement:J,boundary:u,rootBoundary:v,padding:c,flipVariations:p,allowedAutoPlacements:h}):J)},[]),k=t.rects.reference,C=t.rects.popper,B=new Map,D=!0,R=d[0],V=0;V<d.length;V++){var O=d[V],Z=getBasePlacement$1(O),I=getVariation(O)===start,$=[top,bottom].indexOf(Z)>=0,E=$?"width":"height",T=detectOverflow(t,{placement:O,boundary:u,rootBoundary:v,altBoundary:_,padding:c}),b=$?I?right:left:I?bottom:top;k[E]>C[E]&&(b=getOppositePlacement(b));var x=getOppositePlacement(b),N=[];if(s&&N.push(T[Z]<=0),r&&N.push(T[b]<=0,T[x]<=0),N.every(function(ee){return ee})){R=O,D=!1;break}B.set(O,N)}if(D)for(var P=p?3:1,L=function(J){var A=d.find(function(z){var F=B.get(z);if(F)return F.slice(0,J).every(function(G){return G})});if(A)return R=A,"break"},j=P;j>0;j--){var K=L(j);if(K==="break")break}t.placement!==R&&(t.modifiersData[o]._skip=!0,t.placement=R,t.reset=!0)}}const flip={name:"flip",enabled:!0,phase:"main",fn:flip$1,requiresIfExists:["offset"],data:{_skip:!1}};function getSideOffsets(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function isAnySideFullyClipped(e){return[top,right,bottom,left].some(function(t){return e[t]>=0})}function hide$1(e){var t=e.state,n=e.name,o=t.rects.reference,a=t.rects.popper,s=t.modifiersData.preventOverflow,i=detectOverflow(t,{elementContext:"reference"}),r=detectOverflow(t,{altBoundary:!0}),l=getSideOffsets(i,o),c=getSideOffsets(r,a,s),u=isAnySideFullyClipped(l),v=isAnySideFullyClipped(c);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:u,hasPopperEscaped:v},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":v})}const hide={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:hide$1};function distanceAndSkiddingToXY(e,t,n){var o=getBasePlacement$1(e),a=[left,top].indexOf(o)>=0?-1:1,s=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,i=s[0],r=s[1];return i=i||0,r=(r||0)*a,[left,right].indexOf(o)>=0?{x:r,y:i}:{x:i,y:r}}function offset$1(e){var t=e.state,n=e.options,o=e.name,a=n.offset,s=a===void 0?[0,0]:a,i=placements.reduce(function(u,v){return u[v]=distanceAndSkiddingToXY(v,t.rects,s),u},{}),r=i[t.placement],l=r.x,c=r.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[o]=i}const offset={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:offset$1};function popperOffsets$1(e){var t=e.state,n=e.name;t.modifiersData[n]=computeOffsets({reference:t.rects.reference,element:t.rects.popper,placement:t.placement})}const popperOffsets={name:"popperOffsets",enabled:!0,phase:"read",fn:popperOffsets$1,data:{}};function getAltAxis(e){return e==="x"?"y":"x"}function preventOverflow$1(e){var t=e.state,n=e.options,o=e.name,a=n.mainAxis,s=a===void 0?!0:a,i=n.altAxis,r=i===void 0?!1:i,l=n.boundary,c=n.rootBoundary,u=n.altBoundary,v=n.padding,_=n.tether,m=_===void 0?!0:_,p=n.tetherOffset,h=p===void 0?0:p,f=detectOverflow(t,{boundary:l,rootBoundary:c,padding:v,altBoundary:u}),y=getBasePlacement$1(t.placement),g=getVariation(t.placement),w=!g,d=getMainAxisFromPlacement(y),k=getAltAxis(d),C=t.modifiersData.popperOffsets,B=t.rects.reference,D=t.rects.popper,R=typeof h=="function"?h(Object.assign({},t.rects,{placement:t.placement})):h,V=typeof R=="number"?{mainAxis:R,altAxis:R}:Object.assign({mainAxis:0,altAxis:0},R),O=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,Z={x:0,y:0};if(C){if(s){var I,$=d==="y"?top:left,E=d==="y"?bottom:right,T=d==="y"?"height":"width",b=C[d],x=b+f[$],N=b-f[E],P=m?-D[T]/2:0,L=g===start?B[T]:D[T],j=g===start?-D[T]:-B[T],K=t.elements.arrow,ee=m&&K?getLayoutRect(K):{width:0,height:0},J=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:getFreshSideObject(),A=J[$],z=J[E],F=within(0,B[T],ee[T]),G=w?B[T]/2-P-F-A-V.mainAxis:L-F-A-V.mainAxis,H=w?-B[T]/2+P+F+z+V.mainAxis:j+F+z+V.mainAxis,W=t.elements.arrow&&getOffsetParent(t.elements.arrow),q=W?d==="y"?W.clientTop||0:W.clientLeft||0:0,X=(I=O?.[d])!=null?I:0,ae=b+G-X-q,ie=b+H-X,ne=within(m?min(x,ae):x,b,m?max(N,ie):N);C[d]=ne,Z[d]=ne-b}if(r){var se,de=d==="x"?top:left,ve=d==="x"?bottom:right,ce=C[k],he=k==="y"?"height":"width",ye=ce+f[de],me=ce-f[ve],Ce=[top,left].indexOf(y)!==-1,Ae=(se=O?.[k])!=null?se:0,De=Ce?ye:ce-B[he]-D[he]-Ae+V.altAxis,Ee=Ce?ce+B[he]+D[he]-Ae-V.altAxis:me,$e=m&&Ce?withinMaxClamp(De,ce,Ee):within(m?De:ye,ce,m?Ee:me);C[k]=$e,Z[k]=$e-ce}t.modifiersData[o]=Z}}const preventOverflow={name:"preventOverflow",enabled:!0,phase:"main",fn:preventOverflow$1,requiresIfExists:["offset"]};function getHTMLElementScroll(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function getNodeScroll(e){return e===getWindow(e)||!isHTMLElement(e)?getWindowScroll(e):getHTMLElementScroll(e)}function isElementScaled(e){var t=e.getBoundingClientRect(),n=round(t.width)/e.offsetWidth||1,o=round(t.height)/e.offsetHeight||1;return n!==1||o!==1}function getCompositeRect(e,t,n){n===void 0&&(n=!1);var o=isHTMLElement(t),a=isHTMLElement(t)&&isElementScaled(t),s=getDocumentElement(t),i=getBoundingClientRect(e,a,n),r={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(o||!o&&!n)&&((getNodeName(t)!=="body"||isScrollParent(s))&&(r=getNodeScroll(t)),isHTMLElement(t)?(l=getBoundingClientRect(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):s&&(l.x=getWindowScrollBarX(s))),{x:i.left+r.scrollLeft-l.x,y:i.top+r.scrollTop-l.y,width:i.width,height:i.height}}function order(e){var t=new Map,n=new Set,o=[];e.forEach(function(s){t.set(s.name,s)});function a(s){n.add(s.name);var i=[].concat(s.requires||[],s.requiresIfExists||[]);i.forEach(function(r){if(!n.has(r)){var l=t.get(r);l&&a(l)}}),o.push(s)}return e.forEach(function(s){n.has(s.name)||a(s)}),o}function orderModifiers(e){var t=order(e);return modifierPhases.reduce(function(n,o){return n.concat(t.filter(function(a){return a.phase===o}))},[])}function debounce$1(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function mergeByName(e){var t=e.reduce(function(n,o){var a=n[o.name];return n[o.name]=a?Object.assign({},a,o,{options:Object.assign({},a.options,o.options),data:Object.assign({},a.data,o.data)}):o,n},{});return Object.keys(t).map(function(n){return t[n]})}var DEFAULT_OPTIONS={placement:"bottom",modifiers:[],strategy:"absolute"};function areValidElements(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return!t.some(function(o){return!(o&&typeof o.getBoundingClientRect=="function")})}function popperGenerator(e){e===void 0&&(e={});var t=e,n=t.defaultModifiers,o=n===void 0?[]:n,a=t.defaultOptions,s=a===void 0?DEFAULT_OPTIONS:a;return function(r,l,c){c===void 0&&(c=s);var u={placement:"bottom",orderedModifiers:[],options:Object.assign({},DEFAULT_OPTIONS,s),modifiersData:{},elements:{reference:r,popper:l},attributes:{},styles:{}},v=[],_=!1,m={state:u,setOptions:function(y){var g=typeof y=="function"?y(u.options):y;h(),u.options=Object.assign({},s,u.options,g),u.scrollParents={reference:isElement$1(r)?listScrollParents(r):r.contextElement?listScrollParents(r.contextElement):[],popper:listScrollParents(l)};var w=orderModifiers(mergeByName([].concat(o,u.options.modifiers)));return u.orderedModifiers=w.filter(function(d){return d.enabled}),p(),m.update()},forceUpdate:function(){if(!_){var y=u.elements,g=y.reference,w=y.popper;if(areValidElements(g,w)){u.rects={reference:getCompositeRect(g,getOffsetParent(w),u.options.strategy==="fixed"),popper:getLayoutRect(w)},u.reset=!1,u.placement=u.options.placement,u.orderedModifiers.forEach(function(V){return u.modifiersData[V.name]=Object.assign({},V.data)});for(var d=0;d<u.orderedModifiers.length;d++){if(u.reset===!0){u.reset=!1,d=-1;continue}var k=u.orderedModifiers[d],C=k.fn,B=k.options,D=B===void 0?{}:B,R=k.name;typeof C=="function"&&(u=C({state:u,options:D,name:R,instance:m})||u)}}}},update:debounce$1(function(){return new Promise(function(f){m.forceUpdate(),f(u)})}),destroy:function(){h(),_=!0}};if(!areValidElements(r,l))return m;m.setOptions(c).then(function(f){!_&&c.onFirstUpdate&&c.onFirstUpdate(f)});function p(){u.orderedModifiers.forEach(function(f){var y=f.name,g=f.options,w=g===void 0?{}:g,d=f.effect;if(typeof d=="function"){var k=d({state:u,name:y,instance:m,options:w}),C=function(){};v.push(k||C)}})}function h(){v.forEach(function(f){return f()}),v=[]}return m}}var defaultModifiers=[eventListeners,popperOffsets,computeStyles,applyStyles,offset,flip,preventOverflow,arrow,hide],createPopper=popperGenerator({defaultModifiers}),BOX_CLASS="tippy-box",CONTENT_CLASS="tippy-content",BACKDROP_CLASS="tippy-backdrop",ARROW_CLASS="tippy-arrow",SVG_ARROW_CLASS="tippy-svg-arrow",TOUCH_OPTIONS={passive:!0,capture:!0},TIPPY_DEFAULT_APPEND_TO=function(){return document.body};function hasOwnProperty(e,t){return{}.hasOwnProperty.call(e,t)}function getValueAtIndexOrReturn(e,t,n){if(Array.isArray(e)){var o=e[t];return o??(Array.isArray(n)?n[t]:n)}return e}function isType(e,t){var n={}.toString.call(e);return n.indexOf("[object")===0&&n.indexOf(t+"]")>-1}function invokeWithArgsOrReturn(e,t){return typeof e=="function"?e.apply(void 0,t):e}function debounce(e,t){if(t===0)return e;var n;return function(o){clearTimeout(n),n=setTimeout(function(){e(o)},t)}}function removeProperties(e,t){var n=Object.assign({},e);return t.forEach(function(o){delete n[o]}),n}function splitBySpaces(e){return e.split(/\s+/).filter(Boolean)}function normalizeToArray(e){return[].concat(e)}function pushIfUnique(e,t){e.indexOf(t)===-1&&e.push(t)}function unique(e){return e.filter(function(t,n){return e.indexOf(t)===n})}function getBasePlacement(e){return e.split("-")[0]}function arrayFrom(e){return[].slice.call(e)}function removeUndefinedProps(e){return Object.keys(e).reduce(function(t,n){return e[n]!==void 0&&(t[n]=e[n]),t},{})}function div(){return document.createElement("div")}function isElement(e){return["Element","Fragment"].some(function(t){return isType(e,t)})}function isNodeList(e){return isType(e,"NodeList")}function isMouseEvent(e){return isType(e,"MouseEvent")}function isReferenceElement(e){return!!(e&&e._tippy&&e._tippy.reference===e)}function getArrayOfElements(e){return isElement(e)?[e]:isNodeList(e)?arrayFrom(e):Array.isArray(e)?e:arrayFrom(document.querySelectorAll(e))}function setTransitionDuration(e,t){e.forEach(function(n){n&&(n.style.transitionDuration=t+"ms")})}function setVisibilityState(e,t){e.forEach(function(n){n&&n.setAttribute("data-state",t)})}function getOwnerDocument(e){var t,n=normalizeToArray(e),o=n[0];return o!=null&&(t=o.ownerDocument)!=null&&t.body?o.ownerDocument:document}function isCursorOutsideInteractiveBorder(e,t){var n=t.clientX,o=t.clientY;return e.every(function(a){var s=a.popperRect,i=a.popperState,r=a.props,l=r.interactiveBorder,c=getBasePlacement(i.placement),u=i.modifiersData.offset;if(!u)return!0;var v=c==="bottom"?u.top.y:0,_=c==="top"?u.bottom.y:0,m=c==="right"?u.left.x:0,p=c==="left"?u.right.x:0,h=s.top-o+v>l,f=o-s.bottom-_>l,y=s.left-n+m>l,g=n-s.right-p>l;return h||f||y||g})}function updateTransitionEndListener(e,t,n){var o=t+"EventListener";["transitionend","webkitTransitionEnd"].forEach(function(a){e[o](a,n)})}function actualContains(e,t){for(var n=t;n;){var o;if(e.contains(n))return!0;n=n.getRootNode==null||(o=n.getRootNode())==null?void 0:o.host}return!1}var currentInput={isTouch:!1},lastMouseMoveTime=0;function onDocumentTouchStart(){currentInput.isTouch||(currentInput.isTouch=!0,window.performance&&document.addEventListener("mousemove",onDocumentMouseMove))}function onDocumentMouseMove(){var e=performance.now();e-lastMouseMoveTime<20&&(currentInput.isTouch=!1,document.removeEventListener("mousemove",onDocumentMouseMove)),lastMouseMoveTime=e}function onWindowBlur(){var e=document.activeElement;if(isReferenceElement(e)){var t=e._tippy;e.blur&&!t.state.isVisible&&e.blur()}}function bindGlobalEventListeners(){document.addEventListener("touchstart",onDocumentTouchStart,TOUCH_OPTIONS),window.addEventListener("blur",onWindowBlur)}var isBrowser=typeof window<"u"&&typeof document<"u",isIE11=isBrowser?!!window.msCrypto:!1;function createMemoryLeakWarning(e){var t=e==="destroy"?"n already-":" ";return[e+"() was called on a"+t+"destroyed instance. This is a no-op but","indicates a potential memory leak."].join(" ")}function clean(e){var t=/[ \t]{2,}/g,n=/^[ \t]*/gm;return e.replace(t," ").replace(n,"").trim()}function getDevMessage(e){return clean(`
|
|
30
|
+
`;let Dnd$1=class Ze extends x6.View{get targetScroller(){const{target:t}=this.options;return t.getPlugin("scroller")}get targetGraph(){return this.options.target}get targetModel(){return this.targetGraph.model}get snapline(){const{target:t}=this.options;return t.getPlugin("snapline")}constructor(t){super(),this.name="dnd",this.options=Object.assign(Object.assign({},Ze.defaults),t),this.init()}init(){x6.CssLoader.ensure(this.name,content),this.container=document.createElement("div"),x6.Dom.addClass(this.container,this.prefixClassName("widget-dnd")),this.draggingGraph=new x6.Graph(Object.assign(Object.assign({},this.options.delegateGraphOptions),{container:document.createElement("div"),width:1,height:1,async:!1})),x6.Dom.append(this.container,this.draggingGraph.container)}start(t,n){const o=n;o.preventDefault(),this.targetModel.startBatch("dnd"),x6.Dom.addClass(this.container,"dragging"),x6.Dom.appendTo(this.container,this.options.draggingContainer||document.body),this.sourceNode=t,this.prepareDragging(t,o.clientX,o.clientY);const a=this.updateNodePosition(o.clientX,o.clientY);this.isSnaplineEnabled()&&(this.snapline.captureCursorOffset({e:o,node:t,cell:t,view:this.draggingView,x:a.x,y:a.y}),this.draggingNode.on("change:position",this.snap,this)),this.delegateDocumentEvents(Ze.documentEvents,o.data)}isSnaplineEnabled(){return this.snapline&&this.snapline.isEnabled()}prepareDragging(t,n,o){const{draggingGraph:a}=this,r=a.model,s=this.options.getDragNode(t,{sourceNode:t,draggingGraph:a,targetGraph:this.targetGraph});s.position(0,0);let i=5;if(this.isSnaplineEnabled()&&(i+=this.snapline.options.tolerance||0),this.isSnaplineEnabled()||this.options.scaled){const u=this.targetGraph.transform.getScale();a.scale(u.sx,u.sy),i*=Math.max(u.sx,u.sy)}else a.scale(1,1);this.clearDragging(),r.resetCells([s]);const l=a.findViewByCell(s);l.undelegateEvents(),l.cell.off("changed"),a.fitToContent({padding:i,allowNewOrigin:"any",useCellGeometry:!1});const c=l.getBBox();this.geometryBBox=l.getBBox({useCellGeometry:!0}),this.delta=this.geometryBBox.getTopLeft().diff(c.getTopLeft()),this.draggingNode=s,this.draggingView=l,this.draggingBBox=s.getBBox(),this.padding=i,this.originOffset=this.updateGraphPosition(n,o)}updateGraphPosition(t,n){const o=document.body.scrollTop||document.documentElement.scrollTop,{delta:a}=this,r=this.geometryBBox,s=this.padding||5,i={left:t-a.x-r.width/2-s,top:n-a.y-r.height/2-s+o};return this.draggingGraph&&x6.Dom.css(this.container,{left:`${i.left}px`,top:`${i.top}px`}),i}updateNodePosition(t,n){const o=this.targetGraph.clientToLocal(t,n),a=this.draggingBBox;return o.x-=a.width/2,o.y-=a.height/2,this.draggingNode.position(o.x,o.y),o}snap({cell:t,current:n,options:o}){const a=t;if(o.snapped){const r=this.draggingBBox;a.position(r.x+o.tx,r.y+o.ty,{silent:!0}),this.draggingView.translate(),a.position(n.x,n.y,{silent:!0}),this.snapOffset={x:o.tx,y:o.ty}}else this.snapOffset=null}onDragging(t){const{draggingView:n}=this;if(n){t.preventDefault();const o=this.normalizeEvent(t),{clientX:a}=o,{clientY:r}=o;this.updateGraphPosition(a,r);const s=this.updateNodePosition(a,r),i=this.targetGraph.options.embedding.enabled,l=(i||this.isSnaplineEnabled())&&this.isInsideValidArea({x:a,y:r});if(i){n.setEventData(o,{graph:this.targetGraph,candidateEmbedView:this.candidateEmbedView});const c=n.getEventData(o);l?n.processEmbedding(o,c):n.clearEmbedding(c),this.candidateEmbedView=c.candidateEmbedView}this.options.nodeDragging?.(t,this.sourceNode),this.isSnaplineEnabled()&&(l?this.snapline.snapOnMoving({e:o,view:n,x:s.x,y:s.y}):this.snapline.hide())}}onDragEnd(t){const{draggingNode:n}=this;if(n){const o=this.normalizeEvent(t),{draggingView:a}=this,{draggingBBox:r}=this,{snapOffset:s}=this;let{x:i}=r,{y:l}=r;s&&(i+=s.x,l+=s.y),n.position(i,l,{silent:!0});const c=this.drop(n,{x:o.clientX,y:o.clientY}),u=m=>{m?(this.onDropped(n),this.targetGraph.options.embedding.enabled&&a&&(a.setEventData(o,{cell:m,graph:this.targetGraph,candidateEmbedView:this.candidateEmbedView}),a.finalizeEmbedding(o,a.getEventData(o)))):this.onDropInvalid(),this.candidateEmbedView=null,this.targetModel.stopBatch("dnd")};this.options.nodeDragEnd?.(t,this.sourceNode),x6.FunctionExt.isAsync(c)?(this.undelegateDocumentEvents(),c.then(u)):u(c)}}clearDragging(){this.draggingNode&&(this.sourceNode=null,this.draggingNode.remove(),this.draggingNode=null,this.draggingView=null,this.delta=null,this.padding=null,this.snapOffset=null,this.originOffset=null,this.undelegateDocumentEvents())}onDropped(t){this.draggingNode===t&&(this.clearDragging(),x6.Dom.removeClass(this.container,"dragging"),x6.Dom.remove(this.container))}onDropInvalid(){const{draggingNode:t}=this;t&&this.onDropped(t)}isInsideValidArea(t){let n,o=null;const{targetGraph:a}=this,{targetScroller:r}=this;this.options.dndContainer&&(o=this.getDropArea(this.options.dndContainer));const s=o&&o.containsPoint(t);if(r)if(r.options.autoResize)n=this.getDropArea(r.container);else{const i=this.getDropArea(r.container);n=this.getDropArea(a.container).intersectsWithRect(i)}else n=this.getDropArea(a.container);return!s&&n&&n.containsPoint(t)}getDropArea(t){const n=x6.Dom.offset(t),o=document.body.scrollTop||document.documentElement.scrollTop,a=document.body.scrollLeft||document.documentElement.scrollLeft;return x6.Rectangle.create({x:n.left+parseInt(x6.Dom.css(t,"border-left-width"),10)-a,y:n.top+parseInt(x6.Dom.css(t,"border-top-width"),10)-o,width:t.clientWidth,height:t.clientHeight})}drop(t,n){if(this.isInsideValidArea(n)){const{targetGraph:o}=this,a=o.model,r=o.clientToLocal(n),{sourceNode:s}=this,i=this.options.getDropNode(t,{sourceNode:s,draggingNode:t,targetGraph:this.targetGraph,draggingGraph:this.draggingGraph}),l=i.getBBox();r.x+=l.x-l.width/2,r.y+=l.y-l.height/2;const c=this.snapOffset?1:o.getGridSize();i.position(x6.GeometryUtil.snapToGrid(r.x,c),x6.GeometryUtil.snapToGrid(r.y,c)),i.removeZIndex();const{validateNode:u}=this.options,m=u?u(i,{sourceNode:s,draggingNode:t,droppingNode:i,targetGraph:o,draggingGraph:this.draggingGraph}):!0;return typeof m=="boolean"?m?(a.addCell(i,{stencil:this.cid}),i):null:x6.FunctionExt.toDeferredBoolean(m).then(y=>y?(a.addCell(i,{stencil:this.cid}),i):null)}return null}onRemove(){this.draggingGraph&&(this.draggingGraph.view.remove(),this.draggingGraph.dispose())}dispose(){this.remove(),x6.CssLoader.clean(this.name)}};(function(e){e.defaults={getDragNode:t=>t.clone(),getDropNode:t=>t.clone()},e.documentEvents={mousemove:"onDragging",touchmove:"onDragging",mouseup:"onDragEnd",touchend:"onDragEnd",touchcancel:"onDragEnd"}})(Dnd$1||(Dnd$1={}));const _hoisted_1$R=["data-type"],_sfc_main$$=vue.defineComponent({__name:"index",props:{instance:{}},emits:["dragging","dragEnd"],setup(e,{emit:t}){const n=[{id:"startpoint",icon:"startpoint-zh",name:"开始节点"},{id:"endpoint",icon:"endpoint-zh",name:"结束节点"},{id:"tasknode",icon:"tasknode",name:"任务节点"},{id:"branchgateway",icon:"branchgateway",name:"分支网关"},{id:"parallelgateway",icon:"parallelgateway",name:"并行网关"},{id:"conditionalparallelgateway",icon:"conditionalparallelgateway",name:"条件并行网关"},{id:"convergegateway",icon:"convergegateway",name:"汇聚节点"}],o=e,a=t,r=vue.shallowRef(),s=vue.shallowRef(),i=vue.ref(),l=vue.ref();vue.onMounted(()=>{r.value=new Dnd$1({target:o.instance,scaled:!1,dndContainer:l.value,nodeDragging:(v,w)=>c(v,w),nodeDragEnd:(v,w)=>u(v,w),getDragNode:v=>v.clone({keepId:!0}),getDropNode:v=>v.clone({keepId:!0})}),o.instance.on("node:added",({node:v})=>{const w=v.shape==="custom-group-node"?1:2;v.setZIndex(w)}),i.value.addEventListener("mousedown",m)});const c=(v,w)=>{a("dragging",{e:v,node:w})},u=(v,w)=>{a("dragEnd",{e:v,node:w})},m=v=>{(parentClsContains("node-item",v.target)||parentClsContains("entry-item",v.target))&&(s.value=v,document.addEventListener("mousemove",y),document.addEventListener("mouseup",h))},y=v=>{if(!s.value)return;const{pageX:w,pageY:f}=s.value;Math.max(v.pageX-w,v.pageY-f)>3&&(p(s.value),document.removeEventListener("mousemove",y))},h=()=>{s.value=null,document.removeEventListener("mouseup",h)},p=v=>{const w=g(v.target),f=w.type==="tasknode",_=o.instance.createNode({id:`node${uuid()}`,shape:"custom-node",width:f?154:34,height:f?54:34,data:w,zIndex:5});r.value.start(_,v)},g=v=>{const w=v.getAttribute("data-type");return w?{type:w}:{}};return(v,w)=>(vue.openBlock(),vue.createElementBlock("div",{ref_key:"dndPanel",ref:i,class:"dnd-panel"},[vue.createElementVNode("ul",{ref_key:"containerRef",ref:l,class:"nodes-wrapper"},[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(n,f=>vue.createElementVNode("li",{key:f.id,class:vue.normalizeClass(["node-item",`bkflow-canvas-icon bkflow-canvas-node-${f.icon}`,{disabled:["startpoint","endpoint"].includes(f.id)}]),"data-type":f.id},null,10,_hoisted_1$R)),64))],512)],512))}}),Dnd=_export_sfc(_sfc_main$$,[["__scopeId","data-v-61aa5064"]]),_sfc_main$_={name:"Start",props:{node:{type:Object,default:()=>({})}},data(){return{}}};function _sfc_render$8(e,t,n,o,a,r){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["node-item circle-node",{ready:n.node.ready}])}," 开始 ",2)}const Start=_export_sfc(_sfc_main$_,[["render",_sfc_render$8]]),_sfc_main$Z={name:"End",props:{node:{type:Object,default:()=>({})}},data(){return{}}};function _sfc_render$7(e,t,n,o,a,r){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["node-item circle-node",{ready:n.node.ready}])}," 结束 ",2)}const End=_export_sfc(_sfc_main$Z,[["render",_sfc_render$7]]),SYSTEM_GROUP_ICON=["CMDB","JOB","BK","Nodeman","Monitor","GCLOUD","TCM","WechatWork"],BK_PLUGIN_ICON={bk_http_request:"bkflow-canvas-icon bkflow-canvas-bk-plugin-http",bk_notify:"bkflow-canvas-icon bkflow-canvas-bk-plugin-notify",sleep_timer:"bkflow-canvas-icon bkflow-canvas-bk-plugin-timer",pause_node:"bkflow-canvas-icon bkflow-canvas-bk-plugin-pause"},_sfc_main$Y={name:"Task",props:{node:{type:Object,default:()=>({})}},data(){return{phaseStr:{1:"当前插件即将停止维护,请更新插件版本",2:"当前插件已停止维护,请更新插件版本"}}},computed:{isEmptyNode(){return!this.node.component||!this.node.component.code}},methods:{getIconCls(e){const{code:t,group:n}=e;if(BK_PLUGIN_ICON[t])return BK_PLUGIN_ICON[t];if(t==="remote_plugin")return"bkflow-canvas-icon bkflow-canvas-sys-third-party";const o=SYSTEM_GROUP_ICON.find(a=>new RegExp(a).test(n));return o?`bkflow-canvas-icon bkflow-canvas-sys-${o.toLowerCase()}`:"bkflow-canvas-icon bkflow-canvas-sys-default"}}},_hoisted_1$Q={class:"node-status-block"},_hoisted_2$x=["src"],_hoisted_3$k={key:2,class:"stage-name"},_hoisted_4$j={class:"node-name"},_hoisted_5$f={class:"name-text"};function _sfc_render$6(e,t,n,o,a,r){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["node-item task-node",{"empty-node":r.isEmptyNode}])},[vue.createElementVNode("div",_hoisted_1$Q,[n.node.icon?(vue.openBlock(),vue.createElementBlock("img",{key:0,class:"node-icon",src:n.node.icon},null,8,_hoisted_2$x)):(vue.openBlock(),vue.createElementBlock("i",{key:1,class:vue.normalizeClass(["node-icon-font",r.getIconCls(n.node)])},null,2)),n.node.stage_name?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$k,vue.toDisplayString(n.node.stage_name),1)):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_4$j,[vue.createElementVNode("div",_hoisted_5$f,vue.toDisplayString(r.isEmptyNode?"- 节点未配置 -":n.node.name),1)])],2)}const Task=_export_sfc(_sfc_main$Y,[["render",_sfc_render$6],["__scopeId","data-v-53ab1e5c"]]),_sfc_main$X={name:"BranchGateway",props:{node:{type:Object,default:()=>({})}}};function _sfc_render$5(e,t,n,o,a,r){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["node-item gateway-node",{"fail-skip":n.node.status==="FINISHED"&&n.node.skip},{ready:n.node.ready}])},[...t[0]||(t[0]=[vue.createElementVNode("div",{class:"bpmn-flow-icon bkflow-canvas-icon bkflow-canvas-node-branchgateway"},null,-1)])],2)}const BranchGateway=_export_sfc(_sfc_main$X,[["render",_sfc_render$5]]),_sfc_main$W={name:"ParallelGateway",props:{node:{type:Object,default:()=>({})}}};function _sfc_render$4(e,t,n,o,a,r){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["node-item gateway-node",{ready:n.node.ready}])},[...t[0]||(t[0]=[vue.createElementVNode("div",{class:"bpmn-flow-icon bkflow-canvas-icon bkflow-canvas-node-parallelgateway"},null,-1)])],2)}const ParallelGateway=_export_sfc(_sfc_main$W,[["render",_sfc_render$4]]),_sfc_main$V={name:"ConditionalParallelGateway",props:{node:{type:Object,default:()=>({})}}};function _sfc_render$3(e,t,n,o,a,r){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["node-item gateway-node",{"fail-skip":n.node.status==="FINISHED"&&n.node.skip},{ready:n.node.ready}])},[...t[0]||(t[0]=[vue.createElementVNode("div",{class:"bpmn-flow-icon bkflow-canvas-icon bkflow-canvas-node-conditionalparallelgateway"},null,-1)])],2)}const ConditionalParallelGateway=_export_sfc(_sfc_main$V,[["render",_sfc_render$3]]),_sfc_main$U={name:"ConvergeGateway",props:{node:{type:Object,default:()=>({})}}};function _sfc_render$2(e,t,n,o,a,r){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["node-item gateway-node",{ready:n.node.ready}])},[...t[0]||(t[0]=[vue.createElementVNode("div",{class:"bpmn-flow-icon bkflow-canvas-icon bkflow-canvas-node-convergegateway"},null,-1)])],2)}const ConvergeGateway=_export_sfc(_sfc_main$U,[["render",_sfc_render$2]]),_hoisted_1$P={class:"node-config-flags"},_hoisted_2$w={key:0,class:"error-handle-icon"},_hoisted_3$j={key:1,class:"error-handle-icon"},_hoisted_4$i={key:2,class:"error-handle-icon"},_hoisted_5$e={key:3,class:"error-handle-icon"},_hoisted_6$9={key:1,class:"mock-label"},_sfc_main$T=vue.defineComponent({__name:"node-config-flags",props:{node:{},editable:{type:Boolean}},setup(e){const t=e;return(n,o)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$P,[t.editable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[t.node.error_ignorable?(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$w,[...o[0]||(o[0]=[vue.createElementVNode("span",{class:"text"},"AS",-1)])])):vue.createCommentVNode("",!0),t.node.skippable?(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$j,[...o[1]||(o[1]=[vue.createElementVNode("span",{class:"text"},"MS",-1)])])):vue.createCommentVNode("",!0),t.node.retryable?(vue.openBlock(),vue.createElementBlock("span",_hoisted_4$i,[...o[2]||(o[2]=[vue.createElementVNode("span",{class:"text"},"MR",-1)])])):vue.createCommentVNode("",!0),t.node.auto_retry?.enable?(vue.openBlock(),vue.createElementBlock("span",_hoisted_5$e,[...o[3]||(o[3]=[vue.createElementVNode("span",{class:"text"},"AR",-1)])])):vue.createCommentVNode("",!0)],64)):vue.createCommentVNode("",!0),t.node.create_method==="mock"?(vue.openBlock(),vue.createElementBlock("span",_hoisted_6$9,"MOCK")):vue.createCommentVNode("",!0)]))}}),NodeConfigFlags=_export_sfc(_sfc_main$T,[["__scopeId","data-v-077f8bb9"]]),_hoisted_1$O={class:"node-operate-actions"},_hoisted_2$v={key:0,class:"more-btn-list"},_hoisted_3$i=["onClick"],_hoisted_4$h={class:"action-name"},_sfc_main$S=vue.defineComponent({__name:"index",emits:["delete","moreBtnClick"],setup(e,{emit:t}){const n=t,o=vue.ref(!1),a=vue.computed(()=>[{id:"copyNode",name:"复制节点",icon:"bkflow-canvas-bkflow-copy"},{id:"copyNodeAndInsert",name:"复制并插入",icon:"bkflow-canvas-bkflow-copy-insert"},{id:"detachEdges",name:"解除连线",icon:"bkflow-canvas-bkflow-disconnect"}]),r=()=>{o.value=!0},s=i=>{n("moreBtnClick",i)};return(i,l)=>{const c=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$O,[vue.withDirectives(vue.createElementVNode("i",{class:"delete-btn bkflow-canvas-icon bkflow-canvas-bkflow-delete",onClick:l[0]||(l[0]=u=>n("delete"))},null,512),[[c,"删除节点"]]),vue.createElementVNode("i",{class:"more-btn bkflow-canvas-icon bkflow-canvas-more-fill",onClick:r}),o.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$v,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(a.value,u=>(vue.openBlock(),vue.createElementBlock("div",{class:"more-btn-item",key:u.id,onClick:m=>s(u.id)},[vue.createElementVNode("i",{class:vue.normalizeClass(["bkflow-canvas-icon",u.icon])},null,2),vue.createElementVNode("span",_hoisted_4$h,vue.toDisplayString(u.name),1)],8,_hoisted_3$i))),128))])):vue.createCommentVNode("",!0)])}}}),NodeOperateActions=_export_sfc(_sfc_main$S,[["__scopeId","data-v-f433ab95"]]),logicImg="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",_hoisted_1$N={class:"option-item"},_hoisted_2$u=["src"],_hoisted_3$h={class:"option-name"},_sfc_main$R=vue.defineComponent({__name:"option-item",props:{option:{}},setup(e){const t=e;return(n,o)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$N,[vue.createElementVNode("img",{class:"option-img",src:t.option.iconUrl},null,8,_hoisted_2$u),vue.createElementVNode("div",_hoisted_3$h,vue.toDisplayString(t.option.name),1),t.option.type==="group"?(vue.openBlock(),vue.createBlock(vue.unref(icon.AngleRight),{key:0,class:"angle-icon"})):vue.createCommentVNode("",!0),t.option.type==="link"?(vue.openBlock(),vue.createBlock(vue.unref(icon.ArrowsRight),{key:1,class:"arrow-icon"})):vue.createCommentVNode("",!0)]))}}),OptionItem=_export_sfc(_sfc_main$R,[["__scopeId","data-v-0470b67d"]]),_hoisted_1$M={key:0},_sfc_main$Q=vue.defineComponent({__name:"index",props:{isSearch:{type:Boolean,default:!1},title:{}},emits:["clear"],setup(e,{emit:t}){const n=e,o=t,a=vue.computed(()=>n.isSearch?"搜索结果为空":n.title||"暂无数据");return(r,s)=>{const i=vue.resolveComponent("bk-exception");return vue.openBlock(),vue.createBlock(i,{scene:"part",type:n.isSearch?"search-empty":"empty",title:a.value},{default:vue.withCtx(()=>[n.isSearch?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$M,[s[1]||(s[1]=vue.createTextVNode(" 可以尝试 调整关键词 或 ",-1)),vue.createElementVNode("span",{class:"clear-button",onClick:s[0]||(s[0]=l=>o("clear"))},"清空筛选条件")])):vue.createCommentVNode("",!0)]),_:1},8,["type","title"])}}}),EmptyException=_export_sfc(_sfc_main$Q,[["__scopeId","data-v-01a0dc2e"]]),_hoisted_1$L={class:"quick-edit-popover"},_hoisted_2$t={class:"search-input"},_hoisted_3$g={class:"plugin-option-list"},_hoisted_4$g={key:0,class:"nodes-list"},_hoisted_5$d=["onClick"],_hoisted_6$8={key:1,class:"data-plugin-list"},_hoisted_7$5=["onClick"],_hoisted_8$4={class:"data-plugin-name"},_hoisted_9$4={key:2,class:"agent-plugin-list"},_hoisted_10$4={class:"list-wrapper"},_hoisted_11$4=["onClick"],_hoisted_12$2={class:"agent-name"},_hoisted_13$2={class:"agent-en-name"},_hoisted_14$1={key:3,class:"agent-plugin-list"},_hoisted_15$1={class:"list-wrapper"},_hoisted_16$1=["onClick"],_hoisted_17={class:"agent-name"},_hoisted_18={key:4,class:"bkflow-tag-list"},_hoisted_19=["onClick"],_hoisted_20=["onClick"],_sfc_main$P=vue.defineComponent({__name:"index",props:{pluginGroupList:{default:()=>[]}},emits:["addNode","addPlugin","openPluginSelect","deleteEdge","deleteNode","copyNode","copyNodeAndInsert","detachEdges"],setup(e,{emit:t}){const n=[{id:"branchgateway",name:"分支网关",icon:"bkflow-canvas-node-branchgateway-shortcut"},{id:"parallelgateway",name:"并行网关",icon:"bkflow-canvas-node-parallelgateway-shortcut"},{id:"conditionalparallelgateway",name:"条件并行网关",icon:"bkflow-canvas-node-conditionalparallelgateway-shortcut"},{id:"convergegateway",name:"汇聚网关",icon:"bkflow-canvas-node-convergegateway-shortcut"}],o={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"},a=vueRouter.useRouter(),r=vueRouter.useRoute(),s=e,i=t,l=vue.shallowRef([]),c=vue.ref(""),u=vue.shallowRef([...l.value||[]]),m=vue.computed(()=>(s.pluginGroupList.find(f=>f.name==="agent")?.children.length||0)>10);vue.watch(()=>s.pluginGroupList,f=>{const _=[{id:"logic",name:"逻辑",iconUrl:logicImg,type:"group",width:88,children:n}];f.forEach(d=>{_.push({id:d.name,name:d.alias,iconUrl:d.iconUrl,type:"group",width:d.name==="data"?160:280,children:d.children.map(C=>{if(d.name==="data"){const{id:b,name:A,alias:V}=C;return{id:b,name:V,icon:o[A]}}else if(d.name==="agent"){const{id:b,alias:A,name:V}=C;return{id:b,name:A,enName:V}}else if(d.name==="bkflow"){const{id:b,name:A}=C;return{id:b,name:A}}return C})})}),l.value=_,u.value=[...l.value]},{immediate:!0});const y=f=>{const _=f.trim().toLowerCase();if(_===""){u.value=[...l.value];return}const d=[];l.value.forEach(C=>{if(C.name.toLowerCase().includes(_))d.push(C);else if(C.type==="group"){const b=[];C.children?.forEach(A=>{A.name.toLowerCase().includes(_)&&b.push(A)}),b.length>0&&d.push({...C,children:b})}}),u.value=d},h=()=>{c.value="",u.value=[...l.value]},p=f=>{i("addNode",f)},g=(f,_)=>{_==="bkflow"?v("bkflow",f):i("addPlugin",f,_)},v=(f,_=0)=>{i("openPluginSelect",f,_)},w=f=>{if(f==="agent"&&!m.value){const{href:_}=a.resolve({name:"spaceResource",params:r.params});window.open(_,"_blank")}else v(f)};return(f,_)=>{const d=vue.resolveComponent("bk-input"),C=vue.resolveComponent("bk-button"),b=vue.resolveComponent("bk-popover"),A=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$L,[vue.createElementVNode("div",_hoisted_2$t,[vue.createVNode(d,{modelValue:c.value,"onUpdate:modelValue":_[0]||(_[0]=V=>c.value=V),placeholder:"搜索节点",type:"search",clearable:!0,onClear:h,onInput:y},null,8,["modelValue"])]),vue.createElementVNode("div",_hoisted_3$g,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(u.value,V=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:V.id},[V.type==="group"?(vue.openBlock(),vue.createBlock(b,{key:0,theme:"light",placement:"right-start","ext-cls":"plugin-child-popover",boundary:"parent",arrow:!1,width:V.width,"popover-delay":[0,100]},{content:vue.withCtx(()=>[V.id==="logic"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$g,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(V.children,O=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("i",{class:vue.normalizeClass(["bkflow-canvas-icon",O.icon]),key:O.id,onClick:D=>p(O.id)},null,10,_hoisted_5$d)),[[A,{content:O.name,placement:"top"}]])),128))])):V.id==="data"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_6$8,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(V.children?.slice(0,10),O=>(vue.openBlock(),vue.createElementBlock("div",{class:"data-plugin-item",key:O.id,onClick:D=>g(O.id,"data")},[vue.createElementVNode("i",{class:vue.normalizeClass(["bkflow-canvas-icon",O.icon])},null,2),vue.createElementVNode("div",_hoisted_8$4,vue.toDisplayString(O.name),1)],8,_hoisted_7$5))),128))])):V.id==="agent"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_9$4,[vue.createElementVNode("div",_hoisted_10$4,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(V.children?.slice(0,10),O=>(vue.openBlock(),vue.createElementBlock("div",{class:"agent-plugin-item",key:O.id,onClick:D=>g(O.id,"agent")},[vue.createElementVNode("span",_hoisted_12$2,vue.toDisplayString(O.name),1),vue.createElementVNode("span",_hoisted_13$2,"("+vue.toDisplayString(O.enName)+")",1)],8,_hoisted_11$4))),128))])])):V.id==="model"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_14$1,[vue.createElementVNode("div",_hoisted_15$1,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(V.children?.slice(0,10),O=>(vue.openBlock(),vue.createElementBlock("div",{class:"agent-plugin-item",key:O.id,onClick:D=>g(O.id,"model")},[vue.createElementVNode("span",_hoisted_17,vue.toDisplayString(O.alias||O.enName),1)],8,_hoisted_16$1))),128))])])):V.id==="bkflow"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_18,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(V.children?.slice(0,10),O=>(vue.openBlock(),vue.createElementBlock("div",{class:"bkflow-tag-item",key:O.id,onClick:D=>g(O.id,"bkflow")},vue.toDisplayString(O.name),9,_hoisted_19))),128))])):vue.createCommentVNode("",!0),V.children&&V.children.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:5,class:"group-empty-exception",title:`暂无${V.name}插件`},null,8,["title"])):vue.createCommentVNode("",!0),V.id==="agent"||V.children&&V.children.length>10?(vue.openBlock(),vue.createElementBlock("div",{key:6,class:"list-footer",onClick:O=>w(V.id)},[vue.createVNode(C,{theme:"primary",text:"",size:"small"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(V.id==="agent"&&!m.value?"申请更多权限":"更多"),1)]),_:2},1024),_[1]||(_[1]=vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-arrow2"},null,-1))],8,_hoisted_20)):vue.createCommentVNode("",!0)]),default:vue.withCtx(()=>[vue.createVNode(OptionItem,{option:V},null,8,["option"])]),_:2},1032,["width"])):(vue.openBlock(),vue.createBlock(OptionItem,{key:1,option:V,onClick:O=>v(V.id)},null,8,["option","onClick"]))],64))),128)),u.value.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:0,"is-search":c.value.length>0,onClear:h},null,8,["is-search"])):vue.createCommentVNode("",!0)])])}}}),QuickAddNodePopover=_export_sfc(_sfc_main$P,[["__scopeId","data-v-209f0d9a"]]),_hoisted_1$K={class:"custom-node"},_hoisted_2$s={key:0,class:"add-node-popover"},_sfc_main$O=vue.defineComponent({__name:"index",props:{editable:{type:Boolean},pluginGroupList:{default:()=>[]}},emits:["addNode","addPlugin","addNodeAndSelectPlugin","addBtnClick","deleteBtnClick","copyNodeClick","copyNodeAndInsertClick","detachEdgesClick"],setup(e,{emit:t}){const n={startpoint:Start,endpoint:End,tasknode:Task,branchgateway:BranchGateway,parallelgateway:ParallelGateway,conditionalparallelgateway:ConditionalParallelGateway,convergegateway:ConvergeGateway},o=vue.inject("getNode");if(!o)throw new Error("getNode is not defined");const a=e,r=t,s=vue.ref({id:"",type:"",name:""}),i=vue.ref(),l=vue.ref(!1),c=vue.computed(()=>{const v=o(),{type:w}=v.getData();return n[w]});vue.onMounted(()=>{const v=o();s.value=v.getData(),v.on("change:data",({current:w})=>{s.value=w})}),vue.onBeforeUnmount(()=>{i.value?.resetPopover()});const u=v=>{r("addNode",s.value.id,v),i.value.hide()},m=(v,w)=>{r("addPlugin",s.value.id,v,w),i.value.hide()},y=(v,w=0)=>{r("addNodeAndSelectPlugin",s.value.id,v,w),i.value.hide()},h=()=>{l.value=!0,r("addBtnClick",s.value.id)},p=()=>{r("deleteBtnClick",s.value.id)},g=v=>{v==="copyNode"?r("copyNodeClick",s.value.id):v==="copyNodeAndInsert"?r("copyNodeAndInsertClick",s.value.id):v==="detachEdges"&&r("detachEdgesClick",s.value.id)};return(v,w)=>{const f=vue.resolveComponent("bk-popover");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$K,[["task","tasknode"].includes(s.value.type)?(vue.openBlock(),vue.createBlock(NodeConfigFlags,{key:0,node:s.value,editable:a.editable},null,8,["node","editable"])):vue.createCommentVNode("",!0),(vue.openBlock(),vue.createBlock(f,{ref_key:"popoverRef",ref:i,"ext-cls":"custom-node-popover",placement:"bottom-end",theme:"light",disabled:!a.editable||s.value.type==="endpoint",content:s.value.name,key:s.value.id,arrow:!1,onAfterHidden:w[0]||(w[0]=_=>l.value=!1)},{content:vue.withCtx(()=>[vue.createElementVNode("div",{class:vue.normalizeClass(["add-btn",s.value.type==="tasknode"?"type-task-node":""])},[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-add-fill",onClick:h}),l.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$s,[vue.createVNode(QuickAddNodePopover,{"plugin-group-list":a.pluginGroupList,onAddNode:u,onOpenPluginSelect:y,onAddPlugin:m},null,8,["plugin-group-list"])])):vue.createCommentVNode("",!0)],2),vue.createVNode(NodeOperateActions,{onDelete:p,onMoreBtnClick:g})]),default:vue.withCtx(()=>[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(c.value),{node:s.value,class:vue.normalizeClass(s.value.status?s.value.status.toLowerCase():"")},null,8,["node","class"]))]),_:1},8,["disabled","content"]))])}}}),CustomNode=_export_sfc(_sfc_main$O,[["__scopeId","data-v-2eb82156"]]),_sfc_main$N=vue.defineComponent({__name:"canvas",props:{pipelineTree:{},editable:{type:Boolean},hideTool:{type:Boolean}},emits:["nodeMoving","nodeMoved","nodeClick","edgeClick","edgeLabelClick","edgeLabelUpdate","nodeDbClick","nodeMouseenter","nodeMouseleave","edgeMouseenter","edgeMouseleave","updatePipelineTree","addNode","deleteNode","copyNode","copyNodeAndInsert","detachEdges","deleteEdge"],setup(e,{expose:t,emit:n}){const o=vue.useSlots(),a=x6VueShape.getTeleport(),r=e,s=n,i=vue.shallowRef(null),l=vue.shallowRef(),c=vue.ref(lodash.cloneDeep(r.pipelineTree)),u=vue.ref(!1);vue.watch(()=>r.pipelineTree,()=>{c.value=lodash.cloneDeep(r.pipelineTree)}),vue.onMounted(()=>{m(),y();const{x:E,y:z}=i.value.getContentArea();i.value.positionPoint({x:E,y:z},40,134)});const m=()=>{i.value=new x6.Graph({container:l.value,grid:{size:1,visible:!1},panning:!0,mousewheel:{enabled:!0,modifiers:["ctrl"]},scaling:{min:.25,max:1.5},virtual:!1,connecting:{allowBlank:!1,allowLoop:!1,allowNode:!1,allowEdge:!1,allowMulti:!1,highlight:!1,snap:{radius:15},router:{name:"manhattan",args:{padding:1}},connector:{name:"rounded",args:{radius:6}},connectionPoint:"anchor",createEdge(){return new x6.Shape.Edge({id:`line${uuid()}`,attrs:{line:{stroke:"#a9adb6",strokeWidth:2,targetMarker:{name:"block",width:6,height:8}}},data:{},zIndex:0})},validateEdge:p},interacting:{nodeMovable:r.editable,edgeLabelMovable:r.editable,arrowheadMovable:r.editable},highlighting:{magnetAvailable:{name:"stroke",args:{attrs:{fill:"#fff",stroke:"#31d0c6","stroke-width":1}}},magnetAdsorbed:{name:"stroke",args:{attrs:{fill:"#fff",stroke:"#3a84ff","stroke-width":2}}}},onEdgeLabelRendered:E=>{const{label:z}=E.label,R=E.selectors.foContent;if(R){const G=document.createElement("div");return G.classList.add("branch-condition"),z.isDefault&&G.classList.add("default-branch"),G.innerText=z.name,G.title=z.name,Array.isArray(R)?R.length>0&&R[0].appendChild(G):R.appendChild(G),()=>{Array.isArray(R)?R.length>0&&R[0].contains(G)&&R[0].removeChild(G):R.contains(G)&&R.removeChild(G)}}}}),window.__x6_instances__=[i.value],i.value.use(new x6PluginSnapline.Snapline({enabled:!0,className:"custom-snap-line",tolerance:2})),i.value.use(new x6PluginClipboard.Clipboard({enabled:!0})),i.value.use(new x6PluginSelection.Selection({enabled:!1,multiple:!0,rubberband:!1,showNodeSelectionBox:!0,pointerEvents:"none"})),h(),registryEvents(i.value,r.editable),i.value.on("node:moving",g),i.value.on("node:moved",w),i.value.on("node:click",lodash.debounce(_,200)),i.value.on("node:dblclick",d),i.value.on("node:mouseenter",C),i.value.on("node:mouseleave",b),i.value.on("edge:click",lodash.debounce(A,200)),i.value.on("edge:mouseenter",V),i.value.on("edge:click",O),i.value.on("edge:added",D),i.value.on("edge:change:labels",Z),i.value.on("edge:mouseenter",({cell:E})=>{r.editable&&E.addTools([{name:"button-remove",args:{distance:.5,onClick:()=>{s("deleteEdge",E)}}}])}),i.value.on("edge:mouseleave",({cell:E})=>{E.removeTools()})},y=()=>{const E=transLocationsToNodes(c.value.location,c.value.activities),z=transLinesToEdges(c.value.line);i.value?.addNodes(E),i.value?.addEdges(z)},h=()=>{x6VueShape.register({shape:"custom-node",ports:{...ports},component:o.customNode?vue.h("div",{style:{width:"100%",height:"100%"}},o.customNode()):vue.h(CustomNode,{editable:r.editable,onAddBtnClick:E=>{s("addNode",E)},onDeleteBtnClick:E=>{s("deleteNode",E)},onCopyNodeClick:E=>{s("copyNode",E)},onCopyNodeAndInsertClick:E=>{s("copyNodeAndInsert",E)},onDetachEdgesClick:E=>{s("detachEdges",E)}})})},p=({edge:E})=>{const z=c.value.line.filter(ae=>ae.id!==E.id),R=E.source,G=E.target,H=R.port.split("_")[1]||"",W=G.port?.split("_")[1]||"",q={id:E.id,source:{id:R.cell,arrow:`${H.charAt(0).toUpperCase()}${H.slice(1)}`},target:{id:G.cell,arrow:`${W.charAt(0).toUpperCase()}${W.slice(1)}`}},X=validateEdge(q,z,c.value.location);if(X.valid){const ae=E.id in r.pipelineTree.flows;if(console.log(ae),ae){const se=c.value.line.find(ne=>ne.id===E.id);k(se,q)}else $([q]),D({cell:E})}else BkMessage({message:X.message,theme:"warning"});return X.valid},g=({node:E})=>{s("nodeMoving",E)},v=({node:E})=>{},w=({node:E})=>{const z=E.position(),R=[...c.value.location],G=R.findIndex(H=>H.id===E.id);R.splice(G,1,{...R[G],x:z.x,y:z.y}),c.value={...c.value,location:R},J(),s("nodeMoved",E)},f=({node:E})=>{const z=i.value?.getCellById(E.id);if(z){const R=z.getData().type,G=z.position();R==="tasknode"?T(E.id,G):B(E.id,R,G)}},_=({e:E,node:z})=>{E.detail===1&&s("nodeClick",z)},d=({node:E})=>{s("nodeDbClick",E)},C=({node:E})=>{s("nodeMouseenter",E)},b=({node:E,e:z})=>{s("nodeMouseleave",E,z)},A=({e:E,edge:z})=>{if(parentClsContains("branch-condition",E.target)){s("edgeLabelClick",z);return}s("edgeClick",z,E)},V=({edge:E})=>{s("edgeMouseenter",E)},O=({edge:E})=>{s("edgeMouseleave",E)},D=({cell:E})=>{vue.nextTick(()=>{const z=E.source?.cell||E.source,G=I(z)[E.id];if(G){const H=document.createElement("span");H.innerText=G.name,H.style.fontSize="12px",H.style.padding="0 6px",document.body.appendChild(H);let{width:W=0}=H.getBoundingClientRect();W>112?W=112:W<60&&(W=60),document.body.removeChild(H);const q=G.loc||-W/2-20;E.appendLabel({markup:x6.Markup.getForeignObjectMarkup(),attrs:{fo:{width:W,height:26,x:-W,y:-13}},label:{...G,lineId:E.id,sourceId:z},position:{distance:q,offset:{x:W/2,y:0}}})}})},L=E=>{const R=i.value.getEdges().find(G=>G.id===E);R&&(R.removeLabelAt(0),D({cell:R}))},Z=({edge:E,current:z,previous:R})=>{if(!R||!R.length||!z.length)return;const W=i.value.findViewByCell(E.id).container.querySelector(`.${E.id}`).getTotalLength();z.forEach(q=>{const{width:X}=q.attrs.fo;q.position.offset={x:X/2,y:0};const ae=(X/2+20)/W,se=1-ae,ne=Math.max(ae,Math.min(se,q.position.distance));q.position.distance=ne;const{sourceId:re,isDefault:de=!1}=q.label;Q(E.id,re,de,ne)})},I=E=>{const z=c.value.gateways[E];let R={};if(z){const{conditions:G,default_condition:H}=z;G&&(R={...G}),H&&H.flow_id&&(R[H.flow_id]={...H,isDefault:!0})}return R},T=(E,z,R={})=>{const G={...c.value.activities},H=[...c.value.location],W=getActivityConfig(E,R),{name:q,error_ignorable:X,retryable:ae,skippable:se,auto_retry:ne,component:re={}}=W;j(E,{id:E,name:q,error_ignorable:X,retryable:ae,skippable:se,auto_retry:ne,component:re,type:"tasknode"}),G[E]=W,H.push({id:E,type:"tasknode",x:z.x,y:z.y,name:q}),c.value={...c.value,activities:G,location:H},J()},B=(E,z,R,G={})=>{const W={branchgateway:"ExclusiveGateway",parallelgateway:"ParallelGateway",conditionalparallelgateway:"ConditionalParallelGateway",convergegateway:"ConvergeGateway"}[z],q={...c.value.gateways},X=[...c.value.location],ae=getGatewayConfig(E,W,G);console.log("gateway: ",ae),j(E,{id:E}),q[E]=ae,X.push({id:E,type:z,x:R.x,y:R.y}),c.value={...c.value,gateways:q,location:X},J()},$=E=>{const{start_event:z,end_event:R,activities:G,gateways:H,flows:W,location:q,line:X}=lodash.cloneDeep(c.value);E.forEach(ae=>{const{id:se,source:ne,target:re}=ae;X.push(ae),W[ae.id]={id:se,source:ne.id,target:re.id,is_default:!1};const de=q.find(ce=>ce.id===ne.id),fe=q.find(ce=>ce.id===re.id);if(de){if(de.type==="startpoint")z.outgoing=se;else if(de.type==="tasknode")G[ne.id].outgoing=se;else if(de.type.includes("gateway")){const ce=H[ne.id];if(Array.isArray(ce.outgoing)?ce.outgoing.push(se):ce.outgoing=se,["ExclusiveGateway","ConditionalParallelGateway"].includes(ce.type)){const he={...ce.conditions||{}},ye=Object.keys(he).length;he[se]={name:`条件${ye+1}`,tag:`branch_${ne.id}_${re.id}`,evaluate:ye>0?"1 == 0":"1 == 1"},ce.conditions=he}}}fe&&(fe.type==="endpoint"?R.incoming.push(se):fe.type==="tasknode"?G[re.id].incoming.push(se):fe.type.includes("gateway")&&H[re.id].incoming.push(se))}),c.value={...c.value,start_event:z,end_event:R,activities:G,gateways:H,flows:W,line:X},J()},k=(E,z)=>{const R=z.id,G=lodash.cloneDeep(c.value),H=E.source.id!==z.source.id,W=H?E.source.id:E.target.id,q=H?z.source.id:z.target.id;H?G.flows[R].source=q:G.flows[R].target=q;const X=G.line.findIndex(re=>re.id===R);X>-1&&G.line.splice(X,1,z);const ae=getNodeById(q,G),se=getNodeById(W,G),ne=H?"outgoing":"incoming";Array.isArray(ae[ne])?ae[ne].push(R):ae[ne]=R,Array.isArray(se[ne])?se[ne]=se[ne].filter(re=>re!==R):se[ne]="",c.value=G,J()},x=E=>{const z=transLinesToEdges(E);i.value?.addEdges(z),$(E)},N=E=>{i.value?.removeNode(E);const z=[];c.value.line.forEach(ne=>{(ne.source.id===E||ne.target.id===E)&&z.push(ne.id)});const R=F(z),{activities:G,gateways:H,flows:W,location:q,line:X,start_event:ae,end_event:se}=R;G[E]?delete G[E]:H[E]&&delete H[E],q.splice(q.findIndex(ne=>ne.id===E),1),c.value={...c.value,activities:G,gateways:H,flows:W,location:q,line:X,start_event:ae,end_event:se},J()},S=E=>{E.forEach(z=>{i.value?.removeEdge(z)}),c.value=F(E),J()},F=E=>{const z={...c.value.activities},R={...c.value.gateways},G={...c.value.flows},H=[...c.value.line],W={...c.value.start_event},q={...c.value.end_event};return E.forEach(X=>{delete G[X],H.splice(H.findIndex(ae=>ae.id===X),1),Object.keys(z).forEach(ae=>{if(z[ae].incoming.includes(X)||z[ae].outgoing===X){const se=lodash.cloneDeep(z[ae]),{incoming:ne,outgoing:re}=se;ne.includes(X)&&ne.splice(ne.findIndex(de=>de===X),1),re===X&&(se.outgoing=""),z[ae]=se}}),Object.keys(R).forEach(ae=>{const se=lodash.cloneDeep(R[ae]),{incoming:ne,outgoing:re,conditions:de,default_condition:fe}=se;R[ae].incoming.includes(X)&&ne.includes(X)&&ne.splice(ne.findIndex(ce=>ce===X),1),Array.isArray(re)?re.includes(X)&&re.splice(re.findIndex(ce=>ce===X),1):re===X&&(se.outgoing=""),de&&de[X]&&delete de[X],fe&&fe.flow_id===X&&delete se.default_condition,R[ae]=se}),W.outgoing===X&&(W.outgoing=""),q.incoming.includes(X)&&(q.incoming=q.incoming.filter(ae=>ae!==X))}),{...c.value,activities:z,gateways:R,flows:G,line:H,start_event:W,end_event:q}},j=(E,z)=>{const R=i.value?.getCellById(E),G=R?.data.type;R&&R.setData({...R.data,...z,type:G})},Q=lodash.debounce((E,z,R,G)=>{const H={...c.value.gateways};if(H[z]){const W=lodash.cloneDeep(H[z]);R&&W.default_condition?W.default_condition={...W.default_condition,loc:G}:W.conditions&&W.conditions[E]&&(W.conditions[E]={...W.conditions[E],loc:G}),H[z]=W,c.value={...c.value,gateways:H},J()}},300),ee=async()=>{if(u.value)return;const E=200,z=r.pipelineTree.location.map(me=>me.x),R=r.pipelineTree.location.map(me=>me.y),G=Math.min(...z),H=Math.max(...z),W=Math.min(...R),q=Math.max(...R),X=G<0?-G:0,ae=W<0?-W:0;let se=0;const ne=document.documentElement.offsetWidth-60,re=document.documentElement.offsetHeight-60-50;G<0?se=H>ne?H-G:ne-G:se=H>ne?H:ne;let de=0;W<0?de=q>re?q-W:re-W:de=q>re?q:re;const fe=de+E+30,ce=se+E+80,he=await domtoimage.toJpeg(l.value,{bgcolor:"#ffffff",height:fe,width:ce,cloneBack:me=>{const ke=me.querySelector(".x6-graph-svg");ke.style.width=`${ce}px`,ke.style.height=`${fe}px`;const Ae=me.querySelector(".x6-graph-svg-viewport");Ae.style.transform=`translate(${`${X+30}px`}, ${`${ae+30}px`})`}});u.value=!0;const ye=document.createElement("a");ye.download=`bkflow_template_canvas_${+new Date}.png`,ye.href=he,ye.click(),u.value=!1},J=()=>{s("updatePipelineTree",c.value)};return t({graph:i,createActivity:T,createGateway:B,deleteNode:N,deleteEdges:S,insertEdgesToCanvas:x,updateEdgeLabel:L,updateNodeData:j}),(E,z)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["bkflow-canvas-container",{"bkflow-canvas-view":!r.editable}])},[i.value&&!r.hideTool?(vue.openBlock(),vue.createBlock(Tool,{key:0,instance:i.value,onDownload:ee},null,8,["instance"])):vue.createCommentVNode("",!0),i.value&&r.editable?(vue.openBlock(),vue.createBlock(Dnd,{key:1,instance:i.value,onDragging:v,onDragEnd:f},null,8,["instance"])):vue.createCommentVNode("",!0),vue.createElementVNode("div",{ref_key:"graphContainerRef",ref:l,class:"graph-container"},null,512),vue.createVNode(vue.unref(a))],2))}}),BkFlowCanvas=_export_sfc(_sfc_main$N,[["__scopeId","data-v-89f6970f"]]),getUniformApiPluginFormValue$1=e=>"default"in e?e.default:"",_hoisted_1$J={class:"bkflow-variable-table"},_hoisted_2$r={class:"operate-wrapper"},_hoisted_3$f={class:"btns-list"},_hoisted_4$f={class:"toggle-system-variables"},_hoisted_5$c={class:"variable-table-wrapper"},_hoisted_6$7={class:"var-check-cell"},_hoisted_7$4={key:0,class:"bkflow-canvas-icon bkflow-canvas-lock-disable"},_hoisted_8$3={class:"cell-text"},_hoisted_9$3={class:"cell-text"},_hoisted_10$3={class:"copy-icon-wrapper"},_hoisted_11$3={class:"table-row-actions"},_hoisted_12$1=["onClick"],_hoisted_13$1=["onClick"],_sfc_main$M=vue.defineComponent({__name:"global-variable-table",props:{constants:{default:()=>({})},systemVariables:{default:()=>[]},editable:{type:Boolean,default:!0},outputs:{default:()=>[]},customVariableTypes:{default:()=>[]},variablesReference:{default:()=>({defined:{},nodefined:{}})}},emits:["create","edit","clone","delete","outputChange","updateConstants"],setup(e,{emit:t}){const n=e;vue.watch(()=>n.outputs,d=>{console.log("outputs",d)});const o=t,a=vue.ref(!1),r=vue.ref([]),s=vue.computed(()=>{const d=Object.values(n.constants).sort((C,b)=>C.index-b.index);return a.value?d:[...n.systemVariables,...d]}),i={cellFn:d=>{const C=r.value.length,b=Object.values(n.constants).length,A=b>0&&C===b,V=C>0&&C<b;if(d.index===0)return vue.createVNode(vue.Fragment,null,[vue.createVNode(vue.resolveComponent("bk-checkbox"),{modelValue:A,indeterminate:V,disabled:!n.editable,onChange:m},null)]);if(["reference","outputs"].includes(d.column.prop)){const O={content:d.column.prop==="reference"?"直接引用全局变量的节点数量,点击数字查看引用详情":"表示该变量会作为该流程模板的输出参数,在被其他流程模板当做子流程节点时可以引用。",placement:"top"};return vue.createVNode("div",{class:"thead-custom"},[d.column.label,vue.withDirectives(vue.createVNode(icon.Info,{class:"info-icon"},null),[[vue.resolveDirective("bk-tooltips"),O]])])}return d.column.label}},l=d=>d.source_type==="system"?"系统变量":d.source_type==="custom"?n.customVariableTypes.find(b=>b.code===d.custom_type)?.name||"自定义":"组件",c=d=>{const C=d.length>1?`确认删除所选的${d.length}个变量?`:`确认删除全局变量"${d[0]}"?`;lib.InfoBox({title:C,content:"若该变量被节点引用,请及时检查并更新节点配置",width:450,headerAlign:"center",footerAlign:"center",confirmText:"确认",cancelText:"取消",onConfirm:()=>{const b={...n.constants};d.slice().forEach(A=>{delete b[A];const V=r.value.indexOf(A);V!==-1&&r.value.splice(V,1)}),o("updateConstants",b),_(d)},onCancel:()=>{}})},u=(d,C)=>{o("edit",C)},m=d=>{d?r.value=Object.keys(n.constants):r.value=[]},y=(d,C)=>{const b=r.value.indexOf(C);d?b===-1&&r.value.push(C):b!==-1&&r.value.splice(b,1)},h=d=>{if(n.variablesReference?.defined&&d in n.variablesReference.defined){const{activities:C,conditions:b,constants:A}=n.variablesReference.defined[d];return C.length+b.length+A.length}return 0},p=()=>{c(r.value)},g=d=>{c([d.key])},v=d=>{const C=document.createElement("textarea");C.value=d.toString(),document.body.appendChild(C),C.select(),document.execCommand("copy"),document.body.removeChild(C),lib.Message({theme:"success",message:"复制成功"})},w=(d,C)=>{const b={...n.constants};b[d.key]={...d,show_type:C?"show":"hide"},o("updateConstants",b)},f=(d,C)=>{o("outputChange",d,C)},_=d=>{o("delete",d)};return(d,C)=>{const b=vue.resolveComponent("bk-button"),A=vue.resolveComponent("bk-checkbox"),V=vue.resolveComponent("bk-table-column"),O=vue.resolveComponent("bk-overflow-title"),D=vue.resolveComponent("bk-switcher"),L=vue.resolveComponent("bk-popover"),Z=vue.resolveComponent("bk-table"),I=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$J,[vue.createElementVNode("div",_hoisted_2$r,[vue.createElementVNode("div",_hoisted_3$f,[vue.createVNode(b,{theme:"primary",onClick:C[0]||(C[0]=T=>o("create"))},{default:vue.withCtx(()=>[...C[7]||(C[7]=[vue.createTextVNode("新建",-1)])]),_:1}),r.value.length>0?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(b,{onClick:p},{default:vue.withCtx(()=>[...C[8]||(C[8]=[vue.createTextVNode("删除",-1)])]),_:1}),vue.createElementVNode("span",null,"已选择"+vue.toDisplayString(r.value.length)+"项",1),vue.createVNode(b,{class:"clear-checked-btn",theme:"primary",size:"small",text:"",onClick:C[1]||(C[1]=T=>r.value=[])},{default:vue.withCtx(()=>[...C[9]||(C[9]=[vue.createTextVNode(" 清空 ",-1)])]),_:1})],64)):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_4$f,[vue.createVNode(A,{modelValue:a.value,"onUpdate:modelValue":C[2]||(C[2]=T=>a.value=T)},{default:vue.withCtx(()=>[...C[10]||(C[10]=[vue.createTextVNode("隐藏系统变量",-1)])]),_:1},8,["modelValue"])])]),vue.createElementVNode("div",_hoisted_5$c,[vue.createVNode(Z,{data:s.value,border:["outer"],thead:i,onRowClick:u},{default:vue.withCtx(()=>[vue.createVNode(V,{"min-width":40,width:40},{default:vue.withCtx(({row:T})=>[vue.createElementVNode("div",_hoisted_6$7,[T.source_type==="system"?(vue.openBlock(),vue.createElementBlock("i",_hoisted_7$4)):(vue.openBlock(),vue.createElementBlock("span",{key:1,onClick:C[3]||(C[3]=vue.withModifiers(()=>{},["stop"]))},[vue.createVNode(A,{"model-value":r.value.includes(T.key),disabled:!n.editable,onChange:B=>y(B,T.key)},null,8,["model-value","disabled","onChange"])]))])]),_:1}),vue.createVNode(V,{label:"名称",prop:"name",width:150},{default:vue.withCtx(({row:T})=>[vue.createElementVNode("div",_hoisted_8$3,[vue.createVNode(O,{type:"tips"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(T.name),1)]),_:2},1024)])]),_:1}),vue.createVNode(V,{label:"KEY",prop:"key","min-width":120},{default:vue.withCtx(({row:T})=>[vue.createElementVNode("div",_hoisted_9$3,[vue.createVNode(O,{type:"tips"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(T.key),1)]),_:2},1024)]),vue.createElementVNode("span",_hoisted_10$3,[vue.withDirectives(vue.createVNode(vue.unref(icon.CopyShape),{onClick:vue.withModifiers(B=>v(T.key),["stop"])},null,8,["onClick"]),[[I,{content:"复制",placement:"top"}]])])]),_:1}),vue.createVNode(V,{label:"引用",prop:"reference",width:70,"min-width":60},{default:vue.withCtx(({row:T})=>[vue.createTextVNode(vue.toDisplayString(h(T.key)),1)]),_:1}),vue.createVNode(V,{label:"类型",prop:"type",width:80,"min-width":80},{default:vue.withCtx(({row:T})=>[vue.createTextVNode(vue.toDisplayString(l(T)),1)]),_:1}),vue.createVNode(V,{label:"显示(入参)",prop:"value",width:110},{default:vue.withCtx(({row:T})=>[vue.createVNode(D,{theme:"primary",size:"small",value:T.show_type==="show",disabled:!n.editable||["system","component_outputs"].includes(T.source_type),onClick:C[4]||(C[4]=vue.withModifiers(()=>{},["stop"])),onChange:B=>w(T,B)},null,8,["value","disabled","onChange"])]),_:1}),vue.createVNode(V,{label:"输出",prop:"outputs",width:70,"min-width":60},{default:vue.withCtx(({row:T})=>[vue.createVNode(D,{theme:"primary",size:"small",value:n.outputs.includes(T.key),disabled:!n.editable||T.source_type==="system",onClick:C[5]||(C[5]=vue.withModifiers(()=>{},["stop"])),onChange:B=>f(T.key,B)},null,8,["value","disabled","onChange"])]),_:1}),vue.createVNode(V,{label:"操作",prop:"description",width:70,"min-width":70,fixed:"right"},{default:vue.withCtx(({row:T})=>[vue.createElementVNode("div",_hoisted_11$3,[n.editable&&T.source_type!=="system"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(b,{theme:"primary",size:"small",text:"",onClick:vue.withModifiers(B=>o("edit",T),["stop"])},{default:vue.withCtx(()=>[...C[11]||(C[11]=[vue.createTextVNode(" 编辑 ",-1)])]),_:1},8,["onClick"]),vue.createVNode(L,{placement:"bottom",theme:"light","ext-cls":"varibale-table-action-popover",width:90},{content:vue.withCtx(()=>[vue.createElementVNode("div",{class:"more-action-item",onClick:B=>o("clone",T)},"克隆",8,_hoisted_12$1),vue.createElementVNode("div",{class:"more-action-item",onClick:B=>g(T)},"删除",8,_hoisted_13$1)]),default:vue.withCtx(()=>[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-more-fill row-action-more",onClick:C[6]||(C[6]=vue.withModifiers(()=>{},["stop"]))})]),_:2},1024)],64)):(vue.openBlock(),vue.createBlock(b,{key:1,theme:"primary",size:"small",text:""},{default:vue.withCtx(()=>[...C[12]||(C[12]=[vue.createTextVNode("查看",-1)])]),_:1}))])]),_:1})]),_:1},8,["data"])])])}}}),GlobalVariableTable=_export_sfc(_sfc_main$M,[["__scopeId","data-v-49065388"]]),_hoisted_1$I={class:"plugin-form-renderform"},_sfc_main$L=vue.defineComponent({__name:"index",setup(e){return(t,n)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$I,[vue.createVNode(EmptyException,{title:"该插件暂无输入参数表单"})]))}}),Renderform=_export_sfc(_sfc_main$L,[["__scopeId","data-v-a064f213"]]),_hoisted_1$H={class:"bkflow-variable-edit"},_hoisted_2$q={class:"basic-info-section"},_sfc_main$K=vue.defineComponent({__name:"global-variable-edit",props:{variable:{},editable:{type:Boolean,default:!0},variablesReference:{default:()=>({defined:{},nodefined:{}})},customVariableTypes:{default:()=>[]}},emits:["change"],setup(e,{expose:t,emit:n}){const o=e,a=n,r=vue.ref(lodash.cloneDeep(o.variable)),s=vue.ref(o.variable.key),i=vue.ref(),l={name:[{required:!0,message:"请输入变量名称"}],key:[{validator:w=>w.trim().length>0,message:"KEY不能为空",trigger:"blur"},{validator:w=>/(^\${(?!_env_|_system\.)[a-zA-Z_]\w*}$)|(^(?!_env_|_system\.)[a-zA-Z_]\w*$)/.test(w),message:"变量KEY由英文字母、数字、下划线组成,不允许使用系统变量及业务环境变量命名规则,且不能以数字开头",trigger:"blur"}],validation:[{required:!0,message:"请输入正则校验"}]},c=vue.computed(()=>o.variable.source_type!=="custom"?[{value:"component_inputs",label:"组件"},{value:"component_outputs",label:"组件"}]:o.customVariableTypes.filter(w=>["textarea","input","int","json_variable"].includes(w.code)).map(w=>({value:w.code,label:w.name}))),u=vue.computed(()=>({...r.value,key:s.value})),m=vue.computed(()=>{if(o.variable.key.length>0&&o.variablesReference?.defined&&o.variablesReference.defined[o.variable.key]){const{activities:w,conditions:f,constants:_}=o.variablesReference.defined[o.variable.key];return w.length+f.length+_.length>0}return!1}),y=()=>{r.value.key=s.value,v()},h=w=>{r.value.custom_type=w,["textarea","input"].includes(w)?r.value.validation="^.+$":r.value.validation="",r.value.source_tag=`${w}.${w}`,v()},p=w=>{r.value.value=w[r.value.key],a("change",lodash.cloneDeep(r.value))},g=()=>i.value.validate().then(()=>!0).catch(()=>!1),v=()=>{a("change",lodash.cloneDeep(r.value))};return t({validate:g}),(w,f)=>{const _=vue.resolveComponent("bk-input"),d=vue.resolveComponent("bk-form-item"),C=vue.resolveComponent("bk-select"),b=vue.resolveComponent("bk-option"),A=vue.resolveComponent("bk-form"),V=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$H,[vue.createElementVNode("div",_hoisted_2$q,[f[5]||(f[5]=vue.createElementVNode("h4",{class:"variable-edit-section-title"},"基础信息",-1)),vue.createVNode(A,{ref_key:"basicInfoFormRef",ref:i,"label-width":130,model:u.value,rules:l},{default:vue.withCtx(()=>[vue.createVNode(d,{label:"名称",required:"",property:"name"},{default:vue.withCtx(()=>[vue.createVNode(_,{modelValue:r.value.name,"onUpdate:modelValue":f[0]||(f[0]=O=>r.value.name=O),disabled:!o.editable,onChange:v},null,8,["modelValue","disabled"])]),_:1}),vue.createVNode(d,{label:"KEY",required:"",property:"key"},{default:vue.withCtx(()=>[vue.withDirectives(vue.createVNode(_,{modelValue:s.value,"onUpdate:modelValue":f[1]||(f[1]=O=>s.value=O),disabled:!o.editable||m.value,onBlur:y},null,8,["modelValue","disabled"]),[[V,{content:"变量已被引用,KEY不可修改",disabled:o.editable&&!m.value}]])]),_:1}),vue.createVNode(d,{label:"类型"},{default:vue.withCtx(()=>[vue.createVNode(C,{"model-value":r.value.source_type==="custom"?r.value.custom_type:r.value.source_type,clearable:!1,list:c.value,disabled:!o.editable||r.value.source_type==="component_outputs",onChange:h},null,8,["model-value","list","disabled"])]),_:1}),r.value.custom_type==="input"?(vue.openBlock(),vue.createBlock(d,{key:0,label:"正则校验",property:"validation"},{default:vue.withCtx(()=>[vue.createVNode(_,{modelValue:r.value.validation,"onUpdate:modelValue":f[2]||(f[2]=O=>r.value.validation=O),disabled:!o.editable,onChange:v},null,8,["modelValue","disabled"])]),_:1})):vue.createCommentVNode("",!0),r.value.source_type!=="system"?(vue.openBlock(),vue.createBlock(d,{key:1,label:"执行时显示",description:"配置为「显示」可在执行时做为任务入参使用,配置为「隐藏」则仅能在流程内部使用"},{default:vue.withCtx(()=>[vue.createVNode(C,{modelValue:r.value.show_type,"onUpdate:modelValue":f[3]||(f[3]=O=>r.value.show_type=O),disabled:!o.editable||r.value.source_type==="component_outputs",clearable:!1,onChange:v},{default:vue.withCtx(()=>[vue.createVNode(b,{id:"show",name:"显示(入参)"}),vue.createVNode(b,{id:"hide",name:"隐藏(非入参)"})]),_:1},8,["modelValue","disabled"])]),_:1})):vue.createCommentVNode("",!0),r.value.source_type!=="system"?(vue.openBlock(),vue.createBlock(d,{key:2,label:"说明"},{default:vue.withCtx(()=>[vue.createVNode(_,{modelValue:r.value.desc,"onUpdate:modelValue":f[4]||(f[4]=O=>r.value.desc=O),type:"textarea",rows:4,resize:!1,disabled:!o.editable,onChange:v},null,8,["modelValue","disabled"])]),_:1})):vue.createCommentVNode("",!0)]),_:1},8,["model"])]),["components_input","custom"].includes(r.value.source_type)?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[f[6]||(f[6]=vue.createElementVNode("h4",{class:"variable-edit-section-title"},"默认值",-1)),vue.createVNode(Renderform,{variables:[r.value],editable:o.editable,onChange:p},null,8,["variables","editable"])],64)):vue.createCommentVNode("",!0)])}}}),GlobalVariableEdit=_export_sfc(_sfc_main$K,[["__scopeId","data-v-6e468587"]]),_hoisted_1$G={class:"slider-title"},_hoisted_2$p={key:0},_hoisted_3$e={class:"sub-title-text"},_hoisted_4$e={class:"global-variable-slider"},_hoisted_5$b={class:"sideslider-footer-buttons"},_sfc_main$J=vue.defineComponent({__name:"index",props:{show:{type:Boolean,default:!1},flowData:{},systemVariables:{default:()=>[]},editable:{type:Boolean,default:!0}},emits:["close","update:show","outputChange","change"],setup(e,{emit:t}){const n={create:"新建",edit:"编辑",clone:"克隆",view:"查看"},o=e,a=useFlowApiConfig(),r=t,s=vue.shallowRef({defined:{},nodefined:{}}),i=vue.shallowRef(!1),l=vue.shallowRef({type:"create",data:getVariableDefaultConfig(),oldKey:""}),c=vue.ref([]),u=vue.ref(),m=vue.computed(()=>Object.keys(o.flowData.pipeline_tree.constants).length);vue.watch(()=>o.show,A=>{A&&(h(),y())});const y=async()=>{if(a?.fetchCustomVariableTypes){const A=await a.fetchCustomVariableTypes();c.value=A.data}},h=async()=>{if(a?.fetchVariableRef){const{activities:A,constants:V,gateways:O}=o.flowData.pipeline_tree,D=await a.fetchVariableRef({template_id:o.flowData.id,activities:A,constants:V,gateways:O});s.value=D.data}},p=()=>{const A=getVariableDefaultConfig();A.index=m.value,l.value={type:"create",data:A},i.value=!0},g=A=>{l.value={type:!o.editable||A.source_type==="system"?"view":"edit",data:lodash.cloneDeep(A),oldKey:A.key},i.value=!0},v=A=>{const V=lodash.cloneDeep(A);V.key="",l.value={type:"clone",data:V},i.value=!0},w=A=>{l.value={...l.value,data:A}},f=async()=>{if(await u.value?.validate()){const V={...o.flowData.pipeline_tree.constants};let O=l.value.data.key.trim();/^\$\{\w+\}$/.test(O)||(O=`\${${O}}`,l.value.data.key=O),V[O]=l.value.data,l.value.type==="edit"&&l.value.oldKey!==l.value.data.key&&delete V[l.value.oldKey],i.value=!1,C(V)}},_=(A,V)=>{r("outputChange",A,V)},d=()=>{},C=A=>{r("change",A)},b=()=>{r("close"),r("update:show",!1),i.value=!1};return(A,V)=>{const O=vue.resolveComponent("bk-button"),D=vue.resolveComponent("bk-sideslider");return vue.openBlock(),vue.createBlock(D,{title:"全局变量","is-show":o.show,width:800,"esc-close":!1,"before-close":b},vue.createSlots({header:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$G,[vue.createElementVNode("span",{class:vue.normalizeClass([i.value?"main-title-text":""]),onClick:V[0]||(V[0]=L=>i.value=!1)},"全局变量",2),i.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$p,[V[3]||(V[3]=vue.createElementVNode("span",null,">",-1)),vue.createElementVNode("span",_hoisted_3$e,vue.toDisplayString(n[l.value.type]),1)])):vue.createCommentVNode("",!0)])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_4$e,[i.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(GlobalVariableTable,{key:0,constants:o.flowData.pipeline_tree.constants,"system-variables":o.systemVariables,outputs:o.flowData.pipeline_tree.outputs,"variables-reference":s.value,"custom-variable-types":c.value,editable:o.editable,onCreate:p,onEdit:g,onClone:v,onDelete:d,onUpdateConstants:C,onOutputChange:_},null,8,["constants","system-variables","outputs","variables-reference","custom-variable-types","editable"])),i.value?(vue.openBlock(),vue.createBlock(GlobalVariableEdit,{key:1,ref_key:"variableEditRef",ref:u,editable:o.editable&&l.value.type!=="view",variable:l.value.data,"variables-reference":s.value,"custom-variable-types":c.value,onChange:w},null,8,["editable","variable","variables-reference","custom-variable-types"])):vue.createCommentVNode("",!0)])]),_:2},[i.value?{name:"footer",fn:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_5$b,[o.editable&&l.value.type!=="view"&&l.value.data.source_type!=="system"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(O,{theme:"primary",onClick:f},{default:vue.withCtx(()=>[...V[4]||(V[4]=[vue.createTextVNode("确定",-1)])]),_:1}),vue.createVNode(O,{onClick:V[1]||(V[1]=L=>i.value=!1)},{default:vue.withCtx(()=>[...V[5]||(V[5]=[vue.createTextVNode("取消",-1)])]),_:1})],64)):(vue.openBlock(),vue.createBlock(O,{key:1,theme:"primary",onClick:V[2]||(V[2]=L=>i.value=!1)},{default:vue.withCtx(()=>[...V[6]||(V[6]=[vue.createTextVNode("返回",-1)])]),_:1}))])]),key:"0"}:void 0]),1032,["is-show"])}}}),GlobalVariables=_export_sfc(_sfc_main$J,[["__scopeId","data-v-7400bcc9"]]),_hoisted_1$F={key:0,class:"desc"},_hoisted_2$o={class:"section-content"},_sfc_main$I=vue.defineComponent({__name:"index",props:{title:{},desc:{}},setup(e){const t=e,n=vue.ref(!1),o=()=>{n.value=!n.value},a=l=>{const c=l;c.style.height="0",c.offsetHeight,c.style.height=`${l.scrollHeight}px`},r=l=>{const c=l;c.style.height=""},s=l=>{const c=l;c.style.height=`${c.scrollHeight}px`,c.offsetHeight,c.style.height="0"},i=l=>{const c=l;c.style.height=""};return(l,c)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["section-container",{fold:n.value}])},[vue.createElementVNode("div",{class:"section-title",onClick:o},[vue.createVNode(vue.unref(icon.AngleUpFill),{class:"arrow-icon"}),vue.createTextVNode(" "+vue.toDisplayString(t.title)+" ",1),t.desc?(vue.openBlock(),vue.createElementBlock("span",_hoisted_1$F,vue.toDisplayString(t.desc),1)):vue.createCommentVNode("",!0)]),vue.createVNode(vue.Transition,{name:"fold",css:!0,onEnter:a,onAfterEnter:r,onLeave:s,onAfterLeave:i},{default:vue.withCtx(()=>[vue.withDirectives(vue.createElementVNode("div",_hoisted_2$o,[vue.renderSlot(l.$slots,"default",{},void 0,!0)],512),[[vue.vShow,!n.value]])]),_:3})],2))}}),SectionContainer=_export_sfc(_sfc_main$I,[["__scopeId","data-v-c8f4294f"]]),WeixinIcon="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20width='48px'%20height='48px'%20viewBox='0%200%2048%2048'%20enable-background='new%200%200%2048%2048'%20xml:space='preserve'%3e%3cimage%20id='image0'%20width='48'%20height='48'%20x='0'%20y='0'%20href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJN%20AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAG%20yUlEQVRo3u2Zf2yVVxnHP897bymMArdjFV00zgGbLmFuiRkIjs0y3R9uWcyIzDmTVcqaOLUm8mMb%20WdAExF/ZIALK1oFCoSyLxmVGwqIIGkZNlmFrBTp+DDfnipEVNgrt7X2fr3+8t7e3t/f29uemSb/J%20Se59z/M+53zPec7z47wwjnGM4/8aNtwXa06tHrB/68x1/3sEciZtQAKYmvXMgXeAC+8VmaIEHjrx%20WPRDYDGbCHwSuBmYCXwY+GCWrm7gLHAGOAkcAVoUKuwZ6anZ33/vCCx79VEkEcSCacDngCXATcBH%20gNIiui8CbwAvA78EGj30DjPj6evWjz2BZa2PQowAZ76ZfQe4Aygb5jjngH2SthBwmBB/+vrRIZGX%20QPWxR7DArgDuB1ZizB6V0cQJ4EfAbrku1X3iB6NPoProKghsokENsAYoH5XJ96Id+J5gK67Ouht+%20OCJl8X6MjLjEg4LvEnmZ3MHPAFOAjwGxAnpD4DXgXeCanEUoJ9KdNKOO6OAPG0H2n6rmlbjzGbmW%20IyWQyGptSGuQFiN9FWkvkufIkH62Ny2zOP1OW45MQq5vuzO3qnnliHagD4Eg4EqkpUgz5SKn/Umu%20HcBpoFGurXJ15JHrkOvnQCNwWq6dcv05Vw5pFlJ1EHDlqBCoalqBxE0Sd/dfVJBISYRhtxN251v4%20TJNEchBygcQXJG6oaloxbALZZ6BErs9iNi2vpFQJVAEvAFfJVQNMxixXrgz4JpH9vynXPcCtkb9Q%20rtbpwC2e8sM1p1aHPQ+HErkzo1c1rZgG/BqoHEC+nehwlhFF4mKH+HxarhxIEqUYbRivGtaGcQ6j%20JV4aP2iBdWIk6aKTkjSRWcWJ9BL46/IKoJne1GC00A0cscAag5LY60E8KDOzG4GrMSqAacDbRFG7%20FXEYaDKzVndPwsDpR4bAg0eWfwBoASpGPGWlTcWsCeM38YnxVBAL5gC3m1kFBQKoEIgQOAH8FngO%20eEWuFEC+6J05A3KJKJscDYTA3ljcdsYmxhcBX5RUEXFTsXdjwMfT7W7gZxjbPfR38gn3ulEplcdf%20D6c5UkOsNPZMrDT+MKIaUYFgGO16xFrEOjObUX3skcIEJLokmuUa/txdyDkUlMQaglhQK2mhpCBP%20rBh8k8rkqkGsAsqWtqzKb0JInRIHgfuRCnmXYjhrAZuCeHCXXAtz+oTRbNgeYIpQFeJDWf0dGA2G%20HRW6A3EnvV6uBKgGjprZNrJMPTsSO9J+pMYRmM/z8dJ4iFiCCHLMoQNnbZgKf+yhr8XZntP/Is7j%20YTLciLMGcSKnfwriIUmzv9bcG/gyBHbc8iQSZyTqJS6kzWHwTZyT+CPGnXIl+puDu9zPmwiRknJ/%20N6e/Q+6XzHC5X5R7d44pIfeb5X5b9rxzs1EhNSBuBJaB+mWrBSFOx0pjb8n1qZyd7cFkoggNIgHc%20lxOZeyL9y4jFwLV9+pWZ7+eB3UQVX18C9Z/ewAMv1V4QWgfMAO6hcLTtZ/9BPDCkQvVDDLgLuD1N%20MLe6uxpYD3SlyZYU0DOHqJy92MeEMiTmb8SwNxHLEfWIDknF3J3k+lf6KFiRBG6qRFmB/kkSCYmS%20AXSUS72Lmm+rqV+wEeA1Scvl2obTXczdITrTv21EbrN483TQzdhUfpOWkPgPUgfFr18MmIWUZIQV%201iBwMnuMoJDU7lt/ikJdJWeBnLgcEMcRmxB1iD8gTiHOpz3RhFRn+G+J18d0B8Q+iY6iO7Dk918H%20aR5wLfAPsJ2CX0n8HSgxYzpRPj8ZmAS8nUqm/hmU2CHEQgZ/+AcP4w2kFy0IMjswkJuMIaYTuazt%204CexoDtdv3QDl4hS4F79ZuDUA18Crhvl6XcitgCv7Jj7RObhQARM0vPALgssBQYSeyo3DzjKAy/V%20ngKeAH6C0q5y2FfI9Ph/x3gB+IUF1ueMDUQgRVRRFZ107nsSu5CuAb4FXNG/khwyhX1gj5vRtnPe%20hr6rPCLVBfCVQ7XgKhOsIrogG26R1An8DnjMYkHrrvkb+gkEQ9U4GOxasBGMi0jrkWqRDiB1DdXj%20IL2F9KQZrXj+Wmv0PUUaf9v2F+ZUze1OJGi5fJkDwHGkONGtXg96ripC4DLpm4z0wk5COGK/p/xY%20w22b8o4zJiaUjS8fjPI3urqMCRPKkGYouqL/aLpBdNtxnCjfPytpAbAUmAfUIVbvqdycN0COOYEM%20kQPf6B3UDDOjtDT6xJBMJnH3TL1sZnjoCeBeoFzSM88u2tL+vhIYKu7b/zDt7e0kEompwOVnF23J%20uwNjcohHA3sqN5NIJCD65jbW+dU4xjGO9wv/BfVAV6WfUfulAAAAJXRFWHRkYXRlOmNyZWF0ZQAy%20MDI0LTEwLTE2VDA5OjM5OjAzKzAyOjAwmO75JgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyNC0xMC0x%20NlQwOTozOTowMyswMjowMOmzQZoAAAAASUVORK5CYII='%20/%3e%3c/svg%3e",RtxIcon="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20width='48px'%20height='48px'%20viewBox='0%200%2048%2048'%20enable-background='new%200%200%2048%2048'%20xml:space='preserve'%3e%3cimage%20id='image0'%20width='48'%20height='48'%20x='0'%20y='0'%20href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJN%20AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAG%20XklEQVRo3u3Za4xVVxUH8N+ducPADMggUCullJaSipRaAV/F1GKoreKHprZa0ajRItH6ikkj1pQq%20qRofMbY+GiB9aB8qGGqJr7a0aInNqGDBkaZpSbEPaGGGDjq8Zi53jh/WmblnLsPceZImspKdOXfv%20c/Ze/7X22mv993BKTsn/t+SGPMPK1srvrJjwKgNwvNI55FFd1l9AcSTBDAxAT8VPw1mYkrbXpS0r%20z6ftWbyI3egcTiCVAfRUuhpvw7sxH29Jla8kLdiOv+IP+Dvau0eHAKa/APK4AJ/C5Tj7BN8maavq%20Y8Zd2Ijb0IRjQwHRN4BQfiKWYpnYMtlvDuFl7MN+sU06MAZT0SC22lTUlgHdhR/jbrQML4DStnkD%20voIlGJVZfDc24c/YgZ0pgKRspomYiQtxMRZhcmb8INbiRuwZjCfyfYydh+/hfUpb4r/4BX6GJ/Gf%20Hl+UL76ydX8KrBG/wjxci8UYm7aPi9i6oRvEkDwQ1j8Dq/DejPL/xDfxWxw+odInkpJXG3AVlmNG%202lfEPbgezQPxQs9gi0XG4gt4TzqeYDOuE+4+3K34QNxdevcA7sBnsCXtq8Y1whs1g/fAytYcrsRP%20RfARx9+12DJsSajkjUvxExEn8G98GI39Xav8uJuCT2eU34ebMpYaHikp9wi+ji5E04Wn6/o7VQlA%20WGUuLkp7EqzDo2WLDieITtyP9ZmRi/HWftVYenqgFpeIGCBKgF+ibcSKsZj3CO5Fc9o7BW/XzzIn%20C2AM3pk+J+LUGb5937dsx2Ppcx7n4zUDBdCAc9LnAh7H0RFXPQzUiqcyvacPBsAUpcTWgadOkvUJ%20j78gDEdUteMGCqBGad8V8crJ0t6KCST5vZL8Y5LqRqV6qqKcqJSoFltqxGXOxvjbsueGnaPrmlYV%20i+OP7tn1nepjHafvHiiA51PkhDdmWNk6onQwI3MnTfnRNzAbHQ2TH7gzn7fxH/34MLuFWsU+JI7U%20uY6niCMho0Wmf7/gGeclnZYXOszp8k5/ARzF37JWwaz+JpTBSjG8Pb2su0GUF1WVvs++0I4/isQC%2054q6KD9SIJItLB6lvS7X65F9GcZU8kIWQCI466b09yhRHV5kmCXZEg3jvlvnE78epwZfFmXLi+lr%20i7Gw0lzl1Sh8FLeiK3ofEqXvsxh0UCc9y8Ec5uCT+BhWzzlgeS4Y3JtFPHxIHCzLmhpbtuksC8dU%20j6peOh/AfbrIdpS8K3GmoV+ETRPl8i3pGtcJgn/LvxYh2NtGQXaWoTpJRr3LkfoZqWHn68mtew2S%20Nnw7tXyXta7BGpw9mHhIrT9XVLdrUsVnCwr5A7wETYuiiXjYkMu59OknGveoPbpBMMTf40sypKcv%20Uj8vtdSCzMhnsVr5bVtPDx5/c3ewQfLB3G2Ca2SNdju+iEO5+T0/mf1QnR2P75+sqn01yRWZoecw%2034oJLfRN6remk9+NWWlfg6jhq1GfGuBYarFiL94ZhTFVY1sLojjLKn9ITmOyy6Gqq45ffEfjbqqO%20ziwzIJE3ug3fO4AVE7qs2CTufWaJLL1NnNlXiGOuNh3fLpLg3nSGKlFRvhELOlWtV+MeBQvxepDY%20muz1p+KDFJZSs+Y4LfIi/iaV9W9WOuorXmxNFYxpvuCrawXZWGBgWfqRc+ue+9wzCy+cJ3GJKm3J%20TtuLD5slyvbfSbdlvkhu+gEk5wumNlPEyrbUoPeiqWu75issPEGJn04WtxWj098H00VHi6Dq7UAo%20igR5wc7D05fk1iY3J1fn7jdNR/H7TlNvCT4i7qDuQ3NbvQ7V4ycpHvia4Oa34+d4RnD0HvFXCcBE%20JYpZn/5twV/SSVvwJkGEztGTjDeLgHsaT5C8oF0BHZox2ktYIa5Ybhbn/qP1R2y9uu2utnV1V9bS%20+VXcld0y5XmoEoAWUeRNSy3+cGqpjeJ+hxIVrCyvPaDrtCks7c78d+Bb4tSb15nTvuqVz687o/jy%20TT8cf/2TOtuKvSneJZVioEZkxQ/gwbTt62vCgUphqempEc7MdB/OJy7PnVXY7Ma+77kqeaCA36SK%20D/w6sX+yX/DhLID8sZx8JeWpVK6GoonBXif2T45gg9iiXbJJ3HhXlEoeOBmM7JhIls14h7jxXq9U%20lfYpQ/8v5TBIYWn3Y63I9AV6TW6vTgBlIPRX+VNySk4J/wPavNXBV0/3hwAAACV0RVh0ZGF0ZTpj%20cmVhdGUAMjAyNC0xMC0xNlQwNzozODowMyswMDowMCfDViMAAAAldEVYdGRhdGU6bW9kaWZ5ADIw%20MjQtMTAtMTZUMDc6Mzg6MDMrMDA6MDBWnu6fAAAAAElFTkSuQmCC'%20/%3e%3c/svg%3e",MailIcon="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20width='48px'%20height='48px'%20viewBox='0%200%2048%2048'%20enable-background='new%200%200%2048%2048'%20xml:space='preserve'%3e%3cimage%20id='image0'%20width='48'%20height='48'%20x='0'%20y='0'%20href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAACBjSFJN%20AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABdFBMVEUAAAD80if2uSH1uCDO%20GQD//2L1tiD2uyH0sh/4wCPxpRz3wCL//3r1tSD3viLwohv80if80if80if80if80if80if80if8%200if80if80if80if80if80if80if//zj80if80if80ifwohvwoRv80if80ifwohvwohvwohv80if8%200if80ifwohvwohvwohvwohvwoBv80if80if80ifwohvwohvwohvwohv+2Cn80if80if80ifwohvw%20ohvwohvwoRv80if80if80ifwohvwohv91Sj80if80if80ifwohvwohvvnxr80if80if80ifwohvw%20ohvwohv91Sj80if80ifwohvwohvwohvqixX80if80if80ifwohvwohvwohv80yf80if80ifwohvw%20ohvwohvslBf//zr80if80ifwohvwohvwoRv80ifwohvwohvwohvwohvwohvwohvwohvwohvwohvw%20ohvwohvwohv80ifwohv///9tjhRAAAAAeXRSTlMAAAAAAAAAAAAAAAAAAAAABBIWT9bpTWzzZBRj%202P4BM6j1IBNw23CkKD6z+YH+0F8OF3zhf++XJANJvPv9xVMHH4btjiIGTMP8vkwGKJDu5YMbC17U%20+rtBAiue8N94GAxp1/eyNwIBOKfbbBQL9ag01GP2gNbpBBIWNnChdAAAAAFiS0dEe0/StfwAAAAH%20dElNRQfoChAHJgNz8rhqAAABhElEQVRIx+3R6TNCURzG8UTaEdlKlvZQKu0iQnRbRCXtaFW0W/r9%209ZbhSF05Xpjxou/Lc57PnLlzKZRBf9UQZghM8CYx4k2gB6b40xjxZxCYnWtjNDePgEC4IPppLloQ%208hCgLi4tr/TfrywvLQ6jjxZLqAKprN9eJhVQJWIE5ArlCE21uvbdfG1VRRtRKuQIrKs1G9pRnX6T%20fL+p141qNzTqdQQMAEaTmW6x2rZ651s2q4VuNhkBDJ0A7Ns7DsbunrN779zbZTh2tu3QDV4e2T9g%20HrqOjjvnx0euQ+bBvvFt0A3A7iY8LK/P/7n3+7wsD+G2AzkAOAmcss+Cofe/KAoFz9ingZOPWxIA%204fPIBScai7/u47Eo5yJyHoZ+ACCRTNHTl1ft9tVlmp5KJjquyAFcZ7K5fKFYLORz2cw1/AwAbkpl%207u0tt1y6+Xr+LYC7SnVsrFq5A1wAUKvXaz2H/QA0GvA7QNYA/DfQxANNBIjWPUYtAoGHxyeMHh8Q%20GMeMMuivegZPNwJ6UuK61QAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyNC0xMC0xNlQwNzozODowMysw%20MDowMCfDViMAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjQtMTAtMTZUMDc6Mzg6MDMrMDA6MDBWnu6f%20AAAAAElFTkSuQmCC'%20/%3e%3c/svg%3e",SmsIcon="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20width='48px'%20height='48px'%20viewBox='0%200%2048%2048'%20enable-background='new%200%200%2048%2048'%20xml:space='preserve'%3e%3cimage%20id='image0'%20width='48'%20height='48'%20x='0'%20y='0'%20href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAACBjSFJN%20AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABF1BMVEUAAAAhqvchqvchqvch%20qvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvch%20qvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvch%20qvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvch%20qvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvch%20qvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvchqvf////t18AcAAAAW3RSTlMAAA84XHh/%20CjSAwNzxCEKl6vsjiOYCQANM19giwQv5jA3n6UMJDOs5+obDEs+dn948hf7Gee9aFdn2m5L9Ne7l%20MxShFuI/Ab0d1boyHKDkkwYvfLz4tXUuMFNoR3rSMgAAAAFiS0dEXOrYAJcAAAAHdElNRQfoChAL%20JgN66EEOAAABqklEQVRIx9WVaVuCQBCAXbxYFBXxQoWKjLQ0UyvTssvu+7BS5///j7JHEFhksU/1%20fmTm3WVhdsbn+wcgC16yGX8gGPomGPAzNAehMIu5SBR+iEY4zIbdDMTH4gkBTAiJeIxHc5dPiikg%20SIlJ501QOsMJ4IDAZdIOBsrmJJiDlMsicv35+ROD2ANl8uBCPmMTUKEIrhQLFgPJouIuKEvLZgPF%20VoCCumoWSnFaPkB8zbQBm6AL2vpsC4TLdEGozASGo+cDbGwagj8yfVatbRHUqtNgfdsQAtN6hkZJ%20Jig1psFowBCCTS9CM2gIGLy8EmBDCHk5M0Dl9wL2JmDy0FBucUULXMv4p80d8rOClmRsJDU9trtH%20/jhQ28hGW9Vj+6xDaXS6Bza6HT3GMU7F1zy0YRxPwKZq7R3Rv9HxiekGnap04axkunF9unB+cbmQ%20oIgyWki4ura0Gaog+a2NjCYQrZIi3BDN2FVQbu+IVtx36Ut1fE8OFPlB1TmytCjl8an37DRN5L7O%20y+ubpA0myQNNev/45B3nlaWg+eFoPBm749GQ9zKqfYvM9T/BF26JhjZ0x+78AAAAJXRFWHRkYXRl%20OmNyZWF0ZQAyMDI0LTEwLTE2VDA5OjM4OjAzKzAyOjAwdyySGAAAACV0RVh0ZGF0ZTptb2RpZnkA%20MjAyNC0xMC0xNlQwOTozODowMyswMjowMAZxKqQAAAAASUVORK5CYII='%20/%3e%3c/svg%3e",VoiceIcon="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20width='48px'%20height='48px'%20viewBox='0%200%2048%2048'%20enable-background='new%200%200%2048%2048'%20xml:space='preserve'%3e%3cimage%20id='image0'%20width='48'%20height='48'%20x='0'%20y='0'%20href='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAACBjSFJN%20AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABzlBMVEUAAAAzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMz%20zAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAMzzAP///8ahhZ5AAAA%20mHRSTlMAAA84XHh/DDmNwtzxCkOl6/0rkOgDSMYIYN4E59/+9Pcp82k9ZqHXDfyfe140heny0ps3%20QLLlr6z61uxnnvvOTAYBzDtUivDROjza+bh+EsRYg4TgfdMqKM+nJpww1NkuIsiAQeEvc+ZTAhOa%20tUmB9WPj7iBx+AWHTcuwGg5s9tBhMz6iGzViB1Lbox9Qs1umRM12kld67xKguDoAAAABYktHRJkB%201jaoAAAAB3RJTUUH6AoQCycDY/NwTwAAArVJREFUSMfVlflbEkEYxxkOWQ5hAbkRgUQgTQyxQswC%20aS0js7Iyiy5Syw4tyuzU7ssOO+fPbXd2dphdlpLf6n0enmfnZT7zvvPOd97RaP4DAzLbymytTm9o%20482g12n/xgBgZExmixUis1rMJsb4BwKAdpuddUDKHKzd1t4MAcDp6oAN1uFyqhPA7fE6oIo5vB63%20CgF8/gBsYgG/r4EAQX8INrWQP6gkgKdTNiXcZY1Qw06PAgBRr3zN2LbueE8iTMbeqIwASVdKDkS2%209/Y5d/RbpHHKlaQJYEs3Jj6wMzOYHZIWSttowGgXvbt278Glyg3nhdRHontHMWE3UgEYFvn27S8U%20s2Poky0d4BIQjrdFhzDAMvUQwIQCHzwkaG3isPBdPjLJMJkItI5k8T5SpjpwdArt85ggAVCMi/Uc%20TR+PnojA6cGTZZEwawkwgRI/dRotAWbO4CRGZ89moONc5bw4tOgIoEd6vnBRzO/SZalO5aouAROV%20Hqx2PQEM6IBiV1CEYHycVHZungsP9OEcwway56r494IbhbtaP4rcwrU87O3GF6oq7XqRw8d/XfDc%20oA/vZmkYcrcwsCQBYEl0LN8WPNk7FJBjc7CrhiXFLSpSglN3eaJwL9ZE5CQlvGkIVybvAw0wri6r%20zq9vGpeVt9CDIh/Q2K9KUGXVERU/nOdPGyRXhaxW5tgwDVAHpzWTsI8eC8STp4G19WfPX3A1CqCk%20gcUnmOPlK0FQ7tdvKkUA3r57T+bT4pPkjfwfNoQYqEfyv4/kGGl5kwuEiE/82uSfwqzkpy+Q4oqu%20f6431OAX7JRfUUUTqLlmpJw2p3FceRNQtpnU128bPp4Ibo7hyiraTGMjK1u+/2BKPyVdNTQytVYZ%20zv+SPlVaZcvNuPV23/qD0vqTpWn5UdS0/uxKzNYf9n/BfgOj3RPg/kA9xAAAACV0RVh0ZGF0ZTpj%20cmVhdGUAMjAyNC0xMC0xNlQwOTozOTowMyswMjowMJju+SYAAAAldEVYdGRhdGU6bW9kaWZ5ADIw%20MjQtMTAtMTZUMDk6Mzk6MDMrMDI6MDDps0GaAAAAAElFTkSuQmCC'%20/%3e%3c/svg%3e",store={},instanceStore={setInstance(e,t,n){store[e]||(store[e]={}),store[e][t]=n},getInstance(e,t){return store[e][t]}};let callbackSeed=0;function JSONP(e,t={},n={}){return new Promise((o,a)=>{const r=`USER_LIST_CALLBACK_${callbackSeed+=1}`;window[r]=l=>{document.body.removeChild(s),delete window[r],o(l)};const s=document.createElement("script");s.onerror=l=>{document.body.removeChild(s),delete window[r],a("Get user list failed.")};const i=[];for(const l in t)i.push(`${l}=${t[l]}`);s.src=`${e}?${i.join("&")}&callback=${r}`,n.timeout&&setTimeout(()=>{document.body.removeChild(s),delete window[r],a("Get user list timeout.")},n.timeout),document.body.appendChild(s)})}const userMap=new Map;function getMap(e){if(userMap.has(e))return userMap.get(e);const t=new Map;return userMap.set(e,t),t}function storeUsers(e,t){const n=getMap(e);t.forEach(o=>n.set(o.username,o))}function getUsers(e,t){const n=getMap(e),o=[];return t.forEach(a=>{n.has(a)&&o.push(n.get(a))}),o}async function handleBatchSearch(e,t,n){const o=getMap(e),a=[...new Set(t)].filter(s=>!o.has(s));if(!a.length)return Promise.resolve(getUsers(e,t));const r=[];a.reduce((s,i,l)=>s.length<100?(s.push(i),l===a.length-1&&r.push(s),s):(r.push(s),[]),[]);try{(await Promise.all(r.map(i=>JSONP(e,{app_code:"bk-magicbox",exact_lookups:i.join(","),page_size:100,page:1},n)))).forEach(i=>{i.code===0&&storeUsers(e,i.data.results||[])})}catch(s){console.error(s)}return Promise.resolve(getUsers(e,t))}function createVm(e){const t={setup(){const{proxy:a}=vue.getCurrentInstance();instanceStore.setInstance("exactSearch",e,a);const r=vue.ref("");r.value=e;const s=vue.ref([]);vue.watch(()=>s,c=>{c.value.length&&l()},{deep:!0});const i=c=>new Promise(u=>{s.value.push({resolve:u,usernames:c})}),l=async()=>{const c=[...s.value];s.value=[];try{const u=c.reduce((h,{usernames:p})=>h.concat(p),[]),m=await request.exactSearch(r.value,u),y={};m.forEach(h=>{y[h.username]=h}),c.forEach(({resolve:h,usernames:p})=>{const g=[];p.forEach(v=>{y.hasOwnProperty(v)&&g.push(y[v])}),h(g)})}catch(u){c.forEach(({resolve:m})=>{m([])}),console.error(u)}};return{api:r,queue:s,search:i,dispatchSeach:l}},render(){return null}},n=vue.createApp(t),o=document.createElement("div");return n.mount(o),n}const request={async fuzzySearch(e,t,n){const o={};try{const a=await JSONP(e,t,n);if(a.code!==0)throw new Error(a);o.count=a.data.count,o.results=a.data.results||[],storeUsers(e,o.results)}catch(a){console.error(a.message),o.count=0,o.results=[]}return o},async exactSearch(e,t,n){const o=Array.isArray(t),r=await handleBatchSearch(e,o?t:[t],n);return o?r:r[0]},pasteValidate(e,t,n){return handleBatchSearch(e,t,n)},scheduleExactSearch(e,t){const n=Array.isArray(t)?t:[t];return createVm(e),instanceStore.getInstance("exactSearch",e).search(n)}};var top="top",bottom="bottom",right="right",left="left",auto="auto",basePlacements=[top,bottom,right,left],start="start",end="end",clippingParents="clippingParents",viewport="viewport",popper="popper",reference="reference",variationPlacements=basePlacements.reduce(function(e,t){return e.concat([t+"-"+start,t+"-"+end])},[]),placements=[].concat(basePlacements,[auto]).reduce(function(e,t){return e.concat([t,t+"-"+start,t+"-"+end])},[]),beforeRead="beforeRead",read="read",afterRead="afterRead",beforeMain="beforeMain",main="main",afterMain="afterMain",beforeWrite="beforeWrite",write="write",afterWrite="afterWrite",modifierPhases=[beforeRead,read,afterRead,beforeMain,main,afterMain,beforeWrite,write,afterWrite];function getNodeName(e){return e?(e.nodeName||"").toLowerCase():null}function getWindow(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function isElement$1(e){var t=getWindow(e).Element;return e instanceof t||e instanceof Element}function isHTMLElement(e){var t=getWindow(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function isShadowRoot(e){if(typeof ShadowRoot>"u")return!1;var t=getWindow(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function applyStyles$1(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var o=t.styles[n]||{},a=t.attributes[n]||{},r=t.elements[n];!isHTMLElement(r)||!getNodeName(r)||(Object.assign(r.style,o),Object.keys(a).forEach(function(s){var i=a[s];i===!1?r.removeAttribute(s):r.setAttribute(s,i===!0?"":i)}))})}function effect$2(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(o){var a=t.elements[o],r=t.attributes[o]||{},s=Object.keys(t.styles.hasOwnProperty(o)?t.styles[o]:n[o]),i=s.reduce(function(l,c){return l[c]="",l},{});!isHTMLElement(a)||!getNodeName(a)||(Object.assign(a.style,i),Object.keys(r).forEach(function(l){a.removeAttribute(l)}))})}}const applyStyles={name:"applyStyles",enabled:!0,phase:"write",fn:applyStyles$1,effect:effect$2,requires:["computeStyles"]};function getBasePlacement$1(e){return e.split("-")[0]}var max=Math.max,min=Math.min,round=Math.round;function getUAString(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function isLayoutViewport(){return!/^((?!chrome|android).)*safari/i.test(getUAString())}function getBoundingClientRect(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var o=e.getBoundingClientRect(),a=1,r=1;t&&isHTMLElement(e)&&(a=e.offsetWidth>0&&round(o.width)/e.offsetWidth||1,r=e.offsetHeight>0&&round(o.height)/e.offsetHeight||1);var s=isElement$1(e)?getWindow(e):window,i=s.visualViewport,l=!isLayoutViewport()&&n,c=(o.left+(l&&i?i.offsetLeft:0))/a,u=(o.top+(l&&i?i.offsetTop:0))/r,m=o.width/a,y=o.height/r;return{width:m,height:y,top:u,right:c+m,bottom:u+y,left:c,x:c,y:u}}function getLayoutRect(e){var t=getBoundingClientRect(e),n=e.offsetWidth,o=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-o)<=1&&(o=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:o}}function contains(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&isShadowRoot(n)){var o=t;do{if(o&&e.isSameNode(o))return!0;o=o.parentNode||o.host}while(o)}return!1}function getComputedStyle$1(e){return getWindow(e).getComputedStyle(e)}function isTableElement(e){return["table","td","th"].indexOf(getNodeName(e))>=0}function getDocumentElement(e){return((isElement$1(e)?e.ownerDocument:e.document)||window.document).documentElement}function getParentNode(e){return getNodeName(e)==="html"?e:e.assignedSlot||e.parentNode||(isShadowRoot(e)?e.host:null)||getDocumentElement(e)}function getTrueOffsetParent(e){return!isHTMLElement(e)||getComputedStyle$1(e).position==="fixed"?null:e.offsetParent}function getContainingBlock(e){var t=/firefox/i.test(getUAString()),n=/Trident/i.test(getUAString());if(n&&isHTMLElement(e)){var o=getComputedStyle$1(e);if(o.position==="fixed")return null}var a=getParentNode(e);for(isShadowRoot(a)&&(a=a.host);isHTMLElement(a)&&["html","body"].indexOf(getNodeName(a))<0;){var r=getComputedStyle$1(a);if(r.transform!=="none"||r.perspective!=="none"||r.contain==="paint"||["transform","perspective"].indexOf(r.willChange)!==-1||t&&r.willChange==="filter"||t&&r.filter&&r.filter!=="none")return a;a=a.parentNode}return null}function getOffsetParent(e){for(var t=getWindow(e),n=getTrueOffsetParent(e);n&&isTableElement(n)&&getComputedStyle$1(n).position==="static";)n=getTrueOffsetParent(n);return n&&(getNodeName(n)==="html"||getNodeName(n)==="body"&&getComputedStyle$1(n).position==="static")?t:n||getContainingBlock(e)||t}function getMainAxisFromPlacement(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function within(e,t,n){return max(e,min(t,n))}function withinMaxClamp(e,t,n){var o=within(e,t,n);return o>n?n:o}function getFreshSideObject(){return{top:0,right:0,bottom:0,left:0}}function mergePaddingObject(e){return Object.assign({},getFreshSideObject(),e)}function expandToHashMap(e,t){return t.reduce(function(n,o){return n[o]=e,n},{})}var toPaddingObject=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,mergePaddingObject(typeof t!="number"?t:expandToHashMap(t,basePlacements))};function arrow$1(e){var t,n=e.state,o=e.name,a=e.options,r=n.elements.arrow,s=n.modifiersData.popperOffsets,i=getBasePlacement$1(n.placement),l=getMainAxisFromPlacement(i),c=[left,right].indexOf(i)>=0,u=c?"height":"width";if(!(!r||!s)){var m=toPaddingObject(a.padding,n),y=getLayoutRect(r),h=l==="y"?top:left,p=l==="y"?bottom:right,g=n.rects.reference[u]+n.rects.reference[l]-s[l]-n.rects.popper[u],v=s[l]-n.rects.reference[l],w=getOffsetParent(r),f=w?l==="y"?w.clientHeight||0:w.clientWidth||0:0,_=g/2-v/2,d=m[h],C=f-y[u]-m[p],b=f/2-y[u]/2+_,A=within(d,b,C),V=l;n.modifiersData[o]=(t={},t[V]=A,t.centerOffset=A-b,t)}}function effect$1(e){var t=e.state,n=e.options,o=n.element,a=o===void 0?"[data-popper-arrow]":o;a!=null&&(typeof a=="string"&&(a=t.elements.popper.querySelector(a),!a)||contains(t.elements.popper,a)&&(t.elements.arrow=a))}const arrow={name:"arrow",enabled:!0,phase:"main",fn:arrow$1,effect:effect$1,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function getVariation(e){return e.split("-")[1]}var unsetSides={top:"auto",right:"auto",bottom:"auto",left:"auto"};function roundOffsetsByDPR(e,t){var n=e.x,o=e.y,a=t.devicePixelRatio||1;return{x:round(n*a)/a||0,y:round(o*a)/a||0}}function mapToStyles(e){var t,n=e.popper,o=e.popperRect,a=e.placement,r=e.variation,s=e.offsets,i=e.position,l=e.gpuAcceleration,c=e.adaptive,u=e.roundOffsets,m=e.isFixed,y=s.x,h=y===void 0?0:y,p=s.y,g=p===void 0?0:p,v=typeof u=="function"?u({x:h,y:g}):{x:h,y:g};h=v.x,g=v.y;var w=s.hasOwnProperty("x"),f=s.hasOwnProperty("y"),_=left,d=top,C=window;if(c){var b=getOffsetParent(n),A="clientHeight",V="clientWidth";if(b===getWindow(n)&&(b=getDocumentElement(n),getComputedStyle$1(b).position!=="static"&&i==="absolute"&&(A="scrollHeight",V="scrollWidth")),b=b,a===top||(a===left||a===right)&&r===end){d=bottom;var O=m&&b===C&&C.visualViewport?C.visualViewport.height:b[A];g-=O-o.height,g*=l?1:-1}if(a===left||(a===top||a===bottom)&&r===end){_=right;var D=m&&b===C&&C.visualViewport?C.visualViewport.width:b[V];h-=D-o.width,h*=l?1:-1}}var L=Object.assign({position:i},c&&unsetSides),Z=u===!0?roundOffsetsByDPR({x:h,y:g},getWindow(n)):{x:h,y:g};if(h=Z.x,g=Z.y,l){var I;return Object.assign({},L,(I={},I[d]=f?"0":"",I[_]=w?"0":"",I.transform=(C.devicePixelRatio||1)<=1?"translate("+h+"px, "+g+"px)":"translate3d("+h+"px, "+g+"px, 0)",I))}return Object.assign({},L,(t={},t[d]=f?g+"px":"",t[_]=w?h+"px":"",t.transform="",t))}function computeStyles$1(e){var t=e.state,n=e.options,o=n.gpuAcceleration,a=o===void 0?!0:o,r=n.adaptive,s=r===void 0?!0:r,i=n.roundOffsets,l=i===void 0?!0:i,c={placement:getBasePlacement$1(t.placement),variation:getVariation(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:a,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,mapToStyles(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:s,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,mapToStyles(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const computeStyles={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:computeStyles$1,data:{}};var passive={passive:!0};function effect(e){var t=e.state,n=e.instance,o=e.options,a=o.scroll,r=a===void 0?!0:a,s=o.resize,i=s===void 0?!0:s,l=getWindow(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return r&&c.forEach(function(u){u.addEventListener("scroll",n.update,passive)}),i&&l.addEventListener("resize",n.update,passive),function(){r&&c.forEach(function(u){u.removeEventListener("scroll",n.update,passive)}),i&&l.removeEventListener("resize",n.update,passive)}}const eventListeners={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect,data:{}};var hash$1={left:"right",right:"left",bottom:"top",top:"bottom"};function getOppositePlacement(e){return e.replace(/left|right|bottom|top/g,function(t){return hash$1[t]})}var hash={start:"end",end:"start"};function getOppositeVariationPlacement(e){return e.replace(/start|end/g,function(t){return hash[t]})}function getWindowScroll(e){var t=getWindow(e),n=t.pageXOffset,o=t.pageYOffset;return{scrollLeft:n,scrollTop:o}}function getWindowScrollBarX(e){return getBoundingClientRect(getDocumentElement(e)).left+getWindowScroll(e).scrollLeft}function getViewportRect(e,t){var n=getWindow(e),o=getDocumentElement(e),a=n.visualViewport,r=o.clientWidth,s=o.clientHeight,i=0,l=0;if(a){r=a.width,s=a.height;var c=isLayoutViewport();(c||!c&&t==="fixed")&&(i=a.offsetLeft,l=a.offsetTop)}return{width:r,height:s,x:i+getWindowScrollBarX(e),y:l}}function getDocumentRect(e){var t,n=getDocumentElement(e),o=getWindowScroll(e),a=(t=e.ownerDocument)==null?void 0:t.body,r=max(n.scrollWidth,n.clientWidth,a?a.scrollWidth:0,a?a.clientWidth:0),s=max(n.scrollHeight,n.clientHeight,a?a.scrollHeight:0,a?a.clientHeight:0),i=-o.scrollLeft+getWindowScrollBarX(e),l=-o.scrollTop;return getComputedStyle$1(a||n).direction==="rtl"&&(i+=max(n.clientWidth,a?a.clientWidth:0)-r),{width:r,height:s,x:i,y:l}}function isScrollParent(e){var t=getComputedStyle$1(e),n=t.overflow,o=t.overflowX,a=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+a+o)}function getScrollParent(e){return["html","body","#document"].indexOf(getNodeName(e))>=0?e.ownerDocument.body:isHTMLElement(e)&&isScrollParent(e)?e:getScrollParent(getParentNode(e))}function listScrollParents(e,t){var n;t===void 0&&(t=[]);var o=getScrollParent(e),a=o===((n=e.ownerDocument)==null?void 0:n.body),r=getWindow(o),s=a?[r].concat(r.visualViewport||[],isScrollParent(o)?o:[]):o,i=t.concat(s);return a?i:i.concat(listScrollParents(getParentNode(s)))}function rectToClientRect(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function getInnerBoundingClientRect(e,t){var n=getBoundingClientRect(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function getClientRectFromMixedType(e,t,n){return t===viewport?rectToClientRect(getViewportRect(e,n)):isElement$1(t)?getInnerBoundingClientRect(t,n):rectToClientRect(getDocumentRect(getDocumentElement(e)))}function getClippingParents(e){var t=listScrollParents(getParentNode(e)),n=["absolute","fixed"].indexOf(getComputedStyle$1(e).position)>=0,o=n&&isHTMLElement(e)?getOffsetParent(e):e;return isElement$1(o)?t.filter(function(a){return isElement$1(a)&&contains(a,o)&&getNodeName(a)!=="body"}):[]}function getClippingRect(e,t,n,o){var a=t==="clippingParents"?getClippingParents(e):[].concat(t),r=[].concat(a,[n]),s=r[0],i=r.reduce(function(l,c){var u=getClientRectFromMixedType(e,c,o);return l.top=max(u.top,l.top),l.right=min(u.right,l.right),l.bottom=min(u.bottom,l.bottom),l.left=max(u.left,l.left),l},getClientRectFromMixedType(e,s,o));return i.width=i.right-i.left,i.height=i.bottom-i.top,i.x=i.left,i.y=i.top,i}function computeOffsets(e){var t=e.reference,n=e.element,o=e.placement,a=o?getBasePlacement$1(o):null,r=o?getVariation(o):null,s=t.x+t.width/2-n.width/2,i=t.y+t.height/2-n.height/2,l;switch(a){case top:l={x:s,y:t.y-n.height};break;case bottom:l={x:s,y:t.y+t.height};break;case right:l={x:t.x+t.width,y:i};break;case left:l={x:t.x-n.width,y:i};break;default:l={x:t.x,y:t.y}}var c=a?getMainAxisFromPlacement(a):null;if(c!=null){var u=c==="y"?"height":"width";switch(r){case start:l[c]=l[c]-(t[u]/2-n[u]/2);break;case end:l[c]=l[c]+(t[u]/2-n[u]/2);break}}return l}function detectOverflow(e,t){t===void 0&&(t={});var n=t,o=n.placement,a=o===void 0?e.placement:o,r=n.strategy,s=r===void 0?e.strategy:r,i=n.boundary,l=i===void 0?clippingParents:i,c=n.rootBoundary,u=c===void 0?viewport:c,m=n.elementContext,y=m===void 0?popper:m,h=n.altBoundary,p=h===void 0?!1:h,g=n.padding,v=g===void 0?0:g,w=mergePaddingObject(typeof v!="number"?v:expandToHashMap(v,basePlacements)),f=y===popper?reference:popper,_=e.rects.popper,d=e.elements[p?f:y],C=getClippingRect(isElement$1(d)?d:d.contextElement||getDocumentElement(e.elements.popper),l,u,s),b=getBoundingClientRect(e.elements.reference),A=computeOffsets({reference:b,element:_,placement:a}),V=rectToClientRect(Object.assign({},_,A)),O=y===popper?V:b,D={top:C.top-O.top+w.top,bottom:O.bottom-C.bottom+w.bottom,left:C.left-O.left+w.left,right:O.right-C.right+w.right},L=e.modifiersData.offset;if(y===popper&&L){var Z=L[a];Object.keys(D).forEach(function(I){var T=[right,bottom].indexOf(I)>=0?1:-1,B=[top,bottom].indexOf(I)>=0?"y":"x";D[I]+=Z[B]*T})}return D}function computeAutoPlacement(e,t){t===void 0&&(t={});var n=t,o=n.placement,a=n.boundary,r=n.rootBoundary,s=n.padding,i=n.flipVariations,l=n.allowedAutoPlacements,c=l===void 0?placements:l,u=getVariation(o),m=u?i?variationPlacements:variationPlacements.filter(function(p){return getVariation(p)===u}):basePlacements,y=m.filter(function(p){return c.indexOf(p)>=0});y.length===0&&(y=m);var h=y.reduce(function(p,g){return p[g]=detectOverflow(e,{placement:g,boundary:a,rootBoundary:r,padding:s})[getBasePlacement$1(g)],p},{});return Object.keys(h).sort(function(p,g){return h[p]-h[g]})}function getExpandedFallbackPlacements(e){if(getBasePlacement$1(e)===auto)return[];var t=getOppositePlacement(e);return[getOppositeVariationPlacement(e),t,getOppositeVariationPlacement(t)]}function flip$1(e){var t=e.state,n=e.options,o=e.name;if(!t.modifiersData[o]._skip){for(var a=n.mainAxis,r=a===void 0?!0:a,s=n.altAxis,i=s===void 0?!0:s,l=n.fallbackPlacements,c=n.padding,u=n.boundary,m=n.rootBoundary,y=n.altBoundary,h=n.flipVariations,p=h===void 0?!0:h,g=n.allowedAutoPlacements,v=t.options.placement,w=getBasePlacement$1(v),f=w===v,_=l||(f||!p?[getOppositePlacement(v)]:getExpandedFallbackPlacements(v)),d=[v].concat(_).reduce(function(ee,J){return ee.concat(getBasePlacement$1(J)===auto?computeAutoPlacement(t,{placement:J,boundary:u,rootBoundary:m,padding:c,flipVariations:p,allowedAutoPlacements:g}):J)},[]),C=t.rects.reference,b=t.rects.popper,A=new Map,V=!0,O=d[0],D=0;D<d.length;D++){var L=d[D],Z=getBasePlacement$1(L),I=getVariation(L)===start,T=[top,bottom].indexOf(Z)>=0,B=T?"width":"height",$=detectOverflow(t,{placement:L,boundary:u,rootBoundary:m,altBoundary:y,padding:c}),k=T?I?right:left:I?bottom:top;C[B]>b[B]&&(k=getOppositePlacement(k));var x=getOppositePlacement(k),N=[];if(r&&N.push($[Z]<=0),i&&N.push($[k]<=0,$[x]<=0),N.every(function(ee){return ee})){O=L,V=!1;break}A.set(L,N)}if(V)for(var S=p?3:1,F=function(J){var E=d.find(function(z){var R=A.get(z);if(R)return R.slice(0,J).every(function(G){return G})});if(E)return O=E,"break"},j=S;j>0;j--){var Q=F(j);if(Q==="break")break}t.placement!==O&&(t.modifiersData[o]._skip=!0,t.placement=O,t.reset=!0)}}const flip={name:"flip",enabled:!0,phase:"main",fn:flip$1,requiresIfExists:["offset"],data:{_skip:!1}};function getSideOffsets(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function isAnySideFullyClipped(e){return[top,right,bottom,left].some(function(t){return e[t]>=0})}function hide$1(e){var t=e.state,n=e.name,o=t.rects.reference,a=t.rects.popper,r=t.modifiersData.preventOverflow,s=detectOverflow(t,{elementContext:"reference"}),i=detectOverflow(t,{altBoundary:!0}),l=getSideOffsets(s,o),c=getSideOffsets(i,a,r),u=isAnySideFullyClipped(l),m=isAnySideFullyClipped(c);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:u,hasPopperEscaped:m},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":m})}const hide={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:hide$1};function distanceAndSkiddingToXY(e,t,n){var o=getBasePlacement$1(e),a=[left,top].indexOf(o)>=0?-1:1,r=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,s=r[0],i=r[1];return s=s||0,i=(i||0)*a,[left,right].indexOf(o)>=0?{x:i,y:s}:{x:s,y:i}}function offset$1(e){var t=e.state,n=e.options,o=e.name,a=n.offset,r=a===void 0?[0,0]:a,s=placements.reduce(function(u,m){return u[m]=distanceAndSkiddingToXY(m,t.rects,r),u},{}),i=s[t.placement],l=i.x,c=i.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[o]=s}const offset={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:offset$1};function popperOffsets$1(e){var t=e.state,n=e.name;t.modifiersData[n]=computeOffsets({reference:t.rects.reference,element:t.rects.popper,placement:t.placement})}const popperOffsets={name:"popperOffsets",enabled:!0,phase:"read",fn:popperOffsets$1,data:{}};function getAltAxis(e){return e==="x"?"y":"x"}function preventOverflow$1(e){var t=e.state,n=e.options,o=e.name,a=n.mainAxis,r=a===void 0?!0:a,s=n.altAxis,i=s===void 0?!1:s,l=n.boundary,c=n.rootBoundary,u=n.altBoundary,m=n.padding,y=n.tether,h=y===void 0?!0:y,p=n.tetherOffset,g=p===void 0?0:p,v=detectOverflow(t,{boundary:l,rootBoundary:c,padding:m,altBoundary:u}),w=getBasePlacement$1(t.placement),f=getVariation(t.placement),_=!f,d=getMainAxisFromPlacement(w),C=getAltAxis(d),b=t.modifiersData.popperOffsets,A=t.rects.reference,V=t.rects.popper,O=typeof g=="function"?g(Object.assign({},t.rects,{placement:t.placement})):g,D=typeof O=="number"?{mainAxis:O,altAxis:O}:Object.assign({mainAxis:0,altAxis:0},O),L=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,Z={x:0,y:0};if(b){if(r){var I,T=d==="y"?top:left,B=d==="y"?bottom:right,$=d==="y"?"height":"width",k=b[d],x=k+v[T],N=k-v[B],S=h?-V[$]/2:0,F=f===start?A[$]:V[$],j=f===start?-V[$]:-A[$],Q=t.elements.arrow,ee=h&&Q?getLayoutRect(Q):{width:0,height:0},J=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:getFreshSideObject(),E=J[T],z=J[B],R=within(0,A[$],ee[$]),G=_?A[$]/2-S-R-E-D.mainAxis:F-R-E-D.mainAxis,H=_?-A[$]/2+S+R+z+D.mainAxis:j+R+z+D.mainAxis,W=t.elements.arrow&&getOffsetParent(t.elements.arrow),q=W?d==="y"?W.clientTop||0:W.clientLeft||0:0,X=(I=L?.[d])!=null?I:0,ae=k+G-X-q,se=k+H-X,ne=within(h?min(x,ae):x,k,h?max(N,se):N);b[d]=ne,Z[d]=ne-k}if(i){var re,de=d==="x"?top:left,fe=d==="x"?bottom:right,ce=b[C],he=C==="y"?"height":"width",ye=ce+v[de],me=ce-v[fe],ke=[top,left].indexOf(w)!==-1,Ae=(re=L?.[C])!=null?re:0,De=ke?ye:ce-A[he]-V[he]-Ae+D.altAxis,Ee=ke?ce+A[he]+V[he]-Ae-D.altAxis:me,Te=h&&ke?withinMaxClamp(De,ce,Ee):within(h?De:ye,ce,h?Ee:me);b[C]=Te,Z[C]=Te-ce}t.modifiersData[o]=Z}}const preventOverflow={name:"preventOverflow",enabled:!0,phase:"main",fn:preventOverflow$1,requiresIfExists:["offset"]};function getHTMLElementScroll(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function getNodeScroll(e){return e===getWindow(e)||!isHTMLElement(e)?getWindowScroll(e):getHTMLElementScroll(e)}function isElementScaled(e){var t=e.getBoundingClientRect(),n=round(t.width)/e.offsetWidth||1,o=round(t.height)/e.offsetHeight||1;return n!==1||o!==1}function getCompositeRect(e,t,n){n===void 0&&(n=!1);var o=isHTMLElement(t),a=isHTMLElement(t)&&isElementScaled(t),r=getDocumentElement(t),s=getBoundingClientRect(e,a,n),i={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(o||!o&&!n)&&((getNodeName(t)!=="body"||isScrollParent(r))&&(i=getNodeScroll(t)),isHTMLElement(t)?(l=getBoundingClientRect(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):r&&(l.x=getWindowScrollBarX(r))),{x:s.left+i.scrollLeft-l.x,y:s.top+i.scrollTop-l.y,width:s.width,height:s.height}}function order(e){var t=new Map,n=new Set,o=[];e.forEach(function(r){t.set(r.name,r)});function a(r){n.add(r.name);var s=[].concat(r.requires||[],r.requiresIfExists||[]);s.forEach(function(i){if(!n.has(i)){var l=t.get(i);l&&a(l)}}),o.push(r)}return e.forEach(function(r){n.has(r.name)||a(r)}),o}function orderModifiers(e){var t=order(e);return modifierPhases.reduce(function(n,o){return n.concat(t.filter(function(a){return a.phase===o}))},[])}function debounce$1(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function mergeByName(e){var t=e.reduce(function(n,o){var a=n[o.name];return n[o.name]=a?Object.assign({},a,o,{options:Object.assign({},a.options,o.options),data:Object.assign({},a.data,o.data)}):o,n},{});return Object.keys(t).map(function(n){return t[n]})}var DEFAULT_OPTIONS={placement:"bottom",modifiers:[],strategy:"absolute"};function areValidElements(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return!t.some(function(o){return!(o&&typeof o.getBoundingClientRect=="function")})}function popperGenerator(e){e===void 0&&(e={});var t=e,n=t.defaultModifiers,o=n===void 0?[]:n,a=t.defaultOptions,r=a===void 0?DEFAULT_OPTIONS:a;return function(i,l,c){c===void 0&&(c=r);var u={placement:"bottom",orderedModifiers:[],options:Object.assign({},DEFAULT_OPTIONS,r),modifiersData:{},elements:{reference:i,popper:l},attributes:{},styles:{}},m=[],y=!1,h={state:u,setOptions:function(w){var f=typeof w=="function"?w(u.options):w;g(),u.options=Object.assign({},r,u.options,f),u.scrollParents={reference:isElement$1(i)?listScrollParents(i):i.contextElement?listScrollParents(i.contextElement):[],popper:listScrollParents(l)};var _=orderModifiers(mergeByName([].concat(o,u.options.modifiers)));return u.orderedModifiers=_.filter(function(d){return d.enabled}),p(),h.update()},forceUpdate:function(){if(!y){var w=u.elements,f=w.reference,_=w.popper;if(areValidElements(f,_)){u.rects={reference:getCompositeRect(f,getOffsetParent(_),u.options.strategy==="fixed"),popper:getLayoutRect(_)},u.reset=!1,u.placement=u.options.placement,u.orderedModifiers.forEach(function(D){return u.modifiersData[D.name]=Object.assign({},D.data)});for(var d=0;d<u.orderedModifiers.length;d++){if(u.reset===!0){u.reset=!1,d=-1;continue}var C=u.orderedModifiers[d],b=C.fn,A=C.options,V=A===void 0?{}:A,O=C.name;typeof b=="function"&&(u=b({state:u,options:V,name:O,instance:h})||u)}}}},update:debounce$1(function(){return new Promise(function(v){h.forceUpdate(),v(u)})}),destroy:function(){g(),y=!0}};if(!areValidElements(i,l))return h;h.setOptions(c).then(function(v){!y&&c.onFirstUpdate&&c.onFirstUpdate(v)});function p(){u.orderedModifiers.forEach(function(v){var w=v.name,f=v.options,_=f===void 0?{}:f,d=v.effect;if(typeof d=="function"){var C=d({state:u,name:w,instance:h,options:_}),b=function(){};m.push(C||b)}})}function g(){m.forEach(function(v){return v()}),m=[]}return h}}var defaultModifiers=[eventListeners,popperOffsets,computeStyles,applyStyles,offset,flip,preventOverflow,arrow,hide],createPopper=popperGenerator({defaultModifiers}),BOX_CLASS="tippy-box",CONTENT_CLASS="tippy-content",BACKDROP_CLASS="tippy-backdrop",ARROW_CLASS="tippy-arrow",SVG_ARROW_CLASS="tippy-svg-arrow",TOUCH_OPTIONS={passive:!0,capture:!0},TIPPY_DEFAULT_APPEND_TO=function(){return document.body};function hasOwnProperty(e,t){return{}.hasOwnProperty.call(e,t)}function getValueAtIndexOrReturn(e,t,n){if(Array.isArray(e)){var o=e[t];return o??(Array.isArray(n)?n[t]:n)}return e}function isType(e,t){var n={}.toString.call(e);return n.indexOf("[object")===0&&n.indexOf(t+"]")>-1}function invokeWithArgsOrReturn(e,t){return typeof e=="function"?e.apply(void 0,t):e}function debounce(e,t){if(t===0)return e;var n;return function(o){clearTimeout(n),n=setTimeout(function(){e(o)},t)}}function removeProperties(e,t){var n=Object.assign({},e);return t.forEach(function(o){delete n[o]}),n}function splitBySpaces(e){return e.split(/\s+/).filter(Boolean)}function normalizeToArray(e){return[].concat(e)}function pushIfUnique(e,t){e.indexOf(t)===-1&&e.push(t)}function unique(e){return e.filter(function(t,n){return e.indexOf(t)===n})}function getBasePlacement(e){return e.split("-")[0]}function arrayFrom(e){return[].slice.call(e)}function removeUndefinedProps(e){return Object.keys(e).reduce(function(t,n){return e[n]!==void 0&&(t[n]=e[n]),t},{})}function div(){return document.createElement("div")}function isElement(e){return["Element","Fragment"].some(function(t){return isType(e,t)})}function isNodeList(e){return isType(e,"NodeList")}function isMouseEvent(e){return isType(e,"MouseEvent")}function isReferenceElement(e){return!!(e&&e._tippy&&e._tippy.reference===e)}function getArrayOfElements(e){return isElement(e)?[e]:isNodeList(e)?arrayFrom(e):Array.isArray(e)?e:arrayFrom(document.querySelectorAll(e))}function setTransitionDuration(e,t){e.forEach(function(n){n&&(n.style.transitionDuration=t+"ms")})}function setVisibilityState(e,t){e.forEach(function(n){n&&n.setAttribute("data-state",t)})}function getOwnerDocument(e){var t,n=normalizeToArray(e),o=n[0];return o!=null&&(t=o.ownerDocument)!=null&&t.body?o.ownerDocument:document}function isCursorOutsideInteractiveBorder(e,t){var n=t.clientX,o=t.clientY;return e.every(function(a){var r=a.popperRect,s=a.popperState,i=a.props,l=i.interactiveBorder,c=getBasePlacement(s.placement),u=s.modifiersData.offset;if(!u)return!0;var m=c==="bottom"?u.top.y:0,y=c==="top"?u.bottom.y:0,h=c==="right"?u.left.x:0,p=c==="left"?u.right.x:0,g=r.top-o+m>l,v=o-r.bottom-y>l,w=r.left-n+h>l,f=n-r.right-p>l;return g||v||w||f})}function updateTransitionEndListener(e,t,n){var o=t+"EventListener";["transitionend","webkitTransitionEnd"].forEach(function(a){e[o](a,n)})}function actualContains(e,t){for(var n=t;n;){var o;if(e.contains(n))return!0;n=n.getRootNode==null||(o=n.getRootNode())==null?void 0:o.host}return!1}var currentInput={isTouch:!1},lastMouseMoveTime=0;function onDocumentTouchStart(){currentInput.isTouch||(currentInput.isTouch=!0,window.performance&&document.addEventListener("mousemove",onDocumentMouseMove))}function onDocumentMouseMove(){var e=performance.now();e-lastMouseMoveTime<20&&(currentInput.isTouch=!1,document.removeEventListener("mousemove",onDocumentMouseMove)),lastMouseMoveTime=e}function onWindowBlur(){var e=document.activeElement;if(isReferenceElement(e)){var t=e._tippy;e.blur&&!t.state.isVisible&&e.blur()}}function bindGlobalEventListeners(){document.addEventListener("touchstart",onDocumentTouchStart,TOUCH_OPTIONS),window.addEventListener("blur",onWindowBlur)}var isBrowser=typeof window<"u"&&typeof document<"u",isIE11=isBrowser?!!window.msCrypto:!1;function createMemoryLeakWarning(e){var t=e==="destroy"?"n already-":" ";return[e+"() was called on a"+t+"destroyed instance. This is a no-op but","indicates a potential memory leak."].join(" ")}function clean(e){var t=/[ \t]{2,}/g,n=/^[ \t]*/gm;return e.replace(t," ").replace(n,"").trim()}function getDevMessage(e){return clean(`
|
|
31
31
|
%ctippy.js
|
|
32
32
|
|
|
33
33
|
%c`+clean(e)+`
|
|
34
34
|
|
|
35
35
|
%c👷 This is a development-only message. It will be removed in production.
|
|
36
|
-
`)}function getFormattedMessage(e){return[getDevMessage(e),"color: #00C584; font-size: 1.3em; font-weight: bold;","line-height: 1.5","color: #a6a095;"]}var visitedMessages;process.env.NODE_ENV!=="production"&&resetVisitedMessages();function resetVisitedMessages(){visitedMessages=new Set}function warnWhen(e,t){if(e&&!visitedMessages.has(t)){var n;visitedMessages.add(t),(n=console).warn.apply(n,getFormattedMessage(t))}}function errorWhen(e,t){if(e&&!visitedMessages.has(t)){var n;visitedMessages.add(t),(n=console).error.apply(n,getFormattedMessage(t))}}function validateTargets(e){var t=!e,n=Object.prototype.toString.call(e)==="[object Object]"&&!e.addEventListener;errorWhen(t,["tippy() was passed","`"+String(e)+"`","as its targets (first) argument. Valid types are: String, Element,","Element[], or NodeList."].join(" ")),errorWhen(n,["tippy() was passed a plain object which is not supported as an argument","for virtual positioning. Use props.getReferenceClientRect instead."].join(" "))}var pluginProps={animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},renderProps={allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999},defaultProps=Object.assign({appendTo:TIPPY_DEFAULT_APPEND_TO,aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},pluginProps,renderProps),defaultKeys=Object.keys(defaultProps),setDefaultProps=function(t){process.env.NODE_ENV!=="production"&&validateProps(t,[]);var n=Object.keys(t);n.forEach(function(o){defaultProps[o]=t[o]})};function getExtendedPassedProps(e){var t=e.plugins||[],n=t.reduce(function(o,a){var
|
|
36
|
+
`)}function getFormattedMessage(e){return[getDevMessage(e),"color: #00C584; font-size: 1.3em; font-weight: bold;","line-height: 1.5","color: #a6a095;"]}var visitedMessages;process.env.NODE_ENV!=="production"&&resetVisitedMessages();function resetVisitedMessages(){visitedMessages=new Set}function warnWhen(e,t){if(e&&!visitedMessages.has(t)){var n;visitedMessages.add(t),(n=console).warn.apply(n,getFormattedMessage(t))}}function errorWhen(e,t){if(e&&!visitedMessages.has(t)){var n;visitedMessages.add(t),(n=console).error.apply(n,getFormattedMessage(t))}}function validateTargets(e){var t=!e,n=Object.prototype.toString.call(e)==="[object Object]"&&!e.addEventListener;errorWhen(t,["tippy() was passed","`"+String(e)+"`","as its targets (first) argument. Valid types are: String, Element,","Element[], or NodeList."].join(" ")),errorWhen(n,["tippy() was passed a plain object which is not supported as an argument","for virtual positioning. Use props.getReferenceClientRect instead."].join(" "))}var pluginProps={animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},renderProps={allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999},defaultProps=Object.assign({appendTo:TIPPY_DEFAULT_APPEND_TO,aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},pluginProps,renderProps),defaultKeys=Object.keys(defaultProps),setDefaultProps=function(t){process.env.NODE_ENV!=="production"&&validateProps(t,[]);var n=Object.keys(t);n.forEach(function(o){defaultProps[o]=t[o]})};function getExtendedPassedProps(e){var t=e.plugins||[],n=t.reduce(function(o,a){var r=a.name,s=a.defaultValue;if(r){var i;o[r]=e[r]!==void 0?e[r]:(i=defaultProps[r])!=null?i:s}return o},{});return Object.assign({},e,n)}function getDataAttributeProps(e,t){var n=t?Object.keys(getExtendedPassedProps(Object.assign({},defaultProps,{plugins:t}))):defaultKeys,o=n.reduce(function(a,r){var s=(e.getAttribute("data-tippy-"+r)||"").trim();if(!s)return a;if(r==="content")a[r]=s;else try{a[r]=JSON.parse(s)}catch{a[r]=s}return a},{});return o}function evaluateProps(e,t){var n=Object.assign({},t,{content:invokeWithArgsOrReturn(t.content,[e])},t.ignoreAttributes?{}:getDataAttributeProps(e,t.plugins));return n.aria=Object.assign({},defaultProps.aria,n.aria),n.aria={expanded:n.aria.expanded==="auto"?t.interactive:n.aria.expanded,content:n.aria.content==="auto"?t.interactive?null:"describedby":n.aria.content},n}function validateProps(e,t){e===void 0&&(e={}),t===void 0&&(t=[]);var n=Object.keys(e);n.forEach(function(o){var a=removeProperties(defaultProps,Object.keys(pluginProps)),r=!hasOwnProperty(a,o);r&&(r=t.filter(function(s){return s.name===o}).length===0),warnWhen(r,["`"+o+"`","is not a valid prop. You may have spelled it incorrectly, or if it's","a plugin, forgot to pass it in an array as props.plugins.",`
|
|
37
37
|
|
|
38
38
|
`,`All props: https://atomiks.github.io/tippyjs/v6/all-props/
|
|
39
|
-
`,"Plugins: https://atomiks.github.io/tippyjs/v6/plugins/"].join(" "))})}var innerHTML=function(){return"innerHTML"};function dangerouslySetInnerHTML(e,t){e[innerHTML()]=t}function createArrowElement(e){var t=div();return e===!0?t.className=ARROW_CLASS:(t.className=SVG_ARROW_CLASS,isElement(e)?t.appendChild(e):dangerouslySetInnerHTML(t,e)),t}function setContent(e,t){isElement(t.content)?(dangerouslySetInnerHTML(e,""),e.appendChild(t.content)):typeof t.content!="function"&&(t.allowHTML?dangerouslySetInnerHTML(e,t.content):e.textContent=t.content)}function getChildren(e){var t=e.firstElementChild,n=arrayFrom(t.children);return{box:t,content:n.find(function(o){return o.classList.contains(CONTENT_CLASS)}),arrow:n.find(function(o){return o.classList.contains(ARROW_CLASS)||o.classList.contains(SVG_ARROW_CLASS)}),backdrop:n.find(function(o){return o.classList.contains(BACKDROP_CLASS)})}}function render(e){var t=div(),n=div();n.className=BOX_CLASS,n.setAttribute("data-state","hidden"),n.setAttribute("tabindex","-1");var o=div();o.className=CONTENT_CLASS,o.setAttribute("data-state","hidden"),setContent(o,e.props),t.appendChild(n),n.appendChild(o),a(e.props,e.props);function a(s
|
|
39
|
+
`,"Plugins: https://atomiks.github.io/tippyjs/v6/plugins/"].join(" "))})}var innerHTML=function(){return"innerHTML"};function dangerouslySetInnerHTML(e,t){e[innerHTML()]=t}function createArrowElement(e){var t=div();return e===!0?t.className=ARROW_CLASS:(t.className=SVG_ARROW_CLASS,isElement(e)?t.appendChild(e):dangerouslySetInnerHTML(t,e)),t}function setContent(e,t){isElement(t.content)?(dangerouslySetInnerHTML(e,""),e.appendChild(t.content)):typeof t.content!="function"&&(t.allowHTML?dangerouslySetInnerHTML(e,t.content):e.textContent=t.content)}function getChildren(e){var t=e.firstElementChild,n=arrayFrom(t.children);return{box:t,content:n.find(function(o){return o.classList.contains(CONTENT_CLASS)}),arrow:n.find(function(o){return o.classList.contains(ARROW_CLASS)||o.classList.contains(SVG_ARROW_CLASS)}),backdrop:n.find(function(o){return o.classList.contains(BACKDROP_CLASS)})}}function render(e){var t=div(),n=div();n.className=BOX_CLASS,n.setAttribute("data-state","hidden"),n.setAttribute("tabindex","-1");var o=div();o.className=CONTENT_CLASS,o.setAttribute("data-state","hidden"),setContent(o,e.props),t.appendChild(n),n.appendChild(o),a(e.props,e.props);function a(r,s){var i=getChildren(t),l=i.box,c=i.content,u=i.arrow;s.theme?l.setAttribute("data-theme",s.theme):l.removeAttribute("data-theme"),typeof s.animation=="string"?l.setAttribute("data-animation",s.animation):l.removeAttribute("data-animation"),s.inertia?l.setAttribute("data-inertia",""):l.removeAttribute("data-inertia"),l.style.maxWidth=typeof s.maxWidth=="number"?s.maxWidth+"px":s.maxWidth,s.role?l.setAttribute("role",s.role):l.removeAttribute("role"),(r.content!==s.content||r.allowHTML!==s.allowHTML)&&setContent(c,e.props),s.arrow?u?r.arrow!==s.arrow&&(l.removeChild(u),l.appendChild(createArrowElement(s.arrow))):l.appendChild(createArrowElement(s.arrow)):u&&l.removeChild(u)}return{popper:t,onUpdate:a}}render.$$tippy=!0;var idCounter=1,mouseMoveListeners=[],mountedInstances=[];function createTippy(e,t){var n=evaluateProps(e,Object.assign({},defaultProps,getExtendedPassedProps(removeUndefinedProps(t)))),o,a,r,s=!1,i=!1,l=!1,c=!1,u,m,y,h=[],p=debounce(ae,n.interactiveDebounce),g,v=idCounter++,w=null,f=unique(n.plugins),_={isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},d={id:v,reference:e,popper:div(),popperInstance:w,props:n,state:_,plugins:f,clearDelayTimeouts:De,setProps:Ee,setContent:Te,show:Pe,hide:ze,hideWithInteractivity:Ue,enable:ke,disable:Ae,unmount:je,destroy:Ge};if(!n.render)return process.env.NODE_ENV!=="production"&&errorWhen(!0,"render() function has not been supplied."),d;var C=n.render(d),b=C.popper,A=C.onUpdate;b.setAttribute("data-tippy-root",""),b.id="tippy-"+d.id,d.popper=b,e._tippy=d,b._tippy=d;var V=f.map(function(P){return P.fn(d)}),O=e.hasAttribute("aria-expanded");return W(),S(),k(),x("onCreate",[d]),n.showOnCreate&&ye(),b.addEventListener("mouseenter",function(){d.props.interactive&&d.state.isVisible&&d.clearDelayTimeouts()}),b.addEventListener("mouseleave",function(){d.props.interactive&&d.props.trigger.indexOf("mouseenter")>=0&&T().addEventListener("mousemove",p)}),d;function D(){var P=d.props.touch;return Array.isArray(P)?P:[P,0]}function L(){return D()[0]==="hold"}function Z(){var P;return!!((P=d.props.render)!=null&&P.$$tippy)}function I(){return g||e}function T(){var P=I().parentNode;return P?getOwnerDocument(P):document}function B(){return getChildren(b)}function $(P){return d.state.isMounted&&!d.state.isVisible||currentInput.isTouch||u&&u.type==="focus"?0:getValueAtIndexOrReturn(d.props.delay,P?0:1,defaultProps.delay)}function k(P){P===void 0&&(P=!1),b.style.pointerEvents=d.props.interactive&&!P?"":"none",b.style.zIndex=""+d.props.zIndex}function x(P,K,oe){if(oe===void 0&&(oe=!0),V.forEach(function(ie){ie[P]&&ie[P].apply(ie,K)}),oe){var le;(le=d.props)[P].apply(le,K)}}function N(){var P=d.props.aria;if(P.content){var K="aria-"+P.content,oe=b.id,le=normalizeToArray(d.props.triggerTarget||e);le.forEach(function(ie){var ge=ie.getAttribute(K);if(d.state.isVisible)ie.setAttribute(K,ge?ge+" "+oe:oe);else{var be=ge&&ge.replace(oe,"").trim();be?ie.setAttribute(K,be):ie.removeAttribute(K)}})}}function S(){if(!(O||!d.props.aria.expanded)){var P=normalizeToArray(d.props.triggerTarget||e);P.forEach(function(K){d.props.interactive?K.setAttribute("aria-expanded",d.state.isVisible&&K===I()?"true":"false"):K.removeAttribute("aria-expanded")})}}function F(){T().removeEventListener("mousemove",p),mouseMoveListeners=mouseMoveListeners.filter(function(P){return P!==p})}function j(P){if(!(currentInput.isTouch&&(l||P.type==="mousedown"))){var K=P.composedPath&&P.composedPath()[0]||P.target;if(!(d.props.interactive&&actualContains(b,K))){if(normalizeToArray(d.props.triggerTarget||e).some(function(oe){return actualContains(oe,K)})){if(currentInput.isTouch||d.state.isVisible&&d.props.trigger.indexOf("click")>=0)return}else x("onClickOutside",[d,P]);d.props.hideOnClick===!0&&(d.clearDelayTimeouts(),d.hide(),i=!0,setTimeout(function(){i=!1}),d.state.isMounted||E())}}}function Q(){l=!0}function ee(){l=!1}function J(){var P=T();P.addEventListener("mousedown",j,!0),P.addEventListener("touchend",j,TOUCH_OPTIONS),P.addEventListener("touchstart",ee,TOUCH_OPTIONS),P.addEventListener("touchmove",Q,TOUCH_OPTIONS)}function E(){var P=T();P.removeEventListener("mousedown",j,!0),P.removeEventListener("touchend",j,TOUCH_OPTIONS),P.removeEventListener("touchstart",ee,TOUCH_OPTIONS),P.removeEventListener("touchmove",Q,TOUCH_OPTIONS)}function z(P,K){G(P,function(){!d.state.isVisible&&b.parentNode&&b.parentNode.contains(b)&&K()})}function R(P,K){G(P,K)}function G(P,K){var oe=B().box;function le(ie){ie.target===oe&&(updateTransitionEndListener(oe,"remove",le),K())}if(P===0)return K();updateTransitionEndListener(oe,"remove",m),updateTransitionEndListener(oe,"add",le),m=le}function H(P,K,oe){oe===void 0&&(oe=!1);var le=normalizeToArray(d.props.triggerTarget||e);le.forEach(function(ie){ie.addEventListener(P,K,oe),h.push({node:ie,eventType:P,handler:K,options:oe})})}function W(){L()&&(H("touchstart",X,{passive:!0}),H("touchend",se,{passive:!0})),splitBySpaces(d.props.trigger).forEach(function(P){if(P!=="manual")switch(H(P,X),P){case"mouseenter":H("mouseleave",se);break;case"focus":H(isIE11?"focusout":"blur",ne);break;case"focusin":H("focusout",ne);break}})}function q(){h.forEach(function(P){var K=P.node,oe=P.eventType,le=P.handler,ie=P.options;K.removeEventListener(oe,le,ie)}),h=[]}function X(P){var K,oe=!1;if(!(!d.state.isEnabled||re(P)||i)){var le=((K=u)==null?void 0:K.type)==="focus";u=P,g=P.currentTarget,S(),!d.state.isVisible&&isMouseEvent(P)&&mouseMoveListeners.forEach(function(ie){return ie(P)}),P.type==="click"&&(d.props.trigger.indexOf("mouseenter")<0||s)&&d.props.hideOnClick!==!1&&d.state.isVisible?oe=!0:ye(P),P.type==="click"&&(s=!oe),oe&&!le&&me(P)}}function ae(P){var K=P.target,oe=I().contains(K)||b.contains(K);if(!(P.type==="mousemove"&&oe)){var le=he().concat(b).map(function(ie){var ge,be=ie._tippy,Ve=(ge=be.popperInstance)==null?void 0:ge.state;return Ve?{popperRect:ie.getBoundingClientRect(),popperState:Ve,props:n}:null}).filter(Boolean);isCursorOutsideInteractiveBorder(le,P)&&(F(),me(P))}}function se(P){var K=re(P)||d.props.trigger.indexOf("click")>=0&&s;if(!K){if(d.props.interactive){d.hideWithInteractivity(P);return}me(P)}}function ne(P){d.props.trigger.indexOf("focusin")<0&&P.target!==I()||d.props.interactive&&P.relatedTarget&&b.contains(P.relatedTarget)||me(P)}function re(P){return currentInput.isTouch?L()!==P.type.indexOf("touch")>=0:!1}function de(){fe();var P=d.props,K=P.popperOptions,oe=P.placement,le=P.offset,ie=P.getReferenceClientRect,ge=P.moveTransition,be=Z()?getChildren(b).arrow:null,Ve=ie?{getBoundingClientRect:ie,contextElement:ie.contextElement||I()}:e,Se={name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function($e){var Ce=$e.state;if(Z()){var qe=B(),xe=qe.box;["placement","reference-hidden","escaped"].forEach(function(Oe){Oe==="placement"?xe.setAttribute("data-placement",Ce.placement):Ce.attributes.popper["data-popper-"+Oe]?xe.setAttribute("data-"+Oe,""):xe.removeAttribute("data-"+Oe)}),Ce.attributes.popper={}}}},Be=[{name:"offset",options:{offset:le}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!ge}},Se];Z()&&be&&Be.push({name:"arrow",options:{element:be,padding:3}}),Be.push.apply(Be,K?.modifiers||[]),d.popperInstance=createPopper(Ve,b,Object.assign({},K,{placement:oe,onFirstUpdate:y,modifiers:Be}))}function fe(){d.popperInstance&&(d.popperInstance.destroy(),d.popperInstance=null)}function ce(){var P=d.props.appendTo,K,oe=I();d.props.interactive&&P===TIPPY_DEFAULT_APPEND_TO||P==="parent"?K=oe.parentNode:K=invokeWithArgsOrReturn(P,[oe]),K.contains(b)||K.appendChild(b),d.state.isMounted=!0,de(),process.env.NODE_ENV!=="production"&&warnWhen(d.props.interactive&&P===defaultProps.appendTo&&oe.nextElementSibling!==b,["Interactive tippy element may not be accessible via keyboard","navigation because it is not directly after the reference element","in the DOM source order.",`
|
|
40
40
|
|
|
41
41
|
`,"Using a wrapper <div> or <span> tag around the reference element","solves this by creating a new parentNode context.",`
|
|
42
42
|
|
|
43
43
|
`,"Specifying `appendTo: document.body` silences this warning, but it","assumes you are using a focus management solution to handle","keyboard navigation.",`
|
|
44
44
|
|
|
45
|
-
`,"See: https://atomiks.github.io/tippyjs/v6/accessibility/#interactivity"].join(" "))}function he(){return arrayFrom(
|
|
45
|
+
`,"See: https://atomiks.github.io/tippyjs/v6/accessibility/#interactivity"].join(" "))}function he(){return arrayFrom(b.querySelectorAll("[data-tippy-root]"))}function ye(P){d.clearDelayTimeouts(),P&&x("onTrigger",[d,P]),J();var K=$(!0),oe=D(),le=oe[0],ie=oe[1];currentInput.isTouch&&le==="hold"&&ie&&(K=ie),K?o=setTimeout(function(){d.show()},K):d.show()}function me(P){if(d.clearDelayTimeouts(),x("onUntrigger",[d,P]),!d.state.isVisible){E();return}if(!(d.props.trigger.indexOf("mouseenter")>=0&&d.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(P.type)>=0&&s)){var K=$(!1);K?a=setTimeout(function(){d.state.isVisible&&d.hide()},K):r=requestAnimationFrame(function(){d.hide()})}}function ke(){d.state.isEnabled=!0}function Ae(){d.hide(),d.state.isEnabled=!1}function De(){clearTimeout(o),clearTimeout(a),cancelAnimationFrame(r)}function Ee(P){if(process.env.NODE_ENV!=="production"&&warnWhen(d.state.isDestroyed,createMemoryLeakWarning("setProps")),!d.state.isDestroyed){x("onBeforeUpdate",[d,P]),q();var K=d.props,oe=evaluateProps(e,Object.assign({},K,removeUndefinedProps(P),{ignoreAttributes:!0}));d.props=oe,W(),K.interactiveDebounce!==oe.interactiveDebounce&&(F(),p=debounce(ae,oe.interactiveDebounce)),K.triggerTarget&&!oe.triggerTarget?normalizeToArray(K.triggerTarget).forEach(function(le){le.removeAttribute("aria-expanded")}):oe.triggerTarget&&e.removeAttribute("aria-expanded"),S(),k(),A&&A(K,oe),d.popperInstance&&(de(),he().forEach(function(le){requestAnimationFrame(le._tippy.popperInstance.forceUpdate)})),x("onAfterUpdate",[d,P])}}function Te(P){d.setProps({content:P})}function Pe(){process.env.NODE_ENV!=="production"&&warnWhen(d.state.isDestroyed,createMemoryLeakWarning("show"));var P=d.state.isVisible,K=d.state.isDestroyed,oe=!d.state.isEnabled,le=currentInput.isTouch&&!d.props.touch,ie=getValueAtIndexOrReturn(d.props.duration,0,defaultProps.duration);if(!(P||K||oe||le)&&!I().hasAttribute("disabled")&&(x("onShow",[d],!1),d.props.onShow(d)!==!1)){if(d.state.isVisible=!0,Z()&&(b.style.visibility="visible"),k(),J(),d.state.isMounted||(b.style.transition="none"),Z()){var ge=B(),be=ge.box,Ve=ge.content;setTransitionDuration([be,Ve],0)}y=function(){var Be;if(!(!d.state.isVisible||c)){if(c=!0,b.offsetHeight,b.style.transition=d.props.moveTransition,Z()&&d.props.animation){var Me=B(),$e=Me.box,Ce=Me.content;setTransitionDuration([$e,Ce],ie),setVisibilityState([$e,Ce],"visible")}N(),S(),pushIfUnique(mountedInstances,d),(Be=d.popperInstance)==null||Be.forceUpdate(),x("onMount",[d]),d.props.animation&&Z()&&R(ie,function(){d.state.isShown=!0,x("onShown",[d])})}},ce()}}function ze(){process.env.NODE_ENV!=="production"&&warnWhen(d.state.isDestroyed,createMemoryLeakWarning("hide"));var P=!d.state.isVisible,K=d.state.isDestroyed,oe=!d.state.isEnabled,le=getValueAtIndexOrReturn(d.props.duration,1,defaultProps.duration);if(!(P||K||oe)&&(x("onHide",[d],!1),d.props.onHide(d)!==!1)){if(d.state.isVisible=!1,d.state.isShown=!1,c=!1,s=!1,Z()&&(b.style.visibility="hidden"),F(),E(),k(!0),Z()){var ie=B(),ge=ie.box,be=ie.content;d.props.animation&&(setTransitionDuration([ge,be],le),setVisibilityState([ge,be],"hidden"))}N(),S(),d.props.animation?Z()&&z(le,d.unmount):d.unmount()}}function Ue(P){process.env.NODE_ENV!=="production"&&warnWhen(d.state.isDestroyed,createMemoryLeakWarning("hideWithInteractivity")),T().addEventListener("mousemove",p),pushIfUnique(mouseMoveListeners,p),p(P)}function je(){process.env.NODE_ENV!=="production"&&warnWhen(d.state.isDestroyed,createMemoryLeakWarning("unmount")),d.state.isVisible&&d.hide(),d.state.isMounted&&(fe(),he().forEach(function(P){P._tippy.unmount()}),b.parentNode&&b.parentNode.removeChild(b),mountedInstances=mountedInstances.filter(function(P){return P!==d}),d.state.isMounted=!1,x("onHidden",[d]))}function Ge(){process.env.NODE_ENV!=="production"&&warnWhen(d.state.isDestroyed,createMemoryLeakWarning("destroy")),!d.state.isDestroyed&&(d.clearDelayTimeouts(),d.unmount(),q(),delete e._tippy,d.state.isDestroyed=!0,x("onDestroy",[d]))}}function tippy(e,t){t===void 0&&(t={});var n=defaultProps.plugins.concat(t.plugins||[]);process.env.NODE_ENV!=="production"&&(validateTargets(e),validateProps(t,n)),bindGlobalEventListeners();var o=Object.assign({},t,{plugins:n}),a=getArrayOfElements(e);if(process.env.NODE_ENV!=="production"){var r=isElement(o.content),s=a.length>1;warnWhen(r&&s,["tippy() was passed an Element as the `content` prop, but more than","one tippy instance was created by this invocation. This means the","content element will only be appended to the last tippy instance.",`
|
|
46
46
|
|
|
47
47
|
`,"Instead, pass the .innerHTML of the element, or use a function that","returns a cloned version of the element instead.",`
|
|
48
48
|
|
|
49
49
|
`,`1) content: element.innerHTML
|
|
50
|
-
`,"2) content: () => element.cloneNode(true)"].join(" "))}var r=a.reduce(function(l,c){var u=c&&createTippy(c,o);return u&&l.push(u),l},[]);return isElement(e)?r[0]:r}tippy.defaultProps=defaultProps;tippy.setDefaultProps=setDefaultProps;tippy.currentInput=currentInput;var hideAll=function(t){var n=t===void 0?{}:t,o=n.exclude,a=n.duration;mountedInstances.forEach(function(s){var i=!1;if(o&&(i=isReferenceElement(o)?s.reference===o:s.popper===o.popper),!i){var r=s.props.duration;s.setProps({duration:a}),s.hide(),s.state.isDestroyed||s.setProps({duration:r})}})};Object.assign({},applyStyles,{effect:function(t){var n=t.state,o={popper:{position:n.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(n.elements.popper.style,o.popper),n.styles=o,n.elements.arrow&&Object.assign(n.elements.arrow.style,o.arrow)}});tippy.setDefaultProps({render});const RenderAvatar={name:"render-avatar",props:["user","urlMethod"],setup(e){const t=vue.ref("");vue.onMounted(async()=>{try{typeof e.user=="string"?t.value=await e.urlMethod(e.user):typeof e.user=="object"&&(t.value=e.user.avatar||e.user.logo||await e.urlMethod(e.user.username))}catch{}});const n=vue.ref(null);return vue.watch(t,o=>{o&&(n.value.style.backgroundImage=`url(${t.value})`)}),()=>vue.createVNode("span",{ref:n,class:"user-selector-avatar"},null)}},RenderList={name:"render-list",props:{selector:{type:Object},user:{type:Object},keyword:{type:String},index:{type:Number},disabled:{type:Boolean}},setup(e){return()=>e.selector.renderList(vue.h,{user:e.user,index:e.index,keyword:e.keyword,disabled:e.disabled})}},tooltips={mounted(e,t){const n=typeof t.value=="object"?t.value:{disabled:!1,content:t.value},o=tippy(e,Object.assign({appendTo:document.body},n));n.disabled&&o.disable()},unmounted(e){e._tippy?.destroy()},updated(e,t){const n=typeof t.value=="object"?t.value:{disabled:!1,content:t.value};n.disabled?e._tippy.disable():e._tippy.enable(),e._tippy.setContent(n.content)}},AlternateItem=vue.defineComponent({name:"AlternateItem",directives:{tooltips},props:{selector:{type:Object},user:{type:Object},keyword:{type:String},index:{type:Number}},setup(e){const{selector:t,user:n,keyword:o}=vue.toRefs(e);return{disabled:vue.computed(()=>t.value.disabledUsers.includes(n.value.username)),getItemContent:()=>{const[r,l]=n.value.username.split("@");let c=r;o.value&&(c=c.replace(new RegExp(o.value,"g"),`<span>${o.value}</span>`));const u=t.value.displayDomain&&l?`${c}@${l}`:c,v=n.value.display_name;return v?`${u}(${v})`:u},getTitle:()=>t.value.getDisplayText(n.value)}},render(){return vue.createVNode("li",{class:["alternate-item",this.index===this.selector.highlightIndex?"highlight":"",this.disabled&&!this.selector.renderList?"disabled":""],onClick:e=>e.stopPropagation(),onMousedown:vue.withModifiers(()=>this.selector.handleUserMousedown(this.user,this.disabled),["left","stop"]),onMouseup:vue.withModifiers(()=>this.selector.handleUserMouseup(this.user,this.disabled),["left","stop"])},[this.selector.renderList?vue.createVNode(vue.Fragment,null,[vue.createVNode(RenderList,{selector:this.selector,keyword:this.keyword,user:this.user,disabled:this.disabled},null)]):vue.createVNode(vue.Fragment,null,[this.selector.tagType==="avatar"?vue.createVNode(vue.Fragment,null,[vue.createVNode(RenderAvatar,{class:"item-avatar",user:this.user,urlMethod:this.selector.avatarUrl},null)]):null,this.selector.displayListTips&&this.user.category_name?vue.createVNode(vue.Fragment,null,[vue.withDirectives(vue.createVNode("span",{class:"item-folder"},[this.user.category_name]),[[vue.resolveDirective("tooltips"),{placement:"right",interactive:!0,theme:"light list-item-tips",content:this.user.category_name,offset:[0,18]}]])]):null,vue.createVNode("span",{class:"item-name",title:this.getTitle(),innerHTML:this.getItemContent()},null)])])}}),AlternateList=vue.defineComponent({setup(){const{proxy:e}=vue.getCurrentInstance();instanceStore.setInstance("alternateContent","alternateList",e);const t=vue.ref(null),n=vue.ref(""),o=vue.ref(!0),a=vue.ref(!0),s=vue.ref([]),i=vue.computed(()=>{const p={};return t.value?.panelWidth&&(p.width=`${parseInt(t.value.panelWidth,10)}px`),p}),r=vue.computed(()=>{const p={"max-height":"192px"};if(t.value){const h=parseInt(t.value.listScrollHeight,10);isNaN(h)||(p["max-height"]=`${h}px`)}return p}),l=(p,h=0)=>{let f=0;return s.value.slice(0,p).forEach(y=>{y.hasOwnProperty("children")?f+=y.children.length:f+=1}),f+h},c=()=>{if(hideAll({exclude:t.value.inputRef,duration:0}),a.value||!o.value)return!1;const p=v.value;p.scrollTop+p.clientHeight>p.scrollHeight-32&&t.value.search(n.value,o.value)};vue.watch(n,()=>{_.value=[],vue.nextTick(()=>{v.value.scrollTop=0})});const u=vue.ref(null),v=vue.ref(null),_=vue.ref([]);return{selector:t,keyword:n,next:o,loading:a,matchedUsers:s,wrapperStyle:i,listStyle:r,getIndex:l,handleScroll:c,alternateListContainer:u,alternateList:v,alternateItem:_,setRef:p=>{_.value.push(p)}}},render(){return vue.createVNode("div",{ref:"alternateListContainer",class:["user-selector-alternate-list-wrapper",this.selector?.displayListTips?"has-folder":"",this.loading?"is-loading":""],style:this.wrapperStyle},[vue.createVNode("ul",{class:"alternate-list",ref:"alternateList",style:this.listStyle,onScroll:()=>{this.handleScroll()}},[this.matchedUsers.map((e,t)=>e.hasOwnProperty("children")?vue.createVNode(vue.Fragment,null,[vue.createVNode("li",{class:"alternate-group",onClick:n=>n.stopPropagation(),onMousedown:vue.withModifiers(()=>{this.selector.handleGroupMousedown()},["left","stop"]),onMouseup:vue.withModifiers(()=>{this.selector.handleGroupMouseup()},["left","stop"])},[`${e.display_name}(${e.children.length})`]),e.children.map((n,o)=>vue.createVNode(vue.Fragment,null,[vue.createVNode(AlternateItem,{ref:a=>{this.setRef(a)},index:this.getIndex(t,o),selector:this.selector,user:n,keyword:this.keyword},null)]))]):vue.createVNode(vue.Fragment,null,[vue.createVNode(AlternateItem,{ref:n=>{this.setRef(n)},selector:this.selector,user:e,index:this.getIndex(t),keyword:this.keyword},null)]))]),!this.loading&&!this.matchedUsers.length?vue.createVNode(vue.Fragment,null,[vue.createVNode("p",{class:"alternate-empty"},[this.selector.emptyText])]):null])}}),RenderTag={name:"render-tag",props:["username","user","index"],setup(e){const t=vue.inject("parentSelector");return()=>t.renderTag(vue.h,{username:e.username,index:e.index,user:e.user})}},_sfc_main$B=vue.defineComponent({name:"BkUserSelector",components:{RenderTag,RenderAvatar},props:{modelValue:{type:Array,default:()=>[]},placeholder:{type:String,default:"请输入"},disabled:{type:Boolean,default:!1},multiple:{type:Boolean,default:!0},exclude:{type:Boolean,default:!0},focusRowLimit:{type:Number,default:6},defaultAlternate:{type:[String,Array,Function],validator(e){return e==="history"||typeof e=="function"||e instanceof Array}},searchFromDefaultAlternate:{type:Boolean,default:!0},historyKey:String,historyLabel:{type:String,default:"最近选择"},historyRecord:{type:Number,default:5},displayListTips:Boolean,fuzzySearchMethod:Function,exactSearchMethod:Function,emptyText:{type:String,default:"无匹配人员"},tagClearable:{type:Boolean,default:!0},fastClear:Boolean,renderList:Function,renderTag:Function,displayTagTips:Boolean,tagTipsContent:Function,tagTipsDelay:{type:Number,default:300},tagType:{type:String,default:"tag",validator(e){return["tag","avatar"].includes(e)}},avatarUrl:{type:Function,default:()=>null},fixedHeight:{type:Boolean,default:!0},disabledUsers:{type:Array,default:()=>[]},listScrollHeight:[Number,String],api:String,searchLimit:{type:Number,default:20},pasteFormatter:{type:Function,default(e){return e.replace(/\(.*/,"")}},pasteValidator:Function,panelWidth:{type:[Number,String],validator(e){return parseInt(e,10)>=190}},displayDomain:{type:Boolean,default:!0},type:{type:String,default:"selector",validator(e){return["selector","info"].includes(e)}}},emits:["update:modelValue","change","remove-selected","select-user","keydown","focus","blur","clear"],setup(e,t){const{modelValue:n,disabled:o,multiple:a,exclude:s,focusRowLimit:i,defaultAlternate:r,searchFromDefaultAlternate:l,historyKey:c,historyLabel:u,historyRecord:v,fuzzySearchMethod:_,exactSearchMethod:m,displayTagTips:p,tagTipsContent:h,tagTipsDelay:f,fixedHeight:y,disabledUsers:g,api:w,searchLimit:d,pasteFormatter:k,pasteValidator:C,displayDomain:B,type:D}=vue.toRefs(e),R=async(M,U)=>{try{const Y=he();ye(),Y.setContent(A.value.$refs.alternateListContainer),De(),A.value.loading=!!M;const{results:te,next:ue}=await new Promise(async(we,Re)=>{if(M){const Ie=[(_.value||de)(M,U)];l.value&&Ie.push(ne(M));const[et,tt]=await Promise.all(Ie);tt&&et.results.unshift(...tt.results),we(et)}else{const Ie=ne();we(Ie)}});if(!N.value)return;const{matched:pe,flattened:fe}=se(te);if(!M&&!fe.length){Ee();return}j.value=U?[...j.value,...pe]:pe,K.value=U?[...K.value,...fe]:fe,b.value=fe.length&&E.value?0:-1,A.value.next=ue,A.value.keyword=M,A.value.matchedUsers=j.value,A.value.loading=!1}catch(Y){if(Y.type==="reset")return;j.value=[],K.value=[],console.error(Y)}},V=vue.ref(null),O=vue.ref(null),{proxy:Z}=vue.getCurrentInstance();vue.provide("parentSelector",Z);const I=vue.ref(32),$=vue.ref(30),E=vue.ref(""),T=vue.ref(0),b=vue.ref(-1),x=vue.ref(!0),N=vue.ref(!1),P=vue.ref(null),L=vue.ref([]),j=vue.ref([]),K=vue.ref([]),ee=lodash.throttle(R,800,{leading:!1}),J=vue.ref(null),A=vue.ref(null),z=vue.ref({}),F=vue.ref(null),G=vue.ref(!1),H=vue.computed(()=>D.value==="selector"),W=vue.computed(()=>{const M={};return N.value?M.maxHeight=y.value?`${i.value*$.value}px`:"auto":y.value&&(M.height=`${$.value}px`),M}),q=vue.ref([]);q.value=[...n.value];const X=vue.computed(()=>q.value.map(M=>L.value.find(Y=>Y.username===M)||{username:M})),ae=vue.computed(()=>X.value.map(M=>Se(M)).join(";")),ie=async()=>{try{w.value?L.value=await request.scheduleExactSearch(w.value,q.value):m.value?L.value=await m.value(q.value):console.warn("No exact search method has been set")}catch(M){console.error(M)}},ne=async M=>{let U=[];const Y=(te,ue)=>te.username.toLowerCase().indexOf(ue.toString().toLowerCase())>-1;if(r.value==="history"?U=[{display_name:u.value,children:me()}]:r.value instanceof Array?U=r.value:typeof r.value=="function"&&(U=await r.value()),M){const te=[];U.forEach(ue=>{if(ue.hasOwnProperty("children")){const pe=ue.children.filter(fe=>Y(fe,M));pe.length&&te.push({...ue,children:pe})}else Y(ue,M)&&te.push(ue)}),U=te}return Promise.resolve({results:U,next:!1})},se=M=>{const U=[],Y=[];return M.forEach(te=>{if(te.hasOwnProperty("children")){const fe=te.children.filter(we=>!Y.some(Re=>Re.username===we.username));if(a.value){const we=fe.filter(Re=>!q.value.includes(Re.username));we.length&&(te.children=we,U.push(te),Y.push(...we))}else U.push(te),Y.push(...fe);return}const ue=q.value.includes(te.username),pe=Y.some(fe=>fe.username===te.username);(!a.value||!ue)&&!pe&&(U.push(te),Y.push(te))}),{matched:U,flattened:Y}},de=async(M,U)=>{if(w.value){const Y={app_code:"bk-magicbox",page:U||1,page_size:d.value,fuzzy_lookups:M},{count:te,results:ue}=await request.fuzzySearch(w.value,Y);return{next:te>Y.page*Y.page_size?Y.page+1:!1,results:ue}}return _.value?_.value(M,U):(console.warn("No fuzzy search method has been set"),Promise.resolve({next:!1,results:[]}))},ve=async(M,U)=>{try{const Y=document.createElement("span");if(typeof h.value=="function"){const te=await h.value(U);Y.innerHTML=te}else{const te=await(m.value||ce)(U);Y.innerHTML=te?te.category_name:"Non existing user"}M.setContent(Y)}catch(Y){console.error(Y),M.setContent(Y.message)}},ce=M=>w.value?request.exactSearch(w.value,M):m.value?m.value(M):(console.warn("No exact search method has been set"),Promise.resolve({})),he=()=>(J.value||(J.value=tippy(O.value,{theme:"light user-selector-popover",appendTo:document.body,trigger:"manual",placement:"bottom-start",offset:[0,5],arrow:!1,hideOnClick:!1,content:"",interactive:!0,onHide:()=>{$e()},onShow:()=>N.value})),J.value),ye=()=>{if(!A.value){const M=vue.createApp(AlternateList),U=document.createElement("div");M.mount(U),A.value=instanceStore.getInstance("alternateContent","alternateList"),A.value.selector=Z}},me=()=>{try{if(c.value)return(JSON.parse(window.localStorage.getItem(c.value))||[]).filter(U=>!g.value.includes(U.username));throw new Error("History key not provide")}catch(M){return console.error(M),[]}},Ce=M=>{if(c.value)try{const U=me(),Y=U.findIndex(ue=>ue.username===M.username);Y>-1&&U.splice(Y,1),Array.isArray(M)?U.unshift(...M):U.unshift(M);const te=U.filter(ue=>!g.value.includes(ue.username)).slice(0,v.value);window.localStorage.setItem(c.value,JSON.stringify(te))}catch(U){console.error(U)}},Ae=()=>{J.value?.popperInstance?.update()},De=()=>{Ae(),J.value?.show(0)},Ee=()=>{J.value?.hide(0)},$e=()=>{vue.nextTick(()=>{j.value=[],K.value=[],A.value.matchedUsers=[]})},Se=M=>{const U=typeof M=="object";let Y=U?M.username:M;return Y=B.value?Y:Y.replace(/@.*/,""),U&&M.display_name&&(Y+=`(${M.display_name})`),Y},ze=()=>{if(o.value)return!1;Ye(),T.value=q.value.length,!a.value&&n.value.length?(E.value=Se(n.value[0]),O.value.innerHTML=E.value,_e(0,{selectRange:!0})):_e(0)},Ue=M=>{J.value?.state.isVisible&&M.preventDefault()},je=(M,U)=>{if(o.value)return!1;x.value=!1},Ge=(M,U)=>{if(o.value)return!1;if(a.value){const Y=M.target,{offsetWidth:te}=Y,ue=M.offsetX;T.value=ue>te/2?U+1:U,_e(0)}else E.value=Se(n.value[0]),O.value.innerHTML=E.value,_e(0,{selectRange:!0})},S=(M,{username:U})=>{if(!p.value)return!1;const Y=M.currentTarget;if(Y._user_tips_)return!1;z.value[U]=setTimeout(()=>{Y._user_tips_=tippy(Y,{theme:"light small-arrow user-selected-tips",offset:[0,5],appendTo:document.body,arrow:!0,content:"loading...",placement:"top",interactive:!0,onShow:te=>{ve(te,U)}}),Y._user_tips_.show(),delete z.value[U]},f.value)},Q=(M,{username:U})=>{p.value&&z.value[U]&&clearTimeout(z.value[U])},oe=()=>{x.value=!1},le=({username:M},U)=>{if(o.value)return!1;const Y=[...q.value];Y.splice(U,1),q.value=Y,Ne(),N.value?_e(U>=T.value?0:-1):xe(),t.emit("remove-selected",M)},re=(M,U)=>{x.value=!1},ge=(M,U)=>{if(U||U.value)return _e(0),!1;if(Ce(M),L.value.push(M),a.value){const Y=[...q.value];Y.splice(T.value,0,M.username),q.value=Y,setTimeout(()=>{_e(1),Pe({reset:!0}),R()},0)}else q.value=[M.username],Ne(),xe();t.emit("select-user",M)},be=()=>{x.value=!1},Te=()=>{_e(0)},Pe=(M={})=>{M.reset&&Ne(),N.value=!0,x.value=!0,vue.nextTick(()=>{const U=O.value;if(!U)return;U.focus();const Y=window.getSelection();Y.selectAllChildren(U),!M.selectRange&&Y.collapseToEnd()})},Be=M=>{if(G.value){M.preventDefault(),M.stopPropagation();return}const{key:U}=M,Y={Enter:Me,Backspace:Ve,Delete:Ve,ArrowLeft:ke,ArrowRight:ke,ArrowUp:ke,ArrowDown:ke};Y.hasOwnProperty(U)&&Y[U](M),t.emit("keydown",M)},Me=M=>{if(M.preventDefault(),M.stopPropagation(),x.value=!1,b.value!==-1){const{username:U}=K.value[b.value];if(g.value.includes(U))return!1;if(a.value){const te=[...q.value];te.splice(T.value,0,U),q.value=te,_e(1,{reset:!0})}else q.value=[U],Ne(),xe()}else if(E.value)if(!s.value&&!q.value.includes(E.value))if(a.value){const U=[...q.value];U.splice(T.value,0,E.value),q.value=U,_e(1,{reset:!0})}else q.value=[E.value],Ne(),xe();else Ne();else Ne(),xe();Ee()},Ve=M=>{if(E.value||!q.value.length||!T.value)return!0;x.value=!1;const U=[...q.value];U.splice(T.value-1,1),q.value=U,_e(-1),R()},ke=M=>{const U=M.key;if(["ArrowLeft","ArrowRight"].includes(U)){if(E.value||!q.value.length)return!0;U==="ArrowLeft"&&T.value!==0?_e(-1):U==="ArrowRight"&&T.value!==q.value.length&&_e(1)}else K.value.length&&(M.preventDefault(),U==="ArrowDown"?b.value<K.value.length-1?b.value+=1:A.value.next?(A.value.$refs.alternateList.scrollTop+=32,A.value.handleScroll()):b.value=0:U==="ArrowUp"&&b.value!==-1&&(b.value-=1))},qe=M=>{if(G.value){M.preventDefault(),M.stopPropagation();return}E.value=O.value.textContent.trim()},xe=()=>{if(!x.value)return!0;N.value=!1,Ee()},Oe=M=>K.value.find(Y=>{const te=Y.username,ue=Y.display_name,pe=[te,ue].some(we=>we.toLowerCase()===M.toLowerCase()),fe=q.value.includes(te);return pe&&!fe}),Ke=async M=>{if(w.value){const Y=(await request.pasteValidate(w.value,M)).map(te=>te.username);return s.value?Y:[...new Set(Y.concat(M))]}return C.value?C.value(values):(console.warn("No paste validator has been set"),Promise.resolve([]))},ot=async M=>{Ee(),G.value&&(M.preventDefault(),M.stopPropagation());try{G.value=!0;const Y=M.clipboardData.getData("text").replace(/\s/g,"").split(/,|;/).map(we=>k.value(we)).filter(we=>we.length),te=[...new Set(Y)];if(!te.length)return;const ue=await(C.value||Ke)(te),pe=ue.filter(we=>!q.value.includes(we));if(!ue.length)return;const fe=[...q.value];fe.splice(T.value,0,...pe),q.value=fe,a.value?N.value&&_e(pe.length,{reset:!0}):xe()}catch(U){console.error(U)}finally{G.value=!1}},Le=()=>Array.from(V.value.querySelectorAll(".user-selector-selected")),_e=(M,U={})=>{T.value=T.value+M,vue.nextTick(()=>{const te=Le()[T.value]||null;V.value.insertBefore(O.value,te),Pe(U),Ae()})},He=()=>{if(!A.value||!H.value)return!1;vue.nextTick(()=>{const{highlightIndex:M}=Z,U=A.value.$refs.alternateList;if(!U)return!1;if(M!==-1){const Y=A.value.alternateItem[M].$el,te=U.clientHeight,ue=U.scrollTop,pe=Y.offsetTop,fe=Y.offsetHeight;if(pe>=ue&&pe+fe<=ue+te)return!1;pe<=ue?U.scrollTop=pe:pe+fe>ue+te&&(U.scrollTop=pe+fe-te)}else U.scrollTop=0})},We=vue.ref(0),Fe=()=>{if(!H.value||(Xe(),!y.value||N.value||q.value.length<2))return!1;Ye(),We.value=setTimeout(()=>{const M=Le(),U=M.findIndex((Y,te)=>te?M[te-1].offsetTop!==Y.offsetTop:!1);U>-1?P.value=U:P.value=null,V.value.scrollTop=0,Qe()},0)},Ye=()=>{We.value&&clearTimeout(We.value)},Qe=()=>{if(!P.value)return;Je();const M=Le(),U=M[P.value];if(U)F.value.textContent=`+${q.value.length-P.value}`,V.value.insertBefore(F.value,U);else{P.value=null;return}setTimeout(()=>{const Y=M[P.value-1];F.value.offsetTop!==Y.offsetTop&&(P.value-=1,V.value.insertBefore(F.value,F.value.previousSibling),F.value.textContent=`+${q.value.length-P.value}`)},0)},Je=()=>{if(F.value)return F.value;const M=document.createElement("span");M.className="user-selector-overflow-tag",F.value=M},Xe=()=>{F.value&&F.value.parentNode===V.value&&V.value.removeChild(F.value)},at=()=>{q.value=[],t.emit("clear")},Ne=()=>{x.value=!0,b.value=-1,E.value="",O.value.innerHTML=""};return vue.watch(E,M=>{M.length?(b.value=-1,He(),ee(M)):N.value&&R()}),vue.watch(N,M=>{M?(R(),t.emit("focus")):(Ne(),t.emit("blur")),Fe()}),vue.watch(b,()=>{He()}),vue.watch(q,M=>{t.emit("update:modelValue",M),t.emit("change",M),Fe(),ie()}),vue.onMounted(()=>{Fe(),ie()}),{selectorHeight:I,singleRowHeight:$,inputValue:E,inputIndex:T,highlightIndex:b,shouldUpdate:x,isFocus:N,overflowTagIndex:P,currentUsers:L,matchedUsers:j,flattenedUsers:K,scheduleSearch:ee,popoverInstance:J,alternateContent:A,selectedTipsTimer:z,overflowTagNode:F,loading:G,isSelector:H,containerStyle:W,localValue:q,localValueUsers:X,userInfo:ae,getCurrentUsers:ie,search:R,getDefaultAlternateData:ne,filterUsers:se,defaultFuzzySearchMethod:de,getUserTips:ve,defaultExactSearchMethod:ce,getPopoverInstance:he,getAlternateContent:ye,getHistoryUsers:me,updateHistoryUsers:Ce,updatePopover:Ae,showPopover:De,hidePopover:Ee,handlePopoverHide:$e,getDisplayText:Se,focus:ze,handleContainerScroll:Ue,handleSelectedMousedown:je,handleSelectedMouseup:Ge,handleSelectedMouseenter:S,handleSelectedMouseleave:Q,handleRemoveMouseDown:oe,handleRemoveSelected:le,handleUserMousedown:re,handleUserMouseup:ge,handleGroupMousedown:be,handleGroupMouseup:Te,setSelection:Pe,handleKeydown:Be,handleEnter:Me,handleBackspace:Ve,handleArrow:ke,handleInput:qe,handleBlur:xe,getMatchedUser:Oe,defaultPasteValidator:Ke,handlePaste:ot,getSelectedDOM:Le,moveInput:_e,updateScroller:He,calcOverflow:Fe,clearOverflowTimer:Ye,insertOverflowTag:Qe,getOverflowTagNode:Je,removeOverflowTagNode:Xe,handleFastClear:at,reset:Ne,containerRef:V,inputRef:O}}}),_hoisted_1$z={class:"user-selector-layout"},_hoisted_2$l=["data-placeholder"],_hoisted_3$d=["onMousedown","onMouseup","onMouseenter","onMouseleave"],_hoisted_4$d={class:"user-selector-selected-value"},_hoisted_5$a=["onClick"],_hoisted_6$5={key:1,class:"user-selector user-selector-info"};function _sfc_render(e,t,n,o,a,s){const i=vue.resolveComponent("render-tag"),r=vue.resolveComponent("render-avatar");return e.isSelector?(vue.openBlock(),vue.createElementBlock("div",vue.mergeProps({key:0,class:"user-selector"},e.$attrs,{style:{height:e.fixedHeight?e.selectorHeight+"px":"auto"},onMousedown:t[10]||(t[10]=l=>e.shouldUpdate=!1),onClick:t[11]||(t[11]=(...l)=>e.focus&&e.focus(...l))}),[vue.createElementVNode("div",_hoisted_1$z,[vue.createElementVNode("div",{class:vue.normalizeClass(["user-selector-container",{focus:e.isFocus,disabled:e.disabled,placeholder:!e.localValue.length&&!e.isFocus,"is-fast-clear":e.fastClear,"has-avatar":e.tagType==="avatar","is-loading":e.loading,"is-flex-height":!e.fixedHeight}]),ref:"containerRef",style:vue.normalizeStyle(e.containerStyle),"data-placeholder":e.placeholder,onMousewheel:t[8]||(t[8]=(...l)=>e.handleContainerScroll&&e.handleContainerScroll(...l))},[e.multiple||!e.isFocus?(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:0},vue.renderList(e.localValueUsers,(l,c)=>(vue.openBlock(),vue.createElementBlock("span",{class:"user-selector-selected",key:l.username,onClick:t[2]||(t[2]=vue.withModifiers(()=>{},["stop"])),onMousedown:vue.withModifiers(u=>e.handleSelectedMousedown(u,c),["left","stop"]),onMouseup:vue.withModifiers(u=>e.handleSelectedMouseup(u,c),["left","stop"]),onMouseenter:u=>e.handleSelectedMouseenter(u,l),onMouseleave:u=>e.handleSelectedMouseleave(u,l)},[e.renderTag?(vue.openBlock(),vue.createBlock(i,{key:0,user:l,username:l.username,index:c},null,8,["user","username","index"])):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[e.tagType==="avatar"?(vue.openBlock(),vue.createBlock(r,{key:0,class:"user-selector-selected-avatar",user:l,"url-method":e.avatarUrl},null,8,["user","url-method"])):vue.createCommentVNode("",!0),vue.createElementVNode("span",_hoisted_4$d,vue.toDisplayString(e.getDisplayText(l)),1)],64)),e.tagClearable&&e.tagType==="tag"?(vue.openBlock(),vue.createElementBlock("i",{key:2,class:"user-selector-selected-clear bk-biz-components-icon bk-biz-icon-close",onMouseup:t[0]||(t[0]=vue.withModifiers(()=>{},["left","stop"])),onMousedown:t[1]||(t[1]=vue.withModifiers((...u)=>e.handleRemoveMouseDown&&e.handleRemoveMouseDown(...u),["left","stop"])),onClick:vue.withModifiers(u=>e.handleRemoveSelected(l,c),["stop","prevent"])},null,40,_hoisted_5$a)):vue.createCommentVNode("",!0)],40,_hoisted_3$d))),128)):vue.createCommentVNode("",!0),vue.withDirectives(vue.createElementVNode("span",{ref:"inputRef",class:"user-selector-input",spellcheck:"false",contenteditable:"",onClick:t[3]||(t[3]=vue.withModifiers(()=>{},["stop"])),onInput:t[4]||(t[4]=l=>e.handleInput(l)),onBlur:t[5]||(t[5]=(...l)=>e.handleBlur&&e.handleBlur(...l)),onPaste:t[6]||(t[6]=vue.withModifiers(l=>e.handlePaste(l),["prevent","stop"])),onKeydown:t[7]||(t[7]=l=>e.handleKeydown(l))},null,544),[[vue.vShow,e.isFocus]])],46,_hoisted_2$l),e.fastClear&&!e.disabled&&e.localValue.length?(vue.openBlock(),vue.createElementBlock("i",{key:0,class:"user-selector-clear bk-biz-components-icon bk-biz-icon-close-circle-shape",onClick:t[9]||(t[9]=vue.withModifiers((...l)=>e.handleFastClear&&e.handleFastClear(...l),["stop"]))})):vue.createCommentVNode("",!0)])],16)):(vue.openBlock(),vue.createElementBlock("span",_hoisted_6$5,vue.toDisplayString(e.userInfo),1))}const UserSelector=_export_sfc(_sfc_main$B,[["render",_sfc_render]]),_sfc_main$A=vue.defineComponent({__name:"index",props:{modelValue:{},multiple:{type:Boolean,default:!0},placeholder:{default:""},disabled:{type:Boolean,default:!1},fetchUserApi:{default:""}},emits:["update:modelValue","change"],setup(e,{emit:t}){const n=e,o=t,a=vue.ref([]);vue.watch(()=>n.modelValue,()=>{a.value=[...n.modelValue]});const s=i=>{o("update:modelValue",i.slice()),o("change",i.slice())};return(i,r)=>(vue.openBlock(),vue.createBlock(vue.unref(UserSelector),{modelValue:n.modelValue,"onUpdate:modelValue":r[0]||(r[0]=l=>n.modelValue=l),api:n.fetchUserApi,"fix-height":!0,multiple:n.multiple,placeholder:n.placeholder,disabled:n.disabled,onChange:s},null,8,["modelValue","api","multiple","placeholder","disabled"]))}}),_hoisted_1$y={class:"notify-type-wrapper"},_hoisted_2$k={key:1},_sfc_main$z=vue.defineComponent({__name:"notify-config-forms",props:{config:{},editable:{type:Boolean,default:!0},fetchUserApi:{default:""}},emits:["change"],setup(e,{emit:t}){const n=[{label:"任务状态"},{label:"微信",type:"weixin",icon:WeixinIcon},{label:"企业微信",type:"rtx",icon:RtxIcon},{label:"邮件",type:"mail",icon:MailIcon},{label:"短信",type:"sms",icon:SmsIcon},{label:"语音",type:"voice",icon:VoiceIcon}],o=e,a=t,s=[[],[]],i=vue.ref([]),r=vue.ref([]),l=vue.ref([]);vue.watch(()=>o.config,()=>{const{notify_type:m,notify_receivers:p}=o.config;i.value=[...m.success],r.value=[...m.fail],l.value=p.more_receiver?p.more_receiver.split(","):[]},{immediate:!0});const c=m=>{const p=n[m];return p.type?vue.createVNode("div",{class:"notify-table-header"},[vue.createVNode("img",{class:"notify-icon",src:p.icon},null),vue.createVNode("p",{class:"label-text"},[p.label])]):vue.createVNode("p",{class:"label-text"},[p.label])},u=(m,p)=>m===0?i.value.includes(p):r.value.includes(p),v=(m,p,h)=>{const f=m===0?i.value:r.value;if(h)f.includes(p)||f.push(p);else{const y=f.findIndex(g=>g===p);y>-1&&f.splice(y,1)}_()},_=()=>{a("change",{notify_type:{success:i.value,fail:r.value},notify_receivers:{more_receiver:l.value.join(","),receiver_group:[]}})};return(m,p)=>{const h=vue.resolveComponent("bk-switcher"),f=vue.resolveComponent("bk-table-column"),y=vue.resolveComponent("bk-table"),g=vue.resolveComponent("bk-form-item");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$y,[vue.createVNode(g,{label:"通知方式"},{default:vue.withCtx(()=>[vue.createVNode(y,{class:"notify-type-table",data:s,border:["outer"]},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(n,w=>vue.createVNode(f,{key:w.type,label:c},{default:vue.withCtx(({index:d})=>[w.type?(vue.openBlock(),vue.createBlock(h,{key:0,size:"small",theme:"primary",disabled:!o.editable,value:u(d,w.type),onChange:k=>v(d,w.type,k)},null,8,["disabled","value","onChange"])):(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$k,vue.toDisplayString(d===0?"成功":"失败"),1))]),_:2},1024)),64))]),_:1})]),_:1}),vue.createVNode(g,{label:"通知人"},{default:vue.withCtx(()=>[vue.createVNode(_sfc_main$A,{modelValue:l.value,"onUpdate:modelValue":p[0]||(p[0]=w=>l.value=w),class:"receivers-selector",placeholder:"请选择通知人","fetch-user-api":o.fetchUserApi,disabled:!o.editable,onChange:_},null,8,["modelValue","fetch-user-api","disabled"])]),_:1})])}}}),NotifyConfigForms=_export_sfc(_sfc_main$z,[["__scopeId","data-v-9ca32fa9"]]),_hoisted_1$x={class:"template-settings"},_sfc_main$y=vue.defineComponent({__name:"index",props:{settings:{},editable:{type:Boolean,default:!0},fetchUserApi:{default:""}},emits:["change"],setup(e,{expose:t,emit:n}){const o=e,a=n,s=vue.ref(lodash.cloneDeep(o.settings)),i=vue.ref(),r={name:[{required:!0,message:"请输入流程名称"}]};vue.watch(()=>o.settings,v=>{s.value=lodash.cloneDeep(v)});const l=v=>{s.value.notify_config=v,u()},c=()=>i.value.validate().then(()=>!0).catch(()=>!1),u=()=>{a("change",s.value)};return t({validate:c}),(v,_)=>{const m=vue.resolveComponent("bk-input"),p=vue.resolveComponent("bk-form-item"),h=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$x,[vue.createVNode(h,{ref_key:"formRef",ref:i,"label-width":140,model:s.value,rules:r},{default:vue.withCtx(()=>[vue.createVNode(SectionContainer,{title:"基础"},{default:vue.withCtx(()=>[vue.createVNode(p,{label:"流程名称",property:"name",required:!0},{default:vue.withCtx(()=>[vue.createVNode(m,{modelValue:s.value.name,"onUpdate:modelValue":_[0]||(_[0]=f=>s.value.name=f),"show-word-limit":"",maxlength:50,disabled:!o.editable,onChange:u},null,8,["modelValue","disabled"])]),_:1})]),_:1}),vue.createVNode(SectionContainer,{title:"通知",desc:"选择通知方式后,将默认通知到任务执行人"},{default:vue.withCtx(()=>[vue.createVNode(NotifyConfigForms,{config:s.value.notify_config,editable:o.editable,"fetch-user-api":o.fetchUserApi,onChange:l},null,8,["config","editable","fetch-user-api"])]),_:1}),vue.createVNode(SectionContainer,{title:"其他"},{default:vue.withCtx(()=>[vue.createVNode(p,{label:"备注"},{default:vue.withCtx(()=>[vue.createVNode(m,{modelValue:s.value.desc,"onUpdate:modelValue":_[1]||(_[1]=f=>s.value.desc=f),type:"textarea",placeholder:"请输入流程模板备注信息",rows:5,resize:!1,disabled:!o.editable,onChange:u},null,8,["modelValue","disabled"])]),_:1})]),_:1})]),_:1},8,["model"])])}}}),Settings=_export_sfc(_sfc_main$y,[["__scopeId","data-v-7141b698"]]),_hoisted_1$w={class:"basic-setting-slider"},_hoisted_2$j={class:"sideslider-footer-buttons"},_sfc_main$x=vue.defineComponent({__name:"index",props:{editable:{type:Boolean,default:!0},show:{type:Boolean},settings:{},fetchUserApi:{default:""}},emits:["change","close","update:show"],setup(e,{emit:t}){const n=e,o=t,a=vue.ref(lodash.cloneDeep(n.settings)),s=vue.ref();vue.watch(()=>n.settings,c=>{a.value=lodash.cloneDeep(c)});const i=c=>{a.value=c},r=async()=>{await s.value?.validate()&&(o("change",a.value),l())},l=()=>{o("close"),o("update:show",!1)};return(c,u)=>{const v=vue.resolveComponent("bk-button"),_=vue.resolveComponent("bk-sideslider");return vue.openBlock(),vue.createBlock(_,{title:"基础信息","is-show":n.show,width:800,"quick-close":!n.editable,"esc-close":!1,"before-close":l},{footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$j,[n.editable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(v,{theme:"primary",onClick:r},{default:vue.withCtx(()=>[...u[0]||(u[0]=[vue.createTextVNode("确定",-1)])]),_:1}),vue.createVNode(v,{onClick:l},{default:vue.withCtx(()=>[...u[1]||(u[1]=[vue.createTextVNode("取消",-1)])]),_:1})],64)):(vue.openBlock(),vue.createBlock(v,{key:1,theme:"primary",onClick:l},{default:vue.withCtx(()=>[...u[2]||(u[2]=[vue.createTextVNode("关闭",-1)])]),_:1}))])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$w,[vue.createVNode(Settings,{ref_key:"templateSettingsRef",ref:s,settings:a.value,editable:n.editable,"fetch-user-api":n.fetchUserApi,onChange:i},null,8,["settings","editable","fetch-user-api"])])]),_:1},8,["is-show","quick-close"])}}}),BasicSetting=_export_sfc(_sfc_main$x,[["__scopeId","data-v-e2a7edd9"]]);function setupMonacoEnvironment(){if(typeof self>"u")return;const e=self;e.MonacoEnvironment||(e.MonacoEnvironment={getWorker(t,n){const a={json:"monaco-editor/esm/vs/language/json/json.worker.js",css:"monaco-editor/esm/vs/language/css/css.worker.js",scss:"monaco-editor/esm/vs/language/css/css.worker.js",less:"monaco-editor/esm/vs/language/css/css.worker.js",html:"monaco-editor/esm/vs/language/html/html.worker.js",handlebars:"monaco-editor/esm/vs/language/html/html.worker.js",razor:"monaco-editor/esm/vs/language/html/html.worker.js",typescript:"monaco-editor/esm/vs/language/typescript/ts.worker.js",javascript:"monaco-editor/esm/vs/language/typescript/ts.worker.js"}[n]||"monaco-editor/esm/vs/editor/editor.worker.js";return new Worker(a,{type:"module"})}})}setupMonacoEnvironment();const _hoisted_1$v={class:"editor-header"},_sfc_main$w=vue.defineComponent({__name:"index",props:{modelValue:{},options:{}},emits:["update:modelValue","change","blur","save"],setup(e,{emit:t}){setupMonacoEnvironment();const n={language:"javascript",theme:"vs-dark",automaticLayout:!0,minimap:{enabled:!1},wordWrap:"on",wrappingIndent:"same"},o=e,a=t,s=vue.ref(),i=vue.shallowRef(),r=vue.shallowRef(!1);vue.watch(()=>o.modelValue,p=>{const h=i.value?.getValue();p!==h&&i.value?.setValue(p)}),vue.watch(()=>o.options,p=>{i.value?.updateOptions({...n,...p})},{deep:!0}),vue.onMounted(()=>{l()}),vue.onBeforeUnmount(()=>{i.value&&i.value.dispose()});const l=()=>{i.value=monaco__namespace.editor.create(s.value,{...n,...o.options,value:o.modelValue});const p=i.value.getModel();if(p&&(p.setEOL(0),p.onDidChangeContent(()=>{const h=i.value?.getValue();m(h)})),o.modelValue.indexOf(`\r
|
|
51
|
-
`)>-1){const h=document.createElement("textarea");h.value=o.modelValue,m(h.value)}i.value.onDidBlurEditorText(()=>{a("blur")}),i.value.addCommand(monaco__namespace.KeyMod.CtrlCmd|monaco__namespace.KeyCode.KeyS,()=>{const h=i.value?.getValue();a("save",h)})},c=()=>{const p=document.createElement("textarea");p.value=i.value.getValue(),document.body.appendChild(p),p.select(),document.execCommand("copy"),document.body.removeChild(p),BkMessage({theme:"success",message:"复制成功"})},u=()=>{r.value=!0,window.addEventListener("keydown",_,{once:!0}),BkMessage({theme:"primary",message:"按 Esc 即可退出全屏模式"})},v=()=>{r.value=!1,window.removeEventListener("keydown",_)},_=p=>{p.code==="Escape"&&(r.value=!1)},m=p=>{a("update:modelValue",p),a("change",p)};return(p,h)=>{const f=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createBlock(vue.Teleport,{disabled:!r.value,to:"body"},[vue.createElementVNode("div",{class:vue.normalizeClass(["bkflow-code-editor",{fullscreen:r.value}])},[vue.createElementVNode("div",_hoisted_1$v,[vue.withDirectives(vue.createVNode(vue.unref(icon.Copy),{class:"copy-icon",onClick:c},null,512),[[f,{content:"复制",placement:"top",distance:20}]]),r.value?vue.withDirectives((vue.openBlock(),vue.createBlock(vue.unref(icon.UnfullScreen),{key:1,class:"fullscreen-icon",onClick:v},null,512)),[[f,{content:"退出全屏",placement:"top",distance:20}]]):vue.withDirectives((vue.openBlock(),vue.createBlock(vue.unref(icon.FilliscreenLine),{key:0,class:"fullscreen-icon",onClick:u},null,512)),[[f,{content:"全屏",placement:"top",distance:20}]])]),vue.createElementVNode("div",{ref_key:"monacoContainerRef",ref:s,class:"editor-instance-container"},null,512)],2)],8,["disabled"])}}}),CodeEditor=_export_sfc(_sfc_main$w,[["__scopeId","data-v-67af4661"]]),_hoisted_1$u={class:"pipeline-tree-code"},_sfc_main$v=vue.defineComponent({__name:"pipeline-tree-code",props:{pipelineTree:{}},setup(e){const t=e,n=vue.computed(()=>JSON.stringify(t.pipelineTree,null,4)),o=vue.ref({readOnly:!0,language:"json"});return(a,s)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$u,[vue.createVNode(CodeEditor,{modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=i=>n.value=i),options:o.value},null,8,["modelValue","options"])]))}}),PipelineTreeCode=_export_sfc(_sfc_main$v,[["__scopeId","data-v-3b34a5ab"]]),_hoisted_1$t={class:"pipeline-tree-code-slider"},_hoisted_2$i={class:"sideslider-footer-buttons"},_sfc_main$u=vue.defineComponent({__name:"index",props:{show:{type:Boolean},pipelineTree:{},editable:{type:Boolean,default:!0}},emits:["close","update:show"],setup(e,{emit:t}){const n=e,o=t,a=()=>{o("close"),o("update:show",!1)};return(s,i)=>{const r=vue.resolveComponent("bk-button"),l=vue.resolveComponent("bk-sideslider");return vue.openBlock(),vue.createBlock(l,{title:"Code","is-show":n.show,width:800,"esc-close":!1,"before-close":a},{footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$i,[vue.createVNode(r,{theme:"primary",onClick:a},{default:vue.withCtx(()=>[...i[0]||(i[0]=[vue.createTextVNode("关闭",-1)])]),_:1})])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$t,[n.show?(vue.openBlock(),vue.createBlock(PipelineTreeCode,{key:0,"pipeline-tree":n.pipelineTree},null,8,["pipeline-tree"])):vue.createCommentVNode("",!0)])]),_:1},8,["is-show"])}}}),CanvasPipelineTree=_export_sfc(_sfc_main$u,[["__scopeId","data-v-8fcc9638"]]),_hoisted_1$s={class:"flow-info-sliders"},_hoisted_2$h={class:"icons"},_sfc_main$t=vue.defineComponent({__name:"index",props:{flowData:{},systemVariables:{default:()=>[]},editable:{type:Boolean,default:!0},fetchUserApi:{default:""}},emits:["change"],setup(e,{expose:t,emit:n}){const o=e;useFlowApiConfig();const a=n,s=vue.ref(!1),i=vue.ref(!1),r=vue.ref({show:!1,settings:{name:"",desc:"",notify_config:{notify_type:{success:[],fail:[]},notify_receivers:{more_receiver:"",receiver_group:[]}}}}),l=vue.ref(!1),c=()=>{const{name:m,desc:p,notify_config:h}=o.flowData,{notify_type:f={success:[],fail:[]},notify_receivers:y={more_receiver:"",receiver_group:[]}}=h;r.value={show:!0,settings:{name:m,desc:p,notify_config:{notify_type:f,notify_receivers:y}}}},u=m=>{r.value.settings=m,a("change",{...o.flowData,...m})},v=m=>{const p={...o.flowData.pipeline_tree,constants:m};a("change",{...o.flowData,pipeline_tree:p})},_=(m,p)=>{const h=[...o.flowData.pipeline_tree.outputs],f=h.indexOf(m);p?f===-1&&h.push(m):f>-1&&h.splice(f,1);const y={...o.flowData.pipeline_tree,outputs:h};a("change",{...o.flowData,pipeline_tree:y})};return t({openBasicSetting:c}),(m,p)=>{const h=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$s,[vue.createElementVNode("span",_hoisted_2$h,[vue.withDirectives(vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-caozuojilu",onClick:p[0]||(p[0]=f=>s.value=!0)},null,512),[[h,"操作记录"]]),vue.withDirectives(vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-quanjubianliang",onClick:p[1]||(p[1]=f=>i.value=!0)},null,512),[[h,"全局变量"]]),vue.withDirectives(vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-jichuxinxi",onClick:c},null,512),[[h,"基础信息"]]),vue.withDirectives(vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-code",onClick:p[2]||(p[2]=f=>l.value=!0)},null,512),[[h,"Code"]])]),vue.createVNode(OperateRecords,{show:s.value,"onUpdate:show":p[3]||(p[3]=f=>s.value=f),"flow-id":o.flowData.id},null,8,["show","flow-id"]),vue.createVNode(GlobalVariables,{show:i.value,"onUpdate:show":p[4]||(p[4]=f=>i.value=f),"flow-data":o.flowData,"system-variables":o.systemVariables,editable:o.editable,onOutputChange:_,onChange:v},null,8,["show","flow-data","system-variables","editable"]),vue.createVNode(BasicSetting,{show:r.value.show,"onUpdate:show":p[5]||(p[5]=f=>r.value.show=f),settings:r.value.settings,editable:o.editable,"fetch-user-api":o.fetchUserApi,onChange:u},null,8,["show","settings","editable","fetch-user-api"]),vue.createVNode(CanvasPipelineTree,{show:l.value,"onUpdate:show":p[6]||(p[6]=f=>l.value=f),"pipeline-tree":o.flowData.pipeline_tree,editable:o.editable},null,8,["show","pipeline-tree","editable"])])}}}),FlowInfoSliders=_export_sfc(_sfc_main$t,[["__scopeId","data-v-2085d8e3"]]),_hoisted_1$r={class:"expression-guidance"},_sfc_main$s=vue.defineComponent({__name:"expression-guidance",props:{parseLang:{default:"boolrule"}},setup(e){const t=e;return(n,o)=>{const a=vue.resolveComponent("bk-link");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$r,[t.parseLang==="MAKO"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[o[0]||(o[0]=vue.createStaticVNode('<p data-v-dd71ced7>makoOperates</p><p data-v-dd71ced7>支持 "and、or、not、True、False" 等 MAKO 关键字语法</p><br data-v-dd71ced7><p data-v-dd71ced7>支持直接引用全局变量</p><p data-v-dd71ced7>使用内置函数、datetime、re、hashlib、random、time、os.path模块处理全局变量</p><br data-v-dd71ced7><p data-v-dd71ced7>示例:</p><p data-v-dd71ced7>假设 key 是值为 "3" 的全局变量</p><p data-v-dd71ced7>字符串比较:<code class="code" data-v-dd71ced7>key == "3"</code></p><p data-v-dd71ced7>数值比较:<code class="code" data-v-dd71ced7>int(key) >= 3</code></p><p data-v-dd71ced7>包含:<code class="code" data-v-dd71ced7>int(key) in (1,2,3)</code></p>',11))],64)):t.parseLang==="FEEL"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[o[1]||(o[1]=vue.createStaticVNode('<p data-v-dd71ced7>feelOperates</p><p data-v-dd71ced7>支持 "and、or、true、false" 等关键字语法</p><p data-v-dd71ced7>支持 FEEL (Friendly Enough Expression Language) 基础语法</p><br data-v-dd71ced7><p data-v-dd71ced7>支持使用全局变量,如<code class="code" data-v-dd71ced7>${key}</code>、<code class="code" data-v-dd71ced7>${int(key)}</code></p><p data-v-dd71ced7>${}中支持使用内置函数、datetime、re、hashlib、random、time、os.path模块处理全局变量</p><br data-v-dd71ced7><p data-v-dd71ced7>示例:</p><p data-v-dd71ced7>字符串比较:<code class="code" data-v-dd71ced7>"${key}" = "my string"</code></p><p data-v-dd71ced7>数值比较:<code class="code" data-v-dd71ced7>${int(key)} >= 3</code></p><p data-v-dd71ced7>包含:<code class="code" data-v-dd71ced7>list contains([1, 2, 3], ${int(key)})</code></p>',11))],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:2},[o[4]||(o[4]=vue.createElementVNode("p",null,"makoOperates",-1)),o[5]||(o[5]=vue.createElementVNode("p",null,'支持 "and、or、True/true、False/false" 等关键字语法',-1)),vue.createElementVNode("p",null,[o[3]||(o[3]=vue.createTextVNode(" 表达式更多细节请参考 ",-1)),vue.createVNode(a,{theme:"primary",href:"https://boolrule.readthedocs.io/en/latest/expressions.html#basic-comparison-operators",target:"_blank"},{default:vue.withCtx(()=>[...o[2]||(o[2]=[vue.createTextVNode(" 'boolrule' ",-1)])]),_:1})]),o[6]||(o[6]=vue.createStaticVNode('<br data-v-dd71ced7><p data-v-dd71ced7>支持使用全局变量,如<code class="code" data-v-dd71ced7>${key}</code>、<code class="code" data-v-dd71ced7>${int(key)}</code></p><p data-v-dd71ced7>支持使用内置函数、datetime、re、hashlib、random、time、os.path模块处理全局变量</p><br data-v-dd71ced7><p data-v-dd71ced7>示例:</p><p data-v-dd71ced7>字符串比较:<code class="code" data-v-dd71ced7>"${key}" == "my string"</code></p><p data-v-dd71ced7>数值比较:<code class="code" data-v-dd71ced7>${int(key)} >= 3</code></p><p data-v-dd71ced7>包含:<code class="code" data-v-dd71ced7>${key} in (1,2,3)</code></p>',8))],64))])}}}),ExpressionGuidance=_export_sfc(_sfc_main$s,[["__scopeId","data-v-dd71ced7"]]),_hoisted_1$q={class:"bkflow-branch-condition"},_hoisted_2$g={class:"expression-value-editor"},_sfc_main$r=vue.defineComponent({__name:"index",props:{condition:{},isDefault:{type:Boolean},hasDefaultBranch:{type:Boolean,default:!0},editable:{type:Boolean,default:!0}},emits:["change"],setup(e,{expose:t,emit:n}){const o=e,a=n,s=vue.ref({...o.condition}),i=vue.shallowRef(o.isDefault),r=vue.ref(),l={name:[{required:!0,message:"请输入分支名称"}],evaluate:[{required:!0,message:"请输入表达式"}]};vue.watch(()=>o.condition,_=>{s.value={..._}}),vue.watch(()=>o.isDefault,_=>{i.value=_});const c=()=>{"evaluate"in s.value||(s.value.evaluate="")},u=()=>{a("change",{...s.value},i.value)};return t({validate:()=>r.value.validate().then(()=>!0).catch(()=>!1)}),(_,m)=>{const p=vue.resolveComponent("bk-input"),h=vue.resolveComponent("bk-form-item"),f=vue.resolveComponent("bk-radio"),y=vue.resolveComponent("bk-radio-group"),g=vue.resolveComponent("bk-form"),w=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$q,[vue.createVNode(g,{ref_key:"formRef",ref:r,"form-type":"vertical",model:s.value,rules:l},{default:vue.withCtx(()=>[vue.createVNode(h,{label:"分支名称",property:"name",required:!0},{default:vue.withCtx(()=>[vue.createVNode(p,{modelValue:s.value.name,"onUpdate:modelValue":m[0]||(m[0]=d=>s.value.name=d),disabled:!o.editable,onChange:u},null,8,["modelValue","disabled"])]),_:1}),vue.createVNode(h,{label:"分支类型",required:!0},{default:vue.withCtx(()=>[vue.createVNode(y,{modelValue:i.value,"onUpdate:modelValue":m[1]||(m[1]=d=>i.value=d),onChange:c},{default:vue.withCtx(()=>[vue.createVNode(f,{label:!1,disabled:!o.editable},{default:vue.withCtx(()=>[...m[3]||(m[3]=[vue.createTextVNode("自定义分支",-1)])]),_:1},8,["disabled"]),vue.createVNode(f,{label:!0,disabled:!o.editable||o.hasDefaultBranch&&!o.isDefault},{default:vue.withCtx(()=>[m[4]||(m[4]=vue.createTextVNode(" 默认分支 ",-1)),vue.withDirectives(vue.createVNode(vue.unref(icon.Info),{class:"radio-tips"},null,512),[[w,{content:"所有分支均不匹配时执行,类似switch-case-default里面的default",width:216,placement:"top"}]])]),_:1},8,["disabled"])]),_:1},8,["modelValue"])]),_:1}),i.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(h,{key:0,label:"表达式",property:"evaluate",required:!0},{default:vue.withCtx(()=>[vue.createVNode(ExpressionGuidance),vue.createElementVNode("div",_hoisted_2$g,[vue.createVNode(CodeEditor,{modelValue:s.value.evaluate,"onUpdate:modelValue":m[2]||(m[2]=d=>s.value.evaluate=d),options:{readOnly:!o.editable},onChange:u},null,8,["modelValue","options"])])]),_:1}))]),_:1},8,["model"])])}}}),BranchCondition=_export_sfc(_sfc_main$r,[["__scopeId","data-v-83ccbcd3"]]),_hoisted_1$p={class:"branch-condition-slider"},_hoisted_2$f={class:"sideslider-footer-buttons"},_sfc_main$q=vue.defineComponent({__name:"index",props:{show:{type:Boolean},condition:{},hasDefaultBranch:{type:Boolean,default:!0},isDefault:{type:Boolean},editable:{type:Boolean,default:!0}},emits:["close","update:show","confirm"],setup(e,{emit:t}){const n=e,o=t,a=vue.shallowRef({...n.condition}),s=vue.shallowRef(n.isDefault),i=vue.shallowRef();vue.watch(()=>n.show,u=>{u&&(a.value={...n.condition},s.value=n.isDefault)});const r=(u,v)=>{a.value=u,s.value=v},l=async()=>{await i.value?.validate()&&(o("confirm",a.value,s.value),c())},c=()=>{o("close"),o("update:show",!1)};return(u,v)=>{const _=vue.resolveComponent("bk-button"),m=vue.resolveComponent("bk-sideslider");return vue.openBlock(),vue.createBlock(m,{title:"分支条件","is-show":n.show,width:800,"esc-close":!1,"before-close":c},{footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$f,[n.editable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(_,{theme:"primary",onClick:l},{default:vue.withCtx(()=>[...v[0]||(v[0]=[vue.createTextVNode("确定",-1)])]),_:1}),vue.createVNode(_,{onClick:c},{default:vue.withCtx(()=>[...v[1]||(v[1]=[vue.createTextVNode("取消",-1)])]),_:1})],64)):(vue.openBlock(),vue.createBlock(_,{key:1,theme:"primary",onClick:c},{default:vue.withCtx(()=>[...v[2]||(v[2]=[vue.createTextVNode("关闭",-1)])]),_:1}))])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$p,[vue.createVNode(BranchCondition,{ref_key:"branchConditionRef",ref:i,condition:a.value,"has-default-branch":n.hasDefaultBranch,"is-default":s.value,editable:n.editable,onChange:r},null,8,["condition","has-default-branch","is-default","editable"])])]),_:1},8,["is-show"])}}}),BranchConditionPanel=_export_sfc(_sfc_main$q,[["__scopeId","data-v-c257ae64"]]),data$1={output:[{name:"Trace ID",key:"trace_id",type:"string",schema:{type:"string",description:"Trace ID",enum:[]}},{name:"执行结果",key:"_result",type:"boolean",schema:{type:"boolean",description:"执行结果的布尔值,True or False",enum:[]}},{name:"循环次数",key:"_loop",type:"int",schema:{type:"int",description:"循环执行次数",enum:[]}},{name:"当前流程循环次数",key:"_inner_loop",type:"int",schema:{type:"int",description:"在当前流程节点循环执行次数,由父流程重新进入时会重置(仅支持新版引擎)",enum:[]}}]},remoteApiCommonConfig={data:data$1},data={output:[{name:"响应内容",key:"data",type:"object",schema:{type:"object",description:"HTTP 请求响应内容,内部结构不固定",enum:[],properties:{}}},{name:"状态码",key:"status_code",type:"int",schema:{type:"int",description:"HTTP 请求响应状态码",enum:[]}},{name:"执行结果",key:"_result",type:"boolean",schema:{type:"boolean",description:"执行结果的布尔值,True or False",enum:[]}},{name:"循环次数",key:"_loop",type:"int",schema:{type:"int",description:"循环执行次数",enum:[]}},{name:"当前流程循环次数",key:"_inner_loop",type:"int",schema:{type:"int",description:"在当前流程节点循环执行次数,由父流程重新进入时会重置(仅支持新版引擎)",enum:[]}}]},uniformApiCommonConfig={data};function jsonpRequest(e,t={},n={},o=""){return new Promise((a,s)=>{let i;const r={},l={atoms:r},c=h=>h,u=window.$,v=window.gettext;window.$=l,window.gettext=c;const _=document.createElement("script"),m=()=>{u!==void 0?window.$=u:delete window.$,v!==void 0?window.gettext=v:delete window.gettext,_.parentNode&&document.body.removeChild(_)};_.onload=()=>{m(),i&&clearTimeout(i);const h=o?r[o]:r;h?a(h):s(new Error(`Failed to extract plugin data from response. Plugin code: ${o}`))},_.onerror=()=>{m(),i&&clearTimeout(i),s(new Error("JSONP request failed"))};const p=[];for(const h in t)Object.prototype.hasOwnProperty.call(t,h)&&p.push(`${encodeURIComponent(h)}=${encodeURIComponent(t[h])}`);_.src=`${e}${p.length>0?"?"+p.join("&"):""}`,n.timeout&&(i=setTimeout(()=>{m(),s(new Error("JSONP request timeout"))},n.timeout)),document.body.appendChild(_)})}const pluginDetailRequest=async(e,t)=>{const{code:n,version:o,api_meta:a,data:s}=t;if(!n||!o)throw new Error("Plugin code and version are required for inner plugin");if(n==="remote_plugin"){const i=s?.plugin_code?.value,r=s?.plugin_version?.value||"";if(!i)throw new Error("Third party plugin code is required");return await getThirdPartyPluginDetail(e,i,r)}return n==="uniform_api"&&a?.id?await getUniformApiPlugin(e,a.id):await getInnerPluginDetail(e,n,o)};async function getInnerPluginDetail(e,t,n){if(!e?.fetchBkFlowInnerPluginDetail)throw new Error("fetchBkFlowInnerPluginDetail API is not available");const o=await e.fetchBkFlowInnerPluginDetail(t,n),{name:a,desc:s,form:i,output:r}=o;if(!i)throw new Error("Plugin form URL is not available");let l=[];try{l=await jsonpRequest(i,{},{timeout:1e4},t)}catch{throw new Error("Failed to fetch plugin form data")}const c=r.map(u=>({description:u.schema?.description,key:u.key,type:u.type||u.schema?.type,name:u.name}));return{code:t,version:n,name:a,desc:s,versions:[n],inputs:l,outputs:c,inputParamsFormType:"renderform"}}async function getThirdPartyPluginDetail(api,pluginCode,pluginVersion){if(!api?.fetchBkFlowThirdPartyPluginMeta||!api?.fetchBkFlowThirdPartyPluginDetail)throw new Error("Third party plugin APIs are not available");const[metaData,appData]=await Promise.all([api.fetchBkFlowThirdPartyPluginMeta(pluginCode),api.fetchBkFlowThirdPartyPluginAppDetail(pluginCode)]),version=pluginVersion||metaData.versions[0],detailData=await api.fetchBkFlowThirdPartyPluginDetail(pluginCode,version),{inputs,outputs,forms,desc}=detailData;let inputForms,inputParamsFormType="jsonschemaform";forms.renderform?("$"in window||(window.$={atoms:{}},window.gettext=e=>e),eval(forms.renderform),inputForms=window.$.atoms[pluginCode],inputParamsFormType="renderform"):inputForms=inputs;const outputForms=[];return remoteApiCommonConfig.data.output.forEach(e=>{outputForms.push({description:e.schema.description,key:e.key,type:e.type,name:e.name})}),outputs.properties&&Object.keys(outputs.properties).forEach(e=>{outputForms.push({description:outputs.properties[e].description,key:e,type:outputs.properties[e].type,name:outputs.properties[e].title})}),{code:pluginCode,version,name:appData.name,desc,versions:metaData.versions,inputs:inputForms,outputs:outputForms,inputParamsFormType}}async function getUniformApiPlugin(e,t){if(!e?.fetchPluginDetail)throw new Error("fetchPluginDetail API is not available");const n=await e.fetchPluginDetail(t),{inputs:o,url:a,methods:s}=n;return{code:"uniform_api",name:n.name,desc:"",version:"",inputs:o,outputs:uniformApiCommonConfig.data.output.map(i=>({description:i.schema.description,key:i.key,type:i.type,name:i.name})),inputParamsFormType:"uniformApiForm",url:a||"",methods:Array.isArray(s)?s:[],category:n.category,uniformApiName:n.name}}const getUniformApiPluginFormValue=e=>"default"in e?e.default:"",getPluginDefaultData=(e,t)=>{const{url:n,methods:o,inputs:a}=t,s={};return e==="uniform_api"?(s.uniform_api_plugin_url={value:n||"",hook:!1},s.uniform_api_plugin_method={value:o&&o.length>0?o[0]:"",hook:!1},a.forEach(i=>{s[i.key]={value:getUniformApiPluginFormValue(i),need_render:!0,hook:!1}})):e==="remote_plugin"&&(s.plugin_code={value:t.code,hook:!1},s.plugin_version={value:t.version,hook:!1}),s},_hoisted_1$o={class:"node-config-basic-info"},_hoisted_2$e={class:"plugin-select"},_hoisted_3$c={class:"error-handler-options"},_hoisted_4$c={class:"auto-retry-forms"},_hoisted_5$9={class:"timeout-config-forms"},_hoisted_6$4={class:"timeout-input"},_sfc_main$p=vue.defineComponent({__name:"basic-info",props:{node:{},editable:{type:Boolean,default:!0},pluginType:{},pluginDetail:{}},emits:["change","selectPlugin"],setup(e,{expose:t,emit:n}){const o=e,a=n,s=vue.ref(),i=vue.ref(lodash.cloneDeep(o.node)),r={},l=vue.computed(()=>o.pluginDetail?.name||o.node.component.code),c=vue.computed(()=>o.pluginType==="remote_plugin"?o.node.component.data?.plugin_version?.value||"":o.node.component.version||""),u=vue.computed(()=>o.pluginDetail?.versions??[]),v=vue.computed(()=>o.node.component.data?.uniform_api_plugin_method?.value||""),_=vue.computed(()=>o.pluginDetail?.methods??[]),m=vue.computed(()=>{const{component:w,name:d}=i.value,{code:k="",version:C="",data:B={}}=w;let D=k==="uniform_api"&&B.uniform_api_plugin_method?.value||"";return{name:d,code:k,version:C,method:D}});vue.watch(()=>o.node,w=>{i.value=lodash.cloneDeep(w)});const p=w=>{i.value.component.data?.uniform_api_plugin_method&&(i.value.component.data.uniform_api_plugin_method.value=w,g())},h=(w,d)=>{d==="auto_retry"?(i.value.retryable=!0,i.value.auto_retry.interval=0,i.value.auto_retry.times=1):(d==="retryable"&&(i.value.auto_retry={enable:!1,interval:0,times:1}),d==="error_ignorable"&&w&&(i.value.skippable=!0,i.value.retryable=!1,i.value.auto_retry={enable:!1,interval:0,times:1})),w&&["auto_retry","error_ignorable"].includes(d)&&(i.value.timeout_config={enable:!1,seconds:10,action:"forced_fail"})},f=w=>{w||(i.value.timeout_config.seconds=10,i.value.timeout_config.action="forced_fail"),g()},y=()=>s.value.validate().then(()=>!0).catch(()=>!1),g=()=>{a("change",i.value)};return t({validate:y}),(w,d)=>{const k=vue.resolveComponent("bk-input"),C=vue.resolveComponent("bk-button"),B=vue.resolveComponent("bk-form-item"),D=vue.resolveComponent("bk-option"),R=vue.resolveComponent("bk-select"),V=vue.resolveComponent("bk-checkbox"),O=vue.resolveComponent("bk-switcher"),Z=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createElementBlock("section",_hoisted_1$o,[vue.createVNode(Z,{ref_key:"formRef",ref:s,model:m.value,rules:r,"label-width":94},{default:vue.withCtx(()=>[vue.createVNode(B,{label:o.pluginType==="uniform_api"?"API":"标准插件",required:"",property:"code"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$e,[o.pluginType==="uniform_api"?(vue.openBlock(),vue.createBlock(k,{key:0,"model-value":o.node.component.api_meta?.alias,readonly:!0},null,8,["model-value"])):(vue.openBlock(),vue.createBlock(k,{key:1,"model-value":l.value,readonly:!0},null,8,["model-value"])),vue.createVNode(C,{outline:"",theme:"primary",disabled:!o.editable,onClick:d[0]||(d[0]=I=>a("selectPlugin"))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(o.node.component.code?"重选":"选择"),1)]),_:1},8,["disabled"])])]),_:1},8,["label"]),o.pluginType==="uniform_api"?(vue.openBlock(),vue.createBlock(B,{key:0,label:"请求方法",required:"",property:"method"},{default:vue.withCtx(()=>[vue.createVNode(R,{"model-value":v.value,clearable:!1,disabled:!o.editable,onChange:p},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(_.value,I=>(vue.openBlock(),vue.createBlock(D,{key:I,id:I,label:I},null,8,["id","label"]))),128))]),_:1},8,["model-value","disabled"])]),_:1})):(vue.openBlock(),vue.createBlock(B,{key:1,label:"插件版本",required:"",property:"version"},{default:vue.withCtx(()=>[vue.createVNode(R,{"model-value":c.value,clearable:!1,disabled:!o.editable,onChange:g},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(u.value,I=>(vue.openBlock(),vue.createBlock(D,{key:I,id:I,label:I},null,8,["id","label"]))),128))]),_:1},8,["model-value","disabled"])]),_:1})),vue.createVNode(B,{label:"节点名称",required:"",property:"name"},{default:vue.withCtx(()=>[vue.createVNode(k,{modelValue:i.value.name,"onUpdate:modelValue":d[1]||(d[1]=I=>i.value.name=I),disabled:!o.editable,onBlur:g},null,8,["modelValue","disabled"])]),_:1}),vue.createVNode(B,{label:"失败处理"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3$c,[vue.createVNode(V,{modelValue:i.value.error_ignorable,"onUpdate:modelValue":d[2]||(d[2]=I=>i.value.error_ignorable=I),disabled:!o.editable||i.value.auto_retry.enable||i.value.timeout_config.enable,onChange:d[3]||(d[3]=I=>h(I,"error_ignorable"))},{default:vue.withCtx(()=>[...d[15]||(d[15]=[vue.createElementVNode("span",{class:"option-flag"},"AS",-1),vue.createTextVNode("自动跳过 ",-1)])]),_:1},8,["modelValue","disabled"]),vue.createVNode(V,{modelValue:i.value.skippable,"onUpdate:modelValue":d[4]||(d[4]=I=>i.value.skippable=I),disabled:!o.editable||i.value.error_ignorable,onChange:d[5]||(d[5]=I=>h(I,"skippable"))},{default:vue.withCtx(()=>[...d[16]||(d[16]=[vue.createElementVNode("span",{class:"option-flag"},"MS",-1),vue.createTextVNode("手动跳过 ",-1)])]),_:1},8,["modelValue","disabled"]),vue.createVNode(V,{modelValue:i.value.retryable,"onUpdate:modelValue":d[6]||(d[6]=I=>i.value.retryable=I),disabled:!o.editable||i.value.error_ignorable||i.value.auto_retry.enable,onChange:d[7]||(d[7]=I=>h(I,"retryable"))},{default:vue.withCtx(()=>[...d[17]||(d[17]=[vue.createElementVNode("span",{class:"option-flag"},"MR",-1),vue.createTextVNode("手动重试 ",-1)])]),_:1},8,["modelValue","disabled"]),vue.createVNode(V,{modelValue:i.value.auto_retry.enable,"onUpdate:modelValue":d[8]||(d[8]=I=>i.value.auto_retry.enable=I),disabled:!o.editable||i.value.error_ignorable||i.value.timeout_config.enable,onChange:d[9]||(d[9]=I=>h(I,"auto_retry"))},{default:vue.withCtx(()=>[...d[18]||(d[18]=[vue.createElementVNode("span",{class:"option-flag"},"AR",-1)])]),_:1},8,["modelValue","disabled"]),vue.createElementVNode("span",_hoisted_4$c,[d[19]||(d[19]=vue.createTextVNode(" 在 ",-1)),vue.createVNode(k,{modelValue:i.value.auto_retry.interval,"onUpdate:modelValue":d[10]||(d[10]=I=>i.value.auto_retry.interval=I),type:"number",placeholder:" ",min:0,precision:0,disabled:!o.editable||!i.value.auto_retry.enable,onBlur:g},null,8,["modelValue","disabled"]),d[20]||(d[20]=vue.createTextVNode(" 秒后,自动重试 ",-1)),vue.createVNode(k,{modelValue:i.value.auto_retry.times,"onUpdate:modelValue":d[11]||(d[11]=I=>i.value.auto_retry.times=I),type:"number",placeholder:" ",min:0,precision:0,disabled:!o.editable||!i.value.auto_retry.enable,onBlur:g},null,8,["modelValue","disabled"]),d[21]||(d[21]=vue.createTextVNode(" 次 ",-1))])])]),_:1}),vue.createVNode(B,{label:"超时控制"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_5$9,[vue.createVNode(O,{modelValue:i.value.timeout_config.enable,"onUpdate:modelValue":d[12]||(d[12]=I=>i.value.timeout_config.enable=I),theme:"primary",size:"small",disabled:!o.editable,onChange:f},null,8,["modelValue","disabled"]),i.value.timeout_config.enable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[d[23]||(d[23]=vue.createTextVNode(" 超时 ",-1)),vue.createElementVNode("span",_hoisted_6$4,[vue.createVNode(k,{modelValue:i.value.timeout_config.seconds,"onUpdate:modelValue":d[13]||(d[13]=I=>i.value.timeout_config.seconds=I),type:"number",precision:0,min:0,disabled:!o.editable,onBlur:g},null,8,["modelValue","disabled"]),d[22]||(d[22]=vue.createElementVNode("span",{class:"unit"},"秒",-1))]),d[24]||(d[24]=vue.createTextVNode(" 后,则 ",-1)),vue.createVNode(R,{modelValue:i.value.timeout_config.action,"onUpdate:modelValue":d[14]||(d[14]=I=>i.value.timeout_config.action=I),clearable:!1,disabled:!o.editable,onChange:g},{default:vue.withCtx(()=>[vue.createVNode(D,{id:"forced_fail",label:"强制终止"}),vue.createVNode(D,{id:"forced_fail_and_skip",label:"强制终止后跳过"})]),_:1},8,["modelValue","disabled"])],64)):vue.createCommentVNode("",!0)])]),_:1})]),_:1},8,["model"])])}}}),BasicInfo=_export_sfc(_sfc_main$p,[["__scopeId","data-v-695e5765"]]),_hoisted_1$n={class:"plugin-form-jsonschema-form"},_sfc_main$o=vue.defineComponent({__name:"index",setup(e){return(t,n)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$n,[vue.createVNode(EmptyException,{title:"暂无插件表单"})]))}}),JsonschemaForm=_export_sfc(_sfc_main$o,[["__scopeId","data-v-23a7ffff"]]),_hoisted_1$m=["onMousedown"],_hoisted_2$d={class:"dropdown-item-content"},_hoisted_3$b={class:"option-key"},_hoisted_4$b={class:"option-name"},_hoisted_5$8={key:0,class:"dropdown-item empty"},_sfc_main$n=vue.defineComponent({__name:"index",props:{modelValue:{default:""},options:{default:()=>[]},type:{default:"text"},placeholder:{default:""},disabled:{type:Boolean,default:!1},rows:{default:3},resize:{type:Boolean,default:!1}},emits:["update:modelValue","change","blur"],setup(e,{emit:t}){const n=e,o=t,a=vue.ref(),s=vue.ref(),i=vue.ref(),r=vue.ref(n.modelValue),l=vue.ref(!1),c=vue.ref(0),u=vue.ref({top:0,left:0}),v=vue.ref(""),_=vue.computed(()=>({top:`${u.value.top}px`,left:`${u.value.left}px`})),m=vue.computed(()=>{if(!v.value)return n.options;const V=v.value.toLowerCase();return n.options.filter(O=>O.key.toLowerCase().includes(V))}),p=V=>V.key,h=()=>{const V=s.value?.$el?.querySelector("input, textarea");if(!V)return;const O=V.tagName==="TEXTAREA";if(!a.value?.getBoundingClientRect())return;let I=0,$=0;if(O){const E=V,b=E.value.substring(0,E.selectionStart).split(`
|
|
52
|
-
`),x=b.length-1,N=parseInt(getComputedStyle(E).lineHeight)||20,P=document.createElement("canvas").getContext("2d");P?(P.font=getComputedStyle(E).font,$=P.measureText(b[x]||"").width):$=(b[x]||"").length*8,I=x*N+N}else{const E=V,T=E.value.substring(0,E.selectionStart||0),b=document.createElement("canvas").getContext("2d");b?(b.font=getComputedStyle(E).font,$=b.measureText(T).width):$=T.length*8,I=E.offsetHeight}u.value={top:I+(O?8:0),left:$+(O?8:0)}},f=()=>{if(!i.value||!a.value)return;const V=i.value.getBoundingClientRect(),O=a.value.getBoundingClientRect(),Z=s.value?.$el?.querySelector("input, textarea");if(!Z)return;const I=window.innerWidth,$=V.width,E=Z.offsetWidth;let T=u.value.left;const b=E;if(T+$>b&&(T=b-$,T<0&&(T=0)),O.left+T+$>I){const L=I-$-O.left;L>=0?T=L:T=0}O.left+T<0&&(T=0),u.value={...u.value,left:T}},y=()=>{const V=s.value?.$el?.querySelector("input, textarea");if(!V)return;const O=V.selectionStart||0,Z=r.value.substring(0,O),I=Z.lastIndexOf("$");if(I===-1){l.value=!1;return}const $=Z.substring(I+1);if($.includes("}")){l.value=!1;return}let E=$;E.startsWith("{")&&(E=E.substring(1)),v.value=E,h(),l.value=!0,c.value=0,setTimeout(()=>{f()},0)},g=()=>{o("update:modelValue",r.value),o("change",r.value),vue.nextTick(()=>{y()})},w=()=>{vue.nextTick(()=>{y()})},d=V=>{setTimeout(()=>{const O=V.relatedTarget;i.value?.contains(O)||(l.value=!1)},200),o("blur",V)},k=V=>{const O=s.value?.$el?.querySelector("input, textarea");if(!O)return;const Z=O.selectionStart||0,I=r.value,$=I.substring(0,Z),E=I.substring(Z),T=$.lastIndexOf("$");if(T===-1)return;let b=p(V);b.startsWith("${")&&b.endsWith("}")&&(b=b.slice(2,-1));const x=I.substring(0,T)+`\${${b}}`+E;r.value=x,o("update:modelValue",x),o("change",x),l.value=!1,vue.nextTick(()=>{const N=T+b.length+3;O.focus(),O.setSelectionRange(N,N)})},C=()=>{vue.nextTick(()=>{const V=s.value?.$el?.querySelector("input, textarea");V&&(V.removeEventListener("keydown",B),V.addEventListener("keydown",B,!0))})},B=V=>{if(V instanceof KeyboardEvent){if(l.value&&m.value.length>0&&(V.key==="ArrowDown"||V.key==="ArrowUp"||V.key==="Enter")){switch(V.preventDefault(),V.stopPropagation(),V.stopImmediatePropagation(),V.key){case"ArrowDown":c.value=(c.value+1)%m.value.length,D();break;case"ArrowUp":c.value=c.value<=0?m.value.length-1:c.value-1,D();break;case"Enter":c.value>=0&&k(m.value[c.value]);break}return!1}if(V.key==="Escape"&&l.value)return V.preventDefault(),V.stopPropagation(),V.stopImmediatePropagation(),l.value=!1,!1}},D=()=>{vue.nextTick(()=>{if(!i.value)return;const O=i.value.querySelectorAll(".dropdown-item:not(.empty)")[c.value];if(O){const Z=i.value,I=O.offsetTop,$=O.offsetHeight,E=Z.scrollTop,T=Z.clientHeight;I<E?Z.scrollTop=I:I+$>E+T&&(Z.scrollTop=I+$-T)}})};vue.watch(()=>n.modelValue,V=>{V!==r.value&&(r.value=V)}),vue.watch(()=>l.value,()=>{C()});const R=V=>{a.value&&!a.value.contains(V.target)&&i.value&&!i.value.contains(V.target)&&(l.value=!1)};return vue.onMounted(()=>{document.addEventListener("click",R),C()}),vue.onBeforeUnmount(()=>{document.removeEventListener("click",R);const V=s.value?.$el?.querySelector("input, textarea");V&&V.removeEventListener("keydown",B,!0)}),(V,O)=>{const Z=vue.resolveComponent("bk-input");return vue.openBlock(),vue.createElementBlock("div",{ref_key:"containerRef",ref:a,class:"variable-input-wrapper"},[vue.createVNode(Z,{ref_key:"inputRef",ref:s,modelValue:r.value,"onUpdate:modelValue":O[0]||(O[0]=I=>r.value=I),type:e.type,placeholder:e.placeholder,disabled:e.disabled,rows:e.rows,resize:e.resize,onInput:g,onFocus:w,onBlur:d},null,8,["modelValue","type","placeholder","disabled","rows","resize"]),l.value?(vue.openBlock(),vue.createElementBlock("div",{key:0,ref_key:"dropdownRef",ref:i,class:"variable-dropdown",style:vue.normalizeStyle(_.value)},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(m.value,(I,$)=>(vue.openBlock(),vue.createElementBlock("div",{key:I.key,class:vue.normalizeClass(["dropdown-item",{active:$===c.value}]),onMousedown:vue.withModifiers(E=>k(I),["prevent"])},[vue.createElementVNode("div",_hoisted_2$d,[vue.createElementVNode("span",_hoisted_3$b,vue.toDisplayString(I.key),1),vue.createElementVNode("span",_hoisted_4$b,vue.toDisplayString(I.name),1)])],42,_hoisted_1$m))),128)),m.value.length===0?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$8,"无匹配项")):vue.createCommentVNode("",!0)],4)):vue.createCommentVNode("",!0)],512)}}}),VariableInput=_export_sfc(_sfc_main$n,[["__scopeId","data-v-ccd4bdfb"]]),_hoisted_1$l={class:"input-field-form"},_sfc_main$m=vue.defineComponent({__name:"input",props:{modelValue:{default:""},config:{},disabled:{type:Boolean,default:!1},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change"],setup(e,{emit:t}){const n=e,o=t,a=vue.ref(n.modelValue),s=vue.computed(()=>{const{type:r,form_type:l=""}=n.config;return l==="textarea"?"textarea":["int","integer","number"].includes(r)?"number":"text"});vue.watch(()=>n.modelValue,r=>{a.value=r});const i=()=>{o("update:modelValue",a.value),o("change",a.value)};return(r,l)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$l,[vue.createVNode(VariableInput,{modelValue:a.value,"onUpdate:modelValue":l[0]||(l[0]=c=>a.value=c),type:s.value,rows:5,min:0,precision:0,disabled:n.disabled,options:n.fullVariableList,onBlur:i},null,8,["modelValue","type","disabled","options"])]))}}),InputField=_export_sfc(_sfc_main$m,[["__scopeId","data-v-b6b3c278"]]),_sfc_main$l=vue.defineComponent({__name:"switcher",props:{modelValue:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(e,{emit:t}){const n=e,o=vue.ref(n.modelValue);vue.watch(()=>n.modelValue,i=>{o.value=i});const a=t,s=i=>{a("update:modelValue",i),a("change",i)};return(i,r)=>{const l=vue.resolveComponent("bk-switcher");return vue.openBlock(),vue.createBlock(l,{"model-value":e.modelValue,theme:"primary",size:"small",disabled:e.disabled,onChange:s},null,8,["model-value","disabled"])}}}),_hoisted_1$k={class:"code-editor"},_sfc_main$k=vue.defineComponent({__name:"code",props:{modelValue:{default:""},language:{default:"json"},theme:{default:"vs-dark"},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change","blur","save"],setup(e,{emit:t}){setupMonacoEnvironment();const n={language:"json",theme:"vs-dark",automaticLayout:!0,minimap:{enabled:!1},wordWrap:"on",wrappingIndent:"same"},o=e,a=t,s=vue.ref(),i=vue.shallowRef();vue.watch(()=>o.modelValue,c=>{const u=i.value?.getValue();c!==u&&i.value?.setValue(c)}),vue.watch(()=>o.disabled,c=>{i.value&&i.value.updateOptions({...n,readOnly:c})}),vue.onMounted(()=>{r()}),vue.onBeforeUnmount(()=>{i.value&&i.value.dispose()});const r=()=>{i.value=monaco__namespace.editor.create(s.value,{...n,readOnly:o.disabled,value:o.modelValue,language:o.language});const c=i.value.getModel();c&&(c.setEOL(0),c.onDidChangeContent(()=>{const u=i.value?.getValue();l(u)})),i.value.onDidBlurEditorText(()=>{a("blur")})},l=c=>{a("update:modelValue",c),a("change",c)};return(c,u)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$k,[vue.createElementVNode("div",{ref_key:"monacoContainerRef",ref:s,class:"editor-instance-container"},null,512)]))}}),CodeField=_export_sfc(_sfc_main$k,[["__scopeId","data-v-8534e38a"]]),_hoisted_1$j={class:"bkflow-plugin-uniform-api-form"},_sfc_main$j=vue.defineComponent({__name:"index",props:{inputData:{default:()=>({})},inputs:{default:()=>[]},editable:{type:Boolean,default:!0},fullVariableList:{default:()=>[]}},emits:["change"],setup(e,{expose:t,emit:n}){const o=e,a=n,s=vue.ref(),i=vue.ref({}),r=vue.ref({});vue.watch(()=>o.inputData,()=>{Object.keys(o.inputData).forEach(_=>{i.value[_]=o.inputData[_].value})},{immediate:!0}),vue.watch(()=>o.inputs,()=>{o.inputs.forEach(_=>{_.required?r.value[_.key]=[{required:!0,message:"必填项",trigger:"blur"}]:(_.type==="json"||_.form_type==="json")&&(r.value[_.key]=[{validator:m=>{if(m.trim().length===0)return!0;try{return JSON.parse(m),!0}catch{return!1}},message:"请输入正确的 JSON 格式数据",trigger:"blur"}])})},{immediate:!0});const l=_=>{const{type:m,form_type:p=""}=_;if(p){if(["textarea","input"].includes(p))return InputField;if(["json"].includes(p))return CodeField}else{if(["string","int","integer","number"].includes(m))return InputField;if(["boolean","bool"].includes(m))return _sfc_main$l;if(["json","dict"].includes(m))return CodeField}return vue.h("div","暂不支持该类型")},c=(_,m)=>{i.value[_]=m,v()},u=async()=>s.value.validate().then(()=>!0).catch(()=>!1),v=()=>{const _={...o.inputData};Object.keys(i.value).forEach(m=>{_[m]={value:i.value[m],hook:!1,need_render:!0}}),a("change",_)};return t({validate:u}),(_,m)=>{const p=vue.resolveComponent("bk-form-item"),h=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$j,[vue.createVNode(h,{ref_key:"formRef",ref:s,rules:r.value,model:i.value,"label-width":94},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(o.inputs,f=>(vue.openBlock(),vue.createBlock(p,{key:f.key,label:f.name,required:f.required,desc:f.desc,property:f.key},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(l(f)),{"model-value":i.value[f.key],disabled:!o.editable,config:f,"full-variable-list":o.fullVariableList,onChange:y=>c(f.key,y)},null,40,["model-value","disabled","config","full-variable-list","onChange"]))]),_:2},1032,["label","required","desc","property"]))),128))]),_:1},8,["rules","model"])])}}}),BkFlowPluginUniformApiForm=_export_sfc(_sfc_main$j,[["__scopeId","data-v-cb961ebd"]]),_hoisted_1$i={class:"plugin-agent"},_sfc_main$i=vue.defineComponent({__name:"index",props:{inputData:{},pluginDetail:{},editable:{type:Boolean},fullVariableList:{default:()=>[]}},emits:["change"],setup(e,{expose:t,emit:n}){const o=e,a=n,s=vue.ref(),i=vue.ref({content:""});vue.watch(()=>o.inputData,()=>{"value"in o.inputData.content&&(i.value.content=o.inputData.content.value)},{immediate:!0});const r={content:[{required:!0,message:"请输入提问内容",trigger:"blur"}]},l=async()=>s.value.validate().then(()=>!0).catch(()=>!1),c=()=>{const u={...o.inputData};u.content={value:i.value.content,hook:!1,need_render:!0},a("change",u)};return t({validate:l}),(u,v)=>{const _=vue.resolveComponent("bk-form-item"),m=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$i,[vue.createVNode(m,{ref_key:"formRef",ref:s,rules:r,model:i.value,"label-width":94},{default:vue.withCtx(()=>[vue.createVNode(_,{label:"用户提问",required:"",property:"content"},{default:vue.withCtx(()=>[vue.createVNode(VariableInput,{modelValue:i.value.content,"onUpdate:modelValue":v[0]||(v[0]=p=>i.value.content=p),options:o.fullVariableList,type:"textarea",placeholder:"请输入",rows:6,resize:!1,disabled:!o.editable,onBlur:c},null,8,["modelValue","options","disabled"])]),_:1})]),_:1},8,["model"])])}}}),AgentForm=_export_sfc(_sfc_main$i,[["__scopeId","data-v-cb01a2cc"]]),_hoisted_1$h={class:"node-config-input-params"},_sfc_main$h=vue.defineComponent({__name:"input-params",props:{node:{},pluginType:{},pluginDetail:{},inputs:{default:()=>[]},editable:{type:Boolean,default:!0},fullVariableList:{default:()=>[]}},emits:["change"],setup(e,{expose:t,emit:n}){const o={uniform_api_plugin:BkFlowPluginUniformApiForm,agent:AgentForm},a=e,s=n,i=vue.ref(),r=vue.computed(()=>{const u=a.pluginDetail?.category;return u&&u in o?o[u]:BkFlowPluginUniformApiForm}),l=u=>{const v={...a.node.component.data.bk_display_message};v.value=u,s("change",{...a.node.component.data,bk_display_message:v})};return t({validate:()=>a.pluginType==="uniform_api"&&i.value&&i.value.validate?i.value.validate():!0}),(u,v)=>{const _=vue.resolveComponent("bk-input"),m=vue.resolveComponent("bk-form-item"),p=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createElementBlock("section",_hoisted_1$h,[a.pluginDetail?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[a.pluginDetail.inputParamsFormType==="renderform"?(vue.openBlock(),vue.createBlock(BKflowPluginFormRenderForm,{key:0,variables:a.inputs,editable:a.editable,"full-variable-list":a.fullVariableList,onChange:v[0]||(v[0]=h=>s("change",h))},null,8,["variables","editable","full-variable-list"])):vue.createCommentVNode("",!0),a.pluginDetail.inputParamsFormType==="jsonschemaform"?(vue.openBlock(),vue.createBlock(JsonschemaForm,{key:1,variables:a.inputs,editable:a.editable,onChange:v[1]||(v[1]=h=>s("change",h))},null,8,["variables","editable"])):vue.createCommentVNode("",!0),a.pluginDetail.inputParamsFormType==="uniformApiForm"?(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(r.value),{key:2,ref_key:"uniformApiPluginComponentRef",ref:i,node:a.node,"plugin-detail":a.pluginDetail,"plugin-id":a.node.component.api_meta?.id||"","input-data":a.node.component.data,inputs:a.inputs,editable:a.editable,"full-variable-list":a.fullVariableList,onChange:v[2]||(v[2]=h=>s("change",h))},null,40,["node","plugin-detail","plugin-id","input-data","inputs","editable","full-variable-list"])):vue.createCommentVNode("",!0)],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[a.node.component.code==="bk_display"?(vue.openBlock(),vue.createBlock(p,{key:0,"label-width":94},{default:vue.withCtx(()=>[vue.createVNode(m,{label:"展示内容"},{default:vue.withCtx(()=>[vue.createVNode(_,{"model-value":a.node.component.data.bk_display_message.value,type:"textarea",rows:4,disabled:!a.editable,resize:!1,onChange:l},null,8,["model-value","disabled"])]),_:1})]),_:1})):vue.createCommentVNode("",!0)],64))])}}}),InputParams=_export_sfc(_sfc_main$h,[["__scopeId","data-v-0e042631"]]),_hoisted_1$g={class:"node-config-output-params"},_hoisted_2$c={class:"params-key-wrappper"},_hoisted_3$a={class:"key-text"},_hoisted_4$a={class:"create-variable-cell"},_hoisted_5$7=["onClick"],_sfc_main$g=vue.defineComponent({__name:"output-params",props:{node:{},outputsForms:{},constants:{default:()=>({})},editable:{type:Boolean,default:!0}},emits:["updateConstants"],setup(e,{emit:t}){const n=e,o=t,a=vue.shallowRef({}),s=vue.computed(()=>n.outputsForms.map(l=>({...l,hookedKey:i(l.key)})));vue.watch(()=>n.constants,l=>{a.value={...l}},{immediate:!0});const i=l=>{const u=Object.values(a.value).find(v=>v.source_info[n.node.id]&&v.source_info[n.node.id].includes(l));return u?u.key:""},r=l=>{if(!n.editable)return;const c=i(l.key);if(c){const u={...a.value[c],source_info:{...a.value[c].source_info,[n.node.id]:a.value[c].source_info[n.node.id].filter(v=>v!==l.key)}};a.value={...a.value,[c]:u}}else{const u=`\${${l.key}}`,v=n.constants[u]?`\${${l.key}_${random4()}}`:u;a.value={...a.value,[v]:{index:Object.values(a.value).length,name:l.name,key:v,desc:"",custom_type:"",show_type:"hide",source_type:"component_outputs",source_info:{[n.node.id]:[l.key]},source_tag:"",validation:"",plugin_code:"",value:""}}}o("updateConstants",a.value)};return(l,c)=>{const u=vue.resolveComponent("bk-table-column"),v=vue.resolveComponent("bk-input"),_=vue.resolveComponent("bk-table"),m=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("section",_hoisted_1$g,[vue.createVNode(_,{"empty-text":"暂无参数",data:s.value,border:["outer"]},{default:vue.withCtx(()=>[vue.createVNode(u,{label:"名称",width:180,"min-width":180,prop:"name"},{default:vue.withCtx(({row:p})=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("span",{class:vue.normalizeClass(["params-name",{"has-desc":p.description!==""}])},[vue.createTextVNode(vue.toDisplayString(p.name),1)],2)),[[m,{disabled:p.description==="",content:p.description}]])]),_:1}),vue.createVNode(u,{label:"KEY",prop:"key"},{default:vue.withCtx(({row:p})=>[vue.createElementVNode("div",_hoisted_2$c,[vue.createElementVNode("span",_hoisted_3$a,vue.toDisplayString(p.key),1),p.hookedKey?(vue.openBlock(),vue.createBlock(v,{key:0,class:"variable-key-input","model-value":p.hookedKey,readonly:vue.readonly},null,8,["model-value"])):vue.createCommentVNode("",!0)])]),_:1}),vue.createVNode(u,{label:"勾选为全局变量",width:120,"min-width":120},{default:vue.withCtx(({row:p})=>[vue.createElementVNode("div",_hoisted_4$a,[vue.withDirectives((vue.openBlock(),vue.createElementBlock("span",{class:vue.normalizeClass(["btn",{"is-hooked":!!p.hookedKey,"is-disabled":!n.editable,"is-disabled-tooltip":!n.editable}]),onClick:h=>r(p)},[...c[0]||(c[0]=[vue.createElementVNode("i",{class:"bk-incident-icon incident-quanjubianliang-2"},null,-1)])],10,_hoisted_5$7)),[[m,{placement:"top",content:p.hookedKey?"取消接收输出":"使用变量接收输出"}]])])]),_:1})]),_:1},8,["data"])])}}}),OutputParams=_export_sfc(_sfc_main$g,[["__scopeId","data-v-5a9440da"]]),_hoisted_1$f={class:"bkflow-node-config"},_sfc_main$f=vue.defineComponent({__name:"index",props:{node:{},systemVariables:{default:()=>[]},constants:{default:()=>({})},editable:{type:Boolean,default:!0}},emits:["change","selectPlugin","updateConstants"],setup(e,{expose:t,emit:n}){const o=vue.useSlots(),a=e,s=useFlowApiConfig(),i=n,r=vue.ref(),l=vue.ref(),c=vue.ref(null),u=vue.ref(!0),v=vue.shallowRef([]),_=vue.shallowRef([]),m=vue.ref(!1),p=vue.computed(()=>a.node.component.code?["uniform_api","remote_plugin"].includes(a.node.component.code)?a.node.component.code:"inner":""),h=vue.computed(()=>[...a.systemVariables,...Object.values(a.constants)].map(C=>({key:C.key,name:C.name})));vue.onMounted(()=>{m.value=!1,f()});const f=async()=>{u.value=!0,m.value=!1;try{const C=await pluginDetailRequest(s,a.node.component),{inputs:B,outputs:D}=C;v.value=B,_.value=D,c.value=C,y()}catch(C){(C?.message||String(C)).includes("1211011")?m.value=!0:console.error("Failed to fetch plugin detail:",C)}finally{u.value=!1}},y=()=>{if(!c.value)return;const{data:C}=a.node.component,B=p.value;({uniform_api:()=>!C||!("uniform_api_plugin_url"in C)||!("uniform_api_plugin_method"in C),remote_plugin:()=>!C||!("plugin_version"in C),inner:()=>!C||Object.keys(C).length===0})[B]?.()&&w({...a.node,component:{...a.node.component,data:getPluginDefaultData(B,c.value)}})},g=C=>{const B={...a.node,component:{...a.node.component,data:C}};w(B)},w=C=>{i("change",C)},d=C=>{g(C)};return t({isPluginNotExist:m,pluginDetailLoading:u,validate:async()=>{let C=()=>!0;!o.inputParams&&l.value&&(C=l.value.validate);const[B,D]=await Promise.all([r.value?.validate(),C()]);return!(!B||!D)},updateInputParams:d}),(C,B)=>{const D=vue.resolveComponent("bk-button"),R=vue.resolveComponent("bk-exception"),V=vue.resolveDirective("bk-loading");return vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_1$f,[m.value?(vue.openBlock(),vue.createBlock(R,{key:0,class:"plugin-not-exist-exception",type:"500",title:"未找到可用插件或可用版本",scene:"part"},{default:vue.withCtx(()=>[a.editable?(vue.openBlock(),vue.createBlock(D,{key:0,text:"",theme:"primary",onClick:B[0]||(B[0]=O=>i("selectPlugin"))},{default:vue.withCtx(()=>[...B[3]||(B[3]=[vue.createTextVNode("重新选择",-1)])]),_:1})):vue.createCommentVNode("",!0)]),_:1})):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(SectionContainer,{title:"基础信息"},{default:vue.withCtx(()=>[vue.createVNode(BasicInfo,{ref_key:"basicInfoRef",ref:r,node:a.node,editable:a.editable,"plugin-type":p.value,"plugin-detail":c.value,onSelectPlugin:B[1]||(B[1]=O=>i("selectPlugin")),onChange:w},null,8,["node","editable","plugin-type","plugin-detail"])]),_:1}),vue.createVNode(SectionContainer,{title:"输入参数"},{default:vue.withCtx(()=>[u.value?vue.createCommentVNode("",!0):vue.renderSlot(C.$slots,"inputParams",{key:0,node:a.node,pluginDetail:c.value,inputs:v.value,editable:a.editable,fullVariableList:h.value,updateInputParams:d},()=>[vue.createVNode(InputParams,{ref_key:"inputParamsRef",ref:l,node:a.node,"plugin-type":p.value,"plugin-detail":c.value,inputs:v.value,editable:a.editable,"full-variable-list":h.value,onChange:g},null,8,["node","plugin-type","plugin-detail","inputs","editable","full-variable-list"])],!0)]),_:3}),vue.createVNode(SectionContainer,{title:"输出参数"},{default:vue.withCtx(()=>[u.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(OutputParams,{key:0,node:a.node,"outputs-forms":_.value,constants:a.constants,editable:a.editable,onUpdateConstants:B[2]||(B[2]=O=>i("updateConstants",O))},null,8,["node","outputs-forms","constants","editable"]))]),_:1})],64))])),[[V,{loading:u.value}]])}}}),NodeConfig=_export_sfc(_sfc_main$f,[["__scopeId","data-v-e8f99987"]]),_hoisted_1$e={class:"node-config-slider"},_hoisted_2$b={key:0,class:"sideslider-footer-buttons"},_sfc_main$e=vue.defineComponent({__name:"index",props:{show:{type:Boolean,default:!1},node:{},constants:{default:()=>({})},systemVariables:{default:()=>[]},editable:{type:Boolean,default:!0}},emits:["close","update:show","confirm","selectPlugin"],setup(e,{expose:t,emit:n}){const o=e,a=n,s=vue.ref(),i=vue.ref(!0),r=vue.ref(lodash.cloneDeep(o.node)),l=vue.shallowRef({...o.constants});vue.watch(()=>o.show,()=>{r.value=lodash.cloneDeep(o.node),l.value={...o.constants}}),vue.watchEffect(()=>{s.value?.isPluginNotExist||s.value?.pluginDetailLoading?i.value=!1:i.value=!0});const c=p=>{r.value=p},u=async()=>{await s.value?.validate()&&a("confirm",r.value,l.value)},v=()=>{if(o.editable)return new Promise(p=>{lib.InfoBox({title:"确认离开?",content:"离开将会导致未保存信息丢失",confirmText:"离开",cancelText:"取消",width:320,onConfirm:()=>{_(),p(!0)},onCancel:()=>{p(!1)}})});_()},_=()=>{a("close"),a("update:show",!1)};return t({updateNodeInputParams:p=>{s.value&&s.value.updateInputParams?.(p)}}),(p,h)=>{const f=vue.resolveComponent("bk-button"),y=vue.resolveComponent("bk-sideslider");return vue.openBlock(),vue.createBlock(y,{title:"节点配置","is-show":o.show,width:960,"esc-close":!1,"before-close":v},{footer:vue.withCtx(()=>[i.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$b,[o.editable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(f,{theme:"primary",onClick:u},{default:vue.withCtx(()=>[...h[2]||(h[2]=[vue.createTextVNode("确定",-1)])]),_:1}),vue.createVNode(f,{onClick:_},{default:vue.withCtx(()=>[...h[3]||(h[3]=[vue.createTextVNode("取消",-1)])]),_:1})],64)):(vue.openBlock(),vue.createBlock(f,{key:1,theme:"primary",onClick:_},{default:vue.withCtx(()=>[...h[4]||(h[4]=[vue.createTextVNode("关闭",-1)])]),_:1}))])):vue.createCommentVNode("",!0)]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$e,[o.show?(vue.openBlock(),vue.createBlock(NodeConfig,{key:0,ref_key:"nodeConfigRef",ref:s,node:r.value,editable:o.editable,constants:l.value,"system-variables":o.systemVariables,onSelectPlugin:h[0]||(h[0]=g=>a("selectPlugin")),onUpdateConstants:h[1]||(h[1]=g=>l.value=g),onChange:c},{inputParams:vue.withCtx(g=>[vue.renderSlot(p.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps(g)),void 0,!0)]),_:3},8,["node","editable","constants","system-variables"])):vue.createCommentVNode("",!0)])]),_:3},8,["is-show"])}}}),NodeConfigPanel=_export_sfc(_sfc_main$e,[["__scopeId","data-v-02b9993c"]]),_hoisted_1$d={class:"plugin-group-aside"},_hoisted_2$a={class:"group-list"},_hoisted_3$9=["onClick"],_hoisted_4$9=["src"],_hoisted_5$6={class:"group-text"},_sfc_main$d=vue.defineComponent({__name:"plugin-groups-aside",props:{actived:{},groups:{}},emits:["update:actived","change"],setup(e,{emit:t}){const n=e,o=t,a=s=>{o("update:actived",s),o("change",s)};return(s,i)=>(vue.openBlock(),vue.createElementBlock("section",_hoisted_1$d,[vue.createElementVNode("div",_hoisted_2$a,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(n.groups,r=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["group-item",{actived:n.actived===r.name}]),key:r.id,onClick:l=>a(r.name)},[vue.createElementVNode("img",{class:"group-icon",src:r.iconUrl},null,8,_hoisted_4$9),vue.createElementVNode("span",_hoisted_5$6,vue.toDisplayString(r.alias),1)],10,_hoisted_3$9))),128))])]))}}),PluginGroupsAside=_export_sfc(_sfc_main$d,[["__scopeId","data-v-6c7ab9b0"]]),alarmImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/告警%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/告警'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3ccircle%20id='椭圆形'%20fill='%233A84FF'%20fill-rule='nonzero'%20cx='27'%20cy='27'%20r='23'%3e%3c/circle%3e%3ccircle%20id='椭圆形备份'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20cx='34'%20cy='34'%20r='24'%3e%3c/circle%3e%3cg%20id='alert-告警'%20transform='translate(20,%2018)'%20fill='%23FFFFFF'%3e%3cpath%20d='M23.8214286,25.9259259%20L23.8214286,14.5185185%20C23.8280822,12.0419907%2022.8443395,9.66585559%2021.0897321,7.92037037%20C19.3290179,6.16064815%2016.9889509,5.18515161%2014.5,5.18515161%20C12.026631,5.17852307%209.65352669,6.16352209%207.91026786,7.92037037%20C6.15279018,9.68333333%205.17857143,12.0263889%205.17857143,14.5185185%20L5.17857143,25.9259259%20L2.07142857,25.9259259%20L2.07142857,28%20L26.9285714,28%20L26.9285714,25.9259259%20L23.8214286,25.9259259%20Z%20M15.225,10.9083333%20L16.6879464,12.3731481%20L14.5356027,14.5314815%20L17.3708705,17.3703704%20L13.8138393,21.3305556%20L12.2732143,19.9435185%20L14.516183,17.4449074%20L11.6064732,14.5314815%20L15.225,10.9083333%20Z%20M29,13.4814815%20L29,15.5555556%20L24.8571429,15.5555556%20L24.8571429,13.4814815%20L29,13.4814815%20Z%20M4.14285714,13.4814815%20L4.14285714,15.5555556%20L0,15.5555556%20L0,13.4814815%20L4.14285714,13.4814815%20Z%20M5.01594524,3.53359279%20L7.94538762,6.46677647%20L6.48066643,7.93336831%20L3.55122405,5.00018463%20L5.01594524,3.53359279%20Z%20M23.9784806,3.5274069%20L25.4432018,4.99399875%20L22.5137594,7.92718243%20L21.0490382,6.46059059%20L23.9784806,3.5274069%20Z%20M15.5357143,0%20L15.5357143,4.14814815%20L13.4642857,4.14814815%20L13.4642857,0%20L15.5357143,0%20Z'%20id='形状'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",eventImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/事件%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/事件'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3crect%20id='矩形-2'%20fill='%233A84FF'%20fill-rule='nonzero'%20x='5'%20y='5'%20width='40'%20height='40'%20rx='3'%3e%3c/rect%3e%3crect%20id='矩形'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20x='10'%20y='10'%20width='44'%20height='44'%20rx='3'%3e%3c/rect%3e%3cg%20id='alert-告警'%20transform='translate(16.25,%2016.25)'%20fill='%23FFFFFF'%20fill-rule='nonzero'%3e%3cpath%20d='M9,0%20L9,2.25%20L22.5,2.25%20L22.5,0%20L27,0%20L27,2.25%20L29.25,2.25%20C30.4926407,2.25%2031.5,3.25735931%2031.5,4.5%20L31.5,29.25%20C31.5,30.4926407%2030.4926407,31.5%2029.25,31.5%20L2.25,31.5%20C1.00735931,31.5%200,30.4926407%200,29.25%20L0,4.5%20C0,3.25735931%201.00735931,2.25%202.25,2.25%20L4.5,2.25%20L4.5,0%20L9,0%20Z%20M29.25,10.125%20L2.25,10.125%20L2.25,29.25%20L29.25,29.25%20L29.25,10.125%20Z%20M11.25,13.5%20L11.25,18%20L5.625,18%20L5.625,13.5%20L11.25,13.5%20Z'%20id='形状结合'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",graphImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/图谱%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/图谱'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3ccircle%20id='椭圆形'%20fill='%233A84FF'%20fill-rule='nonzero'%20cx='27'%20cy='27'%20r='23'%3e%3c/circle%3e%3ccircle%20id='椭圆形备份'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20cx='34'%20cy='34'%20r='24'%3e%3c/circle%3e%3cg%20id='alert-告警'%20transform='translate(18.25,%2018.25)'%20fill='%23FFFFFF'%3e%3cpath%20d='M27.5625,0%20C29.7371212,0%2031.5,1.7628788%2031.5,3.9375%20C31.5,6.1121212%2029.7371212,7.875%2027.5625,7.875%20C26.8821072,7.875%2026.2420211,7.70242627%2025.6836253,7.39866233%20L21.2480235,11.8331927%20C22.0362649,12.9376649%2022.5,14.2896769%2022.5,15.75%20C22.5,17.2076792%2022.0379426,18.5574391%2021.2523016,19.6608059%20L24.7142478,23.1229218%20C25.3841532,22.7271229%2026.1655529,22.5%2027,22.5%20C29.4852814,22.5%2031.5,24.5147186%2031.5,27%20C31.5,29.4852814%2029.4852814,31.5%2027,31.5%20C24.5147186,31.5%2022.5,29.4852814%2022.5,27%20C22.5,26.1655529%2022.7271229,25.3841532%2023.1229218,24.7142478%20L19.6608059,21.2523016%20C18.5574391,22.0379426%2017.2076792,22.5%2015.75,22.5%20C14.2923208,22.5%2012.9425609,22.0379426%2011.8391941,21.2523016%20L8.73675688,24.3548271%20C8.9071608,24.8296846%209,25.3415004%209,25.875%20C9,28.3602814%206.98528137,30.375%204.5,30.375%20C2.01471863,30.375%200,28.3602814%200,25.875%20C0,23.3897186%202.01471863,21.375%204.5,21.375%20C5.62390208,21.375%206.6515713,21.7870218%207.44020055,22.4682583%20L10.2476984,19.6608059%20C9.46205741,18.5574391%209,17.2076792%209,15.75%20C9,14.2927614%209.46177809,12.9433769%2010.246986,11.8401948%20L6.9225844,8.53381806%20C6.36863781,8.83126977%205.73527343,9%205.0625,9%20C2.8878788,9%201.125,7.2371212%201.125,5.0625%20C1.125,2.8878788%202.8878788,1.125%205.0625,1.125%20C7.2371212,1.125%209,2.8878788%209,5.0625%20C9,5.74577587%208.82596068,6.38840267%208.51979386,6.94846859%20L11.8381935,10.2484109%20C12.9417448,9.46233681%2014.2918801,9%2015.75,9%20C17.2050353,9%2018.5525424,9.46038278%2019.6547997,10.2434266%20L24.0949001,5.80449226%20C23.7951367,5.24890576%2023.625,4.61307166%2023.625,3.9375%20C23.625,1.7628788%2025.3878788,0%2027.5625,0%20Z'%20id='形状结合'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",logImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/日志%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/日志'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3crect%20id='矩形-2'%20fill='%233A84FF'%20fill-rule='nonzero'%20x='5'%20y='5'%20width='40'%20height='40'%20rx='3'%3e%3c/rect%3e%3crect%20id='矩形'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20x='10'%20y='10'%20width='44'%20height='44'%20rx='3'%3e%3c/rect%3e%3cg%20id='alert-告警'%20transform='translate(17.375,%2017.375)'%20fill='%23FFFFFF'%3e%3cpath%20d='M28.25,0%20C28.8022847,0%2029.25,0.44771525%2029.25,1%20L29.25,28.25%20C29.25,28.8022847%2028.8022847,29.25%2028.25,29.25%20L1,29.25%20C0.44771525,29.25%200,28.8022847%200,28.25%20L0,1%20C0,0.44771525%200.44771525,1.11022302e-16%201,0%20L28.25,0%20Z%20M14.625,19.125%20C14.0036797,19.125%2013.5,19.6286797%2013.5,20.25%20C13.5,20.8713203%2014.0036797,21.375%2014.625,21.375%20C15.2463203,21.375%2015.75,20.8713203%2015.75,20.25%20C15.75,19.6286797%2015.2463203,19.125%2014.625,19.125%20Z%20M8.4375,7.875%20C5.02023811,7.875%202.25,10.6452381%202.25,14.0625%20C2.25,17.4797619%205.02023811,20.25%208.4375,20.25%20C11.8547619,20.25%2014.625,17.4797619%2014.625,14.0625%20C14.625,10.6452381%2011.8547619,7.875%208.4375,7.875%20Z%20M20.8125,7.875%20C17.3952381,7.875%2014.625,10.6452381%2014.625,14.0625%20C14.625,17.4797619%2017.3952381,20.25%2020.8125,20.25%20C24.2297619,20.25%2027,17.4797619%2027,14.0625%20C27,10.6452381%2024.2297619,7.875%2020.8125,7.875%20Z%20M8.4375,10.125%20C10.6121212,10.125%2012.375,11.8878788%2012.375,14.0625%20C12.375,16.2371212%2010.6121212,18%208.4375,18%20C6.2628788,18%204.5,16.2371212%204.5,14.0625%20C4.5,11.8878788%206.2628788,10.125%208.4375,10.125%20Z%20M20.8125,10.125%20C22.9871212,10.125%2024.75,11.8878788%2024.75,14.0625%20C24.75,16.2371212%2022.9871212,18%2020.8125,18%20C18.6378788,18%2016.875,16.2371212%2016.875,14.0625%20C16.875,11.8878788%2018.6378788,10.125%2020.8125,10.125%20Z%20M21.5,12.9375%20L20.125,12.9375%20C19.5727153,12.9375%2019.125,13.3852153%2019.125,13.9375%20L19.125,14.1875%20C19.125,14.7397847%2019.5727153,15.1875%2020.125,15.1875%20L21.5,15.1875%20C22.0522847,15.1875%2022.5,14.7397847%2022.5,14.1875%20L22.5,13.9375%20C22.5,13.3852153%2022.0522847,12.9375%2021.5,12.9375%20Z'%20id='形状结合'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",metricImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/指标%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/指标'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3ccircle%20id='椭圆形'%20fill='%233A84FF'%20fill-rule='nonzero'%20cx='27'%20cy='27'%20r='23'%3e%3c/circle%3e%3ccircle%20id='椭圆形备份'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20cx='34'%20cy='34'%20r='24'%3e%3c/circle%3e%3cg%20id='alert-告警'%20transform='translate(20.0022,%2019)'%20fill='%23FFFFFF'%3e%3cpath%20d='M26.9978016,9%20L26.9978016,26%20L22.9857822,26%20L22.9857822,9%20L26.9978016,9%20Z%20M19.9767677,15%20L19.9767677,26%20L15.9647484,26%20L15.9647484,15%20L19.9767677,15%20Z%20M12.9557339,12%20L12.9557339,26%20L8.9437145,26%20L8.9437145,12%20L12.9557339,12%20Z%20M5.93469998,17%20L5.93469998,26%20L1.92268063,26%20L1.92268063,17%20L5.93469998,17%20Z%20M26.9978016,0%20L26.9978016,8%20L23.6568016,4.67%20L16.9918102,11.3355632%20L11.3179511,5.6617042%20L1.41846305,15.561206%20L3.55271368e-15,14.1427429%20L11.3137085,2.82903444%20L16.9875333,8.50285925%20L22.2358016,3.253%20L18.9737629,0%20L26.9978016,0%20Z'%20id='形状结合'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",profilingImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/Profiling%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/Profiling'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3ccircle%20id='椭圆形'%20fill='%233A84FF'%20fill-rule='nonzero'%20cx='27'%20cy='27'%20r='23'%3e%3c/circle%3e%3ccircle%20id='椭圆形备份'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20cx='34'%20cy='34'%20r='24'%3e%3c/circle%3e%3cg%20id='alert-告警'%20transform='translate(19.375,%2016)'%20fill='%23FFFFFF'%20fill-rule='nonzero'%3e%3cpath%20d='M10.3813948,-3.55271368e-15%20C17.257736,1.52410383%2022.3838329,6.97063848%2023.2188935,13.6207878%20C24.020884,11.6579106%2025.6982065,10.1856528%2027.7485185,9.64494215%20C27.1633902,11.2491122%2027.1633902,13.0083535%2027.7485185,14.6125236%20C27.7485185,14.6125236%2033.0597887,25.1085424%2026.6837718,31.6233741%20L24.0521736,28.9989243%20C27.3425616,24.7791508%2027.0291913,18.684516%2023.1138432,14.7781096%20C18.7284397,10.4016526%2011.6811693,10.5583362%207.45245097,14.9347932%20C3.22373261,19.3094697%203.53710289,26.4991091%207.9225064,30.562199%20C11.8378545,34.1552382%2017.6316437,34.3119218%2021.8603621,31.1853723%20L24.2302248,33.5498699%20C23.1560051,34.1931262%2022.0151369,34.7178845%2020.8276645,35.1149251%20C20.8276645,35.1149251%2016.914097,36.7173707%2011.2876759,35.6099027%20C11.2876759,35.6099027%20-5.60939232,32.1361567%201.9435438,14.8956223%20C2.71450593,15.6701377%203.23085471,16.6583125%203.42136957,17.7337316%20C4.27570623,15.1161605%205.73197932,12.7354096%207.67323457,10.7826785%20C10.1623917,8.55705961%2012.6960617,2.27013128%2010.3813948,-3.55271368e-15%20Z%20M8.86261726,17.9028786%20C10.3191865,15.8450628%2012.6836372,14.6218537%2015.2048045,14.6218537%20C17.7259718,14.6218537%2020.0904225,15.8450628%2021.5469918,17.9028786%20C23.5838986,20.5593773%2023.5838986,24.3108806%2021.5469918,27.1240629%20C20.0904225,29.1818787%2017.7259718,30.4050878%2015.2048045,30.4050878%20C12.6836372,30.4050878%2010.3191865,29.1818787%208.86261726,27.1240629%20C6.8257104,24.4675642%206.8257104,20.5593773%208.86261726,17.9028786%20Z%20M20.475123,17.8049514%20L9.79204502,17.8049514%20L9.79204502,21.3659416%20L11.572558,21.3659416%20L11.572558,24.9269319%20L13.353071,24.9269319%20L13.353071,23.1464368%20L15.133584,23.1464368%20L15.133584,26.7074271%20L16.914097,26.7074271%20L16.914097,28.4879222%20L18.69461,28.4879222%20L18.69461,23.1464368%20L20.475123,23.1464368%20L20.475123,17.8049514%20L20.475123,17.8049514%20Z'%20id='形状'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",traceImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/Trace%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/Trace'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3ccircle%20id='椭圆形'%20fill='%233A84FF'%20fill-rule='nonzero'%20cx='27'%20cy='27'%20r='23'%3e%3c/circle%3e%3ccircle%20id='椭圆形备份'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20cx='34'%20cy='34'%20r='24'%3e%3c/circle%3e%3cg%20id='alert-告警'%20transform='translate(18.25,%2018.25)'%20fill='%23FFFFFF'%20fill-rule='nonzero'%3e%3cpath%20d='M15.75,0%20C16.36875,0%2016.875,0.50625%2016.875,1.125%20L16.875,2.29647656%20C23.4334688,2.83756641%2028.6624336,8.06653125%2029.2035234,14.625%20L30.375,14.625%20C30.99375,14.625%2031.5,15.13125%2031.5,15.75%20C31.5,16.36875%2030.99375,16.875%2030.375,16.875%20L29.2035234,16.875%20C28.6624336,23.4334688%2023.4334688,28.6624336%2016.875,29.2035234%20L16.875,30.375%20C16.875,30.99375%2016.36875,31.5%2015.75,31.5%20C15.13125,31.5%2014.625,30.99375%2014.625,30.375%20L14.625,29.2035234%20C8.06653125,28.6624336%202.83756641,23.4334688%202.29647656,16.875%20L1.125,16.875%20C0.50625,16.875%200,16.36875%200,15.75%20C0,15.13125%200.50625,14.625%201.125,14.625%20L2.29647656,14.625%20C2.83756641,8.06653125%208.06653125,2.83756641%2014.625,2.29647656%20L14.625,1.125%20C14.625,0.50625%2015.13125,0%2015.75,0%20Z%20M16.875,4.55582812%20L16.875,5.625%20C16.875,6.24375%2016.36875,6.75%2015.75,6.75%20C15.13125,6.75%2014.625,6.24375%2014.625,5.625%20L14.625,4.55582812%20C9.31011328,5.08355859%205.08355859,9.31011328%204.55582812,14.625%20L5.625,14.625%20C6.24375,14.625%206.75,15.13125%206.75,15.75%20C6.75,16.36875%206.24375,16.875%205.625,16.875%20L4.55582812,16.875%20C5.08355859,22.1898867%209.31011328,26.4164414%2014.625,26.9441719%20L14.625,25.875%20C14.625,25.25625%2015.13125,24.75%2015.75,24.75%20C16.36875,24.75%2016.875,25.25625%2016.875,25.875%20L16.875,26.9441719%20C22.1898867,26.4164414%2026.4164414,22.1898867%2026.9441719,16.875%20L25.875,16.875%20C25.25625,16.875%2024.75,16.36875%2024.75,15.75%20C24.75,15.13125%2025.25625,14.625%2025.875,14.625%20L26.9441719,14.625%20C26.4164414,9.31011328%2022.1898867,5.08355859%2016.875,4.55582812%20Z%20M15.75,10.125%20C18.8566017,10.125%2021.375,12.6433983%2021.375,15.75%20C21.375,18.8566017%2018.8566017,21.375%2015.75,21.375%20C12.6433983,21.375%2010.125,18.8566017%2010.125,15.75%20C10.125,12.6433983%2012.6433983,10.125%2015.75,10.125%20Z'%20id='形状结合'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",_hoisted_1$c={class:"data-plugin-group"},_hoisted_2$9={class:"plugin-list"},_hoisted_3$8=["onClick"],_hoisted_4$8=["src"],_hoisted_5$5={class:"plugin-name"},_sfc_main$c=vue.defineComponent({__name:"data-plugin-group",props:{plugins:{}},emits:["select"],setup(e,{emit:t}){const n=e,o=t,a={alert_plugin:alarmImg,log_plugin:logImg,trace_plugin:traceImg,query_promql_metric_plugin:metricImg,事件查询:eventImg,Profiling查询:profilingImg,图谱查询:graphImg},s=vue.computed(()=>n.plugins.map(i=>({id:i.id,name:i.alias,icon:a[i.name]})));return(i,r)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$c,[vue.createElementVNode("div",_hoisted_2$9,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(s.value,l=>(vue.openBlock(),vue.createElementBlock("div",{class:"plugin-item",key:l.id,onClick:c=>o("select",l.id)},[vue.createElementVNode("img",{class:"plugin-img",src:l.icon},null,8,_hoisted_4$8),vue.createElementVNode("h4",_hoisted_5$5,vue.toDisplayString(l.name),1)],8,_hoisted_3$8))),128))]),s.value.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:0,title:"暂无数据插件"})):vue.createCommentVNode("",!0)]))}}),DataPluginGroup=_export_sfc(_sfc_main$c,[["__scopeId","data-v-782d393d"]]),_hoisted_1$b={class:"search-select-wrapper"},_sfc_main$b=vue.defineComponent({__name:"index",props:{modelValue:{default:()=>[]},placeholder:{default:"请选择"},options:{default:()=>[]}},emits:["update:modelValue","change"],setup(e,{emit:t}){const n=e,o=t,a=vue.shallowRef([...n.modelValue]);vue.watch(()=>n.modelValue,i=>{a.value=[...i]},{deep:!0});const s=i=>{a.value=i,o("update:modelValue",i),o("change",i)};return(i,r)=>{const l=vue.resolveComponent("bk-search-select");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$b,[vue.createVNode(l,{modelValue:a.value,"onUpdate:modelValue":[r[0]||(r[0]=c=>a.value=c),s],"value-behavior":"need-key",data:n.options,placeholder:n.placeholder,uniqueSelect:!0,clearable:!0},null,8,["modelValue","data","placeholder"])])}}}),_hoisted_1$a={class:"agent-plugin-group"},_hoisted_2$8={class:"top-operate-area"},_hoisted_3$7={class:"buttons"},_hoisted_4$7={class:"agent-content-area"},_hoisted_5$4={class:"agent-cards"},_hoisted_6$3={class:"card-header"},_hoisted_7$2=["src"],_hoisted_8$2={class:"agent-summary"},_hoisted_9$2={class:"main-info"},_hoisted_10$2={class:"name-text"},_hoisted_11$2={class:"other-info"},_hoisted_12=["title"],_hoisted_13=["title"],_hoisted_14=["title"],_hoisted_15={class:"agent-desc"},_hoisted_16={class:"agent-btns"},_sfc_main$a=vue.defineComponent({__name:"agent-plugin-group",props:{properties:{},plugins:{}},emits:["select"],setup(e,{emit:t}){const n=vueRouter.useRouter(),o=vueRouter.useRoute(),a=[{id:"alias",name:"智能体名称"},{id:"created_by",name:"创建人"}],s=e,i=t,r=vue.ref("all"),l=vue.ref([]),c=vue.computed(()=>Object.keys(s.properties).map(y=>({id:y,name:s.properties[y]}))),u=vue.computed(()=>s.plugins.filter(y=>!y.display_content.hidden)),v=vue.computed(()=>{const y=u.value.filter(g=>r.value!=="all"?g.group===r.value:!0);return l.value.length>0?y.filter(g=>l.value.some(w=>w.id==="alias"?g.alias.toLowerCase().includes(w.values[0].id.toLowerCase()):w.id==="agent_type"?(g.display_content?.agent_type||"")===w.values[0].id:w.id==="space_name"?(g.display_content?.space_name||"").toLowerCase().includes(w.values[0].id.toLowerCase()):w.id==="created_by"?(g.display_content?.created_by||"")===w.values[0].id:!0)):y}),_=()=>{const{href:y}=n.resolve({name:"spaceResource",params:o.params});window.open(y,"_blank")},m=()=>{const{href:y}=n.resolve({name:"spaceResource",params:o.params});window.open(y,"_blank")},p=y=>{l.value=y},h=y=>{y.display_content.fetch_url&&window.open(y.display_content.fetch_url,"_blank")},f=y=>y?dayjs(y).format("YYYY-MM-DD HH:mm:ss"):"--";return(y,g)=>{const w=vue.resolveComponent("bk-button"),d=vue.resolveComponent("bk-alert"),k=vue.resolveComponent("bk-radio-button"),C=vue.resolveComponent("bk-radio-group");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$a,[vue.createVNode(d,null,{default:vue.withCtx(()=>[g[3]||(g[3]=vue.createTextVNode(" 如有需要,您可以申请更多的智能体权限 ",-1)),vue.createVNode(w,{theme:"primary",text:"",size:"small",onClick:_},{default:vue.withCtx(()=>[...g[2]||(g[2]=[vue.createTextVNode("点击申请",-1)])]),_:1})]),_:1}),vue.createElementVNode("div",_hoisted_2$8,[vue.createElementVNode("div",_hoisted_3$7,[vue.createVNode(w,{theme:"primary",onClick:m},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(icon.Plus),{class:"add-icon"}),g[4]||(g[4]=vue.createTextVNode(" 智能体 ",-1))]),_:1}),vue.createVNode(C,{modelValue:r.value,"onUpdate:modelValue":g[0]||(g[0]=B=>r.value=B),type:"capsule"},{default:vue.withCtx(()=>[vue.createVNode(k,{label:"all"},{default:vue.withCtx(()=>[...g[5]||(g[5]=[vue.createTextVNode("全部",-1)])]),_:1}),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(c.value,B=>(vue.openBlock(),vue.createBlock(k,{key:B.id,label:B.id},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(B.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),vue.createVNode(_sfc_main$b,{modelValue:l.value,options:a,placeholder:"搜索智能体名称、创建人",onChange:p},null,8,["modelValue"])]),vue.createElementVNode("div",_hoisted_4$7,[vue.createElementVNode("div",_hoisted_5$4,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(v.value,B=>(vue.openBlock(),vue.createElementBlock("div",{class:"card-item",key:B.id},[vue.createElementVNode("div",_hoisted_6$3,[vue.createElementVNode("img",{src:B.display_content.icon,alt:"",class:"agent-img"},null,8,_hoisted_7$2),vue.createElementVNode("div",_hoisted_8$2,[vue.createElementVNode("div",_hoisted_9$2,[vue.createElementVNode("div",_hoisted_10$2,vue.toDisplayString(B.alias),1)]),vue.createElementVNode("div",_hoisted_11$2,[vue.createElementVNode("span",{title:B.display_content.agent_code},"ID:"+vue.toDisplayString(B.display_content.agent_code),9,_hoisted_12),vue.createElementVNode("span",{title:B.display_content.created_by},"创建人:"+vue.toDisplayString(B.display_content.created_by),9,_hoisted_13),vue.createElementVNode("span",{title:f(B.display_content.created_at)}," 创建时间:"+vue.toDisplayString(f(B.display_content.created_at)),9,_hoisted_14)])])]),vue.createElementVNode("p",_hoisted_15,vue.toDisplayString(B.display_content.description||"--"),1),vue.createElementVNode("div",_hoisted_16,[vue.createVNode(w,{theme:"primary",size:"small",onClick:D=>i("select",B.id)},{default:vue.withCtx(()=>[...g[6]||(g[6]=[vue.createTextVNode("选择",-1)])]),_:1},8,["onClick"]),vue.createVNode(w,{size:"small",onClick:D=>h(B)},{default:vue.withCtx(()=>[...g[7]||(g[7]=[vue.createTextVNode("体验",-1)])]),_:1},8,["onClick"])])]))),128))]),v.value.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:0,"is-search":l.value.length>0,title:"暂无智能体",onClear:g[1]||(g[1]=B=>l.value=[])},null,8,["is-search"])):vue.createCommentVNode("",!0)])])}}}),AgentPluginGroup=_export_sfc(_sfc_main$a,[["__scopeId","data-v-f0779642"]]),_hoisted_1$9={class:"big-model-card"},_hoisted_2$7={class:"card-header"},_hoisted_3$6={class:"model-info"},_hoisted_4$6={class:"model-name"},_hoisted_5$3=["title"],_hoisted_6$2={class:"version"},_hoisted_7$1={key:0,class:"new-tag"},_hoisted_8$1={class:"other-info"},_hoisted_9$1={class:"other-info"},_hoisted_10$1={class:"model-desc"},_hoisted_11$1={class:"tag-list"},_sfc_main$9=vue.defineComponent({__name:"big-model-card",props:{card:{}},setup(e){const t=e;return(n,o)=>{const a=vue.resolveComponent("bk-tag");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$9,[vue.createElementVNode("div",_hoisted_2$7,[o[0]||(o[0]=vue.createElementVNode("img",{src:"",alt:"",class:"model-img"},null,-1)),vue.createElementVNode("div",_hoisted_3$6,[vue.createElementVNode("div",_hoisted_4$6,[vue.createElementVNode("div",{class:"name-text",title:t.card.name},vue.toDisplayString(t.card.name),9,_hoisted_5$3),vue.createElementVNode("div",_hoisted_6$2,"线上版本:"+vue.toDisplayString(t.card.version),1),t.card.isNew?(vue.openBlock(),vue.createElementBlock("span",_hoisted_7$1,"new")):vue.createCommentVNode("",!0)]),vue.createElementVNode("p",_hoisted_8$1,[vue.createElementVNode("span",null,"基座模型: "+vue.toDisplayString(t.card.baseModel),1),vue.createElementVNode("span",null,"激活参数: "+vue.toDisplayString(t.card.size),1),vue.createElementVNode("span",null,"任务阶段: "+vue.toDisplayString(t.card.taskStage),1)]),vue.createElementVNode("p",_hoisted_9$1,[vue.createElementVNode("span",null,"更新人: "+vue.toDisplayString(t.card.updateBy),1),vue.createElementVNode("span",null,"更新时间: "+vue.toDisplayString(t.card.updateTime),1)])])]),vue.createElementVNode("p",_hoisted_10$1,vue.toDisplayString(t.card.desc),1),vue.createElementVNode("div",_hoisted_11$1,[vue.createVNode(a,null,{default:vue.withCtx(()=>[...o[1]||(o[1]=[vue.createTextVNode("tag1",-1)])]),_:1}),vue.createVNode(a,null,{default:vue.withCtx(()=>[...o[2]||(o[2]=[vue.createTextVNode("tag2",-1)])]),_:1})])])}}}),BigModelCard=_export_sfc(_sfc_main$9,[["__scopeId","data-v-8a0aed6d"]]),_hoisted_1$8={class:"small-model-card"},_hoisted_2$6={class:"model-name"},_hoisted_3$5={class:"name-text"},_hoisted_4$5={class:"en-name"},_hoisted_5$2={class:"extend-info"},_hoisted_6$1={class:"model-desc"},_sfc_main$8=vue.defineComponent({__name:"small-model-card",props:{card:{}},setup(e){const t=e;return(n,o)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$8,[vue.createElementVNode("div",_hoisted_2$6,[vue.createElementVNode("span",_hoisted_3$5,vue.toDisplayString(t.card.name),1),vue.createElementVNode("span",_hoisted_4$5,"("+vue.toDisplayString(t.card.enName)+")",1)]),vue.createElementVNode("p",_hoisted_5$2,[vue.createElementVNode("span",null,"依赖历史数据长度 : "+vue.toDisplayString(t.card.dataLength)+" 天",1),vue.createElementVNode("span",null,"数据频率:"+vue.toDisplayString(t.card.frequency)+" 秒",1),vue.createElementVNode("span",null,"发布人:"+vue.toDisplayString(t.card.publisher),1)]),vue.createElementVNode("p",_hoisted_6$1,vue.toDisplayString(t.card.desc),1)]))}}),SmallModelCard=_export_sfc(_sfc_main$8,[["__scopeId","data-v-98fa588c"]]),_hoisted_1$7={class:"model-plugin-group"},_hoisted_2$5={class:"top-operate-area"},_hoisted_3$4={class:"search-area"},_hoisted_4$4={class:"mode-content-area"},_hoisted_5$1={class:"card-list"},_sfc_main$7=vue.defineComponent({__name:"index",setup(e){const t=[{id:1,name:"DeepSeek",version:"V1.0.1",isNew:!1,baseModel:"DeepSeek-R1",size:"51B",taskStage:"SFT",desc:"指由许多松散连接的小部分构成的程序。馄饨式代码可以和面条式代码作类比,后者用面条来代表程序的结构,而前者用馄饨(Ravioli)来代表程序中的对象。这种代码虽然,(Ravioli)来代表程序中这种代码虽然.这种代码虽然.这种代码虽然,这种代码虽然.这种代码虽然.这种代码虽然,这种代码虽然.这种代码虽然表程序中的对象。",updateBy:"harokoyang",updateTime:"2025-05-05 10:41:00"},{id:2,name:"DeepSeekDeepSeekDeepSeekDeepSeekDeepSeekDeepSeekDeepSeek",version:"V1.0.1",isNew:!0,baseModel:"DeepSeek-R1",size:"51B",taskStage:"SFT",desc:"指由许多松散连接的小部分构成的程序。馄饨式代码可以和面条式代码作类比,后者用面条来代表程序的结构,而前者用馄饨(Ravioli)来代表程序中的对象。这种代码虽然,(Ravioli)来代表程序中这种代码虽然.这种代码虽然.这种代码虽然,这种代码虽然.这种代码虽然.这种代码虽然,这种代码虽然.这种代码虽然表程序中的对象。",updateBy:"harokoyang",updateTime:"2025-05-05 10:41:00"},{id:3,name:"DeepSeek",version:"V1.0.1",isNew:!1,baseModel:"DeepSeek-R1",size:"51B",taskStage:"SFT",desc:"指由许多松散连接的小部分构成的程序。馄饨式代码可以和面条式代码作类比,后者用面条来代表程序的结构,而前者用馄饨(Ravioli)来代表程序中的对象。这种代码虽然,(Ravioli)来代表程序中这种代码虽然.这种代码虽然.这种代码虽然,这种代码虽然.这种dfafasdfasd",updateBy:"harokoyang",updateTime:"2025-05-05 10:41:00"}],n=[{id:1,name:"时序异常检测模型",enName:"Time Series Anomaly Detection Model",dataLength:35,frequency:60,publisher:"harokoyang",desc:"指由许多松散连接的小部分构成的程序。馄饨式代码可以和面条式代码作类比,后者用面条来代表程序的结构,而前者用馄饨(Ravioli)来代表程序中的对象。这种代码虽然,(Ravioli)来代表程序中这种代码虽然.这种代码虽然.这种代码虽然,这种代码虽然.这种代码虽然.这种代码虽然.这种代码虽然.这种代码虽然表程序中的对象。"},{id:2,name:"时序异常检测模型",enName:"Time Series Anomaly Detection Model",dataLength:35,frequency:60,publisher:"harokoyang",desc:"指由许多松散连接的小部分构成的程序。馄饨式代码可以和面条式代码作类比,后者用面条来代表程序的结构,而前者用馄饨(Ravioli)来代表程序中的对象。这种代码虽然,(Ravioli)来代表程序中这种代码虽然.这种代码虽然.这种代码虽然,这种代码虽然.这种代码虽然.这种代码虽然.这种代码虽然.这种代码虽然表程序中的对象。"},{id:3,name:"时序异常检测模型",enName:"Time Series Anomaly Detection Model",dataLength:35,frequency:60,publisher:"harokoyang",desc:"指由许多松散连接的小部分构成的程序。馄饨式代码可以和面条式代码作类比,后者用面条来代表程序的结构,而前者用馄饨(Ravioli)来代表程序中的对象。这种代码虽然,(Ravioli)来代表程序中这种代码虽然.这种代码虽然.这种代码虽然,这种代码虽然.这种代码虽然.这种代码虽然.这种代码虽然.这种代码虽然表程序中的对象。"},{id:4,name:"时序异常检测模型",enName:"Time Series Anomaly Detection Model",dataLength:35,frequency:60,publisher:"harokoyang",desc:"指由许多松散连接的小部分构成的程序。馄饨式代码可以和面条式代码作类比,后者用面条来代表程序的结构,而前者用馄饨(Ravioli)来代表程序中的对象。这种代码虽然,(Ravioli)来代表程序中这种代码虽然.这种代码虽然.这种代码虽然,这种代码虽然.这种代码虽然.这种代码虽然.这种代码虽然.这种代码虽然表程序中的对象。"}],o=vue.ref("big"),a=vue.ref(""),s=vue.computed(()=>o.value==="big"?"搜索 模型名称、基座模型、任务阶段、更新人、tag":"搜索 模型名称、发布人、描述");return(i,r)=>{const l=vue.resolveComponent("bk-radio-button"),c=vue.resolveComponent("bk-radio-group"),u=vue.resolveComponent("bk-select"),v=vue.resolveComponent("bk-input");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$7,[vue.createElementVNode("div",_hoisted_2$5,[vue.createVNode(c,{modelValue:o.value,"onUpdate:modelValue":r[0]||(r[0]=_=>o.value=_),type:"capsule"},{default:vue.withCtx(()=>[vue.createVNode(l,{label:"big"},{default:vue.withCtx(()=>[...r[2]||(r[2]=[vue.createTextVNode("大模型",-1)])]),_:1}),vue.createVNode(l,{label:"small"},{default:vue.withCtx(()=>[...r[3]||(r[3]=[vue.createTextVNode("小模型",-1)])]),_:1})]),_:1},8,["modelValue"]),vue.createElementVNode("div",_hoisted_3$4,[o.value==="big"?(vue.openBlock(),vue.createBlock(u,{key:0,class:"order-select"},{prefix:vue.withCtx(()=>[...r[4]||(r[4]=[vue.createElementVNode("span",{class:"order-select-prefix"},"排序",-1)])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(v,{modelValue:a.value,"onUpdate:modelValue":r[1]||(r[1]=_=>a.value=_),class:"search-input",placeholder:s.value,type:"search"},null,8,["modelValue","placeholder"])])]),vue.createElementVNode("div",_hoisted_4$4,[vue.createElementVNode("div",_hoisted_5$1,[o.value==="big"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},vue.renderList(t,_=>vue.createVNode(BigModelCard,{key:_.id,card:_},null,8,["card"])),64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},vue.renderList(n,_=>vue.createVNode(SmallModelCard,{key:_.id,card:_},null,8,["card"])),64))])])])}}}),ModelPluginGroup=_export_sfc(_sfc_main$7,[["__scopeId","data-v-cd4ca0c5"]]),_hoisted_1$6={class:"plugin-group"},_sfc_main$6=vue.defineComponent({__name:"output-plugin-group",setup(e){return(t,n)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$6,[vue.createVNode(EmptyException,{title:"暂无结论输出插件"})]))}}),OutputPluginGroup=_export_sfc(_sfc_main$6,[["__scopeId","data-v-474d5047"]]),pluginDefaultIcon="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAADwCAYAAAA+VemSAAAABmJLR0QA/wD/AP+gvaeTAAAdWElEQVR4nO3de3wU5b0/8M/32Q0J14oCu0GtP2yxSq5A6gWtLZJNIAEFQbRWba2VSz21PbUX7al9pbYee3rxVuVmEY/UC6ilFgiQS6MtpV4QkmyCaOpRj5pkAyiKkMvuzvf3B+CJYTfJ7s7ss7Pzfb9e/MHO7jOfwH4yszszzwBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCOAjpDpCuKlsOjBrSGbrEAC6AQh4M/iwBo4loKIMPAggA3ALQyy4jXHVJwamv6c4s7EcKbKIKZnWRv+NSJr4BQAmAIYN9LQENYFr2vmv/IwtzcnqsSynSiRTYBMxM1c2BqwhcAaazEhzuTVb4XkmO9y+mhBNpTQqcoJr6fWexO/QHMH3JzHEZWHlQHbhZx9a4rrljRDjM4wAgzPxxaYG3I9kZxOBIgRNQ3RS4DszLAAy3aBVVww8F506bdnqnReMDAKqbWz8Lw7UQbMwAURGAMX2echiAn4ieDxNvKM3xvmhlHjF4UuA4VDCrC5va/wugH1i9LgI2bs/1zK0gMsweu8rfWkSsbgdhNgAVw0sbiXDXjBzPOiJis3OJwZMCx4iZqaYp8AcA30zian/qy/PeadZg2/fuG9nZE/4dCDcgtuJ+CgM73Eb4m/INuj5S4BhVNbX9jpi+n+TVdlPYlV9cOPb1RAeqbWidYij1JICJJuQCgMOk+BvFOdlPmzSeiEHcv32dqLqx7XoN5QWATHaF70hkAGaman/7dwyldsC88gLAcDZoXU1jYJGJY4pBki3wIFXt6ZhIYaMewDBNEcLKZXxuxqTxb8f6wq3N75zsMjJWA5hrQa7jDFJ8pWyJk0u2wIPAzERhYxX0lRcAXEZYXRPri2r9gWkuI2M3rC0vACg26JFqf+s5Fq9H9CIFHoSapo55AL6iOwcYcwb71ApmVeNvv80APw/gsxam6m04oJ6se/PNrCStz/FkF3oQavzt9QwU6M4BIOge0Tlq+oQJXf09qcYf8BjgtQT4khXs03i5Ly/725aNzkw1e9pOR0iNJ6IRhkKnQRQY0zn27aIiClq13lQkBR7AtsbWixWp53Xn+AQj35fv9UdbXNMYKGbitQC8SUx1IqIFvlzPM2YNV/da65hQj/oqA3MIOB/AyAhPCxKokWHUKagNl+SO+2e6H6eWAg+gxt/+EAPf0p3jOAKVFOd5qvs+XlfH7vCYwM8ZuBWp8dHoYCjEk2dNzn4rkUEqd7WNzRhCPwPjWwBi3TXfS0z3vu/avyZdLxBJhf/olMXMxMBs3Tl6CxOf8Cbe5n/v9NCYwHMM/ASp8396kttNT+zcyRnxDlDV2HZFRgbtBePfEHt5AeBsJl4x2jhlb1Vz+6Xx5khlqfKfnZLqGlvPgu5d0T6Iqbv336sb2y9TcNUDuFBTpP6cfzCr4xfxvLCqqe0OIloP4GQTckwgA89W+9v/WNlyYJQJ46UMKXA/DOUq1J2hL4MQAIDKlpbMKn/7fSBsgDlvcksw8w+r/IGSWF5T42+/k5hutyDO1zK6gi/U+gOfs2BsLaTA/WDGBN0Z+ggHu8ItVXs6JmZ0jdpBwM1I/e8xFIEfrWvuGNSeTHVT4LpjHwWsco4B3v7X5rYcC9eRNFLgfjBotO4Mn0YNWUPUXAobrwA8RXeaGHhChrG2grnf91tNY+DMY5dnWs0bNqimpjFwZhLWZSkpcD8UGS7dGT6NPwfCY4h8CCXVFV/UFPhxv88gvhfWXVvdl5eJN9v9M7EUuB8MdUh3hj4+oztAIhi4o9YfmBZpWW1z27mMwZ9pZpKzM7qCq5K8TlNJgfvF7+hOkGbcBvjxTY1vn/DRxDDoZh2BAFxZ7W9bqGndCZMC94NhNOrOkIbOyKLM1b0f2LHjnaGw/mKL6Jju2dbQnqxdd1NJgftxcnd2A4CPdOdINwzMq2pqu+n434+MHHIRkvfZ90SE8YrwHW3rT4AUuB9FRRQEYZPuHOmImH67tSlQAAAMPld3HhC+V9nSkqk7RqykwAMwDGOl7gxpKsvF/GRdc8cIIvq87jAAPEO6RurbjY+TFHgApfnj/wYgda5GSi9nB8P8ADP3ncZWC2ZcrTtDrFL9LJ6UsLUpUOBifhlA3Cfmi359BCAVjsd2BrMOjS6bOLF74KemBtkCD8LMXE8DwP+hO0caS4XyAsDQzK5RU3WHiIUUeJB8edm/YUA+D6c5JiPlLmDpjxQ4Br5cz1Iw7tGdQ1jHAGx1pZIUOAZExL587/cZdB3k+HBaIj7hvlApTQoch5I8z1oVdk8C+FEAYd15hHmI1FDdGWIhBY7TjMIx7/nysr9OTGcR8J8gTvi2J0I/NjikO0Ms5DCSieoa3j0tpFwFAJ0J8CSAFkF+SdoL4QFfrtc2p1XKm8tE0wtOe9eXl72ZFLcBdBXk39eO3tAdIBZu3QHSSd2bb2aFPs66mw1aqjuLiBNzve4IsZACm2RbY+vZoY/VOgD5urOIuHUOPxR6UXeIWMgunglqmtq+rkjthJTX5njLtGmnd+pOEQvZAiegrrljRMgIL2Oma3VnEYljxuqBn5Va5FvoOFU1dxQSh9eB6SzdWYQp6otzPVPsdi8l2YWOQ3Vj27+RYfxTyps2mIi/b7fyArILHZNNjW+PzqLM1QzM051FmIjwYHFudp3uGPGQAg9SrT8wzQA/zsAZurMIUz3/AR24RXeIeMln4AFUMKsL/YEfgfALyC+8NMPbg1lDyssmnmLbC1OkwP2o8Qc8fPSChZhuziVsYY17ROe3p0+Y0KU7SCJkixJFVUP7DAb/ESl2e1GRsD2k1C3FOeO26g5iBtkC91FXx+7QmEAFgNsg39LbQRADz1XWDaCamFZvzxv3lwoiIwm5kkIK3Ms2/3unK6jHAbpIdxYxaP+CgWvhorMIxucYdHSPycARAr1jMDdkuNWL03PGfaw5pyWkwMdUNbdfSgYeBnCK7iwiZut9ed4rdYfQwfEF3rmTMw5mBn7D9rhZtoiGsMiX631Id4xkc/QbduPO1mFZmfQngEp1ZxEJ6wTjPF++1687SDI59kuaujp2Z2Wqp6S8aWMoCOvsepfBeDm2wMGx7f8FoEx3DmGqc4joQd0hksmRu9A1TW3TmakWDv350x7R1325nkd1x0gGx22B169nl2HQ7yHlTV/My7Y1tp6tO0YyOK7AJ08KXEGEHN05hKWGK1Lrdux4x1ZzPMfDcQUGy4RzDpF/eFTGvbpDWM1Ru5FVe/eNp2D4XTjs53YyAq4qzvOu053DKs7aAgeNGZDyOgoDq7Y2d3xedw6rOKrAxDxFdwaRdKPcBj9Z2dKSqTuIFRxVYBDS9jexiI7BU91dI3+tO4cVnFVguVDBsQj4TpU/kHZzmTmrwOywn1f0RgpYXbunNa3mNHPUG5pJbsrtZAwebYTVkzt38kATANiG06bU+V/dAQbpbQIaAfwPA/uYj96zlghDCXQqAxMBFAL4jNaU9nT+B5kddwL4ke4gZnBUgQlo0J0hCgbwHAhPuMOhLdMLTnt3oBdUMKvzmzvyFHO5AhYyUJCEnGmCf1DV2PZcSX52pe4kiXLUMdEafyCfwalU4jARrWUO/9qXN/7VRAaq8rcWAeoWAhbCYR+N4rQ/7HLlz5w0tk13kEQ4qsAAUO1vbwH0H05i4CWDaNHMXI+pv1C2NbTnKoV7ABSbOW6asv1UPI77Tc3Mf9AdAYRfZez3XGh2eQGgtMDb5Mvz+sD8TQBpOZGbia7Y1tx+nu4QiXBcgTPCWSsJ9IGm1YeJ+Hpfrve26dMpZOWKfPnZawDjXAAtVq7H5ojC9APdIRLhuF1oAKjxt9/MwH1JXi0T8fXFudn/PdATV27cOYzVkCIizjHA2QQMASNI4HaD1KtDgpkv33DZ2YcGs9K611rHhHpc2wA5jTSKILlD2cXnnHZAd5B4OLLAFczqwqbAXwF8OVnrZOCukjzvT6IuZ6aHtvhnGsSLwVwKIKuf4UIA/kZMT8AIPr54TtGR/ta9tfmdk11GxvMAcuNLn94YdF1Jnmet7hzxcGSBAaC2fv+phitUD2CM5StjvOg+4Lko2m7zsk2NUxUZy0A4N/ahsQ+Eu9TY0AOLi4qC0Z5Xu6f1DCOsXgYwNtZ1pD3CKl+ud7HuGPFw3Gfg42YUjnkP4G/g6DFYKxlwqaXRyrtyS8PNShn/jKe8AEDAWGLczQH3yysqd02K9rwZk8a/DaJrYf3PazvM9t0zcWyBAcCXl72Zie+xeDVP+XLG7Y60YGVl/e3MfB8GvrfPwAgFgHpx5dbd5dGe4sv1bCNgdcLrSjMEnKo7Q7wcXWAAOEjv3wbg5WN/3Q/m3QBqADzPjGYcvTFW3Igp4pdly7c0XMXAHYmMHcEINmjD8s31s6M9oSfIPwHknPA+RugOEC/HfgburcYf8FDY5T66W/1pdXXs7jmlrUApNYuY5jJ4agxD/8uX553Y98GHK3eN7YF6DcDoRHL34zCxumBxeX7EuxRUN7XfBcatFq3bjtp9ed5s3SHi4ahzoaMpzvMEoi079tn1lWN/flm7p/WMcFjNJWAegIsAuKK9loGI59r2sOuHILaqvAAwnMl4fP365qkLF+b09F3oDoceDCn3D9FPdofZrztAvBy/Cx2rGZPGv12S573Pl+f9SjDI2QR8C8AmACfc6V0R/tn3sYq6OjeIr09C1NwDI4M3RVpw7GKJuiRksAl+XXeCeEmBE1A2JXtfcZ53tS/PO2dohmscwFcy8CSOfcaksHHCG8PTedJ5SMahKwDE+OH69c1DIi4DNiYjgx0Q4UXdGeIlu9AmuejssYcArAewvrKlJTOzc8QlRjDrjROfSZOTGCv7/eE9swA8e0IKw9jOSn5/AwBYbdUdIV5SYAuUTZzYDWBLpGVEPB6cxO8OicoQocDdww43Z3SNNODwvTBmNPvyPY26c8RLCtzH/ZUvjMrgrIsVUT4TjycDbiYEmOhVRcHnF88sSuz6UTbhmG8MiBDxW/OyiRO7q/3t+wB4kpkn1SjQ/bozJEIKfMzyyvrJBPwYwFwQMhkMMD7ZWBIzmN28orLhBQI/YxA/s3TW5LdiXhGr90HJOxmKGaf1s/gjOLvA//O+a/8jukMkwvEFfnRbw/DOEP+OgRsx8O4kAXwBAxcQ029Xbql/BcDTHOJnlsyZPLjL9hS/luSTGfvb4jv5MBKTUjctzDnxMJudOLrAK7fuzD4S4i1HT0OMHTOmApgKF921YnN9AxGeYRjPLCmbsifqaxRtpzAn87PnwWgLCDSanXpqNOPe4pxxtv3y6jjHnom1bFPjaJfifzD4HLPHJtCrBvhpUsYzS2ZOOWHWjRWV9bUALjF7vRExNi8pLzzh1Mq63R+cFHJ365rYQLdN7v2eeVZPqpAMjv0G0qXCj1hRXgBg8DkE3A5D1a+srG9Zvrn+rhWbdxV9spxh9QUU/4fouUgPB1V3LKeEppM/B7MOLUiH8gIOLfCKyoYFDLo0Geti4PNEuBWkXl5RWf/m8sr635IyDgCoTcLqe4Lu8OORFpDC9CSsP5UYAO784FXPgmOH+dKC43ahmZlWbmlohP7ZKToBWHsHeaZlS8oLTjidkpmppinwOlJgds4kCRybdaNKdxCzOe5LrOVbGs9T+ssLWFxeBlozXO7bIy2r3bOvFE4pL6HWTeqa6Tnj2nVHsYLjdqEJvEB3hiToUoQrvzUz5/2+C5iZOGxUaMiUbCEAP/1HjqckXcsLOKzAzEwEzNedw2KHFdTli2cVbo+0cGt9+xkgDuLoZ8J09Q4ZxiW+PO+dFUTp/HM66zPwqi27v2gwvaQ7h4X8xOpr0S7k763utdYxoaCrDMxXACgBEPGqJbshYCPcoevtOk1srBz1GZiZ0nX3+XUw7iFPaHV/M1P2Nv0L4/cDeBTAo5sa3x49BEOKiTAHoHmw5xQzIYDv3J7rvSPdt7q9OavA4PlpuNMRBqiBwe8PO5AxBMCgCtzb7PwzPgDwFICntjW0D1eKy8G4HkSlsMc/2BsM46qSvPE7dQdJNjv855hi5daGKWzwK7pzWKwLQA1AT1FG8NnFvqIPExmsurljMoWN3zIl6ayx+KwLZmUsKpt4iiMn6nNMgVds2f2fYLpNd44k6mamvxOwid14YmlpQUc8gzAz1fo7FjHxvej/bhHJ1gnCd3253od0B9HJOQWurN8L4Au6c2gSBvACmJ4Kw73upvKcmA+rVDe0nw+FTQBOMT9ezPYYBq4sLfA26Q6imyMKvGLrrgIYql53jhTxSZnJFVwfywQF1c0dk2EYzwEYZVm6gT3c1W18Z07R+H7vB+UUzihwZf3PAfxMd44UFGbQdsB4TIXDjw10kzQAqPa3lQO0Ecl/7xwCY4kv3xvx3G6ncsqJHOl6+ChRLgJ/mUCr2OV+Y0Vlw3UDvcCXl70ZwANJyNYL7WKXmirlPVHab4GP3vBLNevOYRvMT2QOO+mb10+fcMI818dVthwYldEVbAEwzvI0wO9DWYd+lE5XEJnJAVtgJVvfWBB9tbvzwz9Hm08aAMomnvIRM99tcZL3wZhXkuf9rpQ3OgcUWHaf41B6YETPvf09QWWE/4AEb/wWDQM7oIzJvnzvCdPhik9L6wKv2lx/FoA83TnsiEBLV23dVRxt+bFzjatNXq3BwF0Z+z1f9uWM/1+Tx05LaX0qJRMt6HU/63fBaGDFbcRkMGgEgc8GkI80/3eIl2GoXwOYEvUJhFowot7KNEYBAl3ry/OY/UshraX1G9cASojpN6DwI9FmilyzYfdJXZl0OQHfg2yt+5q8bGvDl749s+DvkRZS2HjFlNuzpPlF91ZK22+h169f7/pg6JmjF88pGtStIysqWHm/2LAIhN/AnlfjWIIZ9y8tL/xupGW19ftPNVyhdxMYPgSg4h+5nrucdAWRmdK2wPFavqkhlxRvAfq9o4GT7FpSVhhxBsujVy7h4zjHfQdKXe3LGRdx4gExOGn9JVY8ls4uaAqr8HQAcZ38n4Ymmj0gARvJHZos5U2cFDiCm2ZO/RcZuArpPe3MYI2sqOCI7xPKdH0mxrF6QPj3Gbmey5wyY4bVpMBRLJ5dWAemFbpzpIBQRUWUz6chY0IM47zBMC705XrvJUri3d3SnBS4H+zGzwE4+qoXAt6Luow5+iGmXhh4MpiVMcWJM2ZYTQrcj6WlBR1gPKE7h04M7O5n8UAzdXSCsKgkz/tVp86YYTUp8ACUy3hSdwadCBTxbgYbd7YOA+Dr56V7CXS+02fMsJoUeABdxsi/4+hcU05khNi9IdKCrEzXTADDI7+M1xoGiorzPI0WZhOQAg/o5rKJ3QCi3u83rTH+EW36HQLPi/DwIWK6xpeXfV1pgfewxekEpMCDw3hLdwQdSNHTkR7fuZMzACrv8+xd7FJTi/M9jyUjmzhKCjwYhISmZ7UpVow/RVpwcOi+GQwe/ckDhFXBrI+mlUwa15K0dAJAml/MYB52Oe+sU3rhxrKCiOc5MxvHd58/ZOYbS/Kyn0piMNGLbIEHhU7WnSDZCPxMpMcrmBUYlzLwkmFgckm+lFcn2QIPzpm6AyQZGxS5wBc1tl1oKLX+5G7PD4qKKObbuAhzSYEHsPrZvSOD6HLYhPD0ytJZhW9FWuIa1f1y8YQJEa8PFsknu9ADCGZ0fwWAS3eO5OKI3z4DwPQJ0WerFMknBR4QX6k7QbKFVTji7rNIPU77ajUmDz3r94Qzwm8htW7qZbX6JWWFk3WHEINj+y3wmro3LStXOMO4Fc4qL8CQra+N2L7A3Z0f3mNFiZdvasgF+Cazx0115FZRP/+K1GPrb6Hvr3xhFIDruzoPvgvgTrPGXVP3ZlZ354drAWSYNaZNNC8uzd9bUcHKc179xWD4iKmAFLwAwIxDDH6VoP7ag2Ebj50nLjSy9Wfg5ZW7v0agPwLoZoWLl84sfCnRMSsqWHnPa3gCjIUmRLQXxi8J9DYT34YBjn0zsI+A3/Vg+L1SZH1sXeAVlfUbAMw99td2g+gr355V8Fq8463cuTODO9xrAHzNlIA2w0ArAeNjfJk/rMKX3zRz6r8sCSX6ZdsCP1jXPMLVGewAMLTXwx1EmL94VmHMsx0+uM1/uisUfgyEL5mX0hkY2KdYzVhcnu/XncVpbFvgFZX1VwKINFtGiIH7srr5l9fPm3xwoHHuXr9j6LDhw5aC8DMAsc6yKP7Pu+yiqUtLC2Q63iSy8ZdYvCDK7x83Abd0Z9KNKyrr/5sMbACHXux99/kH65pHqM7QuQTjUgDXADglWanT2GkqbDwE4DLdQZzEllvglRt3DmOXex+AYYN8CQNoB9B57DUe2PRnT3UElC4uK4w4j5Ywny2PA7MrowyDLy9wtKzZOPrNqhdSXssw8GPdGZzElgUm8HzdGURU0x/YvOsM3SGcwnYFvnv9jqEM0+5JK8xHGeQq0x3CKWxX4OEjhpZCbv+Z0gzgPN0ZnMJ2BWbQAt0ZRP8IOEt3BqewVYHvr2zJhOw+24AxTncCp7BVgYfwxxdDTrZIeQSy8fkF9mKrAoPoAt0RxMAY+Fh3BqewV4EZsdyPVugT9Zakwly2KjARRurOIAbGgFzUkCS2KjCD5YZZNqDAMV8NJuJjqwID9JbuBGJAR9zBobW6QziFrQpMihOecUNYjZ++4bKzD+lO4RS2KjCC4TrIN5xmGPA66TgxFN9t0dgiAlsVePGcoiNgelR3DnvjA8T8U4sGf3zJzCkNFo0tIrBVgQEg7Fa/AnBkwCeKyJj+fPhw58Mw+VAPA/tcQdctZo4pBma7At9UmvcOEd2mO4d90dPfXzitE6DvmThoGIRrb7wsL2DimGIQbFdgAFg0M//3AMuudOw+OPmw+68AsKSs4GkwLTNhTAOMG5fOKtxmwlgiRrYsMBFx+9CDNwBYozuLnTDoLwsX5vQc//vJh1+7mQhrExiyE8DVS8oL5f9BE9tPLbO8cveNBPo1gJN0Z0l1zJiztLxw06cfY1q1teHHzPg5gCExDLeLWH1DppLVy5Zb4N6Wlk1+iMKhiWD8koFW3XlS2IdBGl7d90Ei4sWzCn9lEOUDWAcgNMA49cy4rv2lgi9KefWz/Ra4t4oKVtnnNUxj5gUAzQdwmu5MKeSxJWWF1wz0pAc3N3vdqqeUGZNBlA0mYhj7FaMZblft4tL8vckIKwYnrQrc16qt9TnhMF9BRFcDmKg7j1bMc5eUT35WdwxhrrQucG+9ynwVgC/ozpNkHx/5+Mi4o4ePRDpxTIF7O15mRWohg8/RncdyzE8sKZ98te4YwnyOLHBvn5RZ0WxmTNWdxwrMtGBpecEzunMI8zm+wL0t29R4piKeA+IrAFyoO49Jjgxz0bjrSgvkWuo0JAWOYvmW3f+PDHXZsTJPg23/reipJWUFzrtZuUPY9E2ZXA9s3nWGG665Ni3zVUvKCtfpDiGsYac3Yko4eiNw4/JjZb4AqX0yTFdGMGucXGCfvqTACVi+sf5U5ab5zMZ8gC5C6pX5z0vKCufpDiGsIwU2yYObm70u1XM5mOYD+DIAl+5McvJG+pMCW+Dhyl1jg6TmMWM+gEsA6LhTQVP7SwUFFRVkaFi3SBIpsMUeqHnxFFdP5mUEmg9wMWK74idehoJxyaKyKc8nYV1CIylwEq3ZsPuk7kx1KcALAPgAZFmxHgZ+sbSs8GdWjC1SixRYk/srXxiVyZmzmWgBgJkAhpoxLgEPLJpVcDMRsRnjidQmBU4Bj25rGH44xOVEtADgMgDD4ximC0y3LikvuM/sfCJ1SYFTzMqNO4ex2z0TBi8A0WxgwPtBhQH6k2L+6aLywteTkVGkDilwCltT92ZWd+dHPgKXMKMAhFOPLTpCwGsg+pti/OnGsoJ3tQYVQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEHH6/wXOXW9gEVklAAAAAElFTkSuQmCC",_hoisted_1$5={class:"bkflow-plugin-group"},_hoisted_2$4={class:"plugin-content-wrapper"},_hoisted_3$3={class:"tags-list"},_hoisted_4$3=["onClick"],_hoisted_5={class:"plugins-list"},_hoisted_6={class:"plugin-icon-wrapper"},_hoisted_7=["src"],_hoisted_8={class:"plugin-info-wrapper"},_hoisted_9={class:"plugin-name"},_hoisted_10=["title"],_hoisted_11={class:"managers-text"},_sfc_main$5=vue.defineComponent({__name:"bkflow-plugin-group",props:{bkflowPluginTags:{},activedTag:{}},emits:["selectBkflowPlugin"],setup(e,{emit:t}){const n=useFlowApiConfig(),o=e,a=t,s=vue.ref([]),i=vue.ref(o.activedTag||0),r=vue.ref([]),l=vue.ref(!1),c=[{id:"name",name:"插件名称"}];vue.onMounted(()=>{v()});const u=m=>{i.value=m,v()},v=async()=>{if(l.value=!0,r.value=[],i.value===0){const m=await n.fetchBkFlowInnerPluginList();r.value=m.map(p=>({code:p.code,name:p.name,logo_url:pluginDefaultIcon,desc:p.desc||"--",managers:["BkFlow"],version:p.version}))}else{const m=await n.fetchBkFlowThirdPartyPluginList(i.value);r.value=m.map(p=>({code:p.code,name:p.name,logo_url:p.logo_url,desc:p.introduction||"--",managers:p.managers,version:"1.0.0"}))}l.value=!1},_=m=>{const p=r.value.find(h=>h.code===m);if(p){const{code:h,name:f,version:y}=p;a("selectBkflowPlugin",{code:i.value===0?h:"remote_plugin",name:f,data:i.value===0?{}:{plugin_code:{hook:!1,value:h}},version:y})}};return(m,p)=>{const h=vue.resolveComponent("bk-button"),f=vue.resolveDirective("bk-loading");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$5,[vue.createVNode(_sfc_main$b,{modelValue:s.value,"onUpdate:modelValue":p[0]||(p[0]=y=>s.value=y),options:c,placeholder:"搜索插件名称"},null,8,["modelValue"]),vue.createElementVNode("div",_hoisted_2$4,[vue.createElementVNode("div",_hoisted_3$3,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.bkflowPluginTags,y=>(vue.openBlock(),vue.createElementBlock("div",{key:y.id,class:vue.normalizeClass(["tag-item",{actived:i.value===y.id}]),onClick:g=>u(y.id)},vue.toDisplayString(y.name),11,_hoisted_4$3))),128))]),vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_5,[r.value.length>0?(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:0},vue.renderList(r.value,y=>(vue.openBlock(),vue.createElementBlock("div",{key:y.code,class:"plugin-item"},[vue.createElementVNode("div",_hoisted_6,[vue.createElementVNode("img",{src:y.logo_url||vue.unref(pluginDefaultIcon),alt:"plugin-icon"},null,8,_hoisted_7)]),vue.createElementVNode("div",_hoisted_8,[vue.createElementVNode("h4",_hoisted_9,vue.toDisplayString(y.name),1),vue.createElementVNode("p",{class:"plugin-desc",title:y.desc},vue.toDisplayString(y.desc),9,_hoisted_10),vue.createElementVNode("div",_hoisted_11,vue.toDisplayString(y.managers?y.managers.join(","):"BkFlow")+" 提供",1)]),vue.createVNode(h,{theme:"primary",size:"small",onClick:g=>_(y.code)},{default:vue.withCtx(()=>[...p[1]||(p[1]=[vue.createTextVNode("选择",-1)])]),_:1},8,["onClick"])]))),128)):(vue.openBlock(),vue.createBlock(EmptyException,{key:1,title:"该分类暂无插件"}))])),[[f,{loading:l.value}]])])])}}}),BkFlowPluginGroup=_export_sfc(_sfc_main$5,[["__scopeId","data-v-9ce4f434"]]),_hoisted_1$4={class:"plugin-select-slider"},_hoisted_2$3={key:0,class:"plugin-select-content"},_sfc_main$4=vue.defineComponent({__name:"index",props:{show:{type:Boolean,default:!1},flowId:{},actived:{default:""},bkflowTag:{default:0},pluginGroupList:{default:()=>[]}},emits:["close","update:show","select"],setup(e,{emit:t}){const n={data:DataPluginGroup,agent:AgentPluginGroup,model:ModelPluginGroup,bkflow:BkFlowPluginGroup,output:OutputPluginGroup},o=e,a=useFlowApiConfig(),s=t,i=vue.ref(o.actived),r=vue.shallowRef([]),l=vue.ref(!1),c=vue.computed(()=>n[i.value]||null),u=vue.computed(()=>o.pluginGroupList.find(y=>y.name===i.value)?.properties||{}),v=vue.computed(()=>o.pluginGroupList.find(y=>y.name==="bkflow")?.children||[]);vue.watch(()=>o.show,()=>{o.show&&(i.value=o.actived,i.value!=="bkflow"&&_())});const _=async()=>{if(!a?.fetchCategoryPlugins){console.warn("fetchCategoryPlugins is not provided in api");return}l.value=!0;try{const y=await a.fetchCategoryPlugins(i.value),g=o.pluginGroupList.find(w=>w.name===i.value);g&&y.forEach(w=>{w.category_id=g.id}),r.value=y}catch(y){console.error(y)}finally{l.value=!1}},m=y=>{i.value=y,y!=="bkflow"&&_()},p=y=>{const g=r.value.find(w=>w.id===y);s("select","projectPlugin",g)},h=y=>{s("select","bkflowPlugin",y)},f=()=>{s("close"),s("update:show",!1)};return(y,g)=>{const w=vue.resolveComponent("bk-sideslider"),d=vue.resolveDirective("bk-loading");return vue.openBlock(),vue.createBlock(w,{title:"节点选择","is-show":o.show,width:1200,"esc-close":!1,"before-close":f},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$4,[vue.createVNode(PluginGroupsAside,{actived:i.value,"onUpdate:actived":g[0]||(g[0]=k=>i.value=k),groups:o.pluginGroupList,onChange:m},null,8,["actived","groups"]),o.show?vue.withDirectives((vue.openBlock(),vue.createElementBlock("section",_hoisted_2$3,[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(c.value),{plugins:r.value,"bkflow-plugin-tags":v.value,"actived-tag":o.bkflowTag,properties:u.value,onSelect:p,onSelectBkflowPlugin:h},null,40,["plugins","bkflow-plugin-tags","actived-tag","properties"]))])),[[d,{loading:l.value}]]):vue.createCommentVNode("",!0)])]),_:1},8,["is-show"])}}}),PluginSelectPanel=_export_sfc(_sfc_main$4,[["__scopeId","data-v-043824f1"]]),_hoisted_1$3={class:"flow-canvas-container"},_sfc_main$3=vue.defineComponent({__name:"index",props:{mode:{},flowId:{},pipelineTree:{},spaceFlowConfig:{},systemVariables:{default:()=>[]},pluginGroupList:{default:()=>[]},thumbnail:{type:Boolean,default:!1}},emits:["change"],setup(e,{expose:t,emit:n}){const o=e,a=n,s=vue.ref(),i=vue.ref(),r=vue.ref({show:!1,nodeId:"",edgeId:"",condition:null,hasDefaultBranch:!1,isDefault:!1}),l=vue.ref({show:!1,node:null}),c=vue.ref({show:!1,actived:o.pluginGroupList[0]?.name||"",bkflowTag:0,node:null}),u=b=>{if(o.thumbnail)return;const x=o.pipelineTree.activities[b.id];x&&(l.value={show:!0,node:x})},v=b=>{if(o.thumbnail)return;const x=o.pipelineTree.flows[b.id];if(x){const N=o.pipelineTree.gateways[x.source];if(N){const P=!!N.default_condition&&typeof N.default_condition.flow_id=="string";r.value.hasDefaultBranch=P,r.value.nodeId=x.source,r.value.edgeId=b.id;const{default_condition:L,conditions:j}=N;L&&L.flow_id===b.id?(r.value.condition=L,r.value.isDefault=!0):j&&j[b.id]&&(r.value.condition=j[b.id],r.value.isDefault=!1),r.value.show=!0}}},_=(b,x)=>{const P={x:o.pipelineTree.location.find(j=>j.id===b).x+200,y:w(b,x)},L=`node${uuid()}`;k(b,{id:L,type:x,position:P,data:{id:L}})},m=(b,x,N)=>{const L=o.pluginGroupList.find(W=>W.name===N).children.find(W=>W.id===x);if(!L)return;const{id:j,name:K,alias:ee,meta_url:J,api_key:A="incident",category_id:z}=L,G={x:o.pipelineTree.location.find(W=>W.id===b).x+200,y:w(b,"tasknode")},H=`node${uuid()}`;k(b,{id:H,type:"tasknode",position:G,data:{id:H,name:"",component:{code:"",data:{},version:""}}}),setTimeout(()=>{y(H);const W=o.pipelineTree.activities[H];if(W){const q={...W,name:ee||K,component:{code:"uniform_api",data:{},version:"v2.0.0",api_meta:{id:j,name:K,alias:ee||K,meta_url:J,api_key:A,category:{id:z,name:N}}}};l.value={show:!0,node:q}}},100)},p=(b,x,N=0)=>{const L={x:o.pipelineTree.location.find(K=>K.id===b).x+200,y:w(b,"tasknode")},j=`node${uuid()}`;k(b,{id:j,type:"tasknode",position:L,data:{id:j,name:"",component:{code:"",data:{},version:""}}}),setTimeout(()=>{y(j);const K=o.pipelineTree.activities[j];K&&(c.value={show:!0,actived:x,bkflowTag:N,node:K})},100)},h=b=>{const{id:x,type:N,position:P,data:L}=g(b);d(x,N,P,L)},f=b=>{const{id:x,type:N,position:P,data:L}=g(b);P.y=w(b,N),k(b,{id:x,type:N,position:P,data:L}),setTimeout(()=>{y(x)},100)},y=b=>{const x=s.value.graph.getCellById(b),{x:N,y:P}=x.position(),L=x.getBBox().width,j=o.pipelineTree.activities[b];if(j&&j.outgoing){const K=o.pipelineTree.flows[j.outgoing].target,ee=s.value.graph.getCellById(K),{x:J,y:A}=ee.position(),z=J-N;if(z<L+50&&Math.abs(A-P)<40){const F=J+L-z+50;ee.position(F,A);const G=[...o.pipelineTree.location],H=G.findIndex(W=>W.id===K);H>-1&&(G[H]={...G[H],x:F},E({...o.pipelineTree,location:G}))}}},g=b=>{const x=`node${uuid()}`,N=o.pipelineTree.location.find(K=>K.id===b),P={x:N.x+200,y:N.y};let L,j={};if(o.pipelineTree.activities[b])j={...o.pipelineTree.activities[b],id:x,incoming:[],outgoing:""},L="tasknode";else{const K=o.pipelineTree.gateways[b];L=K.type==="ExclusiveGateway"?"branchgateway":K.type.toLowerCase(),j={incoming:[],outgoing:Array.isArray(K.outgoing)?[]:""}}return{id:x,type:L,position:P,data:j}},w=(b,x)=>{const N=o.pipelineTree.location.find(j=>j.id===b),P=N.type,L=N.y;if(P.includes("gateway")){const j=o.pipelineTree.gateways[b];return Array.isArray(j.outgoing)&&j.outgoing.length>0?j.outgoing.reduce((ee,J)=>{const A=o.pipelineTree.flows[J].target,z=o.pipelineTree.location.find(F=>F.id===A);return Math.max(ee,z.y)},0)+100:x.includes("gateway")?L:L-10}return x.includes("gateway")?L+10:L},d=(b,x,N,P={})=>{const L=x.includes("gateway"),j=s.value.graph.addNode({id:b,...N,shape:"custom-node",width:L?34:154,height:L?34:54,data:{type:x}});return j.setZIndex(o.pipelineTree.location.length),L?s.value.createGateway(b,x,N,P):s.value.createActivity(b,N,P),j},k=(b,x)=>{const N=d(x.id,x.type,x.position,x.data);setTimeout(()=>{C(b,N.id)},10)},C=(b,x)=>{const{activities:N,gateways:P,start_event:L,end_event:j,location:K}=o.pipelineTree,ee=K.find(F=>F.id===b),J=K.find(F=>F.id===x);if(!ee||!J)return;let A="";N[b]?A=N[b].outgoing:P[b]?A=P[b].outgoing:L.id===b&&(A=L.outgoing);const z=B(A,b,x);s.value.insertEdgesToCanvas(z)},B=(b,x,N)=>{const P=[];if(Array.isArray(b)){let L="Right";o.pipelineTree.gateways[x]&&b.length>0&&(L="Bottom"),P.push({id:`line${uuid()}`,source:{arrow:L,id:x},target:{arrow:"Left",id:N}})}else if(b==="")P.push({id:`line${uuid()}`,source:{arrow:"Right",id:x},target:{arrow:"Left",id:N}});else{const L=o.pipelineTree.flows[b];L&&(s.value.deleteEdges([b]),P.push({id:`line${uuid()}`,source:{arrow:"Right",id:x},target:{arrow:"Left",id:N}},{id:`line${uuid()}`,source:{arrow:"Right",id:N},target:{arrow:"Left",id:L.target}}))}return P},D=b=>{const x=[];if(o.pipelineTree.activities[b]){const N=o.pipelineTree.activities[b];x.push(...N.incoming),N.outgoing&&x.push(N.outgoing)}else if(o.pipelineTree.gateways[b]){const N=o.pipelineTree.gateways[b];x.push(...N.incoming),Array.isArray(N.outgoing)?x.push(...N.outgoing):N.outgoing&&x.push(N.outgoing)}s.value.deleteEdges(x)},R=b=>{s.value.deleteNode(b)},V=b=>{s.value.deleteEdges([b.id])},O=(b,x)=>{const N={...o.pipelineTree.gateways};if(N[r.value.nodeId]){const P=lodash.cloneDeep(N[r.value.nodeId]),L=P.conditions||{},{name:j,tag:K,evaluate:ee="",loc:J}=b,A={name:j,tag:K,evaluate:ee.trim()};J&&(A.loc=J),x?(delete A.evaluate,A.flow_id=r.value.edgeId,P.default_condition=A):L[r.value.edgeId]=A,!r.value.isDefault&&x?L[r.value.edgeId]&&delete L[r.value.edgeId]:r.value.isDefault&&!x&&P.default_condition&&delete P.default_condition,P.conditions=L,N[r.value.nodeId]=P}E({...o.pipelineTree,gateways:N}),setTimeout(()=>{s.value.updateEdgeLabel(r.value.edgeId)},10)},Z=()=>{if(!l.value.node)return;const b=lodash.cloneDeep(l.value.node);let x="";b.component.api_meta?.category.name?x=b.component.api_meta?.category.name:x=o.pluginGroupList[0]?.name||"",c.value={show:!0,actived:x,bkflowTag:0,node:b},l.value={show:!1,node:null}},I=(b,x)=>{if(!c.value.node)return;const N=lodash.cloneDeep(c.value.node);if(b==="projectPlugin"){const{id:P,name:L,alias:j,meta_url:K,api_key:ee="incident",category:J,category_id:A}=x;N.component={code:"uniform_api",data:{},version:"v2.0.0",api_meta:{id:P,name:L,alias:j||L,meta_url:K,api_key:ee,category:{id:A,name:J}}},N.name=j}else{const{code:P,data:L,version:j,name:K}=x;N.component={code:P,data:L,version:j},N.name=K}l.value={show:!0,node:N},c.value.show=!1},$=(b,x)=>{const N={...o.pipelineTree.activities},P=[...o.pipelineTree.location],L=P.findIndex(j=>j.id===b.id);if(N[b.id]=b,L>-1){const j=P[L];j.name=b.name,P[L]=j}l.value={show:!1,node:null},E({...o.pipelineTree,activities:N,location:P,constants:x}),setTimeout(()=>{s.value.updateNodeData(b.id,b)},10)},E=b=>{a("change",b)};return t({updateNodeInputParams:b=>{i.value&&l.value.show&&i.value.updateNodeInputParams?.(b)}}),(b,x)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$3,[vue.createVNode(vue.unref(BkFlowCanvas),{ref_key:"bkflowCanvasRef",ref:s,editable:o.mode==="edit","pipeline-tree":o.pipelineTree,"hide-tool":o.thumbnail,onNodeClick:u,onEdgeLabelClick:v,onUpdatePipelineTree:E,onDeleteEdge:V},{customNode:vue.withCtx(()=>[vue.createVNode(CustomNode,{editable:o.mode==="edit","plugin-group-list":o.pluginGroupList,onAddNode:_,onAddPlugin:m,onAddNodeAndSelectPlugin:p,onDeleteBtnClick:R,onCopyNodeClick:h,onCopyNodeAndInsertClick:f,onDetachEdgesClick:D},null,8,["editable","plugin-group-list"])]),_:1},8,["editable","pipeline-tree","hide-tool"]),!o.thumbnail&&r.value.condition?(vue.openBlock(),vue.createBlock(BranchConditionPanel,{key:0,show:r.value.show,"onUpdate:show":x[0]||(x[0]=N=>r.value.show=N),condition:r.value.condition,"has-default-branch":r.value.hasDefaultBranch,"is-default":r.value.isDefault,editable:o.mode==="edit",onConfirm:O},null,8,["show","condition","has-default-branch","is-default","editable"])):vue.createCommentVNode("",!0),!o.thumbnail&&l.value.node?(vue.openBlock(),vue.createBlock(NodeConfigPanel,{key:1,ref_key:"nodeConfigPanelRef",ref:i,show:l.value.show,"onUpdate:show":x[1]||(x[1]=N=>l.value.show=N),node:l.value.node,editable:o.mode==="edit","system-variables":o.systemVariables,constants:o.pipelineTree.constants,onSelectPlugin:Z,onConfirm:$},{inputParams:vue.withCtx(N=>[vue.renderSlot(b.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps(N)),void 0,!0)]),_:3},8,["show","node","editable","system-variables","constants"])):vue.createCommentVNode("",!0),o.thumbnail?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(PluginSelectPanel,{key:2,show:c.value.show,"onUpdate:show":x[2]||(x[2]=N=>c.value.show=N),"flow-id":o.flowId,actived:c.value.actived,"bkflow-tag":c.value.bkflowTag,"plugin-group-list":o.pluginGroupList,onSelect:I},null,8,["show","flow-id","actived","bkflow-tag","plugin-group-list"]))]))}}),FlowCanvas=_export_sfc(_sfc_main$3,[["__scopeId","data-v-a71d82f3"]]),setContext=(e={})=>{window.$={context:{project:void 0,site_url:"",exec_env:"NODE_CONFIG",input_form:{inputs:void 0},output_form:{outputs:void 0,state:void 0},bk_plugin_api_host:{},get(t){return window.$context[t]},canSelectBiz(){return!1},getConstants(){return e},getOutput(t){const{outputs:n}=window.$context.output_form;if(n&&Array.isArray(n)){const o=window.$context.output_form.outputs.find(a=>a.key===t);return o?o.value:null}return null},getInput(t){return window.$context.input_form.inputs&&window.$context.input_form.inputs[t]?window.$context.input_form.inputs[t]:null},getNodeStatus(){const{state:t}=window.$context.output_form;return t||null}}}},_hoisted_1$2={class:"execute-flow-slider"},_hoisted_2$2={class:"flow-name-wrapper"},_hoisted_3$2={class:"form-params-wrapper"},_hoisted_4$2={key:0,class:"sideslider-footer-buttons"},_sfc_main$2=vue.defineComponent({__name:"execute",props:{flowId:{},show:{type:Boolean},editable:{type:Boolean,default:!0},showFlowEntry:{type:Boolean,default:!1},apiConfig:{},onExecuteSuccess:{}},emits:["confirm","close","update:show"],setup(e,{emit:t}){const n=e,o=t,a=provideFlowApiConfig(n.apiConfig);setContext();const s={name:[{required:!0,message:"请输入任务名称",trigger:"blur"}]},i=vue.shallowRef(null),r=vue.shallowRef(!0),l=vue.ref({}),c=vue.shallowRef([]),u=vue.ref(),v=vue.ref({name:""}),_=vue.shallowRef(!1);vue.watch(()=>n.show,g=>{g&&m()});const m=async()=>{r.value=!0;const g=await a.fetchFlowDetail(n.flowId);i.value=g,v.value.name=`${g.name}_${dayjs().format("YYYYMMDDHHmmss")}`;const w=[],d={};Object.values(g.pipeline_tree.constants).forEach(k=>{if(typeof k!="object"||k===null)return;const C=k;C.source_type!=="system"&&C.show_type==="show"&&w.push(C),"value"in C&&(d[C.key]=C.value)}),c.value=w,l.value=d,r.value=!1},p=()=>{n.onExecuteSuccess},h=g=>{Object.keys(g).forEach(w=>{w in l.value&&(l.value[w]=g[w])})},f=async()=>{if(!a.createFlowTask||!a.executeFlowTask){console.warn("createFlowTask or executeFlowTask is not provided in api");return}if(await u.value?.validate())try{_.value=!0;const w=await a.createFlowTask({template_id:n.flowId,creator:"admin",name:v.value.name,description:"create by bkincident",constants:l.value});w.data.id&&(await a.executeFlowTask({action:"start",task_id:w.data.id,resource_type:"TASK",resource_id:w.data.id,permission_type:"OPERATE"}),BkMessage({theme:"success",message:"执行成功"}),o("confirm"),y(),n.onExecuteSuccess&&n.onExecuteSuccess(w.data.id,w.data.template_id))}catch(w){console.error(w)}finally{_.value=!1}},y=()=>{c.value=[],l.value={},o("close"),o("update:show",!1)};return(g,w)=>{const d=vue.resolveComponent("bk-input"),k=vue.resolveComponent("bk-form-item"),C=vue.resolveComponent("bk-form"),B=vue.resolveComponent("bk-button"),D=vue.resolveComponent("bk-sideslider"),R=vue.resolveDirective("bk-tooltips"),V=vue.resolveDirective("bkloading");return vue.openBlock(),vue.createBlock(D,{title:"执行流程","is-show":n.show,width:700,"quick-close":!1,"esc-close":!1,"before-close":y},{footer:vue.withCtx(()=>[r.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$2,[vue.createVNode(B,{theme:"primary",loading:_.value,onClick:f},{default:vue.withCtx(()=>[...w[1]||(w[1]=[vue.createTextVNode("确定",-1)])]),_:1},8,["loading"]),vue.createVNode(B,{onClick:y},{default:vue.withCtx(()=>[...w[2]||(w[2]=[vue.createTextVNode("取消",-1)])]),_:1})]))]),default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_1$2,[vue.createVNode(C,{ref_key:"formRef",ref:u,model:v.value,rules:s,"label-width":100},{default:vue.withCtx(()=>[e.showFlowEntry?(vue.openBlock(),vue.createBlock(k,{key:0,label:"排障流程",required:""},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$2,[vue.createVNode(d,{readonly:"","model-value":i.value?.name},null,8,["model-value"]),vue.withDirectives(vue.createVNode(vue.unref(icon.Share),{class:"link-icon",onClick:p},null,512),[[R,"查看排障流程",void 0,{top:!0}]])])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(k,{label:"新建任务名",property:"name",required:""},{default:vue.withCtx(()=>[vue.createVNode(d,{modelValue:v.value.name,"onUpdate:modelValue":w[0]||(w[0]=O=>v.value.name=O),placeholder:"请输入任务名称","show-word-limit":"",maxlength:100},null,8,["modelValue"])]),_:1}),vue.createVNode(k,{label:"请求参数",property:"inputParams",description:"流程的入参"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3$2,[vue.createVNode(BKflowPluginFormRenderForm,{variables:c.value,editable:!0,onChange:h},null,8,["variables"]),c.value.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:0,title:"暂无参数"})):vue.createCommentVNode("",!0)])]),_:1})]),_:1},8,["model"])])),[[V,{loading:r.value}]])]),_:1},8,["is-show"])}}}),FlowExecute=_export_sfc(_sfc_main$2,[["__scopeId","data-v-d88b3a91"]]),execute=Object.freeze(Object.defineProperty({__proto__:null,default:FlowExecute},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1={key:0,class:"operate-area"},_hoisted_2$1={class:"operate-btns"},_hoisted_3$1={class:"flow-view-page-content"},_hoisted_4$1={key:1,class:"flow-view-thumbnail"},_sfc_main$1=vue.defineComponent({__name:"view",props:{flowId:{},apiConfig:{},permissions:{default:()=>({canEdit:!0})},onEdit:{},onBack:{},thumbnail:{type:Boolean,default:!1}},emits:["edit","back"],setup(e,{emit:t}){const n=vue.useSlots(),o=e,a=provideFlowApiConfig(o.apiConfig),s=t;setContext();const i=vue.shallowRef(!1),r=vue.shallowRef(null),l=vue.shallowRef(!0),c=vue.shallowRef({}),u=vue.shallowRef(!0),v=vue.shallowRef([]),_=vue.shallowRef(!1);vue.onMounted(()=>{m(),p(),h()});const m=async()=>{l.value=!0;try{const w=await a.fetchFlowDetail(String(o.flowId));r.value=w}catch(w){console.error(w)}finally{l.value=!1}},p=async()=>{u.value=!0;try{const w=await a.fetchSpaceFlowConfig(String(o.flowId));c.value=w}catch(w){console.error(w)}finally{u.value=!1}},h=async()=>{_.value=!0;try{const w=await a.fetchSystemVariables(String(o.flowId));v.value=w}catch(w){console.error(w)}finally{_.value=!1}},f=()=>{typeof o.onBack=="function"?o.onBack():s("back")},y=()=>{typeof o.onEdit=="function"?o.onEdit():s("edit")},g=(w,d)=>{};return(w,d)=>{const k=vue.resolveComponent("bk-button"),C=vue.resolveDirective("bk-tooltips"),B=vue.resolveDirective("bkloading");return o.thumbnail?vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_4$1,[r.value?(vue.openBlock(),vue.createBlock(FlowCanvas,{key:0,mode:"view","flow-id":e.flowId,"pipeline-tree":r.value.pipeline_tree,"space-flow-config":c.value,"system-variables":v.value,thumbnail:!0},{inputParams:vue.withCtx(D=>[vue.renderSlot(w.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps(D)),void 0,!0)]),_:3},8,["flow-id","pipeline-tree","space-flow-config","system-variables"])):vue.createCommentVNode("",!0)])),[[B,{loading:l.value||u.value}]]):(vue.openBlock(),vue.createBlock(ContainerLayout,{key:0,title:"查看流程",desc:r.value?.name,"show-back-icon":!0,onBack:f},vue.createSlots({extend:vue.withCtx(()=>[r.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1,[vue.createVNode(FlowInfoSliders,{editable:!1,"flow-data":r.value,"system-variables":v.value,"fetch-user-api":vue.unref(a).fetchUserApi},null,8,["flow-data","system-variables","fetch-user-api"]),vue.createElementVNode("div",_hoisted_2$1,[vue.createVNode(k,{theme:"primary",class:vue.normalizeClass([e.permissions.canEdit?"":"is-disabled"]),onClick:y},{default:vue.withCtx(()=>[...d[2]||(d[2]=[vue.createTextVNode(" 编辑 ",-1)])]),_:1},8,["class"]),vue.createVNode(k,{theme:"primary",outline:"",onClick:d[0]||(d[0]=D=>i.value=!0)},{default:vue.withCtx(()=>[...d[3]||(d[3]=[vue.createTextVNode("执行流程",-1)])]),_:1}),vue.withDirectives((vue.openBlock(),vue.createBlock(k,{disabled:!0},{default:vue.withCtx(()=>[...d[4]||(d[4]=[vue.createTextVNode("调试",-1)])]),_:1})),[[C,"功能开发中"]])])])):vue.createCommentVNode("",!0)]),default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_3$1,[r.value?(vue.openBlock(),vue.createBlock(FlowCanvas,{key:0,mode:"view","flow-id":e.flowId,"pipeline-tree":r.value.pipeline_tree,"space-flow-config":c.value,"system-variables":v.value,thumbnail:o.thumbnail},{inputParams:vue.withCtx(D=>[vue.renderSlot(w.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps(D)),void 0,!0)]),_:3},8,["flow-id","pipeline-tree","space-flow-config","system-variables","thumbnail"])):vue.createCommentVNode("",!0)])),[[B,{loading:l.value||u.value}]]),r.value?(vue.openBlock(),vue.createBlock(FlowExecute,{key:0,"flow-id":e.flowId,show:i.value,"api-config":o.apiConfig,onClose:d[1]||(d[1]=D=>i.value=!1),onConfirm:g},null,8,["flow-id","show","api-config"])):vue.createCommentVNode("",!0)]),_:2},[vue.unref(n).header?{name:"header",fn:vue.withCtx(()=>[vue.renderSlot(w.$slots,"header",{},void 0,!0)]),key:"0"}:void 0]),1032,["desc"]))}}}),view=_export_sfc(_sfc_main$1,[["__scopeId","data-v-09d2822a"]]),view$1=Object.freeze(Object.defineProperty({__proto__:null,default:view},Symbol.toStringTag,{value:"Module"})),_hoisted_1={key:0,class:"operate-area"},_hoisted_2={class:"flow-actions"},_hoisted_3={class:"operate-btns"},_hoisted_4={class:"flow-edit-page-content"},_sfc_main=vue.defineComponent({__name:"edit",props:{flowId:{},apiConfig:{},permissions:{default:()=>({canSave:!0})},onSave:{},onSaveSuccess:{},onBack:{},onBeforeLeave:{}},emits:["save","saveSuccess","back"],setup(e,{expose:t,emit:n}){const o=e,a=provideFlowApiConfig(o.apiConfig),s=n;setContext();const i=vue.shallowRef(null),r=vue.shallowRef(!0),l=vue.ref(),c=vue.ref(),u=vue.shallowRef(!0),v=vue.shallowRef({}),_=vue.shallowRef(!1),m=vue.shallowRef([]),p=vue.shallowRef(!1),h=vue.shallowRef([]),f=vue.shallowRef(!1),y=vue.shallowRef(!1),g=vue.computed(()=>String(o.flowId)),w=vue.computed(()=>r.value||p.value||u.value);vue.onMounted(()=>{d(),k(),C(),B()});const d=async()=>{r.value=!0;try{const E=await a.fetchFlowDetail(g.value);i.value=E}catch(E){console.error(E)}finally{r.value=!1}},k=async()=>{u.value=!0;try{const E=await a.fetchSpaceFlowConfig(g.value);v.value=E}catch(E){console.error(E)}finally{u.value=!1}},C=async()=>{f.value=!0;try{const E=await a.fetchSystemVariables(g.value);h.value=E}catch(E){console.error(E)}finally{f.value=!1}},B=async()=>{p.value=!0;try{const E=await a.fetchAllPluginGroups();m.value=E}catch(E){console.error(E)}finally{p.value=!1}},D=()=>{o.onBack?o.onBack():s("back")},R=()=>{l.value?.openBasicSetting()},V=E=>{i.value=E},O=E=>{i.value={...i.value,pipeline_tree:E},y.value=!0},Z=E=>{c.value&&c.value.updateNodeInputParams?.(E)},I=()=>{if(!o.permissions.canSave)return;const E=validatePipelineTree(i.value?.pipeline_tree);E.valid?$():bkuiVue.Message({theme:"error",message:E.message})},$=async()=>{const{name:E,desc:T,notify_config:b,pipeline_tree:x,triggers:N}=i.value,P={name:E,desc:T,notify_config:b,pipeline_tree:x,triggers:N};try{_.value=!0,await a.saveFlow(g.value,P),y.value=!1,bkuiVue.Message({theme:"success",message:"保存成功"}),o.onSave&&o.onSave(i.value),o.onSaveSuccess&&o.onSaveSuccess(),s("save",i.value),s("saveSuccess")}catch(L){console.error(L)}finally{_.value=!1}};return t({isFlowEdited:vue.computed(()=>y.value),updateNodeInputParams:Z}),(E,T)=>{const b=vue.resolveComponent("bk-button"),x=vue.resolveDirective("bk-tooltips"),N=vue.resolveDirective("bkloading");return vue.openBlock(),vue.createBlock(ContainerLayout,{title:"编辑流程",desc:i.value?.name,"show-back-icon":!0,"show-edit-icon":!0,onBack:D,onEdit:R},{header:vue.withCtx(()=>[vue.renderSlot(E.$slots,"header",{},void 0,!0)]),extend:vue.withCtx(()=>[i.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1,[vue.createElementVNode("div",_hoisted_2,[vue.createVNode(FlowInfoSliders,{ref_key:"flowInfoSlidersRef",ref:l,"flow-data":i.value,"system-variables":h.value,"fetch-user-api":vue.unref(a).fetchUserApi,onChange:V},null,8,["flow-data","system-variables","fetch-user-api"]),vue.createElementVNode("div",_hoisted_3,[vue.createVNode(b,{class:vue.normalizeClass([e.permissions.canSave?"":"is-disabled"]),theme:"primary",loading:_.value,onClick:I},{default:vue.withCtx(()=>[...T[0]||(T[0]=[vue.createTextVNode(" 保存 ",-1)])]),_:1},8,["class","loading"]),vue.withDirectives((vue.openBlock(),vue.createBlock(b,{disabled:!0},{default:vue.withCtx(()=>[...T[1]||(T[1]=[vue.createTextVNode("调试",-1)])]),_:1})),[[x,"功能开发中"]])])])])):vue.createCommentVNode("",!0)]),default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_4,[!w.value&&i.value?(vue.openBlock(),vue.createBlock(FlowCanvas,{key:0,ref_key:"flowCanvasRef",ref:c,mode:"edit","flow-id":g.value,"pipeline-tree":i.value.pipeline_tree,"space-flow-config":v.value,"plugin-group-list":m.value,"system-variables":h.value,onChange:O},{inputParams:vue.withCtx(P=>[vue.renderSlot(E.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps({...P,updateNodeInputParams:Z})),void 0,!0)]),_:3},8,["flow-id","pipeline-tree","space-flow-config","plugin-group-list","system-variables"])):vue.createCommentVNode("",!0)])),[[N,{loading:w.value}]])]),_:3},8,["desc"])}}}),edit=_export_sfc(_sfc_main,[["__scopeId","data-v-7edd9227"]]),edit$1=Object.freeze(Object.defineProperty({__proto__:null,default:edit},Symbol.toStringTag,{value:"Module"})),index={FlowView:()=>Promise.resolve().then(()=>view$1),FlowEdit:()=>Promise.resolve().then(()=>edit$1),FlowExecute:()=>Promise.resolve().then(()=>execute)};exports.FlowEdit=edit;exports.FlowExecute=FlowExecute;exports.FlowView=view;exports.PLUGIN_GROUP_ICON_MAP=PLUGIN_GROUP_ICON_MAP;exports.default=index;exports.getUniformApiPluginFormValue=getUniformApiPluginFormValue$1;exports.getVariableDefaultConfig=getVariableDefaultConfig;exports.parentClsContains=parentClsContains;exports.provideFlowApiConfig=provideFlowApiConfig;exports.useFlowApi=useFlowApi;exports.useFlowApiConfig=useFlowApiConfig;exports.useFlowEditApiConfig=useFlowEditApiConfig;exports.useFlowViewApiConfig=useFlowViewApiConfig;exports.uuid=uuid;exports.validatePipelineTree=validatePipelineTree;
|
|
50
|
+
`,"2) content: () => element.cloneNode(true)"].join(" "))}var i=a.reduce(function(l,c){var u=c&&createTippy(c,o);return u&&l.push(u),l},[]);return isElement(e)?i[0]:i}tippy.defaultProps=defaultProps;tippy.setDefaultProps=setDefaultProps;tippy.currentInput=currentInput;var hideAll=function(t){var n=t===void 0?{}:t,o=n.exclude,a=n.duration;mountedInstances.forEach(function(r){var s=!1;if(o&&(s=isReferenceElement(o)?r.reference===o:r.popper===o.popper),!s){var i=r.props.duration;r.setProps({duration:a}),r.hide(),r.state.isDestroyed||r.setProps({duration:i})}})};Object.assign({},applyStyles,{effect:function(t){var n=t.state,o={popper:{position:n.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(n.elements.popper.style,o.popper),n.styles=o,n.elements.arrow&&Object.assign(n.elements.arrow.style,o.arrow)}});tippy.setDefaultProps({render});const RenderAvatar={name:"render-avatar",props:["user","urlMethod"],setup(e){const t=vue.ref("");vue.onMounted(async()=>{try{typeof e.user=="string"?t.value=await e.urlMethod(e.user):typeof e.user=="object"&&(t.value=e.user.avatar||e.user.logo||await e.urlMethod(e.user.username))}catch{}});const n=vue.ref(null);return vue.watch(t,o=>{o&&(n.value.style.backgroundImage=`url(${t.value})`)}),()=>vue.createVNode("span",{ref:n,class:"user-selector-avatar"},null)}},RenderList={name:"render-list",props:{selector:{type:Object},user:{type:Object},keyword:{type:String},index:{type:Number},disabled:{type:Boolean}},setup(e){return()=>e.selector.renderList(vue.h,{user:e.user,index:e.index,keyword:e.keyword,disabled:e.disabled})}},tooltips={mounted(e,t){const n=typeof t.value=="object"?t.value:{disabled:!1,content:t.value},o=tippy(e,Object.assign({appendTo:document.body},n));n.disabled&&o.disable()},unmounted(e){e._tippy?.destroy()},updated(e,t){const n=typeof t.value=="object"?t.value:{disabled:!1,content:t.value};n.disabled?e._tippy.disable():e._tippy.enable(),e._tippy.setContent(n.content)}},AlternateItem=vue.defineComponent({name:"AlternateItem",directives:{tooltips},props:{selector:{type:Object},user:{type:Object},keyword:{type:String},index:{type:Number}},setup(e){const{selector:t,user:n,keyword:o}=vue.toRefs(e);return{disabled:vue.computed(()=>t.value.disabledUsers.includes(n.value.username)),getItemContent:()=>{const[i,l]=n.value.username.split("@");let c=i;o.value&&(c=c.replace(new RegExp(o.value,"g"),`<span>${o.value}</span>`));const u=t.value.displayDomain&&l?`${c}@${l}`:c,m=n.value.display_name;return m?`${u}(${m})`:u},getTitle:()=>t.value.getDisplayText(n.value)}},render(){return vue.createVNode("li",{class:["alternate-item",this.index===this.selector.highlightIndex?"highlight":"",this.disabled&&!this.selector.renderList?"disabled":""],onClick:e=>e.stopPropagation(),onMousedown:vue.withModifiers(()=>this.selector.handleUserMousedown(this.user,this.disabled),["left","stop"]),onMouseup:vue.withModifiers(()=>this.selector.handleUserMouseup(this.user,this.disabled),["left","stop"])},[this.selector.renderList?vue.createVNode(vue.Fragment,null,[vue.createVNode(RenderList,{selector:this.selector,keyword:this.keyword,user:this.user,disabled:this.disabled},null)]):vue.createVNode(vue.Fragment,null,[this.selector.tagType==="avatar"?vue.createVNode(vue.Fragment,null,[vue.createVNode(RenderAvatar,{class:"item-avatar",user:this.user,urlMethod:this.selector.avatarUrl},null)]):null,this.selector.displayListTips&&this.user.category_name?vue.createVNode(vue.Fragment,null,[vue.withDirectives(vue.createVNode("span",{class:"item-folder"},[this.user.category_name]),[[vue.resolveDirective("tooltips"),{placement:"right",interactive:!0,theme:"light list-item-tips",content:this.user.category_name,offset:[0,18]}]])]):null,vue.createVNode("span",{class:"item-name",title:this.getTitle(),innerHTML:this.getItemContent()},null)])])}}),AlternateList=vue.defineComponent({setup(){const{proxy:e}=vue.getCurrentInstance();instanceStore.setInstance("alternateContent","alternateList",e);const t=vue.ref(null),n=vue.ref(""),o=vue.ref(!0),a=vue.ref(!0),r=vue.ref([]),s=vue.computed(()=>{const p={};return t.value?.panelWidth&&(p.width=`${parseInt(t.value.panelWidth,10)}px`),p}),i=vue.computed(()=>{const p={"max-height":"192px"};if(t.value){const g=parseInt(t.value.listScrollHeight,10);isNaN(g)||(p["max-height"]=`${g}px`)}return p}),l=(p,g=0)=>{let v=0;return r.value.slice(0,p).forEach(w=>{w.hasOwnProperty("children")?v+=w.children.length:v+=1}),v+g},c=()=>{if(hideAll({exclude:t.value.inputRef,duration:0}),a.value||!o.value)return!1;const p=m.value;p.scrollTop+p.clientHeight>p.scrollHeight-32&&t.value.search(n.value,o.value)};vue.watch(n,()=>{y.value=[],vue.nextTick(()=>{m.value.scrollTop=0})});const u=vue.ref(null),m=vue.ref(null),y=vue.ref([]);return{selector:t,keyword:n,next:o,loading:a,matchedUsers:r,wrapperStyle:s,listStyle:i,getIndex:l,handleScroll:c,alternateListContainer:u,alternateList:m,alternateItem:y,setRef:p=>{y.value.push(p)}}},render(){return vue.createVNode("div",{ref:"alternateListContainer",class:["user-selector-alternate-list-wrapper",this.selector?.displayListTips?"has-folder":"",this.loading?"is-loading":""],style:this.wrapperStyle},[vue.createVNode("ul",{class:"alternate-list",ref:"alternateList",style:this.listStyle,onScroll:()=>{this.handleScroll()}},[this.matchedUsers.map((e,t)=>e.hasOwnProperty("children")?vue.createVNode(vue.Fragment,null,[vue.createVNode("li",{class:"alternate-group",onClick:n=>n.stopPropagation(),onMousedown:vue.withModifiers(()=>{this.selector.handleGroupMousedown()},["left","stop"]),onMouseup:vue.withModifiers(()=>{this.selector.handleGroupMouseup()},["left","stop"])},[`${e.display_name}(${e.children.length})`]),e.children.map((n,o)=>vue.createVNode(vue.Fragment,null,[vue.createVNode(AlternateItem,{ref:a=>{this.setRef(a)},index:this.getIndex(t,o),selector:this.selector,user:n,keyword:this.keyword},null)]))]):vue.createVNode(vue.Fragment,null,[vue.createVNode(AlternateItem,{ref:n=>{this.setRef(n)},selector:this.selector,user:e,index:this.getIndex(t),keyword:this.keyword},null)]))]),!this.loading&&!this.matchedUsers.length?vue.createVNode(vue.Fragment,null,[vue.createVNode("p",{class:"alternate-empty"},[this.selector.emptyText])]):null])}}),RenderTag={name:"render-tag",props:["username","user","index"],setup(e){const t=vue.inject("parentSelector");return()=>t.renderTag(vue.h,{username:e.username,index:e.index,user:e.user})}},_sfc_main$H=vue.defineComponent({name:"BkUserSelector",components:{RenderTag,RenderAvatar},props:{modelValue:{type:Array,default:()=>[]},placeholder:{type:String,default:"请输入"},disabled:{type:Boolean,default:!1},multiple:{type:Boolean,default:!0},exclude:{type:Boolean,default:!0},focusRowLimit:{type:Number,default:6},defaultAlternate:{type:[String,Array,Function],validator(e){return e==="history"||typeof e=="function"||e instanceof Array}},searchFromDefaultAlternate:{type:Boolean,default:!0},historyKey:String,historyLabel:{type:String,default:"最近选择"},historyRecord:{type:Number,default:5},displayListTips:Boolean,fuzzySearchMethod:Function,exactSearchMethod:Function,emptyText:{type:String,default:"无匹配人员"},tagClearable:{type:Boolean,default:!0},fastClear:Boolean,renderList:Function,renderTag:Function,displayTagTips:Boolean,tagTipsContent:Function,tagTipsDelay:{type:Number,default:300},tagType:{type:String,default:"tag",validator(e){return["tag","avatar"].includes(e)}},avatarUrl:{type:Function,default:()=>null},fixedHeight:{type:Boolean,default:!0},disabledUsers:{type:Array,default:()=>[]},listScrollHeight:[Number,String],api:String,searchLimit:{type:Number,default:20},pasteFormatter:{type:Function,default(e){return e.replace(/\(.*/,"")}},pasteValidator:Function,panelWidth:{type:[Number,String],validator(e){return parseInt(e,10)>=190}},displayDomain:{type:Boolean,default:!0},type:{type:String,default:"selector",validator(e){return["selector","info"].includes(e)}}},emits:["update:modelValue","change","remove-selected","select-user","keydown","focus","blur","clear"],setup(e,t){const{modelValue:n,disabled:o,multiple:a,exclude:r,focusRowLimit:s,defaultAlternate:i,searchFromDefaultAlternate:l,historyKey:c,historyLabel:u,historyRecord:m,fuzzySearchMethod:y,exactSearchMethod:h,displayTagTips:p,tagTipsContent:g,tagTipsDelay:v,fixedHeight:w,disabledUsers:f,api:_,searchLimit:d,pasteFormatter:C,pasteValidator:b,displayDomain:A,type:V}=vue.toRefs(e),O=async(M,U)=>{try{const Y=he();ye(),Y.setContent(E.value.$refs.alternateListContainer),De(),E.value.loading=!!M;const{results:te,next:ue}=await new Promise(async(we,Re)=>{if(M){const Ie=[(y.value||de)(M,U)];l.value&&Ie.push(ne(M));const[et,tt]=await Promise.all(Ie);tt&&et.results.unshift(...tt.results),we(et)}else{const Ie=ne();we(Ie)}});if(!N.value)return;const{matched:pe,flattened:ve}=re(te);if(!M&&!ve.length){Ee();return}j.value=U?[...j.value,...pe]:pe,Q.value=U?[...Q.value,...ve]:ve,k.value=ve.length&&B.value?0:-1,E.value.next=ue,E.value.keyword=M,E.value.matchedUsers=j.value,E.value.loading=!1}catch(Y){if(Y.type==="reset")return;j.value=[],Q.value=[],console.error(Y)}},D=vue.ref(null),L=vue.ref(null),{proxy:Z}=vue.getCurrentInstance();vue.provide("parentSelector",Z);const I=vue.ref(32),T=vue.ref(30),B=vue.ref(""),$=vue.ref(0),k=vue.ref(-1),x=vue.ref(!0),N=vue.ref(!1),S=vue.ref(null),F=vue.ref([]),j=vue.ref([]),Q=vue.ref([]),ee=lodash.throttle(O,800,{leading:!1}),J=vue.ref(null),E=vue.ref(null),z=vue.ref({}),R=vue.ref(null),G=vue.ref(!1),H=vue.computed(()=>V.value==="selector"),W=vue.computed(()=>{const M={};return N.value?M.maxHeight=w.value?`${s.value*T.value}px`:"auto":w.value&&(M.height=`${T.value}px`),M}),q=vue.ref([]);q.value=[...n.value];const X=vue.computed(()=>q.value.map(M=>F.value.find(Y=>Y.username===M)||{username:M})),ae=vue.computed(()=>X.value.map(M=>Pe(M)).join(";")),se=async()=>{try{_.value?F.value=await request.scheduleExactSearch(_.value,q.value):h.value?F.value=await h.value(q.value):console.warn("No exact search method has been set")}catch(M){console.error(M)}},ne=async M=>{let U=[];const Y=(te,ue)=>te.username.toLowerCase().indexOf(ue.toString().toLowerCase())>-1;if(i.value==="history"?U=[{display_name:u.value,children:me()}]:i.value instanceof Array?U=i.value:typeof i.value=="function"&&(U=await i.value()),M){const te=[];U.forEach(ue=>{if(ue.hasOwnProperty("children")){const pe=ue.children.filter(ve=>Y(ve,M));pe.length&&te.push({...ue,children:pe})}else Y(ue,M)&&te.push(ue)}),U=te}return Promise.resolve({results:U,next:!1})},re=M=>{const U=[],Y=[];return M.forEach(te=>{if(te.hasOwnProperty("children")){const ve=te.children.filter(we=>!Y.some(Re=>Re.username===we.username));if(a.value){const we=ve.filter(Re=>!q.value.includes(Re.username));we.length&&(te.children=we,U.push(te),Y.push(...we))}else U.push(te),Y.push(...ve);return}const ue=q.value.includes(te.username),pe=Y.some(ve=>ve.username===te.username);(!a.value||!ue)&&!pe&&(U.push(te),Y.push(te))}),{matched:U,flattened:Y}},de=async(M,U)=>{if(_.value){const Y={app_code:"bk-magicbox",page:U||1,page_size:d.value,fuzzy_lookups:M},{count:te,results:ue}=await request.fuzzySearch(_.value,Y);return{next:te>Y.page*Y.page_size?Y.page+1:!1,results:ue}}return y.value?y.value(M,U):(console.warn("No fuzzy search method has been set"),Promise.resolve({next:!1,results:[]}))},fe=async(M,U)=>{try{const Y=document.createElement("span");if(typeof g.value=="function"){const te=await g.value(U);Y.innerHTML=te}else{const te=await(h.value||ce)(U);Y.innerHTML=te?te.category_name:"Non existing user"}M.setContent(Y)}catch(Y){console.error(Y),M.setContent(Y.message)}},ce=M=>_.value?request.exactSearch(_.value,M):h.value?h.value(M):(console.warn("No exact search method has been set"),Promise.resolve({})),he=()=>(J.value||(J.value=tippy(L.value,{theme:"light user-selector-popover",appendTo:document.body,trigger:"manual",placement:"bottom-start",offset:[0,5],arrow:!1,hideOnClick:!1,content:"",interactive:!0,onHide:()=>{Te()},onShow:()=>N.value})),J.value),ye=()=>{if(!E.value){const M=vue.createApp(AlternateList),U=document.createElement("div");M.mount(U),E.value=instanceStore.getInstance("alternateContent","alternateList"),E.value.selector=Z}},me=()=>{try{if(c.value)return(JSON.parse(window.localStorage.getItem(c.value))||[]).filter(U=>!f.value.includes(U.username));throw new Error("History key not provide")}catch(M){return console.error(M),[]}},ke=M=>{if(c.value)try{const U=me(),Y=U.findIndex(ue=>ue.username===M.username);Y>-1&&U.splice(Y,1),Array.isArray(M)?U.unshift(...M):U.unshift(M);const te=U.filter(ue=>!f.value.includes(ue.username)).slice(0,m.value);window.localStorage.setItem(c.value,JSON.stringify(te))}catch(U){console.error(U)}},Ae=()=>{J.value?.popperInstance?.update()},De=()=>{Ae(),J.value?.show(0)},Ee=()=>{J.value?.hide(0)},Te=()=>{vue.nextTick(()=>{j.value=[],Q.value=[],E.value.matchedUsers=[]})},Pe=M=>{const U=typeof M=="object";let Y=U?M.username:M;return Y=A.value?Y:Y.replace(/@.*/,""),U&&M.display_name&&(Y+=`(${M.display_name})`),Y},ze=()=>{if(o.value)return!1;Ye(),$.value=q.value.length,!a.value&&n.value.length?(B.value=Pe(n.value[0]),L.value.innerHTML=B.value,_e(0,{selectRange:!0})):_e(0)},Ue=M=>{J.value?.state.isVisible&&M.preventDefault()},je=(M,U)=>{if(o.value)return!1;x.value=!1},Ge=(M,U)=>{if(o.value)return!1;if(a.value){const Y=M.target,{offsetWidth:te}=Y,ue=M.offsetX;$.value=ue>te/2?U+1:U,_e(0)}else B.value=Pe(n.value[0]),L.value.innerHTML=B.value,_e(0,{selectRange:!0})},P=(M,{username:U})=>{if(!p.value)return!1;const Y=M.currentTarget;if(Y._user_tips_)return!1;z.value[U]=setTimeout(()=>{Y._user_tips_=tippy(Y,{theme:"light small-arrow user-selected-tips",offset:[0,5],appendTo:document.body,arrow:!0,content:"loading...",placement:"top",interactive:!0,onShow:te=>{fe(te,U)}}),Y._user_tips_.show(),delete z.value[U]},v.value)},K=(M,{username:U})=>{p.value&&z.value[U]&&clearTimeout(z.value[U])},oe=()=>{x.value=!1},le=({username:M},U)=>{if(o.value)return!1;const Y=[...q.value];Y.splice(U,1),q.value=Y,Ne(),N.value?_e(U>=$.value?0:-1):xe(),t.emit("remove-selected",M)},ie=(M,U)=>{x.value=!1},ge=(M,U)=>{if(U||U.value)return _e(0),!1;if(ke(M),F.value.push(M),a.value){const Y=[...q.value];Y.splice($.value,0,M.username),q.value=Y,setTimeout(()=>{_e(1),Se({reset:!0}),O()},0)}else q.value=[M.username],Ne(),xe();t.emit("select-user",M)},be=()=>{x.value=!1},Ve=()=>{_e(0)},Se=(M={})=>{M.reset&&Ne(),N.value=!0,x.value=!0,vue.nextTick(()=>{const U=L.value;if(!U)return;U.focus();const Y=window.getSelection();Y.selectAllChildren(U),!M.selectRange&&Y.collapseToEnd()})},Be=M=>{if(G.value){M.preventDefault(),M.stopPropagation();return}const{key:U}=M,Y={Enter:Me,Backspace:$e,Delete:$e,ArrowLeft:Ce,ArrowRight:Ce,ArrowUp:Ce,ArrowDown:Ce};Y.hasOwnProperty(U)&&Y[U](M),t.emit("keydown",M)},Me=M=>{if(M.preventDefault(),M.stopPropagation(),x.value=!1,k.value!==-1){const{username:U}=Q.value[k.value];if(f.value.includes(U))return!1;if(a.value){const te=[...q.value];te.splice($.value,0,U),q.value=te,_e(1,{reset:!0})}else q.value=[U],Ne(),xe()}else if(B.value)if(!r.value&&!q.value.includes(B.value))if(a.value){const U=[...q.value];U.splice($.value,0,B.value),q.value=U,_e(1,{reset:!0})}else q.value=[B.value],Ne(),xe();else Ne();else Ne(),xe();Ee()},$e=M=>{if(B.value||!q.value.length||!$.value)return!0;x.value=!1;const U=[...q.value];U.splice($.value-1,1),q.value=U,_e(-1),O()},Ce=M=>{const U=M.key;if(["ArrowLeft","ArrowRight"].includes(U)){if(B.value||!q.value.length)return!0;U==="ArrowLeft"&&$.value!==0?_e(-1):U==="ArrowRight"&&$.value!==q.value.length&&_e(1)}else Q.value.length&&(M.preventDefault(),U==="ArrowDown"?k.value<Q.value.length-1?k.value+=1:E.value.next?(E.value.$refs.alternateList.scrollTop+=32,E.value.handleScroll()):k.value=0:U==="ArrowUp"&&k.value!==-1&&(k.value-=1))},qe=M=>{if(G.value){M.preventDefault(),M.stopPropagation();return}B.value=L.value.textContent.trim()},xe=()=>{if(!x.value)return!0;N.value=!1,Ee()},Oe=M=>Q.value.find(Y=>{const te=Y.username,ue=Y.display_name,pe=[te,ue].some(we=>we.toLowerCase()===M.toLowerCase()),ve=q.value.includes(te);return pe&&!ve}),Qe=async M=>{if(_.value){const Y=(await request.pasteValidate(_.value,M)).map(te=>te.username);return r.value?Y:[...new Set(Y.concat(M))]}return b.value?b.value(values):(console.warn("No paste validator has been set"),Promise.resolve([]))},ot=async M=>{Ee(),G.value&&(M.preventDefault(),M.stopPropagation());try{G.value=!0;const Y=M.clipboardData.getData("text").replace(/\s/g,"").split(/,|;/).map(we=>C.value(we)).filter(we=>we.length),te=[...new Set(Y)];if(!te.length)return;const ue=await(b.value||Qe)(te),pe=ue.filter(we=>!q.value.includes(we));if(!ue.length)return;const ve=[...q.value];ve.splice($.value,0,...pe),q.value=ve,a.value?N.value&&_e(pe.length,{reset:!0}):xe()}catch(U){console.error(U)}finally{G.value=!1}},Le=()=>Array.from(D.value.querySelectorAll(".user-selector-selected")),_e=(M,U={})=>{$.value=$.value+M,vue.nextTick(()=>{const te=Le()[$.value]||null;D.value.insertBefore(L.value,te),Se(U),Ae()})},He=()=>{if(!E.value||!H.value)return!1;vue.nextTick(()=>{const{highlightIndex:M}=Z,U=E.value.$refs.alternateList;if(!U)return!1;if(M!==-1){const Y=E.value.alternateItem[M].$el,te=U.clientHeight,ue=U.scrollTop,pe=Y.offsetTop,ve=Y.offsetHeight;if(pe>=ue&&pe+ve<=ue+te)return!1;pe<=ue?U.scrollTop=pe:pe+ve>ue+te&&(U.scrollTop=pe+ve-te)}else U.scrollTop=0})},We=vue.ref(0),Fe=()=>{if(!H.value||(Xe(),!w.value||N.value||q.value.length<2))return!1;Ye(),We.value=setTimeout(()=>{const M=Le(),U=M.findIndex((Y,te)=>te?M[te-1].offsetTop!==Y.offsetTop:!1);U>-1?S.value=U:S.value=null,D.value.scrollTop=0,Ke()},0)},Ye=()=>{We.value&&clearTimeout(We.value)},Ke=()=>{if(!S.value)return;Je();const M=Le(),U=M[S.value];if(U)R.value.textContent=`+${q.value.length-S.value}`,D.value.insertBefore(R.value,U);else{S.value=null;return}setTimeout(()=>{const Y=M[S.value-1];R.value.offsetTop!==Y.offsetTop&&(S.value-=1,D.value.insertBefore(R.value,R.value.previousSibling),R.value.textContent=`+${q.value.length-S.value}`)},0)},Je=()=>{if(R.value)return R.value;const M=document.createElement("span");M.className="user-selector-overflow-tag",R.value=M},Xe=()=>{R.value&&R.value.parentNode===D.value&&D.value.removeChild(R.value)},at=()=>{q.value=[],t.emit("clear")},Ne=()=>{x.value=!0,k.value=-1,B.value="",L.value.innerHTML=""};return vue.watch(B,M=>{M.length?(k.value=-1,He(),ee(M)):N.value&&O()}),vue.watch(N,M=>{M?(O(),t.emit("focus")):(Ne(),t.emit("blur")),Fe()}),vue.watch(k,()=>{He()}),vue.watch(q,M=>{t.emit("update:modelValue",M),t.emit("change",M),Fe(),se()}),vue.onMounted(()=>{Fe(),se()}),{selectorHeight:I,singleRowHeight:T,inputValue:B,inputIndex:$,highlightIndex:k,shouldUpdate:x,isFocus:N,overflowTagIndex:S,currentUsers:F,matchedUsers:j,flattenedUsers:Q,scheduleSearch:ee,popoverInstance:J,alternateContent:E,selectedTipsTimer:z,overflowTagNode:R,loading:G,isSelector:H,containerStyle:W,localValue:q,localValueUsers:X,userInfo:ae,getCurrentUsers:se,search:O,getDefaultAlternateData:ne,filterUsers:re,defaultFuzzySearchMethod:de,getUserTips:fe,defaultExactSearchMethod:ce,getPopoverInstance:he,getAlternateContent:ye,getHistoryUsers:me,updateHistoryUsers:ke,updatePopover:Ae,showPopover:De,hidePopover:Ee,handlePopoverHide:Te,getDisplayText:Pe,focus:ze,handleContainerScroll:Ue,handleSelectedMousedown:je,handleSelectedMouseup:Ge,handleSelectedMouseenter:P,handleSelectedMouseleave:K,handleRemoveMouseDown:oe,handleRemoveSelected:le,handleUserMousedown:ie,handleUserMouseup:ge,handleGroupMousedown:be,handleGroupMouseup:Ve,setSelection:Se,handleKeydown:Be,handleEnter:Me,handleBackspace:$e,handleArrow:Ce,handleInput:qe,handleBlur:xe,getMatchedUser:Oe,defaultPasteValidator:Qe,handlePaste:ot,getSelectedDOM:Le,moveInput:_e,updateScroller:He,calcOverflow:Fe,clearOverflowTimer:Ye,insertOverflowTag:Ke,getOverflowTagNode:Je,removeOverflowTagNode:Xe,handleFastClear:at,reset:Ne,containerRef:D,inputRef:L}}}),_hoisted_1$E={class:"user-selector-layout"},_hoisted_2$n=["data-placeholder"],_hoisted_3$d=["onMousedown","onMouseup","onMouseenter","onMouseleave"],_hoisted_4$d={class:"user-selector-selected-value"},_hoisted_5$a=["onClick"],_hoisted_6$6={key:1,class:"user-selector user-selector-info"};function _sfc_render$1(e,t,n,o,a,r){const s=vue.resolveComponent("render-tag"),i=vue.resolveComponent("render-avatar");return e.isSelector?(vue.openBlock(),vue.createElementBlock("div",vue.mergeProps({key:0,class:"user-selector"},e.$attrs,{style:{height:e.fixedHeight?e.selectorHeight+"px":"auto"},onMousedown:t[10]||(t[10]=l=>e.shouldUpdate=!1),onClick:t[11]||(t[11]=(...l)=>e.focus&&e.focus(...l))}),[vue.createElementVNode("div",_hoisted_1$E,[vue.createElementVNode("div",{class:vue.normalizeClass(["user-selector-container",{focus:e.isFocus,disabled:e.disabled,placeholder:!e.localValue.length&&!e.isFocus,"is-fast-clear":e.fastClear,"has-avatar":e.tagType==="avatar","is-loading":e.loading,"is-flex-height":!e.fixedHeight}]),ref:"containerRef",style:vue.normalizeStyle(e.containerStyle),"data-placeholder":e.placeholder,onMousewheel:t[8]||(t[8]=(...l)=>e.handleContainerScroll&&e.handleContainerScroll(...l))},[e.multiple||!e.isFocus?(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:0},vue.renderList(e.localValueUsers,(l,c)=>(vue.openBlock(),vue.createElementBlock("span",{class:"user-selector-selected",key:l.username,onClick:t[2]||(t[2]=vue.withModifiers(()=>{},["stop"])),onMousedown:vue.withModifiers(u=>e.handleSelectedMousedown(u,c),["left","stop"]),onMouseup:vue.withModifiers(u=>e.handleSelectedMouseup(u,c),["left","stop"]),onMouseenter:u=>e.handleSelectedMouseenter(u,l),onMouseleave:u=>e.handleSelectedMouseleave(u,l)},[e.renderTag?(vue.openBlock(),vue.createBlock(s,{key:0,user:l,username:l.username,index:c},null,8,["user","username","index"])):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[e.tagType==="avatar"?(vue.openBlock(),vue.createBlock(i,{key:0,class:"user-selector-selected-avatar",user:l,"url-method":e.avatarUrl},null,8,["user","url-method"])):vue.createCommentVNode("",!0),vue.createElementVNode("span",_hoisted_4$d,vue.toDisplayString(e.getDisplayText(l)),1)],64)),e.tagClearable&&e.tagType==="tag"?(vue.openBlock(),vue.createElementBlock("i",{key:2,class:"user-selector-selected-clear bk-biz-components-icon bk-biz-icon-close",onMouseup:t[0]||(t[0]=vue.withModifiers(()=>{},["left","stop"])),onMousedown:t[1]||(t[1]=vue.withModifiers((...u)=>e.handleRemoveMouseDown&&e.handleRemoveMouseDown(...u),["left","stop"])),onClick:vue.withModifiers(u=>e.handleRemoveSelected(l,c),["stop","prevent"])},null,40,_hoisted_5$a)):vue.createCommentVNode("",!0)],40,_hoisted_3$d))),128)):vue.createCommentVNode("",!0),vue.withDirectives(vue.createElementVNode("span",{ref:"inputRef",class:"user-selector-input",spellcheck:"false",contenteditable:"",onClick:t[3]||(t[3]=vue.withModifiers(()=>{},["stop"])),onInput:t[4]||(t[4]=l=>e.handleInput(l)),onBlur:t[5]||(t[5]=(...l)=>e.handleBlur&&e.handleBlur(...l)),onPaste:t[6]||(t[6]=vue.withModifiers(l=>e.handlePaste(l),["prevent","stop"])),onKeydown:t[7]||(t[7]=l=>e.handleKeydown(l))},null,544),[[vue.vShow,e.isFocus]])],46,_hoisted_2$n),e.fastClear&&!e.disabled&&e.localValue.length?(vue.openBlock(),vue.createElementBlock("i",{key:0,class:"user-selector-clear bk-biz-components-icon bk-biz-icon-close-circle-shape",onClick:t[9]||(t[9]=vue.withModifiers((...l)=>e.handleFastClear&&e.handleFastClear(...l),["stop"]))})):vue.createCommentVNode("",!0)])],16)):(vue.openBlock(),vue.createElementBlock("span",_hoisted_6$6,vue.toDisplayString(e.userInfo),1))}const UserSelector=_export_sfc(_sfc_main$H,[["render",_sfc_render$1]]),_sfc_main$G=vue.defineComponent({__name:"index",props:{modelValue:{},multiple:{type:Boolean,default:!0},placeholder:{default:""},disabled:{type:Boolean,default:!1},fetchUserApi:{default:""}},emits:["update:modelValue","change"],setup(e,{emit:t}){const n=e,o=t,a=vue.ref([]);vue.watch(()=>n.modelValue,()=>{a.value=[...n.modelValue]});const r=s=>{o("update:modelValue",s.slice()),o("change",s.slice())};return(s,i)=>(vue.openBlock(),vue.createBlock(vue.unref(UserSelector),{modelValue:n.modelValue,"onUpdate:modelValue":i[0]||(i[0]=l=>n.modelValue=l),api:n.fetchUserApi,"fix-height":!0,multiple:n.multiple,placeholder:n.placeholder,disabled:n.disabled,onChange:r},null,8,["modelValue","api","multiple","placeholder","disabled"]))}}),_hoisted_1$D={class:"notify-type-wrapper"},_hoisted_2$m={key:1},_sfc_main$F=vue.defineComponent({__name:"notify-config-forms",props:{config:{},editable:{type:Boolean,default:!0},fetchUserApi:{default:""}},emits:["change"],setup(e,{emit:t}){const n=[{label:"任务状态"},{label:"微信",type:"weixin",icon:WeixinIcon},{label:"企业微信",type:"rtx",icon:RtxIcon},{label:"邮件",type:"mail",icon:MailIcon},{label:"短信",type:"sms",icon:SmsIcon},{label:"语音",type:"voice",icon:VoiceIcon}],o=e,a=t,r=[[],[]],s=vue.ref([]),i=vue.ref([]),l=vue.ref([]);vue.watch(()=>o.config,()=>{const{notify_type:h,notify_receivers:p}=o.config;s.value=[...h.success],i.value=[...h.fail],l.value=p.more_receiver?p.more_receiver.split(","):[]},{immediate:!0});const c=h=>{const p=n[h];return p.type?vue.createVNode("div",{class:"notify-table-header"},[vue.createVNode("img",{class:"notify-icon",src:p.icon},null),vue.createVNode("p",{class:"label-text"},[p.label])]):vue.createVNode("p",{class:"label-text"},[p.label])},u=(h,p)=>h===0?s.value.includes(p):i.value.includes(p),m=(h,p,g)=>{const v=h===0?s.value:i.value;if(g)v.includes(p)||v.push(p);else{const w=v.findIndex(f=>f===p);w>-1&&v.splice(w,1)}y()},y=()=>{a("change",{notify_type:{success:s.value,fail:i.value},notify_receivers:{more_receiver:l.value.join(","),receiver_group:[]}})};return(h,p)=>{const g=vue.resolveComponent("bk-switcher"),v=vue.resolveComponent("bk-table-column"),w=vue.resolveComponent("bk-table"),f=vue.resolveComponent("bk-form-item");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$D,[vue.createVNode(f,{label:"通知方式"},{default:vue.withCtx(()=>[vue.createVNode(w,{class:"notify-type-table",data:r,border:["outer"]},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(n,_=>vue.createVNode(v,{key:_.type,label:c},{default:vue.withCtx(({index:d})=>[_.type?(vue.openBlock(),vue.createBlock(g,{key:0,size:"small",theme:"primary",disabled:!o.editable,value:u(d,_.type),onChange:C=>m(d,_.type,C)},null,8,["disabled","value","onChange"])):(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$m,vue.toDisplayString(d===0?"成功":"失败"),1))]),_:2},1024)),64))]),_:1})]),_:1}),vue.createVNode(f,{label:"通知人"},{default:vue.withCtx(()=>[vue.createVNode(_sfc_main$G,{modelValue:l.value,"onUpdate:modelValue":p[0]||(p[0]=_=>l.value=_),class:"receivers-selector",placeholder:"请选择通知人","fetch-user-api":o.fetchUserApi,disabled:!o.editable,onChange:y},null,8,["modelValue","fetch-user-api","disabled"])]),_:1})])}}}),NotifyConfigForms=_export_sfc(_sfc_main$F,[["__scopeId","data-v-9ca32fa9"]]),_hoisted_1$C={class:"template-settings"},_sfc_main$E=vue.defineComponent({__name:"index",props:{settings:{},editable:{type:Boolean,default:!0},fetchUserApi:{default:""}},emits:["change"],setup(e,{expose:t,emit:n}){const o=e,a=n,r=vue.ref(lodash.cloneDeep(o.settings)),s=vue.ref(),i={name:[{required:!0,message:"请输入流程名称"}]};vue.watch(()=>o.settings,m=>{r.value=lodash.cloneDeep(m)});const l=m=>{r.value.notify_config=m,u()},c=()=>s.value.validate().then(()=>!0).catch(()=>!1),u=()=>{a("change",r.value)};return t({validate:c}),(m,y)=>{const h=vue.resolveComponent("bk-input"),p=vue.resolveComponent("bk-form-item"),g=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$C,[vue.createVNode(g,{ref_key:"formRef",ref:s,"label-width":140,model:r.value,rules:i},{default:vue.withCtx(()=>[vue.createVNode(SectionContainer,{title:"基础"},{default:vue.withCtx(()=>[vue.createVNode(p,{label:"流程名称",property:"name",required:!0},{default:vue.withCtx(()=>[vue.createVNode(h,{modelValue:r.value.name,"onUpdate:modelValue":y[0]||(y[0]=v=>r.value.name=v),"show-word-limit":"",maxlength:50,disabled:!o.editable,onChange:u},null,8,["modelValue","disabled"])]),_:1})]),_:1}),vue.createVNode(SectionContainer,{title:"通知",desc:"选择通知方式后,将默认通知到任务执行人"},{default:vue.withCtx(()=>[vue.createVNode(NotifyConfigForms,{config:r.value.notify_config,editable:o.editable,"fetch-user-api":o.fetchUserApi,onChange:l},null,8,["config","editable","fetch-user-api"])]),_:1}),vue.createVNode(SectionContainer,{title:"其他"},{default:vue.withCtx(()=>[vue.createVNode(p,{label:"备注"},{default:vue.withCtx(()=>[vue.createVNode(h,{modelValue:r.value.desc,"onUpdate:modelValue":y[1]||(y[1]=v=>r.value.desc=v),type:"textarea",placeholder:"请输入流程模板备注信息",rows:5,resize:!1,disabled:!o.editable,onChange:u},null,8,["modelValue","disabled"])]),_:1})]),_:1})]),_:1},8,["model"])])}}}),Settings=_export_sfc(_sfc_main$E,[["__scopeId","data-v-7141b698"]]),_hoisted_1$B={class:"basic-setting-slider"},_hoisted_2$l={class:"sideslider-footer-buttons"},_sfc_main$D=vue.defineComponent({__name:"index",props:{editable:{type:Boolean,default:!0},show:{type:Boolean},settings:{},fetchUserApi:{default:""}},emits:["change","close","update:show"],setup(e,{emit:t}){const n=e,o=t,a=vue.ref(lodash.cloneDeep(n.settings)),r=vue.ref();vue.watch(()=>n.settings,c=>{a.value=lodash.cloneDeep(c)});const s=c=>{a.value=c},i=async()=>{await r.value?.validate()&&(o("change",a.value),l())},l=()=>{o("close"),o("update:show",!1)};return(c,u)=>{const m=vue.resolveComponent("bk-button"),y=vue.resolveComponent("bk-sideslider");return vue.openBlock(),vue.createBlock(y,{title:"基础信息","is-show":n.show,width:800,"quick-close":!n.editable,"esc-close":!1,"before-close":l},{footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$l,[n.editable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(m,{theme:"primary",onClick:i},{default:vue.withCtx(()=>[...u[0]||(u[0]=[vue.createTextVNode("确定",-1)])]),_:1}),vue.createVNode(m,{onClick:l},{default:vue.withCtx(()=>[...u[1]||(u[1]=[vue.createTextVNode("取消",-1)])]),_:1})],64)):(vue.openBlock(),vue.createBlock(m,{key:1,theme:"primary",onClick:l},{default:vue.withCtx(()=>[...u[2]||(u[2]=[vue.createTextVNode("关闭",-1)])]),_:1}))])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$B,[vue.createVNode(Settings,{ref_key:"templateSettingsRef",ref:r,settings:a.value,editable:n.editable,"fetch-user-api":n.fetchUserApi,onChange:s},null,8,["settings","editable","fetch-user-api"])])]),_:1},8,["is-show","quick-close"])}}}),BasicSetting=_export_sfc(_sfc_main$D,[["__scopeId","data-v-e2a7edd9"]]);function setupMonacoEnvironment(){if(typeof self>"u")return;const e=self;e.MonacoEnvironment||(e.MonacoEnvironment={getWorker(t,n){const a={json:"monaco-editor/esm/vs/language/json/json.worker.js",css:"monaco-editor/esm/vs/language/css/css.worker.js",scss:"monaco-editor/esm/vs/language/css/css.worker.js",less:"monaco-editor/esm/vs/language/css/css.worker.js",html:"monaco-editor/esm/vs/language/html/html.worker.js",handlebars:"monaco-editor/esm/vs/language/html/html.worker.js",razor:"monaco-editor/esm/vs/language/html/html.worker.js",typescript:"monaco-editor/esm/vs/language/typescript/ts.worker.js",javascript:"monaco-editor/esm/vs/language/typescript/ts.worker.js"}[n]||"monaco-editor/esm/vs/editor/editor.worker.js";return new Worker(a,{type:"module"})}})}setupMonacoEnvironment();const _hoisted_1$A={class:"editor-header"},_sfc_main$C=vue.defineComponent({__name:"index",props:{modelValue:{},options:{}},emits:["update:modelValue","change","blur","save"],setup(e,{emit:t}){setupMonacoEnvironment();const n={language:"javascript",theme:"vs-dark",automaticLayout:!0,minimap:{enabled:!1},wordWrap:"on",wrappingIndent:"same"},o=e,a=t,r=vue.ref(),s=vue.shallowRef(),i=vue.shallowRef(!1);vue.watch(()=>o.modelValue,p=>{const g=s.value?.getValue();p!==g&&s.value?.setValue(p)}),vue.watch(()=>o.options,p=>{s.value?.updateOptions({...n,...p})},{deep:!0}),vue.onMounted(()=>{l()}),vue.onBeforeUnmount(()=>{s.value&&s.value.dispose()});const l=()=>{s.value=monaco__namespace.editor.create(r.value,{...n,...o.options,value:o.modelValue});const p=s.value.getModel();if(p&&(p.setEOL(0),p.onDidChangeContent(()=>{const g=s.value?.getValue();h(g)})),o.modelValue.indexOf(`\r
|
|
51
|
+
`)>-1){const g=document.createElement("textarea");g.value=o.modelValue,h(g.value)}s.value.onDidBlurEditorText(()=>{a("blur")}),s.value.addCommand(monaco__namespace.KeyMod.CtrlCmd|monaco__namespace.KeyCode.KeyS,()=>{const g=s.value?.getValue();a("save",g)})},c=()=>{const p=document.createElement("textarea");p.value=s.value.getValue(),document.body.appendChild(p),p.select(),document.execCommand("copy"),document.body.removeChild(p),BkMessage({theme:"success",message:"复制成功"})},u=()=>{i.value=!0,window.addEventListener("keydown",y,{once:!0}),BkMessage({theme:"primary",message:"按 Esc 即可退出全屏模式"})},m=()=>{i.value=!1,window.removeEventListener("keydown",y)},y=p=>{p.code==="Escape"&&(i.value=!1)},h=p=>{a("update:modelValue",p),a("change",p)};return(p,g)=>{const v=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createBlock(vue.Teleport,{disabled:!i.value,to:"body"},[vue.createElementVNode("div",{class:vue.normalizeClass(["bkflow-code-editor",{fullscreen:i.value}])},[vue.createElementVNode("div",_hoisted_1$A,[vue.withDirectives(vue.createVNode(vue.unref(icon.Copy),{class:"copy-icon",onClick:c},null,512),[[v,{content:"复制",placement:"top",distance:20}]]),i.value?vue.withDirectives((vue.openBlock(),vue.createBlock(vue.unref(icon.UnfullScreen),{key:1,class:"fullscreen-icon",onClick:m},null,512)),[[v,{content:"退出全屏",placement:"top",distance:20}]]):vue.withDirectives((vue.openBlock(),vue.createBlock(vue.unref(icon.FilliscreenLine),{key:0,class:"fullscreen-icon",onClick:u},null,512)),[[v,{content:"全屏",placement:"top",distance:20}]])]),vue.createElementVNode("div",{ref_key:"monacoContainerRef",ref:r,class:"editor-instance-container"},null,512)],2)],8,["disabled"])}}}),CodeEditor=_export_sfc(_sfc_main$C,[["__scopeId","data-v-67af4661"]]),_hoisted_1$z={class:"pipeline-tree-code"},_sfc_main$B=vue.defineComponent({__name:"pipeline-tree-code",props:{pipelineTree:{}},setup(e){const t=e,n=vue.computed(()=>JSON.stringify(t.pipelineTree,null,4)),o=vue.ref({readOnly:!0,language:"json"});return(a,r)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$z,[vue.createVNode(CodeEditor,{modelValue:n.value,"onUpdate:modelValue":r[0]||(r[0]=s=>n.value=s),options:o.value},null,8,["modelValue","options"])]))}}),PipelineTreeCode=_export_sfc(_sfc_main$B,[["__scopeId","data-v-3b34a5ab"]]),_hoisted_1$y={class:"pipeline-tree-code-slider"},_hoisted_2$k={class:"sideslider-footer-buttons"},_sfc_main$A=vue.defineComponent({__name:"index",props:{show:{type:Boolean},pipelineTree:{},editable:{type:Boolean,default:!0}},emits:["close","update:show"],setup(e,{emit:t}){const n=e,o=t,a=()=>{o("close"),o("update:show",!1)};return(r,s)=>{const i=vue.resolveComponent("bk-button"),l=vue.resolveComponent("bk-sideslider");return vue.openBlock(),vue.createBlock(l,{title:"Code","is-show":n.show,width:800,"esc-close":!1,"before-close":a},{footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$k,[vue.createVNode(i,{theme:"primary",onClick:a},{default:vue.withCtx(()=>[...s[0]||(s[0]=[vue.createTextVNode("关闭",-1)])]),_:1})])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$y,[n.show?(vue.openBlock(),vue.createBlock(PipelineTreeCode,{key:0,"pipeline-tree":n.pipelineTree},null,8,["pipeline-tree"])):vue.createCommentVNode("",!0)])]),_:1},8,["is-show"])}}}),CanvasPipelineTree=_export_sfc(_sfc_main$A,[["__scopeId","data-v-8fcc9638"]]),_hoisted_1$x={class:"flow-info-sliders"},_hoisted_2$j={class:"icons"},_sfc_main$z=vue.defineComponent({__name:"index",props:{flowData:{},systemVariables:{default:()=>[]},editable:{type:Boolean,default:!0},fetchUserApi:{default:""}},emits:["change"],setup(e,{expose:t,emit:n}){const o=e;useFlowApiConfig();const a=n,r=vue.ref(!1),s=vue.ref(!1),i=vue.ref({show:!1,settings:{name:"",desc:"",notify_config:{notify_type:{success:[],fail:[]},notify_receivers:{more_receiver:"",receiver_group:[]}}}}),l=vue.ref(!1),c=()=>{const{name:h,desc:p,notify_config:g}=o.flowData,{notify_type:v={success:[],fail:[]},notify_receivers:w={more_receiver:"",receiver_group:[]}}=g;i.value={show:!0,settings:{name:h,desc:p,notify_config:{notify_type:v,notify_receivers:w}}}},u=h=>{i.value.settings=h,a("change",{...o.flowData,...h})},m=h=>{const p={...o.flowData.pipeline_tree,constants:h};a("change",{...o.flowData,pipeline_tree:p})},y=(h,p)=>{const g=[...o.flowData.pipeline_tree.outputs],v=g.indexOf(h);p?v===-1&&g.push(h):v>-1&&g.splice(v,1);const w={...o.flowData.pipeline_tree,outputs:g};a("change",{...o.flowData,pipeline_tree:w})};return t({openBasicSetting:c}),(h,p)=>{const g=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$x,[vue.createElementVNode("span",_hoisted_2$j,[vue.withDirectives(vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-caozuojilu",onClick:p[0]||(p[0]=v=>r.value=!0)},null,512),[[g,"操作记录"]]),vue.withDirectives(vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-quanjubianliang",onClick:p[1]||(p[1]=v=>s.value=!0)},null,512),[[g,"全局变量"]]),vue.withDirectives(vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-jichuxinxi",onClick:c},null,512),[[g,"基础信息"]]),vue.withDirectives(vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-code",onClick:p[2]||(p[2]=v=>l.value=!0)},null,512),[[g,"Code"]])]),vue.createVNode(OperateRecords,{show:r.value,"onUpdate:show":p[3]||(p[3]=v=>r.value=v),"flow-id":o.flowData.id},null,8,["show","flow-id"]),vue.createVNode(GlobalVariables,{show:s.value,"onUpdate:show":p[4]||(p[4]=v=>s.value=v),"flow-data":o.flowData,"system-variables":o.systemVariables,editable:o.editable,onOutputChange:y,onChange:m},null,8,["show","flow-data","system-variables","editable"]),vue.createVNode(BasicSetting,{show:i.value.show,"onUpdate:show":p[5]||(p[5]=v=>i.value.show=v),settings:i.value.settings,editable:o.editable,"fetch-user-api":o.fetchUserApi,onChange:u},null,8,["show","settings","editable","fetch-user-api"]),vue.createVNode(CanvasPipelineTree,{show:l.value,"onUpdate:show":p[6]||(p[6]=v=>l.value=v),"pipeline-tree":o.flowData.pipeline_tree,editable:o.editable},null,8,["show","pipeline-tree","editable"])])}}}),FlowInfoSliders=_export_sfc(_sfc_main$z,[["__scopeId","data-v-2085d8e3"]]),_hoisted_1$w={class:"expression-guidance"},_sfc_main$y=vue.defineComponent({__name:"expression-guidance",props:{parseLang:{default:"boolrule"}},setup(e){const t=e;return(n,o)=>{const a=vue.resolveComponent("bk-link");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$w,[t.parseLang==="MAKO"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[o[0]||(o[0]=vue.createStaticVNode('<p data-v-dd71ced7>makoOperates</p><p data-v-dd71ced7>支持 "and、or、not、True、False" 等 MAKO 关键字语法</p><br data-v-dd71ced7><p data-v-dd71ced7>支持直接引用全局变量</p><p data-v-dd71ced7>使用内置函数、datetime、re、hashlib、random、time、os.path模块处理全局变量</p><br data-v-dd71ced7><p data-v-dd71ced7>示例:</p><p data-v-dd71ced7>假设 key 是值为 "3" 的全局变量</p><p data-v-dd71ced7>字符串比较:<code class="code" data-v-dd71ced7>key == "3"</code></p><p data-v-dd71ced7>数值比较:<code class="code" data-v-dd71ced7>int(key) >= 3</code></p><p data-v-dd71ced7>包含:<code class="code" data-v-dd71ced7>int(key) in (1,2,3)</code></p>',11))],64)):t.parseLang==="FEEL"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[o[1]||(o[1]=vue.createStaticVNode('<p data-v-dd71ced7>feelOperates</p><p data-v-dd71ced7>支持 "and、or、true、false" 等关键字语法</p><p data-v-dd71ced7>支持 FEEL (Friendly Enough Expression Language) 基础语法</p><br data-v-dd71ced7><p data-v-dd71ced7>支持使用全局变量,如<code class="code" data-v-dd71ced7>${key}</code>、<code class="code" data-v-dd71ced7>${int(key)}</code></p><p data-v-dd71ced7>${}中支持使用内置函数、datetime、re、hashlib、random、time、os.path模块处理全局变量</p><br data-v-dd71ced7><p data-v-dd71ced7>示例:</p><p data-v-dd71ced7>字符串比较:<code class="code" data-v-dd71ced7>"${key}" = "my string"</code></p><p data-v-dd71ced7>数值比较:<code class="code" data-v-dd71ced7>${int(key)} >= 3</code></p><p data-v-dd71ced7>包含:<code class="code" data-v-dd71ced7>list contains([1, 2, 3], ${int(key)})</code></p>',11))],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:2},[o[4]||(o[4]=vue.createElementVNode("p",null,"makoOperates",-1)),o[5]||(o[5]=vue.createElementVNode("p",null,'支持 "and、or、True/true、False/false" 等关键字语法',-1)),vue.createElementVNode("p",null,[o[3]||(o[3]=vue.createTextVNode(" 表达式更多细节请参考 ",-1)),vue.createVNode(a,{theme:"primary",href:"https://boolrule.readthedocs.io/en/latest/expressions.html#basic-comparison-operators",target:"_blank"},{default:vue.withCtx(()=>[...o[2]||(o[2]=[vue.createTextVNode(" 'boolrule' ",-1)])]),_:1})]),o[6]||(o[6]=vue.createStaticVNode('<br data-v-dd71ced7><p data-v-dd71ced7>支持使用全局变量,如<code class="code" data-v-dd71ced7>${key}</code>、<code class="code" data-v-dd71ced7>${int(key)}</code></p><p data-v-dd71ced7>支持使用内置函数、datetime、re、hashlib、random、time、os.path模块处理全局变量</p><br data-v-dd71ced7><p data-v-dd71ced7>示例:</p><p data-v-dd71ced7>字符串比较:<code class="code" data-v-dd71ced7>"${key}" == "my string"</code></p><p data-v-dd71ced7>数值比较:<code class="code" data-v-dd71ced7>${int(key)} >= 3</code></p><p data-v-dd71ced7>包含:<code class="code" data-v-dd71ced7>${key} in (1,2,3)</code></p>',8))],64))])}}}),ExpressionGuidance=_export_sfc(_sfc_main$y,[["__scopeId","data-v-dd71ced7"]]),_hoisted_1$v={class:"bkflow-branch-condition"},_hoisted_2$i={class:"expression-value-editor"},_sfc_main$x=vue.defineComponent({__name:"index",props:{condition:{},isDefault:{type:Boolean},hasDefaultBranch:{type:Boolean,default:!0},editable:{type:Boolean,default:!0}},emits:["change"],setup(e,{expose:t,emit:n}){const o=e,a=n,r=vue.ref({...o.condition}),s=vue.shallowRef(o.isDefault),i=vue.ref(),l={name:[{required:!0,message:"请输入分支名称"}],evaluate:[{required:!0,message:"请输入表达式"}]};vue.watch(()=>o.condition,y=>{r.value={...y}}),vue.watch(()=>o.isDefault,y=>{s.value=y});const c=()=>{"evaluate"in r.value||(r.value.evaluate="")},u=()=>{a("change",{...r.value},s.value)};return t({validate:()=>i.value.validate().then(()=>!0).catch(()=>!1)}),(y,h)=>{const p=vue.resolveComponent("bk-input"),g=vue.resolveComponent("bk-form-item"),v=vue.resolveComponent("bk-radio"),w=vue.resolveComponent("bk-radio-group"),f=vue.resolveComponent("bk-form"),_=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$v,[vue.createVNode(f,{ref_key:"formRef",ref:i,"form-type":"vertical",model:r.value,rules:l},{default:vue.withCtx(()=>[vue.createVNode(g,{label:"分支名称",property:"name",required:!0},{default:vue.withCtx(()=>[vue.createVNode(p,{modelValue:r.value.name,"onUpdate:modelValue":h[0]||(h[0]=d=>r.value.name=d),disabled:!o.editable,onChange:u},null,8,["modelValue","disabled"])]),_:1}),vue.createVNode(g,{label:"分支类型",required:!0},{default:vue.withCtx(()=>[vue.createVNode(w,{modelValue:s.value,"onUpdate:modelValue":h[1]||(h[1]=d=>s.value=d),onChange:c},{default:vue.withCtx(()=>[vue.createVNode(v,{label:!1,disabled:!o.editable},{default:vue.withCtx(()=>[...h[3]||(h[3]=[vue.createTextVNode("自定义分支",-1)])]),_:1},8,["disabled"]),vue.createVNode(v,{label:!0,disabled:!o.editable||o.hasDefaultBranch&&!o.isDefault},{default:vue.withCtx(()=>[h[4]||(h[4]=vue.createTextVNode(" 默认分支 ",-1)),vue.withDirectives(vue.createVNode(vue.unref(icon.Info),{class:"radio-tips"},null,512),[[_,{content:"所有分支均不匹配时执行,类似switch-case-default里面的default",width:216,placement:"top"}]])]),_:1},8,["disabled"])]),_:1},8,["modelValue"])]),_:1}),s.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(g,{key:0,label:"表达式",property:"evaluate",required:!0},{default:vue.withCtx(()=>[vue.createVNode(ExpressionGuidance),vue.createElementVNode("div",_hoisted_2$i,[vue.createVNode(CodeEditor,{modelValue:r.value.evaluate,"onUpdate:modelValue":h[2]||(h[2]=d=>r.value.evaluate=d),options:{readOnly:!o.editable},onChange:u},null,8,["modelValue","options"])])]),_:1}))]),_:1},8,["model"])])}}}),BranchCondition=_export_sfc(_sfc_main$x,[["__scopeId","data-v-83ccbcd3"]]),_hoisted_1$u={class:"branch-condition-slider"},_hoisted_2$h={class:"sideslider-footer-buttons"},_sfc_main$w=vue.defineComponent({__name:"index",props:{show:{type:Boolean},condition:{},hasDefaultBranch:{type:Boolean,default:!0},isDefault:{type:Boolean},editable:{type:Boolean,default:!0}},emits:["close","update:show","confirm"],setup(e,{emit:t}){const n=e,o=t,a=vue.shallowRef({...n.condition}),r=vue.shallowRef(n.isDefault),s=vue.shallowRef();vue.watch(()=>n.show,u=>{u&&(a.value={...n.condition},r.value=n.isDefault)});const i=(u,m)=>{a.value=u,r.value=m},l=async()=>{await s.value?.validate()&&(o("confirm",a.value,r.value),c())},c=()=>{o("close"),o("update:show",!1)};return(u,m)=>{const y=vue.resolveComponent("bk-button"),h=vue.resolveComponent("bk-sideslider");return vue.openBlock(),vue.createBlock(h,{title:"分支条件","is-show":n.show,width:800,"esc-close":!1,"before-close":c},{footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$h,[n.editable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(y,{theme:"primary",onClick:l},{default:vue.withCtx(()=>[...m[0]||(m[0]=[vue.createTextVNode("确定",-1)])]),_:1}),vue.createVNode(y,{onClick:c},{default:vue.withCtx(()=>[...m[1]||(m[1]=[vue.createTextVNode("取消",-1)])]),_:1})],64)):(vue.openBlock(),vue.createBlock(y,{key:1,theme:"primary",onClick:c},{default:vue.withCtx(()=>[...m[2]||(m[2]=[vue.createTextVNode("关闭",-1)])]),_:1}))])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$u,[vue.createVNode(BranchCondition,{ref_key:"branchConditionRef",ref:s,condition:a.value,"has-default-branch":n.hasDefaultBranch,"is-default":r.value,editable:n.editable,onChange:i},null,8,["condition","has-default-branch","is-default","editable"])])]),_:1},8,["is-show"])}}}),BranchConditionPanel=_export_sfc(_sfc_main$w,[["__scopeId","data-v-c257ae64"]]),data$1={output:[{name:"Trace ID",key:"trace_id",type:"string",schema:{type:"string",description:"Trace ID",enum:[]}},{name:"执行结果",key:"_result",type:"boolean",schema:{type:"boolean",description:"执行结果的布尔值,True or False",enum:[]}},{name:"循环次数",key:"_loop",type:"int",schema:{type:"int",description:"循环执行次数",enum:[]}},{name:"当前流程循环次数",key:"_inner_loop",type:"int",schema:{type:"int",description:"在当前流程节点循环执行次数,由父流程重新进入时会重置(仅支持新版引擎)",enum:[]}}]},remoteApiCommonConfig={data:data$1},data={output:[{name:"响应内容",key:"data",type:"object",schema:{type:"object",description:"HTTP 请求响应内容,内部结构不固定",enum:[],properties:{}}},{name:"状态码",key:"status_code",type:"int",schema:{type:"int",description:"HTTP 请求响应状态码",enum:[]}},{name:"执行结果",key:"_result",type:"boolean",schema:{type:"boolean",description:"执行结果的布尔值,True or False",enum:[]}},{name:"循环次数",key:"_loop",type:"int",schema:{type:"int",description:"循环执行次数",enum:[]}},{name:"当前流程循环次数",key:"_inner_loop",type:"int",schema:{type:"int",description:"在当前流程节点循环执行次数,由父流程重新进入时会重置(仅支持新版引擎)",enum:[]}}]},uniformApiCommonConfig={data};function jsonpRequest(e,t={},n={},o=""){return new Promise((a,r)=>{let s;const i={},l={atoms:i},c=g=>g,u=window.$,m=window.gettext;window.$=l,window.gettext=c;const y=document.createElement("script"),h=()=>{u!==void 0?window.$=u:delete window.$,m!==void 0?window.gettext=m:delete window.gettext,y.parentNode&&document.body.removeChild(y)};y.onload=()=>{h(),s&&clearTimeout(s);const g=o?i[o]:i;g?a(g):r(new Error(`Failed to extract plugin data from response. Plugin code: ${o}`))},y.onerror=()=>{h(),s&&clearTimeout(s),r(new Error("JSONP request failed"))};const p=[];for(const g in t)Object.prototype.hasOwnProperty.call(t,g)&&p.push(`${encodeURIComponent(g)}=${encodeURIComponent(t[g])}`);y.src=`${e}${p.length>0?"?"+p.join("&"):""}`,n.timeout&&(s=setTimeout(()=>{h(),r(new Error("JSONP request timeout"))},n.timeout)),document.body.appendChild(y)})}const pluginDetailRequest=async(e,t)=>{const{code:n,version:o,api_meta:a,data:r}=t;if(!n||!o)throw new Error("Plugin code and version are required for inner plugin");if(n==="remote_plugin"){const s=r?.plugin_code?.value,i=r?.plugin_version?.value||"";if(!s)throw new Error("Third party plugin code is required");return await getThirdPartyPluginDetail(e,s,i)}return n==="uniform_api"&&a?.id?await getUniformApiPlugin(e,a.id):await getInnerPluginDetail(e,n,o)};async function getInnerPluginDetail(e,t,n){if(!e?.fetchBkFlowInnerPluginDetail)throw new Error("fetchBkFlowInnerPluginDetail API is not available");const o=await e.fetchBkFlowInnerPluginDetail(t,n),{name:a,desc:r,form:s,output:i}=o;if(!s)throw new Error("Plugin form URL is not available");let l=[];try{l=await jsonpRequest(s,{},{timeout:1e4},t)}catch{throw new Error("Failed to fetch plugin form data")}const c=i.map(u=>({description:u.schema?.description,key:u.key,type:u.type||u.schema?.type,name:u.name}));return{code:t,version:n,name:a,desc:r,versions:[n],inputs:l,outputs:c,inputParamsFormType:"renderform"}}async function getThirdPartyPluginDetail(api,pluginCode,pluginVersion){if(!api?.fetchBkFlowThirdPartyPluginMeta||!api?.fetchBkFlowThirdPartyPluginDetail)throw new Error("Third party plugin APIs are not available");const[metaData,appData]=await Promise.all([api.fetchBkFlowThirdPartyPluginMeta(pluginCode),api.fetchBkFlowThirdPartyPluginAppDetail(pluginCode)]),version=pluginVersion||metaData.versions[0],detailData=await api.fetchBkFlowThirdPartyPluginDetail(pluginCode,version),{inputs,outputs,forms,desc}=detailData;let inputForms,inputParamsFormType="jsonschemaform";forms.renderform?("$"in window||(window.$={atoms:{}},window.gettext=e=>e),eval(forms.renderform),inputForms=window.$.atoms[pluginCode],inputParamsFormType="renderform"):inputForms=inputs;const outputForms=[];return remoteApiCommonConfig.data.output.forEach(e=>{outputForms.push({description:e.schema.description,key:e.key,type:e.type,name:e.name})}),outputs.properties&&Object.keys(outputs.properties).forEach(e=>{outputForms.push({description:outputs.properties[e].description,key:e,type:outputs.properties[e].type,name:outputs.properties[e].title})}),{code:pluginCode,version,name:appData.name,desc,versions:metaData.versions,inputs:inputForms,outputs:outputForms,inputParamsFormType}}async function getUniformApiPlugin(e,t){if(!e?.fetchPluginDetail)throw new Error("fetchPluginDetail API is not available");const n=await e.fetchPluginDetail(t),{inputs:o,url:a,methods:r,group:s}=n;return{code:"uniform_api",name:n.name,desc:"",version:"",inputs:o,outputs:uniformApiCommonConfig.data.output.map(i=>({description:i.schema.description,key:i.key,type:i.type,name:i.name})),inputParamsFormType:"uniformApiForm",url:a,group:s,methods:r,category:n.category,uniformApiName:n.name}}const getUniformApiPluginFormValue=e=>"default"in e?e.default:"",getPluginDefaultData=(e,t)=>{const{url:n,methods:o,inputs:a}=t,r={};return e==="uniform_api"?(r.uniform_api_plugin_url={value:n||"",hook:!1},r.uniform_api_plugin_method={value:o&&o.length>0?o[0]:"",hook:!1},a.forEach(s=>{r[s.key]={value:getUniformApiPluginFormValue(s),need_render:!0,hook:!1}})):e==="remote_plugin"&&(r.plugin_code={value:t.code,hook:!1},r.plugin_version={value:t.version,hook:!1}),r},_hoisted_1$t={class:"node-config-basic-info"},_hoisted_2$g={class:"plugin-select"},_hoisted_3$c={class:"error-handler-options"},_hoisted_4$c={class:"auto-retry-forms"},_hoisted_5$9={class:"timeout-config-forms"},_hoisted_6$5={class:"timeout-input"},_sfc_main$v=vue.defineComponent({__name:"basic-info",props:{node:{},editable:{type:Boolean,default:!0},pluginType:{},pluginDetail:{}},emits:["change","selectPlugin"],setup(e,{expose:t,emit:n}){const o=e,a=n,r=vue.ref(),s=vue.ref(lodash.cloneDeep(o.node)),i={},l=vue.computed(()=>o.pluginDetail?.name||o.node.component.code),c=vue.computed(()=>o.pluginType==="remote_plugin"?o.node.component.data?.plugin_version?.value||"":o.node.component.version||""),u=vue.computed(()=>o.pluginDetail?.versions??[]),m=vue.computed(()=>o.node.component.data?.uniform_api_plugin_method?.value||""),y=vue.computed(()=>o.pluginDetail?.methods??[]),h=vue.computed(()=>{const{component:_,name:d}=s.value,{code:C="",version:b="",data:A={}}=_;let V=C==="uniform_api"&&A.uniform_api_plugin_method?.value||"";return{name:d,code:C,version:b,method:V}});vue.watch(()=>o.node,_=>{s.value=lodash.cloneDeep(_)});const p=_=>{s.value.component.data?.uniform_api_plugin_method&&(s.value.component.data.uniform_api_plugin_method.value=_,f())},g=(_,d)=>{d==="auto_retry"?(s.value.retryable=!0,s.value.auto_retry.interval=0,s.value.auto_retry.times=1):(d==="retryable"&&(s.value.auto_retry={enable:!1,interval:0,times:1}),d==="error_ignorable"&&_&&(s.value.skippable=!0,s.value.retryable=!1,s.value.auto_retry={enable:!1,interval:0,times:1})),_&&["auto_retry","error_ignorable"].includes(d)&&(s.value.timeout_config={enable:!1,seconds:10,action:"forced_fail"})},v=_=>{_||(s.value.timeout_config.seconds=10,s.value.timeout_config.action="forced_fail"),f()},w=()=>r.value.validate().then(()=>!0).catch(()=>!1),f=()=>{a("change",s.value)};return t({validate:w}),(_,d)=>{const C=vue.resolveComponent("bk-input"),b=vue.resolveComponent("bk-button"),A=vue.resolveComponent("bk-form-item"),V=vue.resolveComponent("bk-option"),O=vue.resolveComponent("bk-select"),D=vue.resolveComponent("bk-checkbox"),L=vue.resolveComponent("bk-switcher"),Z=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createElementBlock("section",_hoisted_1$t,[vue.createVNode(Z,{ref_key:"formRef",ref:r,model:h.value,rules:i,"label-width":94},{default:vue.withCtx(()=>[vue.createVNode(A,{label:o.pluginType==="uniform_api"?"API":"标准插件",required:"",property:"code"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$g,[o.pluginType==="uniform_api"?(vue.openBlock(),vue.createBlock(C,{key:0,"model-value":o.node.component.api_meta?.alias,readonly:!0},null,8,["model-value"])):(vue.openBlock(),vue.createBlock(C,{key:1,"model-value":l.value,readonly:!0},null,8,["model-value"])),vue.createVNode(b,{outline:"",theme:"primary",disabled:!o.editable,onClick:d[0]||(d[0]=I=>a("selectPlugin"))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(o.node.component.code?"重选":"选择"),1)]),_:1},8,["disabled"])])]),_:1},8,["label"]),o.pluginType==="uniform_api"?(vue.openBlock(),vue.createBlock(A,{key:0,label:"请求方法",required:"",property:"method"},{default:vue.withCtx(()=>[vue.createVNode(O,{"model-value":m.value,clearable:!1,disabled:!o.editable,onChange:p},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(y.value,I=>(vue.openBlock(),vue.createBlock(V,{key:I,id:I,label:I},null,8,["id","label"]))),128))]),_:1},8,["model-value","disabled"])]),_:1})):(vue.openBlock(),vue.createBlock(A,{key:1,label:"插件版本",required:"",property:"version"},{default:vue.withCtx(()=>[vue.createVNode(O,{"model-value":c.value,clearable:!1,disabled:!o.editable,onChange:f},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(u.value,I=>(vue.openBlock(),vue.createBlock(V,{key:I,id:I,label:I},null,8,["id","label"]))),128))]),_:1},8,["model-value","disabled"])]),_:1})),vue.createVNode(A,{label:"节点名称",required:"",property:"name"},{default:vue.withCtx(()=>[vue.createVNode(C,{modelValue:s.value.name,"onUpdate:modelValue":d[1]||(d[1]=I=>s.value.name=I),disabled:!o.editable,onBlur:f},null,8,["modelValue","disabled"])]),_:1}),vue.createVNode(A,{label:"失败处理"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3$c,[vue.createVNode(D,{modelValue:s.value.error_ignorable,"onUpdate:modelValue":d[2]||(d[2]=I=>s.value.error_ignorable=I),disabled:!o.editable||s.value.auto_retry.enable||s.value.timeout_config.enable,onChange:d[3]||(d[3]=I=>g(I,"error_ignorable"))},{default:vue.withCtx(()=>[...d[15]||(d[15]=[vue.createElementVNode("span",{class:"option-flag"},"AS",-1),vue.createTextVNode("自动跳过 ",-1)])]),_:1},8,["modelValue","disabled"]),vue.createVNode(D,{modelValue:s.value.skippable,"onUpdate:modelValue":d[4]||(d[4]=I=>s.value.skippable=I),disabled:!o.editable||s.value.error_ignorable,onChange:d[5]||(d[5]=I=>g(I,"skippable"))},{default:vue.withCtx(()=>[...d[16]||(d[16]=[vue.createElementVNode("span",{class:"option-flag"},"MS",-1),vue.createTextVNode("手动跳过 ",-1)])]),_:1},8,["modelValue","disabled"]),vue.createVNode(D,{modelValue:s.value.retryable,"onUpdate:modelValue":d[6]||(d[6]=I=>s.value.retryable=I),disabled:!o.editable||s.value.error_ignorable||s.value.auto_retry.enable,onChange:d[7]||(d[7]=I=>g(I,"retryable"))},{default:vue.withCtx(()=>[...d[17]||(d[17]=[vue.createElementVNode("span",{class:"option-flag"},"MR",-1),vue.createTextVNode("手动重试 ",-1)])]),_:1},8,["modelValue","disabled"]),vue.createVNode(D,{modelValue:s.value.auto_retry.enable,"onUpdate:modelValue":d[8]||(d[8]=I=>s.value.auto_retry.enable=I),disabled:!o.editable||s.value.error_ignorable||s.value.timeout_config.enable,onChange:d[9]||(d[9]=I=>g(I,"auto_retry"))},{default:vue.withCtx(()=>[...d[18]||(d[18]=[vue.createElementVNode("span",{class:"option-flag"},"AR",-1)])]),_:1},8,["modelValue","disabled"]),vue.createElementVNode("span",_hoisted_4$c,[d[19]||(d[19]=vue.createTextVNode(" 在 ",-1)),vue.createVNode(C,{modelValue:s.value.auto_retry.interval,"onUpdate:modelValue":d[10]||(d[10]=I=>s.value.auto_retry.interval=I),type:"number",placeholder:" ",min:0,precision:0,disabled:!o.editable||!s.value.auto_retry.enable,onBlur:f},null,8,["modelValue","disabled"]),d[20]||(d[20]=vue.createTextVNode(" 秒后,自动重试 ",-1)),vue.createVNode(C,{modelValue:s.value.auto_retry.times,"onUpdate:modelValue":d[11]||(d[11]=I=>s.value.auto_retry.times=I),type:"number",placeholder:" ",min:0,precision:0,disabled:!o.editable||!s.value.auto_retry.enable,onBlur:f},null,8,["modelValue","disabled"]),d[21]||(d[21]=vue.createTextVNode(" 次 ",-1))])])]),_:1}),vue.createVNode(A,{label:"超时控制"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_5$9,[vue.createVNode(L,{modelValue:s.value.timeout_config.enable,"onUpdate:modelValue":d[12]||(d[12]=I=>s.value.timeout_config.enable=I),theme:"primary",size:"small",disabled:!o.editable,onChange:v},null,8,["modelValue","disabled"]),s.value.timeout_config.enable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[d[23]||(d[23]=vue.createTextVNode(" 超时 ",-1)),vue.createElementVNode("span",_hoisted_6$5,[vue.createVNode(C,{modelValue:s.value.timeout_config.seconds,"onUpdate:modelValue":d[13]||(d[13]=I=>s.value.timeout_config.seconds=I),type:"number",precision:0,min:0,disabled:!o.editable,onBlur:f},null,8,["modelValue","disabled"]),d[22]||(d[22]=vue.createElementVNode("span",{class:"unit"},"秒",-1))]),d[24]||(d[24]=vue.createTextVNode(" 后,则 ",-1)),vue.createVNode(O,{modelValue:s.value.timeout_config.action,"onUpdate:modelValue":d[14]||(d[14]=I=>s.value.timeout_config.action=I),clearable:!1,disabled:!o.editable,onChange:f},{default:vue.withCtx(()=>[vue.createVNode(V,{id:"forced_fail",label:"强制终止"}),vue.createVNode(V,{id:"forced_fail_and_skip",label:"强制终止后跳过"})]),_:1},8,["modelValue","disabled"])],64)):vue.createCommentVNode("",!0)])]),_:1})]),_:1},8,["model"])])}}}),BasicInfo=_export_sfc(_sfc_main$v,[["__scopeId","data-v-695e5765"]]),_hoisted_1$s={class:"plugin-form-jsonschema-form"},_sfc_main$u=vue.defineComponent({__name:"index",setup(e){return(t,n)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$s,[vue.createVNode(EmptyException,{title:"该插件暂无输入参数"})]))}}),JsonschemaForm=_export_sfc(_sfc_main$u,[["__scopeId","data-v-18388acc"]]),_hoisted_1$r=["onMousedown"],_hoisted_2$f={class:"dropdown-item-content"},_hoisted_3$b={class:"option-key"},_hoisted_4$b={class:"option-name"},_hoisted_5$8={key:0,class:"dropdown-item empty"},_sfc_main$t=vue.defineComponent({__name:"index",props:{modelValue:{default:""},options:{default:()=>[]},type:{default:"text"},placeholder:{default:""},disabled:{type:Boolean,default:!1},rows:{default:3},resize:{type:Boolean,default:!1}},emits:["update:modelValue","change","blur"],setup(e,{emit:t}){const n=e,o=t,a=vue.ref(),r=vue.ref(),s=vue.ref(),i=vue.ref(n.modelValue),l=vue.ref(!1),c=vue.ref(0),u=vue.ref({top:0,left:0}),m=vue.ref(""),y=vue.computed(()=>({top:`${u.value.top}px`,left:`${u.value.left}px`})),h=vue.computed(()=>{if(!m.value)return n.options;const D=m.value.toLowerCase();return n.options.filter(L=>L.key.toLowerCase().includes(D))}),p=D=>D.key,g=()=>{const D=r.value?.$el?.querySelector("input, textarea");if(!D)return;const L=D.tagName==="TEXTAREA";if(!a.value?.getBoundingClientRect())return;let I=0,T=0;if(L){const B=D,k=B.value.substring(0,B.selectionStart).split(`
|
|
52
|
+
`),x=k.length-1,N=parseInt(getComputedStyle(B).lineHeight)||20,S=document.createElement("canvas").getContext("2d");S?(S.font=getComputedStyle(B).font,T=S.measureText(k[x]||"").width):T=(k[x]||"").length*8,I=x*N+N}else{const B=D,$=B.value.substring(0,B.selectionStart||0),k=document.createElement("canvas").getContext("2d");k?(k.font=getComputedStyle(B).font,T=k.measureText($).width):T=$.length*8,I=B.offsetHeight}u.value={top:I+(L?8:0),left:T+(L?8:0)}},v=()=>{if(!s.value||!a.value)return;const D=s.value.getBoundingClientRect(),L=a.value.getBoundingClientRect(),Z=r.value?.$el?.querySelector("input, textarea");if(!Z)return;const I=window.innerWidth,T=D.width,B=Z.offsetWidth;let $=u.value.left;const k=B;if($+T>k&&($=k-T,$<0&&($=0)),L.left+$+T>I){const F=I-T-L.left;F>=0?$=F:$=0}L.left+$<0&&($=0),u.value={...u.value,left:$}},w=()=>{const D=r.value?.$el?.querySelector("input, textarea");if(!D)return;const L=D.selectionStart||0,Z=i.value.substring(0,L),I=Z.lastIndexOf("$");if(I===-1){l.value=!1;return}const T=Z.substring(I+1);if(T.includes("}")){l.value=!1;return}let B=T;B.startsWith("{")&&(B=B.substring(1)),m.value=B,g(),l.value=!0,c.value=0,setTimeout(()=>{v()},0)},f=()=>{o("update:modelValue",i.value),o("change",i.value),vue.nextTick(()=>{w()})},_=()=>{vue.nextTick(()=>{w()})},d=D=>{setTimeout(()=>{const L=D.relatedTarget;s.value?.contains(L)||(l.value=!1)},200),o("blur",D)},C=D=>{const L=r.value?.$el?.querySelector("input, textarea");if(!L)return;const Z=L.selectionStart||0,I=i.value,T=I.substring(0,Z),B=I.substring(Z),$=T.lastIndexOf("$");if($===-1)return;let k=p(D);k.startsWith("${")&&k.endsWith("}")&&(k=k.slice(2,-1));const x=I.substring(0,$)+`\${${k}}`+B;i.value=x,o("update:modelValue",x),o("change",x),l.value=!1,vue.nextTick(()=>{const N=$+k.length+3;L.focus(),L.setSelectionRange(N,N)})},b=()=>{vue.nextTick(()=>{const D=r.value?.$el?.querySelector("input, textarea");D&&(D.removeEventListener("keydown",A),D.addEventListener("keydown",A,!0))})},A=D=>{if(D instanceof KeyboardEvent){if(l.value&&h.value.length>0&&(D.key==="ArrowDown"||D.key==="ArrowUp"||D.key==="Enter")){switch(D.preventDefault(),D.stopPropagation(),D.stopImmediatePropagation(),D.key){case"ArrowDown":c.value=(c.value+1)%h.value.length,V();break;case"ArrowUp":c.value=c.value<=0?h.value.length-1:c.value-1,V();break;case"Enter":c.value>=0&&C(h.value[c.value]);break}return!1}if(D.key==="Escape"&&l.value)return D.preventDefault(),D.stopPropagation(),D.stopImmediatePropagation(),l.value=!1,!1}},V=()=>{vue.nextTick(()=>{if(!s.value)return;const L=s.value.querySelectorAll(".dropdown-item:not(.empty)")[c.value];if(L){const Z=s.value,I=L.offsetTop,T=L.offsetHeight,B=Z.scrollTop,$=Z.clientHeight;I<B?Z.scrollTop=I:I+T>B+$&&(Z.scrollTop=I+T-$)}})};vue.watch(()=>n.modelValue,D=>{D!==i.value&&(i.value=D)}),vue.watch(()=>l.value,()=>{b()});const O=D=>{a.value&&!a.value.contains(D.target)&&s.value&&!s.value.contains(D.target)&&(l.value=!1)};return vue.onMounted(()=>{document.addEventListener("click",O),b()}),vue.onBeforeUnmount(()=>{document.removeEventListener("click",O);const D=r.value?.$el?.querySelector("input, textarea");D&&D.removeEventListener("keydown",A,!0)}),(D,L)=>{const Z=vue.resolveComponent("bk-input");return vue.openBlock(),vue.createElementBlock("div",{ref_key:"containerRef",ref:a,class:"variable-input-wrapper"},[vue.createVNode(Z,{ref_key:"inputRef",ref:r,modelValue:i.value,"onUpdate:modelValue":L[0]||(L[0]=I=>i.value=I),type:e.type,placeholder:e.placeholder,disabled:e.disabled,rows:e.rows,resize:e.resize,onInput:f,onFocus:_,onBlur:d},null,8,["modelValue","type","placeholder","disabled","rows","resize"]),l.value?(vue.openBlock(),vue.createElementBlock("div",{key:0,ref_key:"dropdownRef",ref:s,class:"variable-dropdown",style:vue.normalizeStyle(y.value)},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(h.value,(I,T)=>(vue.openBlock(),vue.createElementBlock("div",{key:I.key,class:vue.normalizeClass(["dropdown-item",{active:T===c.value}]),onMousedown:vue.withModifiers(B=>C(I),["prevent"])},[vue.createElementVNode("div",_hoisted_2$f,[vue.createElementVNode("span",_hoisted_3$b,vue.toDisplayString(I.key),1),vue.createElementVNode("span",_hoisted_4$b,vue.toDisplayString(I.name),1)])],42,_hoisted_1$r))),128)),h.value.length===0?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$8,"无匹配项")):vue.createCommentVNode("",!0)],4)):vue.createCommentVNode("",!0)],512)}}}),VariableInput=_export_sfc(_sfc_main$t,[["__scopeId","data-v-ccd4bdfb"]]),_hoisted_1$q={class:"input-field-form"},_sfc_main$s=vue.defineComponent({__name:"input",props:{modelValue:{default:""},config:{},disabled:{type:Boolean,default:!1},fullVariableList:{default:()=>[]}},emits:["update:modelValue","change"],setup(e,{emit:t}){const n=e,o=t,a=vue.ref(n.modelValue),r=vue.computed(()=>{const{type:i,form_type:l=""}=n.config;return l==="textarea"?"textarea":["int","integer","number"].includes(i)?"number":"text"});vue.watch(()=>n.modelValue,i=>{a.value=i});const s=()=>{o("update:modelValue",a.value),o("change",a.value)};return(i,l)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$q,[vue.createVNode(VariableInput,{modelValue:a.value,"onUpdate:modelValue":l[0]||(l[0]=c=>a.value=c),type:r.value,rows:5,min:0,precision:0,disabled:n.disabled,options:n.fullVariableList,onBlur:s},null,8,["modelValue","type","disabled","options"])]))}}),InputField=_export_sfc(_sfc_main$s,[["__scopeId","data-v-b6b3c278"]]),_sfc_main$r=vue.defineComponent({__name:"switcher",props:{modelValue:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(e,{emit:t}){const n=e,o=vue.ref(n.modelValue);vue.watch(()=>n.modelValue,s=>{o.value=s});const a=t,r=s=>{a("update:modelValue",s),a("change",s)};return(s,i)=>{const l=vue.resolveComponent("bk-switcher");return vue.openBlock(),vue.createBlock(l,{"model-value":e.modelValue,theme:"primary",size:"small",disabled:e.disabled,onChange:r},null,8,["model-value","disabled"])}}}),_hoisted_1$p={class:"code-editor"},_sfc_main$q=vue.defineComponent({__name:"code",props:{modelValue:{default:""},language:{default:"json"},theme:{default:"vs-dark"},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change","blur","save"],setup(e,{emit:t}){setupMonacoEnvironment();const n={language:"json",theme:"vs-dark",automaticLayout:!0,minimap:{enabled:!1},wordWrap:"on",wrappingIndent:"same"},o=e,a=t,r=vue.ref(),s=vue.shallowRef();vue.watch(()=>o.modelValue,c=>{const u=s.value?.getValue();c!==u&&s.value?.setValue(c)}),vue.watch(()=>o.disabled,c=>{s.value&&s.value.updateOptions({...n,readOnly:c})}),vue.onMounted(()=>{i()}),vue.onBeforeUnmount(()=>{s.value&&s.value.dispose()});const i=()=>{s.value=monaco__namespace.editor.create(r.value,{...n,readOnly:o.disabled,value:o.modelValue,language:o.language});const c=s.value.getModel();c&&(c.setEOL(0),c.onDidChangeContent(()=>{const u=s.value?.getValue();l(u)})),s.value.onDidBlurEditorText(()=>{a("blur")})},l=c=>{a("update:modelValue",c),a("change",c)};return(c,u)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$p,[vue.createElementVNode("div",{ref_key:"monacoContainerRef",ref:r,class:"editor-instance-container"},null,512)]))}}),CodeField=_export_sfc(_sfc_main$q,[["__scopeId","data-v-8534e38a"]]),_hoisted_1$o={class:"bkflow-plugin-uniform-api-form"},_sfc_main$p=vue.defineComponent({__name:"index",props:{inputData:{default:()=>({})},inputs:{default:()=>[]},editable:{type:Boolean,default:!0},fullVariableList:{default:()=>[]}},emits:["change"],setup(e,{expose:t,emit:n}){const o=e,a=n,r=vue.ref(),s=vue.ref({}),i=vue.ref({});vue.watch(()=>o.inputData,()=>{Object.keys(o.inputData).forEach(y=>{s.value[y]=o.inputData[y].value})},{immediate:!0}),vue.watch(()=>o.inputs,()=>{o.inputs.forEach(y=>{y.required?i.value[y.key]=[{required:!0,message:"必填项",trigger:"blur"}]:(y.type==="json"||y.form_type==="json")&&(i.value[y.key]=[{validator:h=>{if(h.trim().length===0)return!0;try{return JSON.parse(h),!0}catch{return!1}},message:"请输入正确的 JSON 格式数据",trigger:"blur"}])})},{immediate:!0});const l=y=>{const{type:h,form_type:p=""}=y;if(p){if(["textarea","input"].includes(p))return InputField;if(["json"].includes(p))return CodeField}else{if(["string","int","integer","number"].includes(h))return InputField;if(["boolean","bool"].includes(h))return _sfc_main$r;if(["json","dict"].includes(h))return CodeField}return vue.h("div","暂不支持该类型")},c=(y,h)=>{s.value[y]=h,m()},u=async()=>r.value.validate().then(()=>!0).catch(()=>!1),m=()=>{const y={...o.inputData};Object.keys(s.value).forEach(h=>{y[h]={value:s.value[h],hook:!1,need_render:!0}}),a("change",y)};return t({validate:u}),(y,h)=>{const p=vue.resolveComponent("bk-form-item"),g=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$o,[vue.createVNode(g,{ref_key:"formRef",ref:r,rules:i.value,model:s.value,"label-width":94},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(o.inputs,v=>(vue.openBlock(),vue.createBlock(p,{key:v.key,label:v.name,required:v.required,desc:v.desc,property:v.key},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(l(v)),{"model-value":s.value[v.key],disabled:!o.editable,config:v,"full-variable-list":o.fullVariableList,onChange:w=>c(v.key,w)},null,40,["model-value","disabled","config","full-variable-list","onChange"]))]),_:2},1032,["label","required","desc","property"]))),128))]),_:1},8,["rules","model"])])}}}),BkFlowPluginUniformApiForm=_export_sfc(_sfc_main$p,[["__scopeId","data-v-cb961ebd"]]),_hoisted_1$n={class:"plugin-agent"},_sfc_main$o=vue.defineComponent({__name:"index",props:{inputData:{},pluginDetail:{},editable:{type:Boolean},fullVariableList:{default:()=>[]}},emits:["change"],setup(e,{expose:t,emit:n}){const o=e,a=n,r=vue.ref(),s=vue.ref({content:""});vue.watch(()=>o.inputData,()=>{"value"in o.inputData.content&&(s.value.content=o.inputData.content.value)},{immediate:!0});const i={content:[{required:!0,message:"请输入提问内容",trigger:"blur"}]},l=async()=>r.value.validate().then(()=>!0).catch(()=>!1),c=()=>{const u={...o.inputData};u.content={value:s.value.content,hook:!1,need_render:!0},a("change",u)};return t({validate:l}),(u,m)=>{const y=vue.resolveComponent("bk-form-item"),h=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$n,[vue.createVNode(h,{ref_key:"formRef",ref:r,rules:i,model:s.value,"label-width":94},{default:vue.withCtx(()=>[vue.createVNode(y,{label:"用户提问",required:"",property:"content"},{default:vue.withCtx(()=>[vue.createVNode(VariableInput,{modelValue:s.value.content,"onUpdate:modelValue":m[0]||(m[0]=p=>s.value.content=p),options:o.fullVariableList,type:"textarea",placeholder:"请输入",rows:6,resize:!1,disabled:!o.editable,onBlur:c},null,8,["modelValue","options","disabled"])]),_:1})]),_:1},8,["model"])])}}}),AgentForm=_export_sfc(_sfc_main$o,[["__scopeId","data-v-cb01a2cc"]]),_sfc_main$n={},_hoisted_1$m={class:"plugin-model"};function _sfc_render(e,t){return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$m,"小模型节点")}const AiopsForm=_export_sfc(_sfc_main$n,[["render",_sfc_render]]),_sfc_main$m=vue.defineComponent({__name:"role-type-selector",props:{modelValue:{},index:{},disabled:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=[{code:"hidden-assistant",name:"AI",description:"这条 Prompt 作为AI回答的结果"},{code:"hidden-system",name:"系统",description:"这条 Prompt 作为系统输入来定义角色,会在整个会话中生效"},{code:"hidden-user",name:"用户",description:"这条 Prompt 作为用户的输入,可以更详细描述对角色的要求"},{code:"pause",name:"等待回答",description:"这条Prompt作为AI的提问,会等待用户输入回答内容"}],o=e,a=t,r=vue.computed(()=>n.find(c=>c.code===o.modelValue)?.name),s=()=>n.filter(l=>l.code==="hidden-system"?o.index===0:!0),i=l=>{a("update:modelValue",l)};return(l,c)=>{const u=vue.resolveComponent("bk-option"),m=vue.resolveComponent("bk-select"),y=vue.resolveDirective("bk-tooltips");return vue.withDirectives((vue.openBlock(),vue.createBlock(m,{filterable:"","disable-scroll-to-selected-option":"","popover-min-width":300,"input-search":!1,"model-value":e.modelValue,disabled:e.index===0||o.disabled,"popover-options":{placement:"bottom-end",zIndex:9999},onChange:i},{trigger:vue.withCtx(()=>[vue.createElementVNode("span",{class:vue.normalizeClass({"role-type":!0,disabled:e.index===0})},[vue.createTextVNode(vue.toDisplayString(r.value)+" ",1),c[0]||(c[0]=vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-angle-up"},null,-1))],2)]),default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(s(),h=>vue.withDirectives((vue.openBlock(),vue.createBlock(u,{id:h.code,key:h.code,name:h.name},null,8,["id","name"])),[[y,{content:h.description,theme:"light",placement:"right",boundary:"parent"}]])),128))]),_:1},8,["model-value","disabled"])),[[y,{content:"角色第一条 Prompt 必须定义为“系统”",disabled:o.index>0}]])}}}),RoleTypeSelector=_export_sfc(_sfc_main$m,[["__scopeId","data-v-a6b4f8b6"]]),_hoisted_1$l={class:"bkflow-canvas-icon bkflow-canvas-daoru import-trigger"},_hoisted_2$e={class:"prompt-content-tips"},_sfc_main$l=vue.defineComponent({__name:"prompt-import",props:{prompts:{},disabled:{type:Boolean}},emits:["import"],setup(e,{emit:t}){const n=e,o=t,a=r=>{const s=n.prompts.find(i=>i.prompt_id===r);s&&o("import",s.content)};return(r,s)=>{const i=vue.resolveComponent("bk-option"),l=vue.resolveComponent("bk-popover"),c=vue.resolveComponent("bk-select"),u=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createBlock(c,{filterable:"","disable-scroll-to-selected-option":"","popover-min-width":300,"input-search":!1,disabled:n.disabled,"popover-options":{placement:"bottom-end",zIndex:9999},onChange:a},{trigger:vue.withCtx(()=>[vue.renderSlot(r.$slots,"default",{},()=>[vue.withDirectives(vue.createElementVNode("i",_hoisted_1$l,null,512),[[u,{content:"导入"}]])],!0)]),default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.prompts,m=>(vue.openBlock(),vue.createBlock(l,{theme:"light",placement:"right","ext-cls":"import-prompt-tips-popover",disabled:!m.content,key:m.prompt_id,"popover-delay":0},{content:vue.withCtx(()=>[vue.createElementVNode("p",_hoisted_2$e,vue.toDisplayString(m.content),1)]),default:vue.withCtx(()=>[(vue.openBlock(),vue.createBlock(i,{id:m.prompt_id,key:m.prompt_id,name:m.prompt_name},null,8,["id","name"]))]),_:2},1032,["disabled"]))),128))]),_:3},8,["disabled"])}}}),PromptImport=_export_sfc(_sfc_main$l,[["__scopeId","data-v-5a2f0446"]]),_hoisted_1$k={class:"prompt-add"},_sfc_main$k=vue.defineComponent({__name:"prompt-add",props:{prompts:{},disabled:{type:Boolean}},emits:["add"],setup(e,{emit:t}){const n=e,o=t,a=()=>{o("add","")},r=s=>{o("add",s)};return(s,i)=>{const l=vue.resolveComponent("bk-button");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$k,[vue.createVNode(l,{text:"",theme:"primary",size:"small",disabled:n.disabled,onClick:a},{default:vue.withCtx(()=>[...i[0]||(i[0]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-plus-circle"},null,-1),vue.createTextVNode(" 添加 ",-1)])]),_:1},8,["disabled"]),i[2]||(i[2]=vue.createElementVNode("span",{class:"prompt-gap"},null,-1)),vue.createVNode(PromptImport,{prompts:n.prompts,disabled:n.disabled,onImport:r},{default:vue.withCtx(()=>[vue.createVNode(l,{text:"",theme:"primary",size:"small"},{default:vue.withCtx(()=>[...i[1]||(i[1]=[vue.createTextVNode("从Prompt导入 ",-1)])]),_:1})]),_:1},8,["prompts","disabled"])])}}}),PromptAdd=_export_sfc(_sfc_main$k,[["__scopeId","data-v-ec71bacf"]]),_hoisted_1$j={class:"plugin-llm-form"},_hoisted_2$d={class:"prompt-actions"},_sfc_main$j=vue.defineComponent({__name:"llm-form",props:{inputData:{},pluginId:{},pluginDetail:{},editable:{type:Boolean},fullVariableList:{default:()=>[]}},emits:["change"],setup(e,{expose:t,emit:n}){const o=useFlowApiConfig(),a=useScopeData(),r=e,s=n,i=(w,f)=>{const _=r.inputData[w]?.value;return _!==void 0?lodash.cloneDeep(_):f},l=()=>{const w={...r.inputData};Object.keys(u.value).forEach(f=>{w[f]={value:u.value[f],hook:!1,need_render:!0}}),s("change",w)},c=vue.ref(),u=vue.ref({prompts:[{role:"hidden-system",content:""}],content:""}),m=vue.shallowRef([]);vue.watch(()=>r.inputData,()=>{u.value={prompts:i("prompts",[{role:"hidden-system",content:""}]),content:i("content","")},(!("prompts"in r.inputData)||!("content"in r.inputData))&&l()},{immediate:!0}),vue.onMounted(()=>{y()});const y=async()=>{if(!o.fetchApplyInstructionData){console.error("fetchApplyInstructionData is not available");return}const w=await o.fetchApplyInstructionData({plugin_id:r.pluginId,scope_type:a.scope_type,scope_value:a.scope_value,instruction:"get_space_prompts",params:{}});m.value=w.response},h=w=>{u.value.prompts.push({role:"hidden-user",content:w}),l()},p=(w,f)=>{u.value.prompts[w].content=f,l()},g=w=>{r.editable&&(u.value.prompts.splice(w,1),l())};return t({validate:async()=>c.value.validate().then(()=>!0).catch(()=>!1)}),(w,f)=>{const _=vue.resolveComponent("bk-form-item"),d=vue.resolveComponent("bk-form"),C=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$j,[vue.createVNode(d,{ref_key:"formRef",ref:c,"form-type":"vertical",model:u.value},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(u.value.prompts,(b,A)=>(vue.openBlock(),vue.createBlock(_,{key:A,label:"Prompt",property:`prompts[${A}].content`,required:A>0},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$d,[vue.createVNode(RoleTypeSelector,{modelValue:b.role,"onUpdate:modelValue":[V=>b.role=V,l],index:A,disabled:!r.editable},null,8,["modelValue","onUpdate:modelValue","index","disabled"]),vue.createVNode(PromptImport,{prompts:m.value,disabled:!r.editable,onImport:V=>p(A,V)},null,8,["prompts","disabled","onImport"]),A>0?vue.withDirectives((vue.openBlock(),vue.createBlock(vue.unref(icon.Del),{key:0,class:vue.normalizeClass(["delete-prompt-btn",{disabled:!r.editable}]),onClick:V=>g(A)},null,8,["class","onClick"])),[[C,"删除"]]):vue.createCommentVNode("",!0)]),vue.createVNode(VariableInput,{modelValue:b.content,"onUpdate:modelValue":V=>b.content=V,options:r.fullVariableList,type:"textarea",placeholder:"请输入",rows:6,resize:!1,disabled:!r.editable,onBlur:l},null,8,["modelValue","onUpdate:modelValue","options","disabled"])]),_:2},1032,["property","required"]))),128)),vue.createVNode(PromptAdd,{prompts:m.value,disabled:!r.editable,onAdd:h},null,8,["prompts","disabled"]),vue.createVNode(_,{label:"用户提问",required:"",property:"content"},{default:vue.withCtx(()=>[vue.createVNode(VariableInput,{modelValue:u.value.content,"onUpdate:modelValue":f[0]||(f[0]=b=>u.value.content=b),options:r.fullVariableList,type:"textarea",placeholder:"请输入",rows:6,resize:!1,disabled:!r.editable,onBlur:l},null,8,["modelValue","options","disabled"])]),_:1})]),_:1},8,["model"])])}}}),LlmForm=_export_sfc(_sfc_main$j,[["__scopeId","data-v-0b2102cb"]]),_hoisted_1$i={class:"node-config-input-params"},_sfc_main$i=vue.defineComponent({__name:"input-params",props:{node:{},pluginType:{},pluginDetail:{},inputs:{default:()=>[]},editable:{type:Boolean,default:!0},fullVariableList:{default:()=>[]}},emits:["change"],setup(e,{expose:t,emit:n}){const o={uniform_api_plugin:BkFlowPluginUniformApiForm,agent:AgentForm,aiops:AiopsForm,llm:LlmForm,custom:LlmForm},a=e,r=n,s=vue.ref(),i=vue.computed(()=>{const m=a.pluginDetail?.category,y=a.pluginDetail?.group;if(m){if(m==="model"&&y&&y in o)return o[y];if(m in o)return o[m]}return BkFlowPluginUniformApiForm}),l=vue.computed(()=>a.pluginType==="uniform_api"&&a.node.component.api_meta?.id||""),c=m=>{const y={...a.node.component.data.bk_display_message};y.value=m,r("change",{...a.node.component.data,bk_display_message:y})};return t({validate:()=>a.pluginType==="uniform_api"&&s.value&&s.value.validate?s.value.validate():!0}),(m,y)=>{const h=vue.resolveComponent("bk-input"),p=vue.resolveComponent("bk-form-item"),g=vue.resolveComponent("bk-form");return vue.openBlock(),vue.createElementBlock("section",_hoisted_1$i,[a.pluginDetail?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[a.pluginDetail.inputParamsFormType==="renderform"?(vue.openBlock(),vue.createBlock(Renderform,{key:0,variables:a.inputs,editable:a.editable,"full-variable-list":a.fullVariableList,onChange:y[0]||(y[0]=v=>r("change",v))},null,8,["variables","editable","full-variable-list"])):vue.createCommentVNode("",!0),a.pluginDetail.inputParamsFormType==="jsonschemaform"?(vue.openBlock(),vue.createBlock(JsonschemaForm,{key:1,variables:a.inputs,editable:a.editable,onChange:y[1]||(y[1]=v=>r("change",v))},null,8,["variables","editable"])):vue.createCommentVNode("",!0),a.pluginDetail.inputParamsFormType==="uniformApiForm"?(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(i.value),{key:2,ref_key:"uniformApiPluginComponentRef",ref:s,node:a.node,"plugin-detail":a.pluginDetail,"plugin-id":l.value,"input-data":a.node.component.data,inputs:a.inputs,editable:a.editable,"full-variable-list":a.fullVariableList,onChange:y[2]||(y[2]=v=>r("change",v))},null,40,["node","plugin-detail","plugin-id","input-data","inputs","editable","full-variable-list"])):vue.createCommentVNode("",!0)],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[a.node.component.code==="bk_display"?(vue.openBlock(),vue.createBlock(g,{key:0,"label-width":94},{default:vue.withCtx(()=>[vue.createVNode(p,{label:"展示内容"},{default:vue.withCtx(()=>[vue.createVNode(h,{"model-value":a.node.component.data.bk_display_message.value,type:"textarea",rows:4,disabled:!a.editable,resize:!1,onChange:c},null,8,["model-value","disabled"])]),_:1})]),_:1})):vue.createCommentVNode("",!0)],64))])}}}),InputParams=_export_sfc(_sfc_main$i,[["__scopeId","data-v-196085da"]]),_hoisted_1$h={class:"node-config-output-params"},_hoisted_2$c={class:"params-key-wrappper"},_hoisted_3$a={class:"key-text"},_hoisted_4$a={class:"create-variable-cell"},_hoisted_5$7=["onClick"],_sfc_main$h=vue.defineComponent({__name:"output-params",props:{node:{},outputsForms:{},constants:{default:()=>({})},editable:{type:Boolean,default:!0}},emits:["updateConstants"],setup(e,{emit:t}){const n=e,o=t,a=vue.shallowRef({}),r=vue.computed(()=>n.outputsForms.map(l=>({...l,hookedKey:s(l.key)})));vue.watch(()=>n.constants,l=>{a.value={...l}},{immediate:!0});const s=l=>{const u=Object.values(a.value).find(m=>m.source_info[n.node.id]&&m.source_info[n.node.id].includes(l));return u?u.key:""},i=l=>{if(!n.editable)return;const c=s(l.key);if(c){const u={...a.value[c],source_info:{...a.value[c].source_info,[n.node.id]:a.value[c].source_info[n.node.id].filter(m=>m!==l.key)}};a.value={...a.value,[c]:u}}else{const u=`\${${l.key}}`,m=n.constants[u]?`\${${l.key}_${random4()}}`:u;a.value={...a.value,[m]:{index:Object.values(a.value).length,name:l.name,key:m,desc:"",custom_type:"",show_type:"hide",source_type:"component_outputs",source_info:{[n.node.id]:[l.key]},source_tag:"",validation:"",plugin_code:"",value:""}}}o("updateConstants",a.value)};return(l,c)=>{const u=vue.resolveComponent("bk-table-column"),m=vue.resolveComponent("bk-input"),y=vue.resolveComponent("bk-table"),h=vue.resolveDirective("bk-tooltips");return vue.openBlock(),vue.createElementBlock("section",_hoisted_1$h,[vue.createVNode(y,{"empty-text":"暂无参数",data:r.value,border:["outer"]},{default:vue.withCtx(()=>[vue.createVNode(u,{label:"名称",width:180,"min-width":180,prop:"name"},{default:vue.withCtx(({row:p})=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("span",{class:vue.normalizeClass(["params-name",{"has-desc":p.description!==""}])},[vue.createTextVNode(vue.toDisplayString(p.name),1)],2)),[[h,{disabled:p.description==="",content:p.description}]])]),_:1}),vue.createVNode(u,{label:"KEY",prop:"key"},{default:vue.withCtx(({row:p})=>[vue.createElementVNode("div",_hoisted_2$c,[vue.createElementVNode("span",_hoisted_3$a,vue.toDisplayString(p.key),1),p.hookedKey?(vue.openBlock(),vue.createBlock(m,{key:0,class:"variable-key-input","model-value":p.hookedKey,readonly:vue.readonly},null,8,["model-value"])):vue.createCommentVNode("",!0)])]),_:1}),vue.createVNode(u,{label:"勾选为全局变量",width:120,"min-width":120},{default:vue.withCtx(({row:p})=>[vue.createElementVNode("div",_hoisted_4$a,[vue.withDirectives((vue.openBlock(),vue.createElementBlock("span",{class:vue.normalizeClass(["btn",{"is-hooked":!!p.hookedKey,"is-disabled":!n.editable,"is-disabled-tooltip":!n.editable}]),onClick:g=>i(p)},[...c[0]||(c[0]=[vue.createElementVNode("i",{class:"bkflow-canvas-icon bkflow-canvas-quanjubianliang-2"},null,-1)])],10,_hoisted_5$7)),[[h,{placement:"top",content:p.hookedKey?"取消接收输出":"使用变量接收输出"}]])])]),_:1})]),_:1},8,["data"])])}}}),OutputParams=_export_sfc(_sfc_main$h,[["__scopeId","data-v-7a5f9261"]]),_hoisted_1$g={class:"bkflow-node-config"},_sfc_main$g=vue.defineComponent({__name:"index",props:{node:{},systemVariables:{default:()=>[]},constants:{default:()=>({})},editable:{type:Boolean,default:!0}},emits:["change","selectPlugin","updateConstants"],setup(e,{expose:t,emit:n}){const o=vue.useSlots(),a=e,r=useFlowApiConfig(),s=n,i=vue.ref(),l=vue.ref(),c=vue.ref(null),u=vue.ref(!0),m=vue.shallowRef([]),y=vue.shallowRef([]),h=vue.ref(!1),p=vue.computed(()=>a.node.component.code?["uniform_api","remote_plugin"].includes(a.node.component.code)?a.node.component.code:"inner":""),g=vue.computed(()=>[...a.systemVariables,...Object.values(a.constants)].map(b=>({key:b.key,name:b.name})));vue.onMounted(()=>{h.value=!1,v()});const v=async()=>{u.value=!0,h.value=!1;try{const b=await pluginDetailRequest(r,a.node.component),{inputs:A,outputs:V}=b;m.value=A,y.value=V,c.value=b,w()}catch(b){(b?.message||String(b)).includes("1211011")?h.value=!0:console.error("Failed to fetch plugin detail:",b)}finally{u.value=!1}},w=()=>{if(!c.value)return;const{data:b}=a.node.component,A=p.value;({uniform_api:()=>!b||!("uniform_api_plugin_url"in b)||!("uniform_api_plugin_method"in b),remote_plugin:()=>!b||!("plugin_version"in b),inner:()=>!b||Object.keys(b).length===0})[A]?.()&&_({...a.node,component:{...a.node.component,data:getPluginDefaultData(A,c.value)}})},f=b=>{const A={...a.node,component:{...a.node.component,data:b}};_(A)},_=b=>{s("change",b)},d=b=>{f(b)};return t({isPluginNotExist:h,pluginDetailLoading:u,validate:async()=>{let b;!o.inputParams&&l.value,b=l.value.validate;const[A,V]=await Promise.all([i.value?.validate(),b()]);return!(!A||!V)},updateInputParams:d}),(b,A)=>{const V=vue.resolveComponent("bk-button"),O=vue.resolveComponent("bk-exception"),D=vue.resolveDirective("bk-loading");return vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_1$g,[h.value?(vue.openBlock(),vue.createBlock(O,{key:0,class:"plugin-not-exist-exception",type:"500",title:"未找到可用插件或可用版本",scene:"part"},{default:vue.withCtx(()=>[a.editable?(vue.openBlock(),vue.createBlock(V,{key:0,text:"",theme:"primary",onClick:A[0]||(A[0]=L=>s("selectPlugin"))},{default:vue.withCtx(()=>[...A[3]||(A[3]=[vue.createTextVNode("重新选择",-1)])]),_:1})):vue.createCommentVNode("",!0)]),_:1})):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(SectionContainer,{title:"基础信息"},{default:vue.withCtx(()=>[vue.createVNode(BasicInfo,{ref_key:"basicInfoRef",ref:i,node:a.node,editable:a.editable,"plugin-type":p.value,"plugin-detail":c.value,onSelectPlugin:A[1]||(A[1]=L=>s("selectPlugin")),onChange:_},null,8,["node","editable","plugin-type","plugin-detail"])]),_:1}),vue.createVNode(SectionContainer,{title:"输入参数"},{default:vue.withCtx(()=>[u.value?vue.createCommentVNode("",!0):vue.renderSlot(b.$slots,"inputParams",{key:0,node:a.node,pluginDetail:c.value,inputs:m.value,editable:a.editable,fullVariableList:g.value,updateInputParams:d},()=>[vue.createVNode(InputParams,{ref_key:"inputParamsRef",ref:l,node:a.node,"plugin-type":p.value,"plugin-detail":c.value,inputs:m.value,editable:a.editable,"full-variable-list":g.value,onChange:f},null,8,["node","plugin-type","plugin-detail","inputs","editable","full-variable-list"])],!0)]),_:3}),vue.createVNode(SectionContainer,{title:"输出参数"},{default:vue.withCtx(()=>[u.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(OutputParams,{key:0,node:a.node,"outputs-forms":y.value,constants:a.constants,editable:a.editable,onUpdateConstants:A[2]||(A[2]=L=>s("updateConstants",L))},null,8,["node","outputs-forms","constants","editable"]))]),_:1})],64))])),[[D,{loading:u.value}]])}}}),NodeConfig=_export_sfc(_sfc_main$g,[["__scopeId","data-v-79488b1e"]]),_hoisted_1$f={class:"node-config-slider"},_hoisted_2$b={key:0,class:"sideslider-footer-buttons"},_sfc_main$f=vue.defineComponent({__name:"index",props:{show:{type:Boolean,default:!1},node:{},constants:{default:()=>({})},systemVariables:{default:()=>[]},editable:{type:Boolean,default:!0}},emits:["close","update:show","confirm","selectPlugin"],setup(e,{expose:t,emit:n}){const o=e,a=n,r=vue.ref(),s=vue.ref(!0),i=vue.ref(lodash.cloneDeep(o.node)),l=vue.shallowRef({...o.constants});vue.watch(()=>o.show,()=>{i.value=lodash.cloneDeep(o.node),l.value={...o.constants}}),vue.watchEffect(()=>{r.value?.isPluginNotExist||r.value?.pluginDetailLoading?s.value=!1:s.value=!0});const c=p=>{i.value=p},u=async()=>{await r.value?.validate()&&a("confirm",i.value,l.value)},m=()=>{if(o.editable)return new Promise(p=>{lib.InfoBox({title:"确认离开?",content:"离开将会导致未保存信息丢失",confirmText:"离开",cancelText:"取消",width:320,onConfirm:()=>{y(),p(!0)},onCancel:()=>{p(!1)}})});y()},y=()=>{a("close"),a("update:show",!1)};return t({updateNodeInputParams:p=>{r.value&&r.value.updateInputParams?.(p)}}),(p,g)=>{const v=vue.resolveComponent("bk-button"),w=vue.resolveComponent("bk-sideslider");return vue.openBlock(),vue.createBlock(w,{title:"节点配置","is-show":o.show,width:960,"esc-close":!1,"before-close":m},{footer:vue.withCtx(()=>[s.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$b,[o.editable?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(v,{theme:"primary",onClick:u},{default:vue.withCtx(()=>[...g[2]||(g[2]=[vue.createTextVNode("确定",-1)])]),_:1}),vue.createVNode(v,{onClick:y},{default:vue.withCtx(()=>[...g[3]||(g[3]=[vue.createTextVNode("取消",-1)])]),_:1})],64)):(vue.openBlock(),vue.createBlock(v,{key:1,theme:"primary",onClick:y},{default:vue.withCtx(()=>[...g[4]||(g[4]=[vue.createTextVNode("关闭",-1)])]),_:1}))])):vue.createCommentVNode("",!0)]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$f,[o.show?(vue.openBlock(),vue.createBlock(NodeConfig,{key:0,ref_key:"nodeConfigRef",ref:r,node:i.value,editable:o.editable,constants:l.value,"system-variables":o.systemVariables,onSelectPlugin:g[0]||(g[0]=f=>a("selectPlugin")),onUpdateConstants:g[1]||(g[1]=f=>l.value=f),onChange:c},{inputParams:vue.withCtx(f=>[vue.renderSlot(p.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps(f)),void 0,!0)]),_:3},8,["node","editable","constants","system-variables"])):vue.createCommentVNode("",!0)])]),_:3},8,["is-show"])}}}),NodeConfigPanel=_export_sfc(_sfc_main$f,[["__scopeId","data-v-02b9993c"]]),_hoisted_1$e={class:"plugin-group-aside"},_hoisted_2$a={class:"group-list"},_hoisted_3$9=["onClick"],_hoisted_4$9=["src"],_hoisted_5$6={class:"group-text"},_sfc_main$e=vue.defineComponent({__name:"plugin-groups-aside",props:{actived:{},groups:{}},emits:["update:actived","change"],setup(e,{emit:t}){const n=e,o=t,a=r=>{o("update:actived",r),o("change",r)};return(r,s)=>(vue.openBlock(),vue.createElementBlock("section",_hoisted_1$e,[vue.createElementVNode("div",_hoisted_2$a,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(n.groups,i=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["group-item",{actived:n.actived===i.name}]),key:i.id,onClick:l=>a(i.name)},[vue.createElementVNode("img",{class:"group-icon",src:i.iconUrl},null,8,_hoisted_4$9),vue.createElementVNode("span",_hoisted_5$6,vue.toDisplayString(i.alias),1)],10,_hoisted_3$9))),128))])]))}}),PluginGroupsAside=_export_sfc(_sfc_main$e,[["__scopeId","data-v-6c7ab9b0"]]),alarmImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/告警%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/告警'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3ccircle%20id='椭圆形'%20fill='%233A84FF'%20fill-rule='nonzero'%20cx='27'%20cy='27'%20r='23'%3e%3c/circle%3e%3ccircle%20id='椭圆形备份'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20cx='34'%20cy='34'%20r='24'%3e%3c/circle%3e%3cg%20id='alert-告警'%20transform='translate(20,%2018)'%20fill='%23FFFFFF'%3e%3cpath%20d='M23.8214286,25.9259259%20L23.8214286,14.5185185%20C23.8280822,12.0419907%2022.8443395,9.66585559%2021.0897321,7.92037037%20C19.3290179,6.16064815%2016.9889509,5.18515161%2014.5,5.18515161%20C12.026631,5.17852307%209.65352669,6.16352209%207.91026786,7.92037037%20C6.15279018,9.68333333%205.17857143,12.0263889%205.17857143,14.5185185%20L5.17857143,25.9259259%20L2.07142857,25.9259259%20L2.07142857,28%20L26.9285714,28%20L26.9285714,25.9259259%20L23.8214286,25.9259259%20Z%20M15.225,10.9083333%20L16.6879464,12.3731481%20L14.5356027,14.5314815%20L17.3708705,17.3703704%20L13.8138393,21.3305556%20L12.2732143,19.9435185%20L14.516183,17.4449074%20L11.6064732,14.5314815%20L15.225,10.9083333%20Z%20M29,13.4814815%20L29,15.5555556%20L24.8571429,15.5555556%20L24.8571429,13.4814815%20L29,13.4814815%20Z%20M4.14285714,13.4814815%20L4.14285714,15.5555556%20L0,15.5555556%20L0,13.4814815%20L4.14285714,13.4814815%20Z%20M5.01594524,3.53359279%20L7.94538762,6.46677647%20L6.48066643,7.93336831%20L3.55122405,5.00018463%20L5.01594524,3.53359279%20Z%20M23.9784806,3.5274069%20L25.4432018,4.99399875%20L22.5137594,7.92718243%20L21.0490382,6.46059059%20L23.9784806,3.5274069%20Z%20M15.5357143,0%20L15.5357143,4.14814815%20L13.4642857,4.14814815%20L13.4642857,0%20L15.5357143,0%20Z'%20id='形状'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",eventImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/事件%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/事件'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3crect%20id='矩形-2'%20fill='%233A84FF'%20fill-rule='nonzero'%20x='5'%20y='5'%20width='40'%20height='40'%20rx='3'%3e%3c/rect%3e%3crect%20id='矩形'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20x='10'%20y='10'%20width='44'%20height='44'%20rx='3'%3e%3c/rect%3e%3cg%20id='alert-告警'%20transform='translate(16.25,%2016.25)'%20fill='%23FFFFFF'%20fill-rule='nonzero'%3e%3cpath%20d='M9,0%20L9,2.25%20L22.5,2.25%20L22.5,0%20L27,0%20L27,2.25%20L29.25,2.25%20C30.4926407,2.25%2031.5,3.25735931%2031.5,4.5%20L31.5,29.25%20C31.5,30.4926407%2030.4926407,31.5%2029.25,31.5%20L2.25,31.5%20C1.00735931,31.5%200,30.4926407%200,29.25%20L0,4.5%20C0,3.25735931%201.00735931,2.25%202.25,2.25%20L4.5,2.25%20L4.5,0%20L9,0%20Z%20M29.25,10.125%20L2.25,10.125%20L2.25,29.25%20L29.25,29.25%20L29.25,10.125%20Z%20M11.25,13.5%20L11.25,18%20L5.625,18%20L5.625,13.5%20L11.25,13.5%20Z'%20id='形状结合'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",graphImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/图谱%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/图谱'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3ccircle%20id='椭圆形'%20fill='%233A84FF'%20fill-rule='nonzero'%20cx='27'%20cy='27'%20r='23'%3e%3c/circle%3e%3ccircle%20id='椭圆形备份'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20cx='34'%20cy='34'%20r='24'%3e%3c/circle%3e%3cg%20id='alert-告警'%20transform='translate(18.25,%2018.25)'%20fill='%23FFFFFF'%3e%3cpath%20d='M27.5625,0%20C29.7371212,0%2031.5,1.7628788%2031.5,3.9375%20C31.5,6.1121212%2029.7371212,7.875%2027.5625,7.875%20C26.8821072,7.875%2026.2420211,7.70242627%2025.6836253,7.39866233%20L21.2480235,11.8331927%20C22.0362649,12.9376649%2022.5,14.2896769%2022.5,15.75%20C22.5,17.2076792%2022.0379426,18.5574391%2021.2523016,19.6608059%20L24.7142478,23.1229218%20C25.3841532,22.7271229%2026.1655529,22.5%2027,22.5%20C29.4852814,22.5%2031.5,24.5147186%2031.5,27%20C31.5,29.4852814%2029.4852814,31.5%2027,31.5%20C24.5147186,31.5%2022.5,29.4852814%2022.5,27%20C22.5,26.1655529%2022.7271229,25.3841532%2023.1229218,24.7142478%20L19.6608059,21.2523016%20C18.5574391,22.0379426%2017.2076792,22.5%2015.75,22.5%20C14.2923208,22.5%2012.9425609,22.0379426%2011.8391941,21.2523016%20L8.73675688,24.3548271%20C8.9071608,24.8296846%209,25.3415004%209,25.875%20C9,28.3602814%206.98528137,30.375%204.5,30.375%20C2.01471863,30.375%200,28.3602814%200,25.875%20C0,23.3897186%202.01471863,21.375%204.5,21.375%20C5.62390208,21.375%206.6515713,21.7870218%207.44020055,22.4682583%20L10.2476984,19.6608059%20C9.46205741,18.5574391%209,17.2076792%209,15.75%20C9,14.2927614%209.46177809,12.9433769%2010.246986,11.8401948%20L6.9225844,8.53381806%20C6.36863781,8.83126977%205.73527343,9%205.0625,9%20C2.8878788,9%201.125,7.2371212%201.125,5.0625%20C1.125,2.8878788%202.8878788,1.125%205.0625,1.125%20C7.2371212,1.125%209,2.8878788%209,5.0625%20C9,5.74577587%208.82596068,6.38840267%208.51979386,6.94846859%20L11.8381935,10.2484109%20C12.9417448,9.46233681%2014.2918801,9%2015.75,9%20C17.2050353,9%2018.5525424,9.46038278%2019.6547997,10.2434266%20L24.0949001,5.80449226%20C23.7951367,5.24890576%2023.625,4.61307166%2023.625,3.9375%20C23.625,1.7628788%2025.3878788,0%2027.5625,0%20Z'%20id='形状结合'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",logImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/日志%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/日志'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3crect%20id='矩形-2'%20fill='%233A84FF'%20fill-rule='nonzero'%20x='5'%20y='5'%20width='40'%20height='40'%20rx='3'%3e%3c/rect%3e%3crect%20id='矩形'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20x='10'%20y='10'%20width='44'%20height='44'%20rx='3'%3e%3c/rect%3e%3cg%20id='alert-告警'%20transform='translate(17.375,%2017.375)'%20fill='%23FFFFFF'%3e%3cpath%20d='M28.25,0%20C28.8022847,0%2029.25,0.44771525%2029.25,1%20L29.25,28.25%20C29.25,28.8022847%2028.8022847,29.25%2028.25,29.25%20L1,29.25%20C0.44771525,29.25%200,28.8022847%200,28.25%20L0,1%20C0,0.44771525%200.44771525,1.11022302e-16%201,0%20L28.25,0%20Z%20M14.625,19.125%20C14.0036797,19.125%2013.5,19.6286797%2013.5,20.25%20C13.5,20.8713203%2014.0036797,21.375%2014.625,21.375%20C15.2463203,21.375%2015.75,20.8713203%2015.75,20.25%20C15.75,19.6286797%2015.2463203,19.125%2014.625,19.125%20Z%20M8.4375,7.875%20C5.02023811,7.875%202.25,10.6452381%202.25,14.0625%20C2.25,17.4797619%205.02023811,20.25%208.4375,20.25%20C11.8547619,20.25%2014.625,17.4797619%2014.625,14.0625%20C14.625,10.6452381%2011.8547619,7.875%208.4375,7.875%20Z%20M20.8125,7.875%20C17.3952381,7.875%2014.625,10.6452381%2014.625,14.0625%20C14.625,17.4797619%2017.3952381,20.25%2020.8125,20.25%20C24.2297619,20.25%2027,17.4797619%2027,14.0625%20C27,10.6452381%2024.2297619,7.875%2020.8125,7.875%20Z%20M8.4375,10.125%20C10.6121212,10.125%2012.375,11.8878788%2012.375,14.0625%20C12.375,16.2371212%2010.6121212,18%208.4375,18%20C6.2628788,18%204.5,16.2371212%204.5,14.0625%20C4.5,11.8878788%206.2628788,10.125%208.4375,10.125%20Z%20M20.8125,10.125%20C22.9871212,10.125%2024.75,11.8878788%2024.75,14.0625%20C24.75,16.2371212%2022.9871212,18%2020.8125,18%20C18.6378788,18%2016.875,16.2371212%2016.875,14.0625%20C16.875,11.8878788%2018.6378788,10.125%2020.8125,10.125%20Z%20M21.5,12.9375%20L20.125,12.9375%20C19.5727153,12.9375%2019.125,13.3852153%2019.125,13.9375%20L19.125,14.1875%20C19.125,14.7397847%2019.5727153,15.1875%2020.125,15.1875%20L21.5,15.1875%20C22.0522847,15.1875%2022.5,14.7397847%2022.5,14.1875%20L22.5,13.9375%20C22.5,13.3852153%2022.0522847,12.9375%2021.5,12.9375%20Z'%20id='形状结合'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",metricImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/指标%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/指标'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3ccircle%20id='椭圆形'%20fill='%233A84FF'%20fill-rule='nonzero'%20cx='27'%20cy='27'%20r='23'%3e%3c/circle%3e%3ccircle%20id='椭圆形备份'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20cx='34'%20cy='34'%20r='24'%3e%3c/circle%3e%3cg%20id='alert-告警'%20transform='translate(20.0022,%2019)'%20fill='%23FFFFFF'%3e%3cpath%20d='M26.9978016,9%20L26.9978016,26%20L22.9857822,26%20L22.9857822,9%20L26.9978016,9%20Z%20M19.9767677,15%20L19.9767677,26%20L15.9647484,26%20L15.9647484,15%20L19.9767677,15%20Z%20M12.9557339,12%20L12.9557339,26%20L8.9437145,26%20L8.9437145,12%20L12.9557339,12%20Z%20M5.93469998,17%20L5.93469998,26%20L1.92268063,26%20L1.92268063,17%20L5.93469998,17%20Z%20M26.9978016,0%20L26.9978016,8%20L23.6568016,4.67%20L16.9918102,11.3355632%20L11.3179511,5.6617042%20L1.41846305,15.561206%20L3.55271368e-15,14.1427429%20L11.3137085,2.82903444%20L16.9875333,8.50285925%20L22.2358016,3.253%20L18.9737629,0%20L26.9978016,0%20Z'%20id='形状结合'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",profilingImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/Profiling%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/Profiling'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3ccircle%20id='椭圆形'%20fill='%233A84FF'%20fill-rule='nonzero'%20cx='27'%20cy='27'%20r='23'%3e%3c/circle%3e%3ccircle%20id='椭圆形备份'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20cx='34'%20cy='34'%20r='24'%3e%3c/circle%3e%3cg%20id='alert-告警'%20transform='translate(19.375,%2016)'%20fill='%23FFFFFF'%20fill-rule='nonzero'%3e%3cpath%20d='M10.3813948,-3.55271368e-15%20C17.257736,1.52410383%2022.3838329,6.97063848%2023.2188935,13.6207878%20C24.020884,11.6579106%2025.6982065,10.1856528%2027.7485185,9.64494215%20C27.1633902,11.2491122%2027.1633902,13.0083535%2027.7485185,14.6125236%20C27.7485185,14.6125236%2033.0597887,25.1085424%2026.6837718,31.6233741%20L24.0521736,28.9989243%20C27.3425616,24.7791508%2027.0291913,18.684516%2023.1138432,14.7781096%20C18.7284397,10.4016526%2011.6811693,10.5583362%207.45245097,14.9347932%20C3.22373261,19.3094697%203.53710289,26.4991091%207.9225064,30.562199%20C11.8378545,34.1552382%2017.6316437,34.3119218%2021.8603621,31.1853723%20L24.2302248,33.5498699%20C23.1560051,34.1931262%2022.0151369,34.7178845%2020.8276645,35.1149251%20C20.8276645,35.1149251%2016.914097,36.7173707%2011.2876759,35.6099027%20C11.2876759,35.6099027%20-5.60939232,32.1361567%201.9435438,14.8956223%20C2.71450593,15.6701377%203.23085471,16.6583125%203.42136957,17.7337316%20C4.27570623,15.1161605%205.73197932,12.7354096%207.67323457,10.7826785%20C10.1623917,8.55705961%2012.6960617,2.27013128%2010.3813948,-3.55271368e-15%20Z%20M8.86261726,17.9028786%20C10.3191865,15.8450628%2012.6836372,14.6218537%2015.2048045,14.6218537%20C17.7259718,14.6218537%2020.0904225,15.8450628%2021.5469918,17.9028786%20C23.5838986,20.5593773%2023.5838986,24.3108806%2021.5469918,27.1240629%20C20.0904225,29.1818787%2017.7259718,30.4050878%2015.2048045,30.4050878%20C12.6836372,30.4050878%2010.3191865,29.1818787%208.86261726,27.1240629%20C6.8257104,24.4675642%206.8257104,20.5593773%208.86261726,17.9028786%20Z%20M20.475123,17.8049514%20L9.79204502,17.8049514%20L9.79204502,21.3659416%20L11.572558,21.3659416%20L11.572558,24.9269319%20L13.353071,24.9269319%20L13.353071,23.1464368%20L15.133584,23.1464368%20L15.133584,26.7074271%20L16.914097,26.7074271%20L16.914097,28.4879222%20L18.69461,28.4879222%20L18.69461,23.1464368%20L20.475123,23.1464368%20L20.475123,17.8049514%20L20.475123,17.8049514%20Z'%20id='形状'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",traceImg="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='64px'%20height='64px'%20viewBox='0%200%2064%2064'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3ePic/Trace%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='50%25'%20y1='0%25'%20x2='50%25'%20y2='99.2979677%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%23CEE4FF'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23FFFFFF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Pic/Trace'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3ccircle%20id='椭圆形'%20fill='%233A84FF'%20fill-rule='nonzero'%20cx='27'%20cy='27'%20r='23'%3e%3c/circle%3e%3ccircle%20id='椭圆形备份'%20stroke='url(%23linearGradient-1)'%20fill-opacity='0.7'%20fill='%23CFDDF6'%20cx='34'%20cy='34'%20r='24'%3e%3c/circle%3e%3cg%20id='alert-告警'%20transform='translate(18.25,%2018.25)'%20fill='%23FFFFFF'%20fill-rule='nonzero'%3e%3cpath%20d='M15.75,0%20C16.36875,0%2016.875,0.50625%2016.875,1.125%20L16.875,2.29647656%20C23.4334688,2.83756641%2028.6624336,8.06653125%2029.2035234,14.625%20L30.375,14.625%20C30.99375,14.625%2031.5,15.13125%2031.5,15.75%20C31.5,16.36875%2030.99375,16.875%2030.375,16.875%20L29.2035234,16.875%20C28.6624336,23.4334688%2023.4334688,28.6624336%2016.875,29.2035234%20L16.875,30.375%20C16.875,30.99375%2016.36875,31.5%2015.75,31.5%20C15.13125,31.5%2014.625,30.99375%2014.625,30.375%20L14.625,29.2035234%20C8.06653125,28.6624336%202.83756641,23.4334688%202.29647656,16.875%20L1.125,16.875%20C0.50625,16.875%200,16.36875%200,15.75%20C0,15.13125%200.50625,14.625%201.125,14.625%20L2.29647656,14.625%20C2.83756641,8.06653125%208.06653125,2.83756641%2014.625,2.29647656%20L14.625,1.125%20C14.625,0.50625%2015.13125,0%2015.75,0%20Z%20M16.875,4.55582812%20L16.875,5.625%20C16.875,6.24375%2016.36875,6.75%2015.75,6.75%20C15.13125,6.75%2014.625,6.24375%2014.625,5.625%20L14.625,4.55582812%20C9.31011328,5.08355859%205.08355859,9.31011328%204.55582812,14.625%20L5.625,14.625%20C6.24375,14.625%206.75,15.13125%206.75,15.75%20C6.75,16.36875%206.24375,16.875%205.625,16.875%20L4.55582812,16.875%20C5.08355859,22.1898867%209.31011328,26.4164414%2014.625,26.9441719%20L14.625,25.875%20C14.625,25.25625%2015.13125,24.75%2015.75,24.75%20C16.36875,24.75%2016.875,25.25625%2016.875,25.875%20L16.875,26.9441719%20C22.1898867,26.4164414%2026.4164414,22.1898867%2026.9441719,16.875%20L25.875,16.875%20C25.25625,16.875%2024.75,16.36875%2024.75,15.75%20C24.75,15.13125%2025.25625,14.625%2025.875,14.625%20L26.9441719,14.625%20C26.4164414,9.31011328%2022.1898867,5.08355859%2016.875,4.55582812%20Z%20M15.75,10.125%20C18.8566017,10.125%2021.375,12.6433983%2021.375,15.75%20C21.375,18.8566017%2018.8566017,21.375%2015.75,21.375%20C12.6433983,21.375%2010.125,18.8566017%2010.125,15.75%20C10.125,12.6433983%2012.6433983,10.125%2015.75,10.125%20Z'%20id='形状结合'%3e%3c/path%3e%3c/g%3e%3crect%20id='矩形'%20x='0'%20y='0'%20width='64'%20height='64'%3e%3c/rect%3e%3c/g%3e%3c/svg%3e",_hoisted_1$d={class:"data-plugin-group"},_hoisted_2$9={class:"plugin-list"},_hoisted_3$8=["onClick"],_hoisted_4$8=["src"],_hoisted_5$5={class:"plugin-name"},_sfc_main$d=vue.defineComponent({__name:"data-plugin-group",props:{plugins:{}},emits:["select"],setup(e,{emit:t}){const n=e,o=t,a={alert_plugin:alarmImg,log_plugin:logImg,trace_plugin:traceImg,query_promql_metric_plugin:metricImg,事件查询:eventImg,Profiling查询:profilingImg,图谱查询:graphImg},r=vue.computed(()=>n.plugins.map(s=>({id:s.id,name:s.alias,icon:a[s.name]})));return(s,i)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$d,[vue.createElementVNode("div",_hoisted_2$9,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(r.value,l=>(vue.openBlock(),vue.createElementBlock("div",{class:"plugin-item",key:l.id,onClick:c=>o("select",l.id)},[vue.createElementVNode("img",{class:"plugin-img",src:l.icon},null,8,_hoisted_4$8),vue.createElementVNode("h4",_hoisted_5$5,vue.toDisplayString(l.name),1)],8,_hoisted_3$8))),128))]),r.value.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:0,title:"暂无数据插件"})):vue.createCommentVNode("",!0)]))}}),DataPluginGroup=_export_sfc(_sfc_main$d,[["__scopeId","data-v-782d393d"]]),_hoisted_1$c={class:"search-select-wrapper"},_sfc_main$c=vue.defineComponent({__name:"index",props:{modelValue:{default:()=>[]},placeholder:{default:"请选择"},options:{default:()=>[]}},emits:["update:modelValue","change"],setup(e,{emit:t}){const n=e,o=t,a=vue.shallowRef([...n.modelValue]);vue.watch(()=>n.modelValue,s=>{a.value=[...s]},{deep:!0});const r=s=>{a.value=s,o("update:modelValue",s),o("change",s)};return(s,i)=>{const l=vue.resolveComponent("bk-search-select");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$c,[vue.createVNode(l,{modelValue:a.value,"onUpdate:modelValue":[i[0]||(i[0]=c=>a.value=c),r],"value-behavior":"need-key",data:n.options,placeholder:n.placeholder,uniqueSelect:!0,clearable:!0},null,8,["modelValue","data","placeholder"])])}}}),_hoisted_1$b={class:"agent-plugin-group"},_hoisted_2$8={class:"top-operate-area"},_hoisted_3$7={class:"buttons"},_hoisted_4$7={class:"agent-content-area"},_hoisted_5$4={class:"agent-cards"},_hoisted_6$4={class:"card-header"},_hoisted_7$3=["src"],_hoisted_8$2={class:"agent-summary"},_hoisted_9$2={class:"main-info"},_hoisted_10$2={class:"name-text"},_hoisted_11$2={class:"other-info"},_hoisted_12=["title"],_hoisted_13=["title"],_hoisted_14=["title"],_hoisted_15={class:"agent-desc"},_hoisted_16={class:"agent-btns"},_sfc_main$b=vue.defineComponent({__name:"agent-plugin-group",props:{properties:{},plugins:{}},emits:["select"],setup(e,{emit:t}){const n=vueRouter.useRouter(),o=vueRouter.useRoute(),a=[{id:"alias",name:"智能体名称"},{id:"created_by",name:"创建人"}],r=e,s=t,i=vue.ref("all"),l=vue.ref([]),c=vue.computed(()=>Object.keys(r.properties).map(w=>({id:w,name:r.properties[w]}))),u=vue.computed(()=>r.plugins.filter(w=>!w.display_content.hidden)),m=vue.computed(()=>{const w=u.value.filter(f=>i.value!=="all"?f.group===i.value:!0);return l.value.length>0?w.filter(f=>l.value.some(_=>_.id==="alias"?f.alias.toLowerCase().includes(_.values[0].id.toLowerCase()):_.id==="agent_type"?(f.display_content?.agent_type||"")===_.values[0].id:_.id==="space_name"?(f.display_content?.space_name||"").toLowerCase().includes(_.values[0].id.toLowerCase()):_.id==="created_by"?(f.display_content?.created_by||"")===_.values[0].id:!0)):w}),y=w=>w?dayjs(w).format("YYYY-MM-DD HH:mm:ss"):"--",h=w=>{l.value=w},p=()=>{const{href:w}=n.resolve({name:"spaceResource",params:o.params});window.open(w,"_blank")},g=()=>{const{href:w}=n.resolve({name:"spaceResource",params:o.params});window.open(w,"_blank")},v=w=>{w.display_content.fetch_url&&window.open(w.display_content.fetch_url,"_blank")};return(w,f)=>{const _=vue.resolveComponent("bk-button"),d=vue.resolveComponent("bk-alert"),C=vue.resolveComponent("bk-radio-button"),b=vue.resolveComponent("bk-radio-group");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$b,[vue.createVNode(d,null,{default:vue.withCtx(()=>[f[3]||(f[3]=vue.createTextVNode(" 如有需要,您可以申请更多的智能体权限 ",-1)),vue.createVNode(_,{theme:"primary",text:"",size:"small",onClick:p},{default:vue.withCtx(()=>[...f[2]||(f[2]=[vue.createTextVNode("点击申请",-1)])]),_:1})]),_:1}),vue.createElementVNode("div",_hoisted_2$8,[vue.createElementVNode("div",_hoisted_3$7,[vue.createVNode(_,{theme:"primary",onClick:g},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(icon.Plus),{class:"add-icon"}),f[4]||(f[4]=vue.createTextVNode(" 智能体 ",-1))]),_:1}),c.value.length>1?(vue.openBlock(),vue.createBlock(b,{key:0,modelValue:i.value,"onUpdate:modelValue":f[0]||(f[0]=A=>i.value=A),type:"capsule"},{default:vue.withCtx(()=>[vue.createVNode(C,{label:"all"},{default:vue.withCtx(()=>[...f[5]||(f[5]=[vue.createTextVNode("全部",-1)])]),_:1}),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(c.value,A=>(vue.openBlock(),vue.createBlock(C,{key:A.id,label:A.id},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(A.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])):vue.createCommentVNode("",!0)]),vue.createVNode(_sfc_main$c,{modelValue:l.value,options:a,placeholder:"搜索智能体名称、创建人",onChange:h},null,8,["modelValue"])]),vue.createElementVNode("div",_hoisted_4$7,[vue.createElementVNode("div",_hoisted_5$4,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(m.value,A=>(vue.openBlock(),vue.createElementBlock("div",{class:"card-item",key:A.id},[vue.createElementVNode("div",_hoisted_6$4,[vue.createElementVNode("img",{src:A.display_content.icon,alt:"",class:"agent-img"},null,8,_hoisted_7$3),vue.createElementVNode("div",_hoisted_8$2,[vue.createElementVNode("div",_hoisted_9$2,[vue.createElementVNode("div",_hoisted_10$2,vue.toDisplayString(A.alias),1)]),vue.createElementVNode("div",_hoisted_11$2,[vue.createElementVNode("span",{title:A.display_content.agent_code},"ID:"+vue.toDisplayString(A.display_content.agent_code),9,_hoisted_12),vue.createElementVNode("span",{title:A.display_content.created_by},"创建人:"+vue.toDisplayString(A.display_content.created_by),9,_hoisted_13),vue.createElementVNode("span",{title:y(A.display_content.created_at)}," 创建时间:"+vue.toDisplayString(y(A.display_content.created_at)),9,_hoisted_14)])])]),vue.createElementVNode("p",_hoisted_15,vue.toDisplayString(A.display_content.description||"--"),1),vue.createElementVNode("div",_hoisted_16,[vue.createVNode(_,{theme:"primary",size:"small",onClick:V=>s("select",A.id)},{default:vue.withCtx(()=>[...f[6]||(f[6]=[vue.createTextVNode("选择",-1)])]),_:1},8,["onClick"]),vue.createVNode(_,{size:"small",onClick:V=>v(A)},{default:vue.withCtx(()=>[...f[7]||(f[7]=[vue.createTextVNode("体验",-1)])]),_:1},8,["onClick"])])]))),128))]),m.value.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:0,"is-search":l.value.length>0,title:"暂无智能体",onClear:f[1]||(f[1]=A=>l.value=[])},null,8,["is-search"])):vue.createCommentVNode("",!0)])])}}}),AgentPluginGroup=_export_sfc(_sfc_main$b,[["__scopeId","data-v-6301edf0"]]),_hoisted_1$a={class:"order-selector"},_sfc_main$a=vue.defineComponent({__name:"order-selector",props:{order:{}},emits:["update:order"],setup(e,{emit:t}){const n=[{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"}],o=e,a=t,r=vue.ref(!1),s=c=>{r.value=c},i=vue.computed(()=>n.find(c=>c.id===o.order)),l=c=>{a("update:order",c)};return(c,u)=>{const m=vue.resolveComponent("bk-button"),y=vue.resolveComponent("bk-dropdown-item"),h=vue.resolveComponent("bk-dropdown-menu"),p=vue.resolveComponent("bk-dropdown");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$a,[u[0]||(u[0]=vue.createElementVNode("span",{class:"order-selector-prefix"},"排序",-1)),vue.createVNode(p,{placement:"bottom-start",trigger:"click","popover-options":{clickContentAutoHide:!0,width:146},onShowChange:s},{content:vue.withCtx(()=>[vue.createVNode(h,{"ext-cls":"order-selector-dropdown-menu"},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(n,g=>vue.createVNode(y,{key:g.id,class:vue.normalizeClass({active:g.id===e.order}),onClick:v=>l(g.id)},{default:vue.withCtx(()=>[vue.createElementVNode("span",null,vue.toDisplayString(g.name),1)]),_:2},1032,["class","onClick"])),64))]),_:1})]),default:vue.withCtx(()=>[vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(i.value?.name)+" ",1),vue.createElementVNode("i",{class:vue.normalizeClass(["order-selector-icon",i.value?.icon])},null,2),vue.createElementVNode("i",{class:vue.normalizeClass(["bkflow-canvas-icon","bkflow-canvas-angle-up",{"angle-down":!r.value}])},null,2)]),_:1})]),_:1})])}}}),OrderSelector=_export_sfc(_sfc_main$a,[["__scopeId","data-v-40215204"]]),_hoisted_1$9={class:"big-model-card"},_hoisted_2$7={class:"card-header"},_hoisted_3$6=["src"],_hoisted_4$6={class:"model-info"},_hoisted_5$3={class:"model-name"},_hoisted_6$3=["title"],_hoisted_7$2={class:"other-info"},_hoisted_8$1={class:"other-info"},_hoisted_9$1={class:"model-desc"},_hoisted_10$1={class:"tag-list"},_hoisted_11$1={class:"bottom-btns"},_sfc_main$9=vue.defineComponent({__name:"big-model-card",props:{plugin:{}},emits:["select"],setup(e,{emit:t}){const n=e,o=t,a=vue.computed(()=>n.plugin.display_content.tag_names.map(r=>r.join("/")));return(r,s)=>{const i=vue.resolveComponent("bk-tag"),l=vue.resolveComponent("bk-button");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$9,[vue.createElementVNode("div",_hoisted_2$7,[vue.createElementVNode("img",{src:n.plugin.display_content.icon,alt:"",class:"model-img"},null,8,_hoisted_3$6),vue.createElementVNode("div",_hoisted_4$6,[vue.createElementVNode("div",_hoisted_5$3,[vue.createElementVNode("div",{class:"name-text",title:n.plugin.alias},vue.toDisplayString(n.plugin.alias),9,_hoisted_6$3)]),vue.createElementVNode("p",_hoisted_7$2,[vue.createElementVNode("span",null,"基座模型: "+vue.toDisplayString(n.plugin.display_content.base_model),1),vue.createElementVNode("span",null,"激活参数: "+vue.toDisplayString(n.plugin.display_content.context_length),1)]),vue.createElementVNode("p",_hoisted_8$1,[vue.createElementVNode("span",null,"更新人: "+vue.toDisplayString(n.plugin.display_content.created_by),1),vue.createElementVNode("span",null,"更新时间: "+vue.toDisplayString(n.plugin.display_content.created_at),1)])])]),vue.createElementVNode("p",_hoisted_9$1,vue.toDisplayString(n.plugin.display_content.description||"--"),1),vue.createElementVNode("div",_hoisted_10$1,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(a.value,c=>(vue.openBlock(),vue.createBlock(i,{key:c},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(c),1)]),_:2},1024))),128))]),vue.createElementVNode("div",_hoisted_11$1,[vue.createVNode(l,{theme:"primary",size:"small",onClick:s[0]||(s[0]=c=>o("select",n.plugin.id))},{default:vue.withCtx(()=>[...s[1]||(s[1]=[vue.createTextVNode("选择",-1)])]),_:1})])])}}}),BigModelCard=_export_sfc(_sfc_main$9,[["__scopeId","data-v-fcf03d9b"]]),_hoisted_1$8={class:"small-model-card"},_hoisted_2$6={class:"model-name"},_hoisted_3$5={class:"name-text"},_hoisted_4$5={class:"en-name"},_hoisted_5$2={class:"extend-info"},_hoisted_6$2={class:"model-desc"},_hoisted_7$1={class:"bottom-btns"},_sfc_main$8=vue.defineComponent({__name:"small-model-card",props:{plugin:{}},emits:["select"],setup(e,{emit:t}){const n=e,o=t;return(a,r)=>{const s=vue.resolveComponent("bk-button");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$8,[vue.createElementVNode("div",_hoisted_2$6,[vue.createElementVNode("span",_hoisted_3$5,vue.toDisplayString(n.plugin.alias),1),vue.createElementVNode("span",_hoisted_4$5,"("+vue.toDisplayString(n.plugin.name)+")",1)]),vue.createElementVNode("p",_hoisted_5$2,[vue.createElementVNode("span",null,"依赖历史数据长度 : "+vue.toDisplayString(n.plugin.display_content.ts_depend_time)+" 天",1),vue.createElementVNode("span",null,"数据频率:"+vue.toDisplayString(n.plugin.display_content.frequency)+" 秒",1),vue.createElementVNode("span",null,"发布人:"+vue.toDisplayString(n.plugin.display_content.created_by),1)]),vue.createElementVNode("p",_hoisted_6$2,vue.toDisplayString(n.plugin.display_content.description||"--"),1),vue.createElementVNode("div",_hoisted_7$1,[vue.createVNode(s,{theme:"primary",size:"small",onClick:r[0]||(r[0]=i=>o("select",n.plugin.id))},{default:vue.withCtx(()=>[...r[1]||(r[1]=[vue.createTextVNode("选择",-1)])]),_:1})])])}}}),SmallModelCard=_export_sfc(_sfc_main$8,[["__scopeId","data-v-fed83f20"]]),_hoisted_1$7={class:"model-plugin-group"},_hoisted_2$5={class:"top-operate-area"},_hoisted_3$4={class:"group-selector"},_hoisted_4$4={class:"search-area"},_hoisted_5$1={class:"mode-content-area"},_hoisted_6$1={class:"card-list"},_sfc_main$7=vue.defineComponent({__name:"index",props:{properties:{},plugins:{}},emits:["select"],setup(e,{emit:t}){const n=e,o=t,a=vue.ref("llm"),r=vue.ref("created_at_desc"),s=vue.ref([]),i=vue.computed(()=>a.value==="llm"?[{id:"name",name:"模型名称"},{id:"base_model",name:"基座模型"}]:[{id:"name",name:"模型名称"},{id:"created_by",name:"创建人"}]),l=vue.computed(()=>a.value==="llm"?"搜索模型名称、基座模型":"搜索模型名称、发布人"),c=vue.computed(()=>Object.keys(n.properties).map(f=>({id:f,name:n.properties[f]}))),u=vue.computed(()=>n.plugins.filter(f=>!f.display_content.hidden)),m=f=>f.filter(_=>_.group===a.value),y=f=>{if(s.value.length===0)return f;const _={name:d=>d.name,base_model:d=>d.display_content.base_model||"",created_by:d=>d.display_content.created_by||""};return f.filter(d=>s.value.some(C=>{const b=C.values[0].id.toLowerCase(),A=_[C.id];return A?.(d).toLowerCase().includes(b)??!1}))},h=f=>{if(a.value!=="llm")return f;const _=(b,A,V)=>{const O=new Date(b.display_content.created_at).getTime(),D=new Date(A.display_content.created_at).getTime();return V?O-D:D-O},C={created_at_asc:(b,A)=>_(b,A,!0),created_at_desc:(b,A)=>_(b,A,!1),name_asc:(b,A)=>b.alias.localeCompare(A.alias),name_desc:(b,A)=>A.alias.localeCompare(b.alias)}[r.value];return C?[...f].sort(C):f},p=vue.computed(()=>{const f=m(u.value),_=y(f);return h(_)}),g=f=>{a.value=f,r.value="created_at_desc",s.value=[]},v=f=>{s.value=f},w=f=>{o("select",f)};return(f,_)=>{const d=vue.resolveComponent("bk-radio-button"),C=vue.resolveComponent("bk-radio-group");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$7,[vue.createElementVNode("div",_hoisted_2$5,[vue.createElementVNode("div",_hoisted_3$4,[c.value.length>1?(vue.openBlock(),vue.createBlock(C,{key:0,modelValue:a.value,"onUpdate:modelValue":_[0]||(_[0]=b=>a.value=b),type:"capsule",onChange:g},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(c.value,b=>(vue.openBlock(),vue.createBlock(d,{key:b.id,label:b.id},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(b.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_4$4,[a.value==="llm"?(vue.openBlock(),vue.createBlock(OrderSelector,{key:0,order:r.value,"onUpdate:order":_[1]||(_[1]=b=>r.value=b)},null,8,["order"])):vue.createCommentVNode("",!0),vue.createVNode(_sfc_main$c,{modelValue:s.value,options:i.value,placeholder:l.value,onChange:v},null,8,["modelValue","options","placeholder"])])]),vue.createElementVNode("div",_hoisted_5$1,[vue.createElementVNode("div",_hoisted_6$1,[a.value==="llm"?(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:0},vue.renderList(p.value,b=>(vue.openBlock(),vue.createBlock(BigModelCard,{key:b.id,plugin:b,onSelect:w},null,8,["plugin"]))),128)):(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:1},vue.renderList(p.value,b=>(vue.openBlock(),vue.createBlock(SmallModelCard,{key:b.id,plugin:b,onSelect:w},null,8,["plugin"]))),128))]),p.value.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:0,"is-search":s.value.length>0,title:"暂无模型插件",onClear:_[2]||(_[2]=b=>s.value=[])},null,8,["is-search"])):vue.createCommentVNode("",!0)])])}}}),ModelPluginGroup=_export_sfc(_sfc_main$7,[["__scopeId","data-v-05075bf4"]]),_hoisted_1$6={class:"plugin-group"},_sfc_main$6=vue.defineComponent({__name:"output-plugin-group",setup(e){return(t,n)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$6,[vue.createVNode(EmptyException,{title:"暂无结论输出插件"})]))}}),OutputPluginGroup=_export_sfc(_sfc_main$6,[["__scopeId","data-v-474d5047"]]),pluginDefaultIcon="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAADwCAYAAAA+VemSAAAABmJLR0QA/wD/AP+gvaeTAAAdWElEQVR4nO3de3wU5b0/8M/32Q0J14oCu0GtP2yxSq5A6gWtLZJNIAEFQbRWba2VSz21PbUX7al9pbYee3rxVuVmEY/UC6ilFgiQS6MtpV4QkmyCaOpRj5pkAyiKkMvuzvf3B+CJYTfJ7s7ss7Pzfb9e/MHO7jOfwH4yszszzwBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCOAjpDpCuKlsOjBrSGbrEAC6AQh4M/iwBo4loKIMPAggA3ALQyy4jXHVJwamv6c4s7EcKbKIKZnWRv+NSJr4BQAmAIYN9LQENYFr2vmv/IwtzcnqsSynSiRTYBMxM1c2BqwhcAaazEhzuTVb4XkmO9y+mhBNpTQqcoJr6fWexO/QHMH3JzHEZWHlQHbhZx9a4rrljRDjM4wAgzPxxaYG3I9kZxOBIgRNQ3RS4DszLAAy3aBVVww8F506bdnqnReMDAKqbWz8Lw7UQbMwAURGAMX2echiAn4ieDxNvKM3xvmhlHjF4UuA4VDCrC5va/wugH1i9LgI2bs/1zK0gMsweu8rfWkSsbgdhNgAVw0sbiXDXjBzPOiJis3OJwZMCx4iZqaYp8AcA30zian/qy/PeadZg2/fuG9nZE/4dCDcgtuJ+CgM73Eb4m/INuj5S4BhVNbX9jpi+n+TVdlPYlV9cOPb1RAeqbWidYij1JICJJuQCgMOk+BvFOdlPmzSeiEHcv32dqLqx7XoN5QWATHaF70hkAGaman/7dwyldsC88gLAcDZoXU1jYJGJY4pBki3wIFXt6ZhIYaMewDBNEcLKZXxuxqTxb8f6wq3N75zsMjJWA5hrQa7jDFJ8pWyJk0u2wIPAzERhYxX0lRcAXEZYXRPri2r9gWkuI2M3rC0vACg26JFqf+s5Fq9H9CIFHoSapo55AL6iOwcYcwb71ApmVeNvv80APw/gsxam6m04oJ6se/PNrCStz/FkF3oQavzt9QwU6M4BIOge0Tlq+oQJXf09qcYf8BjgtQT4khXs03i5Ly/725aNzkw1e9pOR0iNJ6IRhkKnQRQY0zn27aIiClq13lQkBR7AtsbWixWp53Xn+AQj35fv9UdbXNMYKGbitQC8SUx1IqIFvlzPM2YNV/da65hQj/oqA3MIOB/AyAhPCxKokWHUKagNl+SO+2e6H6eWAg+gxt/+EAPf0p3jOAKVFOd5qvs+XlfH7vCYwM8ZuBWp8dHoYCjEk2dNzn4rkUEqd7WNzRhCPwPjWwBi3TXfS0z3vu/avyZdLxBJhf/olMXMxMBs3Tl6CxOf8Cbe5n/v9NCYwHMM/ASp8396kttNT+zcyRnxDlDV2HZFRgbtBePfEHt5AeBsJl4x2jhlb1Vz+6Xx5khlqfKfnZLqGlvPgu5d0T6Iqbv336sb2y9TcNUDuFBTpP6cfzCr4xfxvLCqqe0OIloP4GQTckwgA89W+9v/WNlyYJQJ46UMKXA/DOUq1J2hL4MQAIDKlpbMKn/7fSBsgDlvcksw8w+r/IGSWF5T42+/k5hutyDO1zK6gi/U+gOfs2BsLaTA/WDGBN0Z+ggHu8ItVXs6JmZ0jdpBwM1I/e8xFIEfrWvuGNSeTHVT4LpjHwWsco4B3v7X5rYcC9eRNFLgfjBotO4Mn0YNWUPUXAobrwA8RXeaGHhChrG2grnf91tNY+DMY5dnWs0bNqimpjFwZhLWZSkpcD8UGS7dGT6NPwfCY4h8CCXVFV/UFPhxv88gvhfWXVvdl5eJN9v9M7EUuB8MdUh3hj4+oztAIhi4o9YfmBZpWW1z27mMwZ9pZpKzM7qCq5K8TlNJgfvF7+hOkGbcBvjxTY1vn/DRxDDoZh2BAFxZ7W9bqGndCZMC94NhNOrOkIbOyKLM1b0f2LHjnaGw/mKL6Jju2dbQnqxdd1NJgftxcnd2A4CPdOdINwzMq2pqu+n434+MHHIRkvfZ90SE8YrwHW3rT4AUuB9FRRQEYZPuHOmImH67tSlQAAAMPld3HhC+V9nSkqk7RqykwAMwDGOl7gxpKsvF/GRdc8cIIvq87jAAPEO6RurbjY+TFHgApfnj/wYgda5GSi9nB8P8ADP3ncZWC2ZcrTtDrFL9LJ6UsLUpUOBifhlA3Cfmi359BCAVjsd2BrMOjS6bOLF74KemBtkCD8LMXE8DwP+hO0caS4XyAsDQzK5RU3WHiIUUeJB8edm/YUA+D6c5JiPlLmDpjxQ4Br5cz1Iw7tGdQ1jHAGx1pZIUOAZExL587/cZdB3k+HBaIj7hvlApTQoch5I8z1oVdk8C+FEAYd15hHmI1FDdGWIhBY7TjMIx7/nysr9OTGcR8J8gTvi2J0I/NjikO0Ms5DCSieoa3j0tpFwFAJ0J8CSAFkF+SdoL4QFfrtc2p1XKm8tE0wtOe9eXl72ZFLcBdBXk39eO3tAdIBZu3QHSSd2bb2aFPs66mw1aqjuLiBNzve4IsZACm2RbY+vZoY/VOgD5urOIuHUOPxR6UXeIWMgunglqmtq+rkjthJTX5njLtGmnd+pOEQvZAiegrrljRMgIL2Oma3VnEYljxuqBn5Va5FvoOFU1dxQSh9eB6SzdWYQp6otzPVPsdi8l2YWOQ3Vj27+RYfxTyps2mIi/b7fyArILHZNNjW+PzqLM1QzM051FmIjwYHFudp3uGPGQAg9SrT8wzQA/zsAZurMIUz3/AR24RXeIeMln4AFUMKsL/YEfgfALyC+8NMPbg1lDyssmnmLbC1OkwP2o8Qc8fPSChZhuziVsYY17ROe3p0+Y0KU7SCJkixJFVUP7DAb/ESl2e1GRsD2k1C3FOeO26g5iBtkC91FXx+7QmEAFgNsg39LbQRADz1XWDaCamFZvzxv3lwoiIwm5kkIK3Ms2/3unK6jHAbpIdxYxaP+CgWvhorMIxucYdHSPycARAr1jMDdkuNWL03PGfaw5pyWkwMdUNbdfSgYeBnCK7iwiZut9ed4rdYfQwfEF3rmTMw5mBn7D9rhZtoiGsMiX631Id4xkc/QbduPO1mFZmfQngEp1ZxEJ6wTjPF++1687SDI59kuaujp2Z2Wqp6S8aWMoCOvsepfBeDm2wMGx7f8FoEx3DmGqc4joQd0hksmRu9A1TW3TmakWDv350x7R1325nkd1x0gGx22B169nl2HQ7yHlTV/My7Y1tp6tO0YyOK7AJ08KXEGEHN05hKWGK1Lrdux4x1ZzPMfDcQUGy4RzDpF/eFTGvbpDWM1Ru5FVe/eNp2D4XTjs53YyAq4qzvOu053DKs7aAgeNGZDyOgoDq7Y2d3xedw6rOKrAxDxFdwaRdKPcBj9Z2dKSqTuIFRxVYBDS9jexiI7BU91dI3+tO4cVnFVguVDBsQj4TpU/kHZzmTmrwOywn1f0RgpYXbunNa3mNHPUG5pJbsrtZAwebYTVkzt38kATANiG06bU+V/dAQbpbQIaAfwPA/uYj96zlghDCXQqAxMBFAL4jNaU9nT+B5kddwL4ke4gZnBUgQlo0J0hCgbwHAhPuMOhLdMLTnt3oBdUMKvzmzvyFHO5AhYyUJCEnGmCf1DV2PZcSX52pe4kiXLUMdEafyCfwalU4jARrWUO/9qXN/7VRAaq8rcWAeoWAhbCYR+N4rQ/7HLlz5w0tk13kEQ4qsAAUO1vbwH0H05i4CWDaNHMXI+pv1C2NbTnKoV7ABSbOW6asv1UPI77Tc3Mf9AdAYRfZez3XGh2eQGgtMDb5Mvz+sD8TQBpOZGbia7Y1tx+nu4QiXBcgTPCWSsJ9IGm1YeJ+Hpfrve26dMpZOWKfPnZawDjXAAtVq7H5ojC9APdIRLhuF1oAKjxt9/MwH1JXi0T8fXFudn/PdATV27cOYzVkCIizjHA2QQMASNI4HaD1KtDgpkv33DZ2YcGs9K611rHhHpc2wA5jTSKILlD2cXnnHZAd5B4OLLAFczqwqbAXwF8OVnrZOCukjzvT6IuZ6aHtvhnGsSLwVwKIKuf4UIA/kZMT8AIPr54TtGR/ta9tfmdk11GxvMAcuNLn94YdF1Jnmet7hzxcGSBAaC2fv+phitUD2CM5StjvOg+4Lko2m7zsk2NUxUZy0A4N/ahsQ+Eu9TY0AOLi4qC0Z5Xu6f1DCOsXgYwNtZ1pD3CKl+ud7HuGPFw3Gfg42YUjnkP4G/g6DFYKxlwqaXRyrtyS8PNShn/jKe8AEDAWGLczQH3yysqd02K9rwZk8a/DaJrYf3PazvM9t0zcWyBAcCXl72Zie+xeDVP+XLG7Y60YGVl/e3MfB8GvrfPwAgFgHpx5dbd5dGe4sv1bCNgdcLrSjMEnKo7Q7wcXWAAOEjv3wbg5WN/3Q/m3QBqADzPjGYcvTFW3Igp4pdly7c0XMXAHYmMHcEINmjD8s31s6M9oSfIPwHknPA+RugOEC/HfgburcYf8FDY5T66W/1pdXXs7jmlrUApNYuY5jJ4agxD/8uX553Y98GHK3eN7YF6DcDoRHL34zCxumBxeX7EuxRUN7XfBcatFq3bjtp9ed5s3SHi4ahzoaMpzvMEoi079tn1lWN/flm7p/WMcFjNJWAegIsAuKK9loGI59r2sOuHILaqvAAwnMl4fP365qkLF+b09F3oDoceDCn3D9FPdofZrztAvBy/Cx2rGZPGv12S573Pl+f9SjDI2QR8C8AmACfc6V0R/tn3sYq6OjeIr09C1NwDI4M3RVpw7GKJuiRksAl+XXeCeEmBE1A2JXtfcZ53tS/PO2dohmscwFcy8CSOfcaksHHCG8PTedJ5SMahKwDE+OH69c1DIi4DNiYjgx0Q4UXdGeIlu9AmuejssYcArAewvrKlJTOzc8QlRjDrjROfSZOTGCv7/eE9swA8e0IKw9jOSn5/AwBYbdUdIV5SYAuUTZzYDWBLpGVEPB6cxO8OicoQocDdww43Z3SNNODwvTBmNPvyPY26c8RLCtzH/ZUvjMrgrIsVUT4TjycDbiYEmOhVRcHnF88sSuz6UTbhmG8MiBDxW/OyiRO7q/3t+wB4kpkn1SjQ/bozJEIKfMzyyvrJBPwYwFwQMhkMMD7ZWBIzmN28orLhBQI/YxA/s3TW5LdiXhGr90HJOxmKGaf1s/gjOLvA//O+a/8jukMkwvEFfnRbw/DOEP+OgRsx8O4kAXwBAxcQ029Xbql/BcDTHOJnlsyZPLjL9hS/luSTGfvb4jv5MBKTUjctzDnxMJudOLrAK7fuzD4S4i1HT0OMHTOmApgKF921YnN9AxGeYRjPLCmbsifqaxRtpzAn87PnwWgLCDSanXpqNOPe4pxxtv3y6jjHnom1bFPjaJfifzD4HLPHJtCrBvhpUsYzS2ZOOWHWjRWV9bUALjF7vRExNi8pLzzh1Mq63R+cFHJ365rYQLdN7v2eeVZPqpAMjv0G0qXCj1hRXgBg8DkE3A5D1a+srG9Zvrn+rhWbdxV9spxh9QUU/4fouUgPB1V3LKeEppM/B7MOLUiH8gIOLfCKyoYFDLo0Geti4PNEuBWkXl5RWf/m8sr635IyDgCoTcLqe4Lu8OORFpDC9CSsP5UYAO784FXPgmOH+dKC43ahmZlWbmlohP7ZKToBWHsHeaZlS8oLTjidkpmppinwOlJgds4kCRybdaNKdxCzOe5LrOVbGs9T+ssLWFxeBlozXO7bIy2r3bOvFE4pL6HWTeqa6Tnj2nVHsYLjdqEJvEB3hiToUoQrvzUz5/2+C5iZOGxUaMiUbCEAP/1HjqckXcsLOKzAzEwEzNedw2KHFdTli2cVbo+0cGt9+xkgDuLoZ8J09Q4ZxiW+PO+dFUTp/HM66zPwqi27v2gwvaQ7h4X8xOpr0S7k763utdYxoaCrDMxXACgBEPGqJbshYCPcoevtOk1srBz1GZiZ0nX3+XUw7iFPaHV/M1P2Nv0L4/cDeBTAo5sa3x49BEOKiTAHoHmw5xQzIYDv3J7rvSPdt7q9OavA4PlpuNMRBqiBwe8PO5AxBMCgCtzb7PwzPgDwFICntjW0D1eKy8G4HkSlsMc/2BsM46qSvPE7dQdJNjv855hi5daGKWzwK7pzWKwLQA1AT1FG8NnFvqIPExmsurljMoWN3zIl6ayx+KwLZmUsKpt4iiMn6nNMgVds2f2fYLpNd44k6mamvxOwid14YmlpQUc8gzAz1fo7FjHxvej/bhHJ1gnCd3253od0B9HJOQWurN8L4Au6c2gSBvACmJ4Kw73upvKcmA+rVDe0nw+FTQBOMT9ezPYYBq4sLfA26Q6imyMKvGLrrgIYql53jhTxSZnJFVwfywQF1c0dk2EYzwEYZVm6gT3c1W18Z07R+H7vB+UUzihwZf3PAfxMd44UFGbQdsB4TIXDjw10kzQAqPa3lQO0Ecl/7xwCY4kv3xvx3G6ncsqJHOl6+ChRLgJ/mUCr2OV+Y0Vlw3UDvcCXl70ZwANJyNYL7WKXmirlPVHab4GP3vBLNevOYRvMT2QOO+mb10+fcMI818dVthwYldEVbAEwzvI0wO9DWYd+lE5XEJnJAVtgJVvfWBB9tbvzwz9Hm08aAMomnvIRM99tcZL3wZhXkuf9rpQ3OgcUWHaf41B6YETPvf09QWWE/4AEb/wWDQM7oIzJvnzvCdPhik9L6wKv2lx/FoA83TnsiEBLV23dVRxt+bFzjatNXq3BwF0Z+z1f9uWM/1+Tx05LaX0qJRMt6HU/63fBaGDFbcRkMGgEgc8GkI80/3eIl2GoXwOYEvUJhFowot7KNEYBAl3ry/OY/UshraX1G9cASojpN6DwI9FmilyzYfdJXZl0OQHfg2yt+5q8bGvDl749s+DvkRZS2HjFlNuzpPlF91ZK22+h169f7/pg6JmjF88pGtStIysqWHm/2LAIhN/AnlfjWIIZ9y8tL/xupGW19ftPNVyhdxMYPgSg4h+5nrucdAWRmdK2wPFavqkhlxRvAfq9o4GT7FpSVhhxBsujVy7h4zjHfQdKXe3LGRdx4gExOGn9JVY8ls4uaAqr8HQAcZ38n4Ymmj0gARvJHZos5U2cFDiCm2ZO/RcZuArpPe3MYI2sqOCI7xPKdH0mxrF6QPj3Gbmey5wyY4bVpMBRLJ5dWAemFbpzpIBQRUWUz6chY0IM47zBMC705XrvJUri3d3SnBS4H+zGzwE4+qoXAt6Luow5+iGmXhh4MpiVMcWJM2ZYTQrcj6WlBR1gPKE7h04M7O5n8UAzdXSCsKgkz/tVp86YYTUp8ACUy3hSdwadCBTxbgYbd7YOA+Dr56V7CXS+02fMsJoUeABdxsi/4+hcU05khNi9IdKCrEzXTADDI7+M1xoGiorzPI0WZhOQAg/o5rKJ3QCi3u83rTH+EW36HQLPi/DwIWK6xpeXfV1pgfewxekEpMCDw3hLdwQdSNHTkR7fuZMzACrv8+xd7FJTi/M9jyUjmzhKCjwYhISmZ7UpVow/RVpwcOi+GQwe/ckDhFXBrI+mlUwa15K0dAJAml/MYB52Oe+sU3rhxrKCiOc5MxvHd58/ZOYbS/Kyn0piMNGLbIEHhU7WnSDZCPxMpMcrmBUYlzLwkmFgckm+lFcn2QIPzpm6AyQZGxS5wBc1tl1oKLX+5G7PD4qKKObbuAhzSYEHsPrZvSOD6HLYhPD0ytJZhW9FWuIa1f1y8YQJEa8PFsknu9ADCGZ0fwWAS3eO5OKI3z4DwPQJ0WerFMknBR4QX6k7QbKFVTji7rNIPU77ajUmDz3r94Qzwm8htW7qZbX6JWWFk3WHEINj+y3wmro3LStXOMO4Fc4qL8CQra+N2L7A3Z0f3mNFiZdvasgF+Cazx0115FZRP/+K1GPrb6Hvr3xhFIDruzoPvgvgTrPGXVP3ZlZ354drAWSYNaZNNC8uzd9bUcHKc179xWD4iKmAFLwAwIxDDH6VoP7ag2Ebj50nLjSy9Wfg5ZW7v0agPwLoZoWLl84sfCnRMSsqWHnPa3gCjIUmRLQXxi8J9DYT34YBjn0zsI+A3/Vg+L1SZH1sXeAVlfUbAMw99td2g+gr355V8Fq8463cuTODO9xrAHzNlIA2w0ArAeNjfJk/rMKX3zRz6r8sCSX6ZdsCP1jXPMLVGewAMLTXwx1EmL94VmHMsx0+uM1/uisUfgyEL5mX0hkY2KdYzVhcnu/XncVpbFvgFZX1VwKINFtGiIH7srr5l9fPm3xwoHHuXr9j6LDhw5aC8DMAsc6yKP7Pu+yiqUtLC2Q63iSy8ZdYvCDK7x83Abd0Z9KNKyrr/5sMbACHXux99/kH65pHqM7QuQTjUgDXADglWanT2GkqbDwE4DLdQZzEllvglRt3DmOXex+AYYN8CQNoB9B57DUe2PRnT3UElC4uK4w4j5Ywny2PA7MrowyDLy9wtKzZOPrNqhdSXssw8GPdGZzElgUm8HzdGURU0x/YvOsM3SGcwnYFvnv9jqEM0+5JK8xHGeQq0x3CKWxX4OEjhpZCbv+Z0gzgPN0ZnMJ2BWbQAt0ZRP8IOEt3BqewVYHvr2zJhOw+24AxTncCp7BVgYfwxxdDTrZIeQSy8fkF9mKrAoPoAt0RxMAY+Fh3BqewV4EZsdyPVugT9Zakwly2KjARRurOIAbGgFzUkCS2KjCD5YZZNqDAMV8NJuJjqwID9JbuBGJAR9zBobW6QziFrQpMihOecUNYjZ++4bKzD+lO4RS2KjCC4TrIN5xmGPA66TgxFN9t0dgiAlsVePGcoiNgelR3DnvjA8T8U4sGf3zJzCkNFo0tIrBVgQEg7Fa/AnBkwCeKyJj+fPhw58Mw+VAPA/tcQdctZo4pBma7At9UmvcOEd2mO4d90dPfXzitE6DvmThoGIRrb7wsL2DimGIQbFdgAFg0M//3AMuudOw+OPmw+68AsKSs4GkwLTNhTAOMG5fOKtxmwlgiRrYsMBFx+9CDNwBYozuLnTDoLwsX5vQc//vJh1+7mQhrExiyE8DVS8oL5f9BE9tPLbO8cveNBPo1gJN0Z0l1zJiztLxw06cfY1q1teHHzPg5gCExDLeLWH1DppLVy5Zb4N6Wlk1+iMKhiWD8koFW3XlS2IdBGl7d90Ei4sWzCn9lEOUDWAcgNMA49cy4rv2lgi9KefWz/Ra4t4oKVtnnNUxj5gUAzQdwmu5MKeSxJWWF1wz0pAc3N3vdqqeUGZNBlA0mYhj7FaMZblft4tL8vckIKwYnrQrc16qt9TnhMF9BRFcDmKg7j1bMc5eUT35WdwxhrrQucG+9ynwVgC/ozpNkHx/5+Mi4o4ePRDpxTIF7O15mRWohg8/RncdyzE8sKZ98te4YwnyOLHBvn5RZ0WxmTNWdxwrMtGBpecEzunMI8zm+wL0t29R4piKeA+IrAFyoO49Jjgxz0bjrSgvkWuo0JAWOYvmW3f+PDHXZsTJPg23/reipJWUFzrtZuUPY9E2ZXA9s3nWGG665Ni3zVUvKCtfpDiGsYac3Yko4eiNw4/JjZb4AqX0yTFdGMGucXGCfvqTACVi+sf5U5ab5zMZ8gC5C6pX5z0vKCufpDiGsIwU2yYObm70u1XM5mOYD+DIAl+5McvJG+pMCW+Dhyl1jg6TmMWM+gEsA6LhTQVP7SwUFFRVkaFi3SBIpsMUeqHnxFFdP5mUEmg9wMWK74idehoJxyaKyKc8nYV1CIylwEq3ZsPuk7kx1KcALAPgAZFmxHgZ+sbSs8GdWjC1SixRYk/srXxiVyZmzmWgBgJkAhpoxLgEPLJpVcDMRsRnjidQmBU4Bj25rGH44xOVEtADgMgDD4ximC0y3LikvuM/sfCJ1SYFTzMqNO4ex2z0TBi8A0WxgwPtBhQH6k2L+6aLywteTkVGkDilwCltT92ZWd+dHPgKXMKMAhFOPLTpCwGsg+pti/OnGsoJ3tQYVQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhBBCCCGEEHH6/wXOXW9gEVklAAAAAElFTkSuQmCC",_hoisted_1$5={class:"bkflow-plugin-group"},_hoisted_2$4={class:"plugin-content-wrapper"},_hoisted_3$3={class:"tags-list"},_hoisted_4$3=["onClick"],_hoisted_5={class:"plugins-list"},_hoisted_6={class:"plugin-icon-wrapper"},_hoisted_7=["src"],_hoisted_8={class:"plugin-info-wrapper"},_hoisted_9={class:"plugin-name"},_hoisted_10=["title"],_hoisted_11={class:"managers-text"},_sfc_main$5=vue.defineComponent({__name:"bkflow-plugin-group",props:{bkflowPluginTags:{},activedTag:{}},emits:["selectBkflowPlugin"],setup(e,{emit:t}){const n=useFlowApiConfig(),o=e,a=t,r=vue.ref([]),s=vue.ref(o.activedTag||0),i=vue.ref([]),l=vue.ref(!1),c=[{id:"name",name:"插件名称"}];vue.onMounted(()=>{m()});const u=h=>{s.value=h,m()},m=async()=>{if(l.value=!0,i.value=[],s.value===0){const h=await n.fetchBkFlowInnerPluginList();i.value=h.map(p=>({code:p.code,name:p.name,logo_url:pluginDefaultIcon,desc:p.desc||"--",managers:["BkFlow"],version:p.version}))}else{const h=await n.fetchBkFlowThirdPartyPluginList(s.value);i.value=h.map(p=>({code:p.code,name:p.name,logo_url:p.logo_url,desc:p.introduction||"--",managers:p.managers,version:"1.0.0"}))}l.value=!1},y=h=>{const p=i.value.find(g=>g.code===h);if(p){const{code:g,name:v,version:w}=p;a("selectBkflowPlugin",{code:s.value===0?g:"remote_plugin",name:v,data:s.value===0?{}:{plugin_code:{hook:!1,value:g}},version:w})}};return(h,p)=>{const g=vue.resolveComponent("bk-button"),v=vue.resolveDirective("bk-loading");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$5,[vue.createVNode(_sfc_main$c,{modelValue:r.value,"onUpdate:modelValue":p[0]||(p[0]=w=>r.value=w),options:c,placeholder:"搜索插件名称"},null,8,["modelValue"]),vue.createElementVNode("div",_hoisted_2$4,[vue.createElementVNode("div",_hoisted_3$3,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.bkflowPluginTags,w=>(vue.openBlock(),vue.createElementBlock("div",{key:w.id,class:vue.normalizeClass(["tag-item",{actived:s.value===w.id}]),onClick:f=>u(w.id)},vue.toDisplayString(w.name),11,_hoisted_4$3))),128))]),vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_5,[i.value.length>0?(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:0},vue.renderList(i.value,w=>(vue.openBlock(),vue.createElementBlock("div",{key:w.code,class:"plugin-item"},[vue.createElementVNode("div",_hoisted_6,[vue.createElementVNode("img",{src:w.logo_url||vue.unref(pluginDefaultIcon),alt:"plugin-icon"},null,8,_hoisted_7)]),vue.createElementVNode("div",_hoisted_8,[vue.createElementVNode("h4",_hoisted_9,vue.toDisplayString(w.name),1),vue.createElementVNode("p",{class:"plugin-desc",title:w.desc},vue.toDisplayString(w.desc),9,_hoisted_10),vue.createElementVNode("div",_hoisted_11,vue.toDisplayString(w.managers?w.managers.join(","):"BkFlow")+" 提供",1)]),vue.createVNode(g,{theme:"primary",size:"small",onClick:f=>y(w.code)},{default:vue.withCtx(()=>[...p[1]||(p[1]=[vue.createTextVNode("选择",-1)])]),_:1},8,["onClick"])]))),128)):(vue.openBlock(),vue.createBlock(EmptyException,{key:1,title:"该分类暂无插件"}))])),[[v,{loading:l.value}]])])])}}}),BkFlowPluginGroup=_export_sfc(_sfc_main$5,[["__scopeId","data-v-9ce4f434"]]),_hoisted_1$4={class:"plugin-select-slider"},_hoisted_2$3={key:0,class:"plugin-select-content"},_sfc_main$4=vue.defineComponent({__name:"index",props:{show:{type:Boolean,default:!1},flowId:{},actived:{default:""},bkflowTag:{default:0},pluginGroupList:{default:()=>[]}},emits:["close","update:show","select"],setup(e,{emit:t}){const n={data:DataPluginGroup,agent:AgentPluginGroup,model:ModelPluginGroup,bkflow:BkFlowPluginGroup,output:OutputPluginGroup},o=e,a=useFlowApiConfig(),r=t,s=vue.ref(o.actived),i=vue.shallowRef([]),l=vue.ref(!1),c=vue.computed(()=>n[s.value]||null),u=vue.computed(()=>o.pluginGroupList.find(w=>w.name===s.value)?.properties||{}),m=vue.computed(()=>o.pluginGroupList.find(w=>w.name==="bkflow")?.children||[]);vue.watch(()=>o.show,()=>{o.show&&(s.value=o.actived,s.value!=="bkflow"&&y())});const y=async()=>{if(!a?.fetchCategoryPlugins){console.warn("fetchCategoryPlugins is not provided in api");return}l.value=!0;try{const w=await a.fetchCategoryPlugins(s.value),f=o.pluginGroupList.find(_=>_.name===s.value);f&&w.forEach(_=>{_.category_id=f.id}),i.value=w}catch(w){console.error(w)}finally{l.value=!1}},h=w=>{s.value=w,w!=="bkflow"&&y()},p=w=>{const f=i.value.find(_=>_.id===w);r("select","projectPlugin",f)},g=w=>{r("select","bkflowPlugin",w)},v=()=>{r("close"),r("update:show",!1)};return(w,f)=>{const _=vue.resolveComponent("bk-sideslider"),d=vue.resolveDirective("bk-loading");return vue.openBlock(),vue.createBlock(_,{title:"节点选择","is-show":o.show,width:1200,"esc-close":!1,"before-close":v},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$4,[vue.createVNode(PluginGroupsAside,{actived:s.value,"onUpdate:actived":f[0]||(f[0]=C=>s.value=C),groups:o.pluginGroupList,onChange:h},null,8,["actived","groups"]),o.show?vue.withDirectives((vue.openBlock(),vue.createElementBlock("section",_hoisted_2$3,[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(c.value),{plugins:i.value,"bkflow-plugin-tags":m.value,"actived-tag":o.bkflowTag,properties:u.value,onSelect:p,onSelectBkflowPlugin:g},null,40,["plugins","bkflow-plugin-tags","actived-tag","properties"]))])),[[d,{loading:l.value}]]):vue.createCommentVNode("",!0)])]),_:1},8,["is-show"])}}}),PluginSelectPanel=_export_sfc(_sfc_main$4,[["__scopeId","data-v-043824f1"]]),_hoisted_1$3={class:"flow-canvas-container"},_sfc_main$3=vue.defineComponent({__name:"index",props:{mode:{},flowId:{},pipelineTree:{},spaceFlowConfig:{},systemVariables:{default:()=>[]},pluginGroupList:{default:()=>[]},thumbnail:{type:Boolean,default:!1}},emits:["change"],setup(e,{expose:t,emit:n}){const o=e,a=n,r=vue.ref(),s=vue.ref(),i=vue.ref({show:!1,nodeId:"",edgeId:"",condition:null,hasDefaultBranch:!1,isDefault:!1}),l=vue.ref({show:!1,node:null}),c=vue.ref({show:!1,actived:o.pluginGroupList[0]?.name||"",bkflowTag:0,node:null}),u=k=>{if(o.thumbnail)return;const x=o.pipelineTree.activities[k.id];x&&(l.value={show:!0,node:x})},m=k=>{if(o.thumbnail)return;const x=o.pipelineTree.flows[k.id];if(x){const N=o.pipelineTree.gateways[x.source];if(N){const S=!!N.default_condition&&typeof N.default_condition.flow_id=="string";i.value.hasDefaultBranch=S,i.value.nodeId=x.source,i.value.edgeId=k.id;const{default_condition:F,conditions:j}=N;F&&F.flow_id===k.id?(i.value.condition=F,i.value.isDefault=!0):j&&j[k.id]&&(i.value.condition=j[k.id],i.value.isDefault=!1),i.value.show=!0}}},y=(k,x)=>{const S={x:o.pipelineTree.location.find(j=>j.id===k).x+200,y:_(k,x)},F=`node${uuid()}`;C(k,{id:F,type:x,position:S,data:{id:F}})},h=(k,x,N)=>{const F=o.pluginGroupList.find(W=>W.name===N).children.find(W=>W.id===x);if(!F)return;const{id:j,name:Q,alias:ee,meta_url:J,api_key:E="incident",category_id:z}=F,G={x:o.pipelineTree.location.find(W=>W.id===k).x+200,y:_(k,"tasknode")},H=`node${uuid()}`;C(k,{id:H,type:"tasknode",position:G,data:{id:H,name:"",component:{code:"",data:{},version:""}}}),setTimeout(()=>{w(H);const W=o.pipelineTree.activities[H];if(W){const q={...W,name:ee||Q,component:{code:"uniform_api",data:{},version:"v2.0.0",api_meta:{id:j,name:Q,alias:ee||Q,meta_url:J,api_key:E,category:{id:z,name:N}}}};l.value={show:!0,node:q}}},100)},p=(k,x,N=0)=>{const F={x:o.pipelineTree.location.find(Q=>Q.id===k).x+200,y:_(k,"tasknode")},j=`node${uuid()}`;C(k,{id:j,type:"tasknode",position:F,data:{id:j,name:"",component:{code:"",data:{},version:""}}}),setTimeout(()=>{w(j);const Q=o.pipelineTree.activities[j];Q&&(c.value={show:!0,actived:x,bkflowTag:N,node:Q})},100)},g=k=>{const{id:x,type:N,position:S,data:F}=f(k);d(x,N,S,F)},v=k=>{const{id:x,type:N,position:S,data:F}=f(k);S.y=_(k,N),C(k,{id:x,type:N,position:S,data:F}),setTimeout(()=>{w(x)},100)},w=k=>{const x=r.value.graph.getCellById(k),{x:N,y:S}=x.position(),F=x.getBBox().width,j=o.pipelineTree.activities[k];if(j&&j.outgoing){const Q=o.pipelineTree.flows[j.outgoing].target,ee=r.value.graph.getCellById(Q),{x:J,y:E}=ee.position(),z=J-N;if(z<F+50&&Math.abs(E-S)<40){const R=J+F-z+50;ee.position(R,E);const G=[...o.pipelineTree.location],H=G.findIndex(W=>W.id===Q);H>-1&&(G[H]={...G[H],x:R},B({...o.pipelineTree,location:G}))}}},f=k=>{const x=`node${uuid()}`,N=o.pipelineTree.location.find(Q=>Q.id===k),S={x:N.x+200,y:N.y};let F,j={};if(o.pipelineTree.activities[k])j={...o.pipelineTree.activities[k],id:x,incoming:[],outgoing:""},F="tasknode";else{const Q=o.pipelineTree.gateways[k];F=Q.type==="ExclusiveGateway"?"branchgateway":Q.type.toLowerCase(),j={incoming:[],outgoing:Array.isArray(Q.outgoing)?[]:""}}return{id:x,type:F,position:S,data:j}},_=(k,x)=>{const N=o.pipelineTree.location.find(j=>j.id===k),S=N.type,F=N.y;if(S.includes("gateway")){const j=o.pipelineTree.gateways[k];return Array.isArray(j.outgoing)&&j.outgoing.length>0?j.outgoing.reduce((ee,J)=>{const E=o.pipelineTree.flows[J].target,z=o.pipelineTree.location.find(R=>R.id===E);return Math.max(ee,z.y)},0)+100:x.includes("gateway")?F:F-10}return x.includes("gateway")?F+10:F},d=(k,x,N,S={})=>{const F=x.includes("gateway"),j=r.value.graph.addNode({id:k,...N,shape:"custom-node",width:F?34:154,height:F?34:54,data:{type:x}});return j.setZIndex(o.pipelineTree.location.length),F?r.value.createGateway(k,x,N,S):r.value.createActivity(k,N,S),j},C=(k,x)=>{const N=d(x.id,x.type,x.position,x.data);setTimeout(()=>{b(k,N.id)},10)},b=(k,x)=>{const{activities:N,gateways:S,start_event:F,end_event:j,location:Q}=o.pipelineTree,ee=Q.find(R=>R.id===k),J=Q.find(R=>R.id===x);if(!ee||!J)return;let E="";N[k]?E=N[k].outgoing:S[k]?E=S[k].outgoing:F.id===k&&(E=F.outgoing);const z=A(E,k,x);r.value.insertEdgesToCanvas(z)},A=(k,x,N)=>{const S=[];if(Array.isArray(k)){let F="Right";o.pipelineTree.gateways[x]&&k.length>0&&(F="Bottom"),S.push({id:`line${uuid()}`,source:{arrow:F,id:x},target:{arrow:"Left",id:N}})}else if(k==="")S.push({id:`line${uuid()}`,source:{arrow:"Right",id:x},target:{arrow:"Left",id:N}});else{const F=o.pipelineTree.flows[k];F&&(r.value.deleteEdges([k]),S.push({id:`line${uuid()}`,source:{arrow:"Right",id:x},target:{arrow:"Left",id:N}},{id:`line${uuid()}`,source:{arrow:"Right",id:N},target:{arrow:"Left",id:F.target}}))}return S},V=k=>{const x=[];if(o.pipelineTree.activities[k]){const N=o.pipelineTree.activities[k];x.push(...N.incoming),N.outgoing&&x.push(N.outgoing)}else if(o.pipelineTree.gateways[k]){const N=o.pipelineTree.gateways[k];x.push(...N.incoming),Array.isArray(N.outgoing)?x.push(...N.outgoing):N.outgoing&&x.push(N.outgoing)}r.value.deleteEdges(x)},O=k=>{r.value.deleteNode(k)},D=k=>{r.value.deleteEdges([k.id])},L=(k,x)=>{const N={...o.pipelineTree.gateways};if(N[i.value.nodeId]){const S=lodash.cloneDeep(N[i.value.nodeId]),F=S.conditions||{},{name:j,tag:Q,evaluate:ee="",loc:J}=k,E={name:j,tag:Q,evaluate:ee.trim()};J&&(E.loc=J),x?(delete E.evaluate,E.flow_id=i.value.edgeId,S.default_condition=E):F[i.value.edgeId]=E,!i.value.isDefault&&x?F[i.value.edgeId]&&delete F[i.value.edgeId]:i.value.isDefault&&!x&&S.default_condition&&delete S.default_condition,S.conditions=F,N[i.value.nodeId]=S}B({...o.pipelineTree,gateways:N}),setTimeout(()=>{r.value.updateEdgeLabel(i.value.edgeId)},10)},Z=()=>{if(!l.value.node)return;const k=lodash.cloneDeep(l.value.node);let x="";k.component.api_meta?.category.name?x=k.component.api_meta?.category.name:x=o.pluginGroupList[0]?.name||"",c.value={show:!0,actived:x,bkflowTag:0,node:k},l.value={show:!1,node:null}},I=(k,x)=>{if(!c.value.node)return;const N=lodash.cloneDeep(c.value.node);if(k==="projectPlugin"){const{id:S,name:F,alias:j,meta_url:Q,api_key:ee="incident",category:J,category_id:E}=x;N.component={code:"uniform_api",data:{},version:"v2.0.0",api_meta:{id:S,name:F,alias:j||F,meta_url:Q,api_key:ee,category:{id:E,name:J}}},N.name=j}else{const{code:S,data:F,version:j,name:Q}=x;N.component={code:S,data:F,version:j},N.name=Q}l.value={show:!0,node:N},c.value.show=!1},T=(k,x)=>{const N={...o.pipelineTree.activities},S=[...o.pipelineTree.location],F=S.findIndex(j=>j.id===k.id);if(N[k.id]=k,F>-1){const j=S[F];j.name=k.name,S[F]=j}l.value={show:!1,node:null},B({...o.pipelineTree,activities:N,location:S,constants:x}),setTimeout(()=>{r.value.updateNodeData(k.id,k)},10)},B=k=>{a("change",k)};return t({updateNodeInputParams:k=>{s.value&&l.value.show&&s.value.updateNodeInputParams?.(k)}}),(k,x)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$3,[vue.createVNode(vue.unref(BkFlowCanvas),{ref_key:"bkflowCanvasRef",ref:r,editable:o.mode==="edit","pipeline-tree":o.pipelineTree,"hide-tool":o.thumbnail,onNodeClick:u,onEdgeLabelClick:m,onUpdatePipelineTree:B,onDeleteEdge:D},{customNode:vue.withCtx(()=>[vue.createVNode(CustomNode,{editable:o.mode==="edit","plugin-group-list":o.pluginGroupList,onAddNode:y,onAddPlugin:h,onAddNodeAndSelectPlugin:p,onDeleteBtnClick:O,onCopyNodeClick:g,onCopyNodeAndInsertClick:v,onDetachEdgesClick:V},null,8,["editable","plugin-group-list"])]),_:1},8,["editable","pipeline-tree","hide-tool"]),!o.thumbnail&&i.value.condition?(vue.openBlock(),vue.createBlock(BranchConditionPanel,{key:0,show:i.value.show,"onUpdate:show":x[0]||(x[0]=N=>i.value.show=N),condition:i.value.condition,"has-default-branch":i.value.hasDefaultBranch,"is-default":i.value.isDefault,editable:o.mode==="edit",onConfirm:L},null,8,["show","condition","has-default-branch","is-default","editable"])):vue.createCommentVNode("",!0),!o.thumbnail&&l.value.node?(vue.openBlock(),vue.createBlock(NodeConfigPanel,{key:1,ref_key:"nodeConfigPanelRef",ref:s,show:l.value.show,"onUpdate:show":x[1]||(x[1]=N=>l.value.show=N),node:l.value.node,editable:o.mode==="edit","system-variables":o.systemVariables,constants:o.pipelineTree.constants,onSelectPlugin:Z,onConfirm:T},{inputParams:vue.withCtx(N=>[vue.renderSlot(k.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps(N)),void 0,!0)]),_:3},8,["show","node","editable","system-variables","constants"])):vue.createCommentVNode("",!0),o.thumbnail?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(PluginSelectPanel,{key:2,show:c.value.show,"onUpdate:show":x[2]||(x[2]=N=>c.value.show=N),"flow-id":o.flowId,actived:c.value.actived,"bkflow-tag":c.value.bkflowTag,"plugin-group-list":o.pluginGroupList,onSelect:I},null,8,["show","flow-id","actived","bkflow-tag","plugin-group-list"]))]))}}),FlowCanvas=_export_sfc(_sfc_main$3,[["__scopeId","data-v-a71d82f3"]]),setContext=(e={})=>{window.$={context:{project:void 0,site_url:"",exec_env:"NODE_CONFIG",input_form:{inputs:void 0},output_form:{outputs:void 0,state:void 0},bk_plugin_api_host:{},get(t){return window.$context[t]},canSelectBiz(){return!1},getConstants(){return e},getOutput(t){const{outputs:n}=window.$context.output_form;if(n&&Array.isArray(n)){const o=window.$context.output_form.outputs.find(a=>a.key===t);return o?o.value:null}return null},getInput(t){return window.$context.input_form.inputs&&window.$context.input_form.inputs[t]?window.$context.input_form.inputs[t]:null},getNodeStatus(){const{state:t}=window.$context.output_form;return t||null}}}},_hoisted_1$2={class:"execute-flow-slider"},_hoisted_2$2={class:"flow-name-wrapper"},_hoisted_3$2={class:"form-params-wrapper"},_hoisted_4$2={key:0,class:"sideslider-footer-buttons"},_sfc_main$2=vue.defineComponent({__name:"execute",props:{flowId:{},show:{type:Boolean},editable:{type:Boolean,default:!0},showFlowEntry:{type:Boolean,default:!1},apiConfig:{},onExecuteSuccess:{}},emits:["confirm","close","update:show"],setup(e,{emit:t}){const n=e,o=t,a=provideFlowApiConfig(n.apiConfig);setContext();const r={name:[{required:!0,message:"请输入任务名称",trigger:"blur"}]},s=vue.shallowRef(null),i=vue.shallowRef(!0),l=vue.ref({}),c=vue.shallowRef([]),u=vue.ref(),m=vue.ref({name:""}),y=vue.shallowRef(!1);vue.watch(()=>n.show,w=>{w&&h()});const h=async()=>{i.value=!0;const w=await a.fetchFlowDetail(n.flowId);s.value=w,m.value.name=`${w.name}_${dayjs().format("YYYYMMDDHHmmss")}`;const f=[],_={};Object.values(w.pipeline_tree.constants).forEach(d=>{if(typeof d!="object"||d===null)return;const C=d;C.source_type!=="system"&&C.show_type==="show"&&f.push(C),"value"in C&&(_[C.key]=C.value)}),c.value=f,l.value=_,i.value=!1},p=()=>{n.onExecuteSuccess},g=async()=>{if(!a.createFlowTask||!a.executeFlowTask){console.warn("createFlowTask or executeFlowTask is not provided in api");return}if(await u.value?.validate())try{y.value=!0;const f=await a.createFlowTask({template_id:n.flowId,creator:"admin",name:m.value.name,description:"create by bkincident",constants:l.value});f.data.id&&(await a.executeFlowTask({action:"start",task_id:f.data.id,resource_type:"TASK",resource_id:f.data.id,permission_type:"OPERATE"}),BkMessage({theme:"success",message:"执行成功"}),o("confirm"),v(),n.onExecuteSuccess&&n.onExecuteSuccess(f.data.id,f.data.template_id))}catch(f){console.error(f)}finally{y.value=!1}},v=()=>{c.value=[],l.value={},o("close"),o("update:show",!1)};return(w,f)=>{const _=vue.resolveComponent("bk-input"),d=vue.resolveComponent("bk-form-item"),C=vue.resolveComponent("bk-form"),b=vue.resolveComponent("bk-button"),A=vue.resolveComponent("bk-sideslider"),V=vue.resolveDirective("bk-tooltips"),O=vue.resolveDirective("bkloading");return vue.openBlock(),vue.createBlock(A,{title:"执行流程","is-show":n.show,width:700,"quick-close":!1,"esc-close":!1,"before-close":v},{footer:vue.withCtx(()=>[i.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$2,[vue.createVNode(b,{theme:"primary",loading:y.value,onClick:g},{default:vue.withCtx(()=>[...f[1]||(f[1]=[vue.createTextVNode("确定",-1)])]),_:1},8,["loading"]),vue.createVNode(b,{onClick:v},{default:vue.withCtx(()=>[...f[2]||(f[2]=[vue.createTextVNode("取消",-1)])]),_:1})]))]),default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_1$2,[vue.createVNode(C,{ref_key:"formRef",ref:u,model:m.value,rules:r,"label-width":100},{default:vue.withCtx(()=>[e.showFlowEntry?(vue.openBlock(),vue.createBlock(d,{key:0,label:"排障流程",required:""},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$2,[vue.createVNode(_,{readonly:"","model-value":s.value?.name},null,8,["model-value"]),vue.withDirectives(vue.createVNode(vue.unref(icon.Share),{class:"link-icon",onClick:p},null,512),[[V,"查看排障流程",void 0,{top:!0}]])])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(d,{label:"新建任务名",property:"name",required:""},{default:vue.withCtx(()=>[vue.createVNode(_,{modelValue:m.value.name,"onUpdate:modelValue":f[0]||(f[0]=D=>m.value.name=D),placeholder:"请输入任务名称","show-word-limit":"",maxlength:100},null,8,["modelValue"])]),_:1}),vue.createVNode(d,{label:"请求参数",property:"inputParams",description:"流程的入参"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3$2,[c.value.length===0?(vue.openBlock(),vue.createBlock(EmptyException,{key:0,title:"暂无参数"})):vue.createCommentVNode("",!0)])]),_:1})]),_:1},8,["model"])])),[[O,{loading:i.value}]])]),_:1},8,["is-show"])}}}),FlowExecute=_export_sfc(_sfc_main$2,[["__scopeId","data-v-ca06b76c"]]),execute=Object.freeze(Object.defineProperty({__proto__:null,default:FlowExecute},Symbol.toStringTag,{value:"Module"})),_hoisted_1$1={key:0,class:"operate-area"},_hoisted_2$1={class:"operate-btns"},_hoisted_3$1={class:"flow-view-page-content"},_hoisted_4$1={key:1,class:"flow-view-thumbnail"},_sfc_main$1=vue.defineComponent({__name:"view",props:{flowId:{},apiConfig:{},permissions:{default:()=>({canEdit:!0})},onEdit:{},onBack:{},thumbnail:{type:Boolean,default:!1}},emits:["edit","back"],setup(e,{emit:t}){const n=vue.useSlots(),o=e,a=provideFlowApiConfig(o.apiConfig),r=t;setContext();const s=vue.shallowRef(!1),i=vue.shallowRef(null),l=vue.shallowRef(!0),c=vue.shallowRef({}),u=vue.shallowRef(!0),m=vue.shallowRef([]),y=vue.shallowRef(!1);vue.onMounted(()=>{h(),p(),g()});const h=async()=>{l.value=!0;try{const _=await a.fetchFlowDetail(String(o.flowId));i.value=_}catch(_){console.error(_)}finally{l.value=!1}},p=async()=>{u.value=!0;try{const _=await a.fetchSpaceFlowConfig(String(o.flowId));c.value=_}catch(_){console.error(_)}finally{u.value=!1}},g=async()=>{y.value=!0;try{const _=await a.fetchSystemVariables(String(o.flowId));m.value=_}catch(_){console.error(_)}finally{y.value=!1}},v=()=>{typeof o.onBack=="function"?o.onBack():r("back")},w=()=>{typeof o.onEdit=="function"?o.onEdit():r("edit")},f=(_,d)=>{};return(_,d)=>{const C=vue.resolveComponent("bk-button"),b=vue.resolveDirective("bk-tooltips"),A=vue.resolveDirective("bkloading");return o.thumbnail?vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_4$1,[i.value?(vue.openBlock(),vue.createBlock(FlowCanvas,{key:0,mode:"view","flow-id":e.flowId,"pipeline-tree":i.value.pipeline_tree,"space-flow-config":c.value,"system-variables":m.value,thumbnail:!0},{inputParams:vue.withCtx(V=>[vue.renderSlot(_.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps(V)),void 0,!0)]),_:3},8,["flow-id","pipeline-tree","space-flow-config","system-variables"])):vue.createCommentVNode("",!0)])),[[A,{loading:l.value||u.value}]]):(vue.openBlock(),vue.createBlock(ContainerLayout,{key:0,title:"查看流程",desc:i.value?.name,"show-back-icon":!0,onBack:v},vue.createSlots({extend:vue.withCtx(()=>[i.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1,[vue.createVNode(FlowInfoSliders,{editable:!1,"flow-data":i.value,"system-variables":m.value,"fetch-user-api":vue.unref(a).fetchUserApi},null,8,["flow-data","system-variables","fetch-user-api"]),vue.createElementVNode("div",_hoisted_2$1,[vue.createVNode(C,{theme:"primary",class:vue.normalizeClass([e.permissions.canEdit?"":"is-disabled"]),onClick:w},{default:vue.withCtx(()=>[...d[2]||(d[2]=[vue.createTextVNode(" 编辑 ",-1)])]),_:1},8,["class"]),vue.createVNode(C,{theme:"primary",outline:"",onClick:d[0]||(d[0]=V=>s.value=!0)},{default:vue.withCtx(()=>[...d[3]||(d[3]=[vue.createTextVNode("执行流程",-1)])]),_:1}),vue.withDirectives((vue.openBlock(),vue.createBlock(C,{disabled:!0},{default:vue.withCtx(()=>[...d[4]||(d[4]=[vue.createTextVNode("调试",-1)])]),_:1})),[[b,"功能开发中"]])])])):vue.createCommentVNode("",!0)]),default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_3$1,[i.value?(vue.openBlock(),vue.createBlock(FlowCanvas,{key:0,mode:"view","flow-id":e.flowId,"pipeline-tree":i.value.pipeline_tree,"space-flow-config":c.value,"system-variables":m.value,thumbnail:o.thumbnail},{inputParams:vue.withCtx(V=>[vue.renderSlot(_.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps(V)),void 0,!0)]),_:3},8,["flow-id","pipeline-tree","space-flow-config","system-variables","thumbnail"])):vue.createCommentVNode("",!0)])),[[A,{loading:l.value||u.value}]]),i.value?(vue.openBlock(),vue.createBlock(FlowExecute,{key:0,"flow-id":e.flowId,show:s.value,"api-config":o.apiConfig,onClose:d[1]||(d[1]=V=>s.value=!1),onConfirm:f},null,8,["flow-id","show","api-config"])):vue.createCommentVNode("",!0)]),_:2},[vue.unref(n).header?{name:"header",fn:vue.withCtx(()=>[vue.renderSlot(_.$slots,"header",{},void 0,!0)]),key:"0"}:void 0]),1032,["desc"]))}}}),view=_export_sfc(_sfc_main$1,[["__scopeId","data-v-09d2822a"]]),view$1=Object.freeze(Object.defineProperty({__proto__:null,default:view},Symbol.toStringTag,{value:"Module"})),_hoisted_1={key:0,class:"operate-area"},_hoisted_2={class:"flow-actions"},_hoisted_3={class:"operate-btns"},_hoisted_4={class:"flow-edit-page-content"},_sfc_main=vue.defineComponent({__name:"edit",props:{flowId:{},apiConfig:{},permissions:{default:()=>({canSave:!0})},onSave:{},onSaveSuccess:{},onBack:{},onBeforeLeave:{}},emits:["save","saveSuccess","back"],setup(e,{expose:t,emit:n}){const o=e,a=provideFlowApiConfig(o.apiConfig),r=n;setContext();const s=vue.shallowRef(null),i=vue.shallowRef(!0),l=vue.ref(),c=vue.ref(),u=vue.shallowRef(!0),m=vue.shallowRef({}),y=vue.shallowRef(!1),h=vue.shallowRef([]),p=vue.shallowRef(!1),g=vue.shallowRef([]),v=vue.shallowRef(!1),w=vue.shallowRef(!1),f=vue.computed(()=>String(o.flowId)),_=vue.computed(()=>i.value||p.value||u.value);vue.onMounted(()=>{d(),C(),b(),A()});const d=async()=>{i.value=!0;try{const B=await a.fetchFlowDetail(f.value);s.value=B}catch(B){console.error(B)}finally{i.value=!1}},C=async()=>{u.value=!0;try{const B=await a.fetchSpaceFlowConfig(f.value);m.value=B}catch(B){console.error(B)}finally{u.value=!1}},b=async()=>{v.value=!0;try{const B=await a.fetchSystemVariables(f.value);g.value=B}catch(B){console.error(B)}finally{v.value=!1}},A=async()=>{p.value=!0;try{const B=await a.fetchAllPluginGroups();h.value=B}catch(B){console.error(B)}finally{p.value=!1}},V=()=>{o.onBack?o.onBack():r("back")},O=()=>{l.value?.openBasicSetting()},D=B=>{s.value=B},L=B=>{s.value={...s.value,pipeline_tree:B},w.value=!0},Z=B=>{c.value&&c.value.updateNodeInputParams?.(B)},I=()=>{if(!o.permissions.canSave)return;const B=validatePipelineTree(s.value?.pipeline_tree);B.valid?T():bkuiVue.Message({theme:"error",message:B.message})},T=async()=>{const{name:B,desc:$,notify_config:k,pipeline_tree:x,triggers:N}=s.value,S={name:B,desc:$,notify_config:k,pipeline_tree:x,triggers:N};try{y.value=!0,await a.saveFlow(f.value,S),w.value=!1,bkuiVue.Message({theme:"success",message:"保存成功"}),o.onSave&&o.onSave(s.value),o.onSaveSuccess&&o.onSaveSuccess(),r("save",s.value),r("saveSuccess")}catch(F){console.error(F)}finally{y.value=!1}};return t({isFlowEdited:vue.computed(()=>w.value),updateNodeInputParams:Z}),(B,$)=>{const k=vue.resolveComponent("bk-button"),x=vue.resolveDirective("bk-tooltips"),N=vue.resolveDirective("bkloading");return vue.openBlock(),vue.createBlock(ContainerLayout,{title:"编辑流程",desc:s.value?.name,"show-back-icon":!0,"show-edit-icon":!0,onBack:V,onEdit:O},{header:vue.withCtx(()=>[vue.renderSlot(B.$slots,"header",{},void 0,!0)]),extend:vue.withCtx(()=>[s.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1,[vue.createElementVNode("div",_hoisted_2,[vue.createVNode(FlowInfoSliders,{ref_key:"flowInfoSlidersRef",ref:l,"flow-data":s.value,"system-variables":g.value,"fetch-user-api":vue.unref(a).fetchUserApi,onChange:D},null,8,["flow-data","system-variables","fetch-user-api"]),vue.createElementVNode("div",_hoisted_3,[vue.createVNode(k,{class:vue.normalizeClass([e.permissions.canSave?"":"is-disabled"]),theme:"primary",loading:y.value,onClick:I},{default:vue.withCtx(()=>[...$[0]||($[0]=[vue.createTextVNode(" 保存 ",-1)])]),_:1},8,["class","loading"]),vue.withDirectives((vue.openBlock(),vue.createBlock(k,{disabled:!0},{default:vue.withCtx(()=>[...$[1]||($[1]=[vue.createTextVNode("调试",-1)])]),_:1})),[[x,"功能开发中"]])])])])):vue.createCommentVNode("",!0)]),default:vue.withCtx(()=>[vue.withDirectives((vue.openBlock(),vue.createElementBlock("div",_hoisted_4,[!_.value&&s.value?(vue.openBlock(),vue.createBlock(FlowCanvas,{key:0,ref_key:"flowCanvasRef",ref:c,mode:"edit","flow-id":f.value,"pipeline-tree":s.value.pipeline_tree,"space-flow-config":m.value,"plugin-group-list":h.value,"system-variables":g.value,onChange:L},{inputParams:vue.withCtx(S=>[vue.renderSlot(B.$slots,"inputParams",vue.normalizeProps(vue.guardReactiveProps({...S,updateNodeInputParams:Z})),void 0,!0)]),_:3},8,["flow-id","pipeline-tree","space-flow-config","plugin-group-list","system-variables"])):vue.createCommentVNode("",!0)])),[[N,{loading:_.value}]])]),_:3},8,["desc"])}}}),edit=_export_sfc(_sfc_main,[["__scopeId","data-v-7edd9227"]]),edit$1=Object.freeze(Object.defineProperty({__proto__:null,default:edit},Symbol.toStringTag,{value:"Module"})),index={FlowView:()=>Promise.resolve().then(()=>view$1),FlowEdit:()=>Promise.resolve().then(()=>edit$1),FlowExecute:()=>Promise.resolve().then(()=>execute)};exports.FlowEdit=edit;exports.FlowExecute=FlowExecute;exports.FlowView=view;exports.PLUGIN_GROUP_ICON_MAP=PLUGIN_GROUP_ICON_MAP;exports.default=index;exports.getUniformApiPluginFormValue=getUniformApiPluginFormValue$1;exports.getVariableDefaultConfig=getVariableDefaultConfig;exports.parentClsContains=parentClsContains;exports.provideFlowApiConfig=provideFlowApiConfig;exports.useFlowApi=useFlowApi;exports.useFlowApiConfig=useFlowApiConfig;exports.useFlowEditApiConfig=useFlowEditApiConfig;exports.useFlowViewApiConfig=useFlowViewApiConfig;exports.uuid=uuid;exports.validatePipelineTree=validatePipelineTree;
|