@next-bricks/ai-portal 0.55.0 → 0.55.1

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 (31) hide show
  1. package/dist/bricks.json +21 -21
  2. package/dist/chunks/1080.c0cb398b.js +2 -0
  3. package/dist/chunks/1080.c0cb398b.js.map +1 -0
  4. package/dist/chunks/{2084.0e9751e7.js → 2084.778e8126.js} +3 -3
  5. package/dist/chunks/2084.778e8126.js.map +1 -0
  6. package/dist/chunks/3227.77ba4968.js +2 -0
  7. package/dist/chunks/3227.77ba4968.js.map +1 -0
  8. package/dist/chunks/8717.462ca5c9.js +2 -0
  9. package/dist/chunks/8717.462ca5c9.js.map +1 -0
  10. package/dist/chunks/{main.6b7402db.js → main.9f2b6ec7.js} +2 -2
  11. package/dist/chunks/{main.6b7402db.js.map → main.9f2b6ec7.js.map} +1 -1
  12. package/dist/examples.json +14 -14
  13. package/dist/{index.14c08956.js → index.fe56261d.js} +2 -2
  14. package/dist/{index.14c08956.js.map → index.fe56261d.js.map} +1 -1
  15. package/dist/manifest.json +139 -139
  16. package/dist/types.json +188 -84
  17. package/dist-types/chat-stream/UserMessage/UserMessage.d.ts +3 -1
  18. package/dist-types/chat-stream/interfaces.d.ts +2 -1
  19. package/dist-types/cruise-canvas/NodeRequirement/NodeRequirement.d.ts +3 -1
  20. package/dist-types/cruise-canvas/interfaces.d.ts +2 -1
  21. package/dist-types/shared/ReadableCommand/ReadableCommand.d.ts +7 -0
  22. package/dist-types/shared/interfaces.d.ts +3 -0
  23. package/package.json +2 -2
  24. package/dist/chunks/2084.0e9751e7.js.map +0 -1
  25. package/dist/chunks/3227.689d8678.js +0 -2
  26. package/dist/chunks/3227.689d8678.js.map +0 -1
  27. package/dist/chunks/6201.fa3b6e24.js +0 -2
  28. package/dist/chunks/6201.fa3b6e24.js.map +0 -1
  29. package/dist/chunks/8717.1e5ad2b1.js +0 -2
  30. package/dist/chunks/8717.1e5ad2b1.js.map +0 -1
  31. /package/dist/chunks/{2084.0e9751e7.js.LICENSE.txt → 2084.778e8126.js.LICENSE.txt} +0 -0
