@next-bricks/ai-portal 0.8.0 → 0.9.0
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/bricks.json +5 -6
- package/dist/chunks/1550.73c02195.js +3 -0
- package/dist/chunks/1550.73c02195.js.map +1 -0
- package/dist/chunks/{1889.d6185164.js → 1889.e5637ffa.js} +2 -2
- package/dist/chunks/{1889.d6185164.js.map → 1889.e5637ffa.js.map} +1 -1
- package/dist/chunks/{3171.dbc33a51.js → 3171.9901a89f.js} +2 -2
- package/dist/chunks/{3171.dbc33a51.js.map → 3171.9901a89f.js.map} +1 -1
- package/dist/chunks/{3933.46c6b203.js → 3933.8bdb5813.js} +2 -2
- package/dist/chunks/{3933.46c6b203.js.map → 3933.8bdb5813.js.map} +1 -1
- package/dist/chunks/4837.d80fe058.js +2 -0
- package/dist/chunks/{4837.78431856.js.map → 4837.d80fe058.js.map} +1 -1
- package/dist/chunks/{5552.517eedc2.js → 5552.77c9524e.js} +2 -2
- package/dist/chunks/{5552.517eedc2.js.map → 5552.77c9524e.js.map} +1 -1
- package/dist/chunks/{6314.11c44a7e.js → 6314.eba1fb91.js} +2 -2
- package/dist/chunks/{6314.11c44a7e.js.map → 6314.eba1fb91.js.map} +1 -1
- package/dist/chunks/7218.91b5ad29.js +2 -0
- package/dist/chunks/{7218.4ed3eab4.js.map → 7218.91b5ad29.js.map} +1 -1
- package/dist/chunks/7301.b39378d6.js +2 -0
- package/dist/chunks/7301.b39378d6.js.map +1 -0
- package/dist/chunks/8660.3de86810.js +2 -0
- package/dist/chunks/8660.3de86810.js.map +1 -0
- package/dist/chunks/871.81f76df0.js +2 -0
- package/dist/chunks/871.81f76df0.js.map +1 -0
- package/dist/chunks/9140.fa0b40fe.js +3 -0
- package/dist/chunks/9140.fa0b40fe.js.map +1 -0
- package/dist/chunks/940.0be35dfb.js +3 -0
- package/dist/chunks/940.0be35dfb.js.map +1 -0
- package/dist/chunks/{9515.02c68755.js → 9515.81b4f7b8.js} +2 -2
- package/dist/chunks/9515.81b4f7b8.js.map +1 -0
- package/dist/chunks/{chat-box.e2888c33.js → chat-box.13609201.js} +2 -2
- package/dist/chunks/{chat-box.e2888c33.js.map → chat-box.13609201.js.map} +1 -1
- package/dist/chunks/{chat-history.f20f37fb.js → chat-history.5746208f.js} +3 -3
- package/dist/chunks/chat-history.5746208f.js.map +1 -0
- package/dist/chunks/cruise-canvas.64d546fb.js +2 -0
- package/dist/chunks/cruise-canvas.64d546fb.js.map +1 -0
- package/dist/chunks/main.5863edbd.js +2 -0
- package/dist/chunks/{main.22c76dec.js.map → main.5863edbd.js.map} +1 -1
- package/dist/examples.json +3 -3
- package/dist/index.fe476c10.js +2 -0
- package/dist/{index.f247f2b6.js.map → index.fe476c10.js.map} +1 -1
- package/dist/manifest.json +45 -44
- package/dist/types.json +8 -9
- package/dist-types/cruise-canvas/CanvasContext.d.ts +1 -2
- package/dist-types/cruise-canvas/ToolProgressLine/ToolProgressLine.d.ts +2 -2
- package/dist-types/cruise-canvas/Topology/Topology.d.ts +1 -0
- package/dist-types/cruise-canvas/bricks.d.ts +0 -4
- package/dist-types/cruise-canvas/constants.d.ts +2 -1
- package/dist-types/cruise-canvas/diagram.d.ts +3 -0
- package/dist-types/cruise-canvas/i18n.d.ts +4 -3
- package/dist-types/cruise-canvas/index.d.ts +1 -9
- package/dist-types/cruise-canvas/table.d.ts +3 -0
- package/dist-types/cruise-canvas/useTaskDetail.d.ts +1 -0
- package/dist-types/cruise-canvas/utils/getToolDataProgress.d.ts +2 -3
- package/package.json +4 -3
- package/dist/chunks/1550.b4a46d30.js +0 -3
- package/dist/chunks/1550.b4a46d30.js.map +0 -1
- package/dist/chunks/437.0ec404d3.js +0 -2
- package/dist/chunks/437.0ec404d3.js.map +0 -1
- package/dist/chunks/4837.78431856.js +0 -2
- package/dist/chunks/7218.4ed3eab4.js +0 -2
- package/dist/chunks/7301.562f065e.js +0 -2
- package/dist/chunks/7301.562f065e.js.map +0 -1
- package/dist/chunks/871.623e9948.js +0 -2
- package/dist/chunks/871.623e9948.js.map +0 -1
- package/dist/chunks/9140.9370c1d8.js +0 -3
- package/dist/chunks/9140.9370c1d8.js.map +0 -1
- package/dist/chunks/940.98a91cc2.js +0 -3
- package/dist/chunks/940.98a91cc2.js.map +0 -1
- package/dist/chunks/9515.02c68755.js.map +0 -1
- package/dist/chunks/chat-history.f20f37fb.js.map +0 -1
- package/dist/chunks/cruise-canvas.c3ba89cd.js +0 -2
- package/dist/chunks/cruise-canvas.c3ba89cd.js.map +0 -1
- package/dist/chunks/main.22c76dec.js +0 -2
- package/dist/index.f247f2b6.js +0 -2
- /package/dist/chunks/{1550.b4a46d30.js.LICENSE.txt → 1550.73c02195.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{9140.9370c1d8.js.LICENSE.txt → 9140.fa0b40fe.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{940.98a91cc2.js.LICENSE.txt → 940.0be35dfb.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{chat-history.f20f37fb.js.LICENSE.txt → chat-history.5746208f.js.LICENSE.txt} +0 -0
- /package/dist-types/cruise-canvas/utils/{index.spec.d.ts → getToolDataProgress.spec.d.ts} +0 -0
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 1550.b4a46d30.js.LICENSE.txt */
|
|
2
|
-
"use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[1550],{1550:(e,t,n)=>{n.r(t),n.d(t,{analytics:()=>u,auth:()=>gt,checkInstalledApps:()=>r,checkPermissions:()=>ht,flowApi:()=>i,menu:()=>s,messageDispatcher:()=>mt});var o={};n.r(o),n.d(o,{authenticate:()=>A,getAuth:()=>w,isBlockedHref:()=>k,isBlockedPath:()=>b,isBlockedUrl:()=>I,isLoggedIn:()=>S,logout:()=>y});var r={};n.r(r),n.d(r,{getCheckedApp:()=>se,preCheckInstalledApps:()=>re,waitForCheckingApps:()=>ie});var i={};n.r(i),n.d(i,{FLOW_API_PROVIDER:()=>ce,clearCollectWidgetContract:()=>ye,clearDebugContract:()=>be,collectContract:()=>Ae,collectDebugContract:()=>Se,collectWidgetContract:()=>we,getArgsOfFlowApi:()=>Pe,isFlowApiProvider:()=>ke,registerFlowApiProvider:()=>pe});var s={};n.r(s),n.d(s,{fetchMenuById:()=>Ye,getMenuById:()=>Ve});var a={};n.r(a),n.d(a,{onRequest:()=>ut,onResponse:()=>lt,onResponseError:()=>pt});var c={};n.r(c),n.d(c,{create:()=>ft});var u={};n.r(u),n.d(u,{http:()=>a,initialize:()=>at,pageView:()=>c});var l=n(2105);function p(e,t,n,o,r,i,s){try{var a=e[i](s),c=a.value}catch(e){return void n(e)}a.done?t(c):Promise.resolve(c).then(o,r)}function d(e){return function(){var t=this,n=arguments;return new Promise((function(o,r){var i=e.apply(t,n);function s(e){p(i,o,r,s,a,"next",e)}function a(e){p(i,o,r,s,a,"throw",e)}s(void 0)}))}}var f=n(3357),h=function(){var e=d((function*(e,t){return(yield f.http.post("api/gateway/micro_app.permission.ValidatePermissions/api/micro_app/v1/permission/validate",e,t)).data}));return function(t,n){return e.apply(this,arguments)}}(),m=n(8974),g=n(1732);const v={};function A(e){Object.assign(v,{org:e.org,username:e.username,userInstanceId:e.userInstanceId,loginFrom:e.loginFrom,accessRule:e.accessRule,isAdmin:e.isAdmin,csrfToken:e.csrfToken,license:e.license,accessToken:e.accessToken,userShowValue:e.userShowValue})}function w(){return{...v}}function y(){for(const e of Object.keys(v))v[e]=void 0;P.clear(),E.length=0,O.clear()}function S(){return void 0!==v.username}function b(e){var t;return!(null===(t=v.license)||void 0===t||null===(t=t.blackList)||void 0===t||!t.some((t=>(0,m.matchPath)(e,{path:t}))))}function I(e){const t=("string"==typeof e?(0,g.createLocation)(e):e).pathname;return"string"==typeof t&&b(t)}function k(e){const t=(0,m.getBasePath)(),n=new URL(e,`${location.origin}${t}`);return!(n.origin!==location.origin||!n.pathname.startsWith(t))&&b(n.pathname.substring(t.length-1))}const P=new Map,E=[],O=new Map;function M(e){if(S()&&!w().isAdmin)return C((0,l.scanPermissionActionsInAny)(e))}async function C(e){const t=e.filter((e=>!E.includes(e)));if(0===t.length)return;const n=[],o=[];for(const e of t){const t=P.get(e);t?n.push(t):o.push(e)}if(o.length>0){const e=(async()=>{try{const e=await h({actions:o},{noAbortOnRouteChange:!0});for(const t of e.actions)O.set(t.action,t.authorizationStatus),"undefined"===t.authorizationStatus&&console.error(`Undefined permission action: "${t.action}"`)}catch(e){console.error("Pre-check permissions failed",e)}finally{E.push(...o)}})();for(const t of o)P.set(t,e);n.push(e)}await Promise.all(n)}var _=n(4635),T=n(918),N=n(5536),$=n(2559),R=n(6121),j=n(829),D=n(1030),W=new WeakMap,L=new WeakMap,B=new WeakMap,x=new WeakMap,U=new WeakMap,F=new WeakMap,q=new WeakMap,z=new WeakSet;class H{constructor(e){(0,_.A)(this,z),(0,T.A)(this,W,void 0),(0,T.A)(this,L,void 0),(0,T.A)(this,B,[]),(0,T.A)(this,x,new Set),(0,T.A)(this,U,new Set),(0,T.A)(this,F,0),(0,T.A)(this,q,!1),(0,R.A)(W,this,e)}send(e){(0,j.A)(L,this)||(0,R.A)(L,this,(0,$.A)(z,this,G).call(this));const t=JSON.stringify(e);(0,j.A)(L,this).readyState===WebSocket.OPEN?(0,j.A)(L,this).send(t):(0,j.A)(B,this).push(t)}onMessage(e){return(0,j.A)(x,this).add(e),()=>{(0,j.A)(x,this).delete(e)}}onClose(e){return(0,j.A)(U,this).add(e),()=>{(0,j.A)(U,this).delete(e)}}reset(){(0,j.A)(B,this).length=0,(0,j.A)(x,this).clear(),(0,j.A)(U,this).clear()}close(){var e;(0,R.A)(q,this,!0),(null===(e=(0,j.A)(L,this))||void 0===e?void 0:e.readyState)===WebSocket.OPEN&&(0,j.A)(L,this).close()}}function G(){console.log("WebSocket connecting ...");const e=new WebSocket((0,j.A)(W,this));let t;return e.addEventListener("open",(n=>{console.log("WebSocket open:",n),t=setTimeout((()=>{t=void 0,(0,R.A)(F,this,0)}),1e3);for(const t of(0,j.A)(B,this))e.send(t);(0,j.A)(B,this).length=0})),e.addEventListener("close",(e=>{(0,j.A)(q,this)||(void 0!==t&&clearTimeout(t),console.log("WebSocket close:",e),1e3!==e.code&&(0,$.A)(z,this,J).call(this))})),e.addEventListener("error",(e=>{console.error("WebSocket error:",e)})),e.addEventListener("message",(e=>{const t=JSON.parse(e.data);for(const e of(0,j.A)(x,this))e(t)})),e}function J(){if((0,j.A)(F,this)>=5){console.error("WebSocket connect retry limit exceeded");for(const e of(0,j.A)(U,this))e();return}const e=1e3*Math.pow(2,(0,j.A)(F,this));console.log("WebSocket will reconnect after %d seconds",e/1e3),setTimeout((()=>{var e;(0,R.A)(F,this,(e=(0,j.A)(F,this),++e)),(0,R.A)(L,this,(0,$.A)(z,this,G).call(this))}),e)}var V=new WeakMap,Y=new WeakMap,K=new WeakMap,Q=new WeakSet;function X(e){if(!(0,j.A)(V,e)){const t=`${"https:"===location.protocol?"wss:":"ws:"}//${window.location.host}${(0,m.getBasePath)()}api/websocket_service/v1/ws`;(0,R.A)(V,e,new H(t))}return(0,j.A)(V,e)}function Z(e,t,n,o){const r=(0,j.A)(Y,this)[e].get(o);if(r)return r;const i={event:"sub"===e?"TOPIC.SUB":"TOPIC.UNSUB",payload:n},s=new Promise(((t,o)=>{const r=ee(n),s=(0,N.A)(Q,this,X).onMessage((n=>{const i=n.event===("sub"===e?"TOPIC.SUB_SUCCESS":"TOPIC.UNSUB_SUCCESS"),c=n.event===("sub"===e?"TOPIC.SUB_FAILED":"TOPIC.UNSUB_FAILED");(i||c)&&r===ee(n.payload)&&((i?t:o)(n),s(),a())})),a=(0,N.A)(Q,this,X).onClose((()=>{o({retryCount:5}),s(),a()}));(0,N.A)(Q,this,X).send(i)}));return"sub"===e&&(0,j.A)(K,this).set(t,o),(0,j.A)(Y,this)[e].set(o,s),s}function ee(e){const{system:t,topic:n}=e;return JSON.stringify({system:t,topic:n})}var te=function(){var e=d((function*(e,t){return(yield f.http.post("api/gateway/micro_app_standalone.runtime.SearchMicroAppStandalone/api/v1/micro_app_standalone/search",e,t)).data}));return function(t,n){return e.apply(this,arguments)}}();const ne=new Map,oe=new Map;function re(e,t){if(window.STANDALONE_MICRO_APPS&&!window.NO_AUTH_GUARD){const n=function(e){var t;const n={usedArgs:new Set},{customTemplates:o,menus:r}=null!==(t=e.meta)&&void 0!==t?t:{};return(0,l.traverseStoryboardExpressions)([e.routes,o,r],((e,t)=>{(0,l.collectInstalledAppsHasUsage)(n,e,t)}),"INSTALLED_APPS"),[...n.usedArgs]}(e),o=[];for(const e of n)ne.has(e)||t(e)||o.push(e);if(0===o.length)return;const r=te({query:{appId:{$in:o}},fields:["appId","currentVersion","installStatus"]},{noAbortOnRouteChange:!0}).catch((e=>{console.error("Get off site standalone micro-apps failed",e)}));for(const e of o)ne.set(e,r.then((t=>{var n;const o=null==t||null===(n=t.list)||void 0===n?void 0:n.find((t=>t.appId===e)),r=o?{...o,id:e}:void 0;return oe.set(e,r),r})))}}async function ie(e){await Promise.all(e.map((e=>ne.get(e))))}function se(e){if(window.STANDALONE_MICRO_APPS)return oe.get(e)}var ae=n(4427);const ce="core.provider-flow-api";function ue(e,t){return e.some((e=>e.source===t))}async function le(e){let{url:t,originalUri:n,method:o="GET",responseWrapper:r=!0,ext_fields:i=[],request:s,isFileType:a,stream:c}=e;const u=["get","delete","head"].includes(o.toLowerCase()),l=a?{responseType:"blob"}:{};let p;for(var d=arguments.length,h=new Array(d>1?d-1:0),m=1;m<d;m++)h[m-1]=arguments[m];if(u){var g,v,A,w;let e,r;var y,S;if(n&&"object"===(null==s?void 0:s.type)&&(null!==(g=null===(v=n.match(/:([^/]+)/g))||void 0===v?void 0:v.length)&&void 0!==g?g:0)===(null!==(A=null===(w=s.fields)||void 0===w?void 0:w.length)&&void 0!==A?A:0)?[r]=h:[e,r]=h,c)return await(0,ae.createSSEStream)(f.http.getUrlWithParams(t,e),{...l,...r,method:o,headers:Object.fromEntries([...new Headers(null!==(y=null===(S=r)||void 0===S?void 0:S.headers)&&void 0!==y?y:{}).entries()])});p=await f.http.simpleRequest(o,t,{params:e,...l,...r})}else{const e=function(e){if("object"!==(null==e?void 0:e.type))return!1;const t=e=>!(0,D.isEmpty)(e)&&e.some((e=>["file","file[]"].includes(e.type)||t(e.fields)));return t(e.fields)}(s),n=function(e){const t=ue(e,"query"),n=ue(e,"body");for(var o=arguments.length,r=new Array(o>1?o-1:0),i=1;i<o;i++)r[i-1]=arguments[i];if(t){if(n){const[e,t,n]=r;return{data:e,options:{params:t,...n}}}const[e,t]=r;return{data:{},options:{params:e,...t}}}const[s,a]=r;return{data:s,options:a}}(i,...h),r=e?function(e){if(e instanceof FormData)return e;const t=new FormData;for(const[n,o]of Object.entries(e))Array.isArray(o)?o.forEach((e=>{t.append(n,e)})):!(0,D.isObject)(o)||o instanceof Blob||o instanceof Date?t.append(n,o):Object.entries(o).forEach((e=>{let[o,r]=e;t.append(`${n}[${o}]`,r)}));return t}(n.data):n.data;if(c){var b;const{body:e,headers:i}=f.http.getBodyAndHeaders(r,null===(b=n.options)||void 0===b?void 0:b.headers);return await(0,ae.createSSEStream)(t,{...l,...n.options,method:o,headers:Object.fromEntries([...new Headers(null!=i?i:{}).entries()]),body:e})}p=await f.http.requestWithBody(o,t,r,{...l,...n.options})}return!a&&r?p.data:p}function pe(){customElements.define(ce,(0,ae.createProviderClass)(le))}var de=n(5310);const fe=async(e,t)=>(await f.http.post("api/contract/single_search",e,t)).data,he=new Map,me=new Map,ge=new Map,ve=(e,t)=>{null==e||e.forEach((e=>{t.set(`${e.namespaceId}.${e.name}`,e)}))};function Ae(e){ve(e,he)}function we(e){ve(e,me)}function ye(){me.clear()}function Se(e){ve(e,ge)}function be(){ge.clear()}const Ie=new Map;function ke(e){return e.includes("@")}async function Pe(e,t,n,o){if(!e.includes(":"))throw new Error(`You're using legacy Custom API "${e}" which is dropped in v3, please use Flow API instead`);const r=await async function(e){const[t,n]=e.split("@"),[o,r]=n.split(":"),i=function(e){return he.get(e)||me.get(e)||ge.get(e)}(`${t}.${o}`);if(i)return{name:i.name,namespace:i.namespaceId,serviceName:i.serviceName,version:i.version,contract:{endpoint:i.endpoint,response:i.response,request:i.request}};let s=Ie.get(e);return s||(s=async function(e,t,n){var o;const{contractData:r}=await fe({contractName:`${e}.${t}`,version:n});return r?{name:r.name,namespace:null===(o=r.namespace)||void 0===o||null===(o=o[0])||void 0===o?void 0:o.name,serviceName:r.serviceName,version:r.version,contract:{endpoint:r.endpoint,response:r.response,request:r.request}}:null}(t,o,r),Ie.set(e,s)),s}(e);if(!r)throw new Ee(`Flow API not found: "${e}"`);const i=function(e,t){var n,o;const r="string"==typeof t.contract?de.safeLoad(t.contract,{schema:de.JSON_SCHEMA,json:!0}):t.contract,{uri:i,method:s="GET",ext_fields:a}=null!==(n=null==r?void 0:r.endpoint)&&void 0!==n?n:{},c=!(null==r||!r.response)&&!1!==r.response.wrapper;if(!i)throw new Error(`Missing endpoint.uri in contract of provider "${e}"`);return{uri:i,method:"list"===s.toLowerCase()?"get":s,ext_fields:a,name:t.name,namespace:t.namespace,serviceName:t.serviceName,version:t.version,isFileType:"file"===(null==r||null===(o=r.response)||void 0===o?void 0:o.type),responseWrapper:c,request:null==r?void 0:r.request}}(e,r);return function(e,t,n,o){let{uri:r,method:i,ext_fields:s,name:a,namespace:c,serviceName:u,responseWrapper:l,version:p,isFileType:d,request:f}=e;const h="saveAs"===n;let m;h&&(m=t.shift());const{url:g,args:v}=function(e,t,n,o,r,i){const s=i?"logic.api.gateway"===r||null!=r&&r.startsWith("logic.api.gateway.")?"":r?`api/gateway/${r}`:`api/gateway/${o}.${n}@${i}`:`api/gateway/api_service.${o}.${n}`,a=t.slice(),c=e.replace(/:([^/]+)/g,(()=>a.shift()));return{url:s?s+c:c.replace(/^\//,""),args:a}}(r,t,a,c,u,p);return[...h?[m]:[],{url:g,originalUri:r,method:i,ext_fields:s,responseWrapper:l,request:f,isFileType:d,stream:o},...v]}(i,t,n,o)}class Ee extends Error{constructor(e){super(e),this.name="FlowApiNotFoundError",Error.captureStackTrace&&Error.captureStackTrace(this,Ee)}}var Oe=function(){var e=d((function*(e,t,n){return(yield f.http.post("api/gateway/cmdb.instance.PostSearch/object/".concat(e,"/instance/_search"),t,n)).data}));return function(t,n,o){return e.apply(this,arguments)}}(),Me=n(9740),Ce=function(){var e=d((function*(e,t,n){return(yield f.http.get("api/gateway/micro_app.installed_micro_app.GetMenusInfo/api/v1/micro-app/menus/".concat(e),(0,Me.A)((0,Me.A)({},n),{},{params:t}))).data}));return function(t,n,o){return e.apply(this,arguments)}}(),_e=n(3922);const Te=Symbol("appId"),Ne=Symbol("menuI18nNamespace"),$e=Symbol("overrideApp");async function Re(e,t,n){const o=e.find((e=>"inject"!==e.type));if(!o)return;const r=[],i=new Map,s=new WeakMap;for(const t of e)if(t.i18n){const e=`menu/${t.menuId}~${t.app[0].appId}+${t.instanceId}`;Object.entries(t.i18n).forEach((t=>{let[n,o]=t;_e.i18n.addResourceBundle(n,e,o)})),s.set(t,e)}await Promise.all(e.map((e=>async function(e,t,n,o){if(e.dynamicItems&&e.itemsResolve){const i=e.app[0].appId,s={...t,pendingPermissionsPreCheck:[...t.pendingPermissionsPreCheck,M(e.itemsResolve)]};var r;i!==t.app.id&&(s.overrideApp=window.STANDALONE_MICRO_APPS?e.overrideApp:null===(r=o.getStoryboardByAppId(i))||void 0===r?void 0:r.app,s.appendI18nNamespace=n.get(e));const a=await o.resolveData({transform:"items",...e.itemsResolve},s);e.items=a.items}}(e,t,s,n))));for(const t of e){var a;if(null!==(a=t.items)&&void 0!==a&&a.length)if("inject"===t.type&&t.injectMenuGroupId){let e=i.get(t.injectMenuGroupId);e||(e=[],i.set(t.injectMenuGroupId,e)),e.push(t)}else r.push(t)}return{...o,items:r.flatMap((e=>je(e.items,e,i,s))),[Ne]:s.get(o),[$e]:o.overrideApp}}function je(e,t,n,o){return null==e?void 0:e.map((e=>{var r;const i=e.groupId&&n.get(e.groupId);return i&&n.delete(e.groupId),{...e,children:(null!==(r=je(e.children,t,n,o))&&void 0!==r?r:[]).concat(i?i.flatMap((e=>je(e.items,e,n,o))):[]),[Te]:t.app[0].appId,[Ne]:o.get(t),[$e]:t.overrideApp}}))}function De(e){e.items=We(e.items)}function We(e){return function(e){return(0,D.sortBy)(e,(e=>{var t;return null!==(t=e.sort)&&void 0!==t?t:-1/0}))}(e).map((e=>({...e,children:We(e.children)})))}var Le=n(9933),Be=n(1321);function xe(e,t,n,o){if("titleDataSource"in e&&(0,ae.isObject)(e.titleDataSource)&&Object.entries(e.titleDataSource).every((e=>{let[,t]=e;return null===t||""===t}))&&delete e.titleDataSource,"if"in e&&null===e.if&&delete e.if,"to"in e&&e.to&&!(0,Be.isEvaluable)(e.to)){const t=Le.pipes.yaml(e.to);(0,ae.isObject)(t)&&["pathname","search","hash"].some((e=>(0,ae.hasOwnProperty)(t,e)))&&(e.to=t)}let r=n;if(t!==n.app.id){var i;const s=window.STANDALONE_MICRO_APPS?e[$e]:null===(i=o.getStoryboardByAppId(t))||void 0===i?void 0:i.app;r={...n,overrideApp:s,appendI18nNamespace:e[Ne]}}return o.asyncComputeRealValue(e,r,{ignoreSymbols:!0})}function Ue(e,t,n){return Promise.all(e.map((async e=>{let{children:o,...r}=e;const[i,s]=await Promise.all([xe(r,r[Te],t,n),o&&await Ue(o,t,n)]);return{...i,children:s}})))}var Fe=function(){var e=d((function*(e,t,n,o){return(yield f.http.get("api/gateway/cmdb.instance.GetDetail/object/".concat(e,"/instance/").concat(t),(0,Me.A)((0,Me.A)({},o),{},{params:n}))).data}));return function(t,n,o,r){return e.apply(this,arguments)}}();const qe=new Map;async function ze(e){if(e.title||(0,D.isEmpty)(e.titleDataSource))return e.title;const t=JSON.stringify(e.titleDataSource),n=qe.get(t);if(void 0!==n)return n;const{objectId:o,instanceId:r,attributeId:i}=e.titleDataSource,s=null!=i?i:"name",a=await Fe(o,r,{fields:s});let c;if("#showKey"===i&&Array.isArray(a[s])){const[e,...t]=a[s];c=t.length>0?`${e}(${t.join(",")})`:String(e)}else c=String(a[s]);return qe.set(t,c),c}const He=new Map,Ge=new Map;function Je(e){return null==e?void 0:e.filter(m.checkIfOfComputed).map((e=>{const t=Je(e.children);return"group"===e.type?{type:"group",title:e.text,childLayout:e.childLayout,items:t,groupId:e.groupId,groupFrom:e.groupFrom}:null!=t&&t.length?{type:"subMenu",childLayout:e.childLayout,title:e.text,icon:e.icon,items:t,defaultExpanded:e.defaultExpanded}:function(e){return e.href?k(e.href):!!e.to&&I(e.to)}(e)?null:(0,D.omit)(e,["type","items","children"])})).filter(Boolean)}function Ve(e){return Ge.get(e)}function Ye(e,t,n){let o=He.get(e);return o||(o=async function(e,t,n){const o=window.STANDALONE_MICRO_APPS?function(e,t,n){var o,r,i,s;const a=n.getStoryboardByAppId(t);return(null!==(o=null!==(r=null===(i=a.meta)||void 0===i?void 0:i.injectMenus)&&void 0!==r?r:null===(s=a.meta)||void 0===s?void 0:s.menus)&&void 0!==o?o:[]).filter((t=>t.menuId===e)).map((e=>{var n;return{...e,...null!==(n=e.app)&&void 0!==n&&null!==(n=n[0])&&void 0!==n&&n.appId?{}:{app:[{appId:t}]}}}))}(e,t.app.id,n):t.flags["three-level-menu-layout"]?(await Ce(e,{menuObjectId:"EASYOPS_STORYBOARD_MENU"})).menus:(await Oe("EASYOPS_STORYBOARD_MENU",{page:1,page_size:200,fields:{menuId:!0,title:!0,icon:!0,link:!0,titleDataSource:!0,defaultCollapsed:!0,defaultCollapsedBreakpoint:!0,type:!0,injectMenuGroupId:!0,dynamicItems:!0,itemsResolve:!0,items:!0,i18n:!0,"items.children":!0,"app.appId":!0},query:{menuId:{$eq:e},app:{$size:{$gt:0}}}})).list,r=await Re(o,t,n);if(!r)throw new Error(`Menu not found: ${e}`);De(r);const{items:i,app:s,...a}=r,c={...t,pendingPermissionsPreCheck:[...t.pendingPermissionsPreCheck,M([i,a])]};delete c.tplStateStoreId,delete c.forEachItem,delete c.forEachIndex,delete c.forEachSize;const u=s[0].appId,[l,p]=await Promise.all([xe(a,u,c,n),Ue(i,c,n)]),d={title:await ze(l),...(0,D.pick)(l,["icon","link","defaultCollapsed","defaultCollapsedBreakpoint"]),menuItems:Je(p)};Ge.set(e,d)}(e,t,n)),o}const Ke=[];let Qe=null;const Xe={maxWaitingTime:5e3,maxLoggedEvents:10};function Ze(){clearTimeout(Qe),Ke.length>Xe.maxLoggedEvents?et():Qe=setTimeout(et,Xe.maxWaitingTime)}function et(){if(0===Ke.length)return;const e={model:"easyops.FRONTEND_STAT",columns:["_ver","st","et","lt","size","time","traceId","code","duration","page","uid","username","api","type","msg","status","pageId","route","apiCount","maxApiTimeCost","apiSizeCost","pageTitle"],data:Ke.splice(0,Xe.maxLoggedEvents)};var t;!function(e,t){const n=new Blob([JSON.stringify(t)],{type:"application/json"});window.navigator.sendBeacon(e,n)}(Xe.api,e),Ke.length&&(t=et,(window.requestIdleCallback||window.requestAnimationFrame||(e=>setTimeout(e,17)))(t))}function tt(){window.addEventListener("beforeunload",et,!1)}let nt,ot=!1,rt=null,it=!0;const st=[];function at(e){ot||(ot=!0,nt||(nt=function(e,t){return Object.assign(Xe,{...t,api:e}),{sendOnExit:tt,emit:Ze}}(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),nt.sendOnExit()))}const ct=Symbol("HttpAnalytics");function ut(e){const t=Math.round(performance.now()),n=Date.now();return e[ct]={st:n,time:Math.round(n/1e3),perfStartTime:t},e}function lt(e,t){return dt(!1,e,t)}function pt(e,t){return dt(!0,e,t)}function dt(e,t,n){const o=Math.round(performance.now()),r=Date.now(),{[ct]:i,url:s}=n;if(i&&!(e&&t instanceof f.HttpAbortError)){delete n[ct];const{st:c,time:u,perfStartTime:l}=i,{userInstanceId:p,username:d}=w();let h,m,g,v,A,y,S;if(e){const e=t instanceof f.HttpResponseError;(e||t instanceof f.HttpParseError)&&(({status:A,headers:y}=t.response),e&&(S=t.responseJson))}else({status:A,data:S,headers:y}=t);(0,ae.isObject)(S)&&({code:h,message:m}=S),y instanceof Headers&&(g=y.get("x-b3-traceid"),v=y.get("content-length")),a={st:c,_ver:c,uid:p,username:d,time:u,et:r,page:location.href,duration:o-l,api:s,type:"api",code:null!=h?h:-1,msg:null!=m?m:"",status:A,traceId:null!=g?g:"",size:v?Number(v):-1},rt?Ke.push({...a,type:"apiRequest",...rt}):st.push(a)}var a;return e?Promise.reject(t):t}function ft(){const e=Math.round(performance.now()),t=Date.now();return st.length=0,rt=null,function(n){let{status:o,path:r,pageTitle:i}=n;if("ok"!==o)return Ke.push(...st),void(st.length=0);const s=Math.round(performance.now())-e,a=Date.now(),{username:c}=w();(function(e){const t=function(){const e=URL.createObjectURL(new Blob([]));let t=e.substring(e.lastIndexOf("/")+1);return URL.revokeObjectURL(e),it&&(t="88-"+t,it=!1),t}(),{lt:n,route:o}=e;rt={lt:n,route:o,pageId:t},Ke.push({...e,pageId:t,apiCount:st.length,maxApiTimeCost:Math.max(0,...st.map((e=>e.duration))),size:st.map((e=>e.size)).filter((e=>e>0)).reduce(((e,t)=>e+t),0)});for(const e of st)Ke.push({...e,...rt});st.length=0,nt.emit()})({type:"page",page:location.href,_ver:t,time:Math.round(t/1e3),st:t,et:a,lt:s,pageTitle:i,username:c,route:r}),window.dispatchEvent(new CustomEvent("route.render",{detail:{renderTime:s}}))}}const ht=Object.freeze({checkPermissions:function(){if(!S())return!1;if(w().isAdmin)return!0;for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];for(const e of t)switch(O.get(e)){case"unauthorized":case"undefined":return!1;case void 0:return console.error(`Un-checked permission action: "${e}", please make sure the permission to check is defined in permissionsPreCheck.`),!1}return!0},preCheckPermissions:function(e){if(S()&&!w().isAdmin)return C((0,l.scanPermissionActionsInStoryboard)(e))},preCheckPermissionsForBrickOrRoute:async function(e,t){if(S()&&!w().isAdmin&&Array.isArray(e.permissionsPreCheck))return C(await t(e.permissionsPreCheck))}}),mt=new class{constructor(){(0,_.A)(this,Q),(0,T.A)(this,V,void 0),(0,T.A)(this,Y,{sub:new Map,unsub:new Map}),(0,T.A)(this,K,new Map)}subscribe(e,t){const n=JSON.stringify(t);return(0,$.A)(Q,this,Z).call(this,"sub",e,t,n)}unsubscribe(e){const t=(0,j.A)(K,this).get(e);if(!t){const t=`The message channel to unsubscribe "${e}" is not found`;return console.error(t),Promise.reject(new Error(t))}const n=JSON.parse(t),o=(0,$.A)(Q,this,Z).call(this,"unsub",e,n,t);return(0,j.A)(Y,this).sub.delete(t),o.then((()=>{(0,j.A)(K,this).delete(e)})),o}onMessage(e,t){let n=(0,j.A)(K,this).get(e),o=!1;return(0,N.A)(Q,this,X).onMessage((r=>{n||(n=(0,j.A)(K,this).get(e)),n?"MESSAGE.PUSH"===r.event&&function(e,t){const n=JSON.parse(e);return n.system===t.system&&(n.topic===t.topic||"string"==typeof n.topic&&n.topic.includes("*")&&new RegExp(`^${n.topic.replace(/([^*]*)\*([^*]*)/g,((e,t,n)=>`${(0,D.escapeRegExp)(t)}[^/]*${(0,D.escapeRegExp)(n)}`))}$`).test(t.topic))}(n,r.payload)&&t(r.payload.message):o||(console.error(`Message channel: "${e}" not found`),o=!0)}))}onClose(e){return(0,N.A)(Q,this,X).onClose(e)}reset(){var e;(0,j.A)(Y,this).sub.clear(),(0,j.A)(Y,this).unsub.clear(),(0,j.A)(K,this).clear(),null===(e=(0,j.A)(V,this))||void 0===e||e.reset()}},gt=function(){const e=(0,m.getV2RuntimeFromDll)();if(e)return Object.freeze((0,D.pick)(e,["authenticate","getAuth","isLoggedIn","logout","isBlockedPath","isBlockedUrl","isBlockedHref"]))}()||o}}]);
|
|
3
|
-
//# sourceMappingURL=1550.b4a46d30.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/1550.b4a46d30.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///../../node_modules/@next-api-sdk/micro-app-sdk/dist/esm/api/micro_app/permission/validatePermissions.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/auth.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/checkPermissions.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/websocket/MessageService.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/websocket/MessageDispatcher.js","webpack:///../../node_modules/@next-api-sdk/micro-app-standalone-sdk/dist/esm/api/micro_app_standalone/runtime/searchMicroAppStandalone.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/checkInstalledApps.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/flowApi/FlowApiProvider.js","webpack:///../../node_modules/@next-api-sdk/api-gateway-sdk/dist/esm/api/api_gateway/contract/searchSingleContract.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/flowApi/CollectContracts.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/flowApi/FlowApi.js","webpack:///../../node_modules/@next-api-sdk/cmdb-sdk/dist/esm/api/cmdb/instance/postSearch.js","webpack:///../../node_modules/@next-api-sdk/micro-app-sdk/dist/esm/api/micro_app/installed_micro_app/getMenusInfo.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/constants.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/mergeMenu.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/loadDynamicMenuItems.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/reorderMenuItems.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/computeMenuData.js","webpack:///../../node_modules/@next-api-sdk/cmdb-sdk/dist/esm/api/cmdb/instance/getDetail.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/fetchMenuTitle.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/fetchMenuById.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/menu/getMenusOfStandaloneApp.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/analytics/transport.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/analytics/analytics.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/analytics/http.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/analytics/pageView.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/index.js","webpack:///../../node_modules/@next-core/easyops-runtime/dist/esm/auth-v2.js"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 校验系统权限\n * @endpoint POST /api/micro_app/v1/permission/validate\n */\nexport var PermissionApi_validatePermissions = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (data, options) {\n return (/**! @contract easyops.api.micro_app.permission.ValidatePermissions@1.0.0 */(yield http.post(\"api/gateway/micro_app.permission.ValidatePermissions/api/micro_app/v1/permission/validate\", data, options)).data\n );\n });\n return function PermissionApi_validatePermissions(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=validatePermissions.js.map","import { getBasePath, matchPath } from \"@next-core/runtime\";\nimport { createLocation } from \"history\";\nimport { resetPermissionPreChecks } from \"./checkPermissions.js\";\nconst auth = {};\n\n/** @internal */\n\n/** @internal */\nexport function authenticate(newAuth) {\n Object.assign(auth, {\n org: newAuth.org,\n username: newAuth.username,\n userInstanceId: newAuth.userInstanceId,\n loginFrom: newAuth.loginFrom,\n accessRule: newAuth.accessRule,\n isAdmin: newAuth.isAdmin,\n csrfToken: newAuth.csrfToken,\n license: newAuth.license,\n accessToken: newAuth.accessToken,\n userShowValue: newAuth.userShowValue\n });\n}\n\n/**\n * 获取当前登录认证信息。\n *\n * @returns 当前登录认证信息。\n */\nexport function getAuth() {\n return {\n ...auth\n };\n}\n\n/** @internal */\nexport function logout() {\n for (const key of Object.keys(auth)) {\n auth[key] = undefined;\n }\n resetPermissionPreChecks();\n}\n\n/**\n * 查看当前是否已登录。\n *\n * @returns 当前是否已登录。\n */\nexport function isLoggedIn() {\n return auth.username !== undefined;\n}\n\n/**\n * 判断一个内部 URL 路径是否被屏蔽。\n */\nexport function isBlockedPath(pathname) {\n var _auth$license;\n return !!((_auth$license = auth.license) !== null && _auth$license !== void 0 && (_auth$license = _auth$license.blackList) !== null && _auth$license !== void 0 && _auth$license.some(path => matchPath(pathname, {\n path\n })));\n}\n\n/**\n * 判断一个内部 URL 是否被屏蔽。\n */\nexport function isBlockedUrl(url) {\n const pathname = (typeof url === \"string\" ? createLocation(url) : url).pathname;\n if (typeof pathname !== \"string\") {\n return false;\n }\n return isBlockedPath(pathname);\n}\n\n/**\n * 判断一个 href 是否被屏蔽。\n */\nexport function isBlockedHref(href) {\n const basePath = getBasePath();\n const url = new URL(href, `${location.origin}${basePath}`);\n // 忽略外链地址\n if (url.origin !== location.origin || !url.pathname.startsWith(basePath)) {\n return false;\n }\n // 转换为内部路径\n return isBlockedPath(url.pathname.substring(basePath.length - 1));\n}\n//# sourceMappingURL=auth.js.map","import { scanPermissionActionsInAny, scanPermissionActionsInStoryboard } from \"@next-core/utils/storyboard\";\nimport { PermissionApi_validatePermissions } from \"@next-api-sdk/micro-app-sdk\";\nimport { getAuth, isLoggedIn } from \"./auth.js\";\nconst checkingPermissions = new Map();\nconst checkedPermissions = [];\nconst permissionMap = new Map();\nexport function preCheckPermissions(storyboard) {\n if (isLoggedIn() && !getAuth().isAdmin) {\n const usedActions = scanPermissionActionsInStoryboard(storyboard);\n return validatePermissions(usedActions);\n }\n}\nexport async function preCheckPermissionsForBrickOrRoute(container, asyncComputeRealValue) {\n if (isLoggedIn() && !getAuth().isAdmin && Array.isArray(container.permissionsPreCheck)) {\n const actions = await asyncComputeRealValue(container.permissionsPreCheck);\n return validatePermissions(actions);\n }\n}\nexport function preCheckPermissionsForAny(data) {\n if (isLoggedIn() && !getAuth().isAdmin) {\n const usedActions = scanPermissionActionsInAny(data);\n return validatePermissions(usedActions);\n }\n}\nexport async function validatePermissions(usedActions) {\n // Do not request known actions.\n const uncheckedActions = usedActions.filter(action => !checkedPermissions.includes(action));\n if (uncheckedActions.length === 0) {\n return;\n }\n const checkingTasks = [];\n const restActions = [];\n for (const action of uncheckedActions) {\n const promise = checkingPermissions.get(action);\n if (promise) {\n checkingTasks.push(promise);\n } else {\n restActions.push(action);\n }\n }\n if (restActions.length > 0) {\n const task = (async () => {\n try {\n const result = await PermissionApi_validatePermissions({\n actions: restActions\n }, {\n noAbortOnRouteChange: true\n });\n for (const item of result.actions) {\n permissionMap.set(item.action, item.authorizationStatus);\n if (item.authorizationStatus === \"undefined\") {\n // eslint-disable-next-line no-console\n console.error(`Undefined permission action: \"${item.action}\"`);\n }\n }\n } catch (error) {\n // Allow pre-check to fail, and\n // make it not crash when the backend service is not updated.\n // eslint-disable-next-line no-console\n console.error(\"Pre-check permissions failed\", error);\n } finally {\n checkedPermissions.push(...restActions);\n }\n })();\n for (const action of restActions) {\n checkingPermissions.set(action, task);\n }\n checkingTasks.push(task);\n }\n await Promise.all(checkingTasks);\n}\n\n/**\n * Check the current logged-in user whether to have all\n * permissions of actions passed to it.\n *\n * @param actions - Required permission actions.\n */\nexport function checkPermissions() {\n if (!isLoggedIn()) {\n return false;\n }\n if (getAuth().isAdmin) {\n return true;\n }\n for (var _len = arguments.length, actions = new Array(_len), _key = 0; _key < _len; _key++) {\n actions[_key] = arguments[_key];\n }\n for (const action of actions) {\n // Only **exclusively authorized** permissions are ok.\n // Those scenarios below will fail:\n // - unauthorized actions (pre-check results)\n // - undefined actions (pre-check results)\n // - Un-pre-checked or pre-check failed\n switch (permissionMap.get(action)) {\n case \"unauthorized\":\n case \"undefined\":\n return false;\n case undefined:\n // eslint-disable-next-line no-console\n console.error(`Un-checked permission action: \"${action}\", please make sure the permission to check is defined in permissionsPreCheck.`);\n return false;\n }\n }\n return true;\n}\n\n/**\n * Reset permission pre-checks after logged-out.\n */\nexport function resetPermissionPreChecks() {\n checkingPermissions.clear();\n checkedPermissions.length = 0;\n permissionMap.clear();\n}\n//# sourceMappingURL=checkPermissions.js.map","import _classPrivateMethodInitSpec from \"@babel/runtime/helpers/classPrivateMethodInitSpec\";\nimport _classPrivateFieldInitSpec from \"@babel/runtime/helpers/classPrivateFieldInitSpec\";\nimport _assertClassBrand from \"@babel/runtime/helpers/assertClassBrand\";\nimport _classPrivateFieldGet from \"@babel/runtime/helpers/classPrivateFieldGet2\";\nimport _classPrivateFieldSet from \"@babel/runtime/helpers/classPrivateFieldSet2\";\nconst RETRY_TIMEOUT_UNIT = 1000;\nexport const RETRY_LIMIT = 5;\nvar _url = /*#__PURE__*/new WeakMap();\nvar _ws = /*#__PURE__*/new WeakMap();\nvar _queuedMessages = /*#__PURE__*/new WeakMap();\nvar _messageListeners = /*#__PURE__*/new WeakMap();\nvar _closeListeners = /*#__PURE__*/new WeakMap();\nvar _retryCount = /*#__PURE__*/new WeakMap();\nvar _closed = /*#__PURE__*/new WeakMap();\nvar _MessageService_brand = /*#__PURE__*/new WeakSet();\nexport class MessageService {\n constructor(url) {\n _classPrivateMethodInitSpec(this, _MessageService_brand);\n _classPrivateFieldInitSpec(this, _url, void 0);\n _classPrivateFieldInitSpec(this, _ws, void 0);\n _classPrivateFieldInitSpec(this, _queuedMessages, []);\n _classPrivateFieldInitSpec(this, _messageListeners, new Set());\n _classPrivateFieldInitSpec(this, _closeListeners, new Set());\n _classPrivateFieldInitSpec(this, _retryCount, 0);\n _classPrivateFieldInitSpec(this, _closed, false);\n _classPrivateFieldSet(_url, this, url);\n }\n send(data) {\n // Connect when data is sent for the first time\n if (!_classPrivateFieldGet(_ws, this)) {\n _classPrivateFieldSet(_ws, this, _assertClassBrand(_MessageService_brand, this, _connect).call(this));\n }\n const stringifiedData = JSON.stringify(data);\n if (_classPrivateFieldGet(_ws, this).readyState === WebSocket.OPEN) {\n _classPrivateFieldGet(_ws, this).send(stringifiedData);\n } else {\n _classPrivateFieldGet(_queuedMessages, this).push(stringifiedData);\n }\n }\n onMessage(listener) {\n _classPrivateFieldGet(_messageListeners, this).add(listener);\n return () => {\n _classPrivateFieldGet(_messageListeners, this).delete(listener);\n };\n }\n onClose(listener) {\n _classPrivateFieldGet(_closeListeners, this).add(listener);\n return () => {\n _classPrivateFieldGet(_closeListeners, this).delete(listener);\n };\n }\n reset() {\n _classPrivateFieldGet(_queuedMessages, this).length = 0;\n _classPrivateFieldGet(_messageListeners, this).clear();\n _classPrivateFieldGet(_closeListeners, this).clear();\n }\n close() {\n var _classPrivateFieldGet2;\n _classPrivateFieldSet(_closed, this, true);\n if (((_classPrivateFieldGet2 = _classPrivateFieldGet(_ws, this)) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2.readyState) === WebSocket.OPEN) {\n _classPrivateFieldGet(_ws, this).close();\n }\n }\n}\nfunction _connect() {\n // eslint-disable-next-line no-console\n console.log(\"WebSocket connecting ...\");\n const ws = new WebSocket(_classPrivateFieldGet(_url, this));\n let resetRetryCountTimeout;\n ws.addEventListener(\"open\", e => {\n // eslint-disable-next-line no-console\n console.log(\"WebSocket open:\", e);\n\n // If server closes the socket not more than 1 second after it's opened,\n // we should not reset the retry count.\n resetRetryCountTimeout = setTimeout(() => {\n resetRetryCountTimeout = undefined;\n _classPrivateFieldSet(_retryCount, this, 0);\n }, 1e3);\n for (const msg of _classPrivateFieldGet(_queuedMessages, this)) {\n ws.send(msg);\n }\n _classPrivateFieldGet(_queuedMessages, this).length = 0;\n });\n ws.addEventListener(\"close\", e => {\n if (_classPrivateFieldGet(_closed, this)) {\n return;\n }\n if (resetRetryCountTimeout !== undefined) {\n clearTimeout(resetRetryCountTimeout);\n }\n // eslint-disable-next-line no-console\n console.log(\"WebSocket close:\", e);\n // Error code 1000 means that the connection was closed normally.\n if (e.code !== 1000) {\n _assertClassBrand(_MessageService_brand, this, _reconnect).call(this);\n }\n });\n ws.addEventListener(\"error\", e => {\n // No need to reconnect in error event listener,\n // there will always be a close event along with the error event.\n // eslint-disable-next-line no-console\n console.error(\"WebSocket error:\", e);\n });\n ws.addEventListener(\"message\", e => {\n const response = JSON.parse(e.data);\n for (const listener of _classPrivateFieldGet(_messageListeners, this)) {\n listener(response);\n }\n });\n return ws;\n}\nfunction _reconnect() {\n // istanbul ignore next: currently can't mock this\n if (_classPrivateFieldGet(_retryCount, this) >= RETRY_LIMIT) {\n // eslint-disable-next-line no-console\n console.error(\"WebSocket connect retry limit exceeded\");\n // Keep behavior as v2: emit close event only after retry limit exceeded\n for (const listener of _classPrivateFieldGet(_closeListeners, this)) {\n listener();\n }\n return;\n }\n // Double the timeout for each retry\n const delay = Math.pow(2, _classPrivateFieldGet(_retryCount, this)) * RETRY_TIMEOUT_UNIT;\n // eslint-disable-next-line no-console\n console.log(\"WebSocket will reconnect after %d seconds\", delay / 1000);\n setTimeout(() => {\n var _this$retryCount, _this$retryCount2;\n _classPrivateFieldSet(_retryCount, this, (_this$retryCount = _classPrivateFieldGet(_retryCount, this), _this$retryCount2 = _this$retryCount++, _this$retryCount)), _this$retryCount2;\n _classPrivateFieldSet(_ws, this, _assertClassBrand(_MessageService_brand, this, _connect).call(this));\n }, delay);\n}\n//# sourceMappingURL=MessageService.js.map","import _classPrivateMethodInitSpec from \"@babel/runtime/helpers/classPrivateMethodInitSpec\";\nimport _classPrivateFieldInitSpec from \"@babel/runtime/helpers/classPrivateFieldInitSpec\";\nimport _classPrivateGetter from \"@babel/runtime/helpers/classPrivateGetter\";\nimport _assertClassBrand from \"@babel/runtime/helpers/assertClassBrand\";\nimport _classPrivateFieldSet from \"@babel/runtime/helpers/classPrivateFieldSet2\";\nimport _classPrivateFieldGet from \"@babel/runtime/helpers/classPrivateFieldGet2\";\nimport { getBasePath } from \"@next-core/runtime\";\nimport { escapeRegExp } from \"lodash\";\nimport { MessageService, RETRY_LIMIT } from \"./MessageService.js\";\nvar _ms = /*#__PURE__*/new WeakMap();\nvar _memoizedChannels = /*#__PURE__*/new WeakMap();\nvar _channelPayloads = /*#__PURE__*/new WeakMap();\nvar _MessageDispatcher_brand = /*#__PURE__*/new WeakSet();\nexport class MessageDispatcher {\n constructor() {\n _classPrivateMethodInitSpec(this, _MessageDispatcher_brand);\n _classPrivateFieldInitSpec(this, _ms, void 0);\n _classPrivateFieldInitSpec(this, _memoizedChannels, {\n sub: new Map(),\n unsub: new Map()\n });\n _classPrivateFieldInitSpec(this, _channelPayloads, new Map());\n }\n subscribe(channel, payload) {\n const stringifiedPayload = JSON.stringify(payload);\n return _assertClassBrand(_MessageDispatcher_brand, this, _subOrUnsub).call(this, \"sub\", channel, payload, stringifiedPayload);\n }\n unsubscribe(channel) {\n const stringifiedPayload = _classPrivateFieldGet(_channelPayloads, this).get(channel);\n if (!stringifiedPayload) {\n const msg = `The message channel to unsubscribe \"${channel}\" is not found`;\n // eslint-disable-next-line no-console\n console.error(msg);\n return Promise.reject(new Error(msg));\n }\n const payload = JSON.parse(stringifiedPayload);\n const result = _assertClassBrand(_MessageDispatcher_brand, this, _subOrUnsub).call(this, \"unsub\", channel, payload, stringifiedPayload);\n _classPrivateFieldGet(_memoizedChannels, this).sub.delete(stringifiedPayload);\n result.then(() => {\n _classPrivateFieldGet(_channelPayloads, this).delete(channel);\n });\n return result;\n }\n onMessage(channel, listener) {\n let stringifiedPayload = _classPrivateFieldGet(_channelPayloads, this).get(channel);\n let warned = false;\n return _classPrivateGetter(_MessageDispatcher_brand, this, _get_ms).onMessage(response => {\n if (!stringifiedPayload) {\n stringifiedPayload = _classPrivateFieldGet(_channelPayloads, this).get(channel);\n }\n if (!stringifiedPayload) {\n if (!warned) {\n // eslint-disable-next-line no-console\n console.error(`Message channel: \"${channel}\" not found`);\n warned = true;\n }\n return;\n }\n if (response.event === \"MESSAGE.PUSH\" && matchMessageChannel(stringifiedPayload, response.payload)) {\n listener(response.payload.message);\n }\n });\n }\n onClose(listener) {\n return _classPrivateGetter(_MessageDispatcher_brand, this, _get_ms).onClose(listener);\n }\n reset() {\n var _classPrivateFieldGet2;\n _classPrivateFieldGet(_memoizedChannels, this).sub.clear();\n _classPrivateFieldGet(_memoizedChannels, this).unsub.clear();\n _classPrivateFieldGet(_channelPayloads, this).clear();\n (_classPrivateFieldGet2 = _classPrivateFieldGet(_ms, this)) === null || _classPrivateFieldGet2 === void 0 || _classPrivateFieldGet2.reset();\n }\n}\nfunction _get_ms(_this) {\n if (!_classPrivateFieldGet(_ms, _this)) {\n const protocol = location.protocol === \"https:\" ? \"wss:\" : \"ws:\";\n const url = `${protocol}//${window.location.host}${getBasePath()}api/websocket_service/v1/ws`;\n _classPrivateFieldSet(_ms, _this, new MessageService(url));\n }\n return _classPrivateFieldGet(_ms, _this);\n}\nfunction _subOrUnsub(type, channel, payload, stringifiedPayload) {\n const hit = _classPrivateFieldGet(_memoizedChannels, this)[type].get(stringifiedPayload);\n if (hit) {\n return hit;\n }\n const request = {\n event: type === \"sub\" ? \"TOPIC.SUB\" : \"TOPIC.UNSUB\",\n payload\n };\n const promise = new Promise((resolve, reject) => {\n const identity = getIdentity(payload);\n const disposeOnMessage = _classPrivateGetter(_MessageDispatcher_brand, this, _get_ms).onMessage(response => {\n const isSuccess = response.event === (type === \"sub\" ? \"TOPIC.SUB_SUCCESS\" : \"TOPIC.UNSUB_SUCCESS\");\n const isFailed = response.event === (type === \"sub\" ? \"TOPIC.SUB_FAILED\" : \"TOPIC.UNSUB_FAILED\");\n if ((isSuccess || isFailed) &&\n // Put this after event type checks, to prevent unnecessary\n // JSON stringify.\n identity === getIdentity(response.payload)) {\n (isSuccess ? resolve : reject)(response);\n disposeOnMessage();\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n disposeOnClose();\n }\n });\n // istanbul ignore next: currently can't mock this\n const disposeOnClose = _classPrivateGetter(_MessageDispatcher_brand, this, _get_ms).onClose(() => {\n // V2 will emit error callback for sub/unsub each time connect failed,\n // while v3 will emit only once after retry limit exceeded.\n // Keep the `EVENT.detail.retryCount` for compatibility.\n reject({\n retryCount: RETRY_LIMIT\n });\n disposeOnMessage();\n disposeOnClose();\n });\n _classPrivateGetter(_MessageDispatcher_brand, this, _get_ms).send(request);\n });\n if (type === \"sub\") {\n _classPrivateFieldGet(_channelPayloads, this).set(channel, stringifiedPayload);\n }\n _classPrivateFieldGet(_memoizedChannels, this)[type].set(stringifiedPayload, promise);\n return promise;\n}\nfunction getIdentity(payload) {\n const {\n system,\n topic\n } = payload;\n return JSON.stringify({\n system,\n topic\n });\n}\nfunction matchMessageChannel(stringifiedPayload, responsePayload) {\n const payload = JSON.parse(stringifiedPayload);\n return payload.system === responsePayload.system && (\n // Exact match\n payload.topic === responsePayload.topic ||\n // Wildcards match\n // For `ab.cd.*`:\n // - Matches `ab.cd.r` or `ab.cd.x.yz`\n // - DOES NOT match `ab.cd.x/yz` or `ab.x.cd` or `x.ab.cd.yz`\n typeof payload.topic === \"string\" && payload.topic.includes(\"*\") && new RegExp(`^${payload.topic.replace(/([^*]*)\\*([^*]*)/g, (_m, p1, p2) => `${escapeRegExp(p1)}[^/]*${escapeRegExp(p2)}`)}$`).test(responsePayload.topic));\n}\n//# sourceMappingURL=MessageDispatcher.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 查询独立部署小产品\n * @endpoint POST /api/v1/micro_app_standalone/search\n */\nexport var RuntimeApi_searchMicroAppStandalone = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (data, options) {\n return (/**! @contract easyops.api.micro_app_standalone.runtime.SearchMicroAppStandalone@1.0.1 */(yield http.post(\"api/gateway/micro_app_standalone.runtime.SearchMicroAppStandalone/api/v1/micro_app_standalone/search\", data, options)).data\n );\n });\n return function RuntimeApi_searchMicroAppStandalone(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=searchMicroAppStandalone.js.map","import { traverseStoryboardExpressions, collectInstalledAppsHasUsage } from \"@next-core/utils/storyboard\";\nimport { RuntimeApi_searchMicroAppStandalone } from \"@next-api-sdk/micro-app-standalone-sdk\";\nconst checkingApps = new Map();\nconst checkedApps = new Map();\nexport function preCheckInstalledApps(storyboard, hasAppInBootstrap) {\n if (window.STANDALONE_MICRO_APPS && !window.NO_AUTH_GUARD) {\n const appIds = scanInstalledAppsUsage(storyboard);\n const searchIds = [];\n for (const appId of appIds) {\n // Do not check these apps already checking or in bootstrap.\n if (!checkingApps.has(appId) && !hasAppInBootstrap(appId)) {\n searchIds.push(appId);\n }\n }\n if (searchIds.length === 0) {\n return;\n }\n const promise = RuntimeApi_searchMicroAppStandalone({\n query: {\n appId: {\n $in: searchIds\n }\n },\n fields: [\"appId\", \"currentVersion\", \"installStatus\"]\n }, {\n noAbortOnRouteChange: true\n }).catch(error => {\n // Allow search micro app to fail, and\n // make it not crash when the backend service is not updated.\n // eslint-disable-next-line no-console\n console.error(\"Get off site standalone micro-apps failed\", error);\n });\n for (const appId of searchIds) {\n checkingApps.set(appId, promise.then(result => {\n var _result$list;\n const app = result === null || result === void 0 || (_result$list = result.list) === null || _result$list === void 0 ? void 0 : _result$list.find(item => item.appId === appId);\n const checkedApp = app ? {\n ...app,\n id: appId\n } : undefined;\n checkedApps.set(appId, checkedApp);\n return checkedApp;\n }));\n }\n }\n}\nexport async function waitForCheckingApps(appIds) {\n await Promise.all(appIds.map(appId => checkingApps.get(appId)));\n}\nexport function getCheckedApp(appId) {\n if (window.STANDALONE_MICRO_APPS) {\n return checkedApps.get(appId);\n }\n}\nfunction scanInstalledAppsUsage(storyboard) {\n var _storyboard$meta;\n const usage = {\n usedArgs: new Set()\n };\n // `INSTALLED_APPS.has(...)` is not available in storyboard functions\n const {\n customTemplates,\n menus\n } = (_storyboard$meta = storyboard.meta) !== null && _storyboard$meta !== void 0 ? _storyboard$meta : {};\n traverseStoryboardExpressions([storyboard.routes, customTemplates, menus], (node, parent) => {\n collectInstalledAppsHasUsage(usage, node, parent);\n }, \"INSTALLED_APPS\");\n return [...usage.usedArgs];\n}\n//# sourceMappingURL=checkInstalledApps.js.map","import { createProviderClass } from \"@next-core/utils/general\";\nimport { http } from \"@next-core/http\";\nimport { isEmpty, isObject } from \"lodash\";\nimport { createSSEStream } from \"@next-core/utils/general\";\nexport const FLOW_API_PROVIDER = \"core.provider-flow-api\";\nfunction hasFields(ext_fields, type) {\n return ext_fields.some(item => item.source === type);\n}\nexport function processExtFields(ext_fields) {\n const hasQueryParams = hasFields(ext_fields, \"query\");\n const hasBodyParams = hasFields(ext_fields, \"body\");\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (hasQueryParams) {\n if (hasBodyParams) {\n const [data, params, options] = args;\n return {\n data: data,\n options: {\n params: params,\n ...options\n }\n };\n }\n const [params, options] = args;\n return {\n data: {},\n options: {\n params: params,\n ...options\n }\n };\n }\n\n // only hasBodyParams or default\n const [data, options] = args;\n return {\n data,\n options: options\n };\n}\nexport function hasFileType(request) {\n if ((request === null || request === void 0 ? void 0 : request.type) !== \"object\") {\n return false;\n }\n const processFields = fields => {\n return !isEmpty(fields) && fields.some(field => [\"file\", \"file[]\"].includes(field.type) || processFields(field.fields));\n };\n return processFields(request.fields);\n}\nexport function transformFormData(data) {\n if (data instanceof FormData) {\n return data;\n }\n const formData = new FormData();\n for (const [key, value] of Object.entries(data)) {\n if (Array.isArray(value)) {\n value.forEach(v => {\n formData.append(key, v);\n });\n } else if (isObject(value) && !(value instanceof Blob) && !(value instanceof Date)) {\n Object.entries(value).forEach(_ref => {\n let [k, v] = _ref;\n formData.append(`${key}[${k}]`, v);\n });\n } else {\n formData.append(key, value);\n }\n }\n return formData;\n}\nexport async function callFlowApi(_ref2) {\n let {\n url,\n originalUri,\n method = \"GET\",\n responseWrapper = true,\n ext_fields = [],\n request,\n isFileType,\n stream\n } = _ref2;\n const isSimpleRequest = [\"get\", \"delete\", \"head\"].includes(method.toLowerCase());\n const defaultOptions = isFileType ? {\n responseType: \"blob\"\n } : {};\n let response;\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n if (isSimpleRequest) {\n var _originalUri$match$le, _originalUri$match, _request$fields$lengt, _request$fields;\n const noParams = originalUri && (request === null || request === void 0 ? void 0 : request.type) === \"object\" ? ((_originalUri$match$le = (_originalUri$match = originalUri.match(/:([^/]+)/g)) === null || _originalUri$match === void 0 ? void 0 : _originalUri$match.length) !== null && _originalUri$match$le !== void 0 ? _originalUri$match$le : 0) === ((_request$fields$lengt = (_request$fields = request.fields) === null || _request$fields === void 0 ? void 0 : _request$fields.length) !== null && _request$fields$lengt !== void 0 ? _request$fields$lengt : 0) : false;\n let params;\n let options;\n if (noParams) {\n [options] = args;\n } else {\n [params, options] = args;\n }\n if (stream) {\n var _options$headers, _options;\n const stream = await createSSEStream(http.getUrlWithParams(url, params), {\n ...defaultOptions,\n ...options,\n method,\n headers: Object.fromEntries([...new Headers((_options$headers = (_options = options) === null || _options === void 0 ? void 0 : _options.headers) !== null && _options$headers !== void 0 ? _options$headers : {}).entries()])\n });\n return stream;\n }\n response = await http.simpleRequest(method, url, {\n params,\n ...defaultOptions,\n ...options\n });\n } else {\n const isUploadType = hasFileType(request);\n const result = processExtFields(ext_fields, ...args);\n const data = isUploadType ? transformFormData(result.data) : result.data;\n if (stream) {\n var _result$options;\n const {\n body,\n headers\n } = http.getBodyAndHeaders(data, (_result$options = result.options) === null || _result$options === void 0 ? void 0 : _result$options.headers);\n const stream = await createSSEStream(url, {\n ...defaultOptions,\n ...result.options,\n method,\n headers: Object.fromEntries([...new Headers(headers !== null && headers !== void 0 ? headers : {}).entries()]),\n body\n });\n return stream;\n }\n response = await http.requestWithBody(method, url, data, {\n ...defaultOptions,\n ...result.options\n });\n }\n return (isFileType ? false : responseWrapper) ? response.data : response;\n}\nexport function registerFlowApiProvider() {\n customElements.define(FLOW_API_PROVIDER, createProviderClass(callFlowApi));\n}\n//# sourceMappingURL=FlowApiProvider.js.map","import { http } from \"@next-core/http\";\n/**\n * @description 通过defaultOrg查找单个契约信息\n * @endpoint POST /api/contract/single_search\n */\nexport const ContractApi_searchSingleContract = async (data, options) => /**! @contract easyops.api.api_gateway.contract.SearchSingleContract@1.0.0 */(await http.post(\"api/contract/single_search\", data, options)).data;\n//# sourceMappingURL=searchSingleContract.js.map","const contractsMap = new Map();\nconst widgetContractMap = new Map();\nconst debugContractMap = new Map();\nconst addContract = (contracts, map) => {\n contracts === null || contracts === void 0 || contracts.forEach(contract => {\n map.set(`${contract.namespaceId}.${contract.name}`, contract);\n });\n};\nexport function collectContract(contracts) {\n addContract(contracts, contractsMap);\n}\nexport function collectWidgetContract(contracts) {\n addContract(contracts, widgetContractMap);\n}\nexport function clearCollectWidgetContract() {\n widgetContractMap.clear();\n}\nexport function collectDebugContract(contracts) {\n addContract(contracts, debugContractMap);\n}\nexport function clearDebugContract() {\n debugContractMap.clear();\n}\nexport function getContract(name) {\n return contractsMap.get(name) || widgetContractMap.get(name) || debugContractMap.get(name);\n}\n//# sourceMappingURL=CollectContracts.js.map","import yaml from \"js-yaml\";\nimport { ContractApi_searchSingleContract } from \"@next-api-sdk/api-gateway-sdk\";\nimport { getContract } from \"./CollectContracts.js\";\nconst remoteContractCache = new Map();\n\n// Legacy Custom API: `${namespace}@${name}`\n// Flow API: `${namespace}@${name}:${version}`\nexport function isFlowApiProvider(provider) {\n return provider.includes(\"@\");\n}\nexport async function getArgsOfFlowApi(provider, originalArgs, method, stream) {\n if (!provider.includes(\":\")) {\n throw new Error(`You're using legacy Custom API \"${provider}\" which is dropped in v3, please use Flow API instead`);\n }\n const apiDefinition = await fetchFlowApiDefinition(provider);\n if (!apiDefinition) {\n throw new FlowApiNotFoundError(`Flow API not found: \"${provider}\"`);\n }\n const apiProfile = getApiProfileFromApiDefinition(provider, apiDefinition);\n return getApiArgsFromApiProfile(apiProfile, originalArgs, method, stream);\n}\nfunction getApiArgsFromApiProfile(_ref, originalArgs, method, stream) {\n let {\n uri,\n method: apiMethod,\n ext_fields,\n name,\n namespace,\n serviceName,\n responseWrapper,\n version,\n isFileType,\n request\n } = _ref;\n // `saveAs` requires the first argument to be the filename.\n const isDownload = method === \"saveAs\";\n let fileName;\n if (isDownload) {\n fileName = originalArgs.shift();\n }\n const {\n url,\n args\n } = getTransformedUriAndRestArgs(uri, originalArgs, name, namespace, serviceName, version);\n return [...(isDownload ? [fileName] : []), {\n url,\n originalUri: uri,\n method: apiMethod,\n ext_fields,\n responseWrapper,\n request,\n isFileType,\n stream\n }, ...args];\n}\nfunction getTransformedUriAndRestArgs(uri, originalArgs, name, namespace, serviceName, version) {\n const prefix = version ? serviceName === \"logic.api.gateway\" || serviceName !== null && serviceName !== void 0 && serviceName.startsWith(\"logic.api.gateway.\") ? \"\" : serviceName ? `api/gateway/${serviceName}` : `api/gateway/${namespace}.${name}@${version}` : `api/gateway/api_service.${namespace}.${name}`;\n const restArgs = originalArgs.slice();\n const transformedUri = uri.replace(/:([^/]+)/g, () => restArgs.shift());\n return {\n url: prefix ? prefix + transformedUri : transformedUri.replace(/^\\//, \"\"),\n args: restArgs\n };\n}\nfunction getApiProfileFromApiDefinition(provider, api) {\n var _contract$endpoint, _contract$response;\n const contract = typeof api.contract === \"string\" ? yaml.safeLoad(api.contract, {\n schema: yaml.JSON_SCHEMA,\n json: true\n }) : api.contract;\n const {\n uri,\n method = \"GET\",\n ext_fields\n } = (_contract$endpoint = contract === null || contract === void 0 ? void 0 : contract.endpoint) !== null && _contract$endpoint !== void 0 ? _contract$endpoint : {};\n const responseWrapper = contract !== null && contract !== void 0 && contract.response ? contract.response.wrapper !== false : false;\n if (!uri) {\n throw new Error(`Missing endpoint.uri in contract of provider \"${provider}\"`);\n }\n return {\n uri,\n method: method.toLowerCase() === \"list\" ? \"get\" : method,\n ext_fields,\n name: api.name,\n namespace: api.namespace,\n serviceName: api.serviceName,\n version: api.version,\n isFileType: (contract === null || contract === void 0 || (_contract$response = contract.response) === null || _contract$response === void 0 ? void 0 : _contract$response.type) === \"file\",\n responseWrapper,\n request: contract === null || contract === void 0 ? void 0 : contract.request\n };\n}\nasync function fetchFlowApiDefinition(provider) {\n const [namespaceName, nameWithVersion] = provider.split(\"@\");\n const [name, version] = nameWithVersion.split(\":\");\n\n // Do not cache the result of `geContract`, which will lead to no contract\n // will be found when render twice immediately.\n const contract = getContract(`${namespaceName}.${name}`);\n if (contract) {\n return {\n name: contract.name,\n namespace: contract.namespaceId,\n serviceName: contract.serviceName,\n version: contract.version,\n contract: {\n endpoint: contract.endpoint,\n response: contract.response,\n request: contract.request\n }\n };\n }\n let promise = remoteContractCache.get(provider);\n if (!promise) {\n promise = fetchFlowApiDefinitionFromRemote(namespaceName, name, version);\n remoteContractCache.set(provider, promise);\n }\n return promise;\n}\nasync function fetchFlowApiDefinitionFromRemote(namespace, name, version) {\n var _contractData$namespa;\n const {\n contractData\n } = await ContractApi_searchSingleContract({\n contractName: `${namespace}.${name}`,\n version\n });\n\n // return undefined if don't found contract\n return contractData ? {\n name: contractData.name,\n namespace: (_contractData$namespa = contractData.namespace) === null || _contractData$namespa === void 0 || (_contractData$namespa = _contractData$namespa[0]) === null || _contractData$namespa === void 0 ? void 0 : _contractData$namespa.name,\n serviceName: contractData.serviceName,\n version: contractData.version,\n contract: {\n endpoint: contractData.endpoint,\n response: contractData.response,\n request: contractData.request\n }\n } : null;\n}\nclass FlowApiNotFoundError extends Error {\n constructor(message) {\n // Pass remaining arguments (including vendor specific ones) to parent constructor\n super(message);\n this.name = \"FlowApiNotFoundError\";\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n // istanbul ignore else\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, FlowApiNotFoundError);\n }\n }\n}\n//# sourceMappingURL=FlowApi.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 搜索实例\n * @endpoint POST /object/:objectId/instance/_search\n */\nexport var InstanceApi_postSearch = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (objectId, data, options) {\n return (/**! @contract easyops.api.cmdb.instance.PostSearch@1.1.0 */(yield http.post(\"api/gateway/cmdb.instance.PostSearch/object/\".concat(objectId, \"/instance/_search\"), data, options)).data\n );\n });\n return function InstanceApi_postSearch(_x, _x2, _x3) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=postSearch.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 获取菜单信息\n * @endpoint GET /api/v1/micro-app/menus/:menuId\n */\nexport var InstalledMicroAppApi_getMenusInfo = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (menuId, params, options) {\n return (/**! @contract easyops.api.micro_app.installed_micro_app.GetMenusInfo@1.0.0 */(yield http.get(\"api/gateway/micro_app.installed_micro_app.GetMenusInfo/api/v1/micro-app/menus/\".concat(menuId), _objectSpread(_objectSpread({}, options), {}, {\n params\n }))).data\n );\n });\n return function InstalledMicroAppApi_getMenusInfo(_x, _x2, _x3) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=getMenusInfo.js.map","export const symbolAppId = Symbol(\"appId\");\nexport const symbolMenuI18nNamespace = Symbol(\"menuI18nNamespace\");\nexport const symbolOverrideApp = Symbol(\"overrideApp\");\n//# sourceMappingURL=constants.js.map","import { i18n } from \"@next-core/i18n\";\nimport { symbolAppId, symbolMenuI18nNamespace, symbolOverrideApp } from \"./constants.js\";\nimport { loadDynamicMenuItems } from \"./loadDynamicMenuItems.js\";\nexport async function mergeMenu(menuList, runtimeContext, helpers) {\n const mainMenu = menuList.find(menu => menu.type !== \"inject\");\n if (!mainMenu) {\n return undefined;\n }\n const validMenuList = [];\n const injectWithMenus = new Map();\n const menuWithI18n = new WeakMap();\n for (const menu of menuList) {\n if (menu.i18n) {\n const menuI18nNamespace = `menu/${menu.menuId}~${menu.app[0].appId}+${menu.instanceId}`;\n // Support any language in `menu.i18n`.\n Object.entries(menu.i18n).forEach(_ref => {\n let [lang, resources] = _ref;\n i18n.addResourceBundle(lang, menuI18nNamespace, resources);\n });\n menuWithI18n.set(menu, menuI18nNamespace);\n }\n }\n await Promise.all(menuList.map(menu => loadDynamicMenuItems(menu, runtimeContext, menuWithI18n, helpers)));\n for (const menu of menuList) {\n var _menu$items;\n if ((_menu$items = menu.items) !== null && _menu$items !== void 0 && _menu$items.length) {\n if (menu.type === \"inject\" && menu.injectMenuGroupId) {\n let injectingMenus = injectWithMenus.get(menu.injectMenuGroupId);\n if (!injectingMenus) {\n injectingMenus = [];\n injectWithMenus.set(menu.injectMenuGroupId, injectingMenus);\n }\n injectingMenus.push(menu);\n } else {\n validMenuList.push(menu);\n }\n }\n }\n return {\n ...mainMenu,\n items: validMenuList.flatMap(menu =>\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n processGroupInject(menu.items, menu, injectWithMenus, menuWithI18n)),\n [symbolMenuI18nNamespace]: menuWithI18n.get(mainMenu),\n [symbolOverrideApp]: mainMenu.overrideApp\n };\n}\nfunction processGroupInject(items, menu, injectWithMenus, menuWithI18n) {\n return items === null || items === void 0 ? void 0 : items.map(item => {\n var _processGroupInject;\n const foundInjectingMenus = item.groupId && injectWithMenus.get(item.groupId);\n if (foundInjectingMenus) {\n // Each menu to be injected with should be injected only once.\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n injectWithMenus.delete(item.groupId);\n }\n return {\n ...item,\n children: ((_processGroupInject = processGroupInject(item.children, menu, injectWithMenus, menuWithI18n)) !== null && _processGroupInject !== void 0 ? _processGroupInject : []).concat(foundInjectingMenus ? foundInjectingMenus.flatMap(injectingMenu =>\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n processGroupInject(injectingMenu.items, injectingMenu, injectWithMenus, menuWithI18n)) : []),\n [symbolAppId]: menu.app[0].appId,\n [symbolMenuI18nNamespace]: menuWithI18n.get(menu),\n [symbolOverrideApp]: menu.overrideApp\n };\n });\n}\n//# sourceMappingURL=mergeMenu.js.map","import { preCheckPermissionsForAny } from \"../checkPermissions.js\";\nexport async function loadDynamicMenuItems(menu, runtimeContext, menuWithI18n, helpers) {\n if (menu.dynamicItems && menu.itemsResolve) {\n const overrideAppId = menu.app[0].appId;\n const newRuntimeContext = {\n ...runtimeContext,\n pendingPermissionsPreCheck: [...runtimeContext.pendingPermissionsPreCheck, preCheckPermissionsForAny(menu.itemsResolve)]\n };\n if (overrideAppId !== runtimeContext.app.id) {\n var _helpers$getStoryboar;\n newRuntimeContext.overrideApp = window.STANDALONE_MICRO_APPS ? menu.overrideApp : (_helpers$getStoryboar = helpers.getStoryboardByAppId(overrideAppId)) === null || _helpers$getStoryboar === void 0 ? void 0 : _helpers$getStoryboar.app;\n newRuntimeContext.appendI18nNamespace = menuWithI18n.get(menu);\n }\n const resolved = await helpers.resolveData({\n transform: \"items\",\n ...menu.itemsResolve\n }, newRuntimeContext);\n menu.items = resolved.items;\n }\n}\n//# sourceMappingURL=loadDynamicMenuItems.js.map","import { sortBy } from \"lodash\";\nexport function reorderMenu(menuData) {\n menuData.items = reorderMenuItems(menuData.items);\n}\nfunction reorderMenuItems(list) {\n return sortMenuItems(list).map(item => ({\n ...item,\n children: reorderMenuItems(item.children)\n }));\n}\nfunction sortMenuItems(list) {\n return sortBy(list, item => {\n var _item$sort;\n return (_item$sort = item.sort) !== null && _item$sort !== void 0 ? _item$sort : -Infinity;\n });\n}\n//# sourceMappingURL=reorderMenuItems.js.map","import { symbolAppId, symbolMenuI18nNamespace, symbolOverrideApp } from \"./constants.js\";\nimport { hasOwnProperty, isObject } from \"@next-core/utils/general\";\nimport { pipes } from \"@next-core/pipes\";\nimport { isEvaluable } from \"@next-core/cook\";\nexport function computeMenuData(data, overrideAppId, runtimeContext, helpers) {\n if (\"titleDataSource\" in data && isObject(data.titleDataSource) && Object.entries(data.titleDataSource).every(_ref => {\n let [, value] = _ref;\n return value === null || value === \"\";\n })) {\n delete data.titleDataSource;\n }\n if (\"if\" in data && data.if === null) {\n delete data.if;\n }\n if (\"to\" in data && data.to && !isEvaluable(data.to)) {\n const yaml = pipes.yaml(data.to);\n if (isObject(yaml) && [\"pathname\", \"search\", \"hash\"].some(key => hasOwnProperty(yaml, key))) {\n data.to = yaml;\n }\n }\n let newRuntimeContext = runtimeContext;\n if (overrideAppId !== runtimeContext.app.id) {\n var _helpers$getStoryboar;\n const overrideApp = window.STANDALONE_MICRO_APPS ? data[symbolOverrideApp] : (_helpers$getStoryboar = helpers.getStoryboardByAppId(overrideAppId)) === null || _helpers$getStoryboar === void 0 ? void 0 : _helpers$getStoryboar.app;\n newRuntimeContext = {\n ...runtimeContext,\n overrideApp,\n appendI18nNamespace: data[symbolMenuI18nNamespace]\n };\n }\n return helpers.asyncComputeRealValue(data, newRuntimeContext, {\n ignoreSymbols: true\n });\n}\nexport function computeMenuItems(items, runtimeContext, helpers) {\n return Promise.all(items.map(async _ref2 => {\n let {\n children,\n ...rest\n } = _ref2;\n const [computedRest, computedChildren] = await Promise.all([computeMenuData(rest, rest[symbolAppId], runtimeContext, helpers), children && (await computeMenuItems(children, runtimeContext, helpers))]);\n return {\n ...computedRest,\n children: computedChildren\n };\n }));\n}\n//# sourceMappingURL=computeMenuData.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 获取实例详情\n * @endpoint GET /object/:objectId/instance/:instanceId\n */\nexport var InstanceApi_getDetail = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (objectId, instanceId, params, options) {\n return (/**! @contract easyops.api.cmdb.instance.GetDetail@1.0.0 */(yield http.get(\"api/gateway/cmdb.instance.GetDetail/object/\".concat(objectId, \"/instance/\").concat(instanceId), _objectSpread(_objectSpread({}, options), {}, {\n params\n }))).data\n );\n });\n return function InstanceApi_getDetail(_x, _x2, _x3, _x4) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=getDetail.js.map","import { isEmpty } from \"lodash\";\nimport { InstanceApi_getDetail } from \"@next-api-sdk/cmdb-sdk\";\nconst menuTitleCache = new Map();\nexport async function fetchMenuTitle(menuData) {\n if (menuData.title || isEmpty(menuData.titleDataSource)) {\n return menuData.title;\n }\n const cacheKey = JSON.stringify(menuData.titleDataSource);\n const cachedTitle = menuTitleCache.get(cacheKey);\n if (cachedTitle !== undefined) {\n return cachedTitle;\n }\n const {\n objectId,\n instanceId,\n attributeId\n } = menuData.titleDataSource;\n const attr = attributeId !== null && attributeId !== void 0 ? attributeId : \"name\";\n const instanceData = await InstanceApi_getDetail(objectId, instanceId, {\n fields: attr\n });\n let title;\n if (attributeId === \"#showKey\" && Array.isArray(instanceData[attr])) {\n const [primary, ...rest] = instanceData[attr];\n title = rest.length > 0 ? `${primary}(${rest.join(\",\")})` : String(primary);\n } else {\n title = String(instanceData[attr]);\n }\n menuTitleCache.set(cacheKey, title);\n return title;\n}\n//# sourceMappingURL=fetchMenuTitle.js.map","import { InstanceApi_postSearch } from \"@next-api-sdk/cmdb-sdk\";\nimport { InstalledMicroAppApi_getMenusInfo } from \"@next-api-sdk/micro-app-sdk\";\nimport { omit, pick } from \"lodash\";\nimport { checkIfOfComputed } from \"@next-core/runtime\";\nimport { mergeMenu } from \"./mergeMenu.js\";\nimport { reorderMenu } from \"./reorderMenuItems.js\";\nimport { computeMenuItems, computeMenuData } from \"./computeMenuData.js\";\nimport { fetchMenuTitle } from \"./fetchMenuTitle.js\";\nimport { getMenusOfStandaloneApp } from \"./getMenusOfStandaloneApp.js\";\nimport { preCheckPermissionsForAny } from \"../checkPermissions.js\";\nimport { isBlockedHref, isBlockedUrl } from \"../auth.js\";\nconst menuPromises = new Map();\nconst menuCache = new Map();\nfunction transformMenuItems(menuItems) {\n return menuItems === null || menuItems === void 0 ? void 0 : menuItems.filter(checkIfOfComputed).map(item => {\n const children = transformMenuItems(item.children);\n const transformedMenuItem = item.type === \"group\" ? {\n type: \"group\",\n title: item.text,\n childLayout: item.childLayout,\n items: children,\n groupId: item.groupId,\n groupFrom: item.groupFrom\n } : children !== null && children !== void 0 && children.length ? {\n type: \"subMenu\",\n childLayout: item.childLayout,\n title: item.text,\n icon: item.icon,\n items: children,\n defaultExpanded: item.defaultExpanded\n } : isMenuItemBlocked(item) ? null : omit(item, [\"type\", \"items\", \"children\"]);\n return transformedMenuItem;\n }).filter(Boolean);\n}\nfunction isMenuItemBlocked(item) {\n return item.href ? isBlockedHref(item.href) : item.to ? isBlockedUrl(item.to) : false;\n}\nexport function getMenuById(menuId) {\n return menuCache.get(menuId);\n}\nexport function fetchMenuById(menuId, runtimeContext, helpers) {\n let promise = menuPromises.get(menuId);\n if (!promise) {\n promise = _fetchMenuById(menuId, runtimeContext, helpers);\n }\n return promise;\n}\nasync function _fetchMenuById(menuId, runtimeContext, helpers) {\n const menuList = window.STANDALONE_MICRO_APPS ? getMenusOfStandaloneApp(menuId, runtimeContext.app.id, helpers) : runtimeContext.flags[\"three-level-menu-layout\"] ? (await InstalledMicroAppApi_getMenusInfo(menuId, {\n menuObjectId: \"EASYOPS_STORYBOARD_MENU\"\n })).menus : (await InstanceApi_postSearch(\"EASYOPS_STORYBOARD_MENU\", {\n page: 1,\n page_size: 200,\n fields: {\n menuId: true,\n title: true,\n icon: true,\n link: true,\n titleDataSource: true,\n defaultCollapsed: true,\n defaultCollapsedBreakpoint: true,\n type: true,\n injectMenuGroupId: true,\n dynamicItems: true,\n itemsResolve: true,\n items: true,\n i18n: true,\n \"items.children\": true,\n \"app.appId\": true\n },\n query: {\n menuId: {\n $eq: menuId\n },\n app: {\n $size: {\n $gt: 0\n }\n }\n }\n })).list;\n const menuData = await mergeMenu(menuList, runtimeContext, helpers);\n if (!menuData) {\n throw new Error(`Menu not found: ${menuId}`);\n }\n reorderMenu(menuData);\n const {\n items,\n app,\n ...restMenuData\n } = menuData;\n const newRuntimeContext = {\n ...runtimeContext,\n pendingPermissionsPreCheck: [...runtimeContext.pendingPermissionsPreCheck, preCheckPermissionsForAny([items, restMenuData])]\n };\n delete newRuntimeContext.tplStateStoreId;\n delete newRuntimeContext.forEachItem;\n delete newRuntimeContext.forEachIndex;\n delete newRuntimeContext.forEachSize;\n const rootAppId = app[0].appId;\n const [computedMenuData, computedMenuItems] = await Promise.all([computeMenuData(restMenuData, rootAppId, newRuntimeContext, helpers), computeMenuItems(items, newRuntimeContext, helpers)]);\n const finalMenuData = {\n title: await fetchMenuTitle(computedMenuData),\n ...pick(computedMenuData, [\"icon\", \"link\", \"defaultCollapsed\", \"defaultCollapsedBreakpoint\"]),\n menuItems: transformMenuItems(computedMenuItems)\n };\n\n // Todo(steve): reconsider the menu cache strategy\n menuCache.set(menuId, finalMenuData);\n}\n//# sourceMappingURL=fetchMenuById.js.map","export function getMenusOfStandaloneApp(menuId, appId, helpers) {\n var _ref, _storyboard$meta$inje, _storyboard$meta, _storyboard$meta2;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const storyboard = helpers.getStoryboardByAppId(appId);\n const menus = (_ref = (_storyboard$meta$inje = (_storyboard$meta = storyboard.meta) === null || _storyboard$meta === void 0 ? void 0 : _storyboard$meta.injectMenus) !== null && _storyboard$meta$inje !== void 0 ? _storyboard$meta$inje : (_storyboard$meta2 = storyboard.meta) === null || _storyboard$meta2 === void 0 ? void 0 : _storyboard$meta2.menus) !== null && _ref !== void 0 ? _ref : [];\n return menus.filter(menu => menu.menuId === menuId).map(menu => {\n var _menu$app;\n return {\n ...menu,\n ...((_menu$app = menu.app) !== null && _menu$app !== void 0 && (_menu$app = _menu$app[0]) !== null && _menu$app !== void 0 && _menu$app.appId ? {} : {\n app: [{\n appId\n }]\n })\n };\n });\n\n // Todo: maybe: fetch menus from STANDALONE_MENU@EASYOPS\n}\n//# sourceMappingURL=getMenusOfStandaloneApp.js.map","export const events = [];\nconst MAXIMUM_WAITING_TIME = 5 * 1000;\nconst MAXIMUM_LOGGED_EVENTS = 10;\nlet timer = null;\nexport const transportOptions = {\n maxWaitingTime: MAXIMUM_WAITING_TIME,\n maxLoggedEvents: MAXIMUM_LOGGED_EVENTS\n};\nexport function createTransport(api, options) {\n Object.assign(transportOptions, {\n ...options,\n api\n });\n return {\n sendOnExit,\n emit\n };\n}\nfunction nextTime(callback) {\n return (window.requestIdleCallback || window.requestAnimationFrame || (cb => setTimeout(cb, 17)))(callback);\n}\nfunction emit() {\n clearTimeout(timer);\n events.length > transportOptions.maxLoggedEvents ? send() : timer = setTimeout(send, transportOptions.maxWaitingTime);\n}\nfunction send() {\n if (events.length === 0) {\n return;\n }\n const transportEvents = events.splice(0, transportOptions.maxLoggedEvents);\n const transportData = buildTransportData(transportEvents);\n sendBeacon(transportOptions.api, transportData);\n events.length && nextTime(send);\n}\nfunction sendBeacon(requestUrl, data) {\n const headers = {\n type: \"application/json\"\n };\n const blob = new Blob([JSON.stringify(data)], headers);\n window.navigator.sendBeacon(requestUrl, blob);\n}\nfunction sendOnExit() {\n window.addEventListener(\"beforeunload\", send, false);\n}\nfunction buildTransportData(data) {\n return {\n model: \"easyops.FRONTEND_STAT\",\n columns: [\"_ver\", \"st\", \"et\", \"lt\", \"size\", \"time\", \"traceId\", \"code\", \"duration\", \"page\", \"uid\", \"username\", \"api\", \"type\", \"msg\", \"status\", \"pageId\", \"route\", \"apiCount\", \"maxApiTimeCost\", \"apiSizeCost\", \"pageTitle\"],\n data\n };\n}\n//# sourceMappingURL=transport.js.map","import { createTransport, events } from \"./transport.js\";\nlet initialized = false;\nlet transport;\nlet pageState = null;\nlet isFirstPageView = true;\nconst stashedApiMetrics = [];\nexport function initialize(api) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (initialized) {\n return;\n }\n initialized = true;\n if (!transport) {\n transport = createTransport(api, options);\n transport.sendOnExit();\n }\n}\nexport function createPageView() {\n stashedApiMetrics.length = 0;\n pageState = null;\n}\nexport function finishPageView(metric) {\n const pageId = generateUUID();\n const {\n lt,\n route\n } = metric;\n pageState = {\n lt,\n route,\n pageId\n };\n events.push({\n ...metric,\n pageId,\n apiCount: stashedApiMetrics.length,\n maxApiTimeCost: Math.max(0, ...stashedApiMetrics.map(api => api.duration)),\n size: stashedApiMetrics.map(api => api.size).filter(size => size > 0).reduce((prev, current) => prev + current, 0)\n });\n for (const item of stashedApiMetrics) {\n events.push({\n ...item,\n ...pageState\n });\n }\n stashedApiMetrics.length = 0;\n transport.emit();\n}\nexport function earlyFinishPageView() {\n events.push(...stashedApiMetrics);\n stashedApiMetrics.length = 0;\n}\nexport function pushApiMetric(metric) {\n if (pageState) {\n events.push({\n ...metric,\n type: \"apiRequest\",\n ...pageState\n });\n } else {\n stashedApiMetrics.push(metric);\n }\n}\n\n// Ref https://medium.com/teads-engineering/generating-uuids-at-scale-on-the-web-2877f529d2a2\nfunction generateUUID() {\n const url = URL.createObjectURL(new Blob([]));\n let uuid = url.substring(url.lastIndexOf(\"/\") + 1);\n URL.revokeObjectURL(url);\n // 第一次渲染加上特殊标记\n if (isFirstPageView) {\n uuid = \"88-\" + uuid;\n isFirstPageView = false;\n }\n return uuid;\n}\n//# sourceMappingURL=analytics.js.map","import { HttpResponseError, HttpParseError, HttpAbortError } from \"@next-core/http\";\nimport { isObject } from \"@next-core/utils/general\";\nimport { getAuth } from \"../auth.js\";\nimport { pushApiMetric } from \"./analytics.js\";\nconst symbolHttpAnalytics = Symbol(\"HttpAnalytics\");\nexport function onRequest(config) {\n const perfStartTime = Math.round(performance.now());\n const st = Date.now();\n config[symbolHttpAnalytics] = {\n st,\n time: Math.round(st / 1000),\n perfStartTime\n };\n return config;\n}\nexport function onResponse(response, config) {\n return onResponseOrError(false, response, config);\n}\nexport function onResponseError(error, config) {\n return onResponseOrError(true, error, config);\n}\nfunction onResponseOrError(hasError, responseOrError, config) {\n const perfEndTime = Math.round(performance.now());\n const et = Date.now();\n const {\n [symbolHttpAnalytics]: meta,\n url\n } = config;\n if (meta && !(hasError && responseOrError instanceof HttpAbortError)) {\n delete config[symbolHttpAnalytics];\n const {\n st,\n time,\n perfStartTime\n } = meta;\n const {\n userInstanceId: uid,\n username\n } = getAuth();\n let code;\n let message;\n let traceId;\n let size;\n let status;\n let headers;\n let data;\n if (hasError) {\n const isHttpResponseError = responseOrError instanceof HttpResponseError;\n if (isHttpResponseError || responseOrError instanceof HttpParseError) {\n ({\n status,\n headers\n } = responseOrError.response);\n if (isHttpResponseError) {\n data = responseOrError.responseJson;\n }\n }\n } else {\n ({\n status,\n data,\n headers\n } = responseOrError);\n }\n if (isObject(data)) {\n ({\n code,\n message\n } = data);\n }\n if (headers instanceof Headers) {\n traceId = headers.get(\"x-b3-traceid\");\n size = headers.get(\"content-length\");\n }\n pushApiMetric({\n st,\n _ver: st,\n uid,\n username,\n time,\n et,\n page: location.href,\n duration: perfEndTime - perfStartTime,\n api: url,\n type: \"api\",\n code: code !== null && code !== void 0 ? code : -1,\n msg: message !== null && message !== void 0 ? message : \"\",\n status,\n traceId: traceId !== null && traceId !== void 0 ? traceId : \"\",\n size: size ? Number(size) : -1\n });\n }\n return hasError ? Promise.reject(responseOrError) : responseOrError;\n}\n//# sourceMappingURL=http.js.map","import { createPageView, earlyFinishPageView, finishPageView } from \"./analytics.js\";\nimport { getAuth } from \"../auth.js\";\nexport function create() {\n const perfStartTime = Math.round(performance.now());\n const startTime = Date.now();\n createPageView();\n return function finish(_ref) {\n let {\n status,\n path,\n pageTitle\n } = _ref;\n if (status !== \"ok\") {\n earlyFinishPageView();\n return;\n }\n const renderTime = Math.round(performance.now()) - perfStartTime;\n const endTime = Date.now();\n const {\n username\n } = getAuth();\n finishPageView({\n type: \"page\",\n page: location.href,\n _ver: startTime,\n time: Math.round(startTime / 1000),\n st: startTime,\n et: endTime,\n lt: renderTime,\n pageTitle,\n username,\n route: path\n });\n\n // For bricks which would take actions with render time.\n window.dispatchEvent(new CustomEvent(\"route.render\", {\n detail: {\n renderTime\n }\n }));\n };\n}\n//# sourceMappingURL=pageView.js.map","// istanbul ignore file\nimport { checkPermissions as _checkPermissions, preCheckPermissions, preCheckPermissionsForBrickOrRoute } from \"./checkPermissions.js\";\nimport { MessageDispatcher } from \"./websocket/MessageDispatcher.js\";\nimport * as authV3 from \"./auth.js\";\nimport { authV2Factory } from \"./auth-v2.js\";\nimport * as _checkInstalledApps from \"./checkInstalledApps.js\";\nexport { _checkInstalledApps as checkInstalledApps };\nimport * as _flowApi from \"./flowApi/index.js\";\nexport { _flowApi as flowApi };\nimport * as _menu from \"./menu/index.js\";\nexport { _menu as menu };\nimport * as _analytics from \"./analytics/index.js\";\nexport { _analytics as analytics };\nexport const checkPermissions = Object.freeze({\n checkPermissions: _checkPermissions,\n preCheckPermissions,\n preCheckPermissionsForBrickOrRoute\n});\nexport const messageDispatcher = new MessageDispatcher();\nexport const auth = authV2Factory() || authV3;\n//# sourceMappingURL=index.js.map","// istanbul ignore file\nimport { getV2RuntimeFromDll } from \"@next-core/runtime\";\nimport { pick } from \"lodash\";\nexport function authV2Factory() {\n const v2Kit = getV2RuntimeFromDll();\n if (v2Kit) {\n return Object.freeze(pick(v2Kit, [\"authenticate\", \"getAuth\", \"isLoggedIn\", \"logout\", \"isBlockedPath\", \"isBlockedUrl\", \"isBlockedHref\"]));\n }\n}\n//# sourceMappingURL=auth-v2.js.map"],"names":["asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","this","args","arguments","apply","err","undefined","PermissionApi_validatePermissions","_ref","data","options","http","post","_x","_x2","auth","authenticate","newAuth","Object","assign","org","username","userInstanceId","loginFrom","accessRule","isAdmin","csrfToken","license","accessToken","userShowValue","getAuth","logout","keys","checkingPermissions","clear","checkedPermissions","length","permissionMap","isLoggedIn","isBlockedPath","pathname","_auth$license","blackList","some","path","matchPath","isBlockedUrl","url","createLocation","isBlockedHref","href","basePath","getBasePath","URL","location","origin","startsWith","substring","Map","preCheckPermissionsForAny","validatePermissions","scanPermissionActionsInAny","async","usedActions","uncheckedActions","filter","action","includes","checkingTasks","restActions","promise","get","push","task","result","actions","noAbortOnRouteChange","item","set","authorizationStatus","console","all","_url","WeakMap","_ws","_queuedMessages","_messageListeners","_closeListeners","_retryCount","_closed","_MessageService_brand","WeakSet","MessageService","constructor","Set","send","_connect","call","stringifiedData","JSON","stringify","readyState","WebSocket","OPEN","onMessage","listener","add","delete","onClose","reset","close","_classPrivateFieldGet2","log","ws","resetRetryCountTimeout","addEventListener","e","setTimeout","msg","clearTimeout","code","_reconnect","response","parse","delay","Math","pow","_this$retryCount","_ms","_memoizedChannels","_channelPayloads","_MessageDispatcher_brand","_get_ms","_this","protocol","window","host","_subOrUnsub","type","channel","payload","stringifiedPayload","hit","request","event","identity","getIdentity","disposeOnMessage","isSuccess","isFailed","disposeOnClose","retryCount","system","topic","RuntimeApi_searchMicroAppStandalone","checkingApps","checkedApps","preCheckInstalledApps","storyboard","hasAppInBootstrap","STANDALONE_MICRO_APPS","NO_AUTH_GUARD","appIds","_storyboard$meta","usage","usedArgs","customTemplates","menus","meta","traverseStoryboardExpressions","routes","node","parent","collectInstalledAppsHasUsage","scanInstalledAppsUsage","searchIds","appId","has","query","$in","fields","catch","_result$list","app","list","find","checkedApp","id","waitForCheckingApps","map","getCheckedApp","FLOW_API_PROVIDER","hasFields","ext_fields","source","callFlowApi","_ref2","originalUri","method","responseWrapper","isFileType","stream","isSimpleRequest","toLowerCase","defaultOptions","responseType","_len2","Array","_key2","_originalUri$match$le","_originalUri$match","_request$fields$lengt","_request$fields","params","_options$headers","_options","match","createSSEStream","getUrlWithParams","headers","fromEntries","Headers","entries","simpleRequest","isUploadType","processFields","isEmpty","field","hasFileType","hasQueryParams","hasBodyParams","_len","_key","processExtFields","FormData","formData","isArray","forEach","v","append","isObject","Blob","Date","k","transformFormData","_result$options","body","getBodyAndHeaders","requestWithBody","registerFlowApiProvider","customElements","define","createProviderClass","ContractApi_searchSingleContract","contractsMap","widgetContractMap","debugContractMap","addContract","contracts","contract","namespaceId","name","collectContract","collectWidgetContract","clearCollectWidgetContract","collectDebugContract","clearDebugContract","remoteContractCache","isFlowApiProvider","provider","getArgsOfFlowApi","originalArgs","Error","apiDefinition","namespaceName","nameWithVersion","split","version","getContract","namespace","serviceName","endpoint","_contractData$namespa","contractData","contractName","fetchFlowApiDefinitionFromRemote","fetchFlowApiDefinition","FlowApiNotFoundError","apiProfile","api","_contract$endpoint","_contract$response","schema","json","uri","wrapper","getApiProfileFromApiDefinition","apiMethod","isDownload","fileName","shift","prefix","restArgs","slice","transformedUri","replace","getTransformedUriAndRestArgs","getApiArgsFromApiProfile","message","super","captureStackTrace","InstanceApi_postSearch","objectId","concat","_x3","InstalledMicroAppApi_getMenusInfo","menuId","symbolAppId","Symbol","symbolMenuI18nNamespace","symbolOverrideApp","mergeMenu","menuList","runtimeContext","helpers","mainMenu","menu","validMenuList","injectWithMenus","menuWithI18n","i18n","menuI18nNamespace","instanceId","lang","resources","addResourceBundle","dynamicItems","itemsResolve","overrideAppId","newRuntimeContext","pendingPermissionsPreCheck","_helpers$getStoryboar","overrideApp","getStoryboardByAppId","appendI18nNamespace","resolved","resolveData","transform","items","loadDynamicMenuItems","_menu$items","injectMenuGroupId","injectingMenus","flatMap","processGroupInject","_processGroupInject","foundInjectingMenus","groupId","children","injectingMenu","reorderMenu","menuData","reorderMenuItems","sortBy","_item$sort","sort","sortMenuItems","computeMenuData","titleDataSource","every","if","to","isEvaluable","yaml","pipes","hasOwnProperty","asyncComputeRealValue","ignoreSymbols","computeMenuItems","rest","computedRest","computedChildren","InstanceApi_getDetail","_x4","menuTitleCache","fetchMenuTitle","title","cacheKey","cachedTitle","attributeId","attr","instanceData","primary","join","String","menuPromises","menuCache","transformMenuItems","menuItems","checkIfOfComputed","text","childLayout","groupFrom","icon","defaultExpanded","isMenuItemBlocked","omit","Boolean","getMenuById","fetchMenuById","_storyboard$meta$inje","_storyboard$meta2","injectMenus","_menu$app","getMenusOfStandaloneApp","flags","menuObjectId","page","page_size","link","defaultCollapsed","defaultCollapsedBreakpoint","$eq","$size","$gt","restMenuData","tplStateStoreId","forEachItem","forEachIndex","forEachSize","rootAppId","computedMenuData","computedMenuItems","finalMenuData","pick","_fetchMenuById","events","timer","transportOptions","maxWaitingTime","maxLoggedEvents","emit","transportData","model","columns","splice","callback","requestUrl","blob","navigator","sendBeacon","requestIdleCallback","requestAnimationFrame","cb","sendOnExit","transport","initialized","pageState","isFirstPageView","stashedApiMetrics","initialize","createTransport","symbolHttpAnalytics","onRequest","config","perfStartTime","round","performance","now","st","time","onResponse","onResponseOrError","onResponseError","hasError","responseOrError","perfEndTime","et","HttpAbortError","uid","traceId","size","status","isHttpResponseError","HttpResponseError","HttpParseError","responseJson","metric","_ver","duration","Number","create","startTime","pageTitle","renderTime","endTime","pageId","createObjectURL","uuid","lastIndexOf","revokeObjectURL","generateUUID","lt","route","apiCount","maxApiTimeCost","max","reduce","prev","current","finishPageView","dispatchEvent","CustomEvent","detail","freeze","checkPermissions","preCheckPermissions","scanPermissionActionsInStoryboard","preCheckPermissionsForBrickOrRoute","container","permissionsPreCheck","messageDispatcher","sub","unsub","subscribe","unsubscribe","warned","responsePayload","RegExp","_m","p1","p2","escapeRegExp","test","matchMessageChannel","v2Kit","getV2RuntimeFromDll","authV2Factory"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[437],{79:(e,t,n)=>{n.d(t,{I:()=>s,K:()=>a,NS:()=>r,t:()=>l});var o=n(3922);let a=function(e){return e.YES="YES",e.NO="NO",e.CONFIRM="CONFIRM",e.ADD_STEP="ADD_STEP",e.RESET_PLAN="RESET_PLAN",e.PLAN_COMPLETED="PLAN_COMPLETED",e.TASK_COMPLETED="TASK_COMPLETED",e.SHARE="SHARE",e.TYPE_YOUR_MESSAGE_HERE="TYPE_YOUR_MESSAGE_HERE",e.ARGUMENTS="ARGUMENTS",e.RESPONSE="RESPONSE",e.CONFIRMING_PLAN_TIPS="CONFIRMING_PLAN_TIPS",e.PAUSE_THE_TASK="PAUSE_THE_TASK",e.RESUME_THE_TASK="RESUME_THE_TASK",e.STOP_THE_TASK="STOP_THE_TASK",e.CONFIRM_TO_STOP_THE_TASK_TITLE="CONFIRM_TO_STOP_THE_TASK_TITLE",e.CONFIRM_TO_STOP_THE_TASK_CONTENT="CONFIRM_TO_STOP_THE_TASK_CONTENT",e.cmdb_create_app_system="cmdb_create_app_system",e.cmdb_create_service_set="cmdb_create_service_set",e.cmdb_append_host_to_service_set="cmdb_append_host_to_service_set",e.cmdb_create_agent_scan_job="cmdb_create_agent_scan_job",e.cmdb_service_node_clustering="cmdb_service_node_clustering",e.ask_human="ask_human",e.ask_human_confirming_plan="ask_human_confirming_plan",e}({});const r="bricks/ai-portal/cruise-canvas",s={en:{YES:"Yes",NO:"No",CONFIRM:"Confirm",ADD_STEP:"Add step",RESET_PLAN:"Reset plan",PLAN_COMPLETED:"All jobs done",TASK_COMPLETED:"Task completed",SHARE:"Share",TYPE_YOUR_MESSAGE_HERE:"Type your message here",ARGUMENTS:"Arguments",RESPONSE:"Response",CONFIRMING_PLAN_TIPS:"According to your request, I have made the following plan:",PAUSE_THE_TASK:"Pause the task",RESUME_THE_TASK:"Resume the task",STOP_THE_TASK:"Stop the task",CONFIRM_TO_STOP_THE_TASK_TITLE:"Are you sure to stop the task?",CONFIRM_TO_STOP_THE_TASK_CONTENT:"The task can not be resumed after been stopped.",cmdb_create_app_system:"Create app system",cmdb_create_service_set:"Create service set",cmdb_append_host_to_service_set:"Append host to service set",cmdb_create_agent_scan_job:"Create agent scan job",cmdb_service_node_clustering:"Service node clustering",ask_human:"Ask user",ask_human_confirming_plan:"Ask user to confirm the plan"},zh:{YES:"是",NO:"否",CONFIRM:"确认",ADD_STEP:"添加步骤",RESET_PLAN:"重置计划",PLAN_COMPLETED:"所有任务已全部完成",TASK_COMPLETED:"任务完成",SHARE:"分享",TYPE_YOUR_MESSAGE_HERE:"在这里输入信息",ARGUMENTS:"参数",RESPONSE:"响应",CONFIRMING_PLAN_TIPS:"根据你的需求,我已制定如下计划:",PAUSE_THE_TASK:"暂停任务",RESUME_THE_TASK:"恢复任务",STOP_THE_TASK:"停止任务",CONFIRM_TO_STOP_THE_TASK_TITLE:"确定终止任务吗?",CONFIRM_TO_STOP_THE_TASK_CONTENT:"任务终止后将无法再恢复运行。",cmdb_create_app_system:"创建应用系统",cmdb_create_service_set:"创建服务集",cmdb_append_host_to_service_set:"将主机添加到服务集",cmdb_create_agent_scan_job:"创建 agent 扫描任务",cmdb_service_node_clustering:"服务节点聚类",ask_human:"询问用户",ask_human_confirming_plan:"询问用户确认计划"}},l=o.i18n.getFixedT(null,r)},973:(e,t,n)=>{n.d(t,{u:()=>o,G:()=>a});const o=e=>{var t,n;return null!=e&&null!==(t=e[0])&&void 0!==t&&t.parts?null==e||null===(n=e[0])||void 0===n||null===(n=n.parts)||void 0===n?void 0:n.filter((e=>{var t;return"data"===e.type&&"progress"===(null===(t=e.data)||void 0===t?void 0:t.type)})):[]},a=e=>null==e?void 0:e.at(-1)},1451:(e,t,n)=>{n.d(t,{e:()=>d});var o=n(9575),a=n(8769),r=n(9435),s=n(9126);const l=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break","white-space"];let i;const c=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey",d=a.forwardRef(u);function u(e,t){let{autoResize:n,minRows:d,maxRows:u,borderSize:p,paddingSize:m,containerRef:g,value:b,style:f,submitWhen:h,onChange:x,onSubmit:k,onKeyDown:w,onCompositionStart:E,onCompositionEnd:v,...y}=e;const _=null==n||n,[A,T]=(0,a.useState)(null!=b?b:""),S=(0,a.useRef)(null),[N,C]=(0,a.useState)(null);(0,a.useImperativeHandle)(t,(()=>({focus:()=>{const e=S.current;if(e){var t;const n=null===(t=e.value)||void 0===t?void 0:t.length;e.focus(),n&&e.setSelectionRange(n,n)}}})),[]);const H=(0,a.useCallback)((()=>{const e=S.current;if(e&&_){const t=function(e,t){const{minRows:n=null,maxRows:o=null,borderSize:a=2,paddingSize:r=8}=null!=t?t:{};i||(i=document.createElement("textarea"),i.setAttribute("tab-index","-1"),i.setAttribute("aria-hidden","true"),document.body.appendChild(i));const s=window.getComputedStyle(e),c=l.map((e=>`${e}:${s.getPropertyValue(e)}`)).join(";");let d,u,p;i.setAttribute("style",`${c};\n min-height: 0!important;\n max-height: none!important;\n height: 0!important;\n visibility: hidden!important;\n overflow: hidden!important;\n position: absolute!important;\n z-index: -1000!important;\n top: 0!important;\n right: 0!important;\n pointer-events: none!important;\n`),i.value=e.value||e.placeholder||"";let m=i.scrollHeight+a;if(null!==n||null!==o){const e=parseFloat(window.getComputedStyle(i).getPropertyValue("line-height"));null!==n&&(d=e*n+r+a,m=Math.max(d,m)),null!==o&&(u=e*o+r+a,m<=u&&(p="hidden"),m=Math.min(u,m))}const g={height:m,overflowY:p,resize:"none"};return d&&(g.minHeight=d),u&&(g.maxHeight=u),g}(e,{minRows:d,maxRows:u,borderSize:p,paddingSize:m});(0,r.flushSync)((()=>{C(t)}))}}),[_,u,d,p,m]);(0,a.useEffect)((()=>{T(null!=b?b:"")}),[b]),(0,a.useEffect)((()=>{H()}),[H,A]);const j=(0,a.useRef)(!1),P=(0,a.useCallback)((e=>{j.current=!0,null==E||E(e)}),[E]),R=(0,a.useCallback)((e=>{j.current=!1,null==v||v(e)}),[v]),M=(0,a.useCallback)((e=>{j.current||("Enter"===e.key&&("enter-without-shift"===h?!e.shiftKey:"enter-with-mod"===h&&e[c])&&(e.preventDefault(),e.stopPropagation(),null==k||k(e)),null==w||w(e))}),[w,k,h]);return(0,a.useEffect)((()=>{const e=null==g?void 0:g.current;if(!e||!_)return;let t;const n=new s.A((n=>{for(const o of n)if(o.target===e){const e=o.contentBoxSize?o.contentBoxSize[0]?o.contentBoxSize[0].inlineSize:o.contentBoxSize.inlineSize:o.contentRect.width;if(void 0!==e&&e!==t){const n=!t;t=e,n||requestAnimationFrame(H)}}}));return n.observe(e),()=>{n.disconnect()}}),[_,g,H]),a.createElement("textarea",(0,o.A)({},y,{ref:S,value:A,style:{...f,...N},onChange:e=>{T(e.target.value),null==x||x(e)},onCompositionStart:P,onCompositionEnd:R,onKeyDown:M}))}},1525:(e,t,n)=>{n.d(t,{A:()=>l});var o=n(6758),a=n.n(o),r=n(935),s=n.n(r)()(a());s.push([e.id,'.shine-text--t2t9tIJp{color:transparent;background:linear-gradient(to right,var(--shine-text-color) 0%,var(--shine-text-color) 40%,var(--shine-text-highlight-color) 50%,var(--shine-text-color) 60%,var(--shine-text-color) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:shineText--ycIJ4nxc 2s infinite linear}@keyframes shineText--ycIJ4nxc{0%{background-position:-50% 50%}100%{background-position:-250% 50%}}.rounded-button--k7a_h0P_::part(button){border-radius:9999px;padding-left:17px;padding-right:17px}.markdown--t5EHw6k4 code[class*="language-"],.markdown--t5EHw6k4 pre[class*="language-"]{background:hsl(230,1%,98%);color:hsl(230,8%,24%);font-family:"Fira Code","Fira Mono",Menlo,Consolas,"DejaVu Sans Mono",monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:2;tab-size:2;-webkit-hyphens:none;hyphens:none;font-size:13px}.markdown--t5EHw6k4 code[class*="language-"]::selection,.markdown--t5EHw6k4 code[class*="language-"] *::selection,.markdown--t5EHw6k4 pre[class*="language-"] *::selection{background:hsl(230,1%,90%);color:inherit}.markdown--t5EHw6k4 pre[class*="language-"]{padding:1em;margin:0.5em 0;overflow:auto;border-radius:9px}.markdown--t5EHw6k4 :not(pre) > code[class*="language-"]{padding:0.2em 0.3em;border-radius:9px;white-space:normal}.markdown--t5EHw6k4 .token.comment,.markdown--t5EHw6k4 .token.prolog,.markdown--t5EHw6k4 .token.cdata{color:hsl(230,4%,64%)}.markdown--t5EHw6k4 .token.doctype,.markdown--t5EHw6k4 .token.punctuation,.markdown--t5EHw6k4 .token.entity{color:hsl(230,8%,24%)}.markdown--t5EHw6k4 .token.attr-name,.markdown--t5EHw6k4 .token.class-name,.markdown--t5EHw6k4 .token.boolean,.markdown--t5EHw6k4 .token.constant,.markdown--t5EHw6k4 .token.number,.markdown--t5EHw6k4 .token.atrule{color:hsl(35,99%,36%)}.markdown--t5EHw6k4 .token.keyword{color:hsl(301,63%,40%)}.markdown--t5EHw6k4 .token.property,.markdown--t5EHw6k4 .token.tag,.markdown--t5EHw6k4 .token.symbol,.markdown--t5EHw6k4 .token.deleted,.markdown--t5EHw6k4 .token.important{color:hsl(5,74%,59%)}.markdown--t5EHw6k4 .token.selector,.markdown--t5EHw6k4 .token.string,.markdown--t5EHw6k4 .token.char,.markdown--t5EHw6k4 .token.builtin,.markdown--t5EHw6k4 .token.inserted,.markdown--t5EHw6k4 .token.regex,.markdown--t5EHw6k4 .token.attr-value,.markdown--t5EHw6k4 .token.attr-value > .token.punctuation{color:hsl(119,34%,47%)}.markdown--t5EHw6k4 .token.variable,.markdown--t5EHw6k4 .token.operator,.markdown--t5EHw6k4 .token.function{color:hsl(221,87%,60%)}.markdown--t5EHw6k4 .token.url{color:hsl(198,99%,37%)}.markdown--t5EHw6k4 .token.attr-value > .token.punctuation.attr-equals,.markdown--t5EHw6k4 .token.special-attr > .token.attr-value > .token.value.css{color:hsl(230,8%,24%)}.markdown--t5EHw6k4 .language-css .token.selector{color:hsl(5,74%,59%)}.markdown--t5EHw6k4 .language-css .token.property{color:hsl(230,8%,24%)}.markdown--t5EHw6k4 .language-css .token.function,.markdown--t5EHw6k4 .language-css .token.url > .token.function{color:hsl(198,99%,37%)}.markdown--t5EHw6k4 .language-css .token.url > .token.string.url{color:hsl(119,34%,47%)}.markdown--t5EHw6k4 .language-css .token.important,.markdown--t5EHw6k4 .language-css .token.atrule .token.rule{color:hsl(301,63%,40%)}.markdown--t5EHw6k4 .language-javascript .token.operator{color:hsl(301,63%,40%)}.markdown--t5EHw6k4 .language-javascript .token.template-string > .token.interpolation > .token.interpolation-punctuation.punctuation{color:hsl(344,84%,43%)}.markdown--t5EHw6k4 .language-json .token.operator{color:hsl(230,8%,24%)}.markdown--t5EHw6k4 .language-json .token.null.keyword{color:hsl(35,99%,36%)}.markdown--t5EHw6k4 .language-markdown .token.url,.markdown--t5EHw6k4 .language-markdown .token.url > .token.operator,.markdown--t5EHw6k4 .language-markdown .token.url-reference.url > .token.string{color:hsl(230,8%,24%)}.markdown--t5EHw6k4 .language-markdown .token.url > .token.content{color:hsl(221,87%,60%)}.markdown--t5EHw6k4 .language-markdown .token.url > .token.url,.markdown--t5EHw6k4 .language-markdown .token.url-reference.url{color:hsl(198,99%,37%)}.markdown--t5EHw6k4 .language-markdown .token.blockquote.punctuation,.markdown--t5EHw6k4 .language-markdown .token.hr.punctuation{color:hsl(230,4%,64%);font-style:italic}.markdown--t5EHw6k4 .language-markdown .token.code-snippet{color:hsl(119,34%,47%)}.markdown--t5EHw6k4 .language-markdown .token.bold .token.content{color:hsl(35,99%,36%)}.markdown--t5EHw6k4 .language-markdown .token.italic .token.content{color:hsl(301,63%,40%)}.markdown--t5EHw6k4 .language-markdown .token.strike .token.content,.markdown--t5EHw6k4 .language-markdown .token.strike .token.punctuation,.markdown--t5EHw6k4 .language-markdown .token.list.punctuation,.markdown--t5EHw6k4 .language-markdown .token.title.important > .token.punctuation{color:hsl(5,74%,59%)}.markdown--t5EHw6k4 .token.bold{font-weight:bold}.markdown--t5EHw6k4 .token.comment,.markdown--t5EHw6k4 .token.italic{font-style:italic}.markdown--t5EHw6k4 .token.entity{cursor:help}.markdown--t5EHw6k4 .token.namespace{opacity:0.8}.markdown--t5EHw6k4 table{display:block;width:100%;width:max-content;max-width:100%;overflow:auto;border-collapse:collapse}.markdown--t5EHw6k4 tr{border-top:1px solid #ccd1de}.markdown--t5EHw6k4 td,.markdown--t5EHw6k4 th{border:1px solid #ccd1de;padding:6px 13px}',""]),s.locals={"shine-text":"shine-text--t2t9tIJp",shineText:"shineText--ycIJ4nxc","rounded-button":"rounded-button--k7a_h0P_",markdown:"markdown--t5EHw6k4"};const l=s},1776:(e,t,n)=>{e.exports=n.p+"images/a1d108f4.png"},2464:(e,t,n)=>{n.d(t,{A:()=>h});var o=n(2591),a=n.n(o),r=n(1740),s=n.n(r),l=n(8128),i=n.n(l),c=n(855),d=n.n(c),u=n(3051),p=n.n(u),m=n(3656),g=n.n(m),b=n(7110),f={};f.styleTagTransform=g(),f.setAttributes=d(),f.insert=i().bind(null,"head"),f.domAPI=s(),f.insertStyleElement=p(),a()(b.A,f);const h=b.A&&b.A.locals?b.A.locals:void 0},2671:(e,t,n)=>{n.d(t,{A:()=>l});var o=n(6758),a=n.n(o),r=n(935),s=n.n(r)()(a());s.push([e.id,".tool-call--aTh276av{--failed-color:#f24c25;--border-color:#e2e2ec;--status-border-color:rgba(226,226,236,0.8);font-size:13px;color:#595959;border-radius:10px;border:1px solid var(--border-color);background:#e6e9f3}.tool-call--aTh276av:not(.read-only--xWUswNds):hover{background:#e4e9fb;border:1px solid #b8c1ff}.tool-call--aTh276av:not(:last-child){margin-bottom:10px}.tool-call--aTh276av:not(.read-only--xWUswNds){cursor:pointer}.tool-call--aTh276av .status--V5ZXGYOG:not(:last-child){border-bottom:1px solid var(--status-border-color)}.read-only--xWUswNds{height:32px;font-size:14px;padding:0 16px}.failed--sz70SlSa{background:#fef5f3}.failed--sz70SlSa:not(.read-only--xWUswNds):hover{background:#fee7e1;border:1px solid #ffc3b5}.failed--sz70SlSa .status--V5ZXGYOG:not(:last-child){border-bottom:1px solid rgba(253,225,218,0.8)}.status--V5ZXGYOG{height:24px;display:flex;align-items:center;padding:0 1px 0 12px;color:#262626}.icon--LTp5Jjna{margin-right:8px;color:#8c8c8c}.failed--sz70SlSa .icon--LTp5Jjna{color:var(--failed-color)}.name--FwiqyIlQ{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}",""]),s.locals={"tool-call":"tool-call--aTh276av","read-only":"read-only--xWUswNds",status:"status--V5ZXGYOG",failed:"failed--sz70SlSa",icon:"icon--LTp5Jjna",name:"name--FwiqyIlQ"};const l=s},2773:(e,t,n)=>{n.d(t,{S:()=>p});var o=n(8769),a=n(1030),r=n(3357),s=n(4427),l=n(8974);function i(e){const t=[];let n;for(const o of e){if(n&&n===o.role){const e=t[t.length-1];e.parts=[...e.parts,...o.parts]}else t.push({...o});n=o.role}for(const e of t)e.parts=c(e.parts);return t}function c(e){const t=[];let n;for(const o of e)n&&n===o.type&&"text"===o.type?t[t.length-1].text+=o.text:t.push({...o}),n=o.type;return t}const d=(u={task:(e,t)=>{switch(t.type){case"sse":{const n=(0,a.pick)(t.payload,["id","requirement","state","title","startTime","endTime","plan"]);return"blocked"===n.state&&(n.state="working"),t.isInitial?n:e&&(0,a.isMatchWith)(e,n,a.isEqual)?e:{...e,...n}}case"reset":return null}return e},jobs:(e,t)=>{switch(t.type){case"sse":{const s=t.payload.jobs;let l=t.isInitial?[]:e;if(!Array.isArray(s)||0===s.length)return l;for(const e of s){var n,o;"blocked"===e.state&&(e.state="working");const t=null!==(n=null===(o=l)||void 0===o?void 0:o.findIndex((t=>t.id===e.id)))&&void 0!==n?n:-1,{messages:s,toolCall:c}=e;if("string"==typeof(null==c?void 0:c.arguments)){c.originalArguments=c.arguments;try{c.arguments=JSON.parse(c.arguments)}catch(e){console.error("Failed to parse toolCall arguments:",e),c.arguments={},c.argumentsParseFailed=!0,c.argumentsParseError=e}}if(-1===t)l=Array.isArray(s)&&s.length>0?[...l,{...e,messages:i(s)}]:[...l,e];else{const n=l[t],o=(0,a.pick)(e,["id","upstream","parent","state","instruction","toolCall","isError","startTime","endTime"]);var r;Array.isArray(s)&&s.length>0&&(o.messages=i([...null!==(r=n.messages)&&void 0!==r?r:[],...s])),(0,a.isMatchWith)(n,o,a.isEqual)||(l=[...l.slice(0,t),{...n,...o},...l.slice(t+1)])}}return l}case"reset":return 0===e.length?e:[]}return e},error:(e,t)=>{switch(t.type){case"sse":{const n=t.payload.error;return null===e&&"string"==typeof n?n:e}case"reset":return null}return e}},(e,t)=>Object.fromEntries(Object.entries(u).map((n=>{let[o,a]=n;return[o,a(e[o],t)]}))));var u;function p(e){const[{task:t,jobs:n,error:i},c]=(0,o.useReducer)(d,null,(()=>({task:null,jobs:[],error:null}))),u=(0,o.useRef)();(0,o.useEffect)((()=>{if(c({type:"reset"}),u.current=void 0,!e)return;let t,n=!1,o=!1;const a=async()=>{if(!o){o=!0,t=new AbortController;try{const a=await(0,s.createSSEStream)(`${(0,l.getBasePath)()}api/gateway/logic.llm.aiops_service/api/v1/llm/agent/flow/${e}`,{signal:t.signal}),r=await a;let i=!0;for await(const e of r){if(n)return void(o=!1);c({type:"sse",payload:e,isInitial:i}),i=!1}}catch(e){console.error("sse failed",e),(0,l.handleHttpError)(e)}finally{o=!1}}};return u.current=async(t,n)=>{try{await r.http.post(`${(0,l.getBasePath)()}api/gateway/logic.llm.aiops_service/api/v1/llm/agent/flow/${e}/job/${t}`,{input:n})}catch(e){return console.error("human input failed",e),void(0,l.handleHttpError)(e)}a()},a(),()=>{var e;n=!0,null===(e=t)||void 0===e||e.abort()}}),[e]);const[p,m]=(0,o.useState)([]);return(0,o.useEffect)((()=>{m((e=>{const o=new Map,r=new Map;for(const e of n){var s;o.set(e.id,e),e.parent&&r.set(e.parent,[...null!==(s=r.get(e.parent))&&void 0!==s?s:[],e.id])}const l=e=>{var t;return"input-required"===e.state||!(null===(t=r.get(e.id))||void 0===t||!t.some((e=>{const t=o.get(e);return l(t)})))},i=[];for(const e of null!==(c=null==t?void 0:t.plan)&&void 0!==c?c:[]){var c;const t=o.get(e.id);i.push({id:e.id,instruction:e.instruction,state:t?l(t)?"input-required":t.state:void 0})}return(0,a.isEqual)(e,i)?e:i}))}),[n,null==t?void 0:t.plan]),{task:t,jobs:n,plan:p,error:i,humanInputRef:u}}},3153:(e,t,n)=>{n.d(t,{r:()=>S});var o=n(9575),a=n(8769),r=n.n(a),s=n(3373),l=n.n(s),i=n(2591),c=n.n(i),d=n(1740),u=n.n(d),p=n(8128),m=n.n(p),g=n(855),b=n.n(g),f=n(3051),h=n.n(f),x=n(3656),k=n.n(x),w=n(4751),E={};E.styleTagTransform=k(),E.setAttributes=b(),E.insert=m().bind(null,"head"),E.domAPI=u(),E.insertStyleElement=h(),c()(w.A,E);const v=w.A&&w.A.locals?w.A.locals:void 0;var y=n(5805),_=n(79),A=n(6854),T=n(5620);function S(e){let{plan:t,state:n}=e;const{flagShowTaskActions:o,onPause:s,onResume:i,onStop:c}=(0,a.useContext)(T.Q),[d,u]=(0,a.useState)(!1),[p,m]=(0,a.useState)(null);(0,a.useEffect)((()=>{m(null)}),[n]);const{doneCount:g,state:b,instruction:f}=(0,a.useMemo)((()=>(null!=t?t:[]).reduce(((e,t)=>"completed"===t.state?{...e,state:t.state,doneCount:e.doneCount+1}:!e.instruction||t.state&&"unknown"!==t.state?{...e,state:t.state,instruction:t.instruction}:e),{doneCount:0,state:"unknown",instruction:""})),[t]),{className:h,icon:x}=(0,a.useMemo)((()=>C(b)),[b]),k=(0,a.useCallback)((()=>{u((e=>!e))}),[]),w=(0,a.useCallback)((()=>{i(),m("toggle")}),[i]),E=(0,a.useCallback)((()=>{s(),m("toggle")}),[s]),S=(0,a.useCallback)((async()=>{try{await(0,y.ui)({type:"confirm",title:(0,_.t)(_.K.CONFIRM_TO_STOP_THE_TASK_TITLE),content:(0,_.t)(_.K.CONFIRM_TO_STOP_THE_TASK_CONTENT)})}catch{return}c(),m("stop")}),[c]);if(null==t||!t.length)return null;const H=A.QB.includes(n);return r().createElement("div",{className:l()(v.progress,h)},r().createElement("div",{className:v.bar,onClick:k},r().createElement("div",{className:v.icon},r().createElement(y.Bj,x)),r().createElement("span",{className:v.text,title:"completed"===b?"":f},"completed"===b?(0,_.t)(_.K.PLAN_COMPLETED):f),r().createElement("span",{className:v.stat},g,"/",t.length),r().createElement(y.Bj,{className:v.expand,lib:"antd",theme:"outlined",icon:d?"down":"up"})),!H&&o&&r().createElement("div",{className:v.actions},"toggle"===p?r().createElement(y.Ne,null,r().createElement("button",{disabled:!0,className:v.action},r().createElement(y.Bj,{lib:"antd",icon:"loading-3-quarters",spinning:!0}))):"paused"===n?r().createElement(y.Ne,{content:p?void 0:(0,_.t)(_.K.RESUME_THE_TASK),onClick:w},r().createElement("button",{disabled:!!p,className:v.action},r().createElement(y.Bj,{lib:"fa",prefix:"far",icon:"circle-play"}))):r().createElement(y.Ne,{content:p?void 0:(0,_.t)(_.K.PAUSE_THE_TASK),onClick:E},r().createElement("button",{disabled:!!p,className:v.action},r().createElement(y.Bj,{lib:"fa",prefix:"far",icon:"circle-pause"}))),"stop"===p?r().createElement(y.Ne,null,r().createElement("button",{disabled:!0,className:v.action},r().createElement(y.Bj,{lib:"antd",icon:"loading-3-quarters",spinning:!0}))):r().createElement(y.Ne,{content:p?void 0:(0,_.t)(_.K.STOP_THE_TASK),onClick:S},r().createElement("button",{disabled:!!p,className:v.action},r().createElement(y.Bj,{lib:"fa",prefix:"far",icon:"circle-stop"})))),d&&r().createElement("ul",{className:v.details},t.map(((e,t)=>r().createElement(N,{key:t,state:e.state,instruction:e.instruction})))))}function N(e){let{state:t,instruction:n}=e;const{className:s,icon:i}=(0,a.useMemo)((()=>C(t)),[t]);return r().createElement("li",{className:v.step},r().createElement(y.Bj,(0,o.A)({},i,{className:l()(v.state,s)})),r().createElement("span",{className:v.instruction,title:n},n))}function C(e){switch(e){case"completed":return{className:v.completed,icon:{lib:"fa",prefix:"fas",icon:"check"}};case"submitted":case"working":return{className:v.working,icon:{lib:"antd",theme:"outlined",icon:"loading-3-quarters",spinning:!0}};case"input-required":return{className:v["input-required"],icon:{lib:"fa",prefix:"far",icon:"circle-user"}};case"failed":return{className:v.failed,icon:{lib:"fa",prefix:"fas",icon:"xmark"}};case"canceled":return{className:v.canceled,icon:{lib:"fa",prefix:"far",icon:"circle-stop"}};default:return{icon:{lib:"fa",prefix:"far",icon:"clock"}}}}},3349:(e,t,n)=>{n.d(t,{M:()=>j});var o=n(8769),a=n.n(o),r=n(5738),s=n(3373),l=n.n(s),i=n(5805),c=n(2591),d=n.n(c),u=n(1740),p=n.n(u),m=n(8128),g=n.n(m),b=n(855),f=n.n(b),h=n(3051),x=n.n(h),k=n(3656),w=n.n(k),E=n(9926),v={};v.styleTagTransform=w(),v.setAttributes=f(),v.insert=g().bind(null,"head"),v.domAPI=p(),v.insertStyleElement=x(),d()(E.A,v);const y=E.A&&E.A.locals?E.A.locals:void 0;var _=n(6903),A=n(79),T=n(5620),S=n(5940),N=n(973),C=n(4833);function H(){const{innerWidth:e}=window;return e<800?Math.min(500,e):e<1e3?.8*e:800}function j(e){var t;let{job:n}=e;const{setActiveToolCallJobId:r}=(0,o.useContext)(T.Q),s=n.toolCall,c=null===(t=n.messages)||void 0===t?void 0:t.filter((e=>"tool"===e.role)),d=(0,o.useCallback)((()=>{setTimeout((()=>{r(null)}),300)}),[r]),u=(0,o.useRef)(null);(0,o.useEffect)((()=>{setTimeout((()=>{var e;null===(e=u.current)||void 0===e||e.open()}))}),[]);const[p,m]=(0,o.useState)(H);(0,o.useEffect)((()=>{const e=()=>{m(H)};return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[]);const g=["working","input-required"].includes(n.state)&&null!=c&&c.length?"completed":n.state,b=n.isError||"failed"===g;return a().createElement(i.xb,{ref:u,customTitle:(0,A.t)(A.K[s.name])||s.name,width:p,closable:!0,mask:!0,maskClosable:!0,onClose:d},a().createElement(S.t,{job:n,variant:"read-only"}),a().createElement("div",{className:y.detail},a().createElement("div",{className:y.heading},(0,A.t)(A.K.ARGUMENTS),":"),a().createElement("div",{className:`${y.body} ${_.A.markdown}`},a().createElement(P,{content:s.originalArguments,maybeJson:!0}))),!(null==c||!c.length)&&a().createElement("div",{className:y.detail},a().createElement("div",{className:y.heading},(0,A.t)(A.K.RESPONSE),":"),a().createElement("div",{className:`${y.body} ${_.A.markdown}`},null==c?void 0:c.map(((e,t)=>{var n,o;const r=null===(n=(0,N.G)((0,N.u)([e])))||void 0===n||null===(n=n.data)||void 0===n?void 0:n.progress;return a().createElement("div",{key:t},null===(o=e.parts)||void 0===o?void 0:o.map(((e,t)=>{var n;return"data"===e.type?(null==e||null===(n=e.data)||void 0===n?void 0:n.progress)===r?a().createElement("pre",{className:l()("language-plaintext",{[y.fallback]:b})},a().createElement(C.W,{toolDataProgress:[e],failed:b})):null:a().createElement(P,{key:t,content:"text"===e.type?e.text:JSON.stringify(e),maybeJson:"text"===e.type})})))})))))}function P(e){let{content:t,maybeJson:n}=e;const[s,i]=(0,o.useMemo)((()=>{if(n)try{const e=JSON.parse(null!=t?t:"");return[`\`\`\`json\n${JSON.stringify(e,null,2)}\n\`\`\``]}catch{}return[t,!0]}),[t,n]);return i?a().createElement("pre",{className:l()("language-plaintext",y.fallback)},s):a().createElement(r.N,{content:s})}},3865:(e,t,n)=>{n.d(t,{A:()=>l});var o=n(6758),a=n.n(o),r=n(935),s=n.n(r)()(a());s.push([e.id,".zoom-bar--MTw5VGPl{position:absolute;left:20px;bottom:20px;display:flex;align-items:center;padding:3px 5px;-webkit-user-select:none;user-select:none;background:rgba(255,255,255,0.7);box-shadow:0px 3px 14px 0px rgba(0,0,0,0.1),0px 1px 4px 0px rgba(0,0,0,0.06);border-radius:8px;border:1px solid rgba(255,255,255,0.3)}.zoom-bar--MTw5VGPl button{background:transparent;border:none;border-radius:4px;color:#333;width:24px;height:24px;font-size:16px;line-height:16px;display:flex;align-items:center;justify-content:center;cursor:pointer}.zoom-bar--MTw5VGPl button:hover{background:rgba(0,0,0,0.04)}.zoom-bar--MTw5VGPl button:active{background:rgba(0,0,0,0.08)}.zoom-bar--MTw5VGPl button:focus{outline:none}.divider--S0X2YCDi{background:rgba(0,0,0,0.15);width:1px;height:16px}.zoom-bar--MTw5VGPl > :not(:last-child){margin-right:6px}@media (max-width: 719px){.zoom-bar--MTw5VGPl{left:auto;bottom:auto;top:20px;right:20px}}",""]),s.locals={"zoom-bar":"zoom-bar--MTw5VGPl",divider:"divider--S0X2YCDi"};const l=s},3921:(e,t,n)=>{e.exports=n.p+"images/9f5ff403.png"},4388:(e,t,n)=>{n.d(t,{O:()=>A});var o=n(8769),a=n.n(o),r=n(9859),s=n(480),l=n(1302),i=n.n(l),c=n(2591),d=n.n(c),u=n(1740),p=n.n(u),m=n(8128),g=n.n(m),b=n(855),f=n.n(b),h=n(3051),x=n.n(h),k=n(3656),w=n.n(k),E=n(6137),v={};v.styleTagTransform=w(),v.setAttributes=f(),v.insert=g().bind(null,"head"),v.domAPI=p(),v.insertStyleElement=x(),d()(E.A,v);const y=E.A&&E.A.locals?E.A.locals:void 0,_=(0,r.wrapBrick)("eo-easyops-avatar");function A(e){let{content:t,startTime:n,loading:r}=e;const l=(0,o.useMemo)((()=>s.auth.getAuth().username),[]);return a().createElement("div",{className:y["node-requirement"]},a().createElement("div",{className:y.heading},a().createElement(_,{className:y.avatar,nameOrInstanceId:l,showName:!0,size:"xs"}),a().createElement("div",{className:y.time},n&&i()(1e3*n).format("MM-DD HH:mm"))),a().createElement("div",{className:y.body},t),r&&a().createElement(a().Fragment,null,a().createElement("svg",{className:y["loading-line"],viewBox:"0 0 2 62",width:"2",height:"62"},a().createElement("path",{d:"M1 0 L1 62"})),a().createElement("div",{className:y.loading},a().createElement("div",{className:y.inner}))))}},4609:(e,t,n)=>{n.d(t,{W:()=>V});var o=n(8769),a=n.n(o),r=n(5738),s=n(1451),l=n(4598),i=n(3373),c=n.n(i),d=n(1302),u=n.n(d),p=n(8974),m=n(9443),g=n(6903),b=n(79),f=n(8361);const h=a().lazy((async()=>({default:await(0,f.asyncWrapBrick)("cmdb-instances.cmdb-instances-input-form",{onChangeV2:"cmdb.instance.form.change.v2"})})));var x=n(5805),k=n(2591),w=n.n(k),E=n(1740),v=n.n(E),y=n(8128),_=n.n(y),A=n(855),T=n.n(A),S=n(3051),N=n.n(S),C=n(3656),H=n.n(C),j=n(6629),P={};P.styleTagTransform=H(),P.setAttributes=T(),P.insert=_().bind(null,"head"),P.domAPI=v(),P.insertStyleElement=N(),w()(j.A,P);const R=j.A&&j.A.locals?j.A.locals:void 0;var M=n(5620);function I(e){let{jobId:t,confirmText:n,cancelText:r}=e;const{humanInput:s}=(0,o.useContext)(M.Q);return a().createElement("div",{className:R["human-confirm"]},a().createElement(x.Gx,{type:"primary",className:g.A["rounded-button"],onClick:()=>{s(t,n||(0,b.t)(b.K.YES))}},n||(0,b.t)(b.K.YES)),a().createElement(x.Gx,{type:"text",onClick:()=>{s(t,r||(0,b.t)(b.K.NO))},style:{marginLeft:"0.5em"}},r||(0,b.t)(b.K.NO)))}var z=n(9575),O=n(1030),B=n(1380),L=n(5414),D=n(7046),K=n(6550),Y=n(4921),q={};q.styleTagTransform=H(),q.setAttributes=T(),q.insert=_().bind(null,"head"),q.domAPI=v(),q.insertStyleElement=N(),w()(Y.A,q);const U=Y.A&&Y.A.locals?Y.A.locals:void 0;let G;function F(e){let{jobId:t,steps:n}=e;const[r,s]=(0,o.useState)([]),{humanInput:l}=(0,o.useContext)(M.Q);(0,o.useEffect)((()=>{s((null!=n?n:[]).map((e=>({id:(0,O.uniqueId)("step-"),content:e}))))}),[n]);const i=(0,o.useMemo)((()=>r.map((e=>e.id))),[r]),[c,d]=(0,o.useState)(!1),u=(0,B.FR)((0,B.MS)(B.AN,{activationConstraint:{distance:1}})),p=(0,o.useMemo)((()=>[L.FN,L.Mk]),[]),m=(0,o.useCallback)((e=>{let{active:t,over:n}=e;n&&t.id!==n.id&&(s((e=>{const o=e.findIndex((e=>e.id===t.id)),a=e.findIndex((e=>e.id===n.id));return(0,D.be)(e,o,a)})),d(!0))}),[]),f=(0,o.useCallback)((()=>{l(t,JSON.stringify({type:"plan",steps:r.map((e=>e.content))}))}),[l,t,r]),h=(0,o.useCallback)((()=>{s((null!=n?n:[]).map((e=>({id:(0,O.uniqueId)("step-"),content:e})))),d(!1)}),[n]),k=(0,o.useCallback)((()=>{s((e=>e.concat({id:(0,O.uniqueId)("step-"),content:"",newlyAdded:!0}))),d(!0)}),[]),w=(0,o.useCallback)((e=>{s((t=>t.filter((t=>t.id!==e)))),d(!0)}),[]),E=(0,o.useCallback)(((e,t)=>{s((n=>n.map((n=>n.id===e?{...n,content:t}:n)))),d(!0)}),[]);return a().createElement(a().Fragment,null,a().createElement("div",{className:U.plan},a().createElement(B.Mp,{sensors:u,collisionDetection:B.fp,modifiers:p,onDragEnd:m},a().createElement(D.gB,{items:i,strategy:D._G},a().createElement("ul",{className:U.steps},r.map((e=>a().createElement(J,{key:e.id,id:e.id,content:e.content,newlyAdded:e.newlyAdded,onDelete:w,onUpdateContent:E})))))),a().createElement("div",{className:U.actions},a().createElement("button",{className:U["button-add"],onClick:k},a().createElement(x.Bj,{className:U["button-icon"],lib:"antd",icon:"plus"}),a().createElement("span",{className:U["button-text"]},(0,b.t)(b.K.ADD_STEP))),a().createElement("button",{className:U["button-reset"],hidden:!c,onClick:h},(0,b.t)(b.K.RESET_PLAN)))),a().createElement("div",{className:U.toolbar},a().createElement(x.Gx,{type:"primary",className:g.A["rounded-button"],onClick:f},(0,b.t)(b.K.CONFIRM))))}function J(e){let{id:t,content:n,newlyAdded:r,onDelete:s,onUpdateContent:l}=e;const{attributes:i,listeners:d,setNodeRef:u,transform:p,transition:m,isDragging:g}=(0,D.gl)({id:t}),b=(0,o.useRef)(null);(0,o.useEffect)((()=>{var e;r&&(null===(e=b.current)||void 0===e||e.focus())}),[]);const f=(0,o.useMemo)((()=>({transform:K.Ks.Transform.toString(p),transition:m})),[p,m]),[h,k]=(0,o.useState)(!1),w=(0,o.useCallback)((()=>{k(!0)}),[]),E=(0,o.useCallback)((e=>{k(!1);const o=e.currentTarget.textContent;null!==o&&n!==o&&l(t,o)}),[n,t,l]),v=(0,o.useCallback)((e=>{"Enter"===e.key&&(e.preventDefault(),e.currentTarget.blur())}),[]);return a().createElement("li",(0,z.A)({ref:u},i,d,{className:c()(U.step,{[U.dragging]:g,[U.editing]:h}),style:f}),a().createElement("span",{className:U.handle},a().createElement(x.Bj,{lib:"antd",icon:"holder"})),a().createElement("span",{className:U.content,ref:b,onFocus:w,onBlur:E,onKeyDown:v,contentEditable:(y=!0,y?function(){if("boolean"!=typeof G){const e=document.createElement("div");e.setAttribute("contenteditable","PLAINTEXT-ONLY"),G="plaintext-only"===e.contentEditable}return G}()?"plaintext-only":"true":"false")},n),a().createElement("span",{className:U.delete},a().createElement(x.Bj,{className:U.delete,lib:"antd",icon:"delete",onClick:()=>s(t)})));var y}var Z=n(5940);function Q(e){let{job:t}=e;const n=(0,o.useMemo)((()=>{var e;const n=null===(e=t.messages)||void 0===e?void 0:e.find((e=>"tool"===e.role));if(n){var o;const e=null===(o=n.parts)||void 0===o||null===(o=o.find((e=>"text"===e.type)))||void 0===o?void 0:o.text;if(e)try{return JSON.parse(e)}catch{}}return null}),[t.messages]);return"plan"===(null==n?void 0:n.type)&&Array.isArray(n.steps)?a().createElement("div",{className:`${m.A.message} ${m.A["role-user"]}`},a().createElement("ol",{style:{paddingLeft:.5*Math.floor(Math.log10(n.steps.length+1))+1.5+"em"}},n.steps.map(((e,t)=>a().createElement("li",{key:t},e))))):a().createElement("div",{className:`${m.A.message} ${m.A["role-user"]}`},"Something went wrong.")}function V(e){var t,n,o,s,l,i,d,p,f;let{job:h,state:k}=e;const w="ask_human"===(null===(t=h.toolCall)||void 0===t?void 0:t.name),E="ask_human_confirming_plan"===(null===(n=h.toolCall)||void 0===n?void 0:n.name),v=w||E,y=w&&["ask_user_more","ask_user_confirm","ask_user_choose","ask_user_select_from_cmdb","ask_user_adjust_plan"].includes(null===(o=h.toolCall.arguments)||void 0===o?void 0:o.command)||E,_="working"===k||"submitted"===k;return a().createElement("div",{className:c()(m.A["node-job"],{[m.A.error]:h.isError,[m.A["ask-user"]]:v})},a().createElement("div",{className:m.A.heading},v?a().createElement(x.Bj,{className:m.A.icon,lib:"fa",prefix:"fas",icon:"user-check"}):h.toolCall?a().createElement(x.Bj,{className:m.A.icon,lib:"antd",theme:"outlined",icon:"tool"}):a().createElement(x.Bj,{className:m.A.icon,lib:"easyops",icon:"robot"}),a().createElement("div",{className:c()(m.A.tool,{[g.A["shine-text"]]:_})},null!==(s=h.toolCall)&&void 0!==s&&s.name?(0,b.t)(b.K[h.toolCall.name])||h.toolCall.name:"Elevo"),a().createElement("div",{className:m.A.time},h.startTime&&u()(1e3*h.startTime).format("MM-DD HH:mm"))),a().createElement("div",{className:c()(m.A.body,{[m.A.scrollable]:!v})},y?a().createElement(a().Fragment,null,(E||!(null===(l=h.toolCall.arguments)||void 0===l||!l.question))&&a().createElement("div",{className:`${m.A.message} ${g.A.markdown} ${m.A["role-assistant"]}`},a().createElement(r.N,{content:E?(0,b.t)(b.K.CONFIRMING_PLAN_TIPS):null===(i=h.toolCall.arguments)||void 0===i?void 0:i.question})),"input-required"===k&&("ask_user_more"===h.toolCall.arguments.command?a().createElement(W,{jobId:h.id}):"ask_user_confirm"===h.toolCall.arguments.command?a().createElement(I,{jobId:h.id,confirmText:h.toolCall.arguments.confirm_text,cancelText:h.toolCall.arguments.cancel_text}):"ask_user_choose"===h.toolCall.arguments.command?a().createElement(X,{jobId:h.id,options:h.toolCall.arguments.options}):"ask_user_select_from_cmdb"===h.toolCall.arguments.command?a().createElement($,{jobId:h.id,objectId:h.toolCall.arguments.objectId,attrId:h.toolCall.arguments.attrId}):E?a().createElement(F,{jobId:h.id,steps:h.toolCall.arguments.steps}):null)):w?a().createElement("div",{className:`${m.A.message} ${m.A["role-assistant"]}`},"Unexpected ask_human command:"," ",JSON.stringify(null!==(d=null===(p=h.toolCall.arguments)||void 0===p?void 0:p.command)&&void 0!==d?d:null)):null,!v&&h.toolCall&&a().createElement(Z.t,{job:h}),E&&"input-required"!==k?a().createElement(Q,{job:h}):null===(f=h.messages)||void 0===f?void 0:f.map(((e,t)=>{var n;return"tool"!==e.role||v?a().createElement("div",{key:t,className:c()(m.A.message,g.A.markdown,{[m.A["role-user"]]:"tool"===e.role})},null===(n=e.parts)||void 0===n?void 0:n.map(((e,t)=>a().createElement(a().Fragment,{key:t},"text"===e.type?a().createElement(r.N,{content:e.text}):a().createElement("pre",{className:"language-plaintext"},JSON.stringify(e,null,2)))))):null}))))}function W(e){let{jobId:t}=e;const n=(0,o.useRef)(null),{humanInput:r}=(0,o.useContext)(M.Q);return a().createElement("div",{ref:n},a().createElement(s.e,{className:m.A["human-input"],containerRef:n,autoResize:!0,minRows:2,borderSize:0,paddingSize:20,placeholder:(0,b.t)(b.K.TYPE_YOUR_MESSAGE_HERE),submitWhen:"enter-without-shift",onSubmit:e=>{const n=e.currentTarget.value;n&&r(t,n)}}))}function X(e){let{jobId:t,options:n}=e;const{humanInput:r}=(0,o.useContext)(M.Q);return a().createElement("div",{style:{marginTop:"1em",display:"flex",flexDirection:"column",gap:"0.5em"}},null==n?void 0:n.map(((e,n)=>a().createElement(x.Gx,{key:n,onClick:()=>{r(t,e)}},e))))}function $(e){let{jobId:t,objectId:n,attrId:r}=e;const{humanInput:s}=(0,o.useContext)(M.Q),[i,c]=(0,o.useState)(null);if((0,o.useEffect)((()=>{if(!n)return;let e=!1;return(async()=>{try{const t=(await(0,l.r)({ref_object:n})).data;e||c(t)}catch(e){console.error("Fetch object list failed:",e),(0,p.handleHttpError)(e)}})(),()=>{e=!0}}),[n]),!n)return a().createElement("div",{style:{marginTop:"1em"}},"Can not call ask_user_select_from_cmdb without objectId");const d=!r||"instanceId"===r&&"HOST"===n?"ip":r;return a().createElement("div",{style:{marginTop:"1em"}},a().createElement(o.Suspense,null,a().createElement(h,{objectList:i,objectId:n,fieldId:d,onChangeV2:e=>{e.detail.length&&s(t,e.detail.map((e=>e[d])).join("\n"))}})))}},4751:(e,t,n)=>{n.d(t,{A:()=>l});var o=n(6758),a=n.n(o),r=n(935),s=n.n(r)()(a());s.push([e.id,".progress--62eOnxaf{position:absolute;bottom:20px;left:50%;transform:translate(-50%,0);width:var(--cruise-canvas-node-width-medium);max-width:80%}.bar--rnIPF564{background:#24203d;box-shadow:0px 6px 16px 0px rgba(0,0,0,0.08),0px 3px 6px -4px rgba(0,0,0,0.12);border-radius:12px;color:rgba(255,255,255,0.85);padding:12px;line-height:24px;cursor:pointer;display:flex;align-items:center}.icon--TMLJniSx{margin-right:6px;width:22px;height:22px;border-radius:22px;display:flex;align-items:center;justify-content:center;background:linear-gradient(222deg,#abaab7 25%,#fff 75%);color:#4e4d56;font-size:12px;text-shadow:0px 1px 1px #fff}.progress--62eOnxaf.completed--ACUTqxl7 .icon--TMLJniSx{background:linear-gradient(222deg,#16c661 25%,#fff 75%);color:#055527}.progress--62eOnxaf.failed--atS7ek2B .icon--TMLJniSx{background:linear-gradient(222deg,#f24c25 25%,#fff 75%);color:#5b1504}.progress--62eOnxaf.working--Z6W16jVj .icon--TMLJniSx{background:linear-gradient(222deg,#3e56ff 25%,#fff 75%);color:#0c165d}.progress--62eOnxaf.input-required--YhWlEgu0 .icon--TMLJniSx{background:linear-gradient(222deg,#12aacc 25%,#fff 75%);color:#0c353e}.progress--62eOnxaf.canceled--imA9nfyy .icon--TMLJniSx{background:linear-gradient(222deg,#fcaa07 25%,#fff 75%);color:#302206}.text--vZYOZzn1,\n.instruction--Z7riLyFL{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0;flex:1}.instruction--Z7riLyFL{color:#262626}.stat--YsJ88cZz{margin-left:6px}.expand--gqn8QEnc{margin-left:6px}.stat--YsJ88cZz,\n.expand--gqn8QEnc{color:rgba(255,255,255,0.65)}.details--rtuqBzKj{position:absolute;left:0;right:0;bottom:4em;background:#fff;border-radius:12px;box-shadow:0px 6px 16px 0px rgba(0,0,0,0.08),0px 3px 6px -4px rgba(0,0,0,0.12);list-style:none;margin:0;padding:12px;cursor:auto}.step--f9i49Db2{display:flex;align-items:center}.step--f9i49Db2:not(:last-child){margin-bottom:8px}.state--TmkD_q3_{margin-right:6px;color:var(--text-color-secondary)}.state--TmkD_q3_.completed--ACUTqxl7{color:var(--color-success)}.state--TmkD_q3_.failed--atS7ek2B{color:var(--color-error)}.state--TmkD_q3_.working--Z6W16jVj{color:var(--color-info)}.state--TmkD_q3_.input-required--YhWlEgu0{color:var(--palette-cyan-7)}.state--TmkD_q3_.canceled--imA9nfyy{color:#fcaa07}.actions--yZPhzbBj{position:absolute;left:0;top:-34px;display:flex}.action--dUQ0UNCE{width:26px;height:26px;border-radius:15px;background:rgba(255,255,255,0.5);box-shadow:0px 2px 4px 0px rgba(0,0,0,0.06);border:1px solid rgba(255,255,255,0.2);color:#262626;display:flex;align-items:center;justify-content:center}.action--dUQ0UNCE:not([disabled]){cursor:pointer}.action--dUQ0UNCE:not([disabled]):active,\n.action--dUQ0UNCE:not([disabled]):hover{background:rgba(255,255,255,0.8)}.action--dUQ0UNCE:focus{outline:none}.actions--yZPhzbBj > * + *{margin-left:8px}",""]),s.locals={progress:"progress--62eOnxaf",bar:"bar--rnIPF564",icon:"icon--TMLJniSx",completed:"completed--ACUTqxl7",failed:"failed--atS7ek2B",working:"working--Z6W16jVj","input-required":"input-required--YhWlEgu0",canceled:"canceled--imA9nfyy",text:"text--vZYOZzn1",instruction:"instruction--Z7riLyFL",stat:"stat--YsJ88cZz",expand:"expand--gqn8QEnc",details:"details--rtuqBzKj",step:"step--f9i49Db2",state:"state--TmkD_q3_",actions:"actions--yZPhzbBj",action:"action--dUQ0UNCE"};const l=s},4833:(e,t,n)=>{n.d(t,{W:()=>v});var o=n(8769),a=n.n(o),r=n(3373),s=n.n(r),l=n(2591),i=n.n(l),c=n(1740),d=n.n(c),u=n(8128),p=n.n(u),m=n(855),g=n.n(m),b=n(3051),f=n.n(b),h=n(3656),x=n.n(h),k=n(7993),w={};w.styleTagTransform=x(),w.setAttributes=g(),w.insert=p().bind(null,"head"),w.domAPI=d(),w.insertStyleElement=f(),i()(k.A,w);const E=k.A&&k.A.locals?k.A.locals:void 0;function v(e){let{toolDataProgress:t,failed:n}=e;return a().createElement("div",{className:s()(E["progress-line"],{[E.failed]:n})},t.map((e=>{const t=e.data;return a().createElement("div",{className:s()(E.step),key:t.progress},a().createElement("div",{className:E.axis},a().createElement("div",{className:E.line}),a().createElement("div",{className:E.dot})),a().createElement("div",{className:E.progress},a().createElement("span",{className:E.count},t.progress),a().createElement("span",null,"/"),a().createElement("span",{className:E.total},t.total)),a().createElement("div",{className:E.description},t.message))})))}},4921:(e,t,n)=>{n.d(t,{A:()=>l});var o=n(6758),a=n.n(o),r=n(935),s=n.n(r)()(a());s.push([e.id,".plan--ScYmFeqq{padding:8px;background:rgba(62,67,102,0.05);box-shadow:0px 1px 0px 0px rgba(255,255,255,0.5);border-radius:9px}.plan--ScYmFeqq:not(:first-child){margin-top:6px}.steps--l0R0pye1{list-style:none;margin:0;padding:0}.step--b20up4EN{background:#fff;border-radius:8px;padding-right:12px;display:flex}.step--b20up4EN + .step--b20up4EN{margin-top:4px}.step--b20up4EN.editing--qJ7xFdgL{background:var(--cruise-canvas-input-background);box-shadow:var(--cruise-canvas-input-box-shadow)}.content--oJ6ZEiGB{flex:1;min-width:0;padding:0 10px 0 5px;margin:10px 0}.step--b20up4EN:not(.editing--qJ7xFdgL) .content--oJ6ZEiGB{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis}.content--oJ6ZEiGB:focus{outline:none}.dragging--jCn2bzij{cursor:grabbing}.toolbar--CiHZDBZ_{margin-top:12px;display:flex;justify-content:center}.handle--pKE0LK3p,\n.delete--hUaJfjMA{color:#8c8c8c;display:flex;align-items:center;justify-content:center}.handle--pKE0LK3p{cursor:grab;width:24px;border-radius:8px 0px 0px 8px;touch-action:none}.handle--pKE0LK3p:hover,\n.dragging--jCn2bzij .handle--pKE0LK3p{background:rgba(62,67,102,0.05)}.dragging--jCn2bzij,\n.dragging--jCn2bzij .handle--pKE0LK3p{cursor:grabbing}.dragging--jCn2bzij{position:relative;z-index:1}.delete--hUaJfjMA{cursor:pointer}.step--b20up4EN:not(:hover) .delete--hUaJfjMA{visibility:hidden}.delete--hUaJfjMA > *:hover{color:#595959}.actions--jUqHGA_J{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.button-add--QJtgEBHC,\n.button-reset--dyu96f9R{background:none;border:none;padding:0;cursor:pointer}.button-icon--z01cXnf1{border-radius:9px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.04);color:rgba(0,0,0,0.45);margin-right:8px}.button-reset--dyu96f9R{color:#8c8c8c}.button-reset--dyu96f9R:hover,\n.button-add--QJtgEBHC{color:#595959}.button-add--QJtgEBHC:hover .button-icon--z01cXnf1{background:rgba(0,0,0,0.08)}.button-add--QJtgEBHC{display:flex;align-items:center}",""]),s.locals={plan:"plan--ScYmFeqq",steps:"steps--l0R0pye1",step:"step--b20up4EN",editing:"editing--qJ7xFdgL",content:"content--oJ6ZEiGB",dragging:"dragging--jCn2bzij",toolbar:"toolbar--CiHZDBZ_",handle:"handle--pKE0LK3p",delete:"delete--hUaJfjMA",actions:"actions--jUqHGA_J","button-add":"button-add--QJtgEBHC","button-reset":"button-reset--dyu96f9R","button-icon":"button-icon--z01cXnf1"};const l=s},4999:(e,t,n)=>{n.d(t,{l:()=>E});var o=n(8769),a=n.n(o),r=n(2591),s=n.n(r),l=n(1740),i=n.n(l),c=n(8128),d=n.n(c),u=n(855),p=n.n(u),m=n(3051),g=n.n(m),b=n(3656),f=n.n(b),h=n(3865),x={};x.styleTagTransform=f(),x.setAttributes=p(),x.insert=d().bind(null,"head"),x.domAPI=i(),x.insertStyleElement=g(),s()(h.A,x);const k=h.A&&h.A.locals?h.A.locals:void 0;var w=n(5805);function E(e){let{scale:t,onScaleChange:n,onReCenter:r}=e;const s=(0,o.useCallback)((()=>{null==n||n(t+.1)}),[n,t]),l=(0,o.useCallback)((()=>{null==n||n(t-.1)}),[n,t]);return a().createElement("div",{className:k["zoom-bar"]},a().createElement("button",{onClick:r},a().createElement(w.Bj,{lib:"fa",prefix:"fas",icon:"expand"})),a().createElement("div",{className:k.divider}),a().createElement("button",{onClick:l},a().createElement(w.Bj,{lib:"antd",theme:"outlined",icon:"minus-circle"})),a().createElement("button",{onClick:s},a().createElement(w.Bj,{lib:"antd",theme:"outlined",icon:"plus-circle"})))}},5005:(e,t,n)=>{n.d(t,{A:()=>l});var o=n(6758),a=n.n(o),r=n(935),s=n.n(r)()(a());s.push([e.id,".node-instruction--Gu7k6RDs{max-width:437px;max-width:min(437px,90vw);background:rgba(255,255,255,0.2);box-shadow:0px 4px 10px 0px rgba(54,64,80,0.08);border-radius:9999px;border:1px solid rgba(255,255,255,0.284);padding:6px 16px;color:rgba(0,0,0,0.45)}.text--jsSeLl7B{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;--shine-text-color:rgba(0,0,0,0.45);--shine-text-highlight-color:#dcdcdc}",""]),s.locals={"node-instruction":"node-instruction--Gu7k6RDs",text:"text--jsSeLl7B"};const l=s},5620:(e,t,n)=>{n.d(t,{Q:()=>o});const o=(0,n(8769).createContext)({humanInput:()=>{},onShare:()=>{},onPause:()=>{},onResume:()=>{},onStop:()=>{},onNodeResize:()=>{},activeToolCallJobId:null,setActiveToolCallJobId:()=>{}})},5738:(e,t,n)=>{n.d(t,{N:()=>b});var o=n(8769),a=n(1085),r=n(3091),s=n(7447),l=n(6025),i=n(3640),c=n(4360),d=n(4269),u=n(4650),p=n(9830);function m(){function e(e,t,n){if(!n||"pre"!==n.tagName||"code"!==e.tagName)return;const o=function(e){const t=e.properties.className||[];for(const e of t)if("language-"===e.slice(0,9))return e.slice(9).toLowerCase();return null}(e);if(null===o)return;let a;try{n.properties.className=(n.properties.className||[]).concat("language-"+o),a=p.L.highlight((0,u.d)(e),o)}catch{return}e.children=a.children}return t=>{(0,d.YR)(t,"element",e)}}const g={Fragment:a.Fragment,jsx:a.jsx,jsxs:a.jsxs};function b(e){let{content:t}=e;const[n,a]=(0,o.useState)(null);return(0,o.useEffect)((()=>{let e=!1;return(0,r.l)().use(s.A).use(l.A).use(i.A).use([m]).use(c.A,g).process(t).then((t=>{e||a(t.result)})).catch((t=>{e||(console.error("Convert markdown failed:",t),a(null))})),()=>{e=!0}}),[t]),n}},5805:(e,t,n)=>{n.d(t,{Bj:()=>r,EM:()=>l,Gx:()=>s,Ne:()=>i,ui:()=>d,xb:()=>c});var o=n(9859),a=n(4427);const r=(0,o.wrapBrick)("eo-icon"),s=(0,o.wrapBrick)("eo-button"),l=(0,o.wrapBrick)("eo-link"),i=(0,o.wrapBrick)("eo-tooltip"),c=((0,o.wrapBrick)("eo-popover"),(0,o.wrapBrick)("eo-next-table"),(0,o.wrapBrick)("eo-drawer",{onClose:"close",onOpen:"open"})),d=(0,a.unwrapProvider)("basic.show-dialog")},5940:(e,t,n)=>{n.d(t,{t:()=>T});var o=n(8769),a=n.n(o),r=n(3373),s=n.n(r),l=n(2591),i=n.n(l),c=n(1740),d=n.n(c),u=n(8128),p=n.n(u),m=n(855),g=n.n(m),b=n(3051),f=n.n(b),h=n(3656),x=n.n(h),k=n(2671),w={};w.styleTagTransform=x(),w.setAttributes=g(),w.insert=p().bind(null,"head"),w.domAPI=d(),w.insertStyleElement=f(),i()(k.A,w);const E=k.A&&k.A.locals?k.A.locals:void 0;var v=n(5805),y=n(5620),_=n(4833),A=n(973);function T(e){var t;let{job:n,variant:r}=e;const{setActiveToolCallJobId:l}=(0,o.useContext)(y.Q),i=n.toolCall,c=null===(t=n.messages)||void 0===t?void 0:t.filter((e=>"tool"===e.role)),d=(0,A.u)(c),u=(0,A.G)(d),p=(0,o.useMemo)((()=>"read-only"===r),[r]),m=(0,o.useCallback)((()=>{"read-only"!==r&&l(n.id)}),[n.id,r,l]),g=["working","input-required"].includes(n.state)&&null!=c&&c.length?"completed":n.state,b=n.isError||"failed"===g;return a().createElement("div",{className:s()(E["tool-call"],{[E.failed]:b,[E["read-only"]]:p}),onClick:m},a().createElement("div",{className:s()(E.status)},n.isError||"failed"===g?a().createElement(v.Bj,{className:E.icon,lib:"fa",prefix:"fas",icon:"xmark"}):"completed"===g?a().createElement(v.Bj,{className:E.icon,lib:"fa",prefix:"fas",icon:"check"}):"working"===g?a().createElement(v.Bj,{className:E.icon,lib:"antd",theme:"outlined",icon:"loading-3-quarters",spinning:!0}):"input-required"===g?a().createElement(v.Bj,{className:E.icon,lib:"fa",prefix:"far",icon:"circle-user"}):"canceled"===g?a().createElement(v.Bj,{className:E.icon,lib:"fa",prefix:"far",icon:"circle-stop"}):a().createElement(v.Bj,{className:E.icon,lib:"fa",prefix:"far",icon:"clock"}),a().createElement("span",{className:E.name},i.name)),!!u&&!p&&a().createElement(_.W,{toolDataProgress:[u],failed:b}))}},6137:(e,t,n)=>{n.d(t,{A:()=>p});var o=n(6758),a=n.n(o),r=n(935),s=n.n(r),l=n(62),i=n.n(l),c=new URL(n(1776),n.b),d=s()(a()),u=i()(c);d.push([e.id,`.node-requirement--aVjY3LFY{width:var(--cruise-canvas-node-width-medium);max-width:90vw;background-color:rgba(255,255,255,0.4);background-image:url(${u});background-position:center bottom;background-size:var(--cruise-canvas-node-width-medium) 128px;background-repeat:no-repeat;box-shadow:0px 4px 10px 0px rgba(54,64,80,0.18);border-radius:12px;-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);border:1px solid rgba(255,255,255,0.4);padding:8px;white-space:pre-wrap;position:relative}.heading--F8b1aIJT{display:flex;align-items:center;margin-bottom:11px;font-size:13px}.avatar--BbtS9D46{flex:1;min-width:0}.avatar--BbtS9D46::part(avatar){border:1px solid #fff}.time--IRwoiblW{color:#8c8c8c}.body--JYv_r9n_{background:#f1f6ff;box-shadow:0px 1px 0px 0px #ffffff;border-radius:9px;padding:15px 10px}.loading-line--xDrsXoxu{position:absolute;bottom:-62px;left:50%;transform:translate(-50%,0)}.loading-line--xDrsXoxu path{fill:none;stroke-width:2px;stroke:rgba(255,255,255,0.6);stroke-dasharray:5,5}.loading--yZvyv4wE{position:absolute;bottom:-74px;left:50%;transform:translate(-50%,0);width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:rgba(69,94,255,0.5);border-radius:24px;animation:loading--yZvyv4wE 1s infinite linear}.inner--voOHXPcc{width:12px;height:12px;background:rgb(69,94,255);border-radius:12px}@keyframes loading--yZvyv4wE{0%{transform:translate(-50%,0) scale(1);opacity:1}100%{transform:translate(-50%,0) scale(1.5);opacity:0}}`,""]),d.locals={"node-requirement":"node-requirement--aVjY3LFY",heading:"heading--F8b1aIJT",avatar:"avatar--BbtS9D46",time:"time--IRwoiblW",body:"body--JYv_r9n_","loading-line":"loading-line--xDrsXoxu",loading:"loading--yZvyv4wE",inner:"inner--voOHXPcc"};const p=d},6261:(e,t,n)=>{e.exports=n.p+"images/854a0152.png"},6494:(e,t,n)=>{n.d(t,{E:()=>l});var o=n(8769),a=n(4257),r=n(7566),s=n(6854);function l(e){let{nodes:t,sizeReady:n,zoomer:l,rootRef:i}=e;const[c,d]=(0,o.useState)(!1),u=(0,o.useRef)(!1);return(0,o.useEffect)((()=>{const e=i.current;if(n&&e&&!c&&t.length>0){let n=1/0,o=-1/0,i=1/0,c=-1/0;for(const e of t){const t=e.view,a=t.x+t.width,r=t.y+t.height;t.x<n&&(n=t.x),a>o&&(o=a),t.y<i&&(i=t.y),r>c&&(c=r)}const p=(e.clientWidth-(o+n))/2;let m=30;if(u.current){const t=c-i+s.xX-e.clientHeight;m=t>0?-t-i:(e.clientHeight-(c+i))/2}l.transform((0,r.A)(e),new a.uV(1,p,m)),d(!0)}u.current=!1}),[c,t,i,n,l]),{centered:c,setCentered:d,reCenterRef:u}}},6629:(e,t,n)=>{n.d(t,{A:()=>l});var o=n(6758),a=n.n(o),r=n(935),s=n.n(r)()(a());s.push([e.id,".human-confirm--pILwNVPH{display:flex;justify-content:center;align-items:center;padding:24px 12px;background:rgba(62,67,102,0.05);box-shadow:0px 1px 0px 0px rgba(255,255,255,0.5);border-radius:9px}.human-confirm--pILwNVPH:not(:first-child){margin-top:6px}.human-confirm--pILwNVPH > * + *{margin-left:8px}",""]),s.locals={"human-confirm":"human-confirm--pILwNVPH"};const l=s},6811:(e,t,n)=>{e.exports=n.p+"images/d4ea5a5c.png"},6854:(e,t,n)=>{n.d(t,{Bf:()=>d,CO:()=>i,GT:()=>c,Jw:()=>s,QB:()=>u,U5:()=>r,Yt:()=>a,sS:()=>o,xX:()=>l});const o=.5,a=2,r="<START>",s="<END>",l=110,i=40,c=42,d=10,u=["completed","failed","canceled"]},6903:(e,t,n)=>{n.d(t,{A:()=>h});var o=n(2591),a=n.n(o),r=n(1740),s=n.n(r),l=n(8128),i=n.n(l),c=n(855),d=n.n(c),u=n(3051),p=n.n(u),m=n(3656),g=n.n(m),b=n(1525),f={};f.styleTagTransform=g(),f.setAttributes=d(),f.insert=i().bind(null,"head"),f.domAPI=s(),f.insertStyleElement=p(),a()(b.A,f);const h=b.A&&b.A.locals?b.A.locals:void 0},6938:(e,t,n)=>{n.d(t,{L:()=>y});var o=n(8769),a=n.n(o),r=n(3373),s=n.n(r),l=n(2591),i=n.n(l),c=n(1740),d=n.n(c),u=n(8128),p=n.n(u),m=n(855),g=n.n(m),b=n(3051),f=n.n(b),h=n(3656),x=n.n(h),k=n(5005),w={};w.styleTagTransform=x(),w.setAttributes=g(),w.insert=p().bind(null,"head"),w.domAPI=d(),w.insertStyleElement=f(),i()(k.A,w);const E=k.A&&k.A.locals?k.A.locals:void 0;var v=n(6903);function y(e){let{content:t,loading:n}=e;return a().createElement("div",{className:E["node-instruction"]},a().createElement("div",{className:s()(E.text,{[v.A["shine-text"]]:n}),title:t},t))}},7110:(e,t,n)=>{n.d(t,{A:()=>p});var o=n(6758),a=n.n(o),r=n(935),s=n.n(r),l=n(62),i=n.n(l),c=new URL(n(3921),n.b),d=s()(a()),u=i()(c);d.push([e.id,`ai-portal\\.cruise-canvas{display:block;position:relative;width:100%;height:100%;overflow:hidden;background-color:rgb(205,206,207);background-image:url(${u});background-size:cover;background-repeat:no-repeat;background-position:center;background-attachment:fixed;color:#262626;--cruise-canvas-node-border:1px solid gray;--cruise-canvas-node-width-small:330px;--cruise-canvas-node-width-medium:453px;--cruise-canvas-primary-color:#2540ff;--cruise-canvas-input-background:rgba(255,255,255,0.8);--cruise-canvas-input-box-shadow:0px 1px 0px 0px #ffffff,inset 0px 2px 4px 0px #b3bcf9}.root--z6jdb_BU{width:100%;height:100%;position:relative}.widgets--r6lUPOu2{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;-webkit-user-select:none;user-select:none}.root--z6jdb_BU.loading--m5r507Hp .canvas--u6C26uH_,\n.root--z6jdb_BU.loading--m5r507Hp + .widgets--r6lUPOu2{visibility:hidden}.loading-icon--UkRBMlBy{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:48px;color:#fff}.widgets--r6lUPOu2 > *{pointer-events:auto;-webkit-user-select:text;user-select:text}.canvas--u6C26uH_,\n.edges--uNPQGWZg{width:100%;height:100%;position:absolute;transform-origin:0% 0%;-webkit-user-select:none;user-select:none}.node--IBGywwp4{position:absolute;-webkit-user-select:text;user-select:text;cursor:auto}.node--IBGywwp4:not(.ready--pmh440go),\n.canvas--u6C26uH_:not(.ready--pmh440go) > .edges--uNPQGWZg{visibility:hidden}svg.edges--uNPQGWZg{pointer-events:none;overflow:visible}.edge--muRUWYG1{fill:none;stroke-width:2px;stroke:rgba(255,255,255,0.6);stroke-dasharray:5,5}.go-back--myNmSpSv{position:absolute;top:20px;left:20px}.go-back--myNmSpSv::part(link){width:32px;height:32px;display:flex;justify-content:center;align-items:center;background:rgba(255,255,255,0.7);box-shadow:0px 3px 14px 0px rgba(0,0,0,0.1),0px 1px 4px 0px rgba(0,0,0,0.06);border-radius:8px;border:1px solid rgba(255,255,255,0.3);color:inherit;box-sizing:border-box}.go-back--myNmSpSv::part(link):hover{background:rgba(255,255,255,0.5)}.go-back--myNmSpSv::part(link):active{background:rgba(255,255,255,0.3)}`,""]),d.locals={root:"root--z6jdb_BU",widgets:"widgets--r6lUPOu2",loading:"loading--m5r507Hp",canvas:"canvas--u6C26uH_","loading-icon":"loading-icon--UkRBMlBy",edges:"edges--uNPQGWZg",node:"node--IBGywwp4",ready:"ready--pmh440go",edge:"edge--muRUWYG1","go-back":"go-back--myNmSpSv"};const p=d},7221:(e,t,n)=>{n.d(t,{A:()=>g});var o=n(6758),a=n.n(o),r=n(935),s=n.n(r),l=n(62),i=n.n(l),c=new URL(n(9594),n.b),d=new URL(n(6261),n.b),u=s()(a()),p=i()(c),m=i()(d);u.push([e.id,`.node-end--yzRaOZnC{width:var(--cruise-canvas-node-width-small);background-color:#fff;background-image:url(${p});background-size:var(--cruise-canvas-node-width-small) 271px;background-repeat:no-repeat;background-position:center;border:1px solid #e0e5f0;border-radius:12px;display:flex;flex-direction:column;align-items:center;padding:41px 24px 28px}.icon--IVcHjGFO{width:64px;height:64px;background-image:url(${m});background-size:59px 49px;background-repeat:no-repeat;background-position:center;margin-bottom:16px}.title--ESn4jaJ9{margin-bottom:8px;font-weight:500;font-size:16px;line-height:24px}.description--aYl8sq6S{margin-bottom:36px;font-size:13px;color:#8c8c8c;line-height:24px}.button--mkIwsPzt{width:120px;height:30px;background:rgba(0,0,0,0.04);border:none;border-radius:15px;text-align:center;cursor:pointer}.button--mkIwsPzt:hover{background:rgba(0,0,0,0.08)}.button--mkIwsPzt:active{background:rgba(0,0,0,0.15)}.button--mkIwsPzt:focus{outline:none}`,""]),u.locals={"node-end":"node-end--yzRaOZnC",icon:"icon--IVcHjGFO",title:"title--ESn4jaJ9",description:"description--aYl8sq6S",button:"button--mkIwsPzt"};const g=u},7617:(e,t,n)=>{n.d(t,{A:()=>l});var o=n(6758),a=n.n(o),r=n(935),s=n.n(r)()(a());s.push([e.id,".node-job--soTYrcA7{width:var(--cruise-canvas-node-width-medium);max-width:90vw;background:linear-gradient(180deg,#f5f8ff 0%,#edf0f9 100%);box-shadow:0px 4px 10px 0px rgba(177,149,207,0.4),0px 2px 4px 0px rgba(0,0,0,0.06);border-radius:12px;border:1px solid #fff;padding:8px}.ask-user--lf925zGf{background:rgba(255,255,255,0.4);box-shadow:0px 4px 10px 0px rgba(54,64,80,0.18);border-color:rgba(255,255,255,0.5);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px)}.error--IwtdD0T6{box-shadow:inset 0px 0px 8px 2px rgba(242,76,37,0.6);border-color:rgba(242,76,37,0.6)}.heading--GZqrhPqL{display:flex;align-items:center;border-bottom:1px solid #e2e2ec;padding:0 5px 5px;font-size:13px;color:#8c8c8c}.icon--Rb_vveHN{margin-right:6px;font-size:14px}.tool--RR3S1Z1V{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;--shine-text-color:#8c8c8c;--shine-text-highlight-color:#dcdcdc}.time--eHXSEjt6{margin-left:6px}.body--V34MsV9R{padding:9px 4px 4px}.scrollable--LudR_5Pj{max-height:462px;overflow-y:auto}.message--iVQBlD6k{overflow-wrap:break-word}.message--iVQBlD6k:not(:first-child){margin-top:6px}.message--iVQBlD6k p{margin:1em 0}.message--iVQBlD6k > :first-child{margin-top:0}.message--iVQBlD6k > :last-child{margin-bottom:0}.ask-user--lf925zGf .heading--GZqrhPqL{border-bottom:none}.role-assistant--Y8vd9Oms,\n.role-user--nAW4Hzsu{background:var(--cruise-canvas-input-background);border-radius:9px;border:1px solid #ccd1de;padding:6px 16px}.role-user--nAW4Hzsu{white-space:pre-wrap}.human-input--wFc6ovnT{margin-top:1em;display:block;width:100%;padding:10px 16px;color:inherit;background:var(--cruise-canvas-input-background);box-shadow:var(--cruise-canvas-input-box-shadow);border-radius:9px;border:none;font-size:14px;line-height:22px;height:64px}.human-input--wFc6ovnT:focus{outline:none}.human-input--wFc6ovnT::placeholder{color:#bfbfbf}.node-job--soTYrcA7 *::-webkit-scrollbar{width:5px;height:5px;background:transparent}.node-job--soTYrcA7 *::-webkit-scrollbar-thumb{background-color:#d8d8d8;border-radius:3px}.node-job--soTYrcA7 *::-webkit-scrollbar-track{background:transparent}",""]),s.locals={"node-job":"node-job--soTYrcA7","ask-user":"ask-user--lf925zGf",error:"error--IwtdD0T6",heading:"heading--GZqrhPqL",icon:"icon--Rb_vveHN",tool:"tool--RR3S1Z1V",time:"time--eHXSEjt6",body:"body--V34MsV9R",scrollable:"scrollable--LudR_5Pj",message:"message--iVQBlD6k","role-assistant":"role-assistant--Y8vd9Oms","role-user":"role-user--nAW4Hzsu","human-input":"human-input--wFc6ovnT"};const l=s},7642:(e,t,n)=>{n.d(t,{g:()=>l});var o=n(7586),a=n.n(o),r=n(8769),s=n(6854);function l(e){let{rawNodes:t,rawEdges:n,sizeMap:o,state:l}=e;const c=(0,r.useRef)(null),d="completed"===l,{initialNodes:u,initialEdges:p}=(0,r.useMemo)((()=>{const e=[{type:"start",id:s.U5}],o=[],a=[],r=null!=t?t:[],l=null!=n?n:[],i=new Set(l.map((e=>e.target))),u=d?new Set(l.map((e=>e.source))):null;for(const e of r)i.has(e.id)||o.push({source:s.U5,target:e.id}),d&&!u.has(e.id)&&a.push(e.id);e.push(...r),o.push(...l),a.length>0&&(e.push({id:s.Jw,type:"end"}),o.push(...a.map((e=>({source:e,target:s.Jw})))));const p=c.current;if(p)for(const t of e){const e=p.get(t.id);e&&(t.view=e)}return{initialNodes:e,initialEdges:o}}),[d,n,t]),m=(0,r.useRef)(null);return(0,r.useMemo)((()=>{var e;for(const e of u)if(null==o||!o.has(e.id))return{sizeReady:!1,nodes:u,edges:[]};const t=new(a().graphlib.Graph);t.setGraph({rankdir:"TB",nodesep:s.GT,edgesep:s.Bf,ranksep:s.CO}),t.setDefaultEdgeLabel((function(){return{}}));for(const e of p)t.setEdge(e.source,e.target);for(const e of u){const[n,a]=o.get(e.id);t.setNode(e.id,{id:e.id,width:n,height:a})}a().layout(t);let n=null;const r=u.map((e=>{const o=t.node(e.id),a=o.x-o.width/2,r=o.y-o.height/2;return"start"===e.type&&(m.current?n={x:m.current.x-a,y:m.current.y-r}:m.current={x:a,y:r}),{...e,view:{x:a,y:r,width:o.width,height:o.height}}}));if(n)for(const e of r)Object.assign(e.view,i(e.view,n));const l=null!==(e=c.current)&&void 0!==e?e:c.current=new Map;for(const e of r){const{x:t,y:n}=e.view;l.set(e.id,{x:t,y:n})}return{sizeReady:!0,nodes:r,edges:p.map((e=>{const o=t.node(e.source),a=i(o,n),r=t.node(e.target),l=i(r,n),c=l.y-(r.height+s.CO)/2,d=[{x:a.x,y:a.y+o.height/2},{x:a.x,y:c},{x:l.x,y:c},{x:l.x,y:l.y-r.height/2}];return{...e,points:d}}))}}),[p,u,o])}function i(e,t){return t?{x:e.x+t.x,y:e.y+t.y}:{x:e.x,y:e.y}}},7954:(e,t,n)=>{n.d(t,{H:()=>w});var o=n(8769),a=n.n(o),r=n(2591),s=n.n(r),l=n(1740),i=n.n(l),c=n(8128),d=n.n(c),u=n(855),p=n.n(u),m=n(3051),g=n.n(m),b=n(3656),f=n.n(b),h=n(8905),x={};x.styleTagTransform=f(),x.setAttributes=p(),x.insert=d().bind(null,"head"),x.domAPI=i(),x.insertStyleElement=g(),s()(h.A,x);const k=h.A&&h.A.locals?h.A.locals:void 0;function w(){return a().createElement("div",{className:k["node-start"]},a().createElement("div",{className:k.icon}))}},7993:(e,t,n)=>{n.d(t,{A:()=>l});var o=n(6758),a=n.n(o),r=n(935),s=n.n(r)()(a());s.push([e.id,".progress-line--CX_xuAHC{--breathing-color:rgba(205,205,217,0.7);--breathing-color-2:rgba(205,205,217,0);display:flex;flex-direction:column}.progress-line--CX_xuAHC .step--YXd66tSR{position:relative;display:flex;align-items:center;padding:10px 4px 10px 16px;color:rgba(0,0,0,0.5)}.progress-line--CX_xuAHC .step--YXd66tSR .axis--T4nVxQt5{position:absolute;top:0;bottom:0;left:14px;width:1px}.progress-line--CX_xuAHC .step--YXd66tSR .axis--T4nVxQt5 .line--BUSBjzxD{width:1px;height:100%;background:linear-gradient(172deg,rgba(205,205,217,0) 0%,#cdcdd9 46%,rgba(205,205,217,0) 100%)}.progress-line--CX_xuAHC .step--YXd66tSR .axis--T4nVxQt5 .dot--TPMEta87{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:5px;height:5px;background:rgba(205,205,217,1);border-radius:50%}.progress-line--CX_xuAHC .step--YXd66tSR .progress--alc7SspF{padding:3px;margin:0 8px 0 12px;border-radius:10px;line-height:1;background:#ffffff}.progress-line--CX_xuAHC .step--YXd66tSR .progress--alc7SspF .count--RdZcMYhZ{font-weight:400}.progress-line--CX_xuAHC .step--YXd66tSR .progress--alc7SspF .total--BKoLTm8c{opacity:0.6}.progress-line--CX_xuAHC .step--YXd66tSR .description--AyfMh1_M{flex:1;color:#999}.progress-line--CX_xuAHC .step--YXd66tSR:last-child .progress--alc7SspF .count--RdZcMYhZ{font-weight:600}.failed--Q9TADo_k .step--YXd66tSR:last-child .axis--T4nVxQt5 .line--BUSBjzxD{background:linear-gradient(172deg,rgba(242,76,37,0) 0%,rgba(242,76,37,0.3) 47%,rgba(242,76,37,0) 100%)}.failed--Q9TADo_k .step--YXd66tSR:last-child .axis--T4nVxQt5 .dot--TPMEta87{background:rgba(255,154,120,1)}.failed--Q9TADo_k .step--YXd66tSR:last-child .progress--alc7SspF{background:#ffd6d6}.failed--Q9TADo_k .step--YXd66tSR:last-child .progress--alc7SspF .count--RdZcMYhZ{color:#f44336}",""]),s.locals={"progress-line":"progress-line--CX_xuAHC",step:"step--YXd66tSR",axis:"axis--T4nVxQt5",line:"line--BUSBjzxD",dot:"dot--TPMEta87",progress:"progress--alc7SspF",count:"count--RdZcMYhZ",total:"total--BKoLTm8c",description:"description--AyfMh1_M",failed:"failed--Q9TADo_k"};const l=s},8231:(e,t,n)=>{n.d(t,{f:()=>m});var o,a,r,s=n(8769),l=n(7566),i=n(4257),c=n(6854),d=n(9443);const u=/mac/i.test(null!==(o=null!==(a=null===(r=navigator.userAgentData)||void 0===r?void 0:r.platform)&&void 0!==a?a:navigator.platform)&&void 0!==o?o:navigator.userAgent);function p(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey&&u?10:1)}function m(e){let{rootRef:t,zoomable:n,scrollable:o,pannable:a,pannableWithCtrl:r,scaleRange:u,onSwitchActiveTarget:m}=e;const[g,b]=(0,s.useState)(!1),[f,h]=(0,s.useState)({k:1,x:0,y:0}),x=(0,s.useRef)(f),k=(0,s.useMemo)((()=>null!=u?u:[c.sS,c.Yt]),[u]),w=(0,s.useMemo)((()=>(0,i.s_)().wheelDelta(p)),[]);return(0,s.useEffect)((()=>{let e=!1;w.scaleExtent(n?k:[1,1]).on("start",(()=>{e=!1,b(!0)})).on("zoom",(t=>{e=!0,h(t.transform),x.current=t.transform})).on("end",(()=>{b(!1),e||null==m||m(null)})).filter((e=>("wheel"===e.type||(r?a||e.ctrlKey:!e.ctrlKey))&&!e.button))}),[m,k,n,w,r,a]),(0,s.useEffect)((()=>{if(r){const e=e=>{e.ctrlKey&&e.preventDefault()};return document.addEventListener("contextmenu",e,!0),()=>{document.removeEventListener("contextmenu",e,!0)}}}),[r]),(0,s.useEffect)((()=>{const e=t.current;if(!e)return;const s=(0,l.A)(e),i=()=>{s.on(".zoom",null).on(".zoom.custom",null).on("wheel",null)};if(n||o||a)return(n||o)&&s.on("wheel.zoom.custom",(e=>{if(!e.ctrlKey&&(e.stopImmediatePropagation(),o)){const t=e.target.closest('pre[class*="language-"]');if(t&&function(e,t){if(!t)return!1;if(t>0){const t=e.scrollWidth-e.clientWidth;return e.scrollLeft<=t-1}return e.scrollLeft>=1}(t,e.deltaX))return;const n=e.target.closest(`.${d.A.body}`);if(n&&function(e,t){if(!t)return!1;if(t>0){const t=e.scrollHeight-e.clientHeight;return e.scrollTop<=t-1}return e.scrollTop>=1}(n,e.deltaY))return;e.cancelable&&(e.preventDefault(),w.translateBy(s,e.wheelDeltaX/5,e.wheelDeltaY/5))}})),s.call(w).on("wheel",(e=>{e.preventDefault()})).on("dblclick.zoom",null),a||r||s.on("mousedown.zoom",null),a||s.on("touchstart.zoom",null).on("touchmove.zoom",null).on("touchend.zoom",null),i;i()}),[r,a,t,o,n,w]),{grabbing:g,transform:f,transformRef:x,zoomer:w,scaleRange:k}}},8905:(e,t,n)=>{n.d(t,{A:()=>p});var o=n(6758),a=n.n(o),r=n(935),s=n.n(r),l=n(62),i=n.n(l),c=new URL(n(6811),n.b),d=s()(a()),u=i()(c);d.push([e.id,`.node-start--Mrh1iP5r{width:65px;height:65px;position:relative;overflow:visible}.icon--NxC4u6Wl{width:75px;height:75px;background-image:url(${u});background-size:75px 75px;background-repeat:no-repeat;background-position:center;position:absolute;left:-5px;top:-1px}`,""]),d.locals={"node-start":"node-start--Mrh1iP5r",icon:"icon--NxC4u6Wl"};const p=d},9295:(e,t,n)=>{n.d(t,{s:()=>v});var o=n(8769),a=n.n(o),r=n(2591),s=n.n(r),l=n(1740),i=n.n(l),c=n(8128),d=n.n(c),u=n(855),p=n.n(u),m=n(3051),g=n.n(m),b=n(3656),f=n.n(b),h=n(7221),x={};x.styleTagTransform=f(),x.setAttributes=p(),x.insert=d().bind(null,"head"),x.domAPI=i(),x.insertStyleElement=g(),s()(h.A,x);const k=h.A&&h.A.locals?h.A.locals:void 0;var w=n(79),E=n(5620);function v(){const{onShare:e}=(0,o.useContext)(E.Q);return a().createElement("div",{className:k["node-end"]},a().createElement("div",{className:k.icon}),a().createElement("div",{className:k.title},(0,w.t)(w.K.TASK_COMPLETED)),a().createElement("div",{className:k.description},(0,w.t)(w.K.PLAN_COMPLETED)),a().createElement("button",{className:k.button,onClick:e},(0,w.t)(w.K.SHARE)))}},9443:(e,t,n)=>{n.d(t,{A:()=>h});var o=n(2591),a=n.n(o),r=n(1740),s=n.n(r),l=n(8128),i=n.n(l),c=n(855),d=n.n(c),u=n(3051),p=n.n(u),m=n(3656),g=n.n(m),b=n(7617),f={};f.styleTagTransform=g(),f.setAttributes=d(),f.insert=i().bind(null,"head"),f.domAPI=s(),f.insertStyleElement=p(),a()(b.A,f);const h=b.A&&b.A.locals?b.A.locals:void 0},9533:(e,t,n)=>{n.d(t,{B:()=>a});var o=n(8769);function a(e,t){return(0,o.useMemo)((()=>{if(!e)return null;const n=null!=t?t:[],o=[],a=[],r="requirement";o.push({type:"requirement",id:r,content:e.requirement,state:0===n.length?"working":"completed"});const s=new Map,l=new Map,i=new Map,c=new Map,d=[],u=[];for(const e of n)if(e.parent){let t=l.get(e.parent);t||(t=[],l.set(e.parent,t)),t.push(e.id)}for(const e of n){s.set(e.id,e);for(const t of null!==(p=e.upstream)&&void 0!==p?p:[]){var p;let n=i.get(t);n||(n=[],i.set(t,n)),n.push(e.id)}var m;e.parent||(u.push(e.id),null!==(m=e.upstream)&&void 0!==m&&m.length||d.push(e.id))}const g=e=>{for(const t of e){const e=l.get(t),n=i.get(t);if(e){const o=e.filter((e=>{var t;return!(null!==(t=s.get(e).upstream)&&void 0!==t&&t.length)})),a=n?e.filter((e=>!i.has(e))):[];i.set(t,o);for(const e of a)i.set(e,[...n]);g(e)}}};g(u);for(const[e,t]of i)for(const n of t){let t=c.get(n);t||(t=[],c.set(n,t)),t.push(e)}const b=[],f=new Set,h=[...d];for(;h.length>0;){const e=h.shift();if(f.has(e))continue;f.add(e),b.push(e);const t=i.get(e);t&&h.push(...t)}const x=new Map([[r,[r]]]);for(const e of b){const t=s.get(e),{messages:n}=t,a=Array.isArray(n)&&n.length>0||t.toolCall,r=[];if(t.instruction){const n=`instruction:${e}`;o.push({type:"instruction",id:n,job:t,state:t.state}),r.push(n)}if(a||!t.instruction){const e=`job:${t.id}`;o.push({type:"job",id:e,job:t,state:t.state}),r.push(e)}x.set(e,r)}for(const e of b){const t=x.get(e),n=c.get(e);for(const e of null!=n?n:[r]){const n=x.get(e);a.push({source:n[n.length-1],target:t[0]})}for(let e=1;e<t.length;e++)a.push({source:t[e-1],target:t[e]})}return{nodes:o,edges:a}}),[e,t])}},9594:(e,t,n)=>{e.exports=n.p+"images/b1e65906.png"},9926:(e,t,n)=>{n.d(t,{A:()=>l});var o=n(6758),a=n.n(o),r=n(935),s=n.n(r)()(a());s.push([e.id,'.detail--JiiWugxP{margin-top:20px;color:#595959;margin-bottom:7px}.detail--JiiWugxP .body--H_Wy7M2z code[class*="language-"],.detail--JiiWugxP .body--H_Wy7M2z pre[class*="language-"]{background:#ffffff}.detail--JiiWugxP .body--H_Wy7M2z pre[class*="language-"]{border-radius:9px;border:1px solid #ccd1de}.detail--JiiWugxP .body--H_Wy7M2z pre.fallback--mxkVhIEE{white-space:pre-wrap;background:#fef5f3}',""]),s.locals={detail:"detail--JiiWugxP",body:"body--H_Wy7M2z",fallback:"fallback--mxkVhIEE"};const l=s}}]);
|
|
2
|
-
//# sourceMappingURL=437.0ec404d3.js.map
|