@next-bricks/ai-portal 0.32.9 → 0.33.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.
Files changed (93) hide show
  1. package/dist/bricks.json +23 -21
  2. package/dist/chunks/3554.206bf5f8.js +2 -0
  3. package/dist/chunks/3554.206bf5f8.js.map +1 -0
  4. package/dist/chunks/4937.be28e874.js +2 -0
  5. package/dist/chunks/4937.be28e874.js.map +1 -0
  6. package/dist/chunks/4957.f878df32.js +3 -0
  7. package/dist/chunks/4957.f878df32.js.LICENSE.txt +5 -0
  8. package/dist/chunks/4957.f878df32.js.map +1 -0
  9. package/dist/chunks/5521.ef48a4d3.js +2 -0
  10. package/dist/chunks/5521.ef48a4d3.js.map +1 -0
  11. package/dist/chunks/7367.26e21493.js +3 -0
  12. package/dist/chunks/7367.26e21493.js.LICENSE.txt +13 -0
  13. package/dist/chunks/7367.26e21493.js.map +1 -0
  14. package/dist/chunks/7525.b8ed4213.js +2 -0
  15. package/dist/chunks/7525.b8ed4213.js.map +1 -0
  16. package/dist/chunks/7824.c9360190.js +3 -0
  17. package/dist/chunks/{6677.2fea9748.js.LICENSE.txt → 7824.c9360190.js.LICENSE.txt} +4 -12
  18. package/dist/chunks/7824.c9360190.js.map +1 -0
  19. package/dist/chunks/8324.71f13678.js +2 -0
  20. package/dist/chunks/8324.71f13678.js.map +1 -0
  21. package/dist/chunks/833.ea1388c6.js +2 -0
  22. package/dist/chunks/833.ea1388c6.js.map +1 -0
  23. package/dist/chunks/8989.ddf83737.js +2 -0
  24. package/dist/chunks/{8989.9db8c4fb.js.map → 8989.ddf83737.js.map} +1 -1
  25. package/dist/chunks/9535.9827a039.js +2 -0
  26. package/dist/chunks/9535.9827a039.js.map +1 -0
  27. package/dist/chunks/entity-sdk-get.37c62d5f.js +3 -0
  28. package/dist/chunks/entity-sdk-get.37c62d5f.js.LICENSE.txt +1 -0
  29. package/dist/chunks/entity-sdk-get.37c62d5f.js.map +1 -0
  30. package/dist/chunks/entity-sdk-list.0b8120ce.js +3 -0
  31. package/dist/chunks/entity-sdk-list.0b8120ce.js.LICENSE.txt +1 -0
  32. package/dist/chunks/entity-sdk-list.0b8120ce.js.map +1 -0
  33. package/dist/chunks/main.0cbe3b18.js +2 -0
  34. package/dist/chunks/main.0cbe3b18.js.map +1 -0
  35. package/dist/examples.json +11 -11
  36. package/dist/index.7b4d5912.js +2 -0
  37. package/dist/index.7b4d5912.js.map +1 -0
  38. package/dist/manifest.json +155 -149
  39. package/dist/types.json +546 -817
  40. package/dist-types/bootstrap.d.ts +2 -0
  41. package/dist-types/chat-stream/ChatStream.d.ts +1 -1
  42. package/dist-types/cruise-canvas/CruiseCanvas.d.ts +1 -1
  43. package/dist-types/cruise-canvas/NodeJob/NodeJob.d.ts +2 -2
  44. package/dist-types/cruise-canvas/interfaces.d.ts +3 -11
  45. package/dist-types/cruise-canvas/reducers/interfaces.d.ts +1 -0
  46. package/dist-types/data-providers/entity-sdk-get.d.ts +1 -0
  47. package/dist-types/data-providers/entity-sdk-list.d.ts +1 -0
  48. package/dist-types/shared/TaskContext.d.ts +5 -3
  49. package/dist-types/shared/getAsyncConstructedView.d.ts +2 -0
  50. package/dist-types/shared/interfaces.d.ts +11 -5
  51. package/dist-types/shared/workers/tsxParser.d.ts +5 -0
  52. package/dist-types/shared/workers/tsxParser.worker.d.ts +1 -0
  53. package/package.json +2 -2
  54. package/dist/chunks/1194.5eabae99.js +0 -2
  55. package/dist/chunks/1194.5eabae99.js.map +0 -1
  56. package/dist/chunks/1370.e6adbca3.js +0 -2
  57. package/dist/chunks/1370.e6adbca3.js.map +0 -1
  58. package/dist/chunks/3554.d1b81183.js +0 -2
  59. package/dist/chunks/3554.d1b81183.js.map +0 -1
  60. package/dist/chunks/4937.59e921b9.js +0 -2
  61. package/dist/chunks/4937.59e921b9.js.map +0 -1
  62. package/dist/chunks/6677.2fea9748.js +0 -3
  63. package/dist/chunks/6677.2fea9748.js.map +0 -1
  64. package/dist/chunks/7525.6915bed7.js +0 -2
  65. package/dist/chunks/7525.6915bed7.js.map +0 -1
  66. package/dist/chunks/8989.9db8c4fb.js +0 -2
  67. package/dist/chunks/main.a5c3ae85.js +0 -2
  68. package/dist/chunks/main.a5c3ae85.js.map +0 -1
  69. package/dist/index.f9bad569.js +0 -2
  70. package/dist/index.f9bad569.js.map +0 -1
  71. package/dist-types/cruise-canvas/utils/converters/convertButton.d.ts +0 -3
  72. package/dist-types/cruise-canvas/utils/converters/convertDashboard.d.ts +0 -3
  73. package/dist-types/cruise-canvas/utils/converters/convertDescriptions.d.ts +0 -3
  74. package/dist-types/cruise-canvas/utils/converters/convertEvents.d.ts +0 -3
  75. package/dist-types/cruise-canvas/utils/converters/convertFlexLayout.d.ts +0 -3
  76. package/dist-types/cruise-canvas/utils/converters/convertForm.d.ts +0 -3
  77. package/dist-types/cruise-canvas/utils/converters/convertFormItem.d.ts +0 -3
  78. package/dist-types/cruise-canvas/utils/converters/convertList.d.ts +0 -3
  79. package/dist-types/cruise-canvas/utils/converters/convertModal.d.ts +0 -3
  80. package/dist-types/cruise-canvas/utils/converters/convertTable.d.ts +0 -3
  81. package/dist-types/cruise-canvas/utils/converters/convertView.d.ts +0 -3
  82. package/dist-types/cruise-canvas/utils/converters/expressions.d.ts +0 -13
  83. package/dist-types/cruise-canvas/utils/converters/findNearestCandidate.d.ts +0 -3
  84. package/dist-types/cruise-canvas/utils/converters/findObjectIdByUsedDataContexts.d.ts +0 -7
  85. package/dist-types/cruise-canvas/utils/converters/getModelObjectInstanceId.d.ts +0 -1
  86. package/dist-types/cruise-canvas/utils/converters/getPreGeneratedAttrViews.d.ts +0 -1
  87. package/dist-types/cruise-canvas/utils/converters/getPreGeneratedMetricGroups.d.ts +0 -6
  88. package/dist-types/cruise-canvas/utils/converters/interfaces.d.ts +0 -75
  89. package/dist-types/cruise-canvas/utils/converters/raw-data-generate/convert.d.ts +0 -5
  90. package/dist-types/cruise-canvas/utils/converters/raw-data-generate/getMemberAccessor.d.ts +0 -1
  91. package/dist-types/cruise-canvas/utils/converters/raw-data-generate/raw-data-interfaces.d.ts +0 -87
  92. package/dist-types/cruise-canvas/utils/converters/withBox.d.ts +0 -3
  93. package/dist-types/cruise-canvas/utils/isJsxView.d.ts +0 -3