@@ -1,3 +1,3 @@
1
- /*! For license information please see 2084.0e9751e7.js.LICENSE.txt */
2
- "use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[2084],{5813:(e,t,i)=>{i.d(t,{I:()=>s,K:()=>o,NS:()=>l,t:()=>c});var n=i(52616);let o=function(e){return e.NEW_CHAT="NEW_CHAT",e.LOGOUT="LOGOUT",e.TODAY="TODAY",e.YESTERDAY="YESTERDAY",e.PREVIOUS_7_DAYS="PREVIOUS_7_DAYS",e.PREVIOUS_30_DAYS="PREVIOUS_30_DAYS",e.SWITCH_LANGUAGE="SWITCH_LANGUAGE",e.MY="MY",e.PROJECTS="PROJECTS",e.HISTORY="HISTORY",e.CREATE_PROJECT="CREATE_PROJECT",e.MOVE_TO_PROJECT="MOVE_TO_PROJECT",e.UNTITLED="UNTITLED",e.UNNAMED="UNNAMED",e}({});const r={[o.NEW_CHAT]:"New chat",[o.LOGOUT]:"Logout",[o.TODAY]:"Today",[o.YESTERDAY]:"Yesterday",[o.PREVIOUS_7_DAYS]:"Previous 7 days",[o.PREVIOUS_30_DAYS]:"Previous 30 days",[o.SWITCH_LANGUAGE]:"中文",[o.MY]:"My",[o.PROJECTS]:"Projects",[o.HISTORY]:"Chats",[o.CREATE_PROJECT]:"Create project",[o.MOVE_TO_PROJECT]:"Move to project",[o.UNTITLED]:"Untitled",[o.UNNAMED]:"Unnamed"},a={[o.NEW_CHAT]:"新对话",[o.LOGOUT]:"登出",[o.TODAY]:"今天",[o.YESTERDAY]:"昨天",[o.PREVIOUS_7_DAYS]:"过去7天",[o.PREVIOUS_30_DAYS]:"过去30天",[o.SWITCH_LANGUAGE]:"English",[o.MY]:"我的",[o.PROJECTS]:"项目",[o.HISTORY]:"对话",[o.CREATE_PROJECT]:"创建项目",[o.MOVE_TO_PROJECT]:"移动到项目",[o.UNTITLED]:"无标题",[o.UNNAMED]:"未命名"},l="bricks/ai-portal/elevo-sidebar",s={en:r,zh:a},c=n.i18n.getFixedT(null,l)},61408:(e,t,i)=>{i.d(t,{A:()=>l});var n=i(36758),o=i.n(n),r=i(40935),a=i.n(r)()(o());a.push([e.id,':host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.sidebar{position:relative;z-index:2;width:260px;height:100%;background:rgba(246,247,249,0.5);border:1px solid rgba(255,255,255,0.3);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:23px 11px 0;display:flex;flex-direction:column;transition:transform 0.3s ease-in-out}.logo-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;margin-left:4px}.logo-link::part(link){display:block}.logo{vertical-align:middle}.new-chat::part(link){display:flex;gap:0;align-items:center;color:var(--elevo-color-brand);font-size:14px;text-align:left;cursor:pointer}.sidebar .new-chat::part(link){background:#f0f4ff;border-radius:8px;border:1px solid #c9d7ff;padding:9px 13px;font-weight:500;margin-bottom:16px}.sidebar .new-chat::part(link):hover{background:rgba(201,215,255,0.5)}.new-chat-icon{font-size:16px;margin-right:5px}.footer{border-top:1px solid rgba(0,0,0,0.04);padding:9px 12px;margin:0 -12px}.dropdown{display:block}.account{background:none;border:none;border-radius:8px;padding:6px 10px;display:block;width:100%;text-align:left;cursor:pointer}.account:hover{background:rgba(0,0,0,0.04)}.alternative{position:fixed;top:12px;left:8px;padding:6px 10px 6px 8px;display:flex;align-items:center;opacity:0;z-index:2;transition:opacity 0.2s ease-in-out;background:rgba(255,255,255,0);border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.alternative .new-chat::part(link){padding:4px;margin-left:16px;font-size:12px}.alternative .new-chat::part(link):hover{color:#7891ff}.alternative .new-chat::part(link):active{color:#0911b3}.container{width:270px;padding:10px 0 10px 10px;height:100%;transition:width 0.3s ease-in-out,padding 0.3s ease-in-out}.container.collapsed{width:0;padding:10px 0;overflow:visible}.container.collapsed .sidebar{transform:translateX(-100%)}.container.collapsed .alternative{opacity:1}:host([behavior="drawer"]){z-index:2;width:0}:host(:not([behavior="drawer"])) .alternative .new-chat{display:none}.mask{position:fixed;top:0;right:0;bottom:0;left:0}.links{border-bottom:1px solid rgba(0,0,0,0.06);padding-bottom:16px;margin-bottom:16px}.link{display:block}.link + .link{margin-top:4px}.link::part(link){display:flex;gap:0;align-items:center;padding:7px 10px;border-radius:8px;color:#000}.link.active::part(link),.link::part(link):hover{background:rgba(0,0,0,0.04)}.link .icon{font-size:16px;margin-right:10px}.link .title{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.history{flex:1;min-height:0;overflow-y:auto;margin:0 -12px;padding:0 12px}.history ul{list-style:none;margin:0;padding:0}.history .section + .section{margin-top:14px}.history .section-title{display:flex;align-items:center;justify-content:space-between;height:30px;margin-bottom:6px;padding:0 8px;position:sticky;top:0}.history .section-title.sticky::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgb(229,228,234);border-radius:8px;z-index:-1}.history .section-label{display:flex;align-items:center;height:24px;padding:0 8px;margin-left:-8px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;font-size:12px;color:#8c8c8c;border-radius:8px}.history .section-label eo-icon{vertical-align:middle;margin-left:6px;transition:transform 0.2s ease-in-out}.history .section-label:hover{background:rgba(0,0,0,0.04)}.history .collapsed > ul{display:none}.history .collapsed .section-label eo-icon{transform:rotate(-90deg)}.history .error,.history .loading{display:flex;align-items:center;height:36px;padding:0 8px}.history .loading{justify-content:center}.history .error{color:var(--color-error)}.history .group + .group{margin-top:15px}.history .group-title{font-weight:500;font-size:12px;color:#000;padding:8px;height:36px;line-height:20px}.history .item{display:block}.history .item::part(link){display:flex;align-items:center;padding:0 8px;height:36px;border-radius:8px;color:#000}.history .item.active::part(link){background:rgba(0,0,0,0.06)}.history .item.actions-active::part(link),.history .item::part(link):hover{background:rgba(0,0,0,0.04)}.history .item-title{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.history .actions{cursor:auto}.history .item:not(:hover):not(.actions-active) .actions{display:none}.history .working{width:8px;height:8px;border-radius:8px;background:var(--elevo-color-brand);margin:0 7px}.history .item.actions-active .working,.history .item:hover .working,.history .item.active .working{display:none}.history .load-more{display:flex;justify-content:center;align-items:center;height:36px}.button{display:flex}',""]);const l=a.toString()},70579:(e,t,i)=>{i.d(t,{Bj:()=>o,EM:()=>r,JQ:()=>l,Py:()=>c,qb:()=>a,qu:()=>s});var n=i(30981);const o=(0,n.wrapBrick)("eo-icon"),r=(0,n.wrapBrick)("eo-link"),a=(0,n.wrapBrick)("eo-dropdown-actions",{onActionClick:"action.click",onVisibleChange:"visible.change"}),l=(0,n.wrapBrick)("eo-easyops-avatar"),s=(0,n.wrapBrick)("eo-mini-actions",{onActionClick:"action.click",onVisibleChange:"visible.change"}),c=(0,n.wrapBrick)("ai-portal.icon-button")},75197:(e,t,i)=>{i.d(t,{D:()=>b});var n=i(89575),o=i(18769),r=i.n(o),a=i(53373),l=i.n(a),s=i(22919);const c=async(e,t)=>(await s.http.get("api/gateway/logic.llm.aiops_service/api/v1/elevo/conversations",{...t,params:e})).data;var d=i(41030),p=i(5813),u=i(70579),m=i(40177),g=i(65549),h=i(94504);const E={lib:"fa",icon:"plus"},b=(0,o.forwardRef)(x);function x(e,t){let{historyActions:i,historyUrlTemplate:a,projectUrlTemplate:b,projectActions:x,canAddProject:v,myLinks:k,onActionClick:y,onHistoryClick:T,onProjectActionClick:w,onAddProject:O}=e;const A=(0,o.useRef)(null),[C,S]=(0,o.useState)(!1),[_,N]=(0,o.useState)(null),[R,I]=(0,o.useState)(!1),[P,U]=(0,o.useState)(!1),[Y,D]=(0,o.useState)(null),[j,M]=(0,o.useState)(!1),[L,V]=(0,o.useState)(),[H,B]=(0,o.useState)(),[J,z]=(0,o.useState)(!1),G=(0,o.useRef)(!0),[q,K]=(0,o.useState)([]),W=(0,o.useMemo)((()=>[...null!=i?i:[],{isDropdown:!0,text:(0,p.t)(p.K.MOVE_TO_PROJECT),disabled:!(null!=_&&_.length),items:null==_?void 0:_.map((e=>({event:"move",key:e.instanceId,text:e.name,project:e})))}]),[i,_]);(0,o.useEffect)((()=>{(async()=>{try{const e=await(async()=>(await s.http.get("api/gateway/logic.llm.aiops_service/api/v1/elevo/projects",{params:{page:1,page_size:3e3}})).data)();N(e.list)}catch(e){console.error("Error loading projects:",e),U(!0),N([])}})()}),[]),(0,o.useEffect)((()=>{Promise.all([c({token:H,limit:30,onlyOwner:!0,onlyUnrelatedProject:!0},{interceptorParams:{ignoreLoadingBar:!0}}),...G.current?[]:[new Promise((e=>setTimeout(e,500)))]]).then((e=>{let[t]=e;G.current=!1,D((e=>[...null!=e?e:[],...t.conversations])),V(t.nextToken)})).catch((e=>{console.error("Error loading chat history:",e),D([]),z(!0)}))}),[H]);const[Q,F]=(0,o.useState)(null),X=(0,o.useRef)(null);(0,o.useEffect)((()=>{const e=X.current,t=A.current;if(!e||!L||!t||j)return;const i=new IntersectionObserver((e=>{for(const t of e)t.isIntersecting&&B(L)}),{root:t});return i.observe(e),()=>{i.disconnect()}}),[L,j]);const Z=(0,o.useRef)(0),$=(0,o.useCallback)((async()=>{try{const e=++Z.current,t=await c({limit:30,onlyOwner:!0,onlyUnrelatedProject:!0},{interceptorParams:{ignoreLoadingBar:!0}});if(e!==Z.current)return;D((e=>{const i=null!=e?e:[],n=t.conversations,o=new Set(n.map((e=>e.conversationId))),r=new Map(n.map((e=>[e.conversationId,e])));let a=!1,l=!1,s=!0;for(const e of i){const t=r.get(e.conversationId);if(!t)break;if(a=!0,l=s&&t!==n[0]||!(0,d.isEqual)(t,e),l)break;s=!1}return a?l?[...n,...i.filter((e=>!o.has(e.conversationId)))]:e:(V(t.nextToken),n)}))}catch(e){console.error("Error pulling chat history:",e)}}),[]);(0,o.useImperativeHandle)(t,(()=>({pull:$,removeProject:e=>{N((t=>t?t.filter((t=>t.instanceId!==e)):t))},addProject:e=>{N((t=>t?[...t,e]:[e]))},moveConversation:e=>{K((t=>[...t,e]))}})),[$]);const ee=(0,o.useMemo)((()=>Y&&Y.length?Y.filter((e=>!q.includes(e.conversationId))):Y),[Y,q]);return r().createElement("div",{className:"history",ref:A},null!=k&&k.length?r().createElement("div",{className:l()("section",{collapsed:C})},r().createElement(f,{rootRef:A,title:(0,p.t)(p.K.MY),onToggle:()=>S((e=>!e))}),r().createElement("ul",{className:"items"},k.map(((e,t)=>r().createElement("li",{key:t},r().createElement(h.k,{url:e.url,activeIncludes:e.activeIncludes,render:t=>{let{active:i}=t;return r().createElement(u.EM,{className:l()("item",{active:i}),url:e.url},r().createElement("div",{className:"item-title"},e.title))}})))))):null,r().createElement("div",{className:l()("section",{collapsed:R})},r().createElement(f,{rootRef:A,title:(0,p.t)(p.K.PROJECTS),onToggle:()=>I((e=>!e))},v&&r().createElement(u.Py,{icon:E,variant:"mini-light",tooltip:(0,p.t)(p.K.CREATE_PROJECT),tooltipHoist:!0,className:"button",onClick:O})),r().createElement("ul",{className:"items"},P?r().createElement("li",{className:"error"},"Failed to load project"):_?_.map((e=>{const t=b?(0,g.Q)(b,e):void 0;return r().createElement("li",{key:e.instanceId},r().createElement(h.k,{url:t,render:i=>{let{active:o}=i;return r().createElement(u.EM,(0,n.A)({className:l()("item",{"actions-active":e.instanceId===Q,active:o}),onClick:T},t?{url:t}:null),r().createElement("div",{className:"item-title",title:e.name},e.name||(0,p.t)(p.K.UNNAMED)),r().createElement(u.qu,{className:"actions",actions:x,themeVariant:"elevo",onActionClick:t=>{w({action:t.detail,project:e})},onVisibleChange:t=>{F(t.detail?e.instanceId:null)}}))}}))})):r().createElement("li",{className:"loading"},r().createElement(u.Bj,{lib:"antd",theme:"outlined",icon:"loading-3-quarters",spinning:!0})))),r().createElement("div",{className:l()("section",{collapsed:j})},r().createElement(f,{rootRef:A,title:(0,p.t)(p.K.HISTORY),onToggle:()=>M((e=>!e))}),r().createElement("ul",{className:"items"},ee?ee.map((e=>{const t=a?(0,g.Q)(a,e):void 0;return r().createElement("li",{key:e.conversationId},r().createElement(h.k,{url:t,render:t=>{let{active:i}=t;return r().createElement(u.EM,(0,n.A)({className:l()("item",{"actions-active":e.conversationId===Q,active:i}),onClick:T},a?{url:(0,g.Q)(a,e)}:null),r().createElement("div",{className:"item-title",title:e.title},e.title||(0,p.t)(p.K.UNTITLED)),r().createElement(u.qu,{className:"actions",actions:W,onActionClick:t=>{y({action:t.detail,item:e})},onVisibleChange:t=>{F(t.detail?e.conversationId:null)}}),!m.QB.includes(e.state)&&r().createElement("div",{className:"working"}))}}))})):r().createElement("li",{className:"loading"},r().createElement(u.Bj,{lib:"antd",theme:"outlined",icon:"loading-3-quarters",spinning:!0})),J?r().createElement("li",{className:"error"},"Failed to load chat history"):null),!j&&L&&r().createElement("div",{className:"load-more",ref:X},r().createElement(u.Bj,{lib:"antd",icon:"loading-3-quarters",spinning:!0}))))}function f(e){let{rootRef:t,title:i,children:n,onToggle:a}=e;const s=(0,o.useRef)(null),[c,p]=(0,o.useState)(!1);return(0,o.useEffect)((()=>{const e=t.current,i=s.current,n=null==i?void 0:i.nextElementSibling;if(!e||!i||!n)return;const o=(0,d.throttle)((()=>{const e=i.getBoundingClientRect(),t=n.getBoundingClientRect().top-e.top-e.height;p(t<1)}),100);return e.addEventListener("scroll",o),()=>{e.removeEventListener("scroll",o)}}),[t]),r().createElement("div",{className:l()("section-title",{sticky:c}),ref:s},r().createElement("div",{className:"section-label",onClick:a},i,r().createElement(u.Bj,{lib:"fa",icon:"angle-down"})),n)}},94504:(e,t,i)=>{i.d(t,{k:()=>r});var n=i(18769),o=i(30348);function r(e){let{url:t,activeIncludes:i,render:r}=e;const[a,l]=(0,n.useState)(!1);return(0,n.useEffect)((()=>{function e(e){if(t){for(const n of[t,...null!=i?i:[]])if((0,o.matchPath)(e.pathname,{path:n,exact:!1}))return void l(!0);l(!1)}else l(!1)}const n=(0,o.getHistory)();return e(n.location),n.listen(e)}),[t,i]),r({active:a})}}}]);
3
- //# sourceMappingURL=2084.0e9751e7.js.map
1
+ /*! For license information please see 2084.778e8126.js.LICENSE.txt */
2
+ "use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[2084],{5813:(e,t,i)=>{i.d(t,{I:()=>s,K:()=>o,NS:()=>l,t:()=>c});var n=i(52616);let o=function(e){return e.NEW_CHAT="NEW_CHAT",e.LOGOUT="LOGOUT",e.TODAY="TODAY",e.YESTERDAY="YESTERDAY",e.PREVIOUS_7_DAYS="PREVIOUS_7_DAYS",e.PREVIOUS_30_DAYS="PREVIOUS_30_DAYS",e.SWITCH_LANGUAGE="SWITCH_LANGUAGE",e.MY="MY",e.PROJECTS="PROJECTS",e.HISTORY="HISTORY",e.CREATE_PROJECT="CREATE_PROJECT",e.MOVE_TO_PROJECT="MOVE_TO_PROJECT",e.UNTITLED="UNTITLED",e.UNNAMED="UNNAMED",e}({});const r={[o.NEW_CHAT]:"New chat",[o.LOGOUT]:"Logout",[o.TODAY]:"Today",[o.YESTERDAY]:"Yesterday",[o.PREVIOUS_7_DAYS]:"Previous 7 days",[o.PREVIOUS_30_DAYS]:"Previous 30 days",[o.SWITCH_LANGUAGE]:"中文",[o.MY]:"My",[o.PROJECTS]:"Projects",[o.HISTORY]:"Chats",[o.CREATE_PROJECT]:"Create project",[o.MOVE_TO_PROJECT]:"Move to project",[o.UNTITLED]:"Untitled",[o.UNNAMED]:"Unnamed"},a={[o.NEW_CHAT]:"新对话",[o.LOGOUT]:"登出",[o.TODAY]:"今天",[o.YESTERDAY]:"昨天",[o.PREVIOUS_7_DAYS]:"过去7天",[o.PREVIOUS_30_DAYS]:"过去30天",[o.SWITCH_LANGUAGE]:"English",[o.MY]:"我的",[o.PROJECTS]:"项目",[o.HISTORY]:"对话",[o.CREATE_PROJECT]:"创建项目",[o.MOVE_TO_PROJECT]:"移动到项目",[o.UNTITLED]:"无标题",[o.UNNAMED]:"未命名"},l="bricks/ai-portal/elevo-sidebar",s={en:r,zh:a},c=n.i18n.getFixedT(null,l)},61408:(e,t,i)=>{i.d(t,{A:()=>l});var n=i(36758),o=i.n(n),r=i(40935),a=i.n(r)()(o());a.push([e.id,':host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.sidebar{position:relative;z-index:2;width:260px;height:100%;background:rgba(246,247,249,0.5);border:1px solid rgba(255,255,255,0.3);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:23px 11px 0;display:flex;flex-direction:column;transition:transform 0.3s ease-in-out}.logo-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;margin-left:4px}.logo-link::part(link){display:block}.logo{vertical-align:middle}.new-chat::part(link){display:flex;gap:0;align-items:center;color:var(--elevo-color-brand);font-size:14px;text-align:left;cursor:pointer}.sidebar .new-chat::part(link){background:#f0f4ff;border-radius:8px;border:1px solid #c9d7ff;padding:9px 13px;font-weight:500;margin-bottom:16px}.sidebar .new-chat::part(link):hover{background:rgba(201,215,255,0.5)}.new-chat-icon{font-size:16px;margin-right:5px}.footer{border-top:1px solid rgba(0,0,0,0.04);padding:9px 12px;margin:0 -12px}.dropdown{display:block}.account{background:none;border:none;border-radius:8px;padding:6px 10px;display:block;width:100%;text-align:left;cursor:pointer}.account:hover{background:rgba(0,0,0,0.04)}.alternative{position:fixed;top:12px;left:8px;padding:6px 10px 6px 8px;display:flex;align-items:center;opacity:0;z-index:2;transition:opacity 0.2s ease-in-out;background:rgba(255,255,255,0);border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.alternative .new-chat::part(link){padding:4px;margin-left:16px;font-size:12px}.alternative .new-chat::part(link):hover{color:#7891ff}.alternative .new-chat::part(link):active{color:#0911b3}.container{width:270px;padding:10px 0 10px 10px;height:100%;transition:width 0.3s ease-in-out,padding 0.3s ease-in-out}.container.collapsed{width:0;padding:10px 0;overflow:visible}.container.collapsed .sidebar{transform:translateX(-100%)}.container.collapsed .alternative{opacity:1}:host([behavior="drawer"]){z-index:2;width:0}:host(:not([behavior="drawer"])) .alternative .new-chat{display:none}.mask{position:fixed;top:0;right:0;bottom:0;left:0}.links{border-bottom:1px solid rgba(0,0,0,0.06);padding-bottom:16px;margin-bottom:16px}.link{display:block}.link + .link{margin-top:4px}.link::part(link){display:flex;gap:0;align-items:center;padding:7px 10px;border-radius:8px;color:#000}.link.active::part(link),.link::part(link):hover{background:rgba(0,0,0,0.04)}.link .icon{font-size:16px;margin-right:10px}.link .title{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.history{flex:1;min-height:0;overflow-y:auto;margin:0 -12px;padding:0 12px}.history ul{list-style:none;margin:0;padding:0}.history .section + .section{margin-top:14px}.history .section-title{display:flex;align-items:center;justify-content:space-between;height:30px;margin-bottom:6px;padding:0 8px;position:sticky;top:0}.history .section-title.sticky::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgb(229,228,234);border-radius:8px;z-index:-1}.history .section-label{display:flex;align-items:center;height:24px;padding:0 8px;margin-left:-8px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;font-size:12px;color:#8c8c8c;border-radius:8px}.history .section-label eo-icon{vertical-align:middle;margin-left:6px;transition:transform 0.2s ease-in-out}.history .section-label:hover{background:rgba(0,0,0,0.04)}.history .collapsed > ul{display:none}.history .collapsed .section-label eo-icon{transform:rotate(-90deg)}.history .error,.history .loading{display:flex;align-items:center;height:36px;padding:0 8px}.history .loading{justify-content:center}.history .error{color:var(--color-error)}.history .group + .group{margin-top:15px}.history .group-title{font-weight:500;font-size:12px;color:#000;padding:8px;height:36px;line-height:20px}.history .item{display:block}.history .item::part(link){display:flex;align-items:center;padding:0 8px;height:36px;border-radius:8px;color:#000}.history .item.active::part(link){background:rgba(0,0,0,0.06)}.history .item.actions-active::part(link),.history .item::part(link):hover{background:rgba(0,0,0,0.04)}.history .item-title{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.history .actions{cursor:auto}.history .item:not(:hover):not(.actions-active) .actions{display:none}.history .working{width:8px;height:8px;border-radius:8px;background:var(--elevo-color-brand);margin:0 7px}.history .item.actions-active .working,.history .item:hover .working,.history .item.active .working{display:none}.history .load-more{display:flex;justify-content:center;align-items:center;height:36px}.button{display:flex}',""]);const l=a.toString()},70579:(e,t,i)=>{i.d(t,{Bj:()=>o,EM:()=>r,JQ:()=>l,Py:()=>c,qb:()=>a,qu:()=>s});var n=i(30981);const o=(0,n.wrapBrick)("eo-icon"),r=(0,n.wrapBrick)("eo-link"),a=(0,n.wrapBrick)("eo-dropdown-actions",{onActionClick:"action.click",onVisibleChange:"visible.change"}),l=(0,n.wrapBrick)("eo-easyops-avatar"),s=(0,n.wrapBrick)("eo-mini-actions",{onActionClick:"action.click",onVisibleChange:"visible.change"}),c=(0,n.wrapBrick)("ai-portal.icon-button")},75197:(e,t,i)=>{i.d(t,{D:()=>b});var n=i(89575),o=i(18769),r=i.n(o),a=i(53373),l=i.n(a),s=i(22919);const c=async(e,t)=>(await s.http.get("api/gateway/logic.llm.aiops_service/api/v1/elevo/conversations",{...t,params:e})).data;var d=i(41030),p=i(5813),u=i(70579),m=i(40177),g=i(65549),h=i(94504);const E={lib:"fa",icon:"plus"},b=(0,o.forwardRef)(x);function x(e,t){let{historyActions:i,historyUrlTemplate:a,projectUrlTemplate:b,projectActions:x,canAddProject:v,myLinks:k,onActionClick:y,onHistoryClick:T,onProjectActionClick:w,onAddProject:O}=e;const A=(0,o.useRef)(null),[C,S]=(0,o.useState)(!1),[_,N]=(0,o.useState)(null),[R,I]=(0,o.useState)(!1),[P,U]=(0,o.useState)(!1),[Y,D]=(0,o.useState)(null),[j,M]=(0,o.useState)(!1),[L,V]=(0,o.useState)(),[H,B]=(0,o.useState)(),[J,z]=(0,o.useState)(!1),G=(0,o.useRef)(!0),[q,K]=(0,o.useState)([]),W=(0,o.useMemo)((()=>[...null!=i?i:[],{isDropdown:!0,text:(0,p.t)(p.K.MOVE_TO_PROJECT),disabled:!(null!=_&&_.length),items:null==_?void 0:_.map((e=>({event:"move",key:e.instanceId,text:e.name,project:e})))}]),[i,_]);(0,o.useEffect)((()=>{(async()=>{try{const e=await(async()=>(await s.http.get("api/gateway/logic.llm.aiops_service/api/v1/elevo/projects",{params:{page:1,page_size:3e3}})).data)();N(e.list)}catch(e){console.error("Error loading projects:",e),U(!0),N([])}})()}),[]),(0,o.useEffect)((()=>{Promise.all([c({token:H,limit:30,onlyOwner:!0,onlyUnrelatedProject:!0},{interceptorParams:{ignoreLoadingBar:!0}}),...G.current?[]:[new Promise((e=>setTimeout(e,500)))]]).then((e=>{let[t]=e;G.current=!1,D((e=>[...null!=e?e:[],...t.conversations])),V(t.nextToken)})).catch((e=>{console.error("Error loading chat history:",e),D([]),z(!0)}))}),[H]);const[Q,F]=(0,o.useState)(null),X=(0,o.useRef)(null);(0,o.useEffect)((()=>{const e=X.current,t=A.current;if(!e||!L||!t||j)return;const i=new IntersectionObserver((e=>{for(const t of e)t.isIntersecting&&B(L)}),{root:t});return i.observe(e),()=>{i.disconnect()}}),[L,j]);const Z=(0,o.useRef)(0),$=(0,o.useCallback)((async()=>{try{const e=++Z.current,t=await c({limit:30,onlyOwner:!0,onlyUnrelatedProject:!0},{interceptorParams:{ignoreLoadingBar:!0}});if(e!==Z.current)return;D((e=>{const i=null!=e?e:[],n=t.conversations,o=new Set(n.map((e=>e.conversationId))),r=new Map(n.map((e=>[e.conversationId,e])));let a=!1,l=!1,s=!0;for(const e of i){const t=r.get(e.conversationId);if(!t)break;if(a=!0,l=s&&t!==n[0]||!(0,d.isEqual)(t,e),l)break;s=!1}return a?l?[...n,...i.filter((e=>!o.has(e.conversationId)))]:e:(V(t.nextToken),n)}))}catch(e){console.error("Error pulling chat history:",e)}}),[]);(0,o.useImperativeHandle)(t,(()=>({pull:$,removeProject:e=>{N((t=>t?t.filter((t=>t.instanceId!==e)):t))},addProject:e=>{N((t=>t?[...t,e]:[e]))},moveConversation:e=>{K((t=>[...t,e]))}})),[$]);const ee=(0,o.useMemo)((()=>Y&&Y.length?Y.filter((e=>!q.includes(e.conversationId))):Y),[Y,q]);return r().createElement("div",{className:"history",ref:A},null!=k&&k.length?r().createElement("div",{className:l()("section",{collapsed:C})},r().createElement(f,{rootRef:A,title:(0,p.t)(p.K.MY),collapsed:C,onToggle:()=>S((e=>!e))}),r().createElement("ul",{className:"items"},k.map(((e,t)=>r().createElement("li",{key:t},r().createElement(h.k,{url:e.url,activeIncludes:e.activeIncludes,render:t=>{let{active:i}=t;return r().createElement(u.EM,{className:l()("item",{active:i}),url:e.url},r().createElement("div",{className:"item-title"},e.title))}})))))):null,r().createElement("div",{className:l()("section",{collapsed:R})},r().createElement(f,{rootRef:A,title:(0,p.t)(p.K.PROJECTS),collapsed:R,onToggle:()=>I((e=>!e))},v&&r().createElement(u.Py,{icon:E,variant:"mini-light",tooltip:(0,p.t)(p.K.CREATE_PROJECT),tooltipHoist:!0,className:"button",onClick:O})),r().createElement("ul",{className:"items"},P?r().createElement("li",{className:"error"},"Failed to load project"):_?_.map((e=>{const t=b?(0,g.Q)(b,e):void 0;return r().createElement("li",{key:e.instanceId},r().createElement(h.k,{url:t,render:i=>{let{active:o}=i;return r().createElement(u.EM,(0,n.A)({className:l()("item",{"actions-active":e.instanceId===Q,active:o}),onClick:T},t?{url:t}:null),r().createElement("div",{className:"item-title",title:e.name},e.name||(0,p.t)(p.K.UNNAMED)),r().createElement(u.qu,{className:"actions",actions:x,themeVariant:"elevo",onActionClick:t=>{w({action:t.detail,project:e})},onVisibleChange:t=>{F(t.detail?e.instanceId:null)}}))}}))})):r().createElement("li",{className:"loading"},r().createElement(u.Bj,{lib:"antd",theme:"outlined",icon:"loading-3-quarters",spinning:!0})))),r().createElement("div",{className:l()("section",{collapsed:j})},r().createElement(f,{rootRef:A,title:(0,p.t)(p.K.HISTORY),collapsed:j,onToggle:()=>M((e=>!e))}),r().createElement("ul",{className:"items"},ee?ee.map((e=>{const t=a?(0,g.Q)(a,e):void 0;return r().createElement("li",{key:e.conversationId},r().createElement(h.k,{url:t,render:t=>{let{active:i}=t;return r().createElement(u.EM,(0,n.A)({className:l()("item",{"actions-active":e.conversationId===Q,active:i}),onClick:T},a?{url:(0,g.Q)(a,e)}:null),r().createElement("div",{className:"item-title",title:e.title},e.title||(0,p.t)(p.K.UNTITLED)),r().createElement(u.qu,{className:"actions",actions:W,onActionClick:t=>{y({action:t.detail,item:e})},onVisibleChange:t=>{F(t.detail?e.conversationId:null)}}),!m.QB.includes(e.state)&&r().createElement("div",{className:"working"}))}}))})):r().createElement("li",{className:"loading"},r().createElement(u.Bj,{lib:"antd",theme:"outlined",icon:"loading-3-quarters",spinning:!0})),J?r().createElement("li",{className:"error"},"Failed to load chat history"):null),!j&&L&&r().createElement("div",{className:"load-more",ref:X},r().createElement(u.Bj,{lib:"antd",icon:"loading-3-quarters",spinning:!0}))))}function f(e){let{rootRef:t,title:i,collapsed:n,children:a,onToggle:s}=e;const c=(0,o.useRef)(null),[p,m]=(0,o.useState)(!1);return(0,o.useEffect)((()=>{if(n)return void m(!1);const e=t.current,i=c.current,o=null==i?void 0:i.nextElementSibling;if(!e||!i||!o)return;const r=(0,d.throttle)((()=>{const e=i.getBoundingClientRect(),t=o.getBoundingClientRect().top-e.top-e.height;m(t<1)}),100);return e.addEventListener("scroll",r),()=>{e.removeEventListener("scroll",r)}}),[n,t]),r().createElement("div",{className:l()("section-title",{sticky:p}),ref:c},r().createElement("div",{className:"section-label",onClick:s},i,r().createElement(u.Bj,{lib:"fa",icon:"angle-down"})),a)}},94504:(e,t,i)=>{i.d(t,{k:()=>r});var n=i(18769),o=i(30348);function r(e){let{url:t,activeIncludes:i,render:r}=e;const[a,l]=(0,n.useState)(!1);return(0,n.useEffect)((()=>{function e(e){if(t){for(const n of[t,...null!=i?i:[]])if((0,o.matchPath)(e.pathname,{path:n,exact:!1}))return void l(!0);l(!1)}else l(!1)}const n=(0,o.getHistory)();return e(n.location),n.listen(e)}),[t,i]),r({active:a})}}}]);
3
+ //# sourceMappingURL=2084.778e8126.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/2084.778e8126.js","mappings":"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","sources":["webpack:///./src/elevo-sidebar/i18n.ts","webpack:///./src/elevo-sidebar/styles.shadow.css","webpack:///./src/elevo-sidebar/bricks.ts","webpack:///../../node_modules/@next-api-sdk/llm-sdk/dist/esm/api/llm/elevo/getElevoProjects.js","webpack:///../../node_modules/@next-api-sdk/llm-sdk/dist/esm/api/llm/elevo/listElevoConversations.js","webpack:///./src/elevo-sidebar/ChatHistory.tsx","webpack:///./src/elevo-sidebar/NavLink.tsx"],"sourcesContent":["import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n NEW_CHAT = \"NEW_CHAT\",\n LOGOUT = \"LOGOUT\",\n TODAY = \"TODAY\",\n YESTERDAY = \"YESTERDAY\",\n PREVIOUS_7_DAYS = \"PREVIOUS_7_DAYS\",\n PREVIOUS_30_DAYS = \"PREVIOUS_30_DAYS\",\n SWITCH_LANGUAGE = \"SWITCH_LANGUAGE\",\n MY = \"MY\",\n PROJECTS = \"PROJECTS\",\n HISTORY = \"HISTORY\",\n CREATE_PROJECT = \"CREATE_PROJECT\",\n MOVE_TO_PROJECT = \"MOVE_TO_PROJECT\",\n UNTITLED = \"UNTITLED\",\n UNNAMED = \"UNNAMED\",\n}\n\nconst en: Locale = {\n [K.NEW_CHAT]: \"New chat\",\n [K.LOGOUT]: \"Logout\",\n [K.TODAY]: \"Today\",\n [K.YESTERDAY]: \"Yesterday\",\n [K.PREVIOUS_7_DAYS]: \"Previous 7 days\",\n [K.PREVIOUS_30_DAYS]: \"Previous 30 days\",\n [K.SWITCH_LANGUAGE]: \"中文\",\n [K.MY]: \"My\",\n [K.PROJECTS]: \"Projects\",\n [K.HISTORY]: \"Chats\",\n [K.CREATE_PROJECT]: \"Create project\",\n [K.MOVE_TO_PROJECT]: \"Move to project\",\n [K.UNTITLED]: \"Untitled\",\n [K.UNNAMED]: \"Unnamed\",\n};\n\nconst zh: Locale = {\n [K.NEW_CHAT]: \"新对话\",\n [K.LOGOUT]: \"登出\",\n [K.TODAY]: \"今天\",\n [K.YESTERDAY]: \"昨天\",\n [K.PREVIOUS_7_DAYS]: \"过去7天\",\n [K.PREVIOUS_30_DAYS]: \"过去30天\",\n [K.SWITCH_LANGUAGE]: \"English\",\n [K.MY]: \"我的\",\n [K.PROJECTS]: \"项目\",\n [K.HISTORY]: \"对话\",\n [K.CREATE_PROJECT]: \"创建项目\",\n [K.MOVE_TO_PROJECT]: \"移动到项目\",\n [K.UNTITLED]: \"无标题\",\n [K.UNNAMED]: \"未命名\",\n};\n\nexport const NS = \"bricks/ai-portal/elevo-sidebar\";\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","// 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}.sidebar{position:relative;z-index:2;width:260px;height:100%;background:rgba(246,247,249,0.5);border:1px solid rgba(255,255,255,0.3);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:23px 11px 0;display:flex;flex-direction:column;transition:transform 0.3s ease-in-out}.logo-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;margin-left:4px}.logo-link::part(link){display:block}.logo{vertical-align:middle}.new-chat::part(link){display:flex;gap:0;align-items:center;color:var(--elevo-color-brand);font-size:14px;text-align:left;cursor:pointer}.sidebar .new-chat::part(link){background:#f0f4ff;border-radius:8px;border:1px solid #c9d7ff;padding:9px 13px;font-weight:500;margin-bottom:16px}.sidebar .new-chat::part(link):hover{background:rgba(201,215,255,0.5)}.new-chat-icon{font-size:16px;margin-right:5px}.footer{border-top:1px solid rgba(0,0,0,0.04);padding:9px 12px;margin:0 -12px}.dropdown{display:block}.account{background:none;border:none;border-radius:8px;padding:6px 10px;display:block;width:100%;text-align:left;cursor:pointer}.account:hover{background:rgba(0,0,0,0.04)}.alternative{position:fixed;top:12px;left:8px;padding:6px 10px 6px 8px;display:flex;align-items:center;opacity:0;z-index:2;transition:opacity 0.2s ease-in-out;background:rgba(255,255,255,0);border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.alternative .new-chat::part(link){padding:4px;margin-left:16px;font-size:12px}.alternative .new-chat::part(link):hover{color:#7891ff}.alternative .new-chat::part(link):active{color:#0911b3}.container{width:270px;padding:10px 0 10px 10px;height:100%;transition:width 0.3s ease-in-out,padding 0.3s ease-in-out}.container.collapsed{width:0;padding:10px 0;overflow:visible}.container.collapsed .sidebar{transform:translateX(-100%)}.container.collapsed .alternative{opacity:1}:host([behavior=\"drawer\"]){z-index:2;width:0}:host(:not([behavior=\"drawer\"])) .alternative .new-chat{display:none}.mask{position:fixed;top:0;right:0;bottom:0;left:0}.links{border-bottom:1px solid rgba(0,0,0,0.06);padding-bottom:16px;margin-bottom:16px}.link{display:block}.link + .link{margin-top:4px}.link::part(link){display:flex;gap:0;align-items:center;padding:7px 10px;border-radius:8px;color:#000}.link.active::part(link),.link::part(link):hover{background:rgba(0,0,0,0.04)}.link .icon{font-size:16px;margin-right:10px}.link .title{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.history{flex:1;min-height:0;overflow-y:auto;margin:0 -12px;padding:0 12px}.history ul{list-style:none;margin:0;padding:0}.history .section + .section{margin-top:14px}.history .section-title{display:flex;align-items:center;justify-content:space-between;height:30px;margin-bottom:6px;padding:0 8px;position:sticky;top:0}.history .section-title.sticky::before{content:\"\";position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgb(229,228,234);border-radius:8px;z-index:-1}.history .section-label{display:flex;align-items:center;height:24px;padding:0 8px;margin-left:-8px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;font-size:12px;color:#8c8c8c;border-radius:8px}.history .section-label eo-icon{vertical-align:middle;margin-left:6px;transition:transform 0.2s ease-in-out}.history .section-label:hover{background:rgba(0,0,0,0.04)}.history .collapsed > ul{display:none}.history .collapsed .section-label eo-icon{transform:rotate(-90deg)}.history .error,.history .loading{display:flex;align-items:center;height:36px;padding:0 8px}.history .loading{justify-content:center}.history .error{color:var(--color-error)}.history .group + .group{margin-top:15px}.history .group-title{font-weight:500;font-size:12px;color:#000;padding:8px;height:36px;line-height:20px}.history .item{display:block}.history .item::part(link){display:flex;align-items:center;padding:0 8px;height:36px;border-radius:8px;color:#000}.history .item.active::part(link){background:rgba(0,0,0,0.06)}.history .item.actions-active::part(link),.history .item::part(link):hover{background:rgba(0,0,0,0.04)}.history .item-title{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.history .actions{cursor:auto}.history .item:not(:hover):not(.actions-active) .actions{display:none}.history .working{width:8px;height:8px;border-radius:8px;background:var(--elevo-color-brand);margin:0 7px}.history .item.actions-active .working,.history .item:hover .working,.history .item.active .working{display:none}.history .load-more{display:flex;justify-content:center;align-items:center;height:36px}.button{display:flex}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport type {\n EoDropdownActions,\n DropdownActionsProps,\n DropdownActionsEvents,\n DropdownActionsEventsMapping,\n} from \"@next-bricks/basic/dropdown-actions\";\nimport type {\n EoEasyopsAvatar,\n EoEasyopsAvatarProps,\n} from \"@next-bricks/basic/easyops-avatar\";\nimport type {\n EoMiniActions,\n EoMiniActionsEvents,\n EoMiniActionsEventsMapping,\n EoMiniActionsProps,\n} from \"@next-bricks/basic/mini-actions\";\nimport type { IconButton, IconButtonProps } from \"../icon-button\";\n\nexport const WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nexport const WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nexport const WrappedDropdownActions = wrapBrick<\n EoDropdownActions,\n DropdownActionsProps,\n DropdownActionsEvents,\n DropdownActionsEventsMapping\n>(\"eo-dropdown-actions\", {\n onActionClick: \"action.click\",\n onVisibleChange: \"visible.change\",\n});\nexport const WrappedEasyopsAvatar = wrapBrick<\n EoEasyopsAvatar,\n EoEasyopsAvatarProps\n>(\"eo-easyops-avatar\");\nexport const WrappedMiniActions = wrapBrick<\n EoMiniActions,\n EoMiniActionsProps & { themeVariant?: \"default\" | \"elevo\" },\n EoMiniActionsEvents,\n EoMiniActionsEventsMapping\n>(\"eo-mini-actions\", {\n onActionClick: \"action.click\",\n onVisibleChange: \"visible.change\",\n});\nexport const WrappedIconButton = wrapBrick<IconButton, IconButtonProps>(\n \"ai-portal.icon-button\"\n);\n","import { http } from \"@next-core/http\";\n/**\n * @description 获取elevo项目列表\n * @endpoint list /api/v1/elevo/projects\n */\nexport const ElevoApi_getElevoProjects = async (params, options) => /**! @contract easyops.api.llm.elevo.GetElevoProjects@1.0.0 */(await http.get(\"api/gateway/logic.llm.aiops_service/api/v1/elevo/projects\", {\n ...options,\n params\n})).data;\n//# sourceMappingURL=getElevoProjects.js.map","import { http } from \"@next-core/http\";\n/**\n * @description 获取elevo会话列表\n * @endpoint GET /api/v1/elevo/conversations\n */\nexport const ElevoApi_listElevoConversations = async (params, options) => /**! @contract easyops.api.llm.elevo.ListElevoConversations@1.0.0 */(await http.get(\"api/gateway/logic.llm.aiops_service/api/v1/elevo/conversations\", {\n ...options,\n params\n})).data;\n//# sourceMappingURL=listElevoConversations.js.map","import React, {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n type MutableRefObject,\n type PropsWithChildren,\n} from \"react\";\nimport classNames from \"classnames\";\nimport {\n ElevoApi_listElevoConversations,\n ElevoApi_getElevoProjects,\n type ElevoApi_ListElevoConversationsRequestParams,\n} from \"@next-api-sdk/llm-sdk\";\nimport type {\n ActionType,\n SimpleActionType,\n} from \"@next-bricks/basic/mini-actions\";\nimport type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport { isEqual, throttle } from \"lodash\";\nimport { K, t } from \"./i18n.js\";\nimport {\n WrappedIcon,\n WrappedLink,\n WrappedMiniActions,\n WrappedIconButton,\n} from \"./bricks.js\";\nimport { DONE_STATES } from \"../shared/constants.js\";\nimport { parseTemplate } from \"../shared/parseTemplate.js\";\nimport type { ConversationState } from \"../shared/interfaces.js\";\nimport type { SidebarLink } from \"./index.js\";\nimport { NavLink } from \"./NavLink.js\";\n\nconst ADD_ICON: GeneralIconProps = {\n lib: \"fa\",\n icon: \"plus\",\n};\n\nexport interface HistoryItem {\n conversationId: string;\n title: string;\n startTime: number;\n state?: ConversationState;\n}\n\nexport interface GroupedHistory {\n title: string;\n items: HistoryItem[];\n}\n\nexport interface ActionClickDetail {\n action: SimpleActionType;\n item: HistoryItem;\n project?: Project;\n}\n\nexport interface ProjectActionClickDetail {\n action: SimpleActionType;\n project: Project;\n}\n\nexport interface Project {\n /** 实例ID */\n instanceId: string;\n /** 项目名称 */\n name: string;\n /** 项目描述 */\n description: string;\n /** 状态 */\n state: \"active\" | \"inactive\";\n /** 默认数字人ID */\n defaultAiEmployeeId: string;\n /** 创建者 */\n creator: string;\n /** 创建时间 */\n ctime: string;\n /** 修改时间 */\n mtime: string;\n /** 修改者 */\n modifier: string;\n}\n\nexport interface ChatHistoryProps {\n historyUrlTemplate?: string;\n historyActions?: ActionType[];\n projectUrlTemplate?: string;\n projectActions?: ActionType[];\n canAddProject?: boolean;\n myLinks?: SidebarLink[];\n onActionClick: (detail: ActionClickDetail) => void;\n onHistoryClick: () => void;\n onProjectActionClick: (detail: ProjectActionClickDetail) => void;\n onAddProject: () => void;\n}\n\nexport interface ChatHistoryRef {\n pull: () => void;\n removeProject?: (projectId: string) => void;\n addProject?: (project: Project) => void;\n moveConversation?: (conversationId: string) => void;\n}\n\nexport const ChatHistory = forwardRef(LowLevelChatHistory);\n\nexport function LowLevelChatHistory(\n {\n historyActions,\n historyUrlTemplate,\n projectUrlTemplate,\n projectActions,\n canAddProject,\n myLinks,\n onActionClick,\n onHistoryClick,\n onProjectActionClick,\n onAddProject,\n }: ChatHistoryProps,\n ref: React.Ref<ChatHistoryRef>\n) {\n const rootRef = useRef<HTMLDivElement | null>(null);\n const [myCollapsed, setMyCollapsed] = useState(false);\n const [projects, setProjects] = useState<Project[] | null>(null);\n const [projectsCollapsed, setProjectsCollapsed] = useState(false);\n const [projectsError, setProjectsError] = useState(false);\n const [historyList, setHistoryList] = useState<HistoryItem[] | null>(null);\n const [historyCollapsed, setHistoryCollapsed] = useState(false);\n const [nextToken, setNextToken] = useState<string | undefined>();\n const [loadNextToken, setLoadNextToken] = useState<string | undefined>();\n const [historyError, setHistoryError] = useState(false);\n const initialRef = useRef(true);\n const [movedConversations, setMovedConversations] = useState<string[]>([]);\n\n const mergedHistoryActions = useMemo(\n () =>\n [\n ...(historyActions ?? []),\n {\n isDropdown: true,\n text: t(K.MOVE_TO_PROJECT),\n disabled: !projects?.length,\n items: projects?.map((project) => ({\n event: \"move\",\n key: project.instanceId,\n text: project.name,\n project,\n })),\n },\n ] as ActionType[],\n [historyActions, projects]\n );\n\n useEffect(() => {\n (async () => {\n try {\n const projects = await ElevoApi_getElevoProjects({\n page: 1,\n page_size: 3000,\n });\n setProjects(projects.list as Project[]);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Error loading projects:\", error);\n setProjectsError(true);\n setProjects([]);\n }\n })();\n }, []);\n\n useEffect(() => {\n Promise.all([\n ElevoApi_listElevoConversations(\n {\n token: loadNextToken,\n limit: 30,\n onlyOwner: true,\n onlyUnrelatedProject: true,\n } as ElevoApi_ListElevoConversationsRequestParams,\n {\n interceptorParams: {\n ignoreLoadingBar: true,\n },\n }\n ),\n ...(initialRef.current\n ? []\n : [\n new Promise((resolve) => setTimeout(resolve, 500)), // Force a minimum delay\n ]),\n ])\n .then(([data]) => {\n initialRef.current = false;\n setHistoryList((prev) => [\n ...(prev ?? []),\n ...(data.conversations as HistoryItem[]),\n ]);\n setNextToken(data.nextToken);\n })\n .catch((error) => {\n // eslint-disable-next-line no-console\n console.error(\"Error loading chat history:\", error);\n setHistoryList([]);\n setHistoryError(true);\n });\n }, [loadNextToken]);\n\n const [actionsVisible, setActionsVisible] = useState<string | null>(null);\n\n const nextRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(() => {\n const next = nextRef.current;\n const root = rootRef.current;\n if (!next || !nextToken || !root || historyCollapsed) {\n return;\n }\n const observer = new IntersectionObserver(\n (entries) => {\n for (const entry of entries) {\n if (entry.isIntersecting) {\n setLoadNextToken(nextToken);\n }\n }\n },\n { root }\n );\n observer.observe(next);\n return () => {\n observer.disconnect();\n };\n }, [nextToken, historyCollapsed]);\n\n const pullIdRef = useRef(0);\n\n const pull = useCallback(async () => {\n try {\n const pullId = ++pullIdRef.current;\n const tempList = await ElevoApi_listElevoConversations(\n {\n limit: 30,\n onlyOwner: true,\n onlyUnrelatedProject: true,\n } as ElevoApi_ListElevoConversationsRequestParams,\n {\n interceptorParams: {\n ignoreLoadingBar: true,\n },\n }\n );\n if (pullId !== pullIdRef.current) {\n // Ignore this pull if a newer one has been triggered\n return;\n }\n setHistoryList((prev) => {\n const prevList = prev ?? [];\n const newList = tempList.conversations as HistoryItem[];\n const newIds = new Set(newList.map((item) => item.conversationId));\n const newItemsMap = new Map(\n newList.map((item) => [item.conversationId, item])\n );\n\n let foundIntersection = false;\n let foundChanged = false;\n let isFirst = true;\n for (const item of prevList) {\n const newItem = newItemsMap.get(item.conversationId);\n if (newItem) {\n foundIntersection = true;\n foundChanged =\n (isFirst && newItem !== newList[0]) || !isEqual(newItem, item);\n if (foundChanged) {\n break;\n }\n } else {\n break;\n }\n isFirst = false;\n }\n\n if (!foundIntersection) {\n setNextToken(tempList.nextToken);\n return newList;\n }\n\n if (foundChanged) {\n return [\n ...newList,\n ...prevList.filter((item) => !newIds.has(item.conversationId)),\n ];\n }\n\n return prev;\n });\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Error pulling chat history:\", error);\n }\n }, []);\n\n useImperativeHandle(\n ref,\n () => ({\n pull,\n removeProject: (projectId: string) => {\n setProjects((prev) =>\n prev ? prev.filter((p) => p.instanceId !== projectId) : prev\n );\n },\n addProject: (project: Project) => {\n setProjects((prev) => (prev ? [...prev, project] : [project]));\n },\n moveConversation: (conversationId: string) => {\n setMovedConversations((prev) => [...prev, conversationId]);\n },\n }),\n [pull]\n );\n\n const filteredHistoryList = useMemo(() => {\n if (!historyList || !historyList.length) {\n return historyList;\n }\n return historyList.filter(\n (item) => !movedConversations.includes(item.conversationId)\n );\n }, [historyList, movedConversations]);\n\n return (\n <div className=\"history\" ref={rootRef}>\n {myLinks?.length ? (\n <div className={classNames(\"section\", { collapsed: myCollapsed })}>\n <SectionTitle\n rootRef={rootRef}\n title={t(K.MY)}\n collapsed={myCollapsed}\n onToggle={() => setMyCollapsed((prev) => !prev)}\n />\n <ul className=\"items\">\n {myLinks.map((link, index) => (\n <li key={index}>\n <NavLink\n url={link.url}\n activeIncludes={link.activeIncludes}\n render={({ active }) => (\n <WrappedLink\n className={classNames(\"item\", { active })}\n url={link.url}\n >\n <div className=\"item-title\">{link.title}</div>\n </WrappedLink>\n )}\n />\n </li>\n ))}\n </ul>\n </div>\n ) : null}\n <div className={classNames(\"section\", { collapsed: projectsCollapsed })}>\n <SectionTitle\n rootRef={rootRef}\n title={t(K.PROJECTS)}\n collapsed={projectsCollapsed}\n onToggle={() => setProjectsCollapsed((prev) => !prev)}\n >\n {canAddProject && (\n <WrappedIconButton\n icon={ADD_ICON}\n variant=\"mini-light\"\n tooltip={t(K.CREATE_PROJECT)}\n tooltipHoist={true}\n className=\"button\"\n onClick={onAddProject}\n />\n )}\n </SectionTitle>\n <ul className=\"items\">\n {projectsError ? (\n <li className=\"error\">Failed to load project</li>\n ) : projects ? (\n projects.map((project) => {\n const url = projectUrlTemplate\n ? parseTemplate(projectUrlTemplate, project)\n : undefined;\n return (\n <li key={project.instanceId}>\n <NavLink\n url={url}\n render={({ active }) => (\n <WrappedLink\n className={classNames(\"item\", {\n \"actions-active\":\n project.instanceId === actionsVisible,\n active,\n })}\n onClick={onHistoryClick}\n {...(url ? { url } : null)}\n >\n <div className=\"item-title\" title={project.name}>\n {project.name || t(K.UNNAMED)}\n </div>\n <WrappedMiniActions\n className=\"actions\"\n actions={projectActions}\n themeVariant=\"elevo\"\n onActionClick={(e) => {\n onProjectActionClick({ action: e.detail, project });\n }}\n onVisibleChange={(e) => {\n setActionsVisible(\n e.detail ? project.instanceId : null\n );\n }}\n />\n </WrappedLink>\n )}\n />\n </li>\n );\n })\n ) : (\n <li className=\"loading\">\n <WrappedIcon\n lib=\"antd\"\n theme=\"outlined\"\n icon=\"loading-3-quarters\"\n spinning\n />\n </li>\n )}\n </ul>\n </div>\n <div className={classNames(\"section\", { collapsed: historyCollapsed })}>\n <SectionTitle\n rootRef={rootRef}\n title={t(K.HISTORY)}\n collapsed={historyCollapsed}\n onToggle={() => setHistoryCollapsed((prev) => !prev)}\n />\n <ul className=\"items\">\n {filteredHistoryList ? (\n filteredHistoryList.map((item) => {\n const url = historyUrlTemplate\n ? parseTemplate(historyUrlTemplate, item)\n : undefined;\n return (\n <li key={item.conversationId}>\n <NavLink\n url={url}\n render={({ active }) => (\n <WrappedLink\n className={classNames(\"item\", {\n \"actions-active\":\n item.conversationId === actionsVisible,\n active,\n })}\n onClick={onHistoryClick}\n {...(historyUrlTemplate\n ? { url: parseTemplate(historyUrlTemplate, item) }\n : null)}\n >\n <div className=\"item-title\" title={item.title}>\n {item.title || t(K.UNTITLED)}\n </div>\n <WrappedMiniActions\n className=\"actions\"\n actions={mergedHistoryActions}\n onActionClick={(e) => {\n onActionClick({ action: e.detail, item });\n }}\n onVisibleChange={(e) => {\n setActionsVisible(\n e.detail ? item.conversationId : null\n );\n }}\n />\n {!DONE_STATES.includes(item.state!) && (\n <div className=\"working\"></div>\n )}\n </WrappedLink>\n )}\n />\n </li>\n );\n })\n ) : (\n <li className=\"loading\">\n <WrappedIcon\n lib=\"antd\"\n theme=\"outlined\"\n icon=\"loading-3-quarters\"\n spinning\n />\n </li>\n )}\n {historyError ? (\n <li className=\"error\">Failed to load chat history</li>\n ) : null}\n </ul>\n {!historyCollapsed && nextToken && (\n <div className=\"load-more\" ref={nextRef}>\n <WrappedIcon lib=\"antd\" icon=\"loading-3-quarters\" spinning />\n </div>\n )}\n </div>\n </div>\n );\n}\n\ninterface SectionTitleProps {\n rootRef: MutableRefObject<HTMLDivElement | null>;\n title: string;\n collapsed: boolean;\n onToggle: () => void;\n}\n\nfunction SectionTitle({\n rootRef,\n title,\n collapsed,\n children,\n onToggle,\n}: PropsWithChildren<SectionTitleProps>) {\n const ref = useRef<HTMLDivElement | null>(null);\n const [stickyActive, setStickyActive] = useState(false);\n\n useEffect(() => {\n if (collapsed) {\n setStickyActive(false);\n return;\n }\n const parent = rootRef.current;\n const element = ref.current;\n const sibling = element?.nextElementSibling as HTMLElement | null;\n if (!parent || !element || !sibling) {\n return;\n }\n const onScroll = throttle(() => {\n const rect = element.getBoundingClientRect();\n const siblingRect = sibling.getBoundingClientRect();\n const diff = siblingRect.top - rect.top - rect.height;\n setStickyActive(diff < 1);\n }, 100);\n parent.addEventListener(\"scroll\", onScroll);\n return () => {\n parent.removeEventListener(\"scroll\", onScroll);\n };\n }, [collapsed, rootRef]);\n\n return (\n <div\n className={classNames(\"section-title\", { sticky: stickyActive })}\n ref={ref}\n >\n <div className=\"section-label\" onClick={onToggle}>\n {title}\n <WrappedIcon lib=\"fa\" icon=\"angle-down\" />\n </div>\n {children}\n </div>\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport { getHistory, matchPath } from \"@next-core/runtime\";\nimport type { Location } from \"history\";\n\nexport interface NavLinkProps {\n url?: string;\n activeIncludes?: string[];\n render: (props: { active: boolean }) => React.ReactElement;\n}\n\nexport function NavLink({ url, activeIncludes, render }: NavLinkProps) {\n const [active, setActive] = useState(false);\n\n useEffect(() => {\n function checkLinkActive(loc: Location) {\n if (!url) {\n setActive(false);\n return;\n }\n for (const path of [url, ...(activeIncludes ?? [])]) {\n const matched = matchPath(loc.pathname, { path, exact: false });\n if (matched) {\n setActive(true);\n return;\n }\n }\n setActive(false);\n }\n const history = getHistory();\n checkLinkActive(history.location);\n return history.listen(checkLinkActive);\n }, [url, activeIncludes]);\n\n return render({ active });\n}\n"],"names":["K","en","NEW_CHAT","LOGOUT","TODAY","YESTERDAY","PREVIOUS_7_DAYS","PREVIOUS_30_DAYS","SWITCH_LANGUAGE","MY","PROJECTS","HISTORY","CREATE_PROJECT","MOVE_TO_PROJECT","UNTITLED","UNNAMED","zh","NS","locales","t","i18n","getFixedT","___CSS_LOADER_EXPORT___","push","module","id","toString","WrappedIcon","wrapBrick","WrappedLink","WrappedDropdownActions","onActionClick","onVisibleChange","WrappedEasyopsAvatar","WrappedMiniActions","WrappedIconButton","ElevoApi_listElevoConversations","async","params","options","http","get","data","ADD_ICON","lib","icon","ChatHistory","forwardRef","LowLevelChatHistory","_ref","ref","historyActions","historyUrlTemplate","projectUrlTemplate","projectActions","canAddProject","myLinks","onHistoryClick","onProjectActionClick","onAddProject","rootRef","useRef","myCollapsed","setMyCollapsed","useState","projects","setProjects","projectsCollapsed","setProjectsCollapsed","projectsError","setProjectsError","historyList","setHistoryList","historyCollapsed","setHistoryCollapsed","nextToken","setNextToken","loadNextToken","setLoadNextToken","historyError","setHistoryError","initialRef","movedConversations","setMovedConversations","mergedHistoryActions","useMemo","isDropdown","text","disabled","length","items","map","project","event","key","instanceId","name","useEffect","page","page_size","ElevoApi_getElevoProjects","list","error","console","Promise","all","token","limit","onlyOwner","onlyUnrelatedProject","interceptorParams","ignoreLoadingBar","current","resolve","setTimeout","then","_ref2","prev","conversations","catch","actionsVisible","setActionsVisible","nextRef","next","root","observer","IntersectionObserver","entries","entry","isIntersecting","observe","disconnect","pullIdRef","pull","useCallback","pullId","tempList","prevList","newList","newIds","Set","item","conversationId","newItemsMap","Map","foundIntersection","foundChanged","isFirst","newItem","isEqual","filter","has","useImperativeHandle","removeProject","projectId","p","addProject","moveConversation","filteredHistoryList","includes","React","className","classNames","collapsed","SectionTitle","title","onToggle","link","index","NavLink","url","activeIncludes","render","_ref3","active","variant","tooltip","tooltipHoist","onClick","parseTemplate","undefined","_ref4","_extends","actions","themeVariant","e","action","detail","theme","spinning","_ref5","DONE_STATES","state","_ref6","children","stickyActive","setStickyActive","parent","element","sibling","nextElementSibling","onScroll","throttle","rect","getBoundingClientRect","diff","top","height","addEventListener","removeEventListener","sticky","setActive","checkLinkActive","loc","path","matchPath","pathname","exact","history","getHistory","location","listen"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[3227],{1703:(e,t,n)=>{n.d(t,{A:()=>s});var o=n(36758),a=n.n(o),r=n(40935),i=n.n(r)()(a());i.push([e.id,".files--SBFNeFls{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:4px;list-style:none;margin:12px 0 0;padding:0}.large--M2NOUc4a{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.file--sJi1z1FZ{background:rgba(0,0,0,0.04);border-radius:8px;display:flex;height:60px;align-items:center;padding:0 14px}.file--sJi1z1FZ,\n.file--sJi1z1FZ:hover{color:var(--elevo-color-brand)}.file--sJi1z1FZ:hover{background:rgba(0,0,0,0.08)}.content--W8hFyMBh{min-width:0;flex:1}.icon--OV3uC006{margin-right:11px}.name--i9JLowqW,\n.metadata--xbNLgFgO{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name--i9JLowqW{color:rgba(0,0,0,0.88)}.metadata--xbNLgFgO{color:rgba(0,0,0,0.45);font-size:12px;margin-top:3px}",""]),i.locals={files:"files--SBFNeFls",large:"large--M2NOUc4a",file:"file--sJi1z1FZ",content:"content--W8hFyMBh",icon:"icon--OV3uC006",name:"name--i9JLowqW",metadata:"metadata--xbNLgFgO"};const s=i},2901:(e,t,n)=>{n.d(t,{I:()=>i,K:()=>a,NS:()=>r,t:()=>s});var o=n(52616);let a=function(e){return e.YES="YES",e.NO="NO",e.TASK_COMPLETED="TASK_COMPLETED",e.SHARE="SHARE",e.TYPE_YOUR_MESSAGE_HERE="TYPE_YOUR_MESSAGE_HERE",e.ARGUMENTS="ARGUMENTS",e.PROCESS="PROCESS",e.RESPONSE="RESPONSE",e.SWITCH_TO_CHAT="SWITCH_TO_CHAT",e.BACK_TO_CENTER="BACK_TO_CENTER",e.ZOOM_IN="ZOOM_IN",e.ZOOM_OUT="ZOOM_OUT",e.FULLSCREEN="FULLSCREEN",e.SEND_MESSAGE="SEND_MESSAGE",e.UNTITLED="UNTITLED",e.FILE_PREVIEW_UNPREVIEWABLE_TIP_PREFIX="FILE_PREVIEW_UNPREVIEWABLE_TIP_PREFIX",e.FILE_PREVIEW_UNPREVIEWABLE_TIP_SUFFIX="FILE_PREVIEW_UNPREVIEWABLE_TIP_SUFFIX",e.DOWNLOAD="DOWNLOAD",e}({});const r="bricks/ai-portal/cruise-canvas",i={en:{YES:"Yes",NO:"No",TASK_COMPLETED:"Task completed",SHARE:"Share",TYPE_YOUR_MESSAGE_HERE:"Type your message here",ARGUMENTS:"Arguments",PROCESS:"Process",RESPONSE:"Response",SWITCH_TO_CHAT:"Switch to chat",BACK_TO_CENTER:"Back to center",ZOOM_IN:"Zoom in",ZOOM_OUT:"Zoom out",FULLSCREEN:"Fullscreen",SEND_MESSAGE:"Send message",UNTITLED:"Untitled",FILE_PREVIEW_UNPREVIEWABLE_TIP_PREFIX:"This file is unpreviewable currently, you can",FILE_PREVIEW_UNPREVIEWABLE_TIP_SUFFIX:"and view it locally.",DOWNLOAD:"Download"},zh:{YES:"是",NO:"否",TASK_COMPLETED:"任务完成",SHARE:"分享",TYPE_YOUR_MESSAGE_HERE:"在这里输入信息",ARGUMENTS:"参数",PROCESS:"过程",RESPONSE:"响应",SWITCH_TO_CHAT:"切换为聊天",BACK_TO_CENTER:"回中",ZOOM_IN:"放大",ZOOM_OUT:"缩小",FULLSCREEN:"全屏",SEND_MESSAGE:"发送消息",UNTITLED:"未命名",FILE_PREVIEW_UNPREVIEWABLE_TIP_PREFIX:"该类型文件暂不支持预览,您可以",FILE_PREVIEW_UNPREVIEWABLE_TIP_SUFFIX:"查看。",DOWNLOAD:"下载"}},s=o.i18n.getFixedT(null,r)},3921:(e,t,n)=>{e.exports=n.p+"images/f85dd9e6.png"},7017:(e,t,n)=>{n.d(t,{A:()=>s});var o=n(36758),a=n.n(o),r=n(40935),i=n.n(r)()(a());i.push([e.id,".container--nviLvTo4{position:absolute;right:0;top:72px;bottom:72px;padding:48px 0;overflow-y:auto;scrollbar-width:none;pointer-events:none}.nav--lm9zwHhG{list-style:none;margin:0;padding:20px 0;background:rgba(255,255,255,0);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto}.container--nviLvTo4,\n.nav--lm9zwHhG{border-radius:8px 0px 0px 8px}.link--sJDeRfjL{display:flex;align-items:center;width:170px;height:36px;border-radius:18px 0 0 18px;padding:0 24px 0 16px;font-size:13px}.link--sJDeRfjL,\n.link--sJDeRfjL:hover{color:rgba(93,105,126,0.7)}.link--sJDeRfjL.disabled--UpGab11N{cursor:default}.item--B4GvcxMx:not(:first-child){margin-top:12px}.icon--YLvYVRdC{margin-right:12px;font-size:14px;color:#abaab7}.text--PwKz_ODc{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link--sJDeRfjL:not(.disabled--UpGab11N):hover,\n.item--B4GvcxMx.active--DwuLIQY_ .link--sJDeRfjL{background-color:rgba(255,255,255,0.2)}.item--B4GvcxMx.active--DwuLIQY_ .link--sJDeRfjL{font-size:14px;color:#424a58;padding-right:16px}.completed--ZPZ8DEeN .icon--YLvYVRdC{color:#0fbe59}.failed--dxvB8UKT .icon--YLvYVRdC{color:#f24c25}.working--IbqFvpPm .icon--YLvYVRdC{color:var(--elevo-color-brand)}.input-required--zcO5ZufK .icon--YLvYVRdC{color:#12aacc}.canceled--GqvLm_YF .icon--YLvYVRdC{color:#fcaa07}@media (max-height: 639px){.container--nviLvTo4{padding:0}}@media (max-width: 719px){.container--nviLvTo4{display:none}}",""]),i.locals={container:"container--nviLvTo4",nav:"nav--lm9zwHhG",link:"link--sJDeRfjL",disabled:"disabled--UpGab11N",item:"item--B4GvcxMx",icon:"icon--YLvYVRdC",text:"text--PwKz_ODc",active:"active--DwuLIQY_",completed:"completed--ZPZ8DEeN",failed:"failed--dxvB8UKT",working:"working--IbqFvpPm","input-required":"input-required--zcO5ZufK",canceled:"canceled--GqvLm_YF"};const s=i},24105:(e,t,n)=>{n.d(t,{A:()=>s});var o=n(36758),a=n.n(o),r=n(40935),i=n.n(r)()(a());i.push([e.id,".loading--LlSQxd6c{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:rgba(69,94,255,0.5);border-radius:24px;animation:loading--LlSQxd6c 1s infinite linear}.inner--I4b7rAPw{width:12px;height:12px;background:rgb(69,94,255);border-radius:12px}@keyframes loading--LlSQxd6c{0%{transform:scale(1);opacity:1}100%{transform:scale(1.5);opacity:0}}",""]),i.locals={loading:"loading--LlSQxd6c",inner:"inner--I4b7rAPw"};const s=i},25313:(e,t,n)=>{n.d(t,{A:()=>s});var o=n(36758),a=n.n(o),r=n(40935),i=n.n(r)()(a());i.push([e.id,".avatar--v2FiKghW::part(avatar){background-color:rgb(213,214,230);padding:1px}",""]),i.locals={avatar:"avatar--v2FiKghW"};const s=i},27110:(e,t,n)=>{n.d(t,{A:()=>p});var o=n(36758),a=n.n(o),r=n(40935),i=n.n(r),s=n(20062),l=n.n(s),c=new URL(n(3921),n.b),d=i()(a()),u=l()(c);d.push([e.id,`ai-portal\\.cruise-canvas{display:block;position:relative;width:100%;height:100%;overflow:hidden;background-color:#fff;background-image:url(${u});background-size:cover;background-repeat:no-repeat;background-position:center;background-attachment:fixed;color:#262626;--cruise-canvas-node-border:1px solid gray;--cruise-canvas-node-width-small:330px;--cruise-canvas-node-width-medium:453px;--cruise-canvas-node-width-large:800px;--cruise-canvas-primary-color:var(--elevo-color-brand);--cruise-canvas-input-background:rgba(255,255,255,0.8);--cruise-canvas-input-box-shadow:0px 1px 0px 0px #ffffff,inset 0px 2px 4px 0px #b3bcf9}.root--z6jdb_BU{width:100%;height:100%;position:relative}.widgets--r6lUPOu2{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;-webkit-user-select:none;user-select:none}.root--z6jdb_BU.loading--m5r507Hp .canvas--u6C26uH_,\n.root--z6jdb_BU.loading--m5r507Hp + .widgets--r6lUPOu2{visibility:hidden}.loading-icon--UkRBMlBy{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:48px;color:#fff}.widgets--r6lUPOu2 > *{pointer-events:auto;-webkit-user-select:text;user-select:text}.canvas--u6C26uH_,\n.edges--uNPQGWZg{width:100%;height:100%;position:absolute;transform-origin:0% 0%;-webkit-user-select:none;user-select:none}.node--IBGywwp4{position:absolute;-webkit-user-select:text;user-select:text;cursor:auto}.node--IBGywwp4:not(.ready--pmh440go),\n.canvas--u6C26uH_:not(.ready--pmh440go) > .edges--uNPQGWZg{visibility:hidden}svg.edges--uNPQGWZg{pointer-events:none;overflow:visible}.edge--muRUWYG1{fill:none;stroke-width:2px;stroke:rgba(255,255,255,0.6);stroke-dasharray:5,5}.go-back--myNmSpSv{position:absolute;top:20px;left:20px}.go-back--myNmSpSv::part(link){width:32px;height:32px;display:flex;justify-content:center;align-items:center;background:rgba(255,255,255,0.7);box-shadow:0px 3px 14px 0px rgba(0,0,0,0.1),0px 1px 4px 0px rgba(0,0,0,0.06);border-radius:8px;border:1px solid rgba(255,255,255,0.3);color:inherit;box-sizing:border-box}.go-back--myNmSpSv::part(link):hover{background:rgba(255,255,255,0.5)}.go-back--myNmSpSv::part(link):active{background:rgba(255,255,255,0.3)}.footer-container--sTjEGP7I{position:absolute;bottom:28px;left:50%;transform:translate(-50%,0);width:var(--cruise-canvas-node-width-large);max-width:80%}`,""]),d.locals={root:"root--z6jdb_BU",widgets:"widgets--r6lUPOu2",loading:"loading--m5r507Hp",canvas:"canvas--u6C26uH_","loading-icon":"loading-icon--UkRBMlBy",edges:"edges--uNPQGWZg",node:"node--IBGywwp4",ready:"ready--pmh440go",edge:"edge--muRUWYG1","go-back":"go-back--myNmSpSv","footer-container":"footer-container--sTjEGP7I"};const p=d},36137:(e,t,n)=>{n.d(t,{A:()=>p});var o=n(36758),a=n.n(o),r=n(40935),i=n.n(r),s=n(20062),l=n.n(s),c=new URL(n(91776),n.b),d=i()(a()),u=l()(c);d.push([e.id,`.node-requirement--aVjY3LFY{width:var(--cruise-canvas-node-width-medium);max-width:90vw;background-color:rgba(255,255,255,0.4);background-image:url(${u});background-position:center bottom;background-size:var(--cruise-canvas-node-width-medium) 128px;background-repeat:no-repeat;box-shadow:0px 4px 10px 0px rgba(54,64,80,0.18);border-radius:12px;-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);border:1px solid rgba(255,255,255,0.4);padding:8px;white-space:pre-wrap;position:relative}.node-requirement--aVjY3LFY.active--aEZLkOZe{border-color:#a1b5ff}.heading--F8b1aIJT{display:flex;align-items:center;margin-bottom:11px;font-size:13px}.avatar--BbtS9D46{flex:1;min-width:0}.avatar--BbtS9D46::part(avatar){border:1px solid #fff}.time--IRwoiblW{color:#8c8c8c}.body--JYv_r9n_{background:#f1f6ff;box-shadow:0px 1px 0px 0px #ffffff;border-radius:9px;padding:15px 10px;overflow-wrap:break-word}`,""]),d.locals={"node-requirement":"node-requirement--aVjY3LFY",active:"active--aEZLkOZe",heading:"heading--F8b1aIJT",avatar:"avatar--BbtS9D46",time:"time--IRwoiblW",body:"body--JYv_r9n_"};const p=d},36811:(e,t,n)=>{e.exports=n.p+"images/d4ea5a5c.png"},54998:(e,t,n)=>{n.d(t,{A:()=>s});var o=n(36758),a=n.n(o),r=n(40935),i=n.n(r)()(a());i.push([e.id,".container--qJxxNcfJ{position:fixed;top:0;right:0;bottom:0;left:0;padding:20px;background-color:var(--mask-bg)}.editor--SCuHEqYM{height:100%;max-width:1200px;margin:0 auto;background:#ffffff;box-shadow:1px 1px 10px 0px rgba(0,10,26,0.1);border-radius:12px;display:flex;flex-direction:column}.header--nRP4oDyL{height:52px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,0.15);padding:0 20px}.title--Tq8TUpVz{font-weight:500;font-size:16px;color:#262626}.body--uTZ0qYhS{flex:1;min-height:0;padding:20px;display:flex;flex-direction:column}.content--_WNf_qJr{height:100%}.footer--cblnjGHn{padding:12px 20px;border-top:1px solid rgba(0,0,0,0.15)}",""]),i.locals={container:"container--qJxxNcfJ",editor:"editor--SCuHEqYM",header:"header--nRP4oDyL",title:"title--Tq8TUpVz",body:"body--uTZ0qYhS",content:"content--_WNf_qJr",footer:"footer--cblnjGHn"};const s=i},57617:(e,t,n)=>{n.d(t,{A:()=>p});var o=n(36758),a=n.n(o),r=n(40935),i=n.n(r),s=n(20062),l=n.n(s),c=new URL(n(63747),n.b),d=i()(a()),u=l()(c);d.push([e.id,`.node-job--soTYrcA7{width:var(--cruise-canvas-node-width-medium);max-width:90vw;background:linear-gradient(180deg,#f5f8ff 0%,#edf0f9 100%);box-shadow:0px 4px 10px 0px rgba(177,149,207,0.4),0px 2px 4px 0px rgba(0,0,0,0.06);border-radius:12px;border:1px solid rgba(255,255,255,0.5);padding:8px;position:relative}.node-job--soTYrcA7.active--WIcgH7xW{border-color:#a1b5ff}.background--CKldFV7M{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;background-image:url(${u});background-repeat:no-repeat;background-position:top right;z-index:0;transition:opacity 0.15s;opacity:0}.node-job--soTYrcA7.active--WIcgH7xW .background--CKldFV7M,\n.node-job--soTYrcA7:hover .background--CKldFV7M{opacity:1}.background--CKldFV7M ~ *{position:relative;z-index:1}.fit-content--HuAZHd31{min-width:var(--cruise-canvas-node-width-medium);width:min-content}.node-job--soTYrcA7.large--bn_n8RL5{width:var(--cruise-canvas-node-width-large)}.error--IwtdD0T6{box-shadow:inset 0px 0px 8px 2px rgba(242,76,37,0.6);border-color:rgba(242,76,37,0.6)}.heading--GZqrhPqL{display:flex;align-items:center;justify-content:space-between;padding:0 5px 5px;font-size:13px;color:#8c8c8c}.body--V34MsV9R{padding:9px 4px 4px}.scrollable--LudR_5Pj{max-height:462px;overflow-y:auto}.message--iVQBlD6k:not(:first-child){margin-top:6px}.role-assistant--Y8vd9Oms,\n.role-user--nAW4Hzsu{background:var(--cruise-canvas-input-background);border-radius:9px;border:1px solid #ccd1de;padding:6px 16px}.role-user--nAW4Hzsu{white-space:pre-wrap}.role-user--nAW4Hzsu:empty{display:none}.human-input--wFc6ovnT{margin-top:1em;display:block;width:100%;padding:10px 16px;color:inherit;background:var(--cruise-canvas-input-background);box-shadow:var(--cruise-canvas-input-box-shadow);border-radius:9px;border:none;font-size:14px;line-height:22px;height:64px}.human-input--wFc6ovnT:focus{outline:none}.human-input--wFc6ovnT::placeholder{color:#bfbfbf}.node-job--soTYrcA7 *::-webkit-scrollbar{width:5px;height:5px;background:transparent}.node-job--soTYrcA7 *::-webkit-scrollbar-thumb{background-color:#d8d8d8;border-radius:3px}.node-job--soTYrcA7 *::-webkit-scrollbar-track{background:transparent}.view-container--ra1sVc4C{margin-top:10px}`,""]),d.locals={"node-job":"node-job--soTYrcA7",active:"active--WIcgH7xW",background:"background--CKldFV7M","fit-content":"fit-content--HuAZHd31",large:"large--bn_n8RL5",error:"error--IwtdD0T6",heading:"heading--GZqrhPqL",body:"body--V34MsV9R",scrollable:"scrollable--LudR_5Pj",message:"message--iVQBlD6k","role-assistant":"role-assistant--Y8vd9Oms","role-user":"role-user--nAW4Hzsu","human-input":"human-input--wFc6ovnT","view-container":"view-container--ra1sVc4C"};const p=d},58905:(e,t,n)=>{n.d(t,{A:()=>p});var o=n(36758),a=n.n(o),r=n(40935),i=n.n(r),s=n(20062),l=n.n(s),c=new URL(n(36811),n.b),d=i()(a()),u=l()(c);d.push([e.id,`.node-start--Mrh1iP5r{width:65px;height:65px;position:relative;overflow:visible}.icon--NxC4u6Wl{width:75px;height:75px;background-image:url(${u});background-size:75px 75px;background-repeat:no-repeat;background-position:center;position:absolute;left:-5px;top:-1px}`,""]),d.locals={"node-start":"node-start--Mrh1iP5r",icon:"icon--NxC4u6Wl"};const p=d},60136:(e,t,n)=>{n.d(t,{v7:()=>u,NL:()=>p,xf:()=>m});var o=n(61919);const a=n.p+"images/62542537.png",r=n.p+"images/94d7a053.png",i=n.p+"images/0e7e6764.png",s=n.p+"images/7944ebaf.png",l=n.p+"images/c7ec12fe.png",c=n.p+"images/3316492a.png",d=new Map([["md","text/markdown"],["pdf","application/pdf"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["txt","text/plain"],["xls","application/vnd.ms-excel"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["ppt","application/vnd.ms-powerpoint"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"]]);function u(e){const[t,n]=o.pipes.unitFormat(e,"bytes",1),a=+t;return`${a>100?Math.round(a):a} ${n}`}function p(e,t){const n=e||m(t);if(n.startsWith("image/"))return["Image",c];switch(n){case"text/markdown":return["Markdown",a];case"application/pdf":return["PDF",r];case"application/msword":case"application/vnd.openxmlformats-officedocument.wordprocessingml.document":return["Word",i];case"application/vnd.ms-excel":case"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":return["Excel",l];case"application/vnd.ms-powerpoint":case"application/vnd.openxmlformats-officedocument.presentationml.presentation":return["PowerPoint",s]}return n.startsWith("text/")?["Text",a]:["File",c]}function m(e){var t;let n="";const o=null==e?void 0:e.match(/\.([^.]+)$/);return o&&(n=o[1].toLowerCase()),null!==(t=d.get(n))&&void 0!==t?t:"unknown"}},63747:(e,t,n)=>{e.exports=n.p+"images/98d93242.png"},65005:(e,t,n)=>{n.d(t,{A:()=>s});var o=n(36758),a=n.n(o),r=n(40935),i=n.n(r)()(a());i.push([e.id,".node-instruction--Gu7k6RDs{max-width:437px;max-width:min(437px,90vw);background:rgba(255,255,255,0.2);box-shadow:0px 4px 10px 0px rgba(54,64,80,0.08);border-radius:9999px;border:1px solid rgba(255,255,255,0.284);padding:6px 16px;color:rgba(0,0,0,0.45)}.text--jsSeLl7B{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;--shine-text-color:rgba(0,0,0,0.45);--shine-text-highlight-color:#dcdcdc}",""]),i.locals={"node-instruction":"node-instruction--Gu7k6RDs",text:"text--jsSeLl7B"};const s=i},77221:(e,t,n)=>{n.d(t,{A:()=>s});var o=n(36758),a=n.n(o),r=n(40935),i=n.n(r)()(a());i.push([e.id,".node-end--yzRaOZnC{display:flex;flex-direction:column;align-items:center;gap:20px}.content--iXSH199p{display:flex;align-items:center}.icon--IVcHjGFO{width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:#fff;background:#29cc49;border-radius:18px;font-size:14px;margin-right:6px}.text--dW7Y74et{font-weight:500}.button--mkIwsPzt{width:120px;height:30px;background:rgba(0,0,0,0.04);border:none;border-radius:15px;text-align:center;cursor:pointer}.button--mkIwsPzt:hover{background:rgba(0,0,0,0.08)}.button--mkIwsPzt:active{background:rgba(0,0,0,0.15)}.button--mkIwsPzt:focus{outline:none}",""]),i.locals={"node-end":"node-end--yzRaOZnC",content:"content--iXSH199p",icon:"icon--IVcHjGFO",text:"text--dW7Y74et",button:"button--mkIwsPzt"};const s=i},83865:(e,t,n)=>{n.d(t,{A:()=>s});var o=n(36758),a=n.n(o),r=n(40935),i=n.n(r)()(a());i.push([e.id,".zoom-bar--MTw5VGPl{left:20px;bottom:20px}@media (max-width: 1123px){.zoom-bar--MTw5VGPl{left:auto;bottom:auto;top:20px;right:20px}}",""]),i.locals={"zoom-bar":"zoom-bar--MTw5VGPl"};const s=i},85533:(e,t,n)=>{n.d(t,{A:()=>s});var o=n(36758),a=n.n(o),r=n(40935),i=n.n(r)()(a());i.push([e.id,".content--zNKsww2N{margin:0 auto;padding:16px 0;max-width:800px}.toolbar--YWbNSe1o{display:flex;align-items:center;gap:8px}.loading--yng_2TL3{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:48px;color:var(--text-color-secondary)}.error--a2Er1bw7{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding-bottom:20%;display:flex;flex-direction:column;align-items:center;color:#8c8c8c}.error--a2Er1bw7 eo-button{margin:0 14px}.embed--y9Wq2k7W{display:block}",""]),i.locals={content:"content--zNKsww2N",toolbar:"toolbar--YWbNSe1o",loading:"loading--yng_2TL3",error:"error--a2Er1bw7",embed:"embed--y9Wq2k7W"};const s=i},87545:(e,t,n)=>{n.d(t,{A:()=>s});var o=n(36758),a=n.n(o),r=n(40935),i=n.n(r)()(a());i.push([e.id,'.detail--JiiWugxP{margin-top:20px;color:#595959;margin-bottom:7px}.code-block--wccWPbbW::part(pre){border:1px solid #ccd1de}.code-fallback--a8nCduaZ [class*="code-wrapper--"]::part(pre){white-space:pre-wrap;background:#fef5f3!important}.progress-container--tFUAQo73,\n.stream-message--G0tAm9aa{border-radius:9px;border:1px solid #ccd1de;background:#fff}.progress-container--tFUAQo73{padding:6px 2px}.progress-fallback--Xto82BYu{background:#fef5f3}.stream-message--G0tAm9aa{padding:1em;margin:0.5em 0}.markdown-block--C3siNgW9{border:1px solid #ccd1de;border-radius:9px;padding:1em;background:#fff}',""]),i.locals={detail:"detail--JiiWugxP","code-block":"code-block--wccWPbbW","code-fallback":"code-fallback--a8nCduaZ","progress-container":"progress-container--tFUAQo73","stream-message":"stream-message--G0tAm9aa","progress-fallback":"progress-fallback--Xto82BYu","markdown-block":"markdown-block--C3siNgW9"};const s=i},90108:(e,t,n)=>{n.d(t,{A:()=>s});var o=n(36758),a=n.n(o),r=n(40935),i=n.n(r)()(a());i.push([e.id,".human-action--WMMvJhMD{display:flex;justify-content:center;align-items:center;padding:24px 12px;background:rgba(62,67,102,0.05);box-shadow:0px 1px 0px 0px rgba(255,255,255,0.5);border-radius:9px}",""]),i.locals={"human-action":"human-action--WMMvJhMD"};const s=i},91047:(e,t,n)=>{n.d(t,{B:()=>Qt});var o=n(18769),a=n.n(o),r=n(30348),i=(n(34419),n(53373)),s=n.n(i),l=n(99126),c=n(67566),d=n(8324);function u(e){let t=1/0,n=1/0,o=-1/0,a=-1/0;for(const r of e){const e=r.x+r.width,i=r.y+r.height;r.x<t&&(t=r.x),e>o&&(o=e),r.y<n&&(n=r.y),i>a&&(a=i)}return{x:t,y:n,width:o-t,height:a-n}}var p=n(72591),m=n.n(p),f=n(1740),b=n.n(f),g=n(88128),v=n.n(g),h=n(30855),x=n.n(h),E=n(93051),w=n.n(E),y=n(73656),k=n.n(y),A=n(27110),T={};T.styleTagTransform=k(),T.setAttributes=x(),T.insert=v().bind(null,"head"),T.domAPI=b(),T.insertStyleElement=w(),m()(A.A,T);const P=A.A&&A.A.locals?A.A.locals:void 0;var S,N,C;const I=.5,R=2,L="<START>",_="<END>",M="<FEEDBACK>",O="<LOADING>",j="<REPLAY>",F=20,z=20,B=122,U=160,W=40,D=42,V=10,H=/mac/i.test(null!==(S=null!==(N=null===(C=navigator.userAgentData)||void 0===C?void 0:C.platform)&&void 0!==N?N:navigator.platform)&&void 0!==S?S:navigator.userAgent);var Y=n(57617),K={};K.styleTagTransform=k(),K.setAttributes=x(),K.insert=v().bind(null,"head"),K.domAPI=b(),K.insertStyleElement=w(),m()(Y.A,K);const J=Y.A&&Y.A.locals?Y.A.locals:void 0;function G(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey&&H?10:1)}var q=n(57586),$=n.n(q);function Z(e,t){return t?{x:e.x+t.x,y:e.y+t.y}:{x:e.x,y:e.y}}var Q=n(33136),X=n(18122),ee=n(83865),te={};te.styleTagTransform=k(),te.setAttributes=x(),te.insert=v().bind(null,"head"),te.domAPI=b(),te.insertStyleElement=w(),m()(ee.A,te);const ne=ee.A&&ee.A.locals?ee.A.locals:void 0;var oe=n(86767),ae=n(30672),re=n(2901),ie=n(40177);const se={lib:"easyops",icon:"back-to-center"},le={lib:"antd",icon:"minus-circle"},ce={lib:"antd",icon:"plus-circle"};function de(e){let{scale:t,showUiSwitch:n,onScaleChange:r,onReCenter:i,onSwitchToChat:s}=e;const l=(0,o.useCallback)((()=>{null==r||r(t+.1)}),[r,t]),c=(0,o.useCallback)((()=>{null==r||r(t-.1)}),[r,t]);return a().createElement("div",{className:`${oe.A.toolbar} ${ne["zoom-bar"]}`},n&&a().createElement(a().Fragment,null,a().createElement(ae.Py,{variant:"mini",icon:ie.$g,onClick:s}),a().createElement("div",{className:oe.A.divider})),a().createElement(ae.Py,{variant:"mini",icon:se,onClick:i,title:(0,re.t)(re.K.BACK_TO_CENTER)}),a().createElement("div",{className:oe.A.divider}),a().createElement(ae.Py,{variant:"mini",icon:le,onClick:c,title:(0,re.t)(re.K.ZOOM_OUT)}),a().createElement(ae.Py,{variant:"mini",icon:ce,onClick:l,title:(0,re.t)(re.K.ZOOM_IN)}))}var ue=n(58905),pe={};pe.styleTagTransform=k(),pe.setAttributes=x(),pe.insert=v().bind(null,"head"),pe.domAPI=b(),pe.insertStyleElement=w(),m()(ue.A,pe);const me=ue.A&&ue.A.locals?ue.A.locals:void 0;function fe(){return a().createElement("div",{className:me["node-start"]},a().createElement("div",{className:me.icon}))}var be=n(30981),ge=n(21302),ve=n.n(ge),he=n(36137),xe={};xe.styleTagTransform=k(),xe.setAttributes=x(),xe.insert=v().bind(null,"head"),xe.domAPI=b(),xe.insertStyleElement=w(),m()(he.A,xe);const Ee=he.A&&he.A.locals?he.A.locals:void 0;var we=n(77388);const ye=(0,be.wrapBrick)("eo-easyops-avatar");function ke(e){let{username:t,content:n,startTime:o,active:r,cmd:i}=e;return a().createElement("div",{className:s()(Ee["node-requirement"],{[Ee.active]:r})},a().createElement("div",{className:Ee.heading},a().createElement(ye,{className:Ee.avatar,nameOrInstanceId:t,showName:!0,size:"xs"}),a().createElement("div",{className:Ee.time},o&&ve()(1e3*o).format("MM-DD HH:mm"))),a().createElement("div",{className:Ee.body},i&&a().createElement(we._,{cmd:i,size:"small"}),n))}var Ae=n(65005),Te={};Te.styleTagTransform=k(),Te.setAttributes=x(),Te.insert=v().bind(null,"head"),Te.domAPI=b(),Te.insertStyleElement=w(),m()(Ae.A,Te);const Pe=Ae.A&&Ae.A.locals?Ae.A.locals:void 0;var Se=n(36903);function Ne(e){let{content:t,loading:n}=e;return a().createElement("div",{className:Pe["node-instruction"]},a().createElement("div",{className:s()(Pe.text,{[Se.A["shine-text"]]:n}),title:t},t))}var Ce=n(89575),Ie=n(39649),Re=n(69606),Le=n(42854),_e=n(1703),Me={};Me.styleTagTransform=k(),Me.setAttributes=x(),Me.insert=v().bind(null,"head"),Me.domAPI=b(),Me.insertStyleElement=w(),m()(_e.A,Me);const Oe=_e.A&&_e.A.locals?_e.A.locals:void 0;var je=n(31078),Fe=n(60136);function ze(e){let{files:t,large:n}=e;const{setActiveFile:r}=(0,o.useContext)(je.Q);return a().createElement("ul",{className:s()(Oe.files,{[Oe.large]:n})},t.map(((e,t)=>{const[n,o]=(0,Fe.NL)(e.mimeType,e.name);return a().createElement("li",{key:t},a().createElement("a",{className:Oe.file,onClick:()=>r(e)},a().createElement("img",{className:Oe.icon,src:o,width:26,height:32}),a().createElement("div",{className:Oe.content},a().createElement("div",{className:Oe.name},e.name||(0,re.t)(re.K.UNTITLED)),a().createElement("div",{className:Oe.metadata},`${n}${e.size?` · ${(0,Fe.v7)(e.size)}`:""}`))))})))}var Be=n(90108),Ue={};Ue.styleTagTransform=k(),Ue.setAttributes=x(),Ue.insert=v().bind(null,"head"),Ue.domAPI=b(),Ue.insertStyleElement=w(),m()(Be.A,Ue);const We=Be.A&&Be.A.locals?Be.A.locals:void 0;var De=n(76720);function Ve(e){let{action:t}=e;const{humanInput:n,replay:r}=(0,o.useContext)(De.j),[i,s]=(0,o.useState)(!1);return"select"===t.type?null:a().createElement("div",{className:We["human-action"]},a().createElement(ae.Gx,{type:"primary",themeVariant:"elevo",shape:"round",disabled:i,onClick:()=>{r||(n("",null,t.confirmText||"确认"),s(!0))}},t.confirmText||"确认"))}var He=n(11879);const Ye=n.p+"images/8834094d.png";var Ke=n(25313),Je={};Je.styleTagTransform=k(),Je.setAttributes=x(),Je.insert=v().bind(null,"head"),Je.domAPI=b(),Je.insertStyleElement=w(),m()(Ke.A,Je);const Ge=Ke.A&&Ke.A.locals?Ke.A.locals:void 0,qe=(0,be.wrapBrick)("eo-avatar"),$e=new Map;function Ze(e){let{aiEmployeeId:t}=e;return a().createElement(o.Suspense,{fallback:a().createElement(qe,{className:Ge.avatar,showName:!0,size:"xs",name:t,src:Ye})},a().createElement(Qe,{aiEmployeeId:t}))}function Qe(e){let{aiEmployeeId:t}=e;const n=(0,o.useMemo)((()=>{const e=$e.get(t);if(e)return e;const n=async function(e){var t;const n=null===(t=(await(0,He.v)({employeeId:e})).list)||void 0===t?void 0:t[0];return(null==n?void 0:n.employeeId)===e?n:void 0}(t);return $e.set(t,n),n}),[t]),r=(0,o.use)(n),i=(0,o.useMemo)((()=>{if(!r)return{name:t,src:Ye};const{name:e,avatar:n}=r;return{name:e,src:n?new URL(n,location.origin).toString():Ye}}),[r,t]);return a().createElement(qe,(0,Ce.A)({className:Ge.avatar,showName:!0,size:"xs"},i))}var Xe=n(86976),et=n(89064);const tt=/^\s*\|(?:\s*:?-+:?\s*\|){4,}\s*$/m;function nt(e){var t,n;let{job:r,active:i,isLeaf:l}=e;const c=null===(t=r.toolCall)||void 0===t?void 0:t.name,[d,u,p,m]=(0,o.useMemo)((()=>{var e;const t=[],n=[],o=[];let a="llm_answer"===c;null===(e=r.messages)||void 0===e||e.forEach((e=>{if("tool"===e.role)for(const s of e.parts){var r;if("data"===s.type)switch(null===(r=s.data)||void 0===r?void 0:r.type){case"markdown":t.push(s.data.content);break;case"cmdb_instance_detail":var i;n.push(s.data),a||(a=Object.keys("object"===(null===(i=s.data)||void 0===i||null===(i=i.outputSchema)||void 0===i?void 0:i.type)?s.data.outputSchema.properties:s.data.detail).length>6)}else"file"===s.type&&o.push(s.file)}}));const i=t.join("");return a=a||tt.test(i),[i,n,o,a]}),[r.messages,c]),[f,b]=(0,o.useState)("medium"),g=(0,o.useCallback)((e=>{b(e)}),[]);return a().createElement("div",{className:s()(J["node-job"],{[J.error]:r.isError,[J.active]:i,[J.large]:m||"large"===f})},a().createElement("div",{className:J.background}),r.aiEmployeeId?a().createElement("div",{className:J.heading},a().createElement(Ze,{aiEmployeeId:r.aiEmployeeId}),r.generatedView?a().createElement(et.v,{job:r}):null):null,a().createElement("div",{className:J.body},r.toolCall&&a().createElement(Ie.t,{job:r}),null===(n=r.messages)||void 0===n?void 0:n.map(((e,t)=>{var n;return"tool"===e.role?null:a().createElement("div",{key:t,className:s()(J.message,Se.A.markdown,{[J["role-user"]]:"tool"===e.role||"user"===e.role})},null===(n=e.parts)||void 0===n?void 0:n.map(((e,t)=>a().createElement(a().Fragment,{key:t},"text"===e.type&&a().createElement(Re.w,{className:Se.A["markdown-wrapper"],content:e.text})))))})),d&&a().createElement("div",{className:s()(J.message,Se.A.markdown),style:{padding:"0 8px"}},a().createElement(Re.w,{className:Se.A["markdown-wrapper"],content:d})),u.map(((e,t)=>a().createElement(Le.H,(0,Ce.A)({key:t},e)))),p.length>0&&a().createElement(ze,{files:p,large:m}),l&&!r.humanAction&&r.requestHumanAction&&("working"===r.state||"input-required"===r.state)&&a().createElement(Ve,{action:r.requestHumanAction})),r.generatedView?a().createElement(ot,{job:r,onSizeChange:g}):null)}function ot(e){let{job:t,onSizeChange:n}=e;const r=(0,o.useRef)(null),{setHoverOnScrollableContent:i}=(0,o.useContext)(je.Q),s=(0,o.useCallback)((e=>{let t,n=!1;for(const o of e.nativeEvent.composedPath()){if(o===r.current)break;if(o instanceof HTMLElement)if("PRE"===o.tagName){if(o.scrollWidth>o.clientWidth){n=!0;break}}else if(o.classList.contains("ant-table-content"))t=o;else if(o.classList.contains("ant-table")&&o.classList.contains("ant-table-scroll-horizontal")&&t&&t.scrollWidth>t.clientWidth){n=!0;break}}i(n)}),[i]),l=(0,o.useCallback)((()=>{i(!1)}),[i]);return a().createElement("div",{className:J["view-container"],ref:r,onMouseMove:s,onMouseLeave:l},a().createElement(Xe.y,{job:t,noHeading:!0,onSizeChange:n}))}var at=n(77221),rt={};rt.styleTagTransform=k(),rt.setAttributes=x(),rt.insert=v().bind(null,"head"),rt.domAPI=b(),rt.insertStyleElement=w(),m()(at.A,rt);const it=at.A&&at.A.locals?at.A.locals:void 0;function st(){const{onShare:e,replay:t}=(0,o.useContext)(De.j);return a().createElement("div",{className:it["node-end"]},t&&a().createElement("div",{className:it.content},a().createElement("span",{className:it.icon},a().createElement(ae.Bj,{lib:"fa",prefix:"fas",icon:"check"})),a().createElement("span",{className:it.text},(0,re.t)(re.K.TASK_COMPLETED))),!t&&a().createElement("button",{className:it.button,onClick:e},(0,re.t)(re.K.SHARE)))}var lt=n(87545),ct={};ct.styleTagTransform=k(),ct.setAttributes=x(),ct.insert=v().bind(null,"head"),ct.domAPI=b(),ct.insertStyleElement=w(),m()(lt.A,ct);const dt=lt.A&&lt.A.locals?lt.A.locals:void 0;var ut=n(39439),pt=n(20555);function mt(){const{innerWidth:e}=window;return e<800?Math.min(500,e):e<1e3?.8*e:800}function ft(e){var t;let{job:n}=e;const{setActiveToolCallJobId:r}=(0,o.useContext)(De.j),i=n.toolCall,l=null===(t=i.annotations)||void 0===t?void 0:t.title,[c,d,u]=(0,o.useMemo)((()=>{var e;const t=null===(e=n.messages)||void 0===e?void 0:e.filter((e=>"tool"===e.role)),o=[],a=[];let r;for(const e of null!=t?t:[])for(const t of e.parts){var i;if("data"===t.type)switch(null===(i=t.data)||void 0===i?void 0:i.type){case"progress":r=t;continue;case"markdown":case"cmdb_instance_detail":case"static_data_view":continue;default:o.push(t);continue}else if("file"===t.type)continue;a.push(t)}return[r,o,a]}),[n.messages]),p=(0,o.useCallback)((()=>{setTimeout((()=>{r(null)}),300)}),[r]),m=(0,o.useRef)(null);(0,o.useEffect)((()=>{setTimeout((()=>{var e;null===(e=m.current)||void 0===e||e.open()}))}),[]);const[f,b]=(0,o.useState)(mt);(0,o.useEffect)((()=>{const e=()=>{b(mt)};return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[]);const g=d.length>0||!!c,v=u.length>0,h=["working","input-required"].includes(n.state)&&g||v?"completed":n.state,x=n.isError||"failed"===h;return a().createElement(ae.xb,{ref:m,customTitle:l||i.name,width:f,closable:!0,mask:!0,maskClosable:!0,keyboard:!0,onClose:p},a().createElement(Ie.t,{job:n,variant:"read-only"}),a().createElement("div",{className:dt.detail},a().createElement("div",{className:dt.heading},(0,re.t)(re.K.ARGUMENTS),":"),a().createElement("div",{className:`${dt.body} ${Se.A.markdown}`},a().createElement(bt,{content:i.originalArguments,maybeJson:!0,fallbackAsMarkdown:!0}))),g&&a().createElement("div",{className:dt.detail},a().createElement("div",{className:dt.heading},(0,re.t)(re.K.PROCESS),":"),a().createElement("div",{className:dt.body},d.map(((e,t)=>{var n;return"stream"===(null===(n=e.data)||void 0===n?void 0:n.type)?a().createElement("div",{key:t,className:s()(dt["stream-message"],Se.A.markdown)},a().createElement(Re.w,{className:Se.A["markdown-wrapper"],content:e.data.message})):a().createElement("div",{key:t,className:Se.A.markdown},a().createElement(bt,{content:JSON.stringify(e)}))})),!!c&&a().createElement("div",{className:s()(dt["progress-container"],{[dt["progress-fallback"]]:x})},a().createElement(ut.W,{progress:c,failed:x})))),v&&a().createElement("div",{className:dt.detail},a().createElement("div",{className:dt.heading},(0,re.t)(re.K.RESPONSE),":"),a().createElement("div",{className:`${dt.body} ${Se.A.markdown}`},u.map(((e,t)=>{var n;return"data"===e.type&&"progress"===(null===(n=e.data)||void 0===n?void 0:n.type)?null:a().createElement(bt,{key:t,content:"text"===e.type?e.text:JSON.stringify(e),maybeJson:"text"===e.type})})))))}function bt(e){let{content:t,maybeJson:n,fallbackAsMarkdown:r}=e;const[i,s,l]=(0,o.useMemo)((()=>{if(n&&t)try{const e=JSON.parse(t);return[JSON.stringify(e,null,2),!1,!1]}catch{if(r)return[t,!1,!0]}return[t,!0,!1]}),[t,r,n]);return l?a().createElement("div",{className:dt["markdown-block"]},a().createElement(Re.w,{className:Se.A["markdown-wrapper"],content:i})):s?a().createElement("div",{className:dt["code-fallback"]},a().createElement(pt.j,null,a().createElement("code",null,i))):a().createElement(ae.yQ,{className:dt["code-block"],source:i,language:"json",themeVariant:"elevo"})}var gt=n(41030);function vt(e){return{x:e.x+e.width/2,y:e.y+e.height/2}}var ht=n(62309),xt=n(7017),Et={};Et.styleTagTransform=k(),Et.setAttributes=x(),Et.insert=v().bind(null,"head"),Et.domAPI=b(),Et.insertStyleElement=w(),m()(xt.A,Et);const wt=xt.A&&xt.A.locals?xt.A.locals:void 0;function yt(e){let{nav:t,plan:n,jobMap:r,jobLevels:i,currentNavId:s,taskState:l,onClick:c}=e;const d=(0,o.useMemo)((()=>{const e=null==n?void 0:n.filter((e=>!(null!=t&&t.find((t=>t.id===e.id)))));if(null==e||!e.length)return t;const o=new Map;let a=null;for(let t=n.length-1;t>=0;t--){const r=n[t];if(e.includes(r)){let e=o.get(a);e||o.set(a,e=[]),e.unshift(r)}else a=r.id}const s=[...null!=t?t:[]];for(const[e,t]of o.entries()){const n=null===e?s.length:s.findIndex((t=>t.id===e)),o=s[n],a=ie.QB.includes((null==o?void 0:o.state)||"unknown");s.splice(n,0,...t.map((e=>{var t;const n=null==r?void 0:r.get(e.id),o=null==i?void 0:i.get(e.id);return{id:e.id,title:e.instruction,state:null!==(t=null==n?void 0:n.state)&&void 0!==t?t:a?"skipped":void 0,level:null!=o?o:0,disabled:!0}})))}return s}),[t,n,r,i]),u=(0,o.useRef)(null);return(0,o.useEffect)((()=>{var e;const t=u.current;t&&s&&(null===(e=t.querySelector(`[data-job-id="${s}"]`))||void 0===e||e.scrollIntoView({behavior:"smooth",block:"nearest"}))}),[s]),(0,o.useEffect)((()=>{const e=u.current;if(!e||s)return;const t=null==d?void 0:d.findLast((e=>ie.QB.includes(e.state||"unknown")||"working"===e.state||"input-required"===e.state));var n;t&&(null===(n=e.querySelector(`[data-job-id="${t.id}"]`))||void 0===n||n.scrollIntoView({behavior:"smooth",block:"nearest"}))}),[s,d]),a().createElement("div",{className:wt.container},a().createElement("ul",{className:wt.nav,ref:u},null==d?void 0:d.map((e=>a().createElement(kt,(0,Ce.A)({key:e.id},e,{currentNavId:s,taskState:l,onClick:c}))))))}function kt(e){let{id:t,title:n,state:r,level:i,taskState:l,currentNavId:c,disabled:d,onClick:u}=e;const{className:p,icon:m}=(0,o.useMemo)((()=>function(e,t){switch(e){case"completed":return{className:wt.completed,icon:{lib:"fa",prefix:"fas",icon:"check"}};case"submitted":case"working":return"terminated"===t?{icon:{lib:"fa",prefix:"far",icon:"circle-stop"}}:{className:wt.working,icon:{lib:"antd",theme:"outlined",icon:"loading-3-quarters",spinning:!0}};case"input-required":return{className:wt["input-required"],icon:{lib:"fa",prefix:"far",icon:"circle-user"}};case"failed":return{className:wt.failed,icon:{lib:"fa",prefix:"fas",icon:"xmark"}};case"canceled":case"terminated":return{className:wt.canceled,icon:{lib:"fa",prefix:"far",icon:"circle-stop"}};case"skipped":return{icon:{lib:"fa",prefix:"fas",icon:"ban"}};default:return{icon:{lib:"fa",prefix:"far",icon:"clock"}}}}(r,l)),[r,l]);return a().createElement("li",{className:s()(wt.item,{[wt.active]:c===t}),style:{marginLeft:20*i+"px"}},a().createElement("a",{className:s()(wt.link,p,{[wt.disabled]:d}),"data-job-id":t,title:n,onClick:()=>{d||u(t)}},a().createElement(ae.Bj,(0,Ce.A)({className:wt.icon},m)),a().createElement("span",{className:wt.text},n)))}var At=n(70046),Tt=n(45060),Pt=n(85533),St={};St.styleTagTransform=k(),St.setAttributes=x(),St.insert=v().bind(null,"head"),St.domAPI=b(),St.insertStyleElement=w(),m()(Pt.A,St);const Nt=Pt.A&&Pt.A.locals?Pt.A.locals:void 0,Ct=n.p+"images/28ac62e6.png",It={lib:"antd",icon:"download"};function Rt(){const{innerWidth:e}=window;return e<800?e:e<1280?.9*e:1246}function Lt(e){let{file:t}=e;const n=(0,o.useRef)(null),{setActiveFile:i}=(0,o.useContext)(je.Q),{bytes:l,uri:c,mimeType:d,name:u}=t,p=d||(0,Fe.xf)(u),[m,f]=(0,o.useState)("loading"),[b,g]=(0,o.useState)();(0,o.useEffect)((()=>{if(f("loading"),"text/markdown"===p||"application/pdf"===p){if(l)return g("application/pdf"===p?`data:application/pdf;base64,${l}`:atob(l)),void f("loaded");if(c){let e,t=!1;return(async()=>{try{const n=await fetch(new URL(c,`${location.origin}${(0,r.getBasePath)()}`));if(!n.ok)throw new Error(`Failed to fetch file: ${n.statusText}`);let o;if("application/pdf"===p){const t=await n.blob();e=o=URL.createObjectURL(t)}else o=await n.text();if(t)return;g(o),f("loaded")}catch(e){console.error("Error fetching file:",e),f("error")}})(),()=>{t=!0,e&&URL.revokeObjectURL(e)}}}else f("error")}),[l,p,c]);const v=(0,o.useCallback)((()=>{const{bytes:e,uri:n,mimeType:o,name:a}=t,i=a||(0,re.t)(re.K.UNTITLED);if(e)(0,Tt.saveAs)(new Blob([atob(e)],{type:o}),i);else if(n){const e=document.createElement("a");e.href=new URL(n,`${location.origin}${(0,r.getBasePath)()}`).toString(),e.download=i,document.body.appendChild(e),e.click(),document.body.removeChild(e)}}),[t]),h=(0,o.useCallback)((()=>{var e;null===(e=n.current)||void 0===e||e.close()}),[]),x=(0,o.useCallback)((()=>{setTimeout((()=>{i(null)}),300)}),[i]);(0,o.useEffect)((()=>{setTimeout((()=>{var e;null===(e=n.current)||void 0===e||e.open()}))}),[]);const[E,w]=(0,o.useState)(Rt);return(0,o.useEffect)((()=>{const e=()=>{w(Rt)};return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[]),a().createElement(ae.xb,{ref:n,customTitle:t.name||(0,re.t)(re.K.UNTITLED),width:E,closable:!1,mask:!0,maskClosable:!0,keyboard:!0,onClose:x},"loading"===m?a().createElement("div",{className:Nt.loading},a().createElement(ae.Bj,ie.Xc)):"error"===m?a().createElement("div",{className:Nt.error},a().createElement("img",{src:Ct,alt:"Unpreviewable",width:591,height:249}),a().createElement("p",null,(0,re.t)(re.K.FILE_PREVIEW_UNPREVIEWABLE_TIP_PREFIX),a().createElement(ae.Gx,{themeVariant:"elevo",type:"primary",onClick:v},(0,re.t)(re.K.DOWNLOAD)),(0,re.t)(re.K.FILE_PREVIEW_UNPREVIEWABLE_TIP_SUFFIX))):"application/pdf"===p?a().createElement("embed",{className:Nt.embed,src:b,type:p,title:u,width:"100%",height:"100%"}):a().createElement("div",{className:s()(Nt.content,Se.A.markdown)},a().createElement(Re.w,{content:b})),a().createElement("div",{slot:"extra",className:Nt.toolbar},a().createElement(ae.Py,{icon:It,onClick:v}),a().createElement("div",{className:oe.A.divider}),a().createElement(ae.Py,{icon:ie.LQ,onClick:h})))}var _t=n(94625),Mt=n(24105),Ot={};Ot.styleTagTransform=k(),Ot.setAttributes=x(),Ot.insert=v().bind(null,"head"),Ot.domAPI=b(),Ot.insertStyleElement=w(),m()(Mt.A,Ot);const jt=Mt.A&&Mt.A.locals?Mt.A.locals:void 0;function Ft(){return a().createElement("div",{className:jt.loading},a().createElement("div",{className:jt.inner}))}var zt=n(60709),Bt=n(54998),Ut={};Ut.styleTagTransform=k(),Ut.setAttributes=x(),Ut.insert=v().bind(null,"head"),Ut.domAPI=b(),Ut.insertStyleElement=w(),m()(Bt.A,Ut);const Wt=Bt.A&&Bt.A.locals?Bt.A.locals:void 0;var Dt=n(75321);const Vt=[{filePath:"/node_modules/next-tsx/components.d.ts",content:'/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-empty-object-type */\n\nexport interface ViewProps {\n title: string;\n}\n\nexport interface BaseProps {\n key?: string | number;\n}\n\nexport interface TableProps<T extends object> extends BaseProps {\n dataSource: {\n list: T[];\n page?: number;\n pageSize?: number;\n total?: number;\n };\n columns: TableColumn<T>[];\n rowKey: string;\n rowSelection?: boolean;\n sort?: TableSort | null;\n pagination?: boolean;\n onSelect?: (event: CustomEvent<T[]>) => void;\n onPaginate?: (event: CustomEvent<{ page: number; pageSize: number }>) => void;\n onSort?: (event: CustomEvent<TableSort | null>) => void;\n}\n\nexport interface ListProps extends BaseProps {\n dataSource: object[];\n fields?: {\n title?: string;\n icon?: string;\n url?: string;\n };\n variant?: "default" | "navigation" | "ranking";\n}\n\nexport interface DescriptionsProps<T extends object> extends BaseProps {\n title?: string;\n dataSource?: T;\n list: Array<\n | {\n label: string;\n text: string;\n }\n | {\n label: string;\n /** 数据字段,多级字段使用点号分隔 */\n field: string;\n }\n | {\n label: string;\n render: (record: T) => any;\n }\n >;\n}\n\nexport interface ButtonProps extends BaseProps {\n type?: "default" | "primary";\n icon?: IconProps;\n onClick?: (e: Event) => void;\n}\n\nexport interface SearchProps extends BaseProps {\n placeholder?: string;\n onSearch?: (e: CustomEvent<string>) => void;\n}\n\nexport interface FormProps<T extends object> extends BaseProps {\n values?: T;\n onValidateSuccess?: (e: CustomEvent<T>) => void;\n ref?: {\n readonly current: FormRef;\n };\n}\n\nexport interface FormRef {\n validate: () => void;\n reset: () => void;\n}\n\nexport interface InputProps extends FormItemProps {\n placeholder?: string;\n}\n\nexport interface NumberInputProps extends InputProps {\n min?: number;\n max?: number;\n}\n\nexport interface TextareaProps extends InputProps {}\n\nexport interface SelectProps extends InputProps {\n options: (FormItemOptions | string)[];\n onChange?: (e: CustomEvent<string | number | boolean | null>) => void;\n}\n\nexport interface RadioProps extends SelectProps {}\n\nexport interface CheckboxProps extends SelectProps {}\n\nexport interface SwitchProps extends FormItemProps {}\n\nexport interface DatePickerProps extends FormItemProps {}\n\nexport interface TimePickerProps extends FormItemProps {}\n\nexport interface DashboardProps extends BaseProps {\n dataSource: Array<object>;\n groupField?: string;\n widgets: Array<DashboardWidget>;\n}\n\nexport interface ModalProps extends BaseProps {\n title: string;\n confirmText?: string;\n cancelText?: string;\n onConfirm?: () => void;\n ref?: {\n readonly current: ModalRef;\n };\n}\n\nexport interface ModalRef {\n open: () => void;\n close: () => void;\n}\n\nexport interface CardProps extends BaseProps {\n title?: string;\n}\n\nexport interface TagProps extends BaseProps {\n color?: string;\n outline?: boolean;\n}\n\nexport interface LinkProps extends BaseProps {\n /** 站外链接 */\n href?: string;\n\n /** 站内链接 */\n url?: string;\n\n target?: "_blank" | "_self";\n}\n\nexport interface AvatarProps extends BaseProps {\n size?: "large" | "medium" | "small";\n name?: string;\n src?: string;\n}\n\nexport interface AvatarGroupProps extends BaseProps {\n size?: "large" | "medium" | "small";\n}\n\nexport interface CodeBlockProps extends BaseProps {\n source: string;\n language: string;\n}\n\nexport interface PlaintextProps extends BaseProps {\n /** Related advisory information */\n title?: string;\n}\n\nexport interface DashboardWidget {\n widget: "chart";\n type: "line" | "area";\n title?: string;\n metric: {\n id: string;\n unit: string;\n };\n precision?: number;\n}\n\nexport interface FormItemProps extends BaseProps {\n name: string;\n label?: string;\n required?: boolean;\n disabled?: boolean;\n}\n\nexport interface FormItemOptions {\n label: string;\n value: string;\n}\n\nexport interface IconProps {\n lib: "fa";\n prefix: "fas" | "far";\n icon: string;\n}\n\nexport interface TableColumn<T extends object> {\n key: string;\n /** 数据索引,多级索引使用数组 */\n dataIndex: string | string[];\n title: string;\n sortable?: boolean;\n render?: (value: any, record: T) => any;\n}\n\nexport interface TableSort {\n columnKey: string | number;\n order: "ascend" | "descend";\n}\n\ndeclare const View: (props: ViewProps) => any;\ndeclare const Table: <T extends object>(props: TableProps<T>) => any;\ndeclare const List: (props: ListProps) => any;\ndeclare const Descriptions: <T extends object>(\n props: DescriptionsProps<T>\n) => any;\ndeclare const Button: (props: ButtonProps) => any;\ndeclare const Toolbar: (props: BaseProps) => any;\ndeclare const Search: (props: SearchProps) => any;\ndeclare const Form: <T extends object>(props: FormProps<T>) => any;\ndeclare const Input: (props: InputProps) => any;\ndeclare const NumberInput: (props: NumberInputProps) => any;\ndeclare const Textarea: (props: TextareaProps) => any;\ndeclare const Select: (props: SelectProps) => any;\ndeclare const Radio: (props: RadioProps) => any;\ndeclare const Checkbox: (props: CheckboxProps) => any;\ndeclare const Switch: (props: SwitchProps) => any;\ndeclare const DatePicker: (props: DatePickerProps) => any;\ndeclare const TimePicker: (props: TimePickerProps) => any;\ndeclare const Dashboard: (props: DashboardProps) => any;\ndeclare const Modal: (props: ModalProps) => any;\ndeclare const Card: (props: CardProps) => any;\ndeclare const Output: (props: BaseProps) => any;\ndeclare const Tag: (props: TagProps) => any;\ndeclare const Link: (props: LinkProps) => any;\ndeclare const Avatar: (props: AvatarProps) => any;\ndeclare const AvatarGroup: (props: AvatarGroupProps) => any;\ndeclare const CodeBlock: (props: CodeBlockProps) => any;\ndeclare const Plaintext: (props: PlaintextProps) => any;\ndeclare const Fragment: (props: { key?: string | number }) => any;\n'.replaceAll("export interface","interface")},{filePath:"/node_modules/next-tsx/package.json",content:JSON.stringify({name:"next-tsx",types:"./index.d.ts"})},{filePath:"/node_modules/next-tsx/index.d.ts",content:'/** 返回一个有状态的值和一个更新它的函数。 */\nexport const useState: <T>(\n initialValue?: T\n) => [value: T, setter: (value: T) => void];\n\n/** 异步获取资源,返回获取到的数据、以及一个重新拉取数据的函数 */\nexport const useResource: <T = any>(\n fetcher: () => Promise<T>,\n options?: {\n // 不启用则直接返回 fallback\n enabled?: boolean;\n fallback?: unknown;\n }\n) => [data: T, refetch: () => void];\n\n/** 返回一个可变的 ref 对象,其 `.current` 属性初始化为传入的参数 (`initialValue`) */\nexport const useRef: <T>(initialValue: T) => {\n current: T;\n};\n\n/** 获取当前的 URL search 参数 */\nexport const useQuery: () => {\n readonly [key: string]: string | undefined;\n};\n\n/** 更新当前的 URL search 参数 */\nexport const pushQuery: (\n newQuery: Record<string, string | null>,\n options?: {\n clear?: boolean; // 是否清除已有参数,默认 false\n notify?: boolean; // 是否通知路由变化,默认 true\n }\n) => void;\n\n/** 调用指定的 Provider 接口 */\nexport const callApi: <T extends keyof ContractMap>(\n api: T,\n params: Parameters<ContractMap[T]>[0]\n) => Promise<ReturnType<ContractMap[T]>>;\n\n/** 调用指定的 HTTP 接口 */\nexport const callHttp: <T = any>(url: string, init?: RequestInit) => Promise<T>;\n\n/** 调用指定的工具函数 */\nexport const callTool: <T = any, P = any>(\n conversationId: string,\n stepId: string,\n params: P\n) => Promise<T>;\n\n/** 提示用户操作结果 */\nexport const showMessage: (options: {\n type: "success" | "error";\n content: string;\n}) => void;\n'},{filePath:"/node_modules/next-tsx/contracts.d.ts",content:"type ContractMap = Record<string, any>;"}],Ht=a().lazy((async()=>({default:await(0,zt.asyncWrapBrick)("vs.code-editor",{onCodeChange:"code.change"})})));function Yt(){var e,t;const{workspace:n,manuallyUpdatedViews:r,updateView:i,activeJsxEditorJob:s,setActiveJsxEditorJob:l}=(0,o.useContext)(De.j),c=null!==(e=null==r?void 0:r.get(s.id))&&void 0!==e?e:s.generatedView,d=c.code,[u,p]=(0,o.useState)(d),m=(0,o.useMemo)((()=>{var e;const t=Vt;return null!==(e=c.withContexts)&&void 0!==e&&e.RESPONSE?[...t,{filePath:"tsx-view/response.d.ts",content:`const RESPONSE_VALUE = ${JSON.stringify(c.withContexts.RESPONSE,null,2)};\n\ndeclare const RESPONSE: typeof RESPONSE_VALUE;`}]:t}),[null===(t=c.withContexts)||void 0===t?void 0:t.RESPONSE]);return a().createElement("div",{className:Wt.container},a().createElement("div",{className:Wt.editor},a().createElement("div",{className:Wt.header},a().createElement("span",{className:Wt.title},"JSX Editor"),a().createElement(ae.Py,{icon:ie.LQ,onClick:()=>{null==l||l(void 0)}})),a().createElement("div",{className:Wt.body},a().createElement("div",{className:Wt.content},a().createElement(o.Suspense,{fallback:"Loading..."},a().createElement(Ht,{value:d,onCodeChange:e=>{p(e.detail)},language:"typescript",uri:"file:///view.tsx",automaticLayout:"fit-container",theme:"tm-vs-dark",extraLibs:m,"data-override-theme":"dark-v2"})))),a().createElement("div",{className:Wt.footer},a().createElement(ae.Gx,{themeVariant:"elevo",type:"primary",onClick:()=>{const e={...c,code:u};e.asyncConstructedView=(0,Dt.e)(e,n),null==i||i(s.id,e),null==l||l(void 0)}},"Save"))))}var Kt=n(91417),Jt={};Jt.styleTagTransform=k(),Jt.setAttributes=x(),Jt.insert=v().bind(null,"head"),Jt.domAPI=b(),Jt.insertStyleElement=w(),m()(Kt.A,Jt);const Gt=Kt.A&&Kt.A.locals?Kt.A.locals:void 0;function qt(e){let{content:t}=e;return a().createElement("div",{className:s()(J["node-job"],J.error)},a().createElement("div",{className:Gt.error},t))}var $t=n(98153);const Zt=(0,o.memo)(Xt);function Qt(e,t){var n,i;let{conversationId:l,initialRequest:p,replay:m,replayDelay:f,supports:b,showHiddenJobs:g,showHumanActions:v,showFeedback:h,showFeedbackAfterFailed:x,showFeedbackOnView:E,showUiSwitch:w,showJsxEditor:y,previewUrlTemplate:k,showCases:A,exampleProjects:T,tryItOutUrl:S,separateInstructions:N,onShare:C,onTerminate:Y,onSubmitFeedback:K,onSwitchToChat:q,onFeedbackOnView:ee,onDetailChange:te}=e;const ne=(0,o.useRef)(null),{conversation:oe,tasks:re,errors:se,humanInputRef:le,skipToResults:ce,watchAgain:ue}=(0,Q.u)(l,p,m,f),pe=null===(n=re[re.length-1])||void 0===n?void 0:n.plan,me=function(e,t,n,a){const{showHiddenJobs:r,showHumanActions:i,separateInstructions:s}=null!=a?a:{};return(0,o.useMemo)((()=>{if(!e)return null;const o=[],a=[],l=[],c=[],{list:d,roots:u,map:p,levels:m,downstreamMap:f,jobsWithFollowingErrors:b}=(0,X.$)(t,n,{showHiddenJobs:r}),g=new Map,v=[];let h;const x=(e,t)=>{const n=b.get(e);if(n){const a=`error:${e}`;o.push({type:"error",id:a,content:n}),t.push(a)}};for(const e of d){var E,w;const t=p.get(e),{messages:n}=t,a=Array.isArray(n)&&n.length>0||t.toolCall,r=[],d=null==n||null===(E=n.find((e=>"user"===e.role)))||void 0===E||null===(E=E.parts)||void 0===E||null===(E=E.find((e=>"text"===e.type)))||void 0===E?void 0:E.text;if(void 0!==d&&(u.includes(e)||1===n.length)){const n=`requirement:${e}`;h=t.username,o.push({type:"requirement",id:n,content:d,username:h,cmd:t.cmd}),r.push(n),v.push(n),x(e,r),g.set(e,r);continue}if(t.instruction){if(s||!t.toolCall){const n=`instruction:${e}`;o.push({type:"instruction",id:n,job:t,state:t.state}),r.push(n)}l.push({id:t.id,title:t.instruction,state:t.state,level:m.get(t.id)})}else null!==(w=t.toolCall)&&void 0!==w&&null!==(w=w.annotations)&&void 0!==w&&w.title&&l.push({id:t.id,title:t.toolCall.annotations.title,state:t.state,level:m.get(t.id)});const f=`job:${t.id}`;a&&(o.push({type:"job",id:f,job:t,state:t.state}),r.push(f));const b=t.generatedView;if(b&&c.push({id:t.id,view:b}),x(e,r),i&&t.humanAction){const e=`human-action:${t.id}`;o.push({type:"requirement",id:e,content:t.humanAction,username:h}),r.push(e)}0===r.length&&(o.push({type:"job",id:f,job:t,state:t.state}),r.push(f)),g.set(e,r),void 0!==d&&"completed"===t.state&&v.push(r[r.length-1])}for(const e of d){var y;const t=g.get(e);for(let e=1;e<t.length;e++)a.push({source:t[e-1],target:t[e]});const n=t[t.length-1],o=null!==(y=f.get(e))&&void 0!==y?y:[];for(const e of o){const t=g.get(e);a.push({source:n,target:t[0]})}}if("terminated"!==e.state&&"failed"!==e.state)if(0===o.length)o.push({type:"loading",id:O});else{let e=0;for(const t of v)if(!a.some((e=>e.source===t))){const n=`${O}:${e++}`;o.push({type:"loading",id:n}),a.push({source:t,target:n})}}return{nodes:o,edges:a,nav:l,views:c,jobMap:p,jobLevels:m}}),[e,n,s,r,i,t])}(oe,re,se,{showHiddenJobs:g,showHumanActions:v,separateInstructions:N}),fe=null==me?void 0:me.nodes,be=null==me?void 0:me.edges,ge=null==me?void 0:me.nav,ve=null==me?void 0:me.views,he=null==me?void 0:me.jobMap,xe=null==me?void 0:me.jobLevels,Ee=null!==(i=null==oe?void 0:oe.title)&&void 0!==i?i:"",we=null==oe?void 0:oe.state,[ye,ke]=(0,o.useState)(null),Ae=(0,o.useMemo)((()=>{if(ye){const[e,t]=ye.split(":");if("job"===e||"view"===e)return t}return null}),[ye]);(0,o.useEffect)((()=>{te({projectId:null==oe?void 0:oe.projectId})}),[te,null==oe?void 0:oe.projectId]);const[Te,Pe]=(0,o.useState)(!1),[Se,Ne]=(0,o.useState)(!1),[Ce,Ie]=(0,o.useState)(!!h);(0,o.useEffect)((()=>{Ie(!!h)}),[h]);const[Re,Le]=(0,o.useState)(),_e=(0,o.useCallback)((e=>{Pe(!0),K(e)}),[K]);(0,o.useImperativeHandle)(t,(()=>({feedbackSubmitDone:()=>{Ne(!0),setTimeout((()=>{Ie(!1)}),3e3)},feedbackSubmitFailed:()=>{Pe(!1)},feedbackOnViewDone:e=>{Le((t=>{const n=new Set(t);return n.add(e),n}))}})),[]);const Me=(0,o.useRef)(!1);(0,o.useEffect)((()=>{const e=setTimeout((()=>{Me.current=!0}),3e3);return()=>{clearTimeout(e)}}),[]),(0,o.useEffect)((()=>{(0,r.getRuntime)().applyPageTitle(Ee)}),[Ee]);const Oe=(0,o.useCallback)(((e,t,n)=>{var o;null===(o=le.current)||void 0===o||o.call(le,e,t,n)}),[le]),[Fe,ze]=(0,o.useState)(null),Be=(0,o.useCallback)(((e,t)=>{ze((n=>{if(!t){if(!n)return null;const t=new Map(n);return t.delete(e)?t:n}return n?new Map(n).set(e,t):new Map([[e,t]])}))}),[]),{sizeReady:Ue,nodes:We,edges:Ve}=function(e){let{rawNodes:t,rawEdges:n,sizeMap:a,completed:r,failed:i,finished:s,showFeedback:l,showFeedbackAfterFailed:c,replay:d}=e;const u=(0,o.useRef)(null),{initialNodes:p,initialEdges:m}=(0,o.useMemo)((()=>{const e=[{type:"start",id:L}],o=[],a=[],p=null!=t?t:[],m=null!=n?n:[],f=new Set(m.map((e=>e.target))),b=i&&l&&c,g=d?s:r||b,v=g?new Set(m.map((e=>e.source))):null;for(const e of p)f.has(e.id)||o.push({source:L,target:e.id}),g&&!v.has(e.id)&&a.push(e.id);if(e.push(...p),o.push(...m),a.length>0){let t=a;if(d)s&&(e.push({id:_,type:"end"}),o.push(...t.map((e=>({source:e,target:_})))),e.push({id:j,type:"replay"}),o.push({source:_,target:j}));else if(r&&(e.push({id:_,type:"end"}),o.push(...t.map((e=>({source:e,target:_})))),t=[_]),l&&(r||b)){e.push({id:M,type:"feedback"});for(const e of t)o.push({source:e,target:M})}}const h=u.current;if(h)for(const t of e){const e=h.get(t.id);e&&(t.view=e)}return{initialNodes:e,initialEdges:o}}),[t,n,r,i,s,l,c,d]),f=(0,o.useRef)(null);return(0,o.useMemo)((()=>{var e;for(const e of p)if(null==a||!a.has(e.id))return{sizeReady:!1,nodes:p,edges:[]};const t=new($().graphlib.Graph);t.setGraph({rankdir:"TB",nodesep:D,edgesep:V,ranksep:W}),t.setDefaultEdgeLabel((function(){return{}}));for(const e of m)t.setEdge(e.source,e.target);for(const e of p){const[n,o]=a.get(e.id);t.setNode(e.id,{id:e.id,width:n,height:o})}$().layout(t);let n=null;const o=p.map((e=>{const o=t.node(e.id),a=o.x-o.width/2,r=o.y-o.height/2;return"start"===e.type&&(f.current?n={x:f.current.x-a,y:f.current.y-r}:f.current={x:a,y:r}),{...e,view:{x:a,y:r,width:o.width,height:o.height}}}));if(n)for(const e of o)Object.assign(e.view,Z(e.view,n));const r=null!==(e=u.current)&&void 0!==e?e:u.current=new Map;for(const e of o){const{x:t,y:n}=e.view;r.set(e.id,{x:t,y:n})}return{sizeReady:!0,nodes:o,edges:m.map((e=>{const o=t.node(e.source),a=Z(o,n),r=t.node(e.target),i=Z(r,n),s=i.y-(r.height+W)/2,l=[{x:a.x,y:a.y+o.height/2},{x:a.x,y:s},{x:i.x,y:s},{x:i.x,y:i.y-r.height/2}];return{...e,points:l}}))}}),[m,p,a])}({rawNodes:fe,rawEdges:be,completed:"completed"===we,failed:"failed"===we,finished:null==oe?void 0:oe.finished,sizeMap:Fe,showFeedback:Ce,showFeedbackAfterFailed:x,replay:m}),He=(0,o.useRef)(!1),Ye=(0,o.useRef)(!1),[Ke,Je]=(0,o.useState)(!1),{grabbing:Ge,transform:qe,transformRef:$e,zoomer:Ze}=function(e){let{rootRef:t,zoomable:n,scrollable:a,pannable:r,pannableWithCtrl:i,scaleRange:s,manualScrolledUpRef:l,onSwitchActiveTarget:u}=e;const[p,m]=(0,o.useState)(!1),[f,b]=(0,o.useState)({k:1,x:0,y:0}),g=(0,o.useRef)(f),v=(0,o.useMemo)((()=>null!=s?s:[I,R]),[s]),h=(0,o.useMemo)((()=>(0,d.s_)().wheelDelta(G)),[]);return(0,o.useEffect)((()=>{let e=!1;h.scaleExtent(n?v:[1,1]).on("start",(()=>{e=!1,m(!0)})).on("zoom",(t=>{e=!0,b(t.transform),g.current=t.transform})).on("end",(()=>{m(!1),e||null==u||u(null)})).filter((e=>("wheel"===e.type?e.ctrlKey:i?r||e.ctrlKey:!e.ctrlKey)&&!e.button))}),[u,v,n,h,i,r]),(0,o.useEffect)((()=>{if(i){const e=e=>{e.ctrlKey&&e.preventDefault()};return document.addEventListener("contextmenu",e,!0),()=>{document.removeEventListener("contextmenu",e,!0)}}}),[i]),(0,o.useEffect)((()=>{const e=t.current;if(!e)return;const o=(0,c.A)(e),s=()=>{o.on(".zoom",null).on(".zoom.custom",null).on("wheel",null)};if(n||a||r)return(n||a)&&o.on("wheel.zoom.custom",(e=>{if(!e.ctrlKey&&a){const t=e.target.closest(`.${J.body}`);if(t&&function(e,t){if(!t)return!1;if(t>0){const t=e.scrollHeight-e.clientHeight;return e.scrollTop<=t-1}return e.scrollTop>=1}(t,e.deltaY))return;e.cancelable&&(e.deltaY<0&&(l.current=!0),e.preventDefault(),h.translateBy(o,e.wheelDeltaX/5,e.wheelDeltaY/5))}})),o.call(h).on("wheel",(e=>{(a||n&&e.ctrlKey)&&e.preventDefault()})).on("dblclick.zoom",null),r||i||o.on("mousedown.zoom",null),r||o.on("touchstart.zoom",null).on("touchmove.zoom",null).on("touchend.zoom",null),s;s()}),[i,r,t,l,a,n,h]),{grabbing:p,transform:f,transformRef:g,zoomer:h,scaleRange:v}}({rootRef:ne,zoomable:Ue,scrollable:Ue&&!Ke,pannable:Ue,manualScrolledUpRef:Ye}),Qe=(0,o.useRef)(!1),Xe=(0,o.useMemo)((()=>{let e=null;const t=n=>{const o=$e.current,a="function"==typeof n?n(o):n;if(!a)return;const{transform:r,translateBy:i}=a;let s=(0,c.A)(ne.current);var l,u,p,m,f,b;Me.current&&0!==a.duration&&(Qe.current=!0,s=s.transition().duration(null!==(l=a.duration)&&void 0!==l?l:300).ease((e=>e*(2-e))).on("end",(()=>{if(Qe.current=!1,e){const n=e;e=null,t(n)}}))),r?Ze.transform(s,new d.uV(null!==(u=r.k)&&void 0!==u?u:o.k,null!==(p=r.x)&&void 0!==p?p:o.x,null!==(m=r.y)&&void 0!==m?m:o.y)):Ze.translateBy(s,null!==(f=i[0])&&void 0!==f?f:0,null!==(b=i[1])&&void 0!==b?b:0)};return n=>{Qe.current?e=n:t(n)}}),[$e,Ze]),{centered:et,setCentered:tt,reCenterRef:nt}=function(e){let{nodes:t,sizeReady:n,zoomer:a,rootRef:r,pushZoomTransition:i}=e;const[s,l]=(0,o.useState)(!1),c=(0,o.useRef)(!1);return(0,o.useEffect)((()=>{const e=r.current;if(n&&e&&!s&&t.length>0){const{x:n,y:o,width:a,height:r}=u(t.map((e=>e.view))),s=n+a,d=o+r,p=(e.clientWidth-(s+n))/2;let m=30;if(c.current){const t=d-o+B-e.clientHeight;m=t>0?-t-o:(e.clientHeight-(d+o))/2}i({transform:{k:1,x:p,y:m},duration:c.current?void 0:0}),l(!0)}c.current=!1}),[s,t,r,n,a,i]),{centered:s,setCentered:l,reCenterRef:c}}({nodes:We,sizeReady:Ue,zoomer:Ze,rootRef:ne,pushZoomTransition:Xe}),ot=ie.QB.includes(we)||"input-required"===we,at=(0,o.useMemo)((()=>new Set(Ve.map((e=>e.source)))),[Ve]),rt=(0,o.useMemo)((()=>{if(!Ue)return null;const e=[];for(const t of We)at.has(t.id)||e.push(t);return e.length>0?Math.max(...e.map((e=>e.view.y+e.view.height))):null}),[We,at,Ue]),it=(0,o.useRef)(null);(0,o.useEffect)((()=>{it.current=rt}),[rt]),(0,o.useEffect)((()=>{const e=ne.current;!e||null===rt||He.current&&Ye.current||Xe((t=>{const{offsetHeight:n}=e,o=rt*t.k+t.y,a=n-B-o;return a<0?{transform:{y:t.y+a},duration:a>-100?100:a<-500?300:200}:null}))}),[rt,Xe]),(0,o.useEffect)((()=>{const e=it.current,t=ne.current;if(!t||null===e||Qe.current)return;const{offsetHeight:n}=t,o=e*qe.k+qe.y,a=n-B-o;He.current=a<0}),[qe,Ze]);const st=(0,o.useCallback)((()=>{nt.current=!0,tt(!1)}),[nt,tt]),lt=(0,o.useCallback)((e=>{Ze.scaleTo((0,c.A)(ne.current),e)}),[Ze]),ct=(0,o.useMemo)((()=>Ue?u(We.map((e=>e.view))):null),[We,Ue]);(0,o.useEffect)((()=>{if(!ct)return;const e=ne.current;if(!e)return;const{offsetWidth:t,offsetHeight:n}=e,o=t/qe.k,a=n/qe.k,r=-(o-20-ct.x),i=o-20+(ct.x+ct.width),s=-(a-20-ct.y),l=a-20+(ct.y+ct.height);Ze.translateExtent([[r,s],[i,l]])}),[Ze,qe.k,ct]);const dt=(0,o.useCallback)((e=>{let{nodeId:t,jobId:n,behavior:o,block:a}=e;const r=ne.current,i=We.filter((e=>{var o;return!(t&&e.id!==t||n&&(null===(o=e.job)||void 0===o?void 0:o.id)!==n)}));if(!r||0===i.length)return;const s=u(i.map((e=>e.view))),{x:l,y:c}=function(e,t,n,o,a){const[r,i]=t,[s,l,c,d]=n,{x:u,y:p,width:m,height:f}=e,b=u+m,g=p+f,v=s-(p*o.k+o.y),h=i-c-(g*o.k+o.y),x=v>0||"start"===a?v/o.k:h<0?h/o.k:0,E=d-(u*o.k+o.x),w=r-l-(b*o.k+o.x);return{x:E>0?E/o.k:w<0?w/o.k:0,y:x}}(s,[r.offsetWidth,r.offsetHeight],[F,z,B,U],$e.current,a);(l||c)&&Xe({translateBy:[l,c],duration:"instant"===o?0:void 0})}),[We,Xe,$e]),ut=(0,o.useCallback)(((e,t)=>{const n=ne.current;if(!n||!Ue)return;let o,a=0,r=0,i=300;const s="left"===e||"right"===e;if("line"===t)o=40*("up"===e||"left"===e?1:-1),i=150;else if("page"===t)o=(n.offsetHeight-B)*("up"===e?-1:1);else{const{y:t,height:a}=u(We.map((e=>e.view)));if("down"===e){const e=t+a-t+B;o=n.offsetHeight-e-$e.current.y}else o=t+F-$e.current.y}s?a=o:r=o,(a||r)&&Xe({translateBy:[a,r],duration:i})}),[We,Xe,Ue,$e]),[pt,mt]=(0,o.useState)(null),[bt,xt]=(0,o.useState)(null),[Et,wt]=a().useState(null),[kt,Tt]=(0,o.useState)(),[Pt,St]=(0,o.useState)(),Nt=(0,o.useCallback)(((e,t)=>{St((n=>{const o=new Map(n);return o.set(e,t),o}))}),[]),Ct=null==fe?void 0:fe[0],It=(0,o.useMemo)((()=>{if("requirement"===(null==Ct?void 0:Ct.type))return Ct.content}),[Ct]),Rt=l,_t=(0,o.useMemo)((()=>({conversationId:l,workspace:Rt,previewUrlTemplate:k,replay:m,showCases:A,exampleProjects:T,humanInput:Oe,onShare:C,onTerminate:Y,supports:b,activeExpandedViewJobId:bt,setActiveExpandedViewJobId:xt,activeToolCallJobId:pt,setActiveToolCallJobId:mt,submittingFeedback:Te,submittedFeedback:Se,onSubmitFeedback:_e,setShowFeedback:Ie,showJsxEditor:y,activeJsxEditorJob:kt,setActiveJsxEditorJob:Tt,manuallyUpdatedViews:Pt,updateView:Nt,showFeedbackOnView:E,onFeedbackOnView:ee,feedbackDoneViews:Re,skipToResults:ce,watchAgain(){ue(),tt(!1)},tryItOut(){const e=window.open(`${(0,r.getBasePath)().slice(0,-1)}${null!=S?S:"/elevo"}`,"_blank");e&&(e.__elevo_try_it_out={content:It})},separateInstructions:N})),[l,Rt,k,m,A,T,Oe,Y,C,b,bt,pt,Te,Se,_e,y,kt,Pt,Nt,E,ee,Re,ce,ue,tt,It,S,N]),Mt=(0,o.useMemo)((()=>({onNodeResize:Be,setActiveNodeId:ke,hoverOnScrollableContent:Ke,setHoverOnScrollableContent:Je,setActiveFile:wt})),[Ke,Be]),Ot=(0,o.useMemo)((()=>pt&&(null==he?void 0:he.get(pt))||null),[pt,he]),jt=(0,o.useCallback)((e=>{for(const t of e.nativeEvent.composedPath()){if(t instanceof HTMLElement&&t.classList.contains(P.node))return;if(t===ne.current)break}ke(null)}),[]);return(0,o.useEffect)((()=>{const e=ne.current;if(!e||Ot||bt||Et)return;const t=t=>{if(document.activeElement&&document.activeElement!==document.body&&document.activeElement!==e)return;const n=function(e,t){let{activeNodeId:n,nodes:o}=t;if(e.ctrlKey||e.altKey)return;const a=n?o.find((e=>e.id===n)):null,r=e.key;if(!a){if(" "===r&&!e.metaKey)return{action:"scroll",direction:e.shiftKey?"down":"up",range:"page"};if(e.shiftKey||!H&&e.metaKey)return;switch(r){case"Home":return{action:"scroll",direction:"up",range:"document"};case"End":return{action:"scroll",direction:"down",range:"document"};case"ArrowUp":case"ArrowDown":{const t="ArrowUp"===r?"up":"down";return e.metaKey?{action:"scroll",direction:t,range:"document"}:{action:"scroll",direction:t,range:"line"}}case"ArrowLeft":case"ArrowRight":if(!e.metaKey)return{action:"scroll",direction:"ArrowLeft"===r?"left":"right",range:"line"}}return}if(e.shiftKey||!H&&e.metaKey)return;const i=(t,n)=>{if(e.metaKey&&"x"===t)return;const r="x"===t?"y":"x",i=vt(a.view),s=o.filter((e=>{let o,s;return e!==a&&"start"!==e.type&&"end"!==e.type&&"feedback"!==e.type&&"error"!==e.type&&"replay"!==e.type&&"instruction"!==e.type&&(s=vt(e.view),o=(s[t]-i[t])*n,o>0)&&o>Math.abs(i[r]-s[r])}));return(e.metaKey?gt.maxBy:gt.minBy)(s,(e=>{const n=vt(e.view);return(i[r]-n[r])**2+(i[t]-n[t])**2}))};let s,l;switch(r){case"ArrowLeft":l="switch-active-node",s=i("x",-1);break;case"ArrowUp":l="switch-active-node",s=i("y",-1);break;case"ArrowRight":l="switch-active-node",s=i("x",1);break;case"ArrowDown":l="switch-active-node",s=i("y",1);break;case"Escape":l="switch-active-node",s=null;break;case"Enter":l="enter",s=a}return l&&void 0!==s?{action:l,node:s}:void 0}(t,{activeNodeId:ye,nodes:We});if(!n)return;const{action:o,node:a}=n;if("scroll"===o)ut(n.direction,n.range);else if("enter"===o&&"job"!==a.type)return;t.preventDefault(),t.stopPropagation(),"enter"===o?mt(a.job.id):"switch-active-node"===o&&(a?(ke(a.id),"job"===a.type?dt({jobId:a.job.id,behavior:"smooth"}):dt({nodeId:a.id,behavior:"smooth"})):ke(null))};return document.addEventListener("keydown",t),()=>{document.removeEventListener("keydown",t)}}),[ye,Ot,bt,Et,We,dt,ut]),a().createElement(De.j.Provider,{value:_t},a().createElement(je.Q.Provider,{value:Mt},a().createElement("div",{className:s()(P.root,{[P.loading]:!oe}),ref:ne,style:{cursor:Ge?"grabbing":"grab"},tabIndex:-1,onClick:jt},!oe&&a().createElement("div",{className:P["loading-icon"]},a().createElement(ae.Bj,{lib:"antd",theme:"outlined",icon:"loading-3-quarters",spinning:!0})),a().createElement("div",{className:s()(P.canvas,{[P.ready]:Ue&&et}),style:{transform:`translate3d(${qe.x}px, ${qe.y}px, 0) scale(${qe.k})`}},a().createElement("svg",{className:P.edges},Ve.map((e=>e.target===_||e.target===j||e.target===M?null:a().createElement("path",{className:P.edge,key:`${e.source}-${e.target}`,d:e.points.map(((e,t)=>{let{x:n,y:o}=e;return`${0===t?"M":"L"}${n},${o}`})).join(" ")})))),We.map((e=>{var t,n;return a().createElement(Zt,{key:e.id,id:e.id,type:e.type,username:e.username,content:e.content,cmd:e.cmd,job:e.job,startTime:null==oe?void 0:oe.startTime,instructionLoading:"instruction"===e.type&&!at.has(e.id)&&!ie.QB.includes(e.state)&&!ie.X4.includes(we),isLeaf:!at.has(e.id),x:null===(t=e.view)||void 0===t?void 0:t.x,y:null===(n=e.view)||void 0===n?void 0:n.y,active:ye===e.id})})))),a().createElement("div",{className:P.widgets},a().createElement(yt,{nav:ge,plan:pe,jobMap:he,jobLevels:xe,currentNavId:Ae,taskState:we,onClick:e=>{ke(`job:${e}`),dt({jobId:e,block:"start"})}}),a().createElement(de,{scale:qe.k,showUiSwitch:w,onScaleChange:lt,onReCenter:st,onSwitchToChat:q}),m?!(null!=oe&&oe.finished)&&a().createElement("div",{className:P["footer-container"]},a().createElement($t.A,null)):null!=b&&b.chat?a().createElement("div",{className:P["footer-container"]},a().createElement(At.s,{state:we,canChat:ot})):null),Ot&&a().createElement(ft,{job:Ot}),bt&&a().createElement(ht.f,{views:ve}),Et&&a().createElement(Lt,{file:Et}),y&&kt&&a().createElement(Yt,null)))}function Xt(e){let{id:t,type:n,job:r,username:i,content:c,startTime:d,instructionLoading:u,isLeaf:p,x:m,y:f,active:b,cmd:g}=e;const v=(0,o.useRef)(null),{onNodeResize:h,setActiveNodeId:x}=(0,o.useContext)(je.Q);(0,o.useEffect)((()=>{const e=v.current;if(!e)return;const n=new l.A((()=>{h(t,[e.offsetWidth,e.offsetHeight])}));return n.observe(e),()=>{n.disconnect(),h(t,null)}}),[t,h]),(0,o.useEffect)((()=>{const e=v.current;if(!e)return;const t=e=>{e.stopPropagation()};return e.addEventListener("mousedown",t),()=>{e.removeEventListener("mousedown",t)}}),[]);const E=(0,o.useCallback)((()=>{"start"!==n&&"instruction"!==n&&x(t)}),[t,x,n]);return a().createElement("div",{className:s()(P.node,{[P.ready]:null!=m&&null!=f}),ref:v,style:{left:m,top:f},onClick:E},"start"===n?a().createElement(fe,null):"end"===n?a().createElement(st,null):"feedback"===n?a().createElement(_t.k,null):"requirement"===n?a().createElement(ke,{username:i,content:c,startTime:d,active:b,cmd:g}):"loading"===n?a().createElement(Ft,null):"error"===n?a().createElement(qt,{content:c}):"replay"===n?a().createElement($t.A,{finished:!0}):"instruction"===n?a().createElement(Ne,{content:r.instruction,loading:u}):a().createElement(nt,{job:r,active:b,isLeaf:p}))}},91417:(e,t,n)=>{n.d(t,{A:()=>s});var o=n(36758),a=n.n(o),r=n(40935),i=n.n(r)()(a());i.push([e.id,".error--D_UJOZDA{color:var(--color-error);padding:8px;white-space:pre-wrap;word-break:break-word}",""]),i.locals={error:"error--D_UJOZDA"};const s=i},91776:(e,t,n)=>{e.exports=n.p+"images/a1d108f4.png"}}]);
2
+ //# sourceMappingURL=3227.77ba4968.js.map