@next-bricks/ai-portal 0.63.0 → 0.63.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.
- package/dist/bricks.json +42 -42
- package/dist/chunks/4820.15145a03.js.map +1 -1
- package/dist/chunks/7059.3f1ffc70.js +3 -0
- package/dist/chunks/7059.3f1ffc70.js.map +1 -0
- package/dist/chunks/chat-panel.a64e0e43.js.map +1 -1
- package/dist/chunks/elevo-sidebar.78a35f1d.js.map +1 -1
- package/dist/chunks/{main.3021b8e8.js → main.dd3b9485.js} +2 -2
- package/dist/chunks/{main.3021b8e8.js.map → main.dd3b9485.js.map} +1 -1
- package/dist/examples.json +17 -17
- package/dist/{index.eb7fcf13.js → index.8690de83.js} +2 -2
- package/dist/{index.eb7fcf13.js.map → index.8690de83.js.map} +1 -1
- package/dist/manifest.json +251 -251
- package/dist/types.json +420 -408
- package/dist-types/chat-panel/index.d.ts +1 -2
- package/dist-types/elevo-sidebar/SpaceNav.d.ts +2 -1
- package/dist-types/elevo-sidebar/constants.d.ts +1 -0
- package/dist-types/elevo-sidebar/i18n.d.ts +2 -1
- package/dist-types/elevo-sidebar/index.d.ts +1 -0
- package/dist-types/jsx.d.ts +1 -0
- package/docs/chat-panel.md +19 -3
- package/package.json +2 -2
- package/dist/chunks/7059.ee6fc15b.js +0 -3
- package/dist/chunks/7059.ee6fc15b.js.map +0 -1
- /package/dist/chunks/{7059.ee6fc15b.js.LICENSE.txt → 7059.3f1ffc70.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! For license information please see 7059.3f1ffc70.js.LICENSE.txt */
|
|
2
|
+
"use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[7059],{5813:(e,t,i)=>{i.d(t,{I:()=>c,K:()=>a,NS:()=>o,t:()=>s});var n=i(67177);let a=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.BUSINESS_OBJECTS="BUSINESS_OBJECTS",e.SERVICEFLOWS="SERVICEFLOWS",e.COLLABORATION_SPACES="COLLABORATION_SPACES",e.CREATE_SERVICEFLOW="CREATE_SERVICEFLOW",e.BUSINESS_OBJECTS_SETTINGS="BUSINESS_OBJECTS_SETTINGS",e}({});const r={[a.NEW_CHAT]:"New chat",[a.LOGOUT]:"Logout",[a.TODAY]:"Today",[a.YESTERDAY]:"Yesterday",[a.PREVIOUS_7_DAYS]:"Previous 7 days",[a.PREVIOUS_30_DAYS]:"Previous 30 days",[a.SWITCH_LANGUAGE]:"中文",[a.MY]:"My",[a.PROJECTS]:"Projects",[a.HISTORY]:"Chats",[a.CREATE_PROJECT]:"Create project",[a.MOVE_TO_PROJECT]:"Move to project",[a.UNTITLED]:"Untitled",[a.UNNAMED]:"Unnamed",[a.BUSINESS_OBJECTS]:"Business objects",[a.SERVICEFLOWS]:"Serviceflows",[a.COLLABORATION_SPACES]:"Collaboration spaces",[a.CREATE_SERVICEFLOW]:"Create serviceflow",[a.BUSINESS_OBJECTS_SETTINGS]:"Business objects settings"},l={[a.NEW_CHAT]:"新对话",[a.LOGOUT]:"登出",[a.TODAY]:"今天",[a.YESTERDAY]:"昨天",[a.PREVIOUS_7_DAYS]:"过去7天",[a.PREVIOUS_30_DAYS]:"过去30天",[a.SWITCH_LANGUAGE]:"English",[a.MY]:"我的",[a.PROJECTS]:"项目",[a.HISTORY]:"对话",[a.CREATE_PROJECT]:"创建项目",[a.MOVE_TO_PROJECT]:"移动到项目",[a.UNTITLED]:"无标题",[a.UNNAMED]:"未命名",[a.BUSINESS_OBJECTS]:"业务对象",[a.SERVICEFLOWS]:"业务流",[a.COLLABORATION_SPACES]:"协作空间",[a.CREATE_SERVICEFLOW]:"创建业务流",[a.BUSINESS_OBJECTS_SETTINGS]:"业务对象设置"},o="bricks/ai-portal/elevo-sidebar",c={en:r,zh:l},s=n.i18n.getFixedT(null,o)},17452:(e,t,i)=>{i.d(t,{L:()=>a,c:()=>n});const n={lib:"fa",icon:"plus"},a={lib:"lucide",icon:"settings"}},41938:(e,t,i)=>{i.d(t,{c:()=>E});var n=i(89575),a=i(18769),r=i.n(a),l=i(53373),o=i.n(l),c=i(51578),s=i(5813),d=i(70579),p=i(94504),m=i(17452),u=i(60128);function E(e){let{returnUrl:t,introUrl:i,spaceDetail:l,spaceObjects:E,spaceServiceflows:g,spaceLinks:h,onAddServiceflow:v}=e;const f=(0,a.useRef)(null),[x,S]=(0,a.useState)(!1),[b,k]=(0,a.useState)(!1);return r().createElement(r().Fragment,null,r().createElement(d.EM,{url:t,className:"return-link"},r().createElement("div",{className:"heading"},r().createElement("div",{className:"title"},null==l?void 0:l.name),r().createElement("div",{className:"sub-title"},(0,s.t)(s.K.COLLABORATION_SPACES))),r().createElement(d.Bj,{className:"icon",lib:"lucide",icon:"arrow-left"})),r().createElement("div",{className:"divider"}),r().createElement("div",{className:"history",ref:f},E?r().createElement("div",{className:o()("section",{collapsed:x})},r().createElement(c._,{rootRef:f,title:(0,s.t)(s.K.BUSINESS_OBJECTS),collapsed:x,onToggle:()=>S((e=>!e))},r().createElement(d.Py,{icon:m.L,variant:"mini-light",tooltip:(0,s.t)(s.K.BUSINESS_OBJECTS_SETTINGS),tooltipHoist:!0,className:"button",onClick:()=>(0,u.getHistory)().push(i)})),r().createElement("ul",{className:"items"},E.map(((e,t)=>r().createElement("li",{key:t},r().createElement(p.k,{url:e.url,activeIncludes:e.activeIncludes,render:t=>{let{active:i}=t;return r().createElement(d.EM,{className:o()("item",{active:i}),url:e.url},r().createElement("div",{className:"item-title"},e.title))}})))))):null,g?r().createElement("div",{className:o()("section",{collapsed:b})},r().createElement(c._,{rootRef:f,title:(0,s.t)(s.K.SERVICEFLOWS),collapsed:b,onToggle:()=>k((e=>!e))},r().createElement(d.Py,{icon:m.c,variant:"mini-light",tooltip:(0,s.t)(s.K.CREATE_SERVICEFLOW),tooltipHoist:!0,className:"button",onClick:v})),r().createElement("ul",{className:"items"},g.map(((e,t)=>r().createElement("li",{key:t},r().createElement(p.k,{url:e.url,activeIncludes:e.activeIncludes,render:t=>{let{active:i}=t;return r().createElement(d.EM,{className:o()("item",{active:i}),url:e.url},r().createElement("div",{className:"item-title"},e.title))}})))))):null,null!=h&&h.length?r().createElement("div",{className:"space-links"},h.map(((e,t)=>r().createElement(p.k,{key:t,url:e.url,activeIncludes:e.activeIncludes,render:i=>{let{active:a}=i;return r().createElement(d.EM,{key:t,className:o()("link",{active:a}),url:e.url},r().createElement(d.Bj,(0,n.A)({className:"icon"},e.icon)),r().createElement("span",{className:"title"},e.title))}})))):null))}},51578:(e,t,i)=>{i.d(t,{_:()=>s});var n=i(18769),a=i.n(n),r=i(41030),l=i(53373),o=i.n(l),c=i(70579);function s(e){let{rootRef:t,title:i,collapsed:l,children:s,onToggle:d}=e;const p=(0,n.useRef)(null),[m,u]=(0,n.useState)(!1);return(0,n.useEffect)((()=>{if(l)return void u(!1);const e=t.current,i=p.current,n=null==i?void 0:i.nextElementSibling;if(!e||!i||!n)return;const a=(0,r.throttle)((()=>{const e=i.getBoundingClientRect(),t=n.getBoundingClientRect().top-e.top-e.height;u(t<1)}),100);return e.addEventListener("scroll",a),()=>{e.removeEventListener("scroll",a)}}),[l,t]),a().createElement("div",{className:o()("section-title",{sticky:m}),ref:p},a().createElement("div",{className:"section-label",onClick:d},i,a().createElement(c.Bj,{lib:"fa",icon:"angle-down"})),s)}},61408:(e,t,i)=>{i.d(t,{A:()=>o});var n=i(36758),a=i.n(n),r=i(40935),l=i.n(r)()(a());l.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}.main{flex:1;min-height:0;display:flex;flex-direction:column}.divider{border-top:1px solid rgba(0,0,0,0.06);margin:16px 0}.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:8px;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}.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}.space-links{margin-top:16px}.return-link{display:block}.return-link .heading{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex:1;min-width:0}.return-link .title,.return-link .sub-title{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.return-link .title{font-weight:500;font-size:18px}.return-link .sub-title{font-size:12px;color:#8c8c8c}.return-link .icon{font-size:16px;color:#8c8c8c}.return-link:not(:hover) .icon{display:none}.return-link::part(link){display:flex;align-items:center;justify-content:center;padding:6px 8px;border-radius:8px;color:#000}.return-link::part(link):hover{background:rgba(0,0,0,0.04)}',""]);const o=l.toString()},70579:(e,t,i)=>{i.d(t,{Bj:()=>a,EM:()=>r,JQ:()=>o,Py:()=>s,qb:()=>l,qu:()=>c});var n=i(30981);const a=(0,n.wrapBrick)("eo-icon"),r=(0,n.wrapBrick)("eo-link"),l=(0,n.wrapBrick)("eo-dropdown-actions",{onActionClick:"action.click",onVisibleChange:"visible.change"}),o=(0,n.wrapBrick)("eo-easyops-avatar"),c=(0,n.wrapBrick)("eo-mini-actions",{onActionClick:"action.click",onVisibleChange:"visible.change"}),s=(0,n.wrapBrick)("ai-portal.icon-button")},75197:(e,t,i)=>{i.d(t,{D:()=>f});var n=i(89575),a=i(18769),r=i.n(a),l=i(53373),o=i.n(l),c=i(22919);const s=async(e,t)=>(await c.http.get("api/gateway/logic.llm.aiops_service/api/v1/elevo/conversations",{...t,params:e})).data;var d=i(41030),p=i(5813),m=i(70579),u=i(40177),E=i(65549),g=i(94504),h=i(51578),v=i(17452);const f=(0,a.forwardRef)(x);function x(e,t){let{showProjects:i,historyActions:l,historyUrlTemplate:f,projectUrlTemplate:x,projectActions:S,canAddProject:b,myLinks:k,onActionClick:y,onHistoryClick:T,onProjectActionClick:C,onAddProject:N}=e;const O=(0,a.useRef)(null),[w,_]=(0,a.useState)(!1),[I,A]=(0,a.useState)(null),[R,P]=(0,a.useState)(!1),[B,U]=(0,a.useState)(!1),[L,j]=(0,a.useState)(null),[Y,D]=(0,a.useState)(!1),[M,V]=(0,a.useState)(),[J,H]=(0,a.useState)(),[W,G]=(0,a.useState)(!1),z=(0,a.useRef)(!0),[F,K]=(0,a.useState)([]),q=(0,a.useMemo)((()=>[...null!=l?l:[],{isDropdown:!0,text:(0,p.t)(p.K.MOVE_TO_PROJECT),disabled:!(null!=I&&I.length),items:null==I?void 0:I.map((e=>({event:"move",key:e.instanceId,text:e.name,project:e})))}]),[l,I]);(0,a.useEffect)((()=>{(async()=>{try{const e=await(async()=>(await c.http.get("api/gateway/logic.llm.aiops_service/api/v1/elevo/projects",{params:{page:1,page_size:3e3}})).data)();A(e.list)}catch(e){console.error("Error loading projects:",e),U(!0),A([])}})()}),[]),(0,a.useEffect)((()=>{Promise.all([s({token:J,limit:30,onlyOwner:!0,onlyUnrelatedProject:!0},{interceptorParams:{ignoreLoadingBar:!0}}),...z.current?[]:[new Promise((e=>setTimeout(e,500)))]]).then((e=>{let[t]=e;z.current=!1,j((e=>[...null!=e?e:[],...t.conversations])),V(t.nextToken)})).catch((e=>{console.error("Error loading chat history:",e),j([]),G(!0)}))}),[J]);const[Q,X]=(0,a.useState)(null),Z=(0,a.useRef)(null);(0,a.useEffect)((()=>{const e=Z.current,t=O.current;if(!e||!M||!t||Y)return;const i=new IntersectionObserver((e=>{for(const t of e)t.isIntersecting&&H(M)}),{root:t});return i.observe(e),()=>{i.disconnect()}}),[M,Y]);const $=(0,a.useRef)(0),ee=(0,a.useCallback)((async()=>{try{const e=++$.current,t=await s({limit:30,onlyOwner:!0,onlyUnrelatedProject:!0},{interceptorParams:{ignoreLoadingBar:!0}});if(e!==$.current)return;j((e=>{const i=null!=e?e:[],n=t.conversations,a=new Set(n.map((e=>e.conversationId))),r=new Map(n.map((e=>[e.conversationId,e])));let l=!1,o=!1,c=!0;for(const e of i){const t=r.get(e.conversationId);if(!t)break;if(l=!0,o=c&&t!==n[0]||!(0,d.isEqual)(t,e),o)break;c=!1}return l?o?[...n,...i.filter((e=>!a.has(e.conversationId)))]:e:(V(t.nextToken),n)}))}catch(e){console.error("Error pulling chat history:",e)}}),[]);(0,a.useImperativeHandle)(t,(()=>({pull:ee,removeProject:e=>{A((t=>t?t.filter((t=>t.instanceId!==e)):t))},addProject:e=>{A((t=>t?[...t,e]:[e]))},moveConversation:e=>{K((t=>[...t,e]))}})),[ee]);const te=(0,a.useMemo)((()=>L&&L.length?L.filter((e=>!F.includes(e.conversationId))):L),[L,F]);return r().createElement("div",{className:"history",ref:O},null!=k&&k.length?r().createElement("div",{className:o()("section",{collapsed:w})},r().createElement(h._,{rootRef:O,title:(0,p.t)(p.K.MY),collapsed:w,onToggle:()=>_((e=>!e))}),r().createElement("ul",{className:"items"},k.map(((e,t)=>r().createElement("li",{key:t},r().createElement(g.k,{url:e.url,activeIncludes:e.activeIncludes,render:t=>{let{active:i}=t;return r().createElement(m.EM,{className:o()("item",{active:i}),url:e.url},r().createElement("div",{className:"item-title"},e.title))}})))))):null,i&&r().createElement("div",{className:o()("section",{collapsed:R})},r().createElement(h._,{rootRef:O,title:(0,p.t)(p.K.PROJECTS),collapsed:R,onToggle:()=>P((e=>!e))},b&&r().createElement(m.Py,{icon:v.c,variant:"mini-light",tooltip:(0,p.t)(p.K.CREATE_PROJECT),tooltipHoist:!0,className:"button",onClick:N})),r().createElement("ul",{className:"items"},B?r().createElement("li",{className:"error"},"Failed to load project"):I?I.map((e=>{const t=x?(0,E.Q)(x,e):void 0;return r().createElement("li",{key:e.instanceId},r().createElement(g.k,{url:t,render:i=>{let{active:a}=i;return r().createElement(m.EM,(0,n.A)({className:o()("item",{"actions-active":e.instanceId===Q,active:a}),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(m.qu,{className:"actions",actions:S,themeVariant:"elevo",onActionClick:t=>{C({action:t.detail,project:e})},onVisibleChange:t=>{X(t.detail?e.instanceId:null)}}))}}))})):r().createElement("li",{className:"loading"},r().createElement(m.Bj,{lib:"antd",theme:"outlined",icon:"loading-3-quarters",spinning:!0})))),r().createElement("div",{className:o()("section",{collapsed:Y})},r().createElement(h._,{rootRef:O,title:(0,p.t)(p.K.HISTORY),collapsed:Y,onToggle:()=>D((e=>!e))}),r().createElement("ul",{className:"items"},te?te.map((e=>{const t=f?(0,E.Q)(f,e):void 0;return r().createElement("li",{key:e.conversationId},r().createElement(g.k,{url:t,render:t=>{let{active:i}=t;return r().createElement(m.EM,(0,n.A)({className:o()("item",{"actions-active":e.conversationId===Q,active:i}),onClick:T},f?{url:(0,E.Q)(f,e)}:null),r().createElement("div",{className:"item-title",title:e.title},e.title||(0,p.t)(p.K.UNTITLED)),r().createElement(m.qu,{className:"actions",actions:q,onActionClick:t=>{y({action:t.detail,item:e,project:t.detail.project})},onVisibleChange:t=>{X(t.detail?e.conversationId:null)}}),!u.QB.includes(e.state)&&r().createElement("div",{className:"working"}))}}))})):r().createElement("li",{className:"loading"},r().createElement(m.Bj,{lib:"antd",theme:"outlined",icon:"loading-3-quarters",spinning:!0})),W?r().createElement("li",{className:"error"},"Failed to load chat history"):null),!Y&&M&&r().createElement("div",{className:"load-more",ref:Z},r().createElement(m.Bj,{lib:"antd",icon:"loading-3-quarters",spinning:!0}))))}},94504:(e,t,i)=>{i.d(t,{k:()=>r});var n=i(18769),a=i(60128);function r(e){let{url:t,activeIncludes:i,render:r}=e;const[l,o]=(0,n.useState)(!1);return(0,n.useEffect)((()=>{function e(e){if(t){for(const n of[t,...null!=i?i:[]])if((0,a.matchPath)(e.pathname,{path:n,exact:!1}))return void o(!0);o(!1)}else o(!1)}const n=(0,a.getHistory)();return e(n.location),n.listen(e)}),[t,i]),r({active:l})}}}]);
|
|
3
|
+
//# sourceMappingURL=7059.3f1ffc70.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/7059.3f1ffc70.js","mappings":"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","sources":["webpack:///./src/elevo-sidebar/i18n.ts","webpack:///./src/elevo-sidebar/constants.ts","webpack:///./src/elevo-sidebar/SpaceNav.tsx","webpack:///./src/elevo-sidebar/SectionTitle.tsx","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 BUSINESS_OBJECTS = \"BUSINESS_OBJECTS\",\n SERVICEFLOWS = \"SERVICEFLOWS\",\n COLLABORATION_SPACES = \"COLLABORATION_SPACES\",\n CREATE_SERVICEFLOW = \"CREATE_SERVICEFLOW\",\n BUSINESS_OBJECTS_SETTINGS = \"BUSINESS_OBJECTS_SETTINGS\",\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 [K.BUSINESS_OBJECTS]: \"Business objects\",\n [K.SERVICEFLOWS]: \"Serviceflows\",\n [K.COLLABORATION_SPACES]: \"Collaboration spaces\",\n [K.CREATE_SERVICEFLOW]: \"Create serviceflow\",\n [K.BUSINESS_OBJECTS_SETTINGS]: \"Business objects settings\",\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 [K.BUSINESS_OBJECTS]: \"业务对象\",\n [K.SERVICEFLOWS]: \"业务流\",\n [K.COLLABORATION_SPACES]: \"协作空间\",\n [K.CREATE_SERVICEFLOW]: \"创建业务流\",\n [K.BUSINESS_OBJECTS_SETTINGS]: \"业务对象设置\",\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","import type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\n\nexport const ADD_ICON: GeneralIconProps = {\n lib: \"fa\",\n icon: \"plus\",\n};\n\nexport const SETTINGS_ICON: GeneralIconProps = {\n lib: \"lucide\",\n icon: \"settings\",\n};\n","import React, { useRef, useState } from \"react\";\nimport classNames from \"classnames\";\nimport { SectionTitle } from \"./SectionTitle.js\";\nimport { K, t } from \"./i18n.js\";\nimport { WrappedIcon, WrappedIconButton, WrappedLink } from \"./bricks.js\";\nimport { NavLink } from \"./NavLink.js\";\nimport type { SidebarLink } from \"./interfaces.js\";\nimport { ADD_ICON, SETTINGS_ICON } from \"./constants.js\";\nimport { getHistory } from \"@next-core/runtime\";\n\nexport interface SpaceNavProps {\n returnUrl: string;\n introUrl: string;\n spaceDetail: {\n instanceId: string;\n name: string;\n };\n spaceObjects?: SidebarLink[];\n spaceServiceflows?: SidebarLink[];\n spaceLinks?: SidebarLink[];\n}\n\nexport interface SpaceNavComponentProps extends SpaceNavProps {\n onAddServiceflow?: () => void;\n}\n\nexport function SpaceNav({\n returnUrl,\n introUrl,\n spaceDetail,\n spaceObjects,\n spaceServiceflows,\n spaceLinks,\n onAddServiceflow,\n}: SpaceNavComponentProps) {\n const rootRef = useRef<HTMLDivElement | null>(null);\n const [objectsCollapsed, setObjectsCollapsed] = useState(false);\n const [serviceflowsCollapsed, setServiceflowsCollapsed] = useState(false);\n\n return (\n <>\n <WrappedLink url={returnUrl} className=\"return-link\">\n <div className=\"heading\">\n <div className=\"title\">{spaceDetail?.name}</div>\n <div className=\"sub-title\">{t(K.COLLABORATION_SPACES)}</div>\n </div>\n <WrappedIcon className=\"icon\" lib=\"lucide\" icon=\"arrow-left\" />\n </WrappedLink>\n <div className=\"divider\" />\n <div className=\"history\" ref={rootRef}>\n {spaceObjects ? (\n <div\n className={classNames(\"section\", { collapsed: objectsCollapsed })}\n >\n <SectionTitle\n rootRef={rootRef}\n title={t(K.BUSINESS_OBJECTS)}\n collapsed={objectsCollapsed}\n onToggle={() => setObjectsCollapsed((prev) => !prev)}\n >\n <WrappedIconButton\n icon={SETTINGS_ICON}\n variant=\"mini-light\"\n tooltip={t(K.BUSINESS_OBJECTS_SETTINGS)}\n tooltipHoist={true}\n className=\"button\"\n onClick={() => getHistory().push(introUrl)}\n />\n </SectionTitle>\n <ul className=\"items\">\n {spaceObjects.map((obj, index) => (\n <li key={index}>\n <NavLink\n url={obj.url}\n activeIncludes={obj.activeIncludes}\n render={({ active }) => (\n <WrappedLink\n className={classNames(\"item\", { active })}\n url={obj.url}\n >\n <div className=\"item-title\">{obj.title}</div>\n </WrappedLink>\n )}\n />\n </li>\n ))}\n </ul>\n </div>\n ) : null}\n {spaceServiceflows ? (\n <div\n className={classNames(\"section\", {\n collapsed: serviceflowsCollapsed,\n })}\n >\n <SectionTitle\n rootRef={rootRef}\n title={t(K.SERVICEFLOWS)}\n collapsed={serviceflowsCollapsed}\n onToggle={() => setServiceflowsCollapsed((prev) => !prev)}\n >\n <WrappedIconButton\n icon={ADD_ICON}\n variant=\"mini-light\"\n tooltip={t(K.CREATE_SERVICEFLOW)}\n tooltipHoist={true}\n className=\"button\"\n onClick={onAddServiceflow}\n />\n </SectionTitle>\n <ul className=\"items\">\n {spaceServiceflows.map((obj, index) => (\n <li key={index}>\n <NavLink\n url={obj.url}\n activeIncludes={obj.activeIncludes}\n render={({ active }) => (\n <WrappedLink\n className={classNames(\"item\", { active })}\n url={obj.url}\n >\n <div className=\"item-title\">{obj.title}</div>\n </WrappedLink>\n )}\n />\n </li>\n ))}\n </ul>\n </div>\n ) : null}\n {spaceLinks?.length ? (\n <div className=\"space-links\">\n {spaceLinks.map((link, index) => (\n <NavLink\n key={index}\n url={link.url}\n activeIncludes={link.activeIncludes}\n render={({ active }) => (\n <WrappedLink\n key={index}\n className={classNames(\"link\", { active })}\n url={link.url}\n >\n <WrappedIcon className=\"icon\" {...link.icon} />\n <span className=\"title\">{link.title}</span>\n </WrappedLink>\n )}\n />\n ))}\n </div>\n ) : null}\n </div>\n </>\n );\n}\n","import React, {\n useEffect,\n useRef,\n useState,\n type MutableRefObject,\n type PropsWithChildren,\n} from \"react\";\nimport { throttle } from \"lodash\";\nimport classNames from \"classnames\";\nimport { WrappedIcon } from \"./bricks.js\";\n\nexport interface SectionTitleProps {\n rootRef: MutableRefObject<HTMLDivElement | null>;\n title: string;\n collapsed: boolean;\n onToggle: () => void;\n}\n\nexport function 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","// 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}.main{flex:1;min-height:0;display:flex;flex-direction:column}.divider{border-top:1px solid rgba(0,0,0,0.06);margin:16px 0}.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:8px;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}.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}.space-links{margin-top:16px}.return-link{display:block}.return-link .heading{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex:1;min-width:0}.return-link .title,.return-link .sub-title{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.return-link .title{font-weight:500;font-size:18px}.return-link .sub-title{font-size:12px;color:#8c8c8c}.return-link .icon{font-size:16px;color:#8c8c8c}.return-link:not(:hover) .icon{display:none}.return-link::part(link){display:flex;align-items:center;justify-content:center;padding:6px 8px;border-radius:8px;color:#000}.return-link::part(link):hover{background:rgba(0,0,0,0.04)}`, \"\"]);\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 & { themeVariant?: \"default\" | \"elevo\" },\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} 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 { isEqual } 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 \"./interfaces.js\";\nimport { NavLink } from \"./NavLink.js\";\nimport { SectionTitle } from \"./SectionTitle.js\";\nimport { ADD_ICON } from \"./constants.js\";\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 project?: Project;\n };\n item: HistoryItem;\n project?: Project;\n}\n\nexport interface ProjectActionClickDetail {\n action: SimpleActionType;\n project: Project;\n}\n\nexport interface PersonalActionClickDetail {\n action: SimpleActionType;\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 showProjects?: boolean;\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 showProjects,\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 {showProjects && (\n <div\n className={classNames(\"section\", { collapsed: projectsCollapsed })}\n >\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({\n action: e.detail,\n project,\n });\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 )}\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({\n action: e.detail,\n item,\n project: (e.detail as { project?: Project })\n .project,\n });\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","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","BUSINESS_OBJECTS","SERVICEFLOWS","COLLABORATION_SPACES","CREATE_SERVICEFLOW","BUSINESS_OBJECTS_SETTINGS","zh","NS","locales","t","i18n","getFixedT","ADD_ICON","lib","icon","SETTINGS_ICON","SpaceNav","_ref","returnUrl","introUrl","spaceDetail","spaceObjects","spaceServiceflows","spaceLinks","onAddServiceflow","rootRef","useRef","objectsCollapsed","setObjectsCollapsed","useState","serviceflowsCollapsed","setServiceflowsCollapsed","React","WrappedLink","url","className","name","WrappedIcon","ref","classNames","collapsed","SectionTitle","title","onToggle","prev","WrappedIconButton","variant","tooltip","tooltipHoist","onClick","getHistory","push","map","obj","index","key","NavLink","activeIncludes","render","_ref2","active","_ref3","length","link","_ref4","_extends","children","stickyActive","setStickyActive","useEffect","parent","current","element","sibling","nextElementSibling","onScroll","throttle","rect","getBoundingClientRect","diff","top","height","addEventListener","removeEventListener","sticky","___CSS_LOADER_EXPORT___","module","id","toString","wrapBrick","WrappedDropdownActions","onActionClick","onVisibleChange","WrappedEasyopsAvatar","WrappedMiniActions","ElevoApi_listElevoConversations","async","params","options","http","get","data","ChatHistory","forwardRef","LowLevelChatHistory","showProjects","historyActions","historyUrlTemplate","projectUrlTemplate","projectActions","canAddProject","myLinks","onHistoryClick","onProjectActionClick","onAddProject","myCollapsed","setMyCollapsed","projects","setProjects","projectsCollapsed","setProjectsCollapsed","projectsError","setProjectsError","historyList","setHistoryList","historyCollapsed","setHistoryCollapsed","nextToken","setNextToken","loadNextToken","setLoadNextToken","historyError","setHistoryError","initialRef","movedConversations","setMovedConversations","mergedHistoryActions","useMemo","isDropdown","text","disabled","items","project","event","instanceId","page","page_size","ElevoApi_getElevoProjects","list","error","console","Promise","all","token","limit","onlyOwner","onlyUnrelatedProject","interceptorParams","ignoreLoadingBar","resolve","setTimeout","then","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","parseTemplate","undefined","actions","themeVariant","e","action","detail","theme","spinning","_ref5","DONE_STATES","state","setActive","checkLinkActive","loc","path","matchPath","pathname","exact","history","location","listen"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/chat-panel.a64e0e43.js","mappings":"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","sources":["webpack:///./src/chat-panel/styles.module.css?bf50","webpack:///./src/chat-panel/index.tsx","webpack:///./src/chat-panel/styles.module.css"],"sourcesContent":["\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./styles.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./styles.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {\n createRef,\n forwardRef,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport type {\n Modal,\n ModalProps,\n ModalEvents,\n ModalMapEvents,\n} from \"@next-bricks/containers/modal\";\nimport { http } from \"@next-core/http\";\nimport styles from \"./styles.module.css\";\nimport type { ChatInput } from \"../chat-input\";\nimport type {\n ChatPayload,\n RequestStore,\n UploadOptions,\n} from \"../shared/interfaces\";\nimport { handleHttpError } from \"@next-core/runtime\";\nimport { useConversationDetail } from \"../cruise-canvas/useConversationDetail\";\nimport { useConversationStream } from \"../chat-stream/useConversationStream\";\nimport { preloadHighlighter } from \"@next-shared/markdown\";\nimport { useAutoScroll } from \"../chat-stream/useAutoScroll\";\nimport { UserMessage } from \"../chat-stream/UserMessage/UserMessage\";\nimport { AssistantMessage } from \"../chat-stream/AssistantMessage/AssistantMessage\";\nimport scrollStyles from \"../chat-stream/ScrollDownButton.module.css\";\nimport floatingStyles from \"../shared/FloatingButton.module.css\";\nimport backgroundImage from \"../home-container/images/background.png\";\nimport { DONE_STATES } from \"../shared/constants\";\nimport { WrappedChatInput, WrappedIcon } from \"../shared/bricks\";\n\nconst WrappedModal = wrapBrick<\n Modal,\n ModalProps & {\n themeVariant?: \"default\" | \"elevo\";\n height?: string | number;\n noFooter?: boolean;\n headerBordered?: boolean;\n background?: string;\n fullscreenButton?: boolean;\n },\n ModalEvents,\n ModalMapEvents\n>(\"eo-modal\", {\n onClose: \"close\",\n onConfirm: \"confirm\",\n onCancel: \"cancel\",\n onOpen: \"open\",\n});\n\nconst { defineElement, property, method } = createDecorators();\n\nexport interface ChatPanelProps {\n panelTitle?: string;\n mode?: \"drawer\" | \"modal\" | \"fullscreen\";\n width?: string | number;\n height?: string | number;\n placeholder?: string;\n uploadOptions?: UploadOptions;\n}\n\nconst ChatPanelComponent = forwardRef(LegacyChatPanelComponent);\n\n/**\n * 弹出式对话面板,支持三种显示模式:抽屉、弹窗、全屏。\n */\nexport\n@defineElement(\"ai-portal.chat-panel\", {\n shadowOptions: false,\n})\nclass ChatPanel extends ReactNextElement implements ChatPanelProps {\n @property()\n accessor panelTitle: string | undefined;\n\n @property({ attribute: false }) accessor width: string | number | undefined;\n\n @property({ attribute: false }) accessor height: string | number | undefined;\n\n @property()\n accessor placeholder: string | undefined;\n\n @property({ attribute: false })\n accessor uploadOptions: UploadOptions | undefined;\n\n #ref = createRef<ChatPanelRef>();\n\n @method()\n open() {\n this.#ref.current?.open();\n }\n\n @method()\n close() {\n this.#ref.current?.close();\n }\n\n render() {\n return (\n <ChatPanelComponent\n ref={this.#ref}\n panelTitle={this.panelTitle}\n width={this.width}\n height={this.height}\n placeholder={this.placeholder}\n uploadOptions={this.uploadOptions}\n />\n );\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface ChatPanelComponentProps extends ChatPanelProps {\n // Define react event handlers here.\n}\n\ninterface ChatPanelRef {\n open: () => void;\n close: () => void;\n}\n\nfunction LegacyChatPanelComponent(\n {\n panelTitle,\n width,\n height,\n placeholder,\n uploadOptions,\n }: ChatPanelComponentProps,\n ref: React.Ref<ChatPanelRef>\n) {\n const modalRef = useRef<Modal>(null);\n const inputRef = useRef<ChatInput>(null);\n\n useImperativeHandle(ref, () => ({\n open: () => {\n modalRef.current?.open();\n },\n close: () => {\n modalRef.current?.close();\n },\n }));\n\n const [submitDisabled, setSubmitDisabled] = useState(false);\n\n const [conversationId, setConversationId] = useState<string | null>(null);\n const [initialRequest, setInitialRequest] = useState<RequestStore | null>(\n null\n );\n\n const { conversation, tasks, errors, humanInputRef } = useConversationDetail(\n conversationId,\n initialRequest\n );\n const conversationAvailable = !!conversation;\n const conversationState = conversation?.state;\n const conversationDone = DONE_STATES.includes(conversationState!);\n const canChat =\n !conversationId ||\n conversationDone ||\n conversationState === \"input-required\";\n\n const { messages } = useConversationStream(\n conversationAvailable,\n conversationState,\n tasks,\n errors\n );\n\n const [depsReady, setDepsReady] = useState(false);\n useEffect(() => {\n let ignore = false;\n Promise.race([\n preloadHighlighter(\"light-plus\"),\n // Wait at most 5s\n new Promise((resolve) => setTimeout(resolve, 5000)),\n ]).finally(() => {\n if (!ignore) {\n setDepsReady(true);\n }\n });\n return () => {\n ignore = true;\n };\n }, []);\n\n const scrollContainerRef = useRef<HTMLDivElement>(null);\n const scrollContentRef = useRef<HTMLDivElement>(null);\n\n const { scrollable, scrollToBottom } = useAutoScroll(\n conversationAvailable && depsReady,\n scrollContainerRef,\n scrollContentRef\n );\n\n const handleChatSubmit = async (e: CustomEvent<ChatPayload>) => {\n if (conversationId) {\n const { content, ...extra } = e.detail;\n humanInputRef.current?.(e.detail.content, undefined, extra);\n return;\n }\n setSubmitDisabled(true);\n try {\n const res = await http.post<{\n data: { conversationId: string };\n }>(\"api/gateway/logic.llm.aiops_service/api/v1/elevo/conversations\", {});\n const conversationId = res.data.conversationId;\n setConversationId(conversationId);\n setInitialRequest({\n ...e.detail,\n conversationId: conversationId,\n });\n } catch (e) {\n handleHttpError(e);\n } finally {\n setSubmitDisabled(false);\n }\n };\n\n return (\n <WrappedModal\n modalTitle={panelTitle}\n width={width}\n height={height}\n themeVariant=\"elevo\"\n maskClosable\n noFooter\n headerBordered\n fullscreenButton\n background={`fixed url(${backgroundImage}) center center / cover no-repeat`}\n onOpen={() => {\n setTimeout(() => {\n inputRef.current?.focus();\n }, 100);\n }}\n ref={modalRef}\n >\n <div className={styles.panel}>\n {!conversationId ? (\n <div className={styles.main} />\n ) : conversationAvailable && depsReady ? (\n <div className={styles.main}>\n <div className={styles.chat} ref={scrollContainerRef}>\n <div className={styles.messages} ref={scrollContentRef}>\n {messages.map((msg, index, list) => (\n <div className={styles.message} key={index}>\n {msg.role === \"user\" ? (\n <UserMessage\n content={msg.content}\n cmd={msg.cmd}\n files={msg.files}\n />\n ) : (\n <AssistantMessage\n chunks={msg.chunks}\n scopeState={conversation.state}\n isLatest={index === list.length - 1}\n />\n )}\n </div>\n ))}\n </div>\n </div>\n <button\n className={`${scrollStyles[\"scroll-down\"]} ${floatingStyles[\"floating-button\"]}`}\n style={{ bottom: \"30px\" }}\n hidden={!scrollable}\n onClick={scrollToBottom}\n >\n <WrappedIcon lib=\"antd\" icon=\"down\" />\n </button>\n </div>\n ) : (\n <div className={styles[\"loading-icon\"]}>\n <WrappedIcon\n lib=\"antd\"\n theme=\"outlined\"\n icon=\"loading-3-quarters\"\n spinning\n />\n </div>\n )}\n <div className={styles.input}>\n <WrappedChatInput\n ref={inputRef}\n placeholder={placeholder}\n suggestionsPlacement=\"top\"\n submitDisabled={submitDisabled || !canChat}\n supportsTerminate\n uploadOptions={uploadOptions}\n onChatSubmit={handleChatSubmit}\n />\n </div>\n </div>\n </WrappedModal>\n );\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, `.panel--ukaGUcR2{display:flex;flex-direction:column;min-height:300px;height:100%}.main--K5R8dLH9{position:relative;flex:1;min-height:0}.chat--Drl2ThnZ{padding:0 0 20px;height:100%;overflow-y:auto}.messages--Bhaarj69{width:100%;margin:0 auto}.message--TP5bdFpZ + .message--TP5bdFpZ{margin-top:40px}.loading-icon--BjI0pCV1{flex:1;display:flex;align-items:center;justify-content:center;font-size:48px;color:#fff}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"panel\": `panel--ukaGUcR2`,\n\t\"main\": `main--K5R8dLH9`,\n\t\"chat\": `chat--Drl2ThnZ`,\n\t\"messages\": `messages--Bhaarj69`,\n\t\"message\": `message--TP5bdFpZ`,\n\t\"loading-icon\": `loading-icon--BjI0pCV1`\n};\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","undefined","WrappedModal","wrapBrick","onClose","onConfirm","onCancel","onOpen","defineElement","property","method","createDecorators","ChatPanelComponent","forwardRef","LegacyChatPanelComponent","_ChatPanel","_A","WeakMap","_B","_C","_D","_E","_ref","ChatPanel","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","_initProto","_init_panelTitle","_init_extra_panelTitle","_init_width","_init_extra_width","_init_height","_init_extra_height","_init_placeholder","_init_extra_placeholder","_init_uploadOptions","_init_extra_uploadOptions","createRef","panelTitle","_classPrivateFieldGet","v","_classPrivateFieldSet","width","height","placeholder","uploadOptions","open","_classPrivateFieldGet2","this","current","close","_classPrivateFieldGet3","render","React","ref","_ref2","modalRef","useRef","inputRef","useImperativeHandle","_modalRef$current","_modalRef$current2","submitDisabled","setSubmitDisabled","useState","conversationId","setConversationId","initialRequest","setInitialRequest","conversation","tasks","errors","humanInputRef","useConversationDetail","conversationAvailable","conversationState","state","conversationDone","DONE_STATES","includes","canChat","messages","useConversationStream","depsReady","setDepsReady","useEffect","ignore","Promise","race","preloadHighlighter","resolve","setTimeout","finally","scrollContainerRef","scrollContentRef","scrollable","scrollToBottom","useAutoScroll","modalTitle","themeVariant","maskClosable","noFooter","headerBordered","fullscreenButton","background","backgroundImage","_inputRef$current","focus","className","styles","panel","main","chat","map","msg","index","list","message","key","role","UserMessage","content","cmd","files","AssistantMessage","chunks","scopeState","isLatest","length","scrollStyles","floatingStyles","style","bottom","hidden","onClick","WrappedIcon","lib","icon","theme","spinning","input","WrappedChatInput","suggestionsPlacement","supportsTerminate","onChatSubmit","async","_humanInputRef$curren","extra","e","detail","call","http","post","data","handleHttpError","_ChatPanel2","c","_initClass","_applyDecs","shadowOptions","attribute","___CSS_LOADER_EXPORT___","push","module","id"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/chat-panel.a64e0e43.js","mappings":"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","sources":["webpack:///./src/chat-panel/styles.module.css?bf50","webpack:///./src/chat-panel/index.tsx","webpack:///./src/chat-panel/styles.module.css"],"sourcesContent":["\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./styles.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./styles.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {\n createRef,\n forwardRef,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport type {\n Modal,\n ModalProps,\n ModalEvents,\n ModalMapEvents,\n} from \"@next-bricks/containers/modal\";\nimport { http } from \"@next-core/http\";\nimport styles from \"./styles.module.css\";\nimport type { ChatInput } from \"../chat-input\";\nimport type {\n ChatPayload,\n RequestStore,\n UploadOptions,\n} from \"../shared/interfaces\";\nimport { handleHttpError } from \"@next-core/runtime\";\nimport { useConversationDetail } from \"../cruise-canvas/useConversationDetail\";\nimport { useConversationStream } from \"../chat-stream/useConversationStream\";\nimport { preloadHighlighter } from \"@next-shared/markdown\";\nimport { useAutoScroll } from \"../chat-stream/useAutoScroll\";\nimport { UserMessage } from \"../chat-stream/UserMessage/UserMessage\";\nimport { AssistantMessage } from \"../chat-stream/AssistantMessage/AssistantMessage\";\nimport scrollStyles from \"../chat-stream/ScrollDownButton.module.css\";\nimport floatingStyles from \"../shared/FloatingButton.module.css\";\nimport backgroundImage from \"../home-container/images/background.png\";\nimport { DONE_STATES } from \"../shared/constants\";\nimport { WrappedChatInput, WrappedIcon } from \"../shared/bricks\";\n\nconst WrappedModal = wrapBrick<\n Modal,\n ModalProps & {\n themeVariant?: \"default\" | \"elevo\";\n height?: string | number;\n noFooter?: boolean;\n headerBordered?: boolean;\n background?: string;\n fullscreenButton?: boolean;\n },\n ModalEvents,\n ModalMapEvents\n>(\"eo-modal\", {\n onClose: \"close\",\n onConfirm: \"confirm\",\n onCancel: \"cancel\",\n onOpen: \"open\",\n});\n\nconst { defineElement, property, method } = createDecorators();\n\nexport interface ChatPanelProps {\n panelTitle?: string;\n width?: string | number;\n height?: string | number;\n placeholder?: string;\n uploadOptions?: UploadOptions;\n}\n\nconst ChatPanelComponent = forwardRef(LegacyChatPanelComponent);\n\n/**\n * 弹出式对话面板。\n */\nexport\n@defineElement(\"ai-portal.chat-panel\", {\n shadowOptions: false,\n})\nclass ChatPanel extends ReactNextElement implements ChatPanelProps {\n @property()\n accessor panelTitle: string | undefined;\n\n @property({ attribute: false }) accessor width: string | number | undefined;\n\n @property({ attribute: false }) accessor height: string | number | undefined;\n\n @property()\n accessor placeholder: string | undefined;\n\n @property({ attribute: false })\n accessor uploadOptions: UploadOptions | undefined;\n\n #ref = createRef<ChatPanelRef>();\n\n @method()\n open() {\n this.#ref.current?.open();\n }\n\n @method()\n close() {\n this.#ref.current?.close();\n }\n\n render() {\n return (\n <ChatPanelComponent\n ref={this.#ref}\n panelTitle={this.panelTitle}\n width={this.width}\n height={this.height}\n placeholder={this.placeholder}\n uploadOptions={this.uploadOptions}\n />\n );\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\ninterface ChatPanelComponentProps extends ChatPanelProps {\n // Define react event handlers here.\n}\n\ninterface ChatPanelRef {\n open: () => void;\n close: () => void;\n}\n\nfunction LegacyChatPanelComponent(\n {\n panelTitle,\n width,\n height,\n placeholder,\n uploadOptions,\n }: ChatPanelComponentProps,\n ref: React.Ref<ChatPanelRef>\n) {\n const modalRef = useRef<Modal>(null);\n const inputRef = useRef<ChatInput>(null);\n\n useImperativeHandle(ref, () => ({\n open: () => {\n modalRef.current?.open();\n },\n close: () => {\n modalRef.current?.close();\n },\n }));\n\n const [submitDisabled, setSubmitDisabled] = useState(false);\n\n const [conversationId, setConversationId] = useState<string | null>(null);\n const [initialRequest, setInitialRequest] = useState<RequestStore | null>(\n null\n );\n\n const { conversation, tasks, errors, humanInputRef } = useConversationDetail(\n conversationId,\n initialRequest\n );\n const conversationAvailable = !!conversation;\n const conversationState = conversation?.state;\n const conversationDone = DONE_STATES.includes(conversationState!);\n const canChat =\n !conversationId ||\n conversationDone ||\n conversationState === \"input-required\";\n\n const { messages } = useConversationStream(\n conversationAvailable,\n conversationState,\n tasks,\n errors\n );\n\n const [depsReady, setDepsReady] = useState(false);\n useEffect(() => {\n let ignore = false;\n Promise.race([\n preloadHighlighter(\"light-plus\"),\n // Wait at most 5s\n new Promise((resolve) => setTimeout(resolve, 5000)),\n ]).finally(() => {\n if (!ignore) {\n setDepsReady(true);\n }\n });\n return () => {\n ignore = true;\n };\n }, []);\n\n const scrollContainerRef = useRef<HTMLDivElement>(null);\n const scrollContentRef = useRef<HTMLDivElement>(null);\n\n const { scrollable, scrollToBottom } = useAutoScroll(\n conversationAvailable && depsReady,\n scrollContainerRef,\n scrollContentRef\n );\n\n const handleChatSubmit = async (e: CustomEvent<ChatPayload>) => {\n if (conversationId) {\n const { content, ...extra } = e.detail;\n humanInputRef.current?.(e.detail.content, undefined, extra);\n return;\n }\n setSubmitDisabled(true);\n try {\n const res = await http.post<{\n data: { conversationId: string };\n }>(\"api/gateway/logic.llm.aiops_service/api/v1/elevo/conversations\", {});\n const conversationId = res.data.conversationId;\n setConversationId(conversationId);\n setInitialRequest({\n ...e.detail,\n conversationId: conversationId,\n });\n } catch (e) {\n handleHttpError(e);\n } finally {\n setSubmitDisabled(false);\n }\n };\n\n return (\n <WrappedModal\n modalTitle={panelTitle}\n width={width}\n height={height}\n themeVariant=\"elevo\"\n maskClosable\n noFooter\n headerBordered\n fullscreenButton\n background={`fixed url(${backgroundImage}) center center / cover no-repeat`}\n onOpen={() => {\n setTimeout(() => {\n inputRef.current?.focus();\n }, 100);\n }}\n ref={modalRef}\n >\n <div className={styles.panel}>\n {!conversationId ? (\n <div className={styles.main} />\n ) : conversationAvailable && depsReady ? (\n <div className={styles.main}>\n <div className={styles.chat} ref={scrollContainerRef}>\n <div className={styles.messages} ref={scrollContentRef}>\n {messages.map((msg, index, list) => (\n <div className={styles.message} key={index}>\n {msg.role === \"user\" ? (\n <UserMessage\n content={msg.content}\n cmd={msg.cmd}\n files={msg.files}\n />\n ) : (\n <AssistantMessage\n chunks={msg.chunks}\n scopeState={conversation.state}\n isLatest={index === list.length - 1}\n />\n )}\n </div>\n ))}\n </div>\n </div>\n <button\n className={`${scrollStyles[\"scroll-down\"]} ${floatingStyles[\"floating-button\"]}`}\n style={{ bottom: \"30px\" }}\n hidden={!scrollable}\n onClick={scrollToBottom}\n >\n <WrappedIcon lib=\"antd\" icon=\"down\" />\n </button>\n </div>\n ) : (\n <div className={styles[\"loading-icon\"]}>\n <WrappedIcon\n lib=\"antd\"\n theme=\"outlined\"\n icon=\"loading-3-quarters\"\n spinning\n />\n </div>\n )}\n <div className={styles.input}>\n <WrappedChatInput\n ref={inputRef}\n placeholder={placeholder}\n suggestionsPlacement=\"top\"\n submitDisabled={submitDisabled || !canChat}\n supportsTerminate\n uploadOptions={uploadOptions}\n onChatSubmit={handleChatSubmit}\n />\n </div>\n </div>\n </WrappedModal>\n );\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, `.panel--ukaGUcR2{display:flex;flex-direction:column;min-height:300px;height:100%}.main--K5R8dLH9{position:relative;flex:1;min-height:0}.chat--Drl2ThnZ{padding:0 0 20px;height:100%;overflow-y:auto}.messages--Bhaarj69{width:100%;margin:0 auto}.message--TP5bdFpZ + .message--TP5bdFpZ{margin-top:40px}.loading-icon--BjI0pCV1{flex:1;display:flex;align-items:center;justify-content:center;font-size:48px;color:#fff}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"panel\": `panel--ukaGUcR2`,\n\t\"main\": `main--K5R8dLH9`,\n\t\"chat\": `chat--Drl2ThnZ`,\n\t\"messages\": `messages--Bhaarj69`,\n\t\"message\": `message--TP5bdFpZ`,\n\t\"loading-icon\": `loading-icon--BjI0pCV1`\n};\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","undefined","WrappedModal","wrapBrick","onClose","onConfirm","onCancel","onOpen","defineElement","property","method","createDecorators","ChatPanelComponent","forwardRef","LegacyChatPanelComponent","_ChatPanel","_A","WeakMap","_B","_C","_D","_E","_ref","ChatPanel","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","_initProto","_init_panelTitle","_init_extra_panelTitle","_init_width","_init_extra_width","_init_height","_init_extra_height","_init_placeholder","_init_extra_placeholder","_init_uploadOptions","_init_extra_uploadOptions","createRef","panelTitle","_classPrivateFieldGet","v","_classPrivateFieldSet","width","height","placeholder","uploadOptions","open","_classPrivateFieldGet2","this","current","close","_classPrivateFieldGet3","render","React","ref","_ref2","modalRef","useRef","inputRef","useImperativeHandle","_modalRef$current","_modalRef$current2","submitDisabled","setSubmitDisabled","useState","conversationId","setConversationId","initialRequest","setInitialRequest","conversation","tasks","errors","humanInputRef","useConversationDetail","conversationAvailable","conversationState","state","conversationDone","DONE_STATES","includes","canChat","messages","useConversationStream","depsReady","setDepsReady","useEffect","ignore","Promise","race","preloadHighlighter","resolve","setTimeout","finally","scrollContainerRef","scrollContentRef","scrollable","scrollToBottom","useAutoScroll","modalTitle","themeVariant","maskClosable","noFooter","headerBordered","fullscreenButton","background","backgroundImage","_inputRef$current","focus","className","styles","panel","main","chat","map","msg","index","list","message","key","role","UserMessage","content","cmd","files","AssistantMessage","chunks","scopeState","isLatest","length","scrollStyles","floatingStyles","style","bottom","hidden","onClick","WrappedIcon","lib","icon","theme","spinning","input","WrappedChatInput","suggestionsPlacement","supportsTerminate","onChatSubmit","async","_humanInputRef$curren","extra","e","detail","call","http","post","data","handleHttpError","_ChatPanel2","c","_initClass","_applyDecs","shadowOptions","attribute","___CSS_LOADER_EXPORT___","push","module","id"],"sourceRoot":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/elevo-sidebar.78a35f1d.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/assertClassBrand.js","webpack:///./src/elevo-sidebar/index.tsx","webpack:///../../node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkInRHS.js","webpack:///../../node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack:///./src/shared/constants.ts","webpack:///../../node_modules/css-loader/dist/runtime/api.js","webpack:///../../node_modules/classnames/index.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/setFunctionName.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/applyDecs2311.js","webpack:///./src/shared/parseTemplate.ts","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js"],"sourcesContent":["import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","export default function _assertClassBrand(e, t, n) {\n if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;\n throw new TypeError(\"Private element is not present on this object\");\n}","import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { i18n, initializeI18n } from \"@next-core/i18n\";\nimport { getHistory } from \"@next-core/runtime\";\nimport classNames from \"classnames\";\nimport type { DropdownActionsProps } from \"@next-bricks/basic/dropdown-actions\";\nimport type { ActionType } from \"@next-bricks/basic/mini-actions\";\nimport type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\nimport {\n WrappedDropdownActions,\n WrappedEasyopsAvatar,\n WrappedIcon,\n WrappedIconButton,\n WrappedLink,\n} from \"./bricks.js\";\nimport {\n ChatHistory,\n type ActionClickDetail,\n type ChatHistoryRef,\n type PersonalActionClickDetail,\n type Project,\n type ProjectActionClickDetail,\n} from \"./ChatHistory.js\";\nimport { NavLink } from \"./NavLink.js\";\nimport type { SidebarLink } from \"./interfaces.js\";\nimport { SpaceNav, type SpaceNavProps } from \"./SpaceNav.js\";\n\ninitializeI18n(NS, locales);\n\nconst SIDEBAR_ICON: GeneralIconProps = {\n lib: \"easyops\",\n icon: \"sidebar\",\n};\n\nconst WrappedElevoLogo = wrapBrick(\"ai-portal.elevo-logo\");\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport interface ElevoSidebarProps {\n userInstanceId?: string;\n behavior?: \"default\" | \"drawer\";\n logoUrl?: string;\n newChatUrl?: string;\n newChatLinkWhenCollapsed?: boolean;\n historyActiveId?: string;\n historyUrlTemplate?: string;\n historyActions?: ActionType[];\n showProjects?: boolean;\n projectActiveId?: string;\n projectUrlTemplate?: string;\n projectActions?: ActionType[];\n personalActions?: ActionType[];\n links?: SidebarLink[];\n canAddProject?: boolean;\n myLinks?: SidebarLink[];\n scope?: \"default\" | \"space\";\n spaceNav?: SpaceNavProps;\n}\n\nexport type { ActionClickDetail, Project, ProjectActionClickDetail };\n\nconst ElevoSidebarComponent = forwardRef(LegacyElevoSidebarComponent);\n\ninterface ElevoSidebarRef extends ChatHistoryRef {\n open: () => void;\n close: () => void;\n}\n\n/**\n * 构件 `ai-portal.elevo-sidebar`\n */\nexport\n@defineElement(\"ai-portal.elevo-sidebar\", {\n styleTexts: [styleText],\n})\nclass ElevoSidebar extends ReactNextElement implements ElevoSidebarProps {\n @property()\n accessor userInstanceId: string | undefined;\n\n @property()\n accessor behavior: \"default\" | \"drawer\" | undefined;\n\n @property()\n accessor logoUrl: string | undefined;\n\n @property()\n accessor newChatUrl: string | undefined;\n\n @property({ type: Boolean })\n accessor newChatLinkWhenCollapsed: boolean | undefined;\n\n @property()\n accessor historyUrlTemplate: string | undefined;\n\n @property({ attribute: false })\n accessor historyActions: ActionType[] | undefined;\n\n @property({ type: Boolean })\n accessor showProjects: boolean | undefined;\n\n @property()\n accessor projectUrlTemplate: string | undefined;\n\n @property({ attribute: false })\n accessor projectActions: ActionType[] | undefined;\n\n @property({ attribute: false })\n accessor personalActions: ActionType[] | undefined;\n\n @property({ attribute: false })\n accessor links: SidebarLink[] | undefined;\n\n @property({ type: Boolean })\n accessor canAddProject: boolean | undefined = true;\n\n @property({ attribute: false })\n accessor myLinks: SidebarLink[] | undefined;\n\n /**\n * @default \"default\"\n */\n @property()\n accessor scope: \"default\" | \"space\" | undefined;\n\n @property({ attribute: false })\n accessor spaceNav: SpaceNavProps | undefined;\n\n @event({ type: \"logout\" })\n accessor #logout!: EventEmitter<void>;\n\n #handleLogout = () => {\n this.#logout.emit();\n };\n\n /**\n * 点击对话历史操作按钮时触发\n */\n @event({ type: \"action.click\" })\n accessor #actionClick!: EventEmitter<ActionClickDetail>;\n\n #handleActionClick = (detail: ActionClickDetail) => {\n this.#actionClick.emit(detail);\n };\n\n /**\n * 点击项目操作按钮时触发\n */\n @event({ type: \"project.action.click\" })\n accessor #projectActionClick!: EventEmitter<ProjectActionClickDetail>;\n\n #handleProjectActionClick = (detail: ProjectActionClickDetail) => {\n this.#projectActionClick.emit(detail);\n };\n\n @event({ type: \"add.project\" })\n accessor #addProject!: EventEmitter<void>;\n\n #handleAddProject = () => {\n this.#addProject.emit();\n };\n\n @event({ type: \"add.serviceflow\" })\n accessor #addServiceflow!: EventEmitter<void>;\n\n #handleAddServiceflow = () => {\n this.#addServiceflow.emit();\n };\n\n /**\n * 点击个人操作按钮时触发\n */\n @event({ type: \"personal.action.click\" })\n accessor #personalActionClick!: EventEmitter<PersonalActionClickDetail>;\n\n #handlePersonalActionClick = (detail: PersonalActionClickDetail) => {\n this.#personalActionClick.emit(detail);\n };\n\n #ref = createRef<ElevoSidebarRef>();\n\n /**\n * @param delay Delay in milliseconds before pulling the latest chat history.\n */\n @method()\n pullHistory(delay: number) {\n // Wait several seconds to let the task title to be summarized.\n setTimeout(() => {\n this.#ref.current?.pull();\n }, delay);\n }\n\n @method()\n open() {\n this.#ref.current?.open();\n }\n\n @method()\n close() {\n this.#ref.current?.close();\n }\n\n @method()\n removeProject(projectId: string) {\n this.#ref.current?.removeProject?.(projectId);\n }\n\n @method()\n addProject(project: Project) {\n this.#ref.current?.addProject?.(project);\n }\n\n @method()\n moveConversation(conversationId: string) {\n this.#ref.current?.moveConversation?.(conversationId);\n }\n\n render() {\n return (\n <ElevoSidebarComponent\n ref={this.#ref}\n userInstanceId={this.userInstanceId}\n behavior={this.behavior}\n logoUrl={this.logoUrl}\n newChatUrl={this.newChatUrl}\n newChatLinkWhenCollapsed={this.newChatLinkWhenCollapsed}\n historyUrlTemplate={this.historyUrlTemplate}\n historyActions={this.historyActions}\n showProjects={this.showProjects}\n projectUrlTemplate={this.projectUrlTemplate}\n projectActions={this.projectActions}\n personalActions={this.personalActions}\n links={this.links}\n canAddProject={this.canAddProject}\n myLinks={this.myLinks}\n scope={this.scope}\n spaceNav={this.spaceNav}\n onLogout={this.#handleLogout}\n onActionClick={this.#handleActionClick}\n onProjectActionClick={this.#handleProjectActionClick}\n onAddProject={this.#handleAddProject}\n onAddServiceflow={this.#handleAddServiceflow}\n onPersonalActionClick={this.#handlePersonalActionClick}\n />\n );\n }\n}\n\ninterface ElevoSidebarComponentProps extends ElevoSidebarProps {\n onLogout: () => void;\n onActionClick: (detail: ActionClickDetail) => void;\n onProjectActionClick: (detail: ProjectActionClickDetail) => void;\n onAddProject: () => void;\n onAddServiceflow: () => void;\n onPersonalActionClick: (detail: PersonalActionClickDetail) => void;\n}\n\nfunction LegacyElevoSidebarComponent(\n {\n userInstanceId,\n behavior,\n logoUrl,\n newChatUrl,\n newChatLinkWhenCollapsed,\n historyUrlTemplate,\n historyActions,\n showProjects,\n projectUrlTemplate,\n projectActions,\n links,\n canAddProject,\n myLinks,\n scope,\n spaceNav,\n personalActions,\n onLogout,\n onActionClick,\n onProjectActionClick,\n onAddProject,\n onAddServiceflow,\n onPersonalActionClick,\n }: ElevoSidebarComponentProps,\n ref: React.Ref<ElevoSidebarRef>\n) {\n const [collapsed, setCollapsed] = useState(behavior === \"drawer\");\n const handleCollapse = useCallback(() => {\n setCollapsed(true);\n }, []);\n const handleExpand = useCallback(() => {\n setCollapsed(false);\n }, []);\n\n useEffect(() => {\n if (behavior === \"drawer\") {\n setCollapsed(true);\n }\n }, [behavior]);\n\n const handleClickMask = useCallback(() => {\n setCollapsed(true);\n }, []);\n\n const handleHistoryClick = useCallback(() => {\n if (behavior === \"drawer\") {\n setCollapsed(true);\n }\n }, [behavior]);\n\n const dropdownActions = useMemo<DropdownActionsProps[\"actions\"]>(\n () => [\n {\n key: \"logout\",\n icon: {\n lib: \"fa\",\n prefix: \"fas\",\n icon: \"arrow-right-from-bracket\",\n },\n text: t(K.LOGOUT),\n },\n {\n key: \"switch-language\",\n icon: {\n lib: \"lucide\",\n icon: \"languages\",\n },\n text: t(K.SWITCH_LANGUAGE),\n },\n ],\n []\n );\n\n const historyRef = useRef<ChatHistoryRef>(null);\n\n useImperativeHandle(\n ref,\n () => ({\n close: () => {\n setCollapsed(true);\n },\n pull: () => {\n historyRef.current?.pull();\n },\n removeProject: (projectId: string) => {\n historyRef.current?.removeProject?.(projectId);\n },\n addProject: (project: Project) => {\n historyRef.current?.addProject?.(project);\n },\n moveConversation: (conversationId: string) => {\n historyRef.current?.moveConversation?.(conversationId);\n },\n open: () => {\n setCollapsed(false);\n },\n }),\n []\n );\n\n return (\n <div className={classNames(\"container\", { collapsed })}>\n {behavior === \"drawer\" && !collapsed && (\n <div className=\"mask\" onClick={handleClickMask} />\n )}\n <div className=\"alternative\">\n <WrappedIconButton\n icon={SIDEBAR_ICON}\n variant=\"light\"\n onClick={handleExpand}\n />\n {newChatLinkWhenCollapsed && (\n <WrappedLink className=\"new-chat\" url={newChatUrl}>\n <WrappedIcon\n className=\"new-chat-icon\"\n lib=\"easyops\"\n icon=\"new-chat\"\n />\n {t(K.NEW_CHAT)}\n </WrappedLink>\n )}\n </div>\n <div className=\"sidebar\">\n <div className=\"logo-bar\">\n <WrappedLink url={logoUrl} className=\"logo-link\">\n <WrappedElevoLogo />\n </WrappedLink>\n <WrappedIconButton\n icon={SIDEBAR_ICON}\n variant=\"light\"\n onClick={handleCollapse}\n />\n </div>\n <div className=\"main\">\n {scope === \"space\" ? (\n <SpaceNav onAddServiceflow={onAddServiceflow} {...spaceNav!} />\n ) : (\n <>\n <WrappedLink className=\"new-chat\" url={newChatUrl}>\n <WrappedIcon\n className=\"new-chat-icon\"\n lib=\"easyops\"\n icon=\"new-chat\"\n />\n {t(K.NEW_CHAT)}\n </WrappedLink>\n {links?.length ? (\n <>\n {links.map((link, index) => (\n <NavLink\n key={index}\n url={link.url}\n activeIncludes={link.activeIncludes}\n render={({ active }) => (\n <WrappedLink\n key={index}\n className={classNames(\"link\", { active })}\n url={link.url}\n >\n <WrappedIcon className=\"icon\" {...link.icon} />\n <span className=\"title\">{link.title}</span>\n </WrappedLink>\n )}\n />\n ))}\n <div className=\"divider\" />\n </>\n ) : null}\n <ChatHistory\n ref={historyRef}\n showProjects={showProjects}\n canAddProject={canAddProject}\n historyUrlTemplate={historyUrlTemplate}\n historyActions={historyActions}\n projectUrlTemplate={projectUrlTemplate}\n projectActions={projectActions}\n myLinks={myLinks}\n onActionClick={onActionClick}\n onHistoryClick={handleHistoryClick}\n onProjectActionClick={onProjectActionClick}\n onAddProject={onAddProject}\n />\n </>\n )}\n </div>\n <div className=\"footer\">\n <WrappedDropdownActions\n className=\"dropdown\"\n themeVariant=\"elevo\"\n actions={personalActions || dropdownActions}\n onActionClick={async (e) => {\n if (personalActions) {\n onPersonalActionClick({ action: e.detail });\n } else if (e.detail.key === \"logout\") {\n onLogout();\n } else {\n await i18n.changeLanguage(\n i18n.language && i18n.language.split(\"-\")[0] === \"en\"\n ? \"zh\"\n : \"en\"\n );\n getHistory().reload();\n }\n }}\n >\n <button className=\"account\">\n <WrappedEasyopsAvatar\n nameOrInstanceId={userInstanceId}\n showName\n size=\"xs\"\n />\n </button>\n </WrappedDropdownActions>\n </div>\n </div>\n </div>\n );\n}\n","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nexport default function _checkInRHS(e) {\n if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? _typeof(e) : \"null\"));\n return e;\n}","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","import type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport type { ConversationState, JobState, TaskState } from \"./interfaces.js\";\n\nexport const DONE_STATES = [\n \"completed\",\n \"failed\",\n \"canceled\",\n \"terminated\",\n] as (ConversationState | TaskState | JobState | undefined)[];\n\nexport const GENERAL_DONE_STATES = [...DONE_STATES, \"paused\"] as (\n | ConversationState\n | TaskState\n | JobState\n | undefined\n)[];\n\nexport const NON_WORKING_STATES = [...GENERAL_DONE_STATES, \"input-required\"];\n\nexport const ICON_CLOSE: GeneralIconProps = {\n lib: \"lucide\",\n icon: \"x\",\n};\n\nexport const ICON_LOADING: GeneralIconProps = {\n lib: \"antd\",\n icon: \"loading-3-quarters\",\n spinning: true,\n};\n\nexport const ICON_CANVAS: GeneralIconProps = {\n lib: \"lucide\",\n icon: \"network\",\n} as GeneralIconProps;\n\nexport const ICON_CHAT: GeneralIconProps = {\n lib: \"lucide\",\n icon: \"messages-square\",\n} as GeneralIconProps;\n\nexport const ICON_FEEDBACK: GeneralIconProps = {\n lib: \"lucide\",\n icon: \"message-square\",\n};\n\nexport const ICON_EXTERNAL_LINK: GeneralIconProps = {\n lib: \"lucide\",\n icon: \"external-link\",\n};\n\nexport const ICON_UP: GeneralIconProps = {\n lib: \"fa\",\n icon: \"angle-up\",\n};\n\nexport const ICON_DOWNLOAD: GeneralIconProps = {\n lib: \"antd\",\n icon: \"download\",\n};\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import _typeof from \"./typeof.js\";\nexport default function setFunctionName(e, t, n) {\n \"symbol\" == _typeof(t) && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\");\n try {\n Object.defineProperty(e, \"name\", {\n configurable: !0,\n value: n ? n + \" \" + t : t\n });\n } catch (e) {}\n return e;\n}","import _typeof from \"./typeof.js\";\nimport checkInRHS from \"./checkInRHS.js\";\nimport setFunctionName from \"./setFunctionName.js\";\nimport toPropertyKey from \"./toPropertyKey.js\";\nexport default function applyDecs2311(e, t, n, r, o, i) {\n var a,\n c,\n u,\n s,\n f,\n l,\n p,\n d = Symbol.metadata || Symbol[\"for\"](\"Symbol.metadata\"),\n m = Object.defineProperty,\n h = Object.create,\n y = [h(null), h(null)],\n v = t.length;\n function g(t, n, r) {\n return function (o, i) {\n n && (i = o, o = e);\n for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []);\n return r ? i : o;\n };\n }\n function b(e, t, n, r) {\n if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\"));\n return e;\n }\n function applyDec(e, t, n, r, o, i, u, s, f, l, p) {\n function d(e) {\n if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\");\n }\n var h = [].concat(t[0]),\n v = t[3],\n w = !u,\n D = 1 === o,\n S = 3 === o,\n j = 4 === o,\n E = 2 === o;\n function I(t, n, r) {\n return function (o, i) {\n return n && (i = o, o = e), r && r(o), P[t].call(o, i);\n };\n }\n if (!w) {\n var P = {},\n k = [],\n F = S ? \"get\" : j || D ? \"set\" : \"value\";\n if (f ? (l || D ? P = {\n get: setFunctionName(function () {\n return v(this);\n }, r, \"get\"),\n set: function set(e) {\n t[4](this, e);\n }\n } : P[F] = v, l || setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) {\n if ((c = y[+s][r]) && 7 != (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\");\n y[+s][r] = o < 3 ? 1 : o;\n }\n }\n for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) {\n var z = b(h[O], \"A decorator\", \"be\", !0),\n A = n ? h[O - 1] : void 0,\n H = {},\n K = {\n kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o],\n name: r,\n metadata: a,\n addInitializer: function (e, t) {\n if (e.v) throw Error(\"attempted to call addInitializer after decoration was finished\");\n b(t, \"An initializer\", \"be\", !0), i.push(t);\n }.bind(null, H)\n };\n if (w) c = z.call(A, N, K), H.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (K[\"static\"] = s, K[\"private\"] = f, c = K.access = {\n has: f ? p.bind() : function (e) {\n return r in e;\n }\n }, j || (c.get = f ? E ? function (e) {\n return d(e), P.value;\n } : I(\"get\", 0, d) : function (e) {\n return e[r];\n }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) {\n e[r] = t;\n }), N = z.call(A, D ? {\n get: P.get,\n set: P.set\n } : P[F], K), H.v = 1, D) {\n if (\"object\" == _typeof(N) && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\");\n } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N);\n }\n return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N;\n }\n function w(e) {\n return m(e, d, {\n configurable: !0,\n enumerable: !0,\n value: a\n });\n }\n return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function l(e) {\n e && f.push(g(e));\n }, p = function p(t, r) {\n for (var i = 0; i < n.length; i++) {\n var a = n[i],\n c = a[1],\n l = 7 & c;\n if ((8 & c) == t && !l == r) {\n var p = a[2],\n d = !!a[3],\n m = 16 & c;\n applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) {\n return checkInRHS(t) === e;\n } : o);\n }\n }\n }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), {\n e: c,\n get c() {\n var n = [];\n return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)];\n }\n };\n}","import { get } from \"lodash\";\n\nexport function parseTemplate(\n template: string | undefined,\n context: Record<string, any>\n) {\n return template?.replace(/{{(.*?)}}/g, (_match: string, key: string) => {\n const value = get(context, key.trim());\n return value;\n });\n}\n","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldGet2(s, a) {\n return s.get(assertClassBrand(s, a));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldSet2(s, a, r) {\n return s.set(assertClassBrand(s, a), r), r;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}"],"names":["_classPrivateGetter","s","r","a","toPropertyKey","t","i","e","Symbol","toPrimitive","call","TypeError","String","_assertClassBrand","n","has","arguments","length","initializeI18n","NS","locales","SIDEBAR_ICON","lib","icon","WrappedElevoLogo","wrapBrick","defineElement","property","event","method","createDecorators","ElevoSidebarComponent","forwardRef","LegacyElevoSidebarComponent","_ElevoSidebar","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_ElevoSidebar_brand","WeakSet","_handleLogout","_R","_handleActionClick","_S","_handleProjectActionClick","_T","_handleAddProject","_U","_handleAddServiceflow","_V","_handlePersonalActionClick","_ref","ElevoSidebar","ReactNextElement","constructor","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","_init_userInstanceId","_init_extra_userInstanceId","_init_behavior","_init_extra_behavior","_init_logoUrl","_init_extra_logoUrl","_init_newChatUrl","_init_extra_newChatUrl","_init_newChatLinkWhenCollapsed","_init_extra_newChatLinkWhenCollapsed","_init_historyUrlTemplate","_init_extra_historyUrlTemplate","_init_historyActions","_init_extra_historyActions","_init_showProjects","_init_extra_showProjects","_init_projectUrlTemplate","_init_extra_projectUrlTemplate","_init_projectActions","_init_extra_projectActions","_init_personalActions","_init_extra_personalActions","_init_links","_init_extra_links","_init_canAddProject","_init_extra_canAddProject","_init_myLinks","_init_extra_myLinks","_init_scope","_init_extra_scope","_init_spaceNav","_init_extra_spaceNav","_init_logout","_init_extra_logout","this","_get_logout","emit","_init_actionClick","_init_extra_actionClick","detail","_get_actionClick","_init_projectActionClick","_init_extra_projectActionClick","_get_projectActionClick","_init_addProject","_init_extra_addProject","_get_addProject","_init_addServiceflow","_init_extra_addServiceflow","_get_addServiceflow","_init_personalActionClick","_init_extra_personalActionClick","_get_personalActionClick","createRef","userInstanceId","_classPrivateFieldGet","v","_classPrivateFieldSet","behavior","logoUrl","newChatUrl","newChatLinkWhenCollapsed","historyUrlTemplate","historyActions","showProjects","projectUrlTemplate","projectActions","personalActions","links","canAddProject","myLinks","scope","spaceNav","pullHistory","delay","setTimeout","_classPrivateFieldGet2","current","pull","open","_classPrivateFieldGet3","close","_classPrivateFieldGet4","removeProject","projectId","_classPrivateFieldGet5","_classPrivateFieldGet6","addProject","project","_classPrivateFieldGet7","_classPrivateFieldGet8","moveConversation","conversationId","_classPrivateFieldGet9","_classPrivateFieldGet0","render","React","ref","onLogout","onActionClick","onProjectActionClick","onAddProject","onAddServiceflow","onPersonalActionClick","_ref2","collapsed","setCollapsed","useState","handleCollapse","useCallback","handleExpand","useEffect","handleClickMask","handleHistoryClick","dropdownActions","useMemo","key","prefix","text","K","LOGOUT","SWITCH_LANGUAGE","historyRef","useRef","useImperativeHandle","_historyRef$current","_historyRef$current2","_historyRef$current2$","_historyRef$current3","_historyRef$current3$","_historyRef$current4","_historyRef$current4$","className","classNames","onClick","WrappedIconButton","variant","WrappedLink","url","WrappedIcon","NEW_CHAT","SpaceNav","_extends","map","link","index","NavLink","activeIncludes","_ref3","active","title","ChatHistory","onHistoryClick","WrappedDropdownActions","themeVariant","actions","async","action","i18n","changeLanguage","language","split","getHistory","reload","WrappedEasyopsAvatar","nameOrInstanceId","showName","size","_ElevoSidebar2","_set_logout","_set_actionClick","_set_projectActionClick","_set_addProject","_set_addServiceflow","_set_personalActionClick","c","_initClass","_applyDecs","styleTexts","styleText","type","Boolean","attribute","o","_","_checkInRHS","_typeof","iterator","prototype","Object","module","exports","DONE_STATES","GENERAL_DONE_STATES","NON_WORKING_STATES","ICON_CLOSE","ICON_LOADING","spinning","ICON_CANVAS","ICON_CHAT","ICON_FEEDBACK","ICON_EXTERNAL_LINK","ICON_UP","ICON_DOWNLOAD","cssWithMappingToString","list","toString","item","content","needLayer","concat","join","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","hasOwn","hasOwnProperty","classes","arg","appendClass","parseValue","Array","isArray","apply","includes","value","newClass","default","setFunctionName","description","defineProperty","configurable","applyDecs2311","u","f","l","p","d","metadata","m","h","create","y","g","b","applyDec","w","D","S","j","E","I","P","F","get","set","getOwnPropertyDescriptor","Error","name","N","O","z","A","H","kind","addInitializer","bind","access","init","unshift","splice","enumerable","checkInRHS","parseTemplate","template","context","replace","_match","trim","obj","privateMap","_checkPrivateRedeclaration","privateCollection","privateSet","add","_classPrivateFieldSet2","assign","target","source"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/elevo-sidebar.78a35f1d.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/assertClassBrand.js","webpack:///./src/elevo-sidebar/index.tsx","webpack:///../../node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkInRHS.js","webpack:///../../node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack:///./src/shared/constants.ts","webpack:///../../node_modules/css-loader/dist/runtime/api.js","webpack:///../../node_modules/classnames/index.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/setFunctionName.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/applyDecs2311.js","webpack:///./src/shared/parseTemplate.ts","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js"],"sourcesContent":["import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","export default function _assertClassBrand(e, t, n) {\n if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;\n throw new TypeError(\"Private element is not present on this object\");\n}","import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { i18n, initializeI18n } from \"@next-core/i18n\";\nimport { getHistory } from \"@next-core/runtime\";\nimport classNames from \"classnames\";\nimport type { DropdownActionsProps } from \"@next-bricks/basic/dropdown-actions\";\nimport type { ActionType } from \"@next-bricks/basic/mini-actions\";\nimport type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\nimport {\n WrappedDropdownActions,\n WrappedEasyopsAvatar,\n WrappedIcon,\n WrappedIconButton,\n WrappedLink,\n} from \"./bricks.js\";\nimport {\n ChatHistory,\n type ActionClickDetail,\n type ChatHistoryRef,\n type PersonalActionClickDetail,\n type Project,\n type ProjectActionClickDetail,\n} from \"./ChatHistory.js\";\nimport { NavLink } from \"./NavLink.js\";\nimport type { SidebarLink } from \"./interfaces.js\";\nimport { SpaceNav, type SpaceNavProps } from \"./SpaceNav.js\";\n\nexport type { SidebarLink, SpaceNavProps };\n\ninitializeI18n(NS, locales);\n\nconst SIDEBAR_ICON: GeneralIconProps = {\n lib: \"easyops\",\n icon: \"sidebar\",\n};\n\nconst WrappedElevoLogo = wrapBrick(\"ai-portal.elevo-logo\");\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport interface ElevoSidebarProps {\n userInstanceId?: string;\n behavior?: \"default\" | \"drawer\";\n logoUrl?: string;\n newChatUrl?: string;\n newChatLinkWhenCollapsed?: boolean;\n historyActiveId?: string;\n historyUrlTemplate?: string;\n historyActions?: ActionType[];\n showProjects?: boolean;\n projectActiveId?: string;\n projectUrlTemplate?: string;\n projectActions?: ActionType[];\n personalActions?: ActionType[];\n links?: SidebarLink[];\n canAddProject?: boolean;\n myLinks?: SidebarLink[];\n scope?: \"default\" | \"space\";\n spaceNav?: SpaceNavProps;\n}\n\nexport type { ActionClickDetail, Project, ProjectActionClickDetail };\n\nconst ElevoSidebarComponent = forwardRef(LegacyElevoSidebarComponent);\n\ninterface ElevoSidebarRef extends ChatHistoryRef {\n open: () => void;\n close: () => void;\n}\n\n/**\n * 构件 `ai-portal.elevo-sidebar`\n */\nexport\n@defineElement(\"ai-portal.elevo-sidebar\", {\n styleTexts: [styleText],\n})\nclass ElevoSidebar extends ReactNextElement implements ElevoSidebarProps {\n @property()\n accessor userInstanceId: string | undefined;\n\n @property()\n accessor behavior: \"default\" | \"drawer\" | undefined;\n\n @property()\n accessor logoUrl: string | undefined;\n\n @property()\n accessor newChatUrl: string | undefined;\n\n @property({ type: Boolean })\n accessor newChatLinkWhenCollapsed: boolean | undefined;\n\n @property()\n accessor historyUrlTemplate: string | undefined;\n\n @property({ attribute: false })\n accessor historyActions: ActionType[] | undefined;\n\n @property({ type: Boolean })\n accessor showProjects: boolean | undefined;\n\n @property()\n accessor projectUrlTemplate: string | undefined;\n\n @property({ attribute: false })\n accessor projectActions: ActionType[] | undefined;\n\n @property({ attribute: false })\n accessor personalActions: ActionType[] | undefined;\n\n @property({ attribute: false })\n accessor links: SidebarLink[] | undefined;\n\n @property({ type: Boolean })\n accessor canAddProject: boolean | undefined = true;\n\n @property({ attribute: false })\n accessor myLinks: SidebarLink[] | undefined;\n\n /**\n * @default \"default\"\n */\n @property()\n accessor scope: \"default\" | \"space\" | undefined;\n\n @property({ attribute: false })\n accessor spaceNav: SpaceNavProps | undefined;\n\n @event({ type: \"logout\" })\n accessor #logout!: EventEmitter<void>;\n\n #handleLogout = () => {\n this.#logout.emit();\n };\n\n /**\n * 点击对话历史操作按钮时触发\n */\n @event({ type: \"action.click\" })\n accessor #actionClick!: EventEmitter<ActionClickDetail>;\n\n #handleActionClick = (detail: ActionClickDetail) => {\n this.#actionClick.emit(detail);\n };\n\n /**\n * 点击项目操作按钮时触发\n */\n @event({ type: \"project.action.click\" })\n accessor #projectActionClick!: EventEmitter<ProjectActionClickDetail>;\n\n #handleProjectActionClick = (detail: ProjectActionClickDetail) => {\n this.#projectActionClick.emit(detail);\n };\n\n @event({ type: \"add.project\" })\n accessor #addProject!: EventEmitter<void>;\n\n #handleAddProject = () => {\n this.#addProject.emit();\n };\n\n @event({ type: \"add.serviceflow\" })\n accessor #addServiceflow!: EventEmitter<void>;\n\n #handleAddServiceflow = () => {\n this.#addServiceflow.emit();\n };\n\n /**\n * 点击个人操作按钮时触发\n */\n @event({ type: \"personal.action.click\" })\n accessor #personalActionClick!: EventEmitter<PersonalActionClickDetail>;\n\n #handlePersonalActionClick = (detail: PersonalActionClickDetail) => {\n this.#personalActionClick.emit(detail);\n };\n\n #ref = createRef<ElevoSidebarRef>();\n\n /**\n * @param delay Delay in milliseconds before pulling the latest chat history.\n */\n @method()\n pullHistory(delay: number) {\n // Wait several seconds to let the task title to be summarized.\n setTimeout(() => {\n this.#ref.current?.pull();\n }, delay);\n }\n\n @method()\n open() {\n this.#ref.current?.open();\n }\n\n @method()\n close() {\n this.#ref.current?.close();\n }\n\n @method()\n removeProject(projectId: string) {\n this.#ref.current?.removeProject?.(projectId);\n }\n\n @method()\n addProject(project: Project) {\n this.#ref.current?.addProject?.(project);\n }\n\n @method()\n moveConversation(conversationId: string) {\n this.#ref.current?.moveConversation?.(conversationId);\n }\n\n render() {\n return (\n <ElevoSidebarComponent\n ref={this.#ref}\n userInstanceId={this.userInstanceId}\n behavior={this.behavior}\n logoUrl={this.logoUrl}\n newChatUrl={this.newChatUrl}\n newChatLinkWhenCollapsed={this.newChatLinkWhenCollapsed}\n historyUrlTemplate={this.historyUrlTemplate}\n historyActions={this.historyActions}\n showProjects={this.showProjects}\n projectUrlTemplate={this.projectUrlTemplate}\n projectActions={this.projectActions}\n personalActions={this.personalActions}\n links={this.links}\n canAddProject={this.canAddProject}\n myLinks={this.myLinks}\n scope={this.scope}\n spaceNav={this.spaceNav}\n onLogout={this.#handleLogout}\n onActionClick={this.#handleActionClick}\n onProjectActionClick={this.#handleProjectActionClick}\n onAddProject={this.#handleAddProject}\n onAddServiceflow={this.#handleAddServiceflow}\n onPersonalActionClick={this.#handlePersonalActionClick}\n />\n );\n }\n}\n\ninterface ElevoSidebarComponentProps extends ElevoSidebarProps {\n onLogout: () => void;\n onActionClick: (detail: ActionClickDetail) => void;\n onProjectActionClick: (detail: ProjectActionClickDetail) => void;\n onAddProject: () => void;\n onAddServiceflow: () => void;\n onPersonalActionClick: (detail: PersonalActionClickDetail) => void;\n}\n\nfunction LegacyElevoSidebarComponent(\n {\n userInstanceId,\n behavior,\n logoUrl,\n newChatUrl,\n newChatLinkWhenCollapsed,\n historyUrlTemplate,\n historyActions,\n showProjects,\n projectUrlTemplate,\n projectActions,\n links,\n canAddProject,\n myLinks,\n scope,\n spaceNav,\n personalActions,\n onLogout,\n onActionClick,\n onProjectActionClick,\n onAddProject,\n onAddServiceflow,\n onPersonalActionClick,\n }: ElevoSidebarComponentProps,\n ref: React.Ref<ElevoSidebarRef>\n) {\n const [collapsed, setCollapsed] = useState(behavior === \"drawer\");\n const handleCollapse = useCallback(() => {\n setCollapsed(true);\n }, []);\n const handleExpand = useCallback(() => {\n setCollapsed(false);\n }, []);\n\n useEffect(() => {\n if (behavior === \"drawer\") {\n setCollapsed(true);\n }\n }, [behavior]);\n\n const handleClickMask = useCallback(() => {\n setCollapsed(true);\n }, []);\n\n const handleHistoryClick = useCallback(() => {\n if (behavior === \"drawer\") {\n setCollapsed(true);\n }\n }, [behavior]);\n\n const dropdownActions = useMemo<DropdownActionsProps[\"actions\"]>(\n () => [\n {\n key: \"logout\",\n icon: {\n lib: \"fa\",\n prefix: \"fas\",\n icon: \"arrow-right-from-bracket\",\n },\n text: t(K.LOGOUT),\n },\n {\n key: \"switch-language\",\n icon: {\n lib: \"lucide\",\n icon: \"languages\",\n },\n text: t(K.SWITCH_LANGUAGE),\n },\n ],\n []\n );\n\n const historyRef = useRef<ChatHistoryRef>(null);\n\n useImperativeHandle(\n ref,\n () => ({\n close: () => {\n setCollapsed(true);\n },\n pull: () => {\n historyRef.current?.pull();\n },\n removeProject: (projectId: string) => {\n historyRef.current?.removeProject?.(projectId);\n },\n addProject: (project: Project) => {\n historyRef.current?.addProject?.(project);\n },\n moveConversation: (conversationId: string) => {\n historyRef.current?.moveConversation?.(conversationId);\n },\n open: () => {\n setCollapsed(false);\n },\n }),\n []\n );\n\n return (\n <div className={classNames(\"container\", { collapsed })}>\n {behavior === \"drawer\" && !collapsed && (\n <div className=\"mask\" onClick={handleClickMask} />\n )}\n <div className=\"alternative\">\n <WrappedIconButton\n icon={SIDEBAR_ICON}\n variant=\"light\"\n onClick={handleExpand}\n />\n {newChatLinkWhenCollapsed && (\n <WrappedLink className=\"new-chat\" url={newChatUrl}>\n <WrappedIcon\n className=\"new-chat-icon\"\n lib=\"easyops\"\n icon=\"new-chat\"\n />\n {t(K.NEW_CHAT)}\n </WrappedLink>\n )}\n </div>\n <div className=\"sidebar\">\n <div className=\"logo-bar\">\n <WrappedLink url={logoUrl} className=\"logo-link\">\n <WrappedElevoLogo />\n </WrappedLink>\n <WrappedIconButton\n icon={SIDEBAR_ICON}\n variant=\"light\"\n onClick={handleCollapse}\n />\n </div>\n <div className=\"main\">\n {scope === \"space\" ? (\n <SpaceNav onAddServiceflow={onAddServiceflow} {...spaceNav!} />\n ) : (\n <>\n <WrappedLink className=\"new-chat\" url={newChatUrl}>\n <WrappedIcon\n className=\"new-chat-icon\"\n lib=\"easyops\"\n icon=\"new-chat\"\n />\n {t(K.NEW_CHAT)}\n </WrappedLink>\n {links?.length ? (\n <>\n {links.map((link, index) => (\n <NavLink\n key={index}\n url={link.url}\n activeIncludes={link.activeIncludes}\n render={({ active }) => (\n <WrappedLink\n key={index}\n className={classNames(\"link\", { active })}\n url={link.url}\n >\n <WrappedIcon className=\"icon\" {...link.icon} />\n <span className=\"title\">{link.title}</span>\n </WrappedLink>\n )}\n />\n ))}\n <div className=\"divider\" />\n </>\n ) : null}\n <ChatHistory\n ref={historyRef}\n showProjects={showProjects}\n canAddProject={canAddProject}\n historyUrlTemplate={historyUrlTemplate}\n historyActions={historyActions}\n projectUrlTemplate={projectUrlTemplate}\n projectActions={projectActions}\n myLinks={myLinks}\n onActionClick={onActionClick}\n onHistoryClick={handleHistoryClick}\n onProjectActionClick={onProjectActionClick}\n onAddProject={onAddProject}\n />\n </>\n )}\n </div>\n <div className=\"footer\">\n <WrappedDropdownActions\n className=\"dropdown\"\n themeVariant=\"elevo\"\n actions={personalActions || dropdownActions}\n onActionClick={async (e) => {\n if (personalActions) {\n onPersonalActionClick({ action: e.detail });\n } else if (e.detail.key === \"logout\") {\n onLogout();\n } else {\n await i18n.changeLanguage(\n i18n.language && i18n.language.split(\"-\")[0] === \"en\"\n ? \"zh\"\n : \"en\"\n );\n getHistory().reload();\n }\n }}\n >\n <button className=\"account\">\n <WrappedEasyopsAvatar\n nameOrInstanceId={userInstanceId}\n showName\n size=\"xs\"\n />\n </button>\n </WrappedDropdownActions>\n </div>\n </div>\n </div>\n );\n}\n","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nexport default function _checkInRHS(e) {\n if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? _typeof(e) : \"null\"));\n return e;\n}","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","import type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport type { ConversationState, JobState, TaskState } from \"./interfaces.js\";\n\nexport const DONE_STATES = [\n \"completed\",\n \"failed\",\n \"canceled\",\n \"terminated\",\n] as (ConversationState | TaskState | JobState | undefined)[];\n\nexport const GENERAL_DONE_STATES = [...DONE_STATES, \"paused\"] as (\n | ConversationState\n | TaskState\n | JobState\n | undefined\n)[];\n\nexport const NON_WORKING_STATES = [...GENERAL_DONE_STATES, \"input-required\"];\n\nexport const ICON_CLOSE: GeneralIconProps = {\n lib: \"lucide\",\n icon: \"x\",\n};\n\nexport const ICON_LOADING: GeneralIconProps = {\n lib: \"antd\",\n icon: \"loading-3-quarters\",\n spinning: true,\n};\n\nexport const ICON_CANVAS: GeneralIconProps = {\n lib: \"lucide\",\n icon: \"network\",\n} as GeneralIconProps;\n\nexport const ICON_CHAT: GeneralIconProps = {\n lib: \"lucide\",\n icon: \"messages-square\",\n} as GeneralIconProps;\n\nexport const ICON_FEEDBACK: GeneralIconProps = {\n lib: \"lucide\",\n icon: \"message-square\",\n};\n\nexport const ICON_EXTERNAL_LINK: GeneralIconProps = {\n lib: \"lucide\",\n icon: \"external-link\",\n};\n\nexport const ICON_UP: GeneralIconProps = {\n lib: \"fa\",\n icon: \"angle-up\",\n};\n\nexport const ICON_DOWNLOAD: GeneralIconProps = {\n lib: \"antd\",\n icon: \"download\",\n};\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import _typeof from \"./typeof.js\";\nexport default function setFunctionName(e, t, n) {\n \"symbol\" == _typeof(t) && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\");\n try {\n Object.defineProperty(e, \"name\", {\n configurable: !0,\n value: n ? n + \" \" + t : t\n });\n } catch (e) {}\n return e;\n}","import _typeof from \"./typeof.js\";\nimport checkInRHS from \"./checkInRHS.js\";\nimport setFunctionName from \"./setFunctionName.js\";\nimport toPropertyKey from \"./toPropertyKey.js\";\nexport default function applyDecs2311(e, t, n, r, o, i) {\n var a,\n c,\n u,\n s,\n f,\n l,\n p,\n d = Symbol.metadata || Symbol[\"for\"](\"Symbol.metadata\"),\n m = Object.defineProperty,\n h = Object.create,\n y = [h(null), h(null)],\n v = t.length;\n function g(t, n, r) {\n return function (o, i) {\n n && (i = o, o = e);\n for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []);\n return r ? i : o;\n };\n }\n function b(e, t, n, r) {\n if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\"));\n return e;\n }\n function applyDec(e, t, n, r, o, i, u, s, f, l, p) {\n function d(e) {\n if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\");\n }\n var h = [].concat(t[0]),\n v = t[3],\n w = !u,\n D = 1 === o,\n S = 3 === o,\n j = 4 === o,\n E = 2 === o;\n function I(t, n, r) {\n return function (o, i) {\n return n && (i = o, o = e), r && r(o), P[t].call(o, i);\n };\n }\n if (!w) {\n var P = {},\n k = [],\n F = S ? \"get\" : j || D ? \"set\" : \"value\";\n if (f ? (l || D ? P = {\n get: setFunctionName(function () {\n return v(this);\n }, r, \"get\"),\n set: function set(e) {\n t[4](this, e);\n }\n } : P[F] = v, l || setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) {\n if ((c = y[+s][r]) && 7 != (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\");\n y[+s][r] = o < 3 ? 1 : o;\n }\n }\n for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) {\n var z = b(h[O], \"A decorator\", \"be\", !0),\n A = n ? h[O - 1] : void 0,\n H = {},\n K = {\n kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o],\n name: r,\n metadata: a,\n addInitializer: function (e, t) {\n if (e.v) throw Error(\"attempted to call addInitializer after decoration was finished\");\n b(t, \"An initializer\", \"be\", !0), i.push(t);\n }.bind(null, H)\n };\n if (w) c = z.call(A, N, K), H.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (K[\"static\"] = s, K[\"private\"] = f, c = K.access = {\n has: f ? p.bind() : function (e) {\n return r in e;\n }\n }, j || (c.get = f ? E ? function (e) {\n return d(e), P.value;\n } : I(\"get\", 0, d) : function (e) {\n return e[r];\n }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) {\n e[r] = t;\n }), N = z.call(A, D ? {\n get: P.get,\n set: P.set\n } : P[F], K), H.v = 1, D) {\n if (\"object\" == _typeof(N) && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\");\n } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N);\n }\n return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N;\n }\n function w(e) {\n return m(e, d, {\n configurable: !0,\n enumerable: !0,\n value: a\n });\n }\n return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function l(e) {\n e && f.push(g(e));\n }, p = function p(t, r) {\n for (var i = 0; i < n.length; i++) {\n var a = n[i],\n c = a[1],\n l = 7 & c;\n if ((8 & c) == t && !l == r) {\n var p = a[2],\n d = !!a[3],\n m = 16 & c;\n applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) {\n return checkInRHS(t) === e;\n } : o);\n }\n }\n }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), {\n e: c,\n get c() {\n var n = [];\n return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)];\n }\n };\n}","import { get } from \"lodash\";\n\nexport function parseTemplate(\n template: string | undefined,\n context: Record<string, any>\n) {\n return template?.replace(/{{(.*?)}}/g, (_match: string, key: string) => {\n const value = get(context, key.trim());\n return value;\n });\n}\n","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldGet2(s, a) {\n return s.get(assertClassBrand(s, a));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldSet2(s, a, r) {\n return s.set(assertClassBrand(s, a), r), r;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}"],"names":["_classPrivateGetter","s","r","a","toPropertyKey","t","i","e","Symbol","toPrimitive","call","TypeError","String","_assertClassBrand","n","has","arguments","length","initializeI18n","NS","locales","SIDEBAR_ICON","lib","icon","WrappedElevoLogo","wrapBrick","defineElement","property","event","method","createDecorators","ElevoSidebarComponent","forwardRef","LegacyElevoSidebarComponent","_ElevoSidebar","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_ElevoSidebar_brand","WeakSet","_handleLogout","_R","_handleActionClick","_S","_handleProjectActionClick","_T","_handleAddProject","_U","_handleAddServiceflow","_V","_handlePersonalActionClick","_ref","ElevoSidebar","ReactNextElement","constructor","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","_init_userInstanceId","_init_extra_userInstanceId","_init_behavior","_init_extra_behavior","_init_logoUrl","_init_extra_logoUrl","_init_newChatUrl","_init_extra_newChatUrl","_init_newChatLinkWhenCollapsed","_init_extra_newChatLinkWhenCollapsed","_init_historyUrlTemplate","_init_extra_historyUrlTemplate","_init_historyActions","_init_extra_historyActions","_init_showProjects","_init_extra_showProjects","_init_projectUrlTemplate","_init_extra_projectUrlTemplate","_init_projectActions","_init_extra_projectActions","_init_personalActions","_init_extra_personalActions","_init_links","_init_extra_links","_init_canAddProject","_init_extra_canAddProject","_init_myLinks","_init_extra_myLinks","_init_scope","_init_extra_scope","_init_spaceNav","_init_extra_spaceNav","_init_logout","_init_extra_logout","this","_get_logout","emit","_init_actionClick","_init_extra_actionClick","detail","_get_actionClick","_init_projectActionClick","_init_extra_projectActionClick","_get_projectActionClick","_init_addProject","_init_extra_addProject","_get_addProject","_init_addServiceflow","_init_extra_addServiceflow","_get_addServiceflow","_init_personalActionClick","_init_extra_personalActionClick","_get_personalActionClick","createRef","userInstanceId","_classPrivateFieldGet","v","_classPrivateFieldSet","behavior","logoUrl","newChatUrl","newChatLinkWhenCollapsed","historyUrlTemplate","historyActions","showProjects","projectUrlTemplate","projectActions","personalActions","links","canAddProject","myLinks","scope","spaceNav","pullHistory","delay","setTimeout","_classPrivateFieldGet2","current","pull","open","_classPrivateFieldGet3","close","_classPrivateFieldGet4","removeProject","projectId","_classPrivateFieldGet5","_classPrivateFieldGet6","addProject","project","_classPrivateFieldGet7","_classPrivateFieldGet8","moveConversation","conversationId","_classPrivateFieldGet9","_classPrivateFieldGet0","render","React","ref","onLogout","onActionClick","onProjectActionClick","onAddProject","onAddServiceflow","onPersonalActionClick","_ref2","collapsed","setCollapsed","useState","handleCollapse","useCallback","handleExpand","useEffect","handleClickMask","handleHistoryClick","dropdownActions","useMemo","key","prefix","text","K","LOGOUT","SWITCH_LANGUAGE","historyRef","useRef","useImperativeHandle","_historyRef$current","_historyRef$current2","_historyRef$current2$","_historyRef$current3","_historyRef$current3$","_historyRef$current4","_historyRef$current4$","className","classNames","onClick","WrappedIconButton","variant","WrappedLink","url","WrappedIcon","NEW_CHAT","SpaceNav","_extends","map","link","index","NavLink","activeIncludes","_ref3","active","title","ChatHistory","onHistoryClick","WrappedDropdownActions","themeVariant","actions","async","action","i18n","changeLanguage","language","split","getHistory","reload","WrappedEasyopsAvatar","nameOrInstanceId","showName","size","_ElevoSidebar2","_set_logout","_set_actionClick","_set_projectActionClick","_set_addProject","_set_addServiceflow","_set_personalActionClick","c","_initClass","_applyDecs","styleTexts","styleText","type","Boolean","attribute","o","_","_checkInRHS","_typeof","iterator","prototype","Object","module","exports","DONE_STATES","GENERAL_DONE_STATES","NON_WORKING_STATES","ICON_CLOSE","ICON_LOADING","spinning","ICON_CANVAS","ICON_CHAT","ICON_FEEDBACK","ICON_EXTERNAL_LINK","ICON_UP","ICON_DOWNLOAD","cssWithMappingToString","list","toString","item","content","needLayer","concat","join","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","hasOwn","hasOwnProperty","classes","arg","appendClass","parseValue","Array","isArray","apply","includes","value","newClass","default","setFunctionName","description","defineProperty","configurable","applyDecs2311","u","f","l","p","d","metadata","m","h","create","y","g","b","applyDec","w","D","S","j","E","I","P","F","get","set","getOwnPropertyDescriptor","Error","name","N","O","z","A","H","kind","addInitializer","bind","access","init","unshift","splice","enumerable","checkInRHS","parseTemplate","template","context","replace","_match","trim","obj","privateMap","_checkPrivateRedeclaration","privateCollection","privateSet","add","_classPrivateFieldSet2","assign","target","source"],"sourceRoot":""}
|