@@ -0,0 +1,2 @@
1
+ "use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[9535],{24:(e,t,i)=>{i.d(t,{A:()=>l});var a=i(36758),s=i.n(a),n=i(40935),r=i.n(n)()(s());r.push([e.id,':host{display:block;white-space:nowrap}.container{border-radius:var(--elevo-border-radius)}:host([hidden]){display:none}*{box-sizing:border-box}.label{font-weight:500;overflow:hidden;text-overflow:ellipsis}.stat{font-weight:600}.chart{min-width:0}.chart > *{display:block}:host(:not([size="small"])) .container{background:linear-gradient(164deg,rgba(105,153,253,0) 40%,rgba(105,153,253,0.05) 60%,rgba(105,153,253,0.32) 100%),#fff;padding:22px}:host(:not([size="small"])) .label{font-size:14px;height:22px;margin-bottom:16px}:host(:not([size="small"])) .stat-and-chart{display:flex;align-items:center;justify-content:end;position:relative}:host(:not([size="small"])) .stat{font-size:36px;color:#1d212a;position:absolute;left:0}:host(:not([size="small"])) .chart{width:calc(100% - 160px)}:host([size="small"]) .container{padding:11px 15px;display:flex;align-items:center;justify-content:end;position:relative;background:var(--elevo-component-background);-webkit-backdrop-filter:var(--elevo-component-backdrop-filter);backdrop-filter:var(--elevo-component-backdrop-filter)}:host([size="small"]) .label-and-stat{position:absolute;left:15px}:host([size="small"]) .label{font-size:12px;color:#8c8c8c;line-height:17px;height:17px;margin-bottom:7px}:host([size="small"]) .stat{font-size:20px;color:#262626;line-height:24px}:host([size="small"]) .chart{width:calc(100% - 90px)}',""]);const l=r.toString()},19535:(e,t,i)=>{var a,s=i(74635),n=i(70918),r=i(26902),l=i(5536),o=i(86121),c=i(70829),h=i(62740),d=i(18769),p=i.n(d),u=i(7921),m=i(11280),b=(i(65168),i(87117)),A=i(80079),g=i(51850),k=i(38791);let E,w,x,v,f,y,M,T,R,S,_,N,C,D,W,O,F,I,L,U,z,H,j,V,B,P,Y,$,G,q,K,J,X,Q,Z,ee,te,ie,ae,se,ne,re,le,oe,ce,he,de,pe,ue,me,be,Ae;(0,b.initializeI18n)(A.NS,A.I);const{defineElement:ge,property:ke,event:Ee,method:we}=(0,u.createDecorators)(),xe=(0,d.forwardRef)(g.A),ve=(0,d.forwardRef)(k.B);let fe;var ye=new WeakMap,Me=new WeakMap,Te=new WeakMap,Re=new WeakMap,Se=new WeakMap,_e=new WeakMap,Ne=new WeakMap,Ce=new WeakMap,De=new WeakMap,We=new WeakMap,Oe=new WeakMap,Fe=new WeakMap,Ie=new WeakMap,Le=new WeakMap,Ue=new WeakMap,ze=new WeakMap,He=new WeakSet,je=new WeakMap,Ve=new WeakMap,Be=new WeakMap,Pe=new WeakMap,Ye=new WeakMap,$e=new WeakMap,Ge=new WeakMap,qe=new WeakMap,Ke=new WeakMap,Je=new WeakMap;class Xe extends m.ReactNextElement{constructor(){super(...arguments),(0,s.A)(this,He),(0,n.A)(this,ye,(E(this),x(this))),(0,n.A)(this,Me,(v(this),f(this))),(0,n.A)(this,Te,(y(this),M(this))),(0,n.A)(this,Re,(T(this),R(this))),(0,n.A)(this,Se,(S(this),_(this))),(0,n.A)(this,_e,(N(this),C(this))),(0,n.A)(this,Ne,(D(this),W(this))),(0,n.A)(this,Ce,(O(this),F(this))),(0,n.A)(this,De,(I(this),L(this))),(0,n.A)(this,We,(U(this),z(this))),(0,n.A)(this,Oe,(H(this),j(this))),(0,n.A)(this,Fe,(V(this),B(this))),(0,n.A)(this,Ie,(P(this),Y(this))),(0,n.A)(this,Le,($(this),G(this))),(0,n.A)(this,Ue,(q(this),K(this))),(0,n.A)(this,ze,(J(this),X(this))),(0,n.A)(this,je,(ee(this),()=>{(0,l.A)(He,this,Q).emit()})),(0,n.A)(this,Ve,te(this)),(0,n.A)(this,Be,(se(this),()=>{(0,l.A)(He,this,ie).emit()})),(0,n.A)(this,Pe,ne(this)),(0,n.A)(this,Ye,(oe(this),e=>{(0,l.A)(He,this,re).emit(e)})),(0,n.A)(this,$e,ce(this)),(0,n.A)(this,Ge,(pe(this),e=>{(0,l.A)(He,this,he).emit(e)})),(0,n.A)(this,qe,ue(this)),(0,n.A)(this,Ke,(Ae(this),()=>{(0,l.A)(He,this,me).emit("chat")})),(0,n.A)(this,Je,(0,d.createRef)())}get conversationId(){return(0,c.A)(ye,this)}set conversationId(e){(0,o.A)(ye,this,e)}get initialRequest(){return(0,c.A)(Me,this)}set initialRequest(e){(0,o.A)(Me,this,e)}get taskId(){return(0,c.A)(Te,this)}set taskId(e){(0,o.A)(Te,this,e)}get task(){return(0,c.A)(Re,this)}set task(e){(0,o.A)(Re,this,e)}get jobs(){return(0,c.A)(Se,this)}set jobs(e){(0,o.A)(Se,this,e)}get replay(){return(0,c.A)(_e,this)}set replay(e){(0,o.A)(_e,this,e)}get replayDelay(){return(0,c.A)(Ne,this)}set replayDelay(e){(0,o.A)(Ne,this,e)}get supports(){return(0,c.A)(Ce,this)}set supports(e){(0,o.A)(Ce,this,e)}get showHiddenJobs(){return(0,c.A)(De,this)}set showHiddenJobs(e){(0,o.A)(De,this,e)}get showFeedback(){return(0,c.A)(We,this)}set showFeedback(e){(0,o.A)(We,this,e)}get showFeedbackAfterFailed(){return(0,c.A)(Oe,this)}set showFeedbackAfterFailed(e){(0,o.A)(Oe,this,e)}get showFeedbackOnView(){return(0,c.A)(Fe,this)}set showFeedbackOnView(e){(0,o.A)(Fe,this,e)}get showUiSwitch(){return(0,c.A)(Ie,this)}set showUiSwitch(e){(0,o.A)(Ie,this,e)}get hideMermaid(){return(0,c.A)(Le,this)}set hideMermaid(e){(0,o.A)(Le,this,e)}get showJsxEditor(){return(0,c.A)(Ue,this)}set showJsxEditor(e){(0,o.A)(Ue,this,e)}resumed(){var e,t;null===(e=(0,c.A)(Je,this).current)||void 0===e||null===(t=e.resumed)||void 0===t||t.call(e)}feedbackSubmitDone(){var e;null===(e=(0,c.A)(Je,this).current)||void 0===e||e.feedbackSubmitDone()}feedbackSubmitFailed(){var e;null===(e=(0,c.A)(Je,this).current)||void 0===e||e.feedbackSubmitFailed()}feedbackOnViewDone(e){var t;null===(t=(0,c.A)(Je,this).current)||void 0===t||t.feedbackOnViewDone(e)}render(){const e=this.conversationId?ve:xe;return p().createElement(e,{conversationId:this.conversationId,initialRequest:this.initialRequest,taskId:this.taskId,jobs:this.jobs,task:this.task,replay:this.replay,replayDelay:this.replayDelay,supports:this.supports,showHiddenJobs:this.showHiddenJobs,showFeedback:this.showFeedback,showFeedbackAfterFailed:this.showFeedbackAfterFailed,showUiSwitch:this.showUiSwitch,showFeedbackOnView:this.showFeedbackOnView,showJsxEditor:this.showJsxEditor,onShare:(0,c.A)(je,this),onTerminate:(0,c.A)(Be,this),onSubmitFeedback:(0,c.A)(Ye,this),onSwitchToChat:(0,c.A)(Ke,this),onFeedbackOnView:(0,c.A)(Ge,this),ref:(0,c.A)(Je,this)})}}a=Xe,({e:[x,v,f,y,M,T,R,S,_,N,C,D,W,O,F,I,L,U,z,H,j,V,B,P,Y,$,G,q,K,J,X,Q,Z,ee,te,ie,ae,se,ne,re,le,oe,ce,he,de,pe,ue,me,be,Ae,E],c:[fe,w]}=(0,h.A)(a,[ge("ai-portal.cruise-canvas",{shadowOptions:!1})],[[ke(),1,"conversationId"],[ke({attribute:!1,render:!1}),1,"initialRequest"],[ke(),1,"taskId"],[ke({attribute:!1}),1,"task"],[ke({attribute:!1}),1,"jobs"],[ke({type:Boolean,render:!1}),1,"replay"],[ke({type:Number,render:!1}),1,"replayDelay"],[ke({attribute:!1}),1,"supports"],[ke({type:Boolean}),1,"showHiddenJobs"],[ke({type:Boolean}),1,"showFeedback"],[ke({type:Boolean}),1,"showFeedbackAfterFailed"],[ke({type:Boolean}),1,"showFeedbackOnView"],[ke({type:Boolean}),1,"showUiSwitch"],[ke({type:Boolean,render:!1}),1,"hideMermaid"],[ke({type:Boolean}),1,"showJsxEditor"],[Ee({type:"share"}),1,"shareEvent",e=>(0,c.A)(ze,e),(e,t)=>(0,o.A)(ze,e,t)],[Ee({type:"terminate"}),1,"terminateEvent",e=>(0,c.A)(Ve,e),(e,t)=>(0,o.A)(Ve,e,t)],[Ee({type:"feedback.submit"}),1,"feedbackSubmitEvent",e=>(0,c.A)(Pe,e),(e,t)=>(0,o.A)(Pe,e,t)],[Ee({type:"feedback.on.view"}),1,"feedbackOnViewEvent",e=>(0,c.A)($e,e),(e,t)=>(0,o.A)($e,e,t)],[Ee({type:"ui.switch"}),1,"switch",e=>(0,c.A)(qe,e),(e,t)=>(0,o.A)(qe,e,t)],[we(),2,"resumed"],[we(),2,"feedbackSubmitDone"],[we(),2,"feedbackSubmitFailed"],[we(),2,"feedbackOnViewDone"]],0,(e=>Je.has((0,r.A)(e))),m.ReactNextElement)),w();var Qe=i(71451);let Ze=function(e){return e.ASK_ANY_THING="ASK_ANYTHING",e.COMMON_TASKS="COMMON_TASKS",e}({});const et="bricks/ai-portal/chat-box",tt={en:{[Ze.ASK_ANY_THING]:"Ask anything",[Ze.COMMON_TASKS]:"Common tasks"},zh:{[Ze.ASK_ANY_THING]:"询问任何问题",[Ze.COMMON_TASKS]:"常用任务"}},it=b.i18n.getFixedT(null,et);var at,st=i(47008);let nt,rt,lt,ot,ct,ht,dt,pt,ut,mt,bt;(0,b.initializeI18n)(et,tt);const At=(0,m.wrapBrick)("eo-icon"),{defineElement:gt,property:kt,event:Et}=(0,u.createDecorators)();let wt;var xt=new WeakMap,vt=new WeakMap,ft=new WeakMap,yt=new WeakMap,Mt=new WeakSet,Tt=new WeakMap;class Rt extends m.ReactNextElement{constructor(){super(...arguments),(0,s.A)(this,Mt),(0,n.A)(this,xt,rt(this)),(0,n.A)(this,vt,(lt(this),ot(this))),(0,n.A)(this,ft,(ct(this),ht(this))),(0,n.A)(this,yt,(dt(this),pt(this))),(0,n.A)(this,Tt,(bt(this),e=>{(0,l.A)(Mt,this,ut).emit(e)}))}get disabled(){return(0,c.A)(xt,this)}set disabled(e){(0,o.A)(xt,this,e)}get placeholder(){return(0,c.A)(vt,this)}set placeholder(e){(0,o.A)(vt,this,e)}get autoFocus(){return(0,c.A)(ft,this)}set autoFocus(e){(0,o.A)(ft,this,e)}render(){return p().createElement(St,{disabled:this.disabled,placeholder:this.placeholder,autoFocus:this.autoFocus,onSubmit:(0,c.A)(Tt,this)})}}function St(e){let{disabled:t,placeholder:i,autoFocus:a,onSubmit:s}=e;const n=(0,d.useRef)(null),r=(0,d.useRef)(null),[l,o]=(0,d.useState)(""),c=(0,d.useRef)(""),h=(0,d.useCallback)((e=>{e.currentTarget.value&&(null==s||s(e.currentTarget.value))}),[s]),u=(0,d.useCallback)((e=>{c.current=e.target.value,o(e.target.value)}),[]),m=(0,d.useCallback)((()=>{null==s||s(c.current)}),[s]);return(0,d.useEffect)((()=>{a&&Promise.resolve().then((()=>{var e;null===(e=r.current)||void 0===e||e.focus()}))}),[]),p().createElement("div",{className:"root"},p().createElement("div",{className:"container",ref:n},p().createElement(Qe.e,{containerRef:n,ref:r,value:l,minRows:58/22,paddingSize:60,autoResize:!0,disabled:t,placeholder:null!=i?i:it(Ze.ASK_ANY_THING),submitWhen:"enter-without-shift",onSubmit:h,onChange:u}),p().createElement("div",{className:"actions-bar"},p().createElement("div",null,p().createElement("slot",{name:"actions"})),p().createElement("button",{className:"btn-send",disabled:!l,onClick:m},p().createElement(At,{lib:"fa",prefix:"fas",icon:"arrow-up"})))))}at=Rt,({e:[rt,lt,ot,ct,ht,dt,pt,ut,mt,bt],c:[wt,nt]}=(0,h.A)(at,[gt("ai-portal.chat-box",{styleTexts:[st.A]})],[[kt({type:Boolean}),1,"disabled"],[kt(),1,"placeholder"],[kt({type:Boolean}),1,"autoFocus"],[Et({type:"message.submit"}),1,"messageSubmit",e=>(0,c.A)(yt,e),(e,t)=>(0,o.A)(yt,e,t)]],0,(e=>Tt.has((0,r.A)(e))),m.ReactNextElement)),nt();var _t,Nt=i(82165);let Ct;const{defineElement:Dt}=(0,u.createDecorators)();let Wt;class Ot extends m.ReactNextElement{render(){return p().createElement(Ft,null)}}function Ft(){return p().createElement("slot",null)}_t=Ot,[Wt,Ct]=(0,h.A)(_t,[Dt("ai-portal.home-container",{styleTexts:[Nt.A]})],[],0,void 0,m.ReactNextElement).c,Ct();var It,Lt=i(89575),Ut=i(24);let zt,Ht,jt,Vt,Bt,Pt,Yt,$t,Gt,qt,Kt,Jt,Xt,Qt,Zt,ei,ti,ii,ai,si,ni;const ri=(0,m.wrapBrick)("eo-mini-line-chart"),{defineElement:li,property:oi}=(0,u.createDecorators)();let ci;var hi=new WeakMap,di=new WeakMap,pi=new WeakMap,ui=new WeakMap,mi=new WeakMap,bi=new WeakMap,Ai=new WeakMap,gi=new WeakMap,ki=new WeakMap,Ei=new WeakMap;class wi extends m.ReactNextElement{constructor(){super(...arguments),(0,n.A)(this,hi,Ht(this)),(0,n.A)(this,di,(jt(this),Vt(this))),(0,n.A)(this,pi,(Bt(this),Pt(this))),(0,n.A)(this,ui,(Yt(this),$t(this))),(0,n.A)(this,mi,(Gt(this),qt(this))),(0,n.A)(this,bi,(Kt(this),Jt(this))),(0,n.A)(this,Ai,(Xt(this),Qt(this))),(0,n.A)(this,gi,(Zt(this),ei(this))),(0,n.A)(this,ki,(ti(this),ii(this))),(0,n.A)(this,Ei,(ai(this),si(this))),ni(this)}get label(){return(0,c.A)(hi,this)}set label(e){(0,o.A)(hi,this,e)}get value(){return(0,c.A)(di,this)}set value(e){(0,o.A)(di,this,e)}get size(){return(0,c.A)(pi,this)}set size(e){(0,o.A)(pi,this,e)}get lineColor(){return(0,c.A)(ui,this)}set lineColor(e){(0,o.A)(ui,this,e)}get showArea(){return(0,c.A)(mi,this)}set showArea(e){(0,o.A)(mi,this,e)}get min(){return(0,c.A)(bi,this)}set min(e){(0,o.A)(bi,this,e)}get max(){return(0,c.A)(Ai,this)}set max(e){(0,o.A)(Ai,this,e)}get xField(){return(0,c.A)(gi,this)}set xField(e){(0,o.A)(gi,this,e)}get yField(){return(0,c.A)(ki,this)}set yField(e){(0,o.A)(ki,this,e)}get data(){return(0,c.A)(Ei,this)}set data(e){(0,o.A)(Ei,this,e)}render(){return p().createElement(xi,{label:this.label,value:this.value,size:this.size,lineColor:this.lineColor,showArea:this.showArea,min:this.min,max:this.max,xField:this.xField,yField:this.yField,data:this.data})}}function xi(e){let{label:t,value:i,size:a,...s}=e;return"small"===a?p().createElement("div",{className:"container"},p().createElement("div",{className:"label-and-stat"},p().createElement("div",{className:"label"},t),p().createElement("div",{className:"stat"},i)),p().createElement("div",{className:"chart"},p().createElement(ri,(0,Lt.A)({},s,{lineWidth:1.5,width:"auto",height:"55"})))):p().createElement("div",{className:"container"},p().createElement("div",{className:"label"},t),p().createElement("div",{className:"stat-and-chart"},p().createElement("div",{className:"chart"},p().createElement(ri,(0,Lt.A)({},s,{lineWidth:2,width:"auto",height:"92"}))),p().createElement("div",{className:"stat"},i)))}It=wi,({e:[Ht,jt,Vt,Bt,Pt,Yt,$t,Gt,qt,Kt,Jt,Xt,Qt,Zt,ei,ti,ii,ai,si,ni],c:[ci,zt]}=(0,h.A)(It,[li("ai-portal.stat-with-mini-chart",{styleTexts:[Ut.A]})],[[oi(),1,"label"],[oi(),1,"value"],[oi(),1,"size"],[oi(),1,"lineColor"],[oi({type:Boolean}),1,"showArea"],[oi({type:Number}),1,"min"],[oi({type:Number}),1,"max"],[oi(),1,"xField"],[oi(),1,"yField"],[oi({attribute:!1}),1,"data"]],0,void 0,m.ReactNextElement)),zt();var vi,fi=i(29475),yi=i(53373),Mi=i.n(yi),Ti=i(99671),Ri=i(61408),Si=i(48688),_i=i(42965),Ni=i(45646),Ci=i(26785);let Di,Wi,Oi,Fi,Ii,Li,Ui,zi,Hi,ji,Vi,Bi,Pi,Yi,$i,Gi,qi,Ki,Ji,Xi,Qi,Zi,ea,ta,ia,aa,sa,na,ra,la,oa,ca,ha,da,pa,ua,ma,ba,Aa,ga,ka,Ea,wa,xa,va,fa;(0,b.initializeI18n)(Ti.NS,Ti.I);const ya={lib:"easyops",icon:"sidebar"},{defineElement:Ma,property:Ta,event:Ra,method:Sa}=(0,u.createDecorators)(),_a=(0,d.forwardRef)(as);let Na;var Ca=new WeakMap,Da=new WeakMap,Wa=new WeakMap,Oa=new WeakMap,Fa=new WeakMap,Ia=new WeakMap,La=new WeakMap,Ua=new WeakMap,za=new WeakMap,Ha=new WeakMap,ja=new WeakMap,Va=new WeakMap,Ba=new WeakMap,Pa=new WeakMap,Ya=new WeakMap,$a=new WeakSet,Ga=new WeakMap,qa=new WeakMap,Ka=new WeakMap,Ja=new WeakMap,Xa=new WeakMap,Qa=new WeakMap,Za=new WeakMap,es=new WeakMap,ts=new WeakMap;class is extends m.ReactNextElement{constructor(){super(...arguments),(0,s.A)(this,$a),(0,n.A)(this,Ca,(Di(this),Oi(this,!0))),(0,n.A)(this,Da,(Fi(this),Ii(this))),(0,n.A)(this,Wa,(Li(this),Ui(this))),(0,n.A)(this,Oa,(zi(this),Hi(this))),(0,n.A)(this,Fa,(ji(this),Vi(this))),(0,n.A)(this,Ia,(Bi(this),Pi(this))),(0,n.A)(this,La,(Yi(this),$i(this))),(0,n.A)(this,Ua,(Gi(this),qi(this))),(0,n.A)(this,za,(Ki(this),Ji(this))),(0,n.A)(this,Ha,(Xi(this),Qi(this))),(0,n.A)(this,ja,(Zi(this),ea(this))),(0,n.A)(this,Va,(ta(this),ia(this))),(0,n.A)(this,Ba,(aa(this),sa(this))),(0,n.A)(this,Pa,(na(this),ra(this))),(0,n.A)(this,Ya,(la(this),oa(this))),(0,n.A)(this,Ga,(da(this),()=>{(0,l.A)($a,this,ca).emit()})),(0,n.A)(this,qa,pa(this)),(0,n.A)(this,Ka,(ba(this),e=>{(0,l.A)($a,this,ua).emit(e)})),(0,n.A)(this,Ja,(e=>{(0,l.A)($a,this,ua).emit(e)})),(0,n.A)(this,Xa,Aa(this)),(0,n.A)(this,Qa,(Ea(this),e=>{(0,l.A)($a,this,ga).emit(e)})),(0,n.A)(this,Za,wa(this)),(0,n.A)(this,es,(fa(this),()=>{(0,l.A)($a,this,xa).emit()})),(0,n.A)(this,ts,(0,d.createRef)())}get legacy(){return(0,c.A)(Ca,this)}set legacy(e){(0,o.A)(Ca,this,e)}get userInstanceId(){return(0,c.A)(Da,this)}set userInstanceId(e){(0,o.A)(Da,this,e)}get behavior(){return(0,c.A)(Wa,this)}set behavior(e){(0,o.A)(Wa,this,e)}get bordered(){return(0,c.A)(Oa,this)}set bordered(e){(0,o.A)(Oa,this,e)}get logoUrl(){return(0,c.A)(Fa,this)}set logoUrl(e){(0,o.A)(Fa,this,e)}get newChatUrl(){return(0,c.A)(Ia,this)}set newChatUrl(e){(0,o.A)(Ia,this,e)}get newChatLinkWhenCollapsed(){return(0,c.A)(La,this)}set newChatLinkWhenCollapsed(e){(0,o.A)(La,this,e)}get historyActiveId(){return(0,c.A)(Ua,this)}set historyActiveId(e){(0,o.A)(Ua,this,e)}get historyUrlTemplate(){return(0,c.A)(za,this)}set historyUrlTemplate(e){(0,o.A)(za,this,e)}get historyActions(){return(0,c.A)(Ha,this)}set historyActions(e){(0,o.A)(Ha,this,e)}get projectActiveId(){return(0,c.A)(ja,this)}set projectActiveId(e){(0,o.A)(ja,this,e)}get projectUrlTemplate(){return(0,c.A)(Va,this)}set projectUrlTemplate(e){(0,o.A)(Va,this,e)}get projectActions(){return(0,c.A)(Ba,this)}set projectActions(e){(0,o.A)(Ba,this,e)}get links(){return(0,c.A)(Pa,this)}set links(e){(0,o.A)(Pa,this,e)}pullHistory(e){setTimeout((()=>{var e;null===(e=(0,c.A)(ts,this).current)||void 0===e||e.pull()}),e)}close(){var e;null===(e=(0,c.A)(ts,this).current)||void 0===e||e.close()}removeProject(e){var t,i;null===(t=(0,c.A)(ts,this).current)||void 0===t||null===(i=t.removeProject)||void 0===i||i.call(t,e)}addProject(e){var t,i;null===(t=(0,c.A)(ts,this).current)||void 0===t||null===(i=t.addProject)||void 0===i||i.call(t,e)}moveConversation(e){var t,i;null===(t=(0,c.A)(ts,this).current)||void 0===t||null===(i=t.moveConversation)||void 0===i||i.call(t,e)}render(){return p().createElement(_a,{ref:(0,c.A)(ts,this),legacy:this.legacy,userInstanceId:this.userInstanceId,behavior:this.behavior,logoUrl:this.logoUrl,newChatUrl:this.newChatUrl,newChatLinkWhenCollapsed:this.newChatLinkWhenCollapsed,historyActiveId:this.historyActiveId,historyUrlTemplate:this.historyUrlTemplate,historyActions:this.historyActions,projectActiveId:this.projectActiveId,projectUrlTemplate:this.projectUrlTemplate,projectActions:this.projectActions,links:this.links,onLogout:(0,c.A)(Ga,this),onLegacyActionClick:(0,c.A)(Ja,this),onActionClick:(0,c.A)(Ka,this),onProjectActionClick:(0,c.A)(Qa,this),onAddProject:(0,c.A)(es,this)})}}function as(e,t){let{legacy:i,userInstanceId:a,behavior:s,logoUrl:n,newChatUrl:r,newChatLinkWhenCollapsed:l,historyActiveId:o,historyUrlTemplate:c,historyActions:h,projectActiveId:u,projectUrlTemplate:m,projectActions:A,links:g,onLogout:k,onActionClick:E,onLegacyActionClick:w,onProjectActionClick:x,onAddProject:v}=e;const[f,y]=(0,d.useState)("drawer"===s),M=(0,d.useCallback)((()=>{y(!0)}),[]),T=(0,d.useCallback)((()=>{y(!1)}),[]);(0,d.useEffect)((()=>{"drawer"===s&&y(!0)}),[s]);const R=(0,d.useCallback)((()=>{y(!0)}),[]),S=(0,d.useCallback)((()=>{"drawer"===s&&y(!0)}),[s]),_=(0,d.useMemo)((()=>[{key:"logout",icon:{lib:"fa",prefix:"fas",icon:"arrow-right-from-bracket"},text:(0,Ti.t)(Ti.K.LOGOUT)},{key:"switch-language",icon:{lib:"easyops",icon:"language"},text:(0,Ti.t)(Ti.K.SWITCH_LANGUAGE)}]),[]),N=(0,d.useRef)(null);return(0,d.useImperativeHandle)(t,(()=>({close:()=>{y(!0)},pull:()=>{var e;null===(e=N.current)||void 0===e||e.pull()},removeProject:e=>{var t,i;null===(t=N.current)||void 0===t||null===(i=t.removeProject)||void 0===i||i.call(t,e)},addProject:e=>{var t,i;null===(t=N.current)||void 0===t||null===(i=t.addProject)||void 0===i||i.call(t,e)},moveConversation:e=>{var t,i;null===(t=N.current)||void 0===t||null===(i=t.moveConversation)||void 0===i||i.call(t,e)}})),[]),p().createElement("div",{className:Mi()("container",{collapsed:f})},"drawer"===s&&!f&&p().createElement("div",{className:"mask",onClick:R}),p().createElement("div",{className:"alternative"},p().createElement(_i.Py,{icon:ya,variant:"light",onClick:T}),l&&p().createElement(_i.EM,{className:"new-chat",url:r},p().createElement(_i.Bj,{className:"new-chat-icon",lib:"easyops",icon:"new-chat"}),(0,Ti.t)(Ti.K.NEW_CHAT))),p().createElement("div",{className:"sidebar"},p().createElement("div",{className:"logo-bar"},p().createElement(_i.EM,{url:n,className:"logo-link"},p().createElement("img",{className:"logo",alt:"Elevo",src:Si,width:95,height:28})),p().createElement(_i.Py,{icon:ya,variant:"light",onClick:M})),p().createElement(_i.EM,{className:"new-chat",url:r},p().createElement(_i.Bj,{className:"new-chat-icon",lib:"easyops",icon:"new-chat"}),(0,Ti.t)(Ti.K.NEW_CHAT)),null!=g&&g.length?p().createElement("div",{className:"links"},g.map(((e,t)=>p().createElement(_i.EM,{className:"link",key:t,url:e.url},p().createElement(_i.Bj,(0,Lt.A)({className:"icon"},e.icon)),p().createElement("span",{className:"title"},e.title))))):null,i?p().createElement(Ci.Y,{ref:N,activeId:o,urlTemplate:c,actions:h,onActionClick:w,onHistoryClick:S}):p().createElement(Ni.D,{ref:N,historyActiveId:o,historyUrlTemplate:c,historyActions:h,projectActiveId:u,projectUrlTemplate:m,projectActions:A,onActionClick:E,onHistoryClick:S,onProjectActionClick:x,onAddProject:v}),p().createElement("div",{className:"footer"},p().createElement(_i.qb,{className:"dropdown",actions:_,onActionClick:async e=>{"logout"===e.detail.key?k():(await b.i18n.changeLanguage(b.i18n.language&&"en"===b.i18n.language.split("-")[0]?"zh":"en"),(0,fi.getHistory)().reload())}},p().createElement("button",{className:"account"},p().createElement(_i.JQ,{nameOrInstanceId:a,showName:!0,size:"xs"}))))))}vi=is,({e:[Oi,Fi,Ii,Li,Ui,zi,Hi,ji,Vi,Bi,Pi,Yi,$i,Gi,qi,Ki,Ji,Xi,Qi,Zi,ea,ta,ia,aa,sa,na,ra,la,oa,ca,ha,da,pa,ua,ma,ba,Aa,ga,ka,Ea,wa,xa,va,fa,Di],c:[Na,Wi]}=(0,h.A)(vi,[Ma("ai-portal.elevo-sidebar",{styleTexts:[Ri.A]})],[[Ta({type:Boolean}),1,"legacy"],[Ta(),1,"userInstanceId"],[Ta(),1,"behavior"],[Ta({type:Boolean,render:!1}),1,"bordered"],[Ta(),1,"logoUrl"],[Ta(),1,"newChatUrl"],[Ta({type:Boolean}),1,"newChatLinkWhenCollapsed"],[Ta(),1,"historyActiveId"],[Ta(),1,"historyUrlTemplate"],[Ta({attribute:!1}),1,"historyActions"],[Ta(),1,"projectActiveId"],[Ta(),1,"projectUrlTemplate"],[Ta({attribute:!1}),1,"projectActions"],[Ta({attribute:!1}),1,"links"],[Ra({type:"logout"}),1,"logout",e=>(0,c.A)(Ya,e),(e,t)=>(0,o.A)(Ya,e,t)],[Ra({type:"action.click"}),1,"actionClick",e=>(0,c.A)(qa,e),(e,t)=>(0,o.A)(qa,e,t)],[Ra({type:"project.action.click"}),1,"projectActionClick",e=>(0,c.A)(Xa,e),(e,t)=>(0,o.A)(Xa,e,t)],[Ra({type:"add.project"}),1,"addProject",e=>(0,c.A)(Za,e),(e,t)=>(0,o.A)(Za,e,t)],[Sa(),2,"pullHistory"],[Sa(),2,"close"],[Sa(),2,"removeProject"],[Sa(),2,"addProject"],[Sa(),2,"moveConversation"]],0,(e=>ts.has((0,r.A)(e))),m.ReactNextElement)),Wi();var ss,ns=i(47338);let rs,ls,os,cs,hs,ds,ps,us,ms;const bs=(0,m.wrapBrick)("eo-icon"),As=(0,m.wrapBrick)("eo-tooltip"),{defineElement:gs,property:ks}=(0,u.createDecorators)();let Es;var ws=new WeakMap,xs=new WeakMap,vs=new WeakMap,fs=new WeakMap;class ys extends m.ReactNextElement{constructor(){super(...arguments),(0,n.A)(this,ws,ls(this)),(0,n.A)(this,xs,(os(this),cs(this))),(0,n.A)(this,vs,(hs(this),ds(this))),(0,n.A)(this,fs,(ps(this),us(this))),ms(this)}get icon(){return(0,c.A)(ws,this)}set icon(e){(0,o.A)(ws,this,e)}get tooltip(){return(0,c.A)(xs,this)}set tooltip(e){(0,o.A)(xs,this,e)}get disabled(){return(0,c.A)(vs,this)}set disabled(e){(0,o.A)(vs,this,e)}get variant(){return(0,c.A)(fs,this)}set variant(e){(0,o.A)(fs,this,e)}render(){return p().createElement(Ms,{icon:this.icon,tooltip:this.tooltip,disabled:this.disabled})}}function Ms(e){let{icon:t,tooltip:i,disabled:a}=e;const s=p().createElement("button",{disabled:a},p().createElement(bs,t));return i?p().createElement(As,{content:i},s):s}ss=ys,({e:[ls,os,cs,hs,ds,ps,us,ms],c:[Es,rs]}=(0,h.A)(ss,[gs("ai-portal.icon-button",{styleTexts:[ns.A]})],[[ks({attribute:!1}),1,"icon"],[ks(),1,"tooltip"],[ks({type:Boolean}),1,"disabled"],[ks({render:!1}),1,"variant"]],0,void 0,m.ReactNextElement)),rs();let Ts=function(e){return e.ALL="ALL",e.EXPLORE_EXCELLENT_CASES="EXPLORE_EXCELLENT_CASES",e}({});const Rs="bricks/ai-portal/show-cases",Ss={en:{[Ts.ALL]:"All",[Ts.EXPLORE_EXCELLENT_CASES]:"Explore excellent cases"},zh:{[Ts.ALL]:"全部",[Ts.EXPLORE_EXCELLENT_CASES]:"探索优秀案例"}},_s=b.i18n.getFixedT(null,Rs);var Ns,Cs=i(42873),Ds=i(98343);let Ws,Os,Fs,Is,Ls;(0,b.initializeI18n)(Rs,Ss);const Us=(0,m.wrapBrick)("eo-link"),zs=(0,m.wrapBrick)("ai-portal.tab-list",{onTabClick:"tab.click"}),{defineElement:Hs,property:js}=(0,u.createDecorators)();let Vs;var Bs=new WeakMap,Ps=new WeakMap;class Ys extends m.ReactNextElement{constructor(){super(...arguments),(0,n.A)(this,Bs,Os(this)),(0,n.A)(this,Ps,(Fs(this),Is(this))),Ls(this)}get list(){return(0,c.A)(Bs,this)}set list(e){(0,o.A)(Bs,this,e)}get taskUrlTemplate(){return(0,c.A)(Ps,this)}set taskUrlTemplate(e){(0,o.A)(Ps,this,e)}render(){return p().createElement($s,{list:this.list,taskUrlTemplate:this.taskUrlTemplate})}}function $s(e){let{list:t,taskUrlTemplate:i}=e;const a=(0,d.useMemo)((()=>["",...new Set(null==t?void 0:t.map((e=>e.scenario)).filter(Boolean))]),[t]),[s,n]=(0,d.useState)(""),r=(0,d.useMemo)((()=>s?null==t?void 0:t.filter((e=>e.scenario===s)):t),[s,t]),l=(0,d.useMemo)((()=>a.map((e=>({id:e,label:""===e?_s(Ts.ALL):e})))),[a]);return null!=t&&t.length?p().createElement(p().Fragment,null,p().createElement("div",{className:"tips"},`${_s(Ts.EXPLORE_EXCELLENT_CASES)} ↓`),p().createElement(zs,{tabs:l,activeTab:s,onTabClick:e=>n(e.detail.id)}),p().createElement("ul",{className:"cases"},null==r?void 0:r.map((e=>p().createElement("li",{key:e.taskId},p().createElement(Us,{className:"link",url:(0,Ds.Q)(i,e),style:e.thumbUrl?{backgroundImage:`url("${(0,fi.getBasePath)()}${e.thumbUrl}")`}:void 0},p().createElement("div",{className:"title"},e.title),p().createElement("div",{className:"description"},e.summary))))))):null}Ns=Ys,({e:[Os,Fs,Is,Ls],c:[Vs,Ws]}=(0,h.A)(Ns,[Hs("ai-portal.show-cases",{styleTexts:[Cs.A]})],[[js({attribute:!1}),1,"list"],[js(),1,"taskUrlTemplate"]],0,void 0,m.ReactNextElement)),Ws();let Gs=function(e){return e.MCP_HUB="MCP_HUB",e.ALL="ALL",e.SERVER_cmdb="SERVER_cmdb",e.SERVER_cmdb_product_helper="SERVER_cmdb_product_helper",e.SERVER_alert="SERVER_alert",e.SERVER_web_builder="SERVER_web_builder",e.SERVER_web_builder2="SERVER_web_builder2",e.SERVER_host_troubleshooting="SERVER_host_troubleshooting",e.SERVER_system_inspection="SERVER_system_inspection",e.SERVER_grafana="SERVER_grafana",e.SERVER_kubernetes="SERVER_kubernetes",e.SERVER_llm="SERVER_llm",e}({});const qs="bricks/ai-portal/mcp-tools",Ks={en:{[Gs.MCP_HUB]:"MCP Hub",[Gs.ALL]:"All",[Gs.SERVER_cmdb]:"CMDB",[Gs.SERVER_cmdb_product_helper]:"CMDB",[Gs.SERVER_alert]:"Alert",[Gs.SERVER_web_builder]:"View",[Gs.SERVER_web_builder2]:"View",[Gs.SERVER_host_troubleshooting]:"Host Troubleshooting",[Gs.SERVER_system_inspection]:"System Inspection",[Gs.SERVER_grafana]:"Grafana",[Gs.SERVER_kubernetes]:"Kubernetes",[Gs.SERVER_llm]:"LLM"},zh:{[Gs.MCP_HUB]:"MCP 中心",[Gs.ALL]:"全部",[Gs.SERVER_cmdb]:"CMDB",[Gs.SERVER_cmdb_product_helper]:"CMDB",[Gs.SERVER_alert]:"告警",[Gs.SERVER_web_builder]:"视图",[Gs.SERVER_web_builder2]:"视图",[Gs.SERVER_host_troubleshooting]:"主机故障排查",[Gs.SERVER_system_inspection]:"系统巡检",[Gs.SERVER_grafana]:"Grafana",[Gs.SERVER_kubernetes]:"Kubernetes",[Gs.SERVER_llm]:"大模型"}},Js=b.i18n.getFixedT(null,qs);var Xs,Qs=i(31748);let Zs,en,tn,an,sn;(0,b.initializeI18n)(qs,Ks);const nn={lib:"antd",icon:"tool"},rn=new Map([["EasyOps平台",{servers:["cmdb","cmdb_product_helper"]}],["Grafana",{servers:["grafana"]}],["Kubernetes",{servers:["kubernetes"]}],["监控事件",{servers:["alert"]}],["浏览器",{servers:["playwright"]}],["低代码",{servers:["web-builder","web-builder2"]}],["大模型",{servers:["llm"]}],["故障排查",{servers:["host-troubleshooting"]}]]),ln=(0,m.wrapBrick)("eo-icon"),on=(0,m.wrapBrick)("ai-portal.tab-list",{onTabClick:"tab.click"}),{defineElement:cn,property:hn}=(0,u.createDecorators)();let dn;var pn=new WeakMap,un=new WeakMap;class mn extends m.ReactNextElement{constructor(){super(...arguments),(0,n.A)(this,pn,en(this)),(0,n.A)(this,un,(tn(this),an(this,!0))),sn(this)}get list(){return(0,c.A)(pn,this)}set list(e){(0,o.A)(pn,this,e)}get withContainer(){return(0,c.A)(un,this)}set withContainer(e){(0,o.A)(un,this,e)}render(){return p().createElement(bn,{list:this.list,withContainer:this.withContainer})}}function bn(e){let{list:t,withContainer:i}=e;const[a,s]=(0,d.useMemo)((()=>{const e=new Map,i=new Map;null==t||t.forEach((t=>{const a=Js(`SERVER_${t.server.id.replaceAll("-","_")}`,t.server.name);let s=e.get(a);s||e.set(a,s=[]),s.push(t);const n=[...rn.entries()].find((e=>{let[i,{servers:a}]=e;return a.includes(t.server.id)})),r=n?n[0]:"其他";let l=i.get(r);l||i.set(r,l=[]),l.push(a)}));const a=["CMDB"];return[new Map([...e.entries()].sort(((e,t)=>{let[i]=e,[s]=t;const n=a.indexOf(i),r=a.indexOf(s);return(n<0?a.length:n)-(r<0?a.length:r)}))),i]}),[t]),n=(0,d.useMemo)((()=>{const e=[...rn.keys()],t=[...s.keys()];return t.sort(((t,i)=>{const a=e.indexOf(t),s=e.indexOf(i);return(a<0?e.length:a)-(s<0?e.length:s)})),["",...t]}),[s]),[r,l]=(0,d.useState)(""),o=(0,d.useMemo)((()=>{const e=[...a];if(!r)return e;const t=s.get(r);return e.filter((e=>{let[i]=e;return null==t?void 0:t.includes(i)}))}),[r,a,s]),c=(0,d.useMemo)((()=>n.map((e=>({id:e,label:""===e?Js(Gs.ALL):e})))),[n]),h=p().createElement(p().Fragment,null,p().createElement(on,{tabs:c,activeTab:r,onTabClick:e=>l(e.detail.id)}),p().createElement("ul",{className:"groups"},null==o?void 0:o.map((e=>{let[t,i]=e;return p().createElement("li",{key:t,className:"group"},p().createElement("h2",null,t),p().createElement("ul",{className:"list"},i.map(((e,t)=>{var i;return p().createElement("li",{key:t,className:"item"},p().createElement("div",{className:"heading"},p().createElement(ln,(0,Lt.A)({className:"icon"},null!==(i=e.icon)&&void 0!==i?i:nn,{fallback:nn})),p().createElement("div",{className:"title"},e.title)),p().createElement("div",{className:"description"},e.description))}))))}))));return i?p().createElement("div",{className:"container"},p().createElement("h1",null,Js(Gs.MCP_HUB)),h):h}Xs=mn,({e:[en,tn,an,sn],c:[dn,Zs]}=(0,h.A)(Xs,[cn("ai-portal.mcp-tools",{styleTexts:[Qs.A]})],[[hn({attribute:!1}),1,"list"],[hn({type:Boolean}),1,"withContainer"]],0,void 0,m.ReactNextElement)),Zs();var An,gn=i(92914),kn=i(82515),En=i(16572);let wn,xn,vn,fn,yn,Mn,Tn,Rn,Sn,_n,Nn,Cn,Dn,Wn,On,Fn,In,Ln,Un,zn,Hn,jn,Vn,Bn,Pn,Yn,$n,Gn,qn,Kn,Jn,Xn,Qn,Zn,er,tr,ir,ar,sr,nr,rr,lr,or,cr;(0,b.initializeI18n)(gn.NS,gn.I);const{defineElement:hr,property:dr,event:pr,method:ur}=(0,u.createDecorators)(),mr=(0,d.forwardRef)(kn.L),br=(0,d.forwardRef)(En.C);let Ar;var gr=new WeakMap,kr=new WeakMap,Er=new WeakMap,wr=new WeakMap,xr=new WeakMap,vr=new WeakMap,fr=new WeakMap,yr=new WeakMap,Mr=new WeakMap,Tr=new WeakMap,Rr=new WeakMap,Sr=new WeakMap,_r=new WeakSet,Nr=new WeakMap,Cr=new WeakMap,Dr=new WeakMap,Wr=new WeakMap,Or=new WeakMap,Fr=new WeakMap,Ir=new WeakMap,Lr=new WeakMap,Ur=new WeakMap,zr=new WeakMap;class Hr extends m.ReactNextElement{constructor(){super(...arguments),(0,s.A)(this,_r),(0,n.A)(this,gr,(wn(this),vn(this))),(0,n.A)(this,kr,(fn(this),yn(this))),(0,n.A)(this,Er,(Mn(this),Tn(this))),(0,n.A)(this,wr,(Rn(this),Sn(this))),(0,n.A)(this,xr,(_n(this),Nn(this))),(0,n.A)(this,vr,(Cn(this),Dn(this))),(0,n.A)(this,fr,(Wn(this),On(this))),(0,n.A)(this,yr,(Fn(this),In(this))),(0,n.A)(this,Mr,(Ln(this),Un(this))),(0,n.A)(this,Tr,(zn(this),Hn(this))),(0,n.A)(this,Rr,(jn(this),Vn(this))),(0,n.A)(this,Sr,(Bn(this),Pn(this))),(0,n.A)(this,Nr,(Gn(this),()=>{(0,l.A)(_r,this,Yn).emit()})),(0,n.A)(this,Cr,qn(this)),(0,n.A)(this,Dr,(Xn(this),()=>{(0,l.A)(_r,this,Kn).emit()})),(0,n.A)(this,Wr,Qn(this)),(0,n.A)(this,Or,(tr(this),e=>{(0,l.A)(_r,this,Zn).emit(e)})),(0,n.A)(this,Fr,ir(this)),(0,n.A)(this,Ir,(nr(this),e=>{(0,l.A)(_r,this,ar).emit(e)})),(0,n.A)(this,Lr,rr(this)),(0,n.A)(this,Ur,(cr(this),()=>{(0,l.A)(_r,this,lr).emit("canvas")})),(0,n.A)(this,zr,(0,d.createRef)())}get conversationId(){return(0,c.A)(gr,this)}set conversationId(e){(0,o.A)(gr,this,e)}get initialRequest(){return(0,c.A)(kr,this)}set initialRequest(e){(0,o.A)(kr,this,e)}get taskId(){return(0,c.A)(Er,this)}set taskId(e){(0,o.A)(Er,this,e)}get replay(){return(0,c.A)(wr,this)}set replay(e){(0,o.A)(wr,this,e)}get replayDelay(){return(0,c.A)(xr,this)}set replayDelay(e){(0,o.A)(xr,this,e)}get supports(){return(0,c.A)(vr,this)}set supports(e){(0,o.A)(vr,this,e)}get showFeedback(){return(0,c.A)(fr,this)}set showFeedback(e){(0,o.A)(fr,this,e)}get showFeedbackAfterFailed(){return(0,c.A)(yr,this)}set showFeedbackAfterFailed(e){(0,o.A)(yr,this,e)}get showFeedbackOnView(){return(0,c.A)(Mr,this)}set showFeedbackOnView(e){(0,o.A)(Mr,this,e)}get showUiSwitch(){return(0,c.A)(Tr,this)}set showUiSwitch(e){(0,o.A)(Tr,this,e)}get hideMermaid(){return(0,c.A)(Rr,this)}set hideMermaid(e){(0,o.A)(Rr,this,e)}resumed(){var e,t;null===(e=(0,c.A)(zr,this).current)||void 0===e||null===(t=e.resumed)||void 0===t||t.call(e)}feedbackSubmitDone(){var e;null===(e=(0,c.A)(zr,this).current)||void 0===e||e.feedbackSubmitDone()}feedbackSubmitFailed(){var e;null===(e=(0,c.A)(zr,this).current)||void 0===e||e.feedbackSubmitFailed()}feedbackOnViewDone(e){var t;null===(t=(0,c.A)(zr,this).current)||void 0===t||t.feedbackOnViewDone(e)}render(){const e=this.conversationId?br:mr;return p().createElement(e,{conversationId:this.conversationId,initialRequest:this.initialRequest,taskId:this.taskId,replay:this.replay,replayDelay:this.replayDelay,supports:this.supports,showFeedback:this.showFeedback,showFeedbackAfterFailed:this.showFeedbackAfterFailed,showFeedbackOnView:this.showFeedbackOnView,showUiSwitch:this.showUiSwitch,onShare:(0,c.A)(Nr,this),onTerminate:(0,c.A)(Dr,this),onSubmitFeedback:(0,c.A)(Or,this),onSwitchToCanvas:(0,c.A)(Ur,this),onFeedbackOnView:(0,c.A)(Ir,this)})}}An=Hr,({e:[vn,fn,yn,Mn,Tn,Rn,Sn,_n,Nn,Cn,Dn,Wn,On,Fn,In,Ln,Un,zn,Hn,jn,Vn,Bn,Pn,Yn,$n,Gn,qn,Kn,Jn,Xn,Qn,Zn,er,tr,ir,ar,sr,nr,rr,lr,or,cr,wn],c:[Ar,xn]}=(0,h.A)(An,[hr("ai-portal.chat-stream",{shadowOptions:!1})],[[dr(),1,"conversationId"],[dr({attribute:!1,render:!1}),1,"initialRequest"],[dr(),1,"taskId"],[dr({type:Boolean}),1,"replay"],[dr({type:Number}),1,"replayDelay"],[dr({attribute:!1}),1,"supports"],[dr({type:Boolean}),1,"showFeedback"],[dr({type:Boolean}),1,"showFeedbackAfterFailed"],[dr({type:Boolean}),1,"showFeedbackOnView"],[dr({type:Boolean}),1,"showUiSwitch"],[dr({type:Boolean,render:!1}),1,"hideMermaid"],[pr({type:"share"}),1,"shareEvent",e=>(0,c.A)(Sr,e),(e,t)=>(0,o.A)(Sr,e,t)],[pr({type:"terminate"}),1,"terminateEvent",e=>(0,c.A)(Cr,e),(e,t)=>(0,o.A)(Cr,e,t)],[pr({type:"feedback.submit"}),1,"feedbackSubmitEvent",e=>(0,c.A)(Wr,e),(e,t)=>(0,o.A)(Wr,e,t)],[pr({type:"feedback.on.view"}),1,"feedbackOnViewEvent",e=>(0,c.A)(Fr,e),(e,t)=>(0,o.A)(Fr,e,t)],[pr({type:"ui.switch"}),1,"switch",e=>(0,c.A)(Lr,e),(e,t)=>(0,o.A)(Lr,e,t)],[ur(),2,"resumed"],[ur(),2,"feedbackSubmitDone"],[ur(),2,"feedbackSubmitFailed"],[ur(),2,"feedbackOnViewDone"]],0,(e=>zr.has((0,r.A)(e))),m.ReactNextElement)),xn();let jr=function(e){return e.AI_EMPLOYEES="AI_EMPLOYEES",e.UNTITLED="UNTITLED",e}({});const Vr="bricks/ai-portal/ai-employees",Br=b.i18n.getFixedT(null,Vr);var Pr,Yr=i(98036);let $r,Gr,qr,Kr,Jr,Xr,Qr,Zr,el;(0,b.initializeI18n)(Vr,{en:{AI_EMPLOYEES:"AI Employees",UNTITLED:"Untitled"},zh:{AI_EMPLOYEES:"Ai 数字人",UNTITLED:"未命名"}});const tl=(0,m.wrapBrick)("eo-link"),il=(0,m.wrapBrick)("eo-icon"),al=(0,m.wrapBrick)("ai-portal.tab-list",{onTabClick:"tab.click"}),{defineElement:sl,property:nl}=(0,u.createDecorators)();let rl;var ll=new WeakMap,ol=new WeakMap,cl=new WeakMap,hl=new WeakMap;class dl extends m.ReactNextElement{constructor(){super(...arguments),(0,n.A)(this,ll,Gr(this)),(0,n.A)(this,ol,(qr(this),Kr(this))),(0,n.A)(this,cl,(Jr(this),Xr(this))),(0,n.A)(this,hl,(Qr(this),Zr(this,!0))),el(this)}get list(){return(0,c.A)(ll,this)}set list(e){(0,o.A)(ll,this,e)}get industries(){return(0,c.A)(ol,this)}set industries(e){(0,o.A)(ol,this,e)}get urlTemplate(){return(0,c.A)(cl,this)}set urlTemplate(e){(0,o.A)(cl,this,e)}get withContainer(){return(0,c.A)(hl,this)}set withContainer(e){(0,o.A)(hl,this,e)}render(){return p().createElement(pl,{list:this.list,industries:this.industries,urlTemplate:this.urlTemplate,withContainer:this.withContainer})}}function pl(e){let{list:t,industries:i,urlTemplate:a,withContainer:s}=e;const n=(0,d.useMemo)((()=>[...new Set([...null!=i?i:[],...(null!=t?t:[]).map((e=>e.industry))])]),[i,t]),[r,l]=(0,d.useState)(n[0]),o=(0,d.useMemo)((()=>{const e=new Map;return null==t||t.forEach((t=>{if(t.industry!==r)return;let i=e.get(t.role);i||e.set(t.role,i=[]),i.push(t)})),[...e.entries()]}),[r,t]),c=(0,d.useMemo)((()=>n.map((e=>({id:e,label:e||Br(jr.UNTITLED)})))),[n]),h=p().createElement(p().Fragment,null,p().createElement(al,{tabs:c,activeTab:r,onTabClick:e=>l(e.detail.id)}),p().createElement("ul",{className:"groups"},o.map((e=>{let[t,i]=e;return p().createElement("li",{key:t,className:"group"},p().createElement("h2",null,t),p().createElement("ul",{className:"list"},i.map(((e,t)=>p().createElement("li",{key:t},p().createElement(tl,(0,Lt.A)({className:Mi()("link",{clickable:!!a})},a?{url:(0,Ds.Q)(a,e)}:null),p().createElement("div",{className:"heading"},p().createElement("div",{className:"avatar"},e.avatar?p().createElement("img",{src:e.avatar}):p().createElement(il,{lib:"antd",icon:"user"})),p().createElement("div",{className:"title"},e.name)),p().createElement("div",{className:"description"},e.description)))))))}))));return s?p().createElement("div",{className:"container"},p().createElement("h1",null,Br(jr.AI_EMPLOYEES)),h):h}Pr=dl,({e:[Gr,qr,Kr,Jr,Xr,Qr,Zr,el],c:[rl,$r]}=(0,h.A)(Pr,[sl("ai-portal.ai-employees",{styleTexts:[Yr.A]})],[[nl({attribute:!1}),1,"list"],[nl({attribute:!1}),1,"industries"],[nl(),1,"urlTemplate"],[nl({type:Boolean}),1,"withContainer"]],0,void 0,m.ReactNextElement)),$r();let ul=function(e){return e.AGENTS="AGENTS",e}({});const ml="bricks/ai-portal/ai-agents",bl=b.i18n.getFixedT(null,ml);var Al,gl=i(83059);let kl,El,wl,xl,vl,fl,yl;const Ml={lib:"antd",icon:"tool"};(0,b.initializeI18n)(ml,{en:{AGENTS:"Agents"},zh:{AGENTS:"智能体"}});const Tl=(0,m.wrapBrick)("eo-icon"),Rl=(0,m.wrapBrick)("eo-link"),{defineElement:Sl,property:_l}=(0,u.createDecorators)();let Nl;var Cl=new WeakMap,Dl=new WeakMap,Wl=new WeakMap;class Ol extends m.ReactNextElement{constructor(){super(...arguments),(0,n.A)(this,Cl,El(this)),(0,n.A)(this,Dl,(wl(this),xl(this))),(0,n.A)(this,Wl,(vl(this),fl(this,!0))),yl(this)}get list(){return(0,c.A)(Cl,this)}set list(e){(0,o.A)(Cl,this,e)}get urlTemplate(){return(0,c.A)(Dl,this)}set urlTemplate(e){(0,o.A)(Dl,this,e)}get withContainer(){return(0,c.A)(Wl,this)}set withContainer(e){(0,o.A)(Wl,this,e)}render(){return p().createElement(Fl,{list:this.list,urlTemplate:this.urlTemplate,withContainer:this.withContainer})}}function Fl(e){let{list:t,urlTemplate:i,withContainer:a}=e;const s=p().createElement(p().Fragment,null,p().createElement("ul",{className:"list"},null==t?void 0:t.map(((e,t)=>{var a,s;return p().createElement("li",{key:t},p().createElement(Rl,(0,Lt.A)({className:Mi()("link",{clickable:!!i})},i?{url:(0,Ds.Q)(i,e)}:null),p().createElement("div",{className:"heading"},p().createElement("div",{className:"icon"},p().createElement(Tl,(0,Lt.A)({},null!==(a=e.icon)&&void 0!==a?a:Ml,{fallback:Ml}))),p().createElement("div",{className:"title"},e.name)),p().createElement("div",{className:"tags"},null===(s=e.tags)||void 0===s?void 0:s.map(((e,t)=>p().createElement("span",{key:t,className:"tag"},e)))),p().createElement("div",{className:"description"},e.description)))}))));return a?p().createElement("div",{className:"container"},p().createElement("h1",null,bl(ul.AGENTS)),s):s}Al=Ol,({e:[El,wl,xl,vl,fl,yl],c:[Nl,kl]}=(0,h.A)(Al,[Sl("ai-portal.ai-agents",{styleTexts:[gl.A]})],[[_l({attribute:!1}),1,"list"],[_l(),1,"urlTemplate"],[_l({type:Boolean}),1,"withContainer"]],0,void 0,m.ReactNextElement)),kl();var Il=i(94558);let Ll=null;customElements.define("ai-portal.save-request-store",(0,Il.createProviderClass)((function(e){Ll=e}))),customElements.define("ai-portal.load-request-store",(0,Il.createProviderClass)((function(){const e=Ll;return Ll=null,e}))),customElements.define("ai-portal.clear-request-store",(0,Il.createProviderClass)((function(){Ll=null})));var Ul,zl=i(49041);let Hl,jl,Vl,Bl,Pl,Yl,$l;const Gl=(0,m.wrapBrick)("eo-link"),{defineElement:ql,property:Kl}=(0,u.createDecorators)();let Jl;var Xl=new WeakMap,Ql=new WeakMap,Zl=new WeakMap;class eo extends m.ReactNextElement{constructor(){super(...arguments),(0,n.A)(this,Xl,jl(this)),(0,n.A)(this,Ql,(Vl(this),Bl(this))),(0,n.A)(this,Zl,(Pl(this),Yl(this))),$l(this)}get pageTitle(){return(0,c.A)(Xl,this)}set pageTitle(e){(0,o.A)(Xl,this,e)}get breadcrumbs(){return(0,c.A)(Ql,this)}set breadcrumbs(e){(0,o.A)(Ql,this,e)}get size(){return(0,c.A)(Zl,this)}set size(e){(0,o.A)(Zl,this,e)}render(){return p().createElement(to,{pageTitle:this.pageTitle,breadcrumbs:this.breadcrumbs})}}function to(e){let{breadcrumbs:t,pageTitle:i}=e;return(0,d.useEffect)((()=>{"string"==typeof i&&(0,fi.getRuntime)().applyPageTitle(i)}),[i]),p().createElement("div",{className:"container"},i||null!=t&&t.length?p().createElement("div",{className:"header"},p().createElement("nav",null,null!=t&&t.length?p().createElement("ul",{className:"breadcrumbs"},t.map(((e,t)=>p().createElement("li",{key:t},p().createElement(Gl,{url:e.url},e.text))))):null,i?p().createElement("h1",null,i):null),p().createElement("slot",{name:"toolbar"})):null,p().createElement("slot",null))}Ul=eo,({e:[jl,Vl,Bl,Pl,Yl,$l],c:[Jl,Hl]}=(0,h.A)(Ul,[ql("ai-portal.page-container",{styleTexts:[zl.A]})],[[Kl(),1,"pageTitle"],[Kl({attribute:!1}),1,"breadcrumbs"],[Kl({render:!1}),1,"size"]],0,void 0,m.ReactNextElement)),Hl();var io=i(21302);const ao="libs-datetime";let so=function(e){return e.TODAY="TODAY",e.YESTERDAY="YESTERDAY",e.FUTURE_AFTER="FUTURE_AFTER",e.FORMAT_MEDIUM_DATETIME="FORMAT_MEDIUM_DATETIME",e.FORMAT_MEDIUM_DATE="FORMAT_MEDIUM_DATE",e.FORMAT_SHORT_DATETIME="FORMAT_SHORT_DATETIME",e.FORMAT_SHORT_DATE="FORMAT_SHORT_DATE",e.FORMAT_SHORT_DAY_DATETIME="FORMAT_SHORT_DAY_DATETIME",e.FORMAT_SHORT_DAY_DATE="FORMAT_SHORT_DAY_DATE",e.SECONDS="SECONDS",e.MILL_SECONDS="MILL_SECONDS",e.MINUTES="MINUTES",e.HOURS="HOURS",e.DAYS="DARS",e.MONTHS="MONTHS",e}({});const no={[so.YESTERDAY]:"Yesterday",[so.TODAY]:"Today",[so.FUTURE_AFTER]:"After {{time}}",[so.FORMAT_MEDIUM_DATETIME]:"LLL",[so.FORMAT_MEDIUM_DATE]:"LL",[so.FORMAT_SHORT_DATETIME]:"MMM D ah:mm",[so.FORMAT_SHORT_DATE]:"MMM D",[so.FORMAT_SHORT_DAY_DATETIME]:"MMM D HH:mm",[so.FORMAT_SHORT_DAY_DATE]:"MMM D",[so.MONTHS]:"months",[so.HOURS]:"hours",[so.SECONDS]:"seconds",[so.MILL_SECONDS]:"millseconds",[so.DAYS]:"days",[so.MINUTES]:"minutes"},ro={[so.YESTERDAY]:"昨天",[so.TODAY]:"今天",[so.FUTURE_AFTER]:"{{time}}后",[so.FORMAT_MEDIUM_DATETIME]:"LL ah:mm",[so.FORMAT_MEDIUM_DATE]:"LL",[so.FORMAT_SHORT_DATETIME]:"MMMD日 ah:mm",[so.FORMAT_SHORT_DATE]:"MMMD日",[so.FORMAT_SHORT_DAY_DATETIME]:"MMMD日 HH:mm",[so.FORMAT_SHORT_DAY_DATE]:"MMMD日",[so.MONTHS]:"个月",[so.HOURS]:"小时",[so.SECONDS]:"秒",[so.MILL_SECONDS]:"毫秒",[so.DAYS]:"天",[so.MINUTES]:"分钟"};(0,b.initializeI18n)(ao,{en:no,zh:ro});let lo=function(e){return e.full="full",e.default="default",e.relative="relative",e.past="past",e.future="future",e.accurate="accurate",e.auto="auto",e}({});let oo=function(e){return e.CHATS="CHATS",e.GOALS="GOALS",e}({});const co="bricks/ai-portal/project-summary",ho={en:{[oo.CHATS]:"Chat history",[oo.GOALS]:"Project goals"},zh:{[oo.CHATS]:"历史对话",[oo.GOALS]:"项目目标"}},po=b.i18n.getFixedT(null,co);var uo,mo=i(56562);let bo,Ao,go,ko,Eo;(0,b.initializeI18n)(co,ho);const wo=(0,m.wrapBrick)("eo-icon"),xo=(0,m.wrapBrick)("eo-link"),vo=(0,m.wrapBrick)("ai-portal.tab-list",{onTabClick:"tab.click"}),fo="chats",yo=[{id:fo,label:po(oo.CHATS)},{id:"goals",label:po(oo.GOALS)}],{defineElement:Mo,property:To}=(0,u.createDecorators)();let Ro;var So=new WeakMap,_o=new WeakMap;class No extends m.ReactNextElement{constructor(){super(...arguments),(0,n.A)(this,So,Ao(this)),(0,n.A)(this,_o,(go(this),ko(this))),Eo(this)}get chatList(){return(0,c.A)(So,this)}set chatList(e){(0,o.A)(So,this,e)}get chatUrlTemplate(){return(0,c.A)(_o,this)}set chatUrlTemplate(e){(0,o.A)(_o,this,e)}render(){return p().createElement(Co,{chatList:this.chatList,chatUrlTemplate:this.chatUrlTemplate})}}function Co(e){let{chatList:t,chatUrlTemplate:i}=e;const[a,s]=(0,d.useState)(fo);return p().createElement(p().Fragment,null,p().createElement(vo,{tabs:yo,activeTab:a,onTabClick:e=>s(e.detail.id)}),a===fo?t?p().createElement("ul",{className:"chats"},t.map((e=>p().createElement("li",{key:e.conversationId,className:"item"},p().createElement(xo,{className:"link",url:(0,Ds.Q)(i,e)},p().createElement("div",{className:"title"},e.title),p().createElement("div",{className:"time"},p().createElement(wo,{lib:"antd",icon:"clock-circle"}),function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:lo.auto,i=arguments.length>2?arguments[2]:void 0;if(null==e||e===-1/0||e===1/0)return null;const a=io(e),s=io().add(0),n="date"===i?"LL":"LL HH:mm",r=b.i18n.t(`${ao}:${"date"===i?so.FORMAT_MEDIUM_DATE:so.FORMAT_MEDIUM_DATETIME}`),l=b.i18n.t(`${ao}:${"date"===i?so.FORMAT_SHORT_DATE:so.FORMAT_SHORT_DATETIME}`),o=b.i18n.t(`${ao}:${"date"===i?so.FORMAT_SHORT_DAY_DATE:so.FORMAT_SHORT_DAY_DATETIME}`),c="date"===i?"LL":"LL HH:mm:ss";let h;switch(t){case lo.full:h=a.format(n);break;case lo.default:h=a.format(c);break;case lo.relative:{const e=+a-+s;h=e<=0?io.duration(e).humanize(!0):b.i18n.t(`${ao}:${so.FUTURE_AFTER}`,{time:io.duration(e).humanize()});break}case lo.past:h=io.duration(Math.min(+a-+s,0)).humanize(!0);break;case lo.future:h=b.i18n.t(`${ao}:${so.FUTURE_AFTER}`,{time:io.duration(Math.max(+a-+s,0)).humanize()});break;case lo.accurate:h=(()=>{const e=+a.diff(s,"days",!0).toFixed(1);let t="";const r=a.year()<s.year()?"lastYear":e<-2||a.isBefore(s.clone().add(-1,"day"),"day")?"twoDaysBefore":a.isSame(s.clone().add(-1,"day"),"day")?"yesterday":a.isSame(s,"day")?"sameDay":e<2&&a.isSame(s.clone().add(1,"day"),"day")?"nextDay":e<7?"nextWeek":"default";switch(r){case"sameDay":case"yesterday":t=`${b.i18n.t(`${ao}:${"yesterday"===r?so.YESTERDAY:so.TODAY}`)}${"date"===i?"":` ${a.format("HH:mm")}`}`;break;case"lastYear":default:t=a.format(n);break;case"twoDaysBefore":t=a.format(o)}return t})();break;default:h=a.format(a.year()===s.year()?l:r)}return h}(e.startTime,lo.relative))))))):p().createElement("div",{className:"loading"},p().createElement(wo,{lib:"antd",icon:"loading-3-quarters",spinning:!0})):null)}uo=No,({e:[Ao,go,ko,Eo],c:[Ro,bo]}=(0,h.A)(uo,[Mo("ai-portal.project-summary",{styleTexts:[mo.A]})],[[To({attribute:!1}),1,"chatList"],[To(),1,"chatUrlTemplate"]],0,void 0,m.ReactNextElement)),bo();var Do,Wo=i(20124);let Oo,Fo,Io,Lo,Uo,zo,Ho,jo,Vo;const{defineElement:Bo,property:Po,event:Yo}=(0,u.createDecorators)();let $o;var Go=new WeakMap,qo=new WeakMap,Ko=new WeakMap,Jo=new WeakSet,Xo=new WeakMap;class Qo extends m.ReactNextElement{constructor(){super(...arguments),(0,s.A)(this,Jo),(0,n.A)(this,Go,Fo(this)),(0,n.A)(this,qo,(Io(this),Lo(this))),(0,n.A)(this,Ko,(Uo(this),zo(this))),(0,n.A)(this,Xo,(Vo(this),e=>{this.activeTab=e.id,(0,l.A)(Jo,this,Ho).emit(e)}))}get tabs(){return(0,c.A)(Go,this)}set tabs(e){(0,o.A)(Go,this,e)}get activeTab(){return(0,c.A)(qo,this)}set activeTab(e){(0,o.A)(qo,this,e)}render(){return p().createElement(Zo,{tabs:this.tabs,activeTab:this.activeTab,onTabClick:(0,c.A)(Xo,this)})}}function Zo(e){let{tabs:t,activeTab:i,onTabClick:a}=e;return p().createElement("ul",{className:"tabs",part:"tabs"},null==t?void 0:t.map((e=>p().createElement("li",{key:e.id,part:"tab",className:Mi()("tab",{active:e.id===i})},p().createElement("a",{onClick:()=>a(e)},e.label)))))}Do=Qo,({e:[Fo,Io,Lo,Uo,zo,Ho,jo,Vo],c:[$o,Oo]}=(0,h.A)(Do,[Bo("ai-portal.tab-list",{styleTexts:[Wo.A]})],[[Po({attribute:!1}),1,"tabs"],[Po({attribute:!1}),1,"activeTab"],[Yo({type:"tab.click"}),1,"tabClick",e=>(0,c.A)(Ko,e),(e,t)=>(0,o.A)(Ko,e,t)]],0,(e=>Xo.has((0,r.A)(e))),m.ReactNextElement)),Oo();var ec=i(8406),tc=i(57372);const ic=new Map([["$eq","=="],["$ne","!="],["$gt",">"],["$lt","<"],["$gte",">="],["$lte","<="]]);customElements.define("ai-portal.entity-sdk-list",(0,Il.createProviderClass)((async function(e,t,i){if(!e)throw new Error("Workspace is required for Entity SDK.");return"HOST_METRIC"===t?(await tc.http.post("api/gateway/data_exchange.olap.Query/api/v1/data_exchange/olap",{model:"easyops.HOST",filters:(s=null==i?void 0:i.query,Object.entries(s||{}).flatMap((e=>{let[t,i]=e;return Object.entries(i||{}).map((e=>{let[i,a]=e;const s=ic.get(i);if(!s)throw new Error(`Unsupported operator: "${i}"`);return{name:t,operator:s,value:a}}))}))),dims:["time(auto)"],measures:(a=null==i?void 0:i.fields,null==a?void 0:a.map((e=>({function:{args:[e],expression:"avg"},name:e}))))})).data:(0,ec.y)(t,i);var a,s})));var ac=i(48518);customElements.define("ai-portal.entity-sdk-get",(0,Il.createProviderClass)((async function(e,t,i){if(!e)throw new Error("Workspace is required for Entity SDK.");return(0,ac.y)(t,i,{})})))},20124:(e,t,i)=>{i.d(t,{A:()=>l});var a=i(36758),s=i.n(a),n=i(40935),r=i.n(n)()(s());r.push([e.id,':host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.tabs{list-style:none;padding:0;margin:0;display:flex;font-size:16px}.tabs .tab + .tab{margin-left:32px}.tabs a{color:rgba(38,38,38,0.65);cursor:pointer}.tabs .active a{color:#262626;font-weight:500}.tabs .active a::after{content:"";display:block;width:100%;height:4px;background-color:currentColor;border-radius:2px}',""]);const l=r.toString()},25676:(e,t,i)=>{e.exports=i.p+"images/4b299d0b.png"},31748:(e,t,i)=>{i.d(t,{A:()=>p});var a=i(36758),s=i.n(a),n=i(40935),r=i.n(n),l=i(20062),o=i.n(l),c=new URL(i(25676),i.b),h=r()(s()),d=o()(c);h.push([e.id,`:host{display:block}:host([hidden]){display:none}:host([with-container]){position:relative;width:100%;height:100%;overflow:hidden;background-color:rgb(205,206,207);background-image:url(${d});background-size:cover;background-repeat:no-repeat;background-position:center;background-attachment:fixed;color:#262626;padding:48px 24px;overflow-y:auto}*{box-sizing:border-box}.container{max-width:1400px;margin:0 auto}h1,\nh2{font-weight:500;margin:0}h1{font-size:20px;line-height:28px;margin-bottom:17px}h2{font-size:16px;line-height:22px}.groups,\n.list{list-style:none;margin:0;padding:0}.groups{margin-top:27px}.group + .group{margin-top:32px}.list{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.list .item{background:rgba(255,255,255,0.9);box-shadow:0px 2px 5px 0px rgba(0,0,0,0.08);border-radius:12px;padding:20px 26px}.heading{display:flex;align-items:center}.icon{font-size:24px;color:#333;margin-right:8px}.title{font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.description{margin-top:13px;font-size:13px;color:rgba(0,0,0,0.45);line-height:18px;height:54px;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}`,""]);const p=h.toString()},32360:(e,t,i)=>{e.exports=i.p+"images/72c24398.png"},42873:(e,t,i)=>{i.d(t,{A:()=>l});var a=i(36758),s=i.n(a),n=i(40935),r=i.n(n)()(s());r.push([e.id,":host{display:flex;flex-direction:column;align-items:center;max-width:1020px;width:100%}:host([hidden]){display:none}*{box-sizing:border-box}.tips{color:rgba(0,0,0,0.45);margin-bottom:27px}.cases{list-style:none;padding:0;margin:0;display:grid;width:100%;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;margin-top:36px}.link{display:block;background:rgba(255,255,255,0.5);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-size:cover;background-position:center;background-repeat:no-repeat;background-clip:padding-box;overflow:hidden}.link::part(link){display:flex;flex-direction:column;gap:0;box-sizing:border-box;height:128px;padding:20px}.title{width:100%;margin-bottom:8px;color:#262626;font-weight:500;font-size:14px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.description{width:100%;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:rgba(24,33,47,0.65);font-size:13px;line-height:20px}.link::part(link):hover{box-shadow:0px 4px 12px 0px rgba(96,96,138,0.15),0px 2px 4px 0px rgba(96,96,138,0.06)}",""]);const l=r.toString()},47008:(e,t,i)=>{i.d(t,{A:()=>p});var a=i(36758),s=i.n(a),n=i(40935),r=i.n(n),l=i(20062),o=i.n(l),c=new URL(i(47336),i.b),h=r()(s()),d=o()(c);h.push([e.id,`:host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.root{color:#262626;background:url(${d}) no-repeat center bottom;background-size:100% 104px;padding:12px 12px 29px}.container{position:relative;background:#ffffff;box-shadow:0px 2px 4px 0px rgba(38,45,65,0.1);border-radius:16px;border:1px solid #dadfe8}.container:has(textarea:focus){border-color:#b7c3d8}textarea{display:block;width:100%;padding:10px 16px 50px;color:var(--antd-input-color);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.5);font-size:14px;line-height:22px;height:120px}textarea::placeholder{color:rgba(0,0,0,0.4)}.btn-send:focus,\ntextarea:focus{outline:none}.actions-bar{position:absolute;bottom:12px;left:14px;right:14px;display:flex;align-items:flex-end;justify-content:space-between}.btn-send{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--elevo-color-brand);border:none;border-radius:8px;color:#fff;flex-shrink:0}.btn-send[disabled]{background:rgba(0,0,0,0.15)}.btn-send:not([disabled]){cursor:pointer}.btn-send:not([disabled]):hover{background:#5166ff}.btn-send:not([disabled]):active{background:#1e33cc}`,""]);const p=h.toString()},47336:(e,t,i)=>{e.exports=i.p+"images/25c20165.png"},47338:(e,t,i)=>{i.d(t,{A:()=>l});var a=i(36758),s=i.n(a),n=i(40935),r=i.n(n)()(s());r.push([e.id,':host{display:inline-block}:host([hidden]){display:none}:host,\neo-tooltip{vertical-align:middle}button{width:28px;height:28px;font-size:18px;border-radius:8px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:#333}button:disabled{color:#8c8c8c}button:not(:disabled){cursor:pointer}button:focus{outline:none}button:not(:disabled):hover{background:rgba(0,0,0,0.04)}button:not(:disabled):active{background:rgba(0,0,0,0.08)}:host([variant="light"]) button{color:#595959}:host([variant="mini"]) button{width:24px;height:24px;font-size:16px;border-radius:4px}:host([variant="mini-light"]) button{color:#8c8c8c;width:20px;height:20px;font-size:14px;border-radius:4px}:host([variant="bordered"]) button{background:#ffffff;border-radius:8px;border:1px solid rgba(0,0,0,0.1);color:#595959;width:32px;height:32px;font-size:18px}:host([variant="bordered"]) button:not(:disabled):hover{background:rgba(0,0,0,0.04)}',""]);const l=r.toString()},49041:(e,t,i)=>{i.d(t,{A:()=>p});var a=i(36758),s=i.n(a),n=i(40935),r=i.n(n),l=i(20062),o=i.n(l),c=new URL(i(25676),i.b),h=r()(s()),d=o()(c);h.push([e.id,`:host{display:block;position:relative;width:100%;height:100%;overflow:hidden;background-color:rgb(205,206,207);background-image:url(${d});background-size:cover;background-repeat:no-repeat;background-position:center;background-attachment:fixed;color:#262626;padding:17px 54px 48px;overflow-y:auto}:host([hidden]){display:none}*{box-sizing:border-box}.container{max-width:1400px;margin:0 auto}:host([size="small"]) .container{max-width:1000px}.header{margin-bottom:30px;display:flex;justify-content:space-between;align-items:center}nav{font-weight:500;font-size:20px;line-height:28px;display:flex;min-width:0}h1{margin:0;font-size:inherit;line-height:inherit}.breadcrumbs{list-style:none;padding:0;margin:0;color:#bfbfbf}.breadcrumbs eo-link::part(link){color:inherit}.breadcrumbs eo-link::part(link):hover{color:#595959}.breadcrumbs li::after{content:"/";margin:0 8px}`,""]);const p=h.toString()},56562:(e,t,i)=>{i.d(t,{A:()=>l});var a=i(36758),s=i.n(a),n=i(40935),r=i.n(n)()(s());r.push([e.id,":host{display:flex;flex-direction:column;align-items:center;max-width:1200px;width:100%}:host([hidden]){display:none}*{box-sizing:border-box}.chats{list-style:none;padding:0;margin:0;display:grid;width:100%;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px;margin-top:2em}.chats .link{display:block}.chats .link::part(link){background:#fff;border-radius:12px;border:1px solid rgba(0,0,0,0.1);overflow:hidden;display:block;padding:16px 16px 12px}.chats .link::part(link):hover{box-shadow:0px 2px 8px 0px rgba(0,0,0,0.1)}.chats .title{height:40px;line-height:20px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#262626}.chats .time{margin-top:20px;font-size:12px;color:#8c8c8c;display:flex;align-items:center}.chats .time eo-icon{margin-right:4px}.loading{display:flex;align-items:center;justify-content:center;margin-top:2em;font-size:16px;color:#8c8c8c}",""]);const l=r.toString()},82165:(e,t,i)=>{i.d(t,{A:()=>p});var a=i(36758),s=i.n(a),n=i(40935),r=i.n(n),l=i(20062),o=i.n(l),c=new URL(i(32360),i.b),h=r()(s()),d=o()(c);h.push([e.id,`:host{display:block}:host([hidden]){display:none}:host::before{content:"";position:fixed;z-index:-1;top:0;right:0;bottom:0;left:0;background-color:#f1f1f1;background-image:url(${d});background-position:center;background-size:cover;background-repeat:no-repeat;background-attachment:fixed}`,""]);const p=h.toString()},83059:(e,t,i)=>{i.d(t,{A:()=>p});var a=i(36758),s=i.n(a),n=i(40935),r=i.n(n),l=i(20062),o=i.n(l),c=new URL(i(25676),i.b),h=r()(s()),d=o()(c);h.push([e.id,`:host{display:block}:host([hidden]){display:none}:host([with-container]){position:relative;width:100%;height:100%;overflow:hidden;background-color:rgb(205,206,207);background-image:url(${d});background-size:cover;background-repeat:no-repeat;background-position:center;background-attachment:fixed;color:#262626;padding:48px 24px;overflow-y:auto}*{box-sizing:border-box}.container{max-width:1400px;margin:0 auto}h1{font-weight:500;margin:0;font-size:20px;line-height:28px;margin-bottom:17px}.list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.link{display:block;height:100%}.link::part(link){display:block;height:100%;color:#262626;background:rgba(255,255,255,0.9);box-shadow:0px 2px 5px 0px rgba(0,0,0,0.08);border-radius:12px;padding:20px 26px;box-sizing:border-box}.link:not(.clickable)::part(link){cursor:auto}.clickable::part(link):hover{box-shadow:0px 4px 10px 0px rgba(0,0,0,0.1)}.heading{display:flex;align-items:center}.icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#ffffff;border-radius:12px;border:1px solid #e8e9ec;font-size:32px;color:#595959;margin-right:16px}.title{font-size:16px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clickable::part(link):hover .title{color:var(--elevo-color-brand)}.description{margin-top:13px;font-size:13px;color:rgba(0,0,0,0.45);line-height:18px;height:54px;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tags{display:flex;gap:6px;margin:16px 0 -3px}.tag{display:block;background:rgba(0,0,0,0.04);border-radius:4px;font-size:12px;line-height:22px;padding:0 7px}`,""]);const p=h.toString()},98036:(e,t,i)=>{i.d(t,{A:()=>p});var a=i(36758),s=i.n(a),n=i(40935),r=i.n(n),l=i(20062),o=i.n(l),c=new URL(i(25676),i.b),h=r()(s()),d=o()(c);h.push([e.id,`:host{display:block}:host([hidden]){display:none}:host([with-container]){position:relative;width:100%;height:100%;overflow:hidden;background-color:rgb(205,206,207);background-image:url(${d});background-size:cover;background-repeat:no-repeat;background-position:center;background-attachment:fixed;color:#262626;padding:48px 24px;overflow-y:auto}*{box-sizing:border-box}.container{max-width:1400px;margin:0 auto;margin-bottom:17px}h1,\nh2{font-weight:500;margin:0}h1{font-size:20px;line-height:28px;margin-bottom:17px}h2{font-size:16px;line-height:22px}.groups,\n.list{list-style:none;margin:0;padding:0}.groups{margin-top:27px}.group + .group{margin-top:32px}.list{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.link{display:block;height:100%}.link::part(link){display:block;height:100%;color:#262626;background:rgba(255,255,255,0.9);box-shadow:0px 2px 5px 0px rgba(0,0,0,0.08);border-radius:12px;padding:20px 26px;box-sizing:border-box}.link:not(.clickable)::part(link){cursor:auto}.clickable::part(link):hover{box-shadow:0px 4px 10px 0px rgba(0,0,0,0.1)}.heading{display:flex;align-items:center}.avatar{width:48px;height:48px;border-radius:12px;margin-right:16px;background-color:#d5d6e6;display:flex;align-items:center;justify-content:center;font-size:24px}.avatar img{width:100%;height:100%}.title{font-size:16px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clickable::part(link):hover .title{color:var(--elevo-color-brand)}.description{margin-top:13px;font-size:13px;color:rgba(0,0,0,0.45);line-height:18px;height:54px;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}`,""]);const p=h.toString()}}]);
2
+ //# sourceMappingURL=9535.9827a039.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/9535.9827a039.js","mappings":"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","sources":["webpack:///./src/stat-with-mini-chart/styles.shadow.css","webpack:///./src/cruise-canvas/index.tsx","webpack:///./src/chat-box/i18n.ts","webpack:///./src/chat-box/index.tsx","webpack:///./src/home-container/index.tsx","webpack:///./src/stat-with-mini-chart/index.tsx","webpack:///./src/elevo-sidebar/index.tsx","webpack:///./src/icon-button/index.tsx","webpack:///./src/show-cases/i18n.ts","webpack:///./src/show-cases/index.tsx","webpack:///./src/mcp-tools/i18n.ts","webpack:///./src/mcp-tools/index.tsx","webpack:///./src/chat-stream/index.tsx","webpack:///./src/ai-employees/i18n.ts","webpack:///./src/ai-employees/index.tsx","webpack:///./src/ai-agents/i18n.ts","webpack:///./src/ai-agents/index.tsx","webpack:///./src/data-providers/request-store.ts","webpack:///./src/page-container/index.tsx","webpack:///../../../src/i18n/constants.ts","webpack:///../../../../src/i18n/locales/en.ts","webpack:///../../../../src/i18n/locales/zh.ts","webpack:///../../../src/i18n/index.ts","webpack:///../../src/humanizeTime.ts","webpack:///./src/project-summary/i18n.ts","webpack:///./src/project-summary/index.tsx","webpack:///./src/tab-list/index.tsx","webpack:///./src/data-providers/entity-sdk-list.ts","webpack:///./src/data-providers/entity-sdk-get.ts","webpack:///./src/tab-list/styles.shadow.css","webpack:///./src/mcp-tools/styles.shadow.css","webpack:///./src/show-cases/styles.shadow.css","webpack:///./src/chat-box/styles.shadow.css","webpack:///./src/icon-button/styles.shadow.css","webpack:///./src/page-container/styles.shadow.css","webpack:///./src/project-summary/styles.shadow.css","webpack:///./src/home-container/styles.shadow.css","webpack:///./src/ai-agents/styles.shadow.css","webpack:///./src/ai-employees/styles.shadow.css"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block;white-space:nowrap}.container{border-radius:var(--elevo-border-radius)}:host([hidden]){display:none}*{box-sizing:border-box}.label{font-weight:500;overflow:hidden;text-overflow:ellipsis}.stat{font-weight:600}.chart{min-width:0}.chart > *{display:block}:host(:not([size=\"small\"])) .container{background:linear-gradient(164deg,rgba(105,153,253,0) 40%,rgba(105,153,253,0.05) 60%,rgba(105,153,253,0.32) 100%),#fff;padding:22px}:host(:not([size=\"small\"])) .label{font-size:14px;height:22px;margin-bottom:16px}:host(:not([size=\"small\"])) .stat-and-chart{display:flex;align-items:center;justify-content:end;position:relative}:host(:not([size=\"small\"])) .stat{font-size:36px;color:#1d212a;position:absolute;left:0}:host(:not([size=\"small\"])) .chart{width:calc(100% - 160px)}:host([size=\"small\"]) .container{padding:11px 15px;display:flex;align-items:center;justify-content:end;position:relative;background:var(--elevo-component-background);-webkit-backdrop-filter:var(--elevo-component-backdrop-filter);backdrop-filter:var(--elevo-component-backdrop-filter)}:host([size=\"small\"]) .label-and-stat{position:absolute;left:15px}:host([size=\"small\"]) .label{font-size:12px;color:#8c8c8c;line-height:17px;height:17px;margin-bottom:7px}:host([size=\"small\"]) .stat{font-size:20px;color:#262626;line-height:24px}:host([size=\"small\"]) .chart{width:calc(100% - 90px)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// istanbul ignore file: experimental\nimport React, { createRef, forwardRef } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport { NS, locales } from \"./i18n.js\";\nimport type { Job, TaskBaseDetail, FeedbackDetail } from \"./interfaces.js\";\nimport { LegacyCruiseCanvasComponent } from \"./LegacyCruiseCanvas.js\";\nimport { CruiseCanvasComponent, type CruiseCanvasRef } from \"./CruiseCanvas.js\";\nimport type { RequestStore } from \"../shared/interfaces.js\";\n\ninitializeI18n(NS, locales);\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport interface CruiseCanvasProps {\n conversationId?: string;\n initialRequest?: RequestStore | null;\n taskId?: string;\n task?: TaskBaseDetail;\n jobs?: Job[];\n replay?: boolean;\n replayDelay?: number;\n supports?: Record<string, boolean>;\n showHiddenJobs?: boolean;\n showFeedback?: boolean;\n showFeedbackAfterFailed?: boolean;\n showUiSwitch?: boolean;\n showFeedbackOnView?: boolean;\n showJsxEditor?: boolean;\n}\n\nconst ForwardedLegacyCruiseCanvasComponent = forwardRef(\n LegacyCruiseCanvasComponent\n);\n\nconst ForwardedCruiseCanvasComponent = forwardRef(CruiseCanvasComponent);\n\n/**\n * 构件 `ai-portal.cruise-canvas`\n */\nexport\n@defineElement(\"ai-portal.cruise-canvas\", {\n // Will wrap v2 bricks which don't support in shadow DOM.\n shadowOptions: false,\n})\nclass CruiseCanvas extends ReactNextElement implements CruiseCanvasProps {\n @property()\n accessor conversationId: string | undefined;\n\n /** 初始请求数据。仅初始设置有效。 */\n @property({ attribute: false, render: false })\n accessor initialRequest: RequestStore | undefined | null;\n\n @property()\n accessor taskId: string | undefined;\n\n @property({ attribute: false })\n accessor task: TaskBaseDetail | undefined;\n\n @property({ attribute: false })\n accessor jobs: Job[] | undefined;\n\n /** 是否启用回放。仅初始设置有效。 */\n @property({ type: Boolean, render: false })\n accessor replay: boolean | undefined;\n\n /**\n * 设置回放时消息之间的时间间隔,单位为秒。仅初始设置有效。\n *\n * @default 2\n */\n @property({ type: Number, render: false })\n accessor replayDelay: number | undefined;\n\n @property({ attribute: false })\n accessor supports: Record<string, boolean> | undefined;\n\n @property({ type: Boolean })\n accessor showHiddenJobs: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showFeedback: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showFeedbackAfterFailed: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showFeedbackOnView: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showUiSwitch: boolean | undefined;\n\n @property({ type: Boolean, render: false })\n accessor hideMermaid: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showJsxEditor: boolean | undefined;\n\n @event({ type: \"share\" })\n accessor #shareEvent!: EventEmitter<void>;\n\n #onShare = () => {\n this.#shareEvent.emit();\n };\n\n @event({ type: \"terminate\" })\n accessor #terminateEvent!: EventEmitter<void>;\n\n #onTerminate = () => {\n this.#terminateEvent.emit();\n };\n\n @event({ type: \"feedback.submit\" })\n accessor #feedbackSubmitEvent!: EventEmitter<FeedbackDetail>;\n\n #onSubmitFeedback = (detail: FeedbackDetail) => {\n this.#feedbackSubmitEvent.emit(detail);\n };\n\n @event({ type: \"feedback.on.view\" })\n accessor #feedbackOnViewEvent!: EventEmitter<string>;\n\n #onFeedbackOnView = (viewId: string) => {\n this.#feedbackOnViewEvent.emit(viewId);\n };\n\n @event({ type: \"ui.switch\" })\n accessor #switch!: EventEmitter<\"chat\">;\n\n #onSwitchToChat = () => {\n this.#switch.emit(\"chat\");\n };\n\n #ref = createRef<CruiseCanvasRef>();\n\n @method()\n resumed() {\n this.#ref.current?.resumed?.();\n }\n\n @method()\n feedbackSubmitDone() {\n this.#ref.current?.feedbackSubmitDone();\n }\n\n @method()\n feedbackSubmitFailed() {\n this.#ref.current?.feedbackSubmitFailed();\n }\n\n @method()\n feedbackOnViewDone(viewId: string) {\n this.#ref.current?.feedbackOnViewDone(viewId);\n }\n\n render() {\n const Component = this.conversationId\n ? ForwardedCruiseCanvasComponent\n : ForwardedLegacyCruiseCanvasComponent;\n return (\n <Component\n conversationId={this.conversationId!}\n initialRequest={this.initialRequest}\n taskId={this.taskId}\n jobs={this.jobs}\n task={this.task}\n replay={this.replay}\n replayDelay={this.replayDelay}\n supports={this.supports}\n showHiddenJobs={this.showHiddenJobs}\n showFeedback={this.showFeedback}\n showFeedbackAfterFailed={this.showFeedbackAfterFailed}\n showUiSwitch={this.showUiSwitch}\n showFeedbackOnView={this.showFeedbackOnView}\n showJsxEditor={this.showJsxEditor}\n onShare={this.#onShare}\n onTerminate={this.#onTerminate}\n onSubmitFeedback={this.#onSubmitFeedback}\n onSwitchToChat={this.#onSwitchToChat}\n onFeedbackOnView={this.#onFeedbackOnView}\n ref={this.#ref}\n />\n );\n }\n}\n","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n ASK_ANY_THING = \"ASK_ANYTHING\",\n COMMON_TASKS = \"COMMON_TASKS\",\n}\n\nconst en: Locale = {\n [K.ASK_ANY_THING]: \"Ask anything\",\n [K.COMMON_TASKS]: \"Common tasks\",\n};\n\nconst zh: Locale = {\n [K.ASK_ANY_THING]: \"询问任何问题\",\n [K.COMMON_TASKS]: \"常用任务\",\n};\n\nexport const NS = \"bricks/ai-portal/chat-box\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport {\n TextareaAutoResize,\n type TextareaAutoResizeRef,\n} from \"@next-shared/form\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\n\ninitializeI18n(NS, locales);\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nconst { defineElement, property, event } = createDecorators();\n\nexport interface ChatBoxProps {\n disabled?: boolean;\n placeholder?: string;\n autoFocus?: boolean;\n}\n\nexport interface Suggestion {\n title: string;\n content: string;\n}\n\n/**\n * 构件 `ai-portal.chat-box`\n */\nexport\n@defineElement(\"ai-portal.chat-box\", {\n styleTexts: [styleText],\n})\nclass ChatBox extends ReactNextElement implements ChatBoxProps {\n @property({ type: Boolean })\n accessor disabled: boolean | undefined;\n\n @property()\n accessor placeholder: string | undefined;\n\n @property({ type: Boolean })\n accessor autoFocus: boolean | undefined;\n\n @event({ type: \"message.submit\" })\n accessor #messageSubmit!: EventEmitter<string>;\n\n #handleMessageSubmit = (value: string) => {\n this.#messageSubmit.emit(value);\n };\n\n render() {\n return (\n <ChatBoxComponent\n disabled={this.disabled}\n placeholder={this.placeholder}\n autoFocus={this.autoFocus}\n onSubmit={this.#handleMessageSubmit}\n />\n );\n }\n}\n\nexport interface ChatBoxComponentProps extends ChatBoxProps {\n // Define react event handlers here.\n onSubmit?: (value: string) => void;\n}\n\nexport function ChatBoxComponent({\n disabled,\n placeholder,\n autoFocus,\n onSubmit,\n}: ChatBoxComponentProps) {\n const containerRef = useRef<HTMLDivElement>(null);\n const textareaRef = useRef<TextareaAutoResizeRef>(null);\n const [value, setValue] = useState(\"\");\n const valueRef = useRef(\"\");\n\n const handleSubmit = useCallback(\n (e: React.FormEvent<HTMLTextAreaElement>) => {\n if (e.currentTarget.value) {\n onSubmit?.(e.currentTarget.value);\n }\n },\n [onSubmit]\n );\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n valueRef.current = e.target.value;\n setValue(e.target.value);\n },\n []\n );\n\n const handleSubmitClick = useCallback(() => {\n onSubmit?.(valueRef.current);\n }, [onSubmit]);\n\n useEffect(\n () => {\n if (autoFocus) {\n Promise.resolve().then(() => {\n textareaRef.current?.focus();\n });\n }\n },\n // One-time focus\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n );\n\n return (\n <div className=\"root\">\n <div className=\"container\" ref={containerRef}>\n <TextareaAutoResize\n containerRef={containerRef}\n ref={textareaRef}\n value={value}\n minRows={58 / 22}\n paddingSize={60}\n autoResize\n disabled={disabled}\n placeholder={placeholder ?? t(K.ASK_ANY_THING)}\n submitWhen=\"enter-without-shift\"\n onSubmit={handleSubmit}\n onChange={handleChange}\n />\n <div className=\"actions-bar\">\n <div>\n <slot name=\"actions\"></slot>\n </div>\n <button\n className=\"btn-send\"\n disabled={!value}\n onClick={handleSubmitClick}\n >\n <WrappedIcon lib=\"fa\" prefix=\"fas\" icon=\"arrow-up\" />\n </button>\n </div>\n </div>\n </div>\n );\n}\n","import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement } = createDecorators();\n\n/**\n * 构件 `ai-portal.home-container`\n */\nexport\n@defineElement(\"ai-portal.home-container\", {\n styleTexts: [styleText],\n})\nclass HomeContainer extends ReactNextElement {\n render() {\n return <HomeContainerComponent />;\n }\n}\n\nexport function HomeContainerComponent() {\n return <slot />;\n}\n","import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport type {\n MiniLineChart,\n MiniLineChartProps,\n} from \"@next-bricks/mini-chart/mini-line-chart\";\n\nconst WrappedMiniLineChart = wrapBrick<MiniLineChart, MiniLineChartProps>(\n \"eo-mini-line-chart\"\n);\n\nconst { defineElement, property } = createDecorators();\n\nexport interface StatWithMiniChartProps\n extends Pick<\n MiniLineChartProps,\n \"data\" | \"xField\" | \"yField\" | \"lineColor\" | \"showArea\" | \"min\" | \"max\"\n > {\n label?: string;\n value?: string;\n size?: \"medium\" | \"small\";\n}\n\n/**\n * 构件 `ai-portal.stat-with-mini-chart`\n */\nexport\n@defineElement(\"ai-portal.stat-with-mini-chart\", {\n styleTexts: [styleText],\n})\nclass StatWithMiniChart\n extends ReactNextElement\n implements StatWithMiniChartProps\n{\n @property()\n accessor label: string | undefined;\n\n @property()\n accessor value: string | undefined;\n\n /**\n * @default \"medium\"\n */\n @property()\n accessor size: \"medium\" | \"small\" | undefined;\n\n /**\n * @default \"var(--color-brand)\"\n */\n @property()\n accessor lineColor: string | undefined;\n\n @property({ type: Boolean })\n accessor showArea: boolean | undefined;\n\n /**\n * Specify the minimum value of the y-axis.\n * If not specified, the minimum value will be calculated from the data.\n */\n @property({ type: Number })\n accessor min: number | undefined;\n\n /**\n * Specify the maximum value of the y-axis.\n * If not specified, the maximum value will be calculated from the data.\n */\n @property({ type: Number })\n accessor max: number | undefined;\n\n /**\n * @default \"0\"\n */\n @property()\n accessor xField: string | undefined;\n\n /**\n * @default \"1\"\n */\n @property()\n accessor yField: string | undefined;\n\n @property({ attribute: false })\n accessor data: Record<string, number>[] | undefined;\n\n render() {\n return (\n <StatWithMiniChartComponent\n label={this.label}\n value={this.value}\n size={this.size}\n lineColor={this.lineColor}\n showArea={this.showArea}\n min={this.min}\n max={this.max}\n xField={this.xField}\n yField={this.yField}\n data={this.data}\n />\n );\n }\n}\n\nfunction StatWithMiniChartComponent({\n label,\n value,\n size,\n ...chartProps\n}: StatWithMiniChartProps) {\n if (size === \"small\") {\n return (\n <div className=\"container\">\n <div className=\"label-and-stat\">\n <div className=\"label\">{label}</div>\n <div className=\"stat\">{value}</div>\n </div>\n <div className=\"chart\">\n <WrappedMiniLineChart\n {...chartProps}\n lineWidth={1.5}\n width=\"auto\"\n height=\"55\"\n />\n </div>\n </div>\n );\n }\n return (\n <div className=\"container\">\n <div className=\"label\">{label}</div>\n <div className=\"stat-and-chart\">\n <div className=\"chart\">\n <WrappedMiniLineChart\n {...chartProps}\n lineWidth={2}\n width=\"auto\"\n height=\"92\"\n />\n </div>\n <div className=\"stat\">{value}</div>\n </div>\n </div>\n );\n}\n","import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { i18n, initializeI18n } from \"@next-core/i18n\";\nimport { getHistory } from \"@next-core/runtime\";\nimport classNames from \"classnames\";\nimport type { DropdownActionsProps } from \"@next-bricks/basic/dropdown-actions\";\nimport type { ActionType } from \"@next-bricks/basic/mini-actions\";\nimport type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\nimport ElevoLogo from \"./images/logo@2x.png\";\nimport {\n WrappedDropdownActions,\n WrappedEasyopsAvatar,\n WrappedIcon,\n WrappedIconButton,\n WrappedLink,\n} from \"./bricks.js\";\nimport {\n ChatHistory,\n type ActionClickDetail,\n type ChatHistoryRef,\n type Project,\n type ProjectActionClickDetail,\n} from \"./ChatHistory.js\";\nimport {\n LegacyChatHistory,\n type LegacyActionClickDetail,\n} from \"./LegacyChatHistory.js\";\n\ninitializeI18n(NS, locales);\n\nconst SIDEBAR_ICON: GeneralIconProps = {\n lib: \"easyops\",\n icon: \"sidebar\",\n};\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport interface ElevoSidebarProps {\n /** @deprecated */\n legacy?: boolean;\n userInstanceId?: string;\n behavior?: \"default\" | \"drawer\";\n bordered?: boolean;\n logoUrl?: string;\n newChatUrl?: string;\n newChatLinkWhenCollapsed?: boolean;\n historyActiveId?: string;\n historyUrlTemplate?: string;\n historyActions?: ActionType[];\n projectActiveId?: string;\n projectUrlTemplate?: string;\n projectActions?: ActionType[];\n links?: SidebarLink[];\n}\n\nexport interface SidebarLink {\n title: string;\n url: string;\n icon: GeneralIconProps;\n}\n\nconst ElevoSidebarComponent = forwardRef(LegacyElevoSidebarComponent);\n\ninterface ElevoSidebarRef extends ChatHistoryRef {\n close: () => void;\n}\n\n/**\n * 构件 `ai-portal.elevo-sidebar`\n */\nexport\n@defineElement(\"ai-portal.elevo-sidebar\", {\n styleTexts: [styleText],\n})\nclass ElevoSidebar extends ReactNextElement implements ElevoSidebarProps {\n /** @deprecated */\n @property({ type: Boolean })\n accessor legacy = true;\n\n @property()\n accessor userInstanceId: string | undefined;\n\n @property()\n accessor behavior: \"default\" | \"drawer\" | undefined;\n\n @property({ type: Boolean, render: false })\n accessor bordered: boolean | undefined;\n\n @property()\n accessor logoUrl: string | undefined;\n\n @property()\n accessor newChatUrl: string | undefined;\n\n @property({ type: Boolean })\n accessor newChatLinkWhenCollapsed: boolean | undefined;\n\n @property()\n accessor historyActiveId: string | undefined;\n\n @property()\n accessor historyUrlTemplate: string | undefined;\n\n @property({ attribute: false })\n accessor historyActions: ActionType[] | undefined;\n\n @property()\n accessor projectActiveId: string | undefined;\n\n @property()\n accessor projectUrlTemplate: string | undefined;\n\n @property({ attribute: false })\n accessor projectActions: ActionType[] | undefined;\n\n @property({ attribute: false })\n accessor links: SidebarLink[] | undefined;\n\n @event({ type: \"logout\" })\n accessor #logout!: EventEmitter<void>;\n\n #handleLogout = () => {\n this.#logout.emit();\n };\n\n @event({ type: \"action.click\" })\n accessor #actionClick!: EventEmitter<\n ActionClickDetail | LegacyActionClickDetail\n >;\n\n #handleActionClick = (detail: ActionClickDetail) => {\n this.#actionClick.emit(detail);\n };\n\n #handleLegacyActionClick = (detail: LegacyActionClickDetail) => {\n this.#actionClick.emit(detail);\n };\n\n @event({ type: \"project.action.click\" })\n accessor #projectActionClick!: EventEmitter<ProjectActionClickDetail>;\n\n #handleProjectActionClick = (detail: ProjectActionClickDetail) => {\n this.#projectActionClick.emit(detail);\n };\n\n @event({ type: \"add.project\" })\n accessor #addProject!: EventEmitter<void>;\n\n #handleAddProject = () => {\n this.#addProject.emit();\n };\n\n #ref = createRef<ElevoSidebarRef>();\n\n /**\n * @param delay Delay in milliseconds before pulling the latest chat history.\n */\n @method()\n pullHistory(delay: number) {\n // Wait several seconds to let the task title to be summarized.\n setTimeout(() => {\n this.#ref.current?.pull();\n }, delay);\n }\n\n @method()\n close() {\n this.#ref.current?.close();\n }\n\n @method()\n removeProject(projectId: string) {\n this.#ref.current?.removeProject?.(projectId);\n }\n\n @method()\n addProject(project: Project) {\n this.#ref.current?.addProject?.(project);\n }\n\n @method()\n moveConversation(conversationId: string) {\n this.#ref.current?.moveConversation?.(conversationId);\n }\n\n render() {\n return (\n <ElevoSidebarComponent\n ref={this.#ref}\n legacy={this.legacy}\n userInstanceId={this.userInstanceId}\n behavior={this.behavior}\n logoUrl={this.logoUrl}\n newChatUrl={this.newChatUrl}\n newChatLinkWhenCollapsed={this.newChatLinkWhenCollapsed}\n historyActiveId={this.historyActiveId}\n historyUrlTemplate={this.historyUrlTemplate}\n historyActions={this.historyActions}\n projectActiveId={this.projectActiveId}\n projectUrlTemplate={this.projectUrlTemplate}\n projectActions={this.projectActions}\n links={this.links}\n onLogout={this.#handleLogout}\n onLegacyActionClick={this.#handleLegacyActionClick}\n onActionClick={this.#handleActionClick}\n onProjectActionClick={this.#handleProjectActionClick}\n onAddProject={this.#handleAddProject}\n />\n );\n }\n}\n\ninterface ElevoSidebarComponentProps extends ElevoSidebarProps {\n onLogout: () => void;\n onActionClick: (detail: ActionClickDetail) => void;\n onLegacyActionClick: (detail: LegacyActionClickDetail) => void;\n onProjectActionClick: (detail: ProjectActionClickDetail) => void;\n onAddProject: () => void;\n}\n\nfunction LegacyElevoSidebarComponent(\n {\n legacy,\n userInstanceId,\n behavior,\n logoUrl,\n newChatUrl,\n newChatLinkWhenCollapsed,\n historyActiveId,\n historyUrlTemplate,\n historyActions,\n projectActiveId,\n projectUrlTemplate,\n projectActions,\n links,\n onLogout,\n onActionClick,\n onLegacyActionClick,\n onProjectActionClick,\n onAddProject,\n }: ElevoSidebarComponentProps,\n ref: React.Ref<ElevoSidebarRef>\n) {\n const [collapsed, setCollapsed] = useState(behavior === \"drawer\");\n const handleCollapse = useCallback(() => {\n setCollapsed(true);\n }, []);\n const handleExpand = useCallback(() => {\n setCollapsed(false);\n }, []);\n\n useEffect(() => {\n if (behavior === \"drawer\") {\n setCollapsed(true);\n }\n }, [behavior]);\n\n const handleClickMask = useCallback(() => {\n setCollapsed(true);\n }, []);\n\n const handleHistoryClick = useCallback(() => {\n if (behavior === \"drawer\") {\n setCollapsed(true);\n }\n }, [behavior]);\n\n const dropdownActions = useMemo<DropdownActionsProps[\"actions\"]>(\n () => [\n {\n key: \"logout\",\n icon: {\n lib: \"fa\",\n prefix: \"fas\",\n icon: \"arrow-right-from-bracket\",\n },\n text: t(K.LOGOUT),\n },\n {\n key: \"switch-language\",\n icon: {\n lib: \"easyops\",\n icon: \"language\",\n },\n text: t(K.SWITCH_LANGUAGE),\n },\n ],\n []\n );\n\n const historyRef = useRef<ChatHistoryRef>(null);\n\n useImperativeHandle(\n ref,\n () => ({\n close: () => {\n setCollapsed(true);\n },\n pull: () => {\n historyRef.current?.pull();\n },\n removeProject: (projectId: string) => {\n historyRef.current?.removeProject?.(projectId);\n },\n addProject: (project: Project) => {\n historyRef.current?.addProject?.(project);\n },\n moveConversation: (conversationId: string) => {\n historyRef.current?.moveConversation?.(conversationId);\n },\n }),\n []\n );\n\n return (\n <div className={classNames(\"container\", { collapsed })}>\n {behavior === \"drawer\" && !collapsed && (\n <div className=\"mask\" onClick={handleClickMask} />\n )}\n <div className=\"alternative\">\n <WrappedIconButton\n icon={SIDEBAR_ICON}\n variant=\"light\"\n onClick={handleExpand}\n />\n {newChatLinkWhenCollapsed && (\n <WrappedLink className=\"new-chat\" url={newChatUrl}>\n <WrappedIcon\n className=\"new-chat-icon\"\n lib=\"easyops\"\n icon=\"new-chat\"\n />\n {t(K.NEW_CHAT)}\n </WrappedLink>\n )}\n </div>\n <div className=\"sidebar\">\n <div className=\"logo-bar\">\n <WrappedLink url={logoUrl} className=\"logo-link\">\n <img\n className=\"logo\"\n alt=\"Elevo\"\n src={ElevoLogo}\n width={95}\n height={28}\n />\n </WrappedLink>\n <WrappedIconButton\n icon={SIDEBAR_ICON}\n variant=\"light\"\n onClick={handleCollapse}\n />\n </div>\n <WrappedLink className=\"new-chat\" url={newChatUrl}>\n <WrappedIcon\n className=\"new-chat-icon\"\n lib=\"easyops\"\n icon=\"new-chat\"\n />\n {t(K.NEW_CHAT)}\n </WrappedLink>\n {links?.length ? (\n <div className=\"links\">\n {links.map((link, index) => (\n <WrappedLink className=\"link\" key={index} url={link.url}>\n <WrappedIcon className=\"icon\" {...link.icon} />\n <span className=\"title\">{link.title}</span>\n </WrappedLink>\n ))}\n </div>\n ) : null}\n {legacy ? (\n <LegacyChatHistory\n ref={historyRef}\n activeId={historyActiveId}\n urlTemplate={historyUrlTemplate}\n actions={historyActions}\n onActionClick={onLegacyActionClick}\n onHistoryClick={handleHistoryClick}\n />\n ) : (\n <ChatHistory\n ref={historyRef}\n historyActiveId={historyActiveId}\n historyUrlTemplate={historyUrlTemplate}\n historyActions={historyActions}\n projectActiveId={projectActiveId}\n projectUrlTemplate={projectUrlTemplate}\n projectActions={projectActions}\n onActionClick={onActionClick}\n onHistoryClick={handleHistoryClick}\n onProjectActionClick={onProjectActionClick}\n onAddProject={onAddProject}\n />\n )}\n <div className=\"footer\">\n <WrappedDropdownActions\n className=\"dropdown\"\n actions={dropdownActions}\n onActionClick={async (e) => {\n if (e.detail.key === \"logout\") {\n onLogout();\n } else {\n await i18n.changeLanguage(\n i18n.language && i18n.language.split(\"-\")[0] === \"en\"\n ? \"zh\"\n : \"en\"\n );\n getHistory().reload();\n }\n }}\n >\n <button className=\"account\">\n <WrappedEasyopsAvatar\n nameOrInstanceId={userInstanceId}\n showName\n size=\"xs\"\n />\n </button>\n </WrappedDropdownActions>\n </div>\n </div>\n </div>\n );\n}\n","import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport styleText from \"./styles.shadow.css\";\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedTooltip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\n\nconst { defineElement, property } = createDecorators();\n\nexport interface IconButtonProps {\n icon?: GeneralIconProps;\n tooltip?: string;\n disabled?: boolean;\n variant?: IconButtonVariant;\n}\n\nexport type IconButtonVariant =\n | \"default\"\n | \"light\"\n | \"mini\"\n | \"mini-light\"\n | \"bordered\";\n\n/**\n * 构件 `ai-portal.icon-button`\n */\nexport\n@defineElement(\"ai-portal.icon-button\", {\n styleTexts: [styleText],\n})\nclass IconButton extends ReactNextElement implements IconButtonProps {\n @property({ attribute: false })\n accessor icon: GeneralIconProps | undefined;\n\n @property()\n accessor tooltip: string | undefined;\n\n @property({ type: Boolean })\n accessor disabled: boolean | undefined;\n\n @property({ render: false })\n accessor variant: IconButtonVariant | undefined;\n\n render() {\n return (\n <IconButtonComponent\n icon={this.icon}\n tooltip={this.tooltip}\n disabled={this.disabled}\n />\n );\n }\n}\n\nfunction IconButtonComponent({ icon, tooltip, disabled }: IconButtonProps) {\n const btn = (\n <button disabled={disabled}>\n <WrappedIcon {...icon} />\n </button>\n );\n\n if (tooltip) {\n return <WrappedTooltip content={tooltip}>{btn}</WrappedTooltip>;\n }\n\n return btn;\n}\n","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n ALL = \"ALL\",\n EXPLORE_EXCELLENT_CASES = \"EXPLORE_EXCELLENT_CASES\",\n}\n\nconst en: Locale = {\n [K.ALL]: \"All\",\n [K.EXPLORE_EXCELLENT_CASES]: \"Explore excellent cases\",\n};\n\nconst zh: Locale = {\n [K.ALL]: \"全部\",\n [K.EXPLORE_EXCELLENT_CASES]: \"探索优秀案例\",\n};\n\nexport const NS = \"bricks/ai-portal/show-cases\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","import React, { useMemo, useState } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport { getBasePath } from \"@next-core/runtime\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\nimport { parseTemplate } from \"../shared/parseTemplate.js\";\nimport type {\n Tab,\n TabList,\n TabListEvents,\n TabListMapping,\n TabListProps,\n} from \"../tab-list/index.js\";\n\ninitializeI18n(NS, locales);\n\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nconst WrappedTabList = wrapBrick<\n TabList,\n TabListProps,\n TabListEvents,\n TabListMapping\n>(\"ai-portal.tab-list\", {\n onTabClick: \"tab.click\",\n});\n\nconst { defineElement, property } = createDecorators();\n\nexport interface ShowCasesProps {\n list?: ShowCase[];\n taskUrlTemplate?: string;\n}\n\nexport interface ShowCase {\n taskId: string;\n title: string;\n summary: string;\n scenario: string;\n thumbUrl?: string;\n}\n\n/**\n * 构件 `ai-portal.show-cases`\n */\nexport\n@defineElement(\"ai-portal.show-cases\", {\n styleTexts: [styleText],\n})\nclass ShowCases extends ReactNextElement implements ShowCasesProps {\n @property({ attribute: false })\n accessor list: ShowCase[] | undefined;\n\n @property()\n accessor taskUrlTemplate: string | undefined;\n\n render() {\n return (\n <ShowCasesComponent\n list={this.list}\n taskUrlTemplate={this.taskUrlTemplate}\n />\n );\n }\n}\n\nfunction ShowCasesComponent({ list, taskUrlTemplate }: ShowCasesProps) {\n // Grouping the list by scenario\n const groups = useMemo<string[]>(() => {\n return [\"\", ...new Set(list?.map((item) => item.scenario).filter(Boolean))];\n }, [list]);\n\n const [activeGroup, setActiveGroup] = useState(\"\");\n\n const filteredList = useMemo(() => {\n if (!activeGroup) {\n return list;\n }\n return list?.filter((item) => item.scenario === activeGroup);\n }, [activeGroup, list]);\n\n const tabs = useMemo<Tab[]>(() => {\n return groups.map((group) => ({\n id: group,\n label: group === \"\" ? t(K.ALL) : group,\n }));\n }, [groups]);\n\n if (!list?.length) {\n return null;\n }\n\n return (\n <>\n <div className=\"tips\">{`${t(K.EXPLORE_EXCELLENT_CASES)} ↓`}</div>\n <WrappedTabList\n tabs={tabs}\n activeTab={activeGroup}\n onTabClick={(event) => setActiveGroup(event.detail.id)}\n />\n <ul className=\"cases\">\n {filteredList?.map((item) => (\n <li key={item.taskId}>\n <WrappedLink\n className=\"link\"\n url={parseTemplate(taskUrlTemplate, item)}\n style={\n item.thumbUrl\n ? {\n backgroundImage: `url(\"${getBasePath()}${item.thumbUrl}\")`,\n }\n : undefined\n }\n >\n <div className=\"title\">{item.title}</div>\n <div className=\"description\">{item.summary}</div>\n </WrappedLink>\n </li>\n ))}\n </ul>\n </>\n );\n}\n","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n MCP_HUB = \"MCP_HUB\",\n ALL = \"ALL\",\n\n SERVER_cmdb = \"SERVER_cmdb\",\n SERVER_cmdb_product_helper = \"SERVER_cmdb_product_helper\",\n SERVER_alert = \"SERVER_alert\",\n SERVER_web_builder = \"SERVER_web_builder\",\n SERVER_web_builder2 = \"SERVER_web_builder2\",\n SERVER_host_troubleshooting = \"SERVER_host_troubleshooting\",\n SERVER_system_inspection = \"SERVER_system_inspection\",\n SERVER_grafana = \"SERVER_grafana\",\n SERVER_kubernetes = \"SERVER_kubernetes\",\n SERVER_llm = \"SERVER_llm\",\n}\n\nconst en: Locale = {\n [K.MCP_HUB]: \"MCP Hub\",\n [K.ALL]: \"All\",\n\n [K.SERVER_cmdb]: \"CMDB\",\n [K.SERVER_cmdb_product_helper]: \"CMDB\",\n [K.SERVER_alert]: \"Alert\",\n [K.SERVER_web_builder]: \"View\",\n [K.SERVER_web_builder2]: \"View\",\n [K.SERVER_host_troubleshooting]: \"Host Troubleshooting\",\n [K.SERVER_system_inspection]: \"System Inspection\",\n [K.SERVER_grafana]: \"Grafana\",\n [K.SERVER_kubernetes]: \"Kubernetes\",\n [K.SERVER_llm]: \"LLM\",\n};\n\nconst zh: Locale = {\n [K.MCP_HUB]: \"MCP 中心\",\n [K.ALL]: \"全部\",\n\n [K.SERVER_cmdb]: \"CMDB\",\n [K.SERVER_cmdb_product_helper]: \"CMDB\",\n [K.SERVER_alert]: \"告警\",\n [K.SERVER_web_builder]: \"视图\",\n [K.SERVER_web_builder2]: \"视图\",\n [K.SERVER_host_troubleshooting]: \"主机故障排查\",\n [K.SERVER_system_inspection]: \"系统巡检\",\n [K.SERVER_grafana]: \"Grafana\",\n [K.SERVER_kubernetes]: \"Kubernetes\",\n [K.SERVER_llm]: \"大模型\",\n};\n\nexport const NS = \"bricks/ai-portal/mcp-tools\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","import React, { useMemo, useState } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\nimport type {\n Tab,\n TabList,\n TabListEvents,\n TabListMapping,\n TabListProps,\n} from \"../tab-list/index.js\";\n\ninitializeI18n(NS, locales);\n\nconst DEFAULT_TOOL_ICON: GeneralIconProps = {\n lib: \"antd\",\n icon: \"tool\",\n};\n\nconst PLATFORM_CONFIG = new Map([\n [\n \"EasyOps平台\",\n {\n servers: [\"cmdb\", \"cmdb_product_helper\"],\n },\n ],\n [\n \"Grafana\",\n {\n servers: [\"grafana\"],\n },\n ],\n [\n \"Kubernetes\",\n {\n servers: [\"kubernetes\"],\n },\n ],\n [\n \"监控事件\",\n {\n servers: [\"alert\"],\n },\n ],\n [\n \"浏览器\",\n {\n servers: [\"playwright\"],\n },\n ],\n [\n \"低代码\",\n {\n servers: [\"web-builder\", \"web-builder2\"],\n },\n ],\n [\n \"大模型\",\n {\n servers: [\"llm\"],\n },\n ],\n [\n \"故障排查\",\n {\n servers: [\"host-troubleshooting\"],\n },\n ],\n]);\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedTabList = wrapBrick<\n TabList,\n TabListProps,\n TabListEvents,\n TabListMapping\n>(\"ai-portal.tab-list\", {\n onTabClick: \"tab.click\",\n});\n\nconst { defineElement, property } = createDecorators();\n\nexport interface McpToolsProps {\n list?: McpTool[];\n /** @deprecated */\n withContainer?: boolean;\n}\n\nexport interface McpTool {\n name: string;\n title: string;\n description: string;\n icon?: GeneralIconProps;\n server: McpServer;\n}\n\nexport interface McpServer {\n id: string;\n name: string;\n}\n\n/**\n * 构件 `ai-portal.mcp-tools`\n */\nexport\n@defineElement(\"ai-portal.mcp-tools\", {\n styleTexts: [styleText],\n})\nclass McpTools extends ReactNextElement implements McpToolsProps {\n @property({ attribute: false })\n accessor list: McpTool[] | undefined;\n\n /** @deprecated */\n @property({ type: Boolean })\n accessor withContainer = true;\n\n render() {\n return (\n <McpToolsComponent list={this.list} withContainer={this.withContainer} />\n );\n }\n}\n\nfunction McpToolsComponent({ list, withContainer }: McpToolsProps) {\n // Grouping the list by server name\n const [groupMap, platformMap] = useMemo(() => {\n const map = new Map<string, McpTool[]>();\n const platformMap = new Map<string, string[]>();\n list?.forEach((item) => {\n const groupName = t(\n `SERVER_${item.server.id.replaceAll(\"-\", \"_\")}`,\n item.server.name\n );\n let list = map.get(groupName);\n if (!list) {\n map.set(groupName, (list = []));\n }\n list.push(item);\n\n const platform = [...PLATFORM_CONFIG.entries()].find(\n ([_name, { servers }]) => servers.includes(item.server.id)\n );\n const platformName = platform ? platform[0] : \"其他\";\n let groups = platformMap.get(platformName);\n if (!groups) {\n platformMap.set(platformName, (groups = []));\n }\n groups.push(groupName);\n });\n\n const orderedNames = [\"CMDB\"];\n const orderedMap = new Map<string, McpTool[]>(\n [...map.entries()].sort(([nameA], [nameB]) => {\n const indexA = orderedNames.indexOf(nameA);\n const indexB = orderedNames.indexOf(nameB);\n return (\n (indexA < 0 ? orderedNames.length : indexA) -\n (indexB < 0 ? orderedNames.length : indexB)\n );\n })\n );\n\n return [orderedMap, platformMap];\n }, [list]);\n\n const platforms = useMemo(() => {\n const orderedNames = [...PLATFORM_CONFIG.keys()];\n const names = [...platformMap.keys()];\n names.sort((a, b) => {\n const aIndex = orderedNames.indexOf(a);\n const bIndex = orderedNames.indexOf(b);\n return (\n (aIndex < 0 ? orderedNames.length : aIndex) -\n (bIndex < 0 ? orderedNames.length : bIndex)\n );\n });\n return [\"\", ...names];\n }, [platformMap]);\n\n const [activePlatform, setActivePlatform] = useState(\"\");\n\n const filteredGroups = useMemo(() => {\n const groupedList = [...groupMap];\n if (!activePlatform) {\n return groupedList;\n }\n const platformGroups = platformMap.get(activePlatform);\n return groupedList.filter(([group]) => platformGroups?.includes(group));\n }, [activePlatform, groupMap, platformMap]);\n\n const tabs = useMemo<Tab[]>(() => {\n return platforms.map((platform) => ({\n id: platform,\n label: platform === \"\" ? t(K.ALL) : platform,\n }));\n }, [platforms]);\n\n const node = (\n <>\n <WrappedTabList\n tabs={tabs}\n activeTab={activePlatform}\n onTabClick={(event) => setActivePlatform(event.detail.id)}\n />\n <ul className=\"groups\">\n {filteredGroups?.map(([groupName, items]) => (\n <li key={groupName} className=\"group\">\n <h2>{groupName}</h2>\n <ul className=\"list\">\n {items.map((item, index) => (\n <li key={index} className=\"item\">\n <div className=\"heading\">\n <WrappedIcon\n className=\"icon\"\n {...(item.icon ?? DEFAULT_TOOL_ICON)}\n fallback={DEFAULT_TOOL_ICON}\n />\n <div className=\"title\">{item.title}</div>\n </div>\n <div className=\"description\">{item.description}</div>\n </li>\n ))}\n </ul>\n </li>\n ))}\n </ul>\n </>\n );\n\n if (!withContainer) {\n return node;\n }\n\n return (\n <div className=\"container\">\n <h1>{t(K.MCP_HUB)}</h1>\n {node}\n </div>\n );\n}\n","// istanbul ignore file: experimental\nimport React, { createRef, forwardRef } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport { NS, locales } from \"./i18n.js\";\nimport type { FeedbackDetail } from \"../cruise-canvas/interfaces.js\";\nimport { LegacyChatStreamComponent } from \"./LegacyChatStream.js\";\nimport { ChatStreamComponent } from \"./ChatStream.js\";\nimport type { RequestStore } from \"../shared/interfaces.js\";\n\ninitializeI18n(NS, locales);\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport interface ChatStreamProps {\n conversationId?: string;\n initialRequest?: RequestStore | null;\n taskId?: string;\n replay?: boolean;\n replayDelay?: number;\n supports?: Record<string, boolean>;\n showFeedback?: boolean;\n showFeedbackAfterFailed?: boolean;\n showFeedbackOnView?: boolean;\n showUiSwitch?: boolean;\n}\n\nconst ForwardedLegacyChatStreamComponent = forwardRef(\n LegacyChatStreamComponent\n);\n\nconst ForwardedChatStreamComponent = forwardRef(ChatStreamComponent);\n\n/**\n * 构件 `ai-portal.chat-stream`\n */\nexport\n@defineElement(\"ai-portal.chat-stream\", {\n // Will wrap v2 bricks which don't support in shadow DOM.\n shadowOptions: false,\n})\nclass ChatStream extends ReactNextElement implements ChatStreamProps {\n @property()\n accessor conversationId: string | undefined;\n\n /** 初始请求数据。仅初始设置有效。 */\n @property({ attribute: false, render: false })\n accessor initialRequest: RequestStore | undefined | null;\n\n @property()\n accessor taskId: string | undefined;\n\n /** 是否启用回放。仅初始设置有效。 */\n @property({ type: Boolean })\n accessor replay: boolean | undefined;\n\n /**\n * 设置回放时消息之间的时间间隔,单位为秒。仅初始设置有效。\n *\n * @default 2\n */\n @property({ type: Number })\n accessor replayDelay: number | undefined;\n\n @property({ attribute: false })\n accessor supports: Record<string, boolean> | undefined;\n\n @property({ type: Boolean })\n accessor showFeedback: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showFeedbackAfterFailed: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showFeedbackOnView: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showUiSwitch: boolean | undefined;\n\n @property({ type: Boolean, render: false })\n accessor hideMermaid: boolean | undefined;\n\n @event({ type: \"share\" })\n accessor #shareEvent!: EventEmitter<void>;\n\n #onShare = () => {\n this.#shareEvent.emit();\n };\n\n @event({ type: \"terminate\" })\n accessor #terminateEvent!: EventEmitter<void>;\n\n #onTerminate = () => {\n this.#terminateEvent.emit();\n };\n\n @event({ type: \"feedback.submit\" })\n accessor #feedbackSubmitEvent!: EventEmitter<FeedbackDetail>;\n\n #onSubmitFeedback = (detail: FeedbackDetail) => {\n this.#feedbackSubmitEvent.emit(detail);\n };\n\n @event({ type: \"feedback.on.view\" })\n accessor #feedbackOnViewEvent!: EventEmitter<string>;\n\n #onFeedbackOnView = (viewId: string) => {\n this.#feedbackOnViewEvent.emit(viewId);\n };\n\n @event({ type: \"ui.switch\" })\n accessor #switch!: EventEmitter<\"canvas\">;\n\n #onSwitchToCanvas = () => {\n this.#switch.emit(\"canvas\");\n };\n\n #ref = createRef<ChatStreamRef>();\n\n @method()\n resumed() {\n this.#ref.current?.resumed?.();\n }\n\n @method()\n feedbackSubmitDone() {\n this.#ref.current?.feedbackSubmitDone();\n }\n\n @method()\n feedbackSubmitFailed() {\n this.#ref.current?.feedbackSubmitFailed();\n }\n\n @method()\n feedbackOnViewDone(viewId: string) {\n this.#ref.current?.feedbackOnViewDone(viewId);\n }\n\n render() {\n const Component = this.conversationId\n ? ForwardedChatStreamComponent\n : ForwardedLegacyChatStreamComponent;\n return (\n <Component\n conversationId={this.conversationId!}\n initialRequest={this.initialRequest}\n taskId={this.taskId}\n replay={this.replay}\n replayDelay={this.replayDelay}\n supports={this.supports}\n showFeedback={this.showFeedback}\n showFeedbackAfterFailed={this.showFeedbackAfterFailed}\n showFeedbackOnView={this.showFeedbackOnView}\n showUiSwitch={this.showUiSwitch}\n onShare={this.#onShare}\n onTerminate={this.#onTerminate}\n onSubmitFeedback={this.#onSubmitFeedback}\n onSwitchToCanvas={this.#onSwitchToCanvas}\n onFeedbackOnView={this.#onFeedbackOnView}\n />\n );\n }\n}\n\nexport interface ChatStreamRef {\n resumed?: () => void;\n feedbackSubmitDone: () => void;\n feedbackSubmitFailed: () => void;\n feedbackOnViewDone: (viewId: string) => void;\n}\n","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n AI_EMPLOYEES = \"AI_EMPLOYEES\",\n UNTITLED = \"UNTITLED\",\n}\n\nconst en: Locale = {\n AI_EMPLOYEES: \"AI Employees\",\n UNTITLED: \"Untitled\",\n};\n\nconst zh: Locale = {\n AI_EMPLOYEES: \"Ai 数字人\",\n UNTITLED: \"未命名\",\n};\n\nexport const NS = \"bricks/ai-portal/ai-employees\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","import React, { useMemo, useState } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport classNames from \"classnames\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\nimport { parseTemplate } from \"../shared/parseTemplate.js\";\nimport type {\n Tab,\n TabList,\n TabListEvents,\n TabListMapping,\n TabListProps,\n} from \"../tab-list/index.js\";\n\ninitializeI18n(NS, locales);\n\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedTabList = wrapBrick<\n TabList,\n TabListProps,\n TabListEvents,\n TabListMapping\n>(\"ai-portal.tab-list\", {\n onTabClick: \"tab.click\",\n});\n\nconst { defineElement, property } = createDecorators();\n\nexport interface AIEmployeesProps {\n list?: Employee[];\n industries?: string[];\n // roles?: string[];\n urlTemplate?: string;\n /** @deprecated */\n withContainer?: boolean;\n}\n\nexport interface Employee {\n name: string;\n industry: string;\n role: string;\n description: string;\n avatar?: string;\n}\n\n/**\n * 构件 `ai-portal.ai-employees`\n */\nexport\n@defineElement(\"ai-portal.ai-employees\", {\n styleTexts: [styleText],\n})\nclass AIEmployees extends ReactNextElement implements AIEmployeesProps {\n @property({ attribute: false })\n accessor list: Employee[] | undefined;\n\n @property({ attribute: false })\n accessor industries: string[] | undefined;\n\n // @property({ attribute: false })\n // accessor roles: string[] | undefined;\n\n @property()\n accessor urlTemplate: string | undefined;\n\n /** @deprecated */\n @property({ type: Boolean })\n accessor withContainer = true;\n\n render() {\n return (\n <AIEmployeesComponent\n list={this.list}\n industries={this.industries}\n urlTemplate={this.urlTemplate}\n withContainer={this.withContainer}\n />\n );\n }\n}\n\nfunction AIEmployeesComponent({\n list,\n industries: _industries,\n urlTemplate,\n withContainer,\n}: AIEmployeesProps) {\n const industries = useMemo(() => {\n return [\n ...new Set([\n ...(_industries ?? []),\n ...(list ?? []).map((item) => item.industry),\n ]),\n ];\n }, [_industries, list]);\n\n const [activeIndustry, setActiveIndustry] = useState(industries[0]);\n\n // Grouping the list by role\n const groups = useMemo(() => {\n const map = new Map<string, Employee[]>();\n list?.forEach((item) => {\n if (item.industry !== activeIndustry) {\n return;\n }\n let array = map.get(item.role);\n if (!array) {\n map.set(item.role, (array = []));\n }\n array.push(item);\n });\n return [...map.entries()];\n }, [activeIndustry, list]);\n\n const tabs = useMemo<Tab[]>(() => {\n return industries.map((industry) => ({\n id: industry,\n label: industry || t(K.UNTITLED),\n }));\n }, [industries]);\n\n const node = (\n <>\n <WrappedTabList\n tabs={tabs}\n activeTab={activeIndustry}\n onTabClick={(event) => setActiveIndustry(event.detail.id)}\n />\n <ul className=\"groups\">\n {groups.map(([groupName, items]) => (\n <li key={groupName} className=\"group\">\n <h2>{groupName}</h2>\n <ul className=\"list\">\n {items.map((item, index) => (\n <li key={index}>\n <WrappedLink\n className={classNames(\"link\", { clickable: !!urlTemplate })}\n {...(urlTemplate\n ? { url: parseTemplate(urlTemplate, item) }\n : null)}\n >\n <div className=\"heading\">\n <div className=\"avatar\">\n {item.avatar ? (\n <img src={item.avatar} />\n ) : (\n <WrappedIcon lib=\"antd\" icon=\"user\" />\n )}\n </div>\n <div className=\"title\">{item.name}</div>\n </div>\n <div className=\"description\">{item.description}</div>\n </WrappedLink>\n </li>\n ))}\n </ul>\n </li>\n ))}\n </ul>\n </>\n );\n\n if (!withContainer) {\n return node;\n }\n\n return (\n <div className=\"container\">\n <h1>{t(K.AI_EMPLOYEES)}</h1>\n {node}\n </div>\n );\n}\n","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n AGENTS = \"AGENTS\",\n}\n\nconst en: Locale = {\n AGENTS: \"Agents\",\n};\n\nconst zh: Locale = {\n AGENTS: \"智能体\",\n};\n\nexport const NS = \"bricks/ai-portal/ai-agents\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport classNames from \"classnames\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\nimport { parseTemplate } from \"../shared/parseTemplate.js\";\n\nconst DEFAULT_TOOL_ICON: GeneralIconProps = {\n lib: \"antd\",\n icon: \"tool\",\n};\n\ninitializeI18n(NS, locales);\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\n\nconst { defineElement, property } = createDecorators();\n\nexport interface AIAgentsProps {\n list?: Agent[];\n urlTemplate?: string;\n /** @deprecated */\n withContainer?: boolean;\n}\n\nexport interface Agent {\n name: string;\n description: string;\n icon?: GeneralIconProps;\n tags?: string[];\n}\n\n/**\n * 构件 `ai-portal.ai-agents`\n */\nexport\n@defineElement(\"ai-portal.ai-agents\", {\n styleTexts: [styleText],\n})\nclass AIAgents extends ReactNextElement implements AIAgentsProps {\n @property({ attribute: false })\n accessor list: Agent[] | undefined;\n\n @property()\n accessor urlTemplate: string | undefined;\n\n /** @deprecated */\n @property({ type: Boolean })\n accessor withContainer = true;\n\n render() {\n return (\n <AIAgentsComponent\n list={this.list}\n urlTemplate={this.urlTemplate}\n withContainer={this.withContainer}\n />\n );\n }\n}\n\nfunction AIAgentsComponent({\n list,\n urlTemplate,\n withContainer,\n}: AIAgentsProps) {\n const node = (\n <>\n <ul className=\"list\">\n {list?.map((item, index) => (\n <li key={index}>\n <WrappedLink\n className={classNames(\"link\", { clickable: !!urlTemplate })}\n {...(urlTemplate\n ? { url: parseTemplate(urlTemplate, item) }\n : null)}\n >\n <div className=\"heading\">\n <div className=\"icon\">\n <WrappedIcon\n {...(item.icon ?? DEFAULT_TOOL_ICON)}\n fallback={DEFAULT_TOOL_ICON}\n />\n </div>\n <div className=\"title\">{item.name}</div>\n </div>\n <div className=\"tags\">\n {item.tags?.map((tag, tagIndex) => (\n <span key={tagIndex} className=\"tag\">\n {tag}\n </span>\n ))}\n </div>\n <div className=\"description\">{item.description}</div>\n </WrappedLink>\n </li>\n ))}\n </ul>\n </>\n );\n\n if (!withContainer) {\n return node;\n }\n\n return (\n <div className=\"container\">\n <h1>{t(K.AGENTS)}</h1>\n {node}\n </div>\n );\n}\n","import { createProviderClass } from \"@next-core/utils/general\";\nimport type { RequestStore } from \"../shared/interfaces\";\n\nlet store: RequestStore | null = null;\n\nexport function saveRequestStore(value: RequestStore): void {\n store = value;\n}\n\nexport function loadRequestStore(): RequestStore | null {\n const value = store;\n store = null;\n return value;\n}\n\nexport function clearRequestStore(): void {\n store = null;\n}\n\ncustomElements.define(\n \"ai-portal.save-request-store\",\n createProviderClass(saveRequestStore)\n);\n\ncustomElements.define(\n \"ai-portal.load-request-store\",\n createProviderClass(loadRequestStore)\n);\n\ncustomElements.define(\n \"ai-portal.clear-request-store\",\n createProviderClass(clearRequestStore)\n);\n","import React, { useEffect } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { getRuntime } from \"@next-core/runtime\";\nimport \"@next-core/theme\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport styleText from \"./styles.shadow.css\";\n\nexport const WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\n\nconst { defineElement, property } = createDecorators();\n\nexport interface PageContainerProps {\n pageTitle?: string;\n breadcrumbs?: Breadcrumb[];\n size?: \"medium\" | \"small\";\n}\n\nexport interface Breadcrumb {\n text: string;\n url: string;\n}\n\n/**\n * 构件 `ai-portal.page-container`\n *\n * @slot - 内容\n * @slot toolbar - 工具栏\n */\nexport\n@defineElement(\"ai-portal.page-container\", {\n styleTexts: [styleText],\n})\nclass PageContainer extends ReactNextElement implements PageContainerProps {\n @property()\n accessor pageTitle: string | undefined;\n\n @property({ attribute: false })\n accessor breadcrumbs: Breadcrumb[] | undefined;\n\n @property({ render: false })\n accessor size: \"medium\" | \"small\" | undefined;\n\n render() {\n return (\n <PageContainerComponent\n pageTitle={this.pageTitle}\n breadcrumbs={this.breadcrumbs}\n />\n );\n }\n}\n\nfunction PageContainerComponent({\n breadcrumbs,\n pageTitle,\n}: PageContainerProps) {\n useEffect(() => {\n if (typeof pageTitle === \"string\") {\n getRuntime().applyPageTitle(pageTitle);\n }\n }, [pageTitle]);\n\n return (\n <div className=\"container\">\n {pageTitle || breadcrumbs?.length ? (\n <div className=\"header\">\n <nav>\n {breadcrumbs?.length ? (\n <ul className=\"breadcrumbs\">\n {breadcrumbs.map((item, index) => (\n <li key={index}>\n <WrappedLink url={item.url}>{item.text}</WrappedLink>\n </li>\n ))}\n </ul>\n ) : null}\n {pageTitle ? <h1>{pageTitle}</h1> : null}\n </nav>\n <slot name=\"toolbar\" />\n </div>\n ) : null}\n <slot />\n </div>\n );\n}\n","export const NS_LIBS_DATETIME = \"libs-datetime\";\n\nexport enum K {\n TODAY = \"TODAY\",\n YESTERDAY = \"YESTERDAY\",\n FUTURE_AFTER = \"FUTURE_AFTER\",\n FORMAT_MEDIUM_DATETIME = \"FORMAT_MEDIUM_DATETIME\",\n FORMAT_MEDIUM_DATE = \"FORMAT_MEDIUM_DATE\",\n FORMAT_SHORT_DATETIME = \"FORMAT_SHORT_DATETIME\",\n FORMAT_SHORT_DATE = \"FORMAT_SHORT_DATE\",\n FORMAT_SHORT_DAY_DATETIME = \"FORMAT_SHORT_DAY_DATETIME\",\n FORMAT_SHORT_DAY_DATE = \"FORMAT_SHORT_DAY_DATE\",\n SECONDS = \"SECONDS\",\n MILL_SECONDS = \"MILL_SECONDS\",\n MINUTES = \"MINUTES\",\n HOURS = \"HOURS\",\n DAYS = \"DARS\",\n MONTHS = \"MONTHS\",\n}\n\nexport type Locale = { [key in K]: string };\n","import { Locale, K } from \"../constants.js\";\n\nconst locale: Locale = {\n [K.YESTERDAY]: \"Yesterday\",\n [K.TODAY]: \"Today\",\n [K.FUTURE_AFTER]: \"After {{time}}\",\n [K.FORMAT_MEDIUM_DATETIME]: \"LLL\",\n [K.FORMAT_MEDIUM_DATE]: \"LL\",\n [K.FORMAT_SHORT_DATETIME]: \"MMM D ah:mm\",\n [K.FORMAT_SHORT_DATE]: \"MMM D\",\n [K.FORMAT_SHORT_DAY_DATETIME]: \"MMM D HH:mm\",\n [K.FORMAT_SHORT_DAY_DATE]: \"MMM D\",\n [K.MONTHS]: \"months\",\n [K.HOURS]: \"hours\",\n [K.SECONDS]: \"seconds\",\n [K.MILL_SECONDS]: \"millseconds\",\n [K.DAYS]: \"days\",\n [K.MINUTES]: \"minutes\",\n};\n\nexport default locale;\n","import { Locale, K } from \"../constants.js\";\n\nconst locale: Locale = {\n [K.YESTERDAY]: \"昨天\",\n [K.TODAY]: \"今天\",\n [K.FUTURE_AFTER]: \"{{time}}后\",\n [K.FORMAT_MEDIUM_DATETIME]: \"LL ah:mm\",\n [K.FORMAT_MEDIUM_DATE]: \"LL\",\n [K.FORMAT_SHORT_DATETIME]: \"MMMD日 ah:mm\",\n [K.FORMAT_SHORT_DATE]: \"MMMD日\",\n [K.FORMAT_SHORT_DAY_DATETIME]: \"MMMD日 HH:mm\",\n [K.FORMAT_SHORT_DAY_DATE]: \"MMMD日\",\n [K.MONTHS]: \"个月\",\n [K.HOURS]: \"小时\",\n [K.SECONDS]: \"秒\",\n [K.MILL_SECONDS]: \"毫秒\",\n [K.DAYS]: \"天\",\n [K.MINUTES]: \"分钟\",\n};\n\nexport default locale;\n","import { initializeI18n } from \"@next-core/i18n\";\nimport { NS_LIBS_DATETIME } from \"./constants.js\";\nimport en from \"./locales/en.js\";\nimport zh from \"./locales/zh.js\";\n\nexport function addResourceBundle(): void {\n initializeI18n(NS_LIBS_DATETIME, { en, zh });\n}\n","import moment from \"moment\";\nimport { i18n } from \"@next-core/i18n\";\nimport { NS_LIBS_DATETIME, K } from \"./i18n/constants.js\";\nimport { addResourceBundle } from \"./i18n/index.js\";\n\naddResourceBundle();\n\nconst TIME_OFFSET = 0;\n\nexport enum HumanizeTimeFormat {\n full = \"full\",\n default = \"default\",\n relative = \"relative\",\n past = \"past\",\n future = \"future\",\n accurate = \"accurate\",\n auto = \"auto\",\n}\n\nexport const humanizeTime = (\n time: moment.MomentInput,\n format: HumanizeTimeFormat = HumanizeTimeFormat.auto,\n /** 默认为 \"datetime\" */\n type?: \"datetime\" | \"date\"\n): string | null => {\n if (\n time === undefined ||\n time === null ||\n time === -Infinity ||\n time === Infinity\n ) {\n return null;\n }\n const m = moment(time);\n const now = moment().add(TIME_OFFSET);\n const fFull = type === \"date\" ? \"LL\" : \"LL HH:mm\";\n const fMedium = i18n.t(\n `${NS_LIBS_DATETIME}:${type === \"date\" ? K.FORMAT_MEDIUM_DATE : K.FORMAT_MEDIUM_DATETIME}`\n );\n const fShort = i18n.t(\n `${NS_LIBS_DATETIME}:${type === \"date\" ? K.FORMAT_SHORT_DATE : K.FORMAT_SHORT_DATETIME}`\n );\n const fShort24 = i18n.t(\n `${NS_LIBS_DATETIME}:${type === \"date\" ? K.FORMAT_SHORT_DAY_DATE : K.FORMAT_SHORT_DAY_DATETIME}`\n );\n const fDefault = type === \"date\" ? \"LL\" : \"LL HH:mm:ss\";\n const fHourMinute = \"HH:mm\";\n let text;\n\n /* 用于精确显示时间的参数\n * 今天与昨天,显示:今天(昨天)x:x的格式,如:今天12:21、昨天16:33\n * 昨天以前的时间,显示:x月x日x时:x分,如:11月23日11:22\n * 今年以前的时间,显示:x年x月x日x时:x分,如:2016年11月11日11:11\n */\n const getAccurateTime = () => {\n const diff = +m.diff(now, \"days\", true).toFixed(1);\n let _text = \"\";\n const retVal =\n m.year() < now.year()\n ? \"lastYear\"\n : diff < -2 || m.isBefore(now.clone().add(-1, \"day\"), \"day\")\n ? \"twoDaysBefore\"\n : m.isSame(now.clone().add(-1, \"day\"), \"day\")\n ? \"yesterday\"\n : m.isSame(now, \"day\")\n ? \"sameDay\"\n : diff < 2 && m.isSame(now.clone().add(1, \"day\"), \"day\")\n ? \"nextDay\"\n : diff < 7\n ? \"nextWeek\"\n : \"default\";\n switch (retVal) {\n case \"sameDay\":\n case \"yesterday\":\n _text = `${i18n.t(`${NS_LIBS_DATETIME}:${retVal === \"yesterday\" ? K.YESTERDAY : K.TODAY}`)}${\n type === \"date\" ? \"\" : ` ${m.format(fHourMinute)}`\n }`;\n break;\n case \"lastYear\":\n _text = m.format(fFull);\n break;\n case \"twoDaysBefore\":\n _text = m.format(fShort24);\n break;\n default:\n _text = m.format(fFull);\n }\n\n return _text;\n };\n\n switch (format) {\n case HumanizeTimeFormat.full:\n text = m.format(fFull);\n break;\n case HumanizeTimeFormat.default:\n text = m.format(fDefault);\n break;\n case HumanizeTimeFormat.relative: {\n const diff = +m - +now;\n text =\n diff <= 0\n ? moment.duration(diff).humanize(true)\n : i18n.t(`${NS_LIBS_DATETIME}:${K.FUTURE_AFTER}`, {\n time: moment.duration(diff).humanize(),\n });\n break;\n }\n case HumanizeTimeFormat.past:\n text = moment.duration(Math.min(+m - +now, 0)).humanize(true);\n break;\n case HumanizeTimeFormat.future:\n text = i18n.t(`${NS_LIBS_DATETIME}:${K.FUTURE_AFTER}`, {\n time: moment.duration(Math.max(+m - +now, 0)).humanize(),\n });\n break;\n case HumanizeTimeFormat.accurate:\n text = getAccurateTime();\n break;\n default:\n text = m.format(m.year() === now.year() ? fShort : fMedium);\n }\n return text;\n};\n","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n CHATS = \"CHATS\",\n GOALS = \"GOALS\",\n}\n\nconst en: Locale = {\n [K.CHATS]: \"Chat history\",\n [K.GOALS]: \"Project goals\",\n};\n\nconst zh: Locale = {\n [K.CHATS]: \"历史对话\",\n [K.GOALS]: \"项目目标\",\n};\n\nexport const NS = \"bricks/ai-portal/project-summary\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","import React, { useState } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { humanizeTime, HumanizeTimeFormat } from \"@next-shared/datetime\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\nimport { parseTemplate } from \"../shared/parseTemplate.js\";\nimport type {\n Tab,\n TabList,\n TabListEvents,\n TabListMapping,\n TabListProps,\n} from \"../tab-list/index.js\";\n\ninitializeI18n(NS, locales);\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nconst WrappedTabList = wrapBrick<\n TabList,\n TabListProps,\n TabListEvents,\n TabListMapping\n>(\"ai-portal.tab-list\", {\n onTabClick: \"tab.click\",\n});\n\nconst TAB_ID_CHATS = \"chats\";\nconst TAB_ID_GOALS = \"goals\";\n\nconst TABS: Tab[] = [\n {\n id: TAB_ID_CHATS,\n label: t(K.CHATS),\n },\n {\n id: TAB_ID_GOALS,\n label: t(K.GOALS),\n },\n];\n\nconst { defineElement, property } = createDecorators();\n\nexport interface ProjectSummaryProps {\n chatList?: Chat[];\n chatUrlTemplate?: string;\n}\n\nexport interface Chat {\n conversationId: string;\n title: string;\n startTime: number;\n}\n\n/**\n * 构件 `ai-portal.project-summary`\n */\nexport\n@defineElement(\"ai-portal.project-summary\", {\n styleTexts: [styleText],\n})\nclass ProjectSummary extends ReactNextElement implements ProjectSummaryProps {\n @property({ attribute: false })\n accessor chatList: Chat[] | undefined;\n\n @property()\n accessor chatUrlTemplate: string | undefined;\n\n render() {\n return (\n <ProjectSummaryComponent\n chatList={this.chatList}\n chatUrlTemplate={this.chatUrlTemplate}\n />\n );\n }\n}\n\nfunction ProjectSummaryComponent({\n chatList,\n chatUrlTemplate,\n}: ProjectSummaryProps) {\n const [activeTab, setActiveTab] = useState(TAB_ID_CHATS);\n return (\n <>\n <WrappedTabList\n tabs={TABS}\n activeTab={activeTab}\n onTabClick={(event) => setActiveTab(event.detail.id)}\n />\n {activeTab === TAB_ID_CHATS ? (\n chatList ? (\n <ul className=\"chats\">\n {chatList.map((item) => (\n <li key={item.conversationId} className=\"item\">\n <WrappedLink\n className=\"link\"\n url={parseTemplate(chatUrlTemplate, item)}\n >\n <div className=\"title\">{item.title}</div>\n <div className=\"time\">\n <WrappedIcon lib=\"antd\" icon=\"clock-circle\" />\n {humanizeTime(item.startTime, HumanizeTimeFormat.relative)}\n </div>\n </WrappedLink>\n </li>\n ))}\n </ul>\n ) : (\n <div className=\"loading\">\n <WrappedIcon lib=\"antd\" icon=\"loading-3-quarters\" spinning />\n </div>\n )\n ) : null}\n </>\n );\n}\n","import React from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport classNames from \"classnames\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement, property, event } = createDecorators();\n\nexport interface TabListProps {\n tabs?: Tab[];\n activeTab?: string;\n}\n\nexport interface Tab {\n id: string;\n label: string;\n}\n\nexport interface TabListEvents {\n \"tab.click\": CustomEvent<Tab>;\n}\n\nexport interface TabListMapping {\n onTabClick: \"tab.click\";\n}\n\n/**\n * 构件 `ai-portal.tab-list`\n *\n * @part tabs - The tab list container\n * @part tab - The individual tab\n */\nexport\n@defineElement(\"ai-portal.tab-list\", {\n styleTexts: [styleText],\n})\nclass TabList extends ReactNextElement implements TabListProps {\n @property({ attribute: false })\n accessor tabs: Tab[] | undefined;\n\n @property({ attribute: false })\n accessor activeTab: string | undefined;\n\n @event({ type: \"tab.click\" })\n accessor #tabClick!: EventEmitter<Tab>;\n\n #handleTabClick = (tab: Tab) => {\n this.activeTab = tab.id;\n this.#tabClick.emit(tab);\n };\n\n render() {\n return (\n <TabListComponent\n tabs={this.tabs}\n activeTab={this.activeTab}\n onTabClick={this.#handleTabClick}\n />\n );\n }\n}\n\ninterface TabListComponentProps extends TabListProps {\n onTabClick: (tab: Tab) => void;\n}\n\nfunction TabListComponent({\n tabs,\n activeTab,\n onTabClick,\n}: TabListComponentProps) {\n return (\n <ul className=\"tabs\" part=\"tabs\">\n {tabs?.map((tab) => (\n <li\n key={tab.id}\n part=\"tab\"\n className={classNames(\"tab\", { active: tab.id === activeTab })}\n >\n <a onClick={() => onTabClick(tab)}>{tab.label}</a>\n </li>\n ))}\n </ul>\n );\n}\n","// istanbul ignore file: mock\nimport { createProviderClass } from \"@next-core/utils/general\";\nimport { InstanceApi_postSearchV3 } from \"@next-api-sdk/cmdb-sdk\";\nimport { http } from \"@next-core/http\";\n\nexport async function entitySdkList(\n workspace: string,\n entity: string,\n params?: any\n): Promise<unknown> {\n if (!workspace) {\n throw new Error(\"Workspace is required for Entity SDK.\");\n }\n if (entity === \"HOST_METRIC\") {\n return (\n await http.post<{ data: unknown }>(\n \"api/gateway/data_exchange.olap.Query/api/v1/data_exchange/olap\",\n {\n model: \"easyops.HOST\",\n filters: convertQueryToFilters(params?.query),\n dims: [\"time(auto)\"],\n measures: convertFieldsToMeasures(params?.fields),\n }\n )\n ).data;\n }\n return InstanceApi_postSearchV3(entity, params);\n}\n\nconst OPERATOR_MAP = new Map([\n [\"$eq\", \"==\"],\n [\"$ne\", \"!=\"],\n [\"$gt\", \">\"],\n [\"$lt\", \"<\"],\n [\"$gte\", \">=\"],\n [\"$lte\", \"<=\"],\n]);\n\nfunction convertQueryToFilters(query: any): any[] {\n return Object.entries(query || {}).flatMap(([name, condition]) => {\n return Object.entries(condition || {}).map(([op, value]) => {\n const operator = OPERATOR_MAP.get(op);\n if (!operator) {\n throw new Error(`Unsupported operator: \"${op}\"`);\n }\n return { name, operator, value };\n });\n });\n}\n\nfunction convertFieldsToMeasures(\n fields: string[] | undefined\n): any[] | undefined {\n return fields?.map((field) => ({\n function: {\n args: [field],\n expression: \"avg\",\n },\n name: field,\n }));\n}\n\ncustomElements.define(\n \"ai-portal.entity-sdk-list\",\n createProviderClass(entitySdkList)\n);\n","// istanbul ignore file: mock\nimport { createProviderClass } from \"@next-core/utils/general\";\nimport { InstanceApi_getDetail } from \"@next-api-sdk/cmdb-sdk\";\n\nexport async function entitySdkGet(\n workspace: string,\n entity: string,\n id: string\n): Promise<unknown> {\n if (!workspace) {\n throw new Error(\"Workspace is required for Entity SDK.\");\n }\n return InstanceApi_getDetail(entity, id, {});\n}\n\ncustomElements.define(\n \"ai-portal.entity-sdk-get\",\n createProviderClass(entitySdkGet)\n);\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.tabs{list-style:none;padding:0;margin:0;display:flex;font-size:16px}.tabs .tab + .tab{margin-left:32px}.tabs a{color:rgba(38,38,38,0.65);cursor:pointer}.tabs .active a{color:#262626;font-weight:500}.tabs .active a::after{content:\"\";display:block;width:100%;height:4px;background-color:currentColor;border-radius:2px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../page-container/images/background.png\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}:host([with-container]){position:relative;width:100%;height:100%;overflow:hidden;background-color:rgb(205,206,207);background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-size:cover;background-repeat:no-repeat;background-position:center;background-attachment:fixed;color:#262626;padding:48px 24px;overflow-y:auto}*{box-sizing:border-box}.container{max-width:1400px;margin:0 auto}h1,\nh2{font-weight:500;margin:0}h1{font-size:20px;line-height:28px;margin-bottom:17px}h2{font-size:16px;line-height:22px}.groups,\n.list{list-style:none;margin:0;padding:0}.groups{margin-top:27px}.group + .group{margin-top:32px}.list{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.list .item{background:rgba(255,255,255,0.9);box-shadow:0px 2px 5px 0px rgba(0,0,0,0.08);border-radius:12px;padding:20px 26px}.heading{display:flex;align-items:center}.icon{font-size:24px;color:#333;margin-right:8px}.title{font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.description{margin-top:13px;font-size:13px;color:rgba(0,0,0,0.45);line-height:18px;height:54px;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:flex;flex-direction:column;align-items:center;max-width:1020px;width:100%}:host([hidden]){display:none}*{box-sizing:border-box}.tips{color:rgba(0,0,0,0.45);margin-bottom:27px}.cases{list-style:none;padding:0;margin:0;display:grid;width:100%;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;margin-top:36px}.link{display:block;background:rgba(255,255,255,0.5);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-size:cover;background-position:center;background-repeat:no-repeat;background-clip:padding-box;overflow:hidden}.link::part(link){display:flex;flex-direction:column;gap:0;box-sizing:border-box;height:128px;padding:20px}.title{width:100%;margin-bottom:8px;color:#262626;font-weight:500;font-size:14px;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.description{width:100%;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:rgba(24,33,47,0.65);font-size:13px;line-height:20px}.link::part(link):hover{box-shadow:0px 4px 12px 0px rgba(96,96,138,0.15),0px 2px 4px 0px rgba(96,96,138,0.06)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"./images/bg.png\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.root{color:#262626;background:url(${___CSS_LOADER_URL_REPLACEMENT_0___}) no-repeat center bottom;background-size:100% 104px;padding:12px 12px 29px}.container{position:relative;background:#ffffff;box-shadow:0px 2px 4px 0px rgba(38,45,65,0.1);border-radius:16px;border:1px solid #dadfe8}.container:has(textarea:focus){border-color:#b7c3d8}textarea{display:block;width:100%;padding:10px 16px 50px;color:var(--antd-input-color);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.5);font-size:14px;line-height:22px;height:120px}textarea::placeholder{color:rgba(0,0,0,0.4)}.btn-send:focus,\ntextarea:focus{outline:none}.actions-bar{position:absolute;bottom:12px;left:14px;right:14px;display:flex;align-items:flex-end;justify-content:space-between}.btn-send{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--elevo-color-brand);border:none;border-radius:8px;color:#fff;flex-shrink:0}.btn-send[disabled]{background:rgba(0,0,0,0.15)}.btn-send:not([disabled]){cursor:pointer}.btn-send:not([disabled]):hover{background:#5166ff}.btn-send:not([disabled]):active{background:#1e33cc}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:inline-block}:host([hidden]){display:none}:host,\neo-tooltip{vertical-align:middle}button{width:28px;height:28px;font-size:18px;border-radius:8px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:#333}button:disabled{color:#8c8c8c}button:not(:disabled){cursor:pointer}button:focus{outline:none}button:not(:disabled):hover{background:rgba(0,0,0,0.04)}button:not(:disabled):active{background:rgba(0,0,0,0.08)}:host([variant=\"light\"]) button{color:#595959}:host([variant=\"mini\"]) button{width:24px;height:24px;font-size:16px;border-radius:4px}:host([variant=\"mini-light\"]) button{color:#8c8c8c;width:20px;height:20px;font-size:14px;border-radius:4px}:host([variant=\"bordered\"]) button{background:#ffffff;border-radius:8px;border:1px solid rgba(0,0,0,0.1);color:#595959;width:32px;height:32px;font-size:18px}:host([variant=\"bordered\"]) button:not(:disabled):hover{background:rgba(0,0,0,0.04)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"./images/background.png\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block;position:relative;width:100%;height:100%;overflow:hidden;background-color:rgb(205,206,207);background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-size:cover;background-repeat:no-repeat;background-position:center;background-attachment:fixed;color:#262626;padding:17px 54px 48px;overflow-y:auto}:host([hidden]){display:none}*{box-sizing:border-box}.container{max-width:1400px;margin:0 auto}:host([size=\"small\"]) .container{max-width:1000px}.header{margin-bottom:30px;display:flex;justify-content:space-between;align-items:center}nav{font-weight:500;font-size:20px;line-height:28px;display:flex;min-width:0}h1{margin:0;font-size:inherit;line-height:inherit}.breadcrumbs{list-style:none;padding:0;margin:0;color:#bfbfbf}.breadcrumbs eo-link::part(link){color:inherit}.breadcrumbs eo-link::part(link):hover{color:#595959}.breadcrumbs li::after{content:\"/\";margin:0 8px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:flex;flex-direction:column;align-items:center;max-width:1200px;width:100%}:host([hidden]){display:none}*{box-sizing:border-box}.chats{list-style:none;padding:0;margin:0;display:grid;width:100%;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px;margin-top:2em}.chats .link{display:block}.chats .link::part(link){background:#fff;border-radius:12px;border:1px solid rgba(0,0,0,0.1);overflow:hidden;display:block;padding:16px 16px 12px}.chats .link::part(link):hover{box-shadow:0px 2px 8px 0px rgba(0,0,0,0.1)}.chats .title{height:40px;line-height:20px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#262626}.chats .time{margin-top:20px;font-size:12px;color:#8c8c8c;display:flex;align-items:center}.chats .time eo-icon{margin-right:4px}.loading{display:flex;align-items:center;justify-content:center;margin-top:2em;font-size:16px;color:#8c8c8c}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"./images/background.png\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}:host::before{content:\"\";position:fixed;z-index:-1;top:0;right:0;bottom:0;left:0;background-color:#f1f1f1;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-position:center;background-size:cover;background-repeat:no-repeat;background-attachment:fixed}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../page-container/images/background.png\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}:host([with-container]){position:relative;width:100%;height:100%;overflow:hidden;background-color:rgb(205,206,207);background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-size:cover;background-repeat:no-repeat;background-position:center;background-attachment:fixed;color:#262626;padding:48px 24px;overflow-y:auto}*{box-sizing:border-box}.container{max-width:1400px;margin:0 auto}h1{font-weight:500;margin:0;font-size:20px;line-height:28px;margin-bottom:17px}.list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.link{display:block;height:100%}.link::part(link){display:block;height:100%;color:#262626;background:rgba(255,255,255,0.9);box-shadow:0px 2px 5px 0px rgba(0,0,0,0.08);border-radius:12px;padding:20px 26px;box-sizing:border-box}.link:not(.clickable)::part(link){cursor:auto}.clickable::part(link):hover{box-shadow:0px 4px 10px 0px rgba(0,0,0,0.1)}.heading{display:flex;align-items:center}.icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#ffffff;border-radius:12px;border:1px solid #e8e9ec;font-size:32px;color:#595959;margin-right:16px}.title{font-size:16px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clickable::part(link):hover .title{color:var(--elevo-color-brand)}.description{margin-top:13px;font-size:13px;color:rgba(0,0,0,0.45);line-height:18px;height:54px;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tags{display:flex;gap:6px;margin:16px 0 -3px}.tag{display:block;background:rgba(0,0,0,0.04);border-radius:4px;font-size:12px;line-height:22px;padding:0 7px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../page-container/images/background.png\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}:host([with-container]){position:relative;width:100%;height:100%;overflow:hidden;background-color:rgb(205,206,207);background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-size:cover;background-repeat:no-repeat;background-position:center;background-attachment:fixed;color:#262626;padding:48px 24px;overflow-y:auto}*{box-sizing:border-box}.container{max-width:1400px;margin:0 auto;margin-bottom:17px}h1,\nh2{font-weight:500;margin:0}h1{font-size:20px;line-height:28px;margin-bottom:17px}h2{font-size:16px;line-height:22px}.groups,\n.list{list-style:none;margin:0;padding:0}.groups{margin-top:27px}.group + .group{margin-top:32px}.list{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.link{display:block;height:100%}.link::part(link){display:block;height:100%;color:#262626;background:rgba(255,255,255,0.9);box-shadow:0px 2px 5px 0px rgba(0,0,0,0.08);border-radius:12px;padding:20px 26px;box-sizing:border-box}.link:not(.clickable)::part(link){cursor:auto}.clickable::part(link):hover{box-shadow:0px 4px 10px 0px rgba(0,0,0,0.1)}.heading{display:flex;align-items:center}.avatar{width:48px;height:48px;border-radius:12px;margin-right:16px;background-color:#d5d6e6;display:flex;align-items:center;justify-content:center;font-size:24px}.avatar img{width:100%;height:100%}.title{font-size:16px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clickable::part(link):hover .title{color:var(--elevo-color-brand)}.description{margin-top:13px;font-size:13px;color:rgba(0,0,0,0.45);line-height:18px;height:54px;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","toString","initializeI18n","NS","locales","defineElement","property","event","method","createDecorators","ForwardedLegacyCruiseCanvasComponent","forwardRef","LegacyCruiseCanvasComponent","ForwardedCruiseCanvasComponent","CruiseCanvasComponent","_CruiseCanvas","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_CruiseCanvas_brand","WeakSet","_onShare","_Q","_onTerminate","_R","_onSubmitFeedback","_S","_onFeedbackOnView","_T","_onSwitchToChat","_ref","CruiseCanvas","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","_init_conversationId","_init_extra_conversationId","_init_initialRequest","_init_extra_initialRequest","_init_taskId","_init_extra_taskId","_init_task","_init_extra_task","_init_jobs","_init_extra_jobs","_init_replay","_init_extra_replay","_init_replayDelay","_init_extra_replayDelay","_init_supports","_init_extra_supports","_init_showHiddenJobs","_init_extra_showHiddenJobs","_init_showFeedback","_init_extra_showFeedback","_init_showFeedbackAfterFailed","_init_extra_showFeedbackAfterFailed","_init_showFeedbackOnView","_init_extra_showFeedbackOnView","_init_showUiSwitch","_init_extra_showUiSwitch","_init_hideMermaid","_init_extra_hideMermaid","_init_showJsxEditor","_init_extra_showJsxEditor","_init_shareEvent","_init_extra_shareEvent","_classPrivateGetter","this","_get_shareEvent","emit","_init_terminateEvent","_init_extra_terminateEvent","_get_terminateEvent","_init_feedbackSubmitEvent","_init_extra_feedbackSubmitEvent","detail","_get_feedbackSubmitEvent","_init_feedbackOnViewEvent","_init_extra_feedbackOnViewEvent","viewId","_get_feedbackOnViewEvent","_init_switch","_init_extra_switch","_get_switch","createRef","conversationId","_classPrivateFieldGet","v","_classPrivateFieldSet","initialRequest","taskId","task","jobs","replay","replayDelay","supports","showHiddenJobs","showFeedback","showFeedbackAfterFailed","showFeedbackOnView","showUiSwitch","hideMermaid","showJsxEditor","resumed","_classPrivateFieldGet2","_classPrivateFieldGet3","current","call","feedbackSubmitDone","_classPrivateFieldGet4","feedbackSubmitFailed","_classPrivateFieldGet5","feedbackOnViewDone","_classPrivateFieldGet6","render","Component","React","onShare","onTerminate","onSubmitFeedback","onSwitchToChat","onFeedbackOnView","ref","_CruiseCanvas2","e","_set_shareEvent","_set_terminateEvent","_set_feedbackSubmitEvent","_set_feedbackOnViewEvent","_set_switch","c","_initClass","_applyDecs","shadowOptions","attribute","type","Boolean","Number","o","_","has","_checkInRHS","K","en","ASK_ANY_THING","COMMON_TASKS","zh","t","i18n","getFixedT","WrappedIcon","wrapBrick","_ChatBox","_ChatBox_brand","_handleMessageSubmit","ChatBox","_init_disabled","_init_extra_disabled","_init_placeholder","_init_extra_placeholder","_init_autoFocus","_init_extra_autoFocus","_init_messageSubmit","_init_extra_messageSubmit","value","_get_messageSubmit","disabled","placeholder","autoFocus","ChatBoxComponent","onSubmit","containerRef","useRef","textareaRef","setValue","useState","valueRef","handleSubmit","useCallback","currentTarget","handleChange","target","handleSubmitClick","useEffect","Promise","resolve","then","_textareaRef$current","focus","className","TextareaAutoResize","minRows","paddingSize","autoResize","submitWhen","onChange","name","onClick","lib","prefix","icon","_ChatBox2","_set_messageSubmit","styleTexts","styleText","_HomeContainer","HomeContainer","HomeContainerComponent","_HomeContainer2","WrappedMiniLineChart","_StatWithMiniChart","StatWithMiniChart","_init_label","_init_extra_label","_init_value","_init_extra_value","_init_size","_init_extra_size","_init_lineColor","_init_extra_lineColor","_init_showArea","_init_extra_showArea","_init_min","_init_extra_min","_init_max","_init_extra_max","_init_xField","_init_extra_xField","_init_yField","_init_extra_yField","_init_data","_init_extra_data","label","size","lineColor","showArea","min","max","xField","yField","data","StatWithMiniChartComponent","chartProps","_extends","lineWidth","width","height","_StatWithMiniChart2","SIDEBAR_ICON","ElevoSidebarComponent","LegacyElevoSidebarComponent","_ElevoSidebar","_ElevoSidebar_brand","_handleLogout","_handleActionClick","_handleLegacyActionClick","_handleProjectActionClick","_handleAddProject","ElevoSidebar","_init_legacy","_init_extra_legacy","_init_userInstanceId","_init_extra_userInstanceId","_init_behavior","_init_extra_behavior","_init_bordered","_init_extra_bordered","_init_logoUrl","_init_extra_logoUrl","_init_newChatUrl","_init_extra_newChatUrl","_init_newChatLinkWhenCollapsed","_init_extra_newChatLinkWhenCollapsed","_init_historyActiveId","_init_extra_historyActiveId","_init_historyUrlTemplate","_init_extra_historyUrlTemplate","_init_historyActions","_init_extra_historyActions","_init_projectActiveId","_init_extra_projectActiveId","_init_projectUrlTemplate","_init_extra_projectUrlTemplate","_init_projectActions","_init_extra_projectActions","_init_links","_init_extra_links","_init_logout","_init_extra_logout","_get_logout","_init_actionClick","_init_extra_actionClick","_get_actionClick","_init_projectActionClick","_init_extra_projectActionClick","_get_projectActionClick","_init_addProject","_init_extra_addProject","_get_addProject","legacy","userInstanceId","behavior","bordered","logoUrl","newChatUrl","newChatLinkWhenCollapsed","historyActiveId","historyUrlTemplate","historyActions","projectActiveId","projectUrlTemplate","projectActions","links","pullHistory","delay","setTimeout","pull","close","removeProject","projectId","addProject","project","_classPrivateFieldGet7","moveConversation","_classPrivateFieldGet8","_classPrivateFieldGet9","onLogout","onLegacyActionClick","onActionClick","onProjectActionClick","onAddProject","_ref2","collapsed","setCollapsed","handleCollapse","handleExpand","handleClickMask","handleHistoryClick","dropdownActions","useMemo","key","text","LOGOUT","SWITCH_LANGUAGE","historyRef","useImperativeHandle","_historyRef$current","_historyRef$current2","_historyRef$current2$","_historyRef$current3","_historyRef$current3$","_historyRef$current4","_historyRef$current4$","classNames","WrappedIconButton","variant","WrappedLink","url","NEW_CHAT","alt","src","ElevoLogo","length","map","link","index","title","LegacyChatHistory","activeId","urlTemplate","actions","onHistoryClick","ChatHistory","WrappedDropdownActions","async","changeLanguage","language","split","getHistory","reload","WrappedEasyopsAvatar","nameOrInstanceId","showName","_ElevoSidebar2","_set_logout","_set_actionClick","_set_projectActionClick","_set_addProject","WrappedTooltip","_IconButton","IconButton","_init_icon","_init_extra_icon","_init_tooltip","_init_extra_tooltip","_init_variant","_init_extra_variant","tooltip","IconButtonComponent","btn","content","_IconButton2","ALL","EXPLORE_EXCELLENT_CASES","WrappedTabList","onTabClick","_ShowCases","ShowCases","_init_list","_init_extra_list","_init_taskUrlTemplate","_init_extra_taskUrlTemplate","list","taskUrlTemplate","ShowCasesComponent","groups","Set","item","scenario","filter","activeGroup","setActiveGroup","filteredList","tabs","group","activeTab","parseTemplate","style","thumbUrl","backgroundImage","getBasePath","undefined","summary","_ShowCases2","MCP_HUB","SERVER_cmdb","SERVER_cmdb_product_helper","SERVER_alert","SERVER_web_builder","SERVER_web_builder2","SERVER_host_troubleshooting","SERVER_system_inspection","SERVER_grafana","SERVER_kubernetes","SERVER_llm","DEFAULT_TOOL_ICON","PLATFORM_CONFIG","Map","servers","_McpTools","McpTools","_init_withContainer","_init_extra_withContainer","withContainer","McpToolsComponent","groupMap","platformMap","forEach","groupName","server","replaceAll","get","set","platform","entries","find","_name","includes","platformName","orderedNames","sort","_ref3","_ref4","nameA","nameB","indexA","indexOf","indexB","platforms","keys","names","a","b","aIndex","bIndex","activePlatform","setActivePlatform","filteredGroups","groupedList","platformGroups","_ref5","node","_ref6","items","_item$icon","fallback","description","_McpTools2","ForwardedLegacyChatStreamComponent","LegacyChatStreamComponent","ForwardedChatStreamComponent","ChatStreamComponent","_ChatStream","_ChatStream_brand","_onSwitchToCanvas","ChatStream","onSwitchToCanvas","_ChatStream2","AI_EMPLOYEES","UNTITLED","_AIEmployees","AIEmployees","_init_industries","_init_extra_industries","_init_urlTemplate","_init_extra_urlTemplate","industries","AIEmployeesComponent","_industries","industry","activeIndustry","setActiveIndustry","array","role","clickable","avatar","_AIEmployees2","AGENTS","_AIAgents","AIAgents","AIAgentsComponent","_item$tags","tags","tag","tagIndex","_AIAgents2","store","customElements","define","createProviderClass","_PageContainer","PageContainer","_init_pageTitle","_init_extra_pageTitle","_init_breadcrumbs","_init_extra_breadcrumbs","pageTitle","breadcrumbs","PageContainerComponent","getRuntime","applyPageTitle","_PageContainer2","NS_LIBS_DATETIME","YESTERDAY","TODAY","FUTURE_AFTER","FORMAT_MEDIUM_DATETIME","FORMAT_MEDIUM_DATE","FORMAT_SHORT_DATETIME","FORMAT_SHORT_DATE","FORMAT_SHORT_DAY_DATETIME","FORMAT_SHORT_DAY_DATE","MONTHS","HOURS","SECONDS","MILL_SECONDS","DAYS","MINUTES","HumanizeTimeFormat","CHATS","GOALS","TAB_ID_CHATS","TABS","_ProjectSummary","ProjectSummary","_init_chatList","_init_extra_chatList","_init_chatUrlTemplate","_init_extra_chatUrlTemplate","chatList","chatUrlTemplate","ProjectSummaryComponent","setActiveTab","time","format","auto","Infinity","m","moment","now","add","fFull","fMedium","fShort","fShort24","fDefault","full","default","relative","diff","humanize","past","Math","future","accurate","getAccurateTime","toFixed","_text","retVal","year","isBefore","clone","isSame","humanizeTime","startTime","spinning","_ProjectSummary2","_TabList","_TabList_brand","_handleTabClick","TabList","_init_tabs","_init_extra_tabs","_init_activeTab","_init_extra_activeTab","_init_tabClick","_init_extra_tabClick","tab","_get_tabClick","TabListComponent","part","active","_TabList2","_set_tabClick","OPERATOR_MAP","workspace","entity","params","Error","http","post","model","filters","query","Object","flatMap","condition","op","operator","dims","measures","fields","field","function","args","expression","InstanceApi_postSearchV3","InstanceApi_getDetail","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_URL_REPLACEMENT_0___"],"sourceRoot":""}
@@ -0,0 +1,3 @@
1
+ /*! For license information please see entity-sdk-get.37c62d5f.js.LICENSE.txt */
2
+ "use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[8858],{11369:(t,r,e)=>{e.d(r,{A:()=>o});var n=e(17545);function o(t){var r=function(t){if("object"!=(0,n.A)(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var e=r.call(t,"string");if("object"!=(0,n.A)(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==(0,n.A)(r)?r:r+""}},17545:(t,r,e)=>{function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}e.d(r,{A:()=>n})},24586:(t,r,e)=>{e.d(r,{A:()=>o});var n=e(11369);function o(t,r,e){return(r=(0,n.A)(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}},48518:(t,r,e)=>{e.d(r,{y:()=>c});var n=e(69740),o=e(86330),i=e(57372),c=function(){var t=(0,o.A)((function*(t,r,e,o){return(yield i.http.get("api/gateway/cmdb.instance.GetDetail/object/".concat(t,"/instance/").concat(r),(0,n.A)((0,n.A)({},o),{},{params:e}))).data}));return function(r,e,n,o){return t.apply(this,arguments)}}()},53725:(t,r,e)=>{e.r(r),e.d(r,{entitySdkGet:()=>i});var n=e(94558),o=e(48518);async function i(t,r,e){if(!t)throw new Error("Workspace is required for Entity SDK.");return(0,o.y)(r,e,{})}customElements.define("ai-portal.entity-sdk-get",(0,n.createProviderClass)(i))},69740:(t,r,e)=>{e.d(r,{A:()=>i});var n=e(24586);function o(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),e.push.apply(e,n)}return e}function i(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?o(Object(e),!0).forEach((function(r){(0,n.A)(t,r,e[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):o(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))}))}return t}},86330:(t,r,e)=>{function n(t,r,e,n,o,i,c){try{var a=t[i](c),u=a.value}catch(t){return void e(t)}a.done?r(u):Promise.resolve(u).then(n,o)}function o(t){return function(){var r=this,e=arguments;return new Promise((function(o,i){var c=t.apply(r,e);function a(t){n(c,o,i,a,u,"next",t)}function u(t){n(c,o,i,a,u,"throw",t)}a(void 0)}))}}e.d(r,{A:()=>o})}}]);
3
+ //# sourceMappingURL=entity-sdk-get.37c62d5f.js.map
@@ -0,0 +1 @@
1
+ /**! @contract easyops.api.cmdb.instance.GetDetail@1.0.0 */