@next-bricks/ai-portal 0.55.1 → 0.56.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 +46 -38
- package/dist/chunks/1510.42780c0d.js +2 -0
- package/dist/chunks/1510.42780c0d.js.map +1 -0
- package/dist/chunks/1864.7e31d8fe.js +2 -0
- package/dist/chunks/1864.7e31d8fe.js.map +1 -0
- package/dist/chunks/5269.13671bc0.js +2 -0
- package/dist/chunks/5269.13671bc0.js.map +1 -0
- package/dist/chunks/6995.4d172ef6.js +2 -0
- package/dist/chunks/6995.4d172ef6.js.map +1 -0
- package/dist/chunks/7517.cf7a9f90.js +2 -0
- package/dist/chunks/7517.cf7a9f90.js.map +1 -0
- package/dist/chunks/chat-box.4d1d4fd9.js +2 -0
- package/dist/chunks/chat-box.4d1d4fd9.js.map +1 -0
- package/dist/chunks/{chat-stream.11c6ade7.js → chat-stream.e0d13969.js} +2 -2
- package/dist/chunks/{chat-stream.11c6ade7.js.map → chat-stream.e0d13969.js.map} +1 -1
- package/dist/chunks/{cruise-canvas.c494563b.js → cruise-canvas.eca7469a.js} +2 -2
- package/dist/chunks/{cruise-canvas.c494563b.js.map → cruise-canvas.eca7469a.js.map} +1 -1
- package/dist/chunks/{elevo-sidebar.bfad7500.js → elevo-sidebar.08aad53b.js} +3 -3
- package/dist/chunks/{elevo-sidebar.bfad7500.js.map → elevo-sidebar.08aad53b.js.map} +1 -1
- package/dist/chunks/{main.9f2b6ec7.js → main.14d3a485.js} +2 -2
- package/dist/chunks/{main.9f2b6ec7.js.map → main.14d3a485.js.map} +1 -1
- package/dist/chunks/running-flow.4b117f11.js +3 -0
- package/dist/chunks/running-flow.4b117f11.js.LICENSE.txt +5 -0
- package/dist/chunks/running-flow.4b117f11.js.map +1 -0
- package/dist/examples.json +22 -19
- package/dist/index.8d87387c.js +2 -0
- package/dist/index.8d87387c.js.map +1 -0
- package/dist/manifest.json +373 -344
- package/dist/types.json +721 -336
- package/dist-types/bootstrap.d.ts +1 -0
- package/dist-types/chat-box/UploadButton.d.ts +1 -0
- package/dist-types/chat-box/index.d.ts +13 -5
- package/dist-types/chat-box/interfaces.d.ts +2 -1
- package/dist-types/chat-stream/Aside/Aside.d.ts +5 -3
- package/dist-types/chat-stream/Aside/FlowApp/FlowApp.d.ts +7 -0
- package/dist-types/chat-stream/Aside/FlowApp/i18n.d.ts +20 -0
- package/dist-types/chat-stream/AssistantMessage/AssistantMessage.d.ts +6 -5
- package/dist-types/chat-stream/NodeChunk/NodeChunk.d.ts +7 -0
- package/dist-types/chat-stream/NodeChunk/NodeJob.d.ts +7 -0
- package/dist-types/chat-stream/NodeChunk/getStateDisplay.d.ts +6 -0
- package/dist-types/chat-stream/StreamContext.d.ts +2 -1
- package/dist-types/chat-stream/i18n.d.ts +5 -1
- package/dist-types/chat-stream/interfaces.d.ts +25 -3
- package/dist-types/chat-stream/useAutoScroll.d.ts +5 -0
- package/dist-types/chat-stream/useConversationStream.d.ts +5 -4
- package/dist-types/cruise-canvas/NodeChunk/NodeChunk.d.ts +9 -0
- package/dist-types/cruise-canvas/i18n.d.ts +3 -1
- package/dist-types/cruise-canvas/interfaces.d.ts +13 -2
- package/dist-types/cruise-canvas/reducers/interfaces.d.ts +2 -1
- package/dist-types/cruise-canvas/reducers/serviceFlows.d.ts +4 -0
- package/dist-types/cruise-canvas/useConversationDetail.d.ts +1 -0
- package/dist-types/cruise-canvas/useConversationGraph.d.ts +2 -2
- package/dist-types/running-flow/formatDuration.d.ts +6 -0
- package/dist-types/running-flow/index.d.ts +34 -0
- package/dist-types/running-flow/index.spec.d.ts +1 -0
- package/dist-types/shared/RequestHumanAction/RequestHumanAction.d.ts +2 -1
- package/dist-types/shared/TaskContext.d.ts +8 -3
- package/dist-types/shared/bricks.d.ts +4 -0
- package/dist-types/shared/constants.d.ts +1 -0
- package/dist-types/shared/getFlatChunks.d.ts +6 -0
- package/dist-types/shared/getFlowOrActivityIcon.d.ts +3 -0
- package/dist-types/{cruise-canvas → shared}/getOrderedNodes.d.ts +2 -6
- package/dist-types/shared/getTaskTree.d.ts +10 -0
- package/dist-types/shared/interfaces.d.ts +65 -3
- package/dist-types/shared/useFlowAndActivityMap.d.ts +5 -0
- package/dist-types/shared/useFulfilledActiveDetail.d.ts +2 -0
- package/docs/running-flow.md +22 -0
- package/package.json +2 -2
- package/dist/chunks/1080.c0cb398b.js +0 -2
- package/dist/chunks/1080.c0cb398b.js.map +0 -1
- package/dist/chunks/1864.4bd403fd.js +0 -2
- package/dist/chunks/1864.4bd403fd.js.map +0 -1
- package/dist/chunks/2761.561a580a.js +0 -2
- package/dist/chunks/2761.561a580a.js.map +0 -1
- package/dist/chunks/3227.77ba4968.js +0 -2
- package/dist/chunks/3227.77ba4968.js.map +0 -1
- package/dist/chunks/8717.462ca5c9.js +0 -2
- package/dist/chunks/8717.462ca5c9.js.map +0 -1
- package/dist/chunks/chat-box.8e064684.js +0 -2
- package/dist/chunks/chat-box.8e064684.js.map +0 -1
- package/dist/index.fe56261d.js +0 -2
- package/dist/index.fe56261d.js.map +0 -1
- package/dist-types/chat-stream/NodeJob/NodeJob.d.ts +0 -7
- package/dist-types/cruise-canvas/getFlatOrderedJobs.d.ts +0 -11
- package/dist-types/cruise-canvas/getFlatOrderedJobs.spec.d.ts +0 -1
- /package/dist/chunks/{elevo-sidebar.bfad7500.js.LICENSE.txt → elevo-sidebar.08aad53b.js.LICENSE.txt} +0 -0
- /package/dist-types/{cruise-canvas → shared}/getOrderedNodes.spec.d.ts +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[8717],{8778:(e,t,a)=>{a.d(t,{A:()=>l});var n=a(36758),o=a.n(n),i=a(40935),r=a.n(i)()(o());r.push([e.id,'.heading--Uyl__y0l{display:flex;align-items:center;padding:5px 8px;margin:0 -8px 12px;cursor:pointer}.main--TukugFGT{font-size:16px;line-height:26px}.caret--RIrd1Bh6{opacity:0;transition:transform 0.2s ease-in-out}.heading--Uyl__y0l:hover{background:rgba(184,187,205,0.15);border-radius:8px}.heading--Uyl__y0l:hover .caret--RIrd1Bh6{opacity:1}.icon--i_Eo2KvU{display:flex;align-items:center;margin-right:12px}.title--dRyYSVof{color:#262626;font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool--eKJi4smD{background:#e2e5ef;border:1px solid #d4d4de;border-radius:13px;line-height:24px;padding:0 12px;width:-moz-fit-content;width:fit-content;color:#595959;cursor:pointer}.body--CUgbPhLT{padding-left:26px;margin-bottom:20px}.collapsed--RP7bbO2u .body--CUgbPhLT{display:none}.collapsed--RP7bbO2u .caret--RIrd1Bh6{transform:rotate(180deg);opacity:1}.content--zdMqn1ov{margin-top:14px}.content--zdMqn1ov .markdown--id3ANDOE [class*="code-wrapper--"]::part(mermaid){background:rgba(255,255,255,0.6);border-radius:8px;border:1px solid rgba(0,0,0,0.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px;min-width:var(--cruise-canvas-node-width-medium);width:auto;max-width:100%}.content--zdMqn1ov:empty{display:none}.message--CC09F6Pi:first-child > .message-part--h0OExat1:first-child > :first-child{margin-top:0}.icon--i_Eo2KvU{color:#abaab7}.completed--NfHzTqxj .icon--i_Eo2KvU{color:#0fbe59}.failed--UHw5ym5a .icon--i_Eo2KvU{color:#f24c25}.working--hPmYriQY .icon--i_Eo2KvU{color:var(--elevo-color-brand)}.input-required--iLv9MI8X .icon--i_Eo2KvU{color:#12aacc}.canceled--xdorM4ka .icon--i_Eo2KvU{color:#fcaa07}ai-portal\\.chat-stream[hide-mermaid] .content--zdMqn1ov .markdown--id3ANDOE .mermaid{display:none}',""]),r.locals={heading:"heading--Uyl__y0l",main:"main--TukugFGT",caret:"caret--RIrd1Bh6",icon:"icon--i_Eo2KvU",title:"title--dRyYSVof",tool:"tool--eKJi4smD",body:"body--CUgbPhLT",collapsed:"collapsed--RP7bbO2u",content:"content--zdMqn1ov",markdown:"markdown--id3ANDOE",message:"message--CC09F6Pi","message-part":"message-part--h0OExat1",completed:"completed--NfHzTqxj",failed:"failed--UHw5ym5a",working:"working--hPmYriQY","input-required":"input-required--iLv9MI8X",canceled:"canceled--xdorM4ka"};const l=r},26598:(e,t,a)=>{a.d(t,{A:()=>l});var n=a(36758),o=a.n(n),i=a(40935),r=a.n(i)()(o());r.push([e.id,".user--HjXM9OHW{background:rgba(255,255,255,0.6);border-radius:24px;padding:8px 16px;width:-moz-fit-content;width:fit-content;max-width:500px;margin-left:auto;overflow-wrap:break-word;white-space:pre-wrap;font-size:16px;line-height:26px}",""]),r.locals={user:"user--HjXM9OHW"};const l=r},32360:(e,t,a)=>{e.exports=a.p+"images/72c24398.png"},35754:(e,t,a)=>{a.d(t,{A:()=>l});var n=a(36758),o=a.n(n),i=a(40935),r=a.n(i)()(o());r.push([e.id,'.assistant--CrlgPgYL{display:flex}.body--sAIo2dhL{flex:1;min-width:0;padding:3px 0 3px 16px}.texting--Rpmsbpca{position:relative}.texting--Rpmsbpca::after{position:absolute;content:" ";animation:texting--Rpmsbpca 2s infinite;white-space:pre}.error--vPC70WgS{color:var(--color-error);white-space:pre-wrap}.avatar--jaJhEiSV{font-size:32px}@keyframes texting--Rpmsbpca{0%{content:" "}25%{content:". "}50%{content:".. "}75%{content:"..."}100%{content:" "}}',""]),r.locals={assistant:"assistant--CrlgPgYL",body:"body--sAIo2dhL",texting:"texting--Rpmsbpca",error:"error--vPC70WgS",avatar:"avatar--jaJhEiSV"};const l=r},48952:(e,t,a)=>{a.d(t,{I:()=>r,K:()=>o,NS:()=>i,t:()=>l});var n=a(52616);let o=function(e){return e.SWITCH_TO_CANVAS="SWITCH_TO_CANVAS",e}({});const i="bricks/ai-portal/chat-stream",r={en:{SWITCH_TO_CANVAS:"Switch to canvas"},zh:{SWITCH_TO_CANVAS:"切换为画布"}},l=n.i18n.getFixedT(null,i)},65438:(e,t,a)=>{a.d(t,{A:()=>l});var n=a(36758),o=a.n(n),i=a(40935),r=a.n(i)()(o());r.push([e.id,".view--O8CNDdS_{background:rgba(255,255,255,0.6);border-radius:8px;border:1px solid rgba(0,0,0,0.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px 20px;width:var(--cruise-canvas-node-width-medium);max-width:100%;margin-top:14px}.large--jT3IWlRf{width:var(--cruise-canvas-node-width-large)}",""]),r.locals={view:"view--O8CNDdS_",large:"large--jT3IWlRf"};const l=r},68717:(e,t,a)=>{a.d(t,{C:()=>ue});var n=a(18769),o=a.n(n),i=a(30348),r=a(99126),l=a(53373),s=a.n(l),c=a(33136),d=a(18122),m=a(30672),p=a(72591),u=a.n(p),h=a(1740),f=a.n(h),b=a(88128),g=a.n(b),v=a(30855),x=a.n(v),w=a(93051),k=a.n(w),y=a(73656),E=a.n(y),A=a(26598),N={};N.styleTagTransform=E(),N.setAttributes=x(),N.insert=g().bind(null,"head"),N.domAPI=f(),N.insertStyleElement=k(),u()(A.A,N);const C=A.A&&A.A.locals?A.A.locals:void 0;var T=a(77388);function I(e){let{content:t,cmd:a}=e;return o().createElement("div",{className:C.user},a&&o().createElement(T._,{cmd:a}),t)}var j=a(35754),_={};_.styleTagTransform=E(),_.setAttributes=x(),_.insert=g().bind(null,"head"),_.domAPI=f(),_.insertStyleElement=k(),u()(j.A,_);const S=j.A&&j.A.locals?j.A.locals:void 0;var O=a(89575),R=a(8778),U={};U.styleTagTransform=E(),U.setAttributes=x(),U.insert=g().bind(null,"head"),U.domAPI=f(),U.insertStyleElement=k(),u()(R.A,U);const P=R.A&&R.A.locals?R.A.locals:void 0;var V=a(36903),z=a(69606),H=a(42854),F=a(86976),M=a(65438),J={};J.styleTagTransform=E(),J.setAttributes=x(),J.insert=g().bind(null,"head"),J.domAPI=f(),J.insertStyleElement=k(),u()(M.A,J);const D=M.A&&M.A.locals?M.A.locals:void 0;function L(e){let{job:t}=e;const[a,i]=(0,n.useState)("medium"),r=(0,n.useCallback)((e=>{i(e)}),[]);return o().createElement("div",{className:s()(D.view,{[D.large]:"large"===a})},o().createElement(F.y,{job:t,onSizeChange:r}))}var q=a(76720);const K=(0,n.createContext)({lastToolCallJobId:null,setUserClosedAside:()=>{}}),W={lib:"fa",icon:"angle-up"};function Y(e){var t,a;let{job:i,taskState:r}=e;const l=i.toolCall,c=(null==l||null===(t=l.annotations)||void 0===t?void 0:t.title)||(null==l?void 0:l.name),d=null==l?void 0:l.name,p=!!l,{setActiveToolCallJobId:u}=(0,n.useContext)(q.j),{lastToolCallJobId:h,setUserClosedAside:f}=(0,n.useContext)(K),{className:b,icon:g}=(0,n.useMemo)((()=>function(e,t){switch(e){case"completed":return{className:P.completed,icon:{lib:"antd",theme:"filled",icon:"check-circle"}};case"submitted":case"working":return"terminated"===t?{icon:{lib:"fa",prefix:"far",icon:"circle-stop"}}:{className:P.working,icon:{lib:"antd",theme:"outlined",icon:"loading-3-quarters",spinning:!0}};case"input-required":return{className:P["input-required"],icon:{lib:"fa",prefix:"far",icon:"circle-user"}};case"failed":return{className:P.failed,icon:{lib:"fa",prefix:"fas",icon:"xmark"}};case"canceled":case"terminated":return{className:P.canceled,icon:{lib:"fa",prefix:"far",icon:"circle-stop"}};case"skipped":return{icon:{lib:"fa",prefix:"fas",icon:"ban"}};default:return{icon:{lib:"fa",prefix:"far",icon:"clock"}}}}(i.state,r)),[i.state,r]),[v,x]=(0,n.useMemo)((()=>{var e;const t=[],a=[],n=[];let o="llm_answer"===d;return null===(e=i.messages)||void 0===e||e.forEach((e=>{if("tool"===e.role)for(const l of e.parts){var i;if("data"===l.type)switch(null===(i=l.data)||void 0===i?void 0:i.type){case"markdown":t.push(l.data.content);break;case"cmdb_instance_detail":var r;a.push(l.data),o||(o=Object.keys("object"===(null===(r=l.data)||void 0===r||null===(r=r.outputSchema)||void 0===r?void 0:r.type)?l.data.outputSchema.properties:l.data.detail).length>6)}else"file"===l.type&&n.push(l.file)}})),[t.join(""),a,n]}),[i.messages,d]),[w,k]=(0,n.useState)(!1);return o().createElement("div",{className:s()({[P.collapsed]:w})},o().createElement("div",{className:P.main},null===(a=i.messages)||void 0===a?void 0:a.map(((e,t)=>{var a;return"tool"===e.role?null:o().createElement("div",{key:t,className:s()(P.message,V.A.markdown)},null===(a=e.parts)||void 0===a?void 0:a.map(((e,t)=>o().createElement(o().Fragment,{key:t},"text"===e.type&&o().createElement(z.w,{className:s()(P["message-part"],V.A["markdown-wrapper"]),content:e.text})))))}))),p&&o().createElement(o().Fragment,null,o().createElement("div",{className:s()(P.heading,b),onClick:()=>k((e=>!e))},o().createElement("div",{className:P.icon},o().createElement(m.Bj,g)),o().createElement("div",{className:P.title},i.instruction||c),o().createElement(m.Bj,(0,O.A)({className:P.caret},W))),o().createElement("div",{className:P.body},o().createElement("div",{className:P.tool,onClick:()=>{u(i.id),i.id===h&&f(!1)}},c),o().createElement("div",{className:P.content},v&&o().createElement("div",{className:s()(P.markdown,V.A.markdown)},o().createElement(z.w,{className:V.A["markdown-wrapper"],content:v})),x.map(((e,t)=>o().createElement("div",{key:t,className:P.box},o().createElement(H.H,e)))),i.generatedView?o().createElement(L,{job:i}):null))))}var B=a(40177);function X(e){let{jobs:t,taskState:a,error:i,isLatest:r}=e;const l=(0,n.useMemo)((()=>{if(!r||B.Z5.includes(a))return!1;for(const e of t)if("input-required"===e.state)return!1;const e=t[t.length-1];return!e||"working"!==e.state||!e.toolCall}),[r,t,a]);return o().createElement("div",{className:S.assistant},o().createElement(m.Bj,{lib:"easyops",category:"image",icon:"elevo-avatar-png",className:S.avatar}),o().createElement("div",{className:S.body},t.map((e=>o().createElement(Y,{key:e.id,job:e,taskState:a}))),l&&o().createElement("div",{className:S.texting}),null!=i&&o().createElement("div",{className:S.error},i)))}var G=a(70046),Q=a(62309),Z=a(83090),$={};$.styleTagTransform=E(),$.setAttributes=x(),$.insert=g().bind(null,"head"),$.domAPI=f(),$.insertStyleElement=k(),u()(Z.A,$);const ee=Z.A&&Z.A.locals?Z.A.locals:void 0;var te=a(39649);const ae={lib:"easyops",icon:"shrink"};function ne(e){let{job:t}=e;const{setActiveToolCallJobId:a}=(0,n.useContext)(q.j),{setUserClosedAside:i}=(0,n.useContext)(K),[r,l]=(0,n.useMemo)((()=>{var e;const a=[],n=[],o=[];return null===(e=t.messages)||void 0===e||e.forEach((e=>{if("tool"===e.role)for(const i of e.parts){var t;if("data"===i.type)switch(null===(t=i.data)||void 0===t?void 0:t.type){case"markdown":a.push(i.data.content);break;case"cmdb_instance_detail":n.push(i.data)}else"file"===i.type&&o.push(i.file)}})),[a.join(""),n,o]}),[t.messages]);return o().createElement("div",{className:ee.aside},o().createElement("div",{className:ee.box},o().createElement("div",{className:ee.header},o().createElement("div",{className:ee.title},"Elevo's Computer"),o().createElement(m.Py,{icon:ae,variant:"mini",onClick:()=>{a(null),i(!0)}})),o().createElement("div",{className:ee.body},o().createElement(te.t,{job:t,variant:"read-only"}),t.generatedView?o().createElement(oe,{name:"View",source:t.generatedView.code,language:"jsx"}):r?o().createElement(oe,{name:"Content",source:r,language:"md"}):l.length>0?o().createElement(oe,{name:"CMDB",source:JSON.stringify(l,null,2),language:"json"}):null)))}function oe(e){let{name:t,source:a,language:n}=e;return o().createElement("div",{className:s()(ee.app,ee.editor)},o().createElement("div",{className:ee.heading},`${t}.${n}`),o().createElement("div",{className:s()(ee.content,V.A.markdown)},o().createElement("div",{className:ee.scroller},o().createElement(m.yQ,{className:ee["code-block"],source:a,language:n,themeVariant:"elevo"}))))}var ie=a(94625),re=a(76239),le={};le.styleTagTransform=E(),le.setAttributes=x(),le.insert=g().bind(null,"head"),le.domAPI=f(),le.insertStyleElement=k(),u()(re.A,le);const se=re.A&&re.A.locals?re.A.locals:void 0;var ce=a(86767),de=a(48952),me=a(98153);const pe={lib:"easyops",icon:"share"};function ue(e,t){var a;let{conversationId:l,initialRequest:p,replay:u,replayDelay:h,supports:f,showHumanActions:b,showFeedback:g,showFeedbackAfterFailed:v,showFeedbackOnView:x,showUiSwitch:w,previewUrlTemplate:k,showCases:y,exampleProjects:E,tryItOutUrl:A,onShare:N,onTerminate:C,onSubmitFeedback:T,onSwitchToCanvas:j,onFeedbackOnView:_,onDetailChange:S}=e;const{conversation:O,tasks:R,errors:U,humanInputRef:P,skipToResults:V,watchAgain:z}=(0,c.u)(l,p,u,h),H=null!==(a=null==O?void 0:O.title)&&void 0!==a?a:"",F=null==O?void 0:O.state,M=B.QB.includes(F)||"input-required"===F,{messages:J,jobMap:D,lastToolCallJobId:L}=function(e,t,a,o){return(0,n.useMemo)((()=>{if(!e)return{messages:[],lastToolCallJobId:null};const n=[],{list:i,map:r,jobsWithFollowingErrors:l}=(0,d.$)(t,a);let s={role:"assistant",jobs:[]},c=null;for(const e of i){var m;const t=r.get(e);t.toolCall&&(c=e),"completed"===t.state&&null!==(m=t.messages)&&void 0!==m&&m.length&&t.messages.every((e=>"user"===e.role))?((s.jobs.length>0||s.error)&&n.push(s),n.push({role:"user",content:t.messages.flatMap((e=>e.parts.map((e=>"text"===e.type?e.text:"")))).join(""),cmd:t.cmd}),s={role:"assistant",jobs:[]}):s.jobs.push(t);const a=l.get(e);a&&(s.error=a),null!=o&&o.showHumanActions&&t.humanAction&&((s.jobs.length>0||s.error)&&n.push(s),n.push({role:"user",content:t.humanAction}),s={role:"assistant",jobs:[]})}return n.push(s),{messages:n,jobMap:r,lastToolCallJobId:c}}),[e,t,a])}(O,R,U,{showHumanActions:b});(0,n.useEffect)((()=>{S({projectId:null==O?void 0:O.projectId})}),[S,null==O?void 0:O.projectId]);const W=(0,n.useMemo)((()=>D?[...D.values()].flatMap((e=>e.generatedView?{id:e.id,view:e.generatedView}:[])):[]),[D]),[Y,Z]=(0,n.useState)(!1),[$,ee]=(0,n.useState)(!1),[te,ae]=(0,n.useState)(!!g);(0,n.useEffect)((()=>{ae(!!g)}),[g]);const[oe,re]=(0,n.useState)(),le=(0,n.useCallback)((e=>{Z(!0),T(e)}),[T]);(0,n.useImperativeHandle)(t,(()=>({feedbackSubmitDone:()=>{ee(!0),setTimeout((()=>{ae(!1)}),3e3)},feedbackSubmitFailed:()=>{Z(!1)},feedbackOnViewDone:e=>{re((t=>{const a=new Set(t);return a.add(e),a}))}})),[]);const[ue,he]=(0,n.useState)(null),[fe,be]=(0,n.useState)(null),[ge,ve]=(0,n.useState)(!1),xe=(0,n.useRef)(!1),we=!!O;(0,n.useEffect)((()=>{if(we){const e=setTimeout((()=>{xe.current=!0}),1e3);return()=>{clearTimeout(e)}}}),[we]),(0,n.useEffect)((()=>{xe.current&&L&&!ge&&be(L)}),[L,ge]),(0,n.useEffect)((()=>{(0,i.getRuntime)().applyPageTitle(H)}),[H]);const ke=(0,n.useCallback)(((e,t,a)=>{var n;null===(n=P.current)||void 0===n||n.call(P,e,t,a)}),[P]),ye=J[0],Ee=(0,n.useMemo)((()=>{if("user"===(null==ye?void 0:ye.role))return ye.content}),[ye]),Ae=l,Ne=(0,n.useMemo)((()=>({conversationId:l,workspace:Ae,previewUrlTemplate:k,replay:u,showCases:y,exampleProjects:E,humanInput:ke,onShare:N,onTerminate:C,supports:f,activeExpandedViewJobId:ue,setActiveExpandedViewJobId:he,activeToolCallJobId:fe,setActiveToolCallJobId:be,submittingFeedback:Y,submittedFeedback:$,onSubmitFeedback:le,setShowFeedback:ae,showFeedbackOnView:x,onFeedbackOnView:_,feedbackDoneViews:oe,skipToResults:V,watchAgain:z,tryItOut(){const e=window.open(`${(0,i.getBasePath)().slice(0,-1)}${null!=A?A:"/elevo"}`,"_blank");e&&(e.__elevo_try_it_out={content:Ee})}})),[l,Ae,k,u,y,E,ke,N,C,f,ue,fe,Y,$,le,x,_,oe,V,z,Ee,A]),Ce=(0,n.useMemo)((()=>({lastToolCallJobId:L,setUserClosedAside:ve})),[L]),Te=(0,n.useRef)(!1),Ie=(0,n.useRef)(!1),je=(0,n.useRef)(null),[_e,Se]=(0,n.useState)(!1);(0,n.useEffect)((()=>{const e=je.current,t=null==e?void 0:e.firstElementChild;if(Ie.current||!e||!t)return;const a=()=>{Se(e.scrollTop+e.clientHeight+24<e.scrollHeight),Te.current&&(Ie.current=e.scrollTop+e.clientHeight+6<e.scrollHeight)};let n;e.addEventListener("scroll",a);const o=new r.A((()=>{Ie.current||(Te.current=!1,e.scrollTo({top:t.scrollHeight,behavior:"instant"}),clearTimeout(n),n=setTimeout((()=>{Te.current=!0}),100))}));return o.observe(t),()=>{o.disconnect(),e.removeEventListener("scroll",a)}}),[we]);const Oe=(0,n.useCallback)((()=>{const e=je.current;null==e||e.scrollTo({top:null==e?void 0:e.scrollHeight,behavior:"instant"})}),[]),Re=(0,n.useMemo)((()=>fe&&(null==D?void 0:D.get(fe))||null),[fe,D]);return o().createElement(q.j.Provider,{value:Ne},o().createElement(K.Provider,{value:Ce},o().createElement("div",{className:se.container},o().createElement("div",{className:se.header},o().createElement("div",{className:se.left}),o().createElement("h1",null,H),o().createElement("div",{className:se.right},w&&o().createElement(m.Py,{className:se["navbar-switch-ui"],icon:B.Rq,variant:"mini",title:(0,de.t)(de.K.SWITCH_TO_CANVAS),onClick:j}),o().createElement(m.Py,{icon:pe,variant:"mini",onClick:N}))),we?o().createElement(o().Fragment,null,o().createElement("div",{className:se.main,ref:je},o().createElement("div",{className:se.narrow},J.map(((e,t,a)=>o().createElement("div",{className:se.message,key:t},"user"===e.role?o().createElement(I,{content:e.content,cmd:e.cmd}):o().createElement(X,{jobs:e.jobs,taskState:F,error:e.error,isLatest:t===a.length-1})))),u?(null==O?void 0:O.finished)&&o().createElement(me.A,{finished:!0,ui:"chat"}):te&&("completed"===F||"failed"===F&&v)&&o().createElement(ie.k,{className:se.feedback}))),o().createElement("div",{className:se["scroll-down"],hidden:!_e,onClick:Oe},o().createElement(m.Bj,{lib:"antd",icon:"down"})),(u?null==O||!O.finished:null==f?void 0:f.chat)?o().createElement("div",{className:se.footer},o().createElement("div",{className:se.narrow},u?o().createElement(me.A,null):o().createElement(G.s,{state:F,canChat:M}))):null):o().createElement("div",{className:se["loading-icon"]},o().createElement(m.Bj,{lib:"antd",theme:"outlined",icon:"loading-3-quarters",spinning:!0}))),o().createElement("div",{className:s()(se.aside,{[se.expanded]:!!Re})},Re&&o().createElement(ne,{job:Re})),ue&&o().createElement(Q.f,{views:W}),w&&o().createElement("div",{className:s()(ce.A.toolbar,se.toolbar)},o().createElement(m.Py,{icon:B.Rq,variant:"mini",title:(0,de.t)(de.K.SWITCH_TO_CANVAS),onClick:j}))))}},76239:(e,t,a)=>{a.d(t,{A:()=>p});var n=a(36758),o=a.n(n),i=a(40935),r=a.n(i),l=a(20062),s=a.n(l),c=new URL(a(32360),a.b),d=r()(o()),m=s()(c);d.push([e.id,`ai-portal\\.chat-stream{display:flex;position:relative;width:100%;height:100%;overflow:hidden;background-color:#f3f3f4;background-image:url(${m});background-size:cover;background-repeat:no-repeat;background-position:center;background-attachment:fixed;color:rgba(0,0,0,0.88);--cruise-canvas-node-width-small:330px;--cruise-canvas-node-width-medium:453px;--cruise-canvas-node-width-large:800px;--cruise-canvas-primary-color:var(--elevo-color-brand);--cruise-canvas-input-background:rgba(255,255,255,0.8);--cruise-canvas-input-box-shadow:0px 1px 0px 0px #ffffff,inset 0px 2px 4px 0px #b3bcf9}.container--IOwk4fR1{display:flex;flex-direction:column;position:relative;flex:1;min-width:0}.header--O9c4lNA3{height:54px;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.header--O9c4lNA3 h1{font-weight:500;font-size:14px;margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.header--O9c4lNA3 .left--ed9ka1jF,.header--O9c4lNA3 .right--fs8TyVN3{width:56px}.header--O9c4lNA3 .right--fs8TyVN3{display:flex;align-items:center;justify-content:end;gap:8px}.main--KDIjetJs{overflow-y:auto;flex:1;padding:20px 24px}.narrow--xWih9UIb{width:100%;max-width:800px;margin:0 auto}.message--YIXGDQNi + .message--YIXGDQNi{margin-top:40px}.loading-icon--lagcmORP{flex:1;display:flex;align-items:center;justify-content:center;font-size:48px;color:#fff}.footer--aLZ8UWjM{padding:0 20px 24px}.aside--Xjd6To2A{width:0%;height:100%;transition:width 0.2s ease-in-out}.expanded--xZgk3uBF{width:50%}.feedback--YbYylTcK{margin:24px auto 0}.scroll-down--uNre4ZYi{display:flex;align-items:center;justify-content:center;position:absolute;left:50%;bottom:120px;transform:translateX(-50%);width:32px;height:32px;font-size:12px;border-radius:16px;background:#ffffff;box-shadow:0px 4px 8px 0px rgba(0,0,0,0.06);border:1px solid rgba(0,0,0,0.02);cursor:pointer}.scroll-down--uNre4ZYi:hover{box-shadow:0px 6px 12px 0px rgba(0,0,0,0.1)}.toolbar--uiLshJmw{left:20px;bottom:20px}.navbar-switch-ui--hREVJ6zG{display:none}@media (max-width: 1123px){div.toolbar--uiLshJmw{display:none}.navbar-switch-ui--hREVJ6zG{display:block}}`,""]),d.locals={container:"container--IOwk4fR1",header:"header--O9c4lNA3",left:"left--ed9ka1jF",right:"right--fs8TyVN3",main:"main--KDIjetJs",narrow:"narrow--xWih9UIb",message:"message--YIXGDQNi","loading-icon":"loading-icon--lagcmORP",footer:"footer--aLZ8UWjM",aside:"aside--Xjd6To2A",expanded:"expanded--xZgk3uBF",feedback:"feedback--YbYylTcK","scroll-down":"scroll-down--uNre4ZYi",toolbar:"toolbar--uiLshJmw","navbar-switch-ui":"navbar-switch-ui--hREVJ6zG"};const p=d},83090:(e,t,a)=>{a.d(t,{A:()=>l});var n=a(36758),o=a.n(n),i=a(40935),r=a.n(i)()(o());r.push([e.id,".aside--DDIdDtkt{padding:12px 12px 12px 0;height:100%}.box--niuFBiiQ{background:#ffffff;box-shadow:1px 1px 10px 0px rgba(0,10,26,0.1);border-radius:12px;height:100%;display:flex;flex-direction:column}.header--DPl_hrTp{height:52px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,0.15);padding:0 20px}.title--HlE9yRcJ{font-weight:500;font-size:16px;color:#262626}.body--OLKz1zeC{flex:1;min-height:0;padding:20px;display:flex;flex-direction:column}.app--UanK0TGf{flex:1;min-height:0;background:#ffffff;border-radius:9px;border:1px solid #ccd1de;margin-top:16px;overflow:hidden;display:flex;flex-direction:column}.heading--ngRi_rQ4{background:#e6e9f3;color:#5e6472;padding:5px 14px}.content--I2i0y65v{font-size:12px;flex:1;min-height:0;position:relative}.scroller--mLfznC_I{height:100%;overflow-x:hidden;overflow-y:auto;overflow:hidden auto;padding:10px}.scroller--mLfznC_I.loading--U1GWHEp9{display:flex;align-items:center;justify-content:center}.editor--p_Sqs1os .content--I2i0y65v .code-block--XiUVX7st::part(wrapper){position:static;margin:0}.editor--p_Sqs1os .content--I2i0y65v .code-block--XiUVX7st::part(pre){background:none!important;padding:0;border-radius:0;border:0}",""]),r.locals={aside:"aside--DDIdDtkt",box:"box--niuFBiiQ",header:"header--DPl_hrTp",title:"title--HlE9yRcJ",body:"body--OLKz1zeC",app:"app--UanK0TGf",heading:"heading--ngRi_rQ4",content:"content--I2i0y65v",scroller:"scroller--mLfznC_I",loading:"loading--U1GWHEp9",editor:"editor--p_Sqs1os","code-block":"code-block--XiUVX7st"};const l=r}}]);
|
|
2
|
-
//# sourceMappingURL=8717.462ca5c9.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/8717.462ca5c9.js","mappings":"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","sources":["webpack:///./src/chat-stream/NodeJob/NodeJob.module.css","webpack:///./src/chat-stream/UserMessage/UserMessage.module.css","webpack:///./src/chat-stream/AssistantMessage/AssistantMessage.module.css","webpack:///./src/chat-stream/i18n.ts","webpack:///./src/chat-stream/NodeView/NodeView.module.css","webpack:///./src/chat-stream/UserMessage/UserMessage.module.css?84b2","webpack:///./src/chat-stream/UserMessage/UserMessage.tsx","webpack:///./src/chat-stream/AssistantMessage/AssistantMessage.module.css?a84b","webpack:///./src/chat-stream/NodeJob/NodeJob.module.css?840d","webpack:///./src/chat-stream/NodeView/NodeView.module.css?3001","webpack:///./src/chat-stream/NodeView/NodeView.tsx","webpack:///./src/chat-stream/StreamContext.ts","webpack:///./src/chat-stream/NodeJob/NodeJob.tsx","webpack:///./src/chat-stream/AssistantMessage/AssistantMessage.tsx","webpack:///./src/chat-stream/Aside/Aside.module.css?0aa1","webpack:///./src/chat-stream/Aside/Aside.tsx","webpack:///./src/chat-stream/styles.module.css?c00e","webpack:///./src/chat-stream/ChatStream.tsx","webpack:///./src/chat-stream/useConversationStream.ts","webpack:///./src/chat-stream/styles.module.css","webpack:///./src/chat-stream/Aside/Aside.module.css"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.heading--Uyl__y0l{display:flex;align-items:center;padding:5px 8px;margin:0 -8px 12px;cursor:pointer}.main--TukugFGT{font-size:16px;line-height:26px}.caret--RIrd1Bh6{opacity:0;transition:transform 0.2s ease-in-out}.heading--Uyl__y0l:hover{background:rgba(184,187,205,0.15);border-radius:8px}.heading--Uyl__y0l:hover .caret--RIrd1Bh6{opacity:1}.icon--i_Eo2KvU{display:flex;align-items:center;margin-right:12px}.title--dRyYSVof{color:#262626;font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool--eKJi4smD{background:#e2e5ef;border:1px solid #d4d4de;border-radius:13px;line-height:24px;padding:0 12px;width:-moz-fit-content;width:fit-content;color:#595959;cursor:pointer}.body--CUgbPhLT{padding-left:26px;margin-bottom:20px}.collapsed--RP7bbO2u .body--CUgbPhLT{display:none}.collapsed--RP7bbO2u .caret--RIrd1Bh6{transform:rotate(180deg);opacity:1}.content--zdMqn1ov{margin-top:14px}.content--zdMqn1ov .markdown--id3ANDOE [class*=\"code-wrapper--\"]::part(mermaid){background:rgba(255,255,255,0.6);border-radius:8px;border:1px solid rgba(0,0,0,0.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px;min-width:var(--cruise-canvas-node-width-medium);width:auto;max-width:100%}.content--zdMqn1ov:empty{display:none}.message--CC09F6Pi:first-child > .message-part--h0OExat1:first-child > :first-child{margin-top:0}.icon--i_Eo2KvU{color:#abaab7}.completed--NfHzTqxj .icon--i_Eo2KvU{color:#0fbe59}.failed--UHw5ym5a .icon--i_Eo2KvU{color:#f24c25}.working--hPmYriQY .icon--i_Eo2KvU{color:var(--elevo-color-brand)}.input-required--iLv9MI8X .icon--i_Eo2KvU{color:#12aacc}.canceled--xdorM4ka .icon--i_Eo2KvU{color:#fcaa07}ai-portal\\\\.chat-stream[hide-mermaid] .content--zdMqn1ov .markdown--id3ANDOE .mermaid{display:none}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"heading\": `heading--Uyl__y0l`,\n\t\"main\": `main--TukugFGT`,\n\t\"caret\": `caret--RIrd1Bh6`,\n\t\"icon\": `icon--i_Eo2KvU`,\n\t\"title\": `title--dRyYSVof`,\n\t\"tool\": `tool--eKJi4smD`,\n\t\"body\": `body--CUgbPhLT`,\n\t\"collapsed\": `collapsed--RP7bbO2u`,\n\t\"content\": `content--zdMqn1ov`,\n\t\"markdown\": `markdown--id3ANDOE`,\n\t\"message\": `message--CC09F6Pi`,\n\t\"message-part\": `message-part--h0OExat1`,\n\t\"completed\": `completed--NfHzTqxj`,\n\t\"failed\": `failed--UHw5ym5a`,\n\t\"working\": `working--hPmYriQY`,\n\t\"input-required\": `input-required--iLv9MI8X`,\n\t\"canceled\": `canceled--xdorM4ka`\n};\nexport default ___CSS_LOADER_EXPORT___;\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, `.user--HjXM9OHW{background:rgba(255,255,255,0.6);border-radius:24px;padding:8px 16px;width:-moz-fit-content;width:fit-content;max-width:500px;margin-left:auto;overflow-wrap:break-word;white-space:pre-wrap;font-size:16px;line-height:26px}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"user\": `user--HjXM9OHW`\n};\nexport default ___CSS_LOADER_EXPORT___;\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, `.assistant--CrlgPgYL{display:flex}.body--sAIo2dhL{flex:1;min-width:0;padding:3px 0 3px 16px}.texting--Rpmsbpca{position:relative}.texting--Rpmsbpca::after{position:absolute;content:\" \";animation:texting--Rpmsbpca 2s infinite;white-space:pre}.error--vPC70WgS{color:var(--color-error);white-space:pre-wrap}.avatar--jaJhEiSV{font-size:32px}@keyframes texting--Rpmsbpca{0%{content:\" \"}25%{content:\". \"}50%{content:\".. \"}75%{content:\"...\"}100%{content:\" \"}}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"assistant\": `assistant--CrlgPgYL`,\n\t\"body\": `body--sAIo2dhL`,\n\t\"texting\": `texting--Rpmsbpca`,\n\t\"error\": `error--vPC70WgS`,\n\t\"avatar\": `avatar--jaJhEiSV`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n SWITCH_TO_CANVAS = \"SWITCH_TO_CANVAS\",\n}\n\nconst en: Locale = {\n SWITCH_TO_CANVAS: \"Switch to canvas\",\n};\n\nconst zh: Locale = {\n SWITCH_TO_CANVAS: \"切换为画布\",\n};\n\nexport const NS = \"bricks/ai-portal/chat-stream\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.view--O8CNDdS_{background:rgba(255,255,255,0.6);border-radius:8px;border:1px solid rgba(0,0,0,0.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px 20px;width:var(--cruise-canvas-node-width-medium);max-width:100%;margin-top:14px}.large--jT3IWlRf{width:var(--cruise-canvas-node-width-large)}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"view\": `view--O8CNDdS_`,\n\t\"large\": `large--jT3IWlRf`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","\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]!./UserMessage.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]!./UserMessage.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React from \"react\";\nimport styles from \"./UserMessage.module.css\";\nimport type { CommandPayload } from \"../../shared/interfaces\";\nimport { ReadableCommand } from \"../../shared/ReadableCommand/ReadableCommand\";\n\nexport interface UserMessageProps {\n content: string;\n cmd?: CommandPayload;\n}\n\nexport function UserMessage({ content, cmd }: UserMessageProps) {\n return (\n <div className={styles.user}>\n {cmd && <ReadableCommand cmd={cmd} />}\n {content}\n </div>\n );\n}\n","\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]!./AssistantMessage.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]!./AssistantMessage.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","\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]!./NodeJob.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]!./NodeJob.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","\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]!./NodeView.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]!./NodeView.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","// istanbul ignore file: experimental\nimport React, { useCallback, useState } from \"react\";\nimport classNames from \"classnames\";\nimport { CreatedView } from \"../../shared/CreatedView/CreatedView\";\nimport type { Job } from \"../../shared/interfaces\";\nimport styles from \"./NodeView.module.css\";\n\nexport interface NodeViewProps {\n job: Job;\n}\n\nexport function NodeView({ job }: NodeViewProps): JSX.Element {\n const [size, setSize] = useState<\"medium\" | \"large\">(\"medium\");\n\n const handleSizeChange = useCallback((value: \"medium\" | \"large\") => {\n setSize(value);\n }, []);\n\n return (\n <div\n className={classNames(styles.view, {\n [styles.large]: size === \"large\",\n })}\n >\n <CreatedView job={job} onSizeChange={handleSizeChange} />\n </div>\n );\n}\n","import { createContext, type Dispatch } from \"react\";\n\nexport interface StreamContextValue {\n lastToolCallJobId: string | null;\n setUserClosedAside: Dispatch<React.SetStateAction<boolean>>;\n}\n\nexport const StreamContext = createContext<StreamContextValue>({\n lastToolCallJobId: null,\n setUserClosedAside: () => {},\n});\n","import React, { useContext, useMemo, useState } from \"react\";\nimport classNames from \"classnames\";\nimport type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport type { CmdbInstanceDetailData } from \"../../cruise-canvas/interfaces.js\";\nimport styles from \"./NodeJob.module.css\";\nimport sharedStyles from \"../../cruise-canvas/shared.module.css\";\nimport { WrappedIcon } from \"../../shared/bricks.js\";\nimport { EnhancedMarkdown } from \"../../cruise-canvas/EnhancedMarkdown/EnhancedMarkdown.js\";\nimport { CmdbInstanceDetail } from \"../../cruise-canvas/CmdbInstanceDetail/CmdbInstanceDetail.js\";\nimport { NodeView } from \"../NodeView/NodeView.js\";\nimport { TaskContext } from \"../../shared/TaskContext.js\";\nimport { StreamContext } from \"../StreamContext.js\";\nimport type {\n ConversationState,\n FileInfo,\n Job,\n JobState,\n TaskState,\n} from \"../../shared/interfaces.js\";\n\nexport interface NodeJobProps {\n job: Job;\n taskState: TaskState | ConversationState | undefined;\n}\n\nconst ICON_UP: GeneralIconProps = {\n lib: \"fa\",\n icon: \"angle-up\",\n};\n\nexport function NodeJob({ job, taskState }: NodeJobProps) {\n const toolCall = job.toolCall;\n const toolTitle = toolCall?.annotations?.title || toolCall?.name;\n const toolName = toolCall?.name;\n const showToolCall = !!toolCall;\n const { setActiveToolCallJobId } = useContext(TaskContext);\n const { lastToolCallJobId, setUserClosedAside } = useContext(StreamContext);\n\n const { className, icon } = useMemo(() => {\n return getClassNameAndIconProps(job.state, taskState);\n }, [job.state, taskState]);\n\n const [toolMarkdownContent, cmdbInstanceDetails /* , files */] =\n useMemo(() => {\n const contents: string[] = [];\n const instanceDetails: CmdbInstanceDetailData[] = [];\n const files: FileInfo[] = [];\n let large = toolName === \"llm_answer\";\n job.messages?.forEach((message) => {\n if (message.role === \"tool\") {\n for (const part of message.parts) {\n if (part.type === \"data\") {\n switch (part.data?.type) {\n case \"markdown\":\n contents.push(part.data.content);\n break;\n case \"cmdb_instance_detail\":\n instanceDetails.push(part.data as CmdbInstanceDetailData);\n if (!large) {\n large =\n Object.keys(\n part.data?.outputSchema?.type === \"object\"\n ? part.data.outputSchema.properties\n : part.data.detail\n ).length > 6;\n }\n break;\n }\n } else if (part.type === \"file\") {\n files.push(part.file);\n }\n }\n }\n });\n\n const markdownContent = contents.join(\"\");\n\n return [markdownContent, instanceDetails, files] as const;\n }, [job.messages, toolName]);\n\n const [collapsed, setCollapsed] = useState(false);\n\n return (\n <div className={classNames({ [styles.collapsed]: collapsed })}>\n <div className={styles.main}>\n {job.messages?.map((message, index) =>\n message.role === \"tool\" ? null : (\n <div\n key={index}\n className={classNames(styles.message, sharedStyles.markdown)}\n >\n {message.parts?.map((part, partIndex) => (\n <React.Fragment key={partIndex}>\n {part.type === \"text\" && (\n <EnhancedMarkdown\n className={classNames(\n styles[\"message-part\"],\n sharedStyles[\"markdown-wrapper\"]\n )}\n content={part.text}\n />\n )}\n </React.Fragment>\n ))}\n </div>\n )\n )}\n </div>\n {showToolCall && (\n <>\n <div\n className={classNames(styles.heading, className)}\n onClick={() => setCollapsed((prev) => !prev)}\n >\n <div className={styles.icon}>\n <WrappedIcon {...icon} />\n </div>\n <div className={styles.title}>{job.instruction || toolTitle}</div>\n <WrappedIcon className={styles.caret} {...ICON_UP} />\n </div>\n <div className={styles.body}>\n <div\n className={styles.tool}\n onClick={() => {\n setActiveToolCallJobId(job.id);\n if (job.id === lastToolCallJobId) {\n setUserClosedAside(false);\n }\n }}\n >\n {toolTitle}\n </div>\n <div className={styles.content}>\n {toolMarkdownContent && (\n <div\n className={classNames(styles.markdown, sharedStyles.markdown)}\n >\n <EnhancedMarkdown\n className={sharedStyles[\"markdown-wrapper\"]}\n content={toolMarkdownContent}\n />\n </div>\n )}\n {cmdbInstanceDetails.map((detail, index) => (\n <div key={index} className={styles.box}>\n <CmdbInstanceDetail {...detail} />\n </div>\n ))}\n {job.generatedView ? <NodeView job={job} /> : null}\n </div>\n </div>\n </>\n )}\n </div>\n );\n}\n\nfunction getClassNameAndIconProps(\n state: JobState | undefined,\n taskState: TaskState | ConversationState | undefined\n) {\n switch (state) {\n case \"completed\":\n return {\n className: styles.completed,\n icon: {\n lib: \"antd\",\n theme: \"filled\",\n icon: \"check-circle\",\n },\n };\n case \"submitted\":\n case \"working\":\n if (taskState === \"terminated\") {\n return {\n icon: {\n lib: \"fa\",\n prefix: \"far\",\n icon: \"circle-stop\",\n },\n };\n }\n return {\n className: styles.working,\n icon: {\n lib: \"antd\",\n theme: \"outlined\",\n icon: \"loading-3-quarters\",\n spinning: true,\n },\n };\n case \"input-required\":\n return {\n className: styles[\"input-required\"],\n icon: {\n lib: \"fa\",\n prefix: \"far\",\n icon: \"circle-user\",\n },\n };\n case \"failed\":\n return {\n className: styles.failed,\n icon: {\n lib: \"fa\",\n prefix: \"fas\",\n icon: \"xmark\",\n },\n };\n case \"canceled\":\n case \"terminated\" as JobState:\n return {\n className: styles.canceled,\n icon: {\n lib: \"fa\",\n prefix: \"far\",\n icon: \"circle-stop\",\n },\n };\n case \"skipped\":\n return {\n icon: {\n lib: \"fa\",\n prefix: \"fas\",\n icon: \"ban\",\n },\n };\n default:\n return {\n icon: {\n lib: \"fa\",\n prefix: \"far\",\n icon: \"clock\",\n },\n };\n }\n}\n","import React, { useMemo } from \"react\";\nimport styles from \"./AssistantMessage.module.css\";\nimport { NodeJob } from \"../NodeJob/NodeJob.js\";\nimport { NON_WORKING_STATES } from \"../../shared/constants.js\";\nimport type {\n ConversationState,\n Job,\n TaskState,\n} from \"../../shared/interfaces.js\";\nimport { WrappedIcon } from \"../../shared/bricks.js\";\n\nexport interface AssistantMessageProps {\n jobs: Job[];\n taskState: TaskState | ConversationState | undefined;\n error?: string | null;\n isLatest?: boolean;\n}\n\nexport function AssistantMessage({\n jobs,\n taskState,\n error,\n isLatest,\n}: AssistantMessageProps) {\n const working = useMemo(() => {\n if (!isLatest || NON_WORKING_STATES.includes(taskState!)) {\n return false;\n }\n for (const job of jobs) {\n if (job.state === \"input-required\") {\n return false;\n }\n }\n const lastJob = jobs[jobs.length - 1];\n if (lastJob && lastJob.state === \"working\" && lastJob.toolCall) {\n return false;\n }\n\n return true;\n }, [isLatest, jobs, taskState]);\n\n return (\n <div className={styles.assistant}>\n <WrappedIcon\n lib=\"easyops\"\n category=\"image\"\n icon=\"elevo-avatar-png\"\n className={styles.avatar}\n />\n <div className={styles.body}>\n {jobs.map((job) => (\n <NodeJob key={job.id} job={job} taskState={taskState} />\n ))}\n {working && <div className={styles.texting}></div>}\n {error != null && <div className={styles.error}>{error}</div>}\n </div>\n </div>\n );\n}\n","\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]!./Aside.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]!./Aside.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { useContext, useMemo } from \"react\";\nimport classNames from \"classnames\";\nimport type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport styles from \"./Aside.module.css\";\nimport sharedStyles from \"../../cruise-canvas/shared.module.css\";\nimport { WrappedCodeBlock, WrappedIconButton } from \"../../shared/bricks\";\nimport type { CmdbInstanceDetailData } from \"../../cruise-canvas/interfaces\";\nimport { ToolCallStatus } from \"../../cruise-canvas/ToolCallStatus/ToolCallStatus\";\nimport { TaskContext } from \"../../shared/TaskContext\";\nimport { StreamContext } from \"../StreamContext\";\nimport type { FileInfo, Job } from \"../../shared/interfaces\";\n\nconst ICON_SHRINK: GeneralIconProps = {\n lib: \"easyops\",\n icon: \"shrink\",\n};\n\nexport interface AsideProps {\n job: Job;\n}\n\nexport function Aside({ job }: AsideProps) {\n const { setActiveToolCallJobId } = useContext(TaskContext);\n const { setUserClosedAside } = useContext(StreamContext);\n\n const [toolMarkdownContent, cmdbInstanceDetails /* , files */] =\n useMemo(() => {\n const contents: string[] = [];\n const instanceDetails: CmdbInstanceDetailData[] = [];\n const files: FileInfo[] = [];\n job.messages?.forEach((message) => {\n if (message.role === \"tool\") {\n for (const part of message.parts) {\n if (part.type === \"data\") {\n switch (part.data?.type) {\n case \"markdown\":\n contents.push(part.data.content);\n break;\n case \"cmdb_instance_detail\":\n instanceDetails.push(part.data as CmdbInstanceDetailData);\n break;\n }\n } else if (part.type === \"file\") {\n files.push(part.file);\n }\n }\n }\n });\n\n const markdownContent = contents.join(\"\");\n\n return [markdownContent, instanceDetails, files] as const;\n }, [job.messages]);\n\n return (\n <div className={styles.aside}>\n <div className={styles.box}>\n <div className={styles.header}>\n <div className={styles.title}>Elevo's Computer</div>\n <WrappedIconButton\n icon={ICON_SHRINK}\n variant=\"mini\"\n onClick={() => {\n setActiveToolCallJobId(null);\n setUserClosedAside(true);\n }}\n />\n </div>\n <div className={styles.body}>\n <ToolCallStatus job={job} variant=\"read-only\" />\n {job.generatedView ? (\n <EditorApp\n name=\"View\"\n source={job.generatedView.code}\n language=\"jsx\"\n />\n ) : toolMarkdownContent ? (\n <EditorApp\n name=\"Content\"\n source={toolMarkdownContent}\n language=\"md\"\n />\n ) : cmdbInstanceDetails.length > 0 ? (\n <EditorApp\n name=\"CMDB\"\n source={JSON.stringify(cmdbInstanceDetails, null, 2)}\n language=\"json\"\n />\n ) : null}\n </div>\n </div>\n </div>\n );\n}\n\ninterface EditorAppProps {\n name: string;\n source: string;\n language: string;\n}\n\nfunction EditorApp({ name, source, language }: EditorAppProps) {\n return (\n <div className={classNames(styles.app, styles.editor)}>\n <div className={styles.heading}>{`${name}.${language}`}</div>\n <div className={classNames(styles.content, sharedStyles.markdown)}>\n <div className={styles.scroller}>\n <WrappedCodeBlock\n className={styles[\"code-block\"]}\n source={source}\n language={language}\n themeVariant=\"elevo\"\n />\n </div>\n </div>\n </div>\n );\n}\n","\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","// istanbul ignore file: experimental\nimport React, {\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { getBasePath, getRuntime } from \"@next-core/runtime\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport classNames from \"classnames\";\nimport type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport { useConversationDetail } from \"../cruise-canvas/useConversationDetail.js\";\nimport { useConversationStream } from \"./useConversationStream.js\";\nimport { WrappedIcon, WrappedIconButton } from \"../shared/bricks.js\";\nimport { UserMessage } from \"./UserMessage/UserMessage.js\";\nimport { AssistantMessage } from \"./AssistantMessage/AssistantMessage.js\";\nimport { TaskContext } from \"../shared/TaskContext.js\";\nimport { ChatBox } from \"../shared/ChatBox/ChatBox.js\";\nimport { DONE_STATES, ICON_CANVAS } from \"../shared/constants.js\";\nimport { ExpandedView } from \"../shared/ExpandedView/ExpandedView.js\";\nimport { Aside } from \"./Aside/Aside.js\";\nimport { StreamContext } from \"./StreamContext.js\";\nimport type { FeedbackDetail } from \"../cruise-canvas/interfaces.js\";\nimport { NodeFeedback } from \"../shared/NodeFeedback/NodeFeedback.js\";\nimport type { ChatStreamProps, ChatStreamRef, ConversationDetail } from \".\";\nimport styles from \"./styles.module.css\";\nimport toolbarStyles from \"../cruise-canvas/toolbar.module.css\";\nimport { K, t } from \"./i18n.js\";\nimport { NodeReplay } from \"../cruise-canvas/NodeReplay/NodeReplay.js\";\n\nconst ICON_SHARE: GeneralIconProps = {\n lib: \"easyops\",\n icon: \"share\",\n};\n\ninterface ChatStreamComponentProps extends ChatStreamProps {\n conversationId: string;\n onShare: () => void;\n onTerminate: () => void;\n onSubmitFeedback: (detail: FeedbackDetail) => void;\n onSwitchToCanvas: () => void;\n onFeedbackOnView: (viewId: string) => void;\n onDetailChange: (detail: ConversationDetail) => void;\n}\n\nexport function ChatStreamComponent(\n {\n conversationId,\n initialRequest,\n replay,\n replayDelay,\n supports,\n showHumanActions,\n showFeedback: propShowFeedback,\n showFeedbackAfterFailed,\n showFeedbackOnView,\n showUiSwitch,\n previewUrlTemplate,\n showCases,\n exampleProjects,\n tryItOutUrl,\n onShare,\n onTerminate,\n onSubmitFeedback,\n onSwitchToCanvas,\n onFeedbackOnView,\n onDetailChange,\n }: ChatStreamComponentProps,\n ref: React.Ref<ChatStreamRef>\n) {\n const {\n conversation,\n tasks,\n errors,\n humanInputRef,\n skipToResults,\n watchAgain,\n } = useConversationDetail(\n conversationId,\n initialRequest,\n replay,\n replayDelay\n );\n const pageTitle = conversation?.title ?? \"\";\n const conversationState = conversation?.state;\n const conversationDone = DONE_STATES.includes(conversationState!);\n const canChat = conversationDone || conversationState === \"input-required\";\n const { messages, jobMap, lastToolCallJobId } = useConversationStream(\n conversation,\n tasks,\n errors,\n { showHumanActions }\n );\n\n useEffect(() => {\n onDetailChange({\n projectId: conversation?.projectId,\n });\n }, [onDetailChange, conversation?.projectId]);\n\n const views = useMemo(() => {\n if (!jobMap) {\n return [];\n }\n return [...jobMap.values()].flatMap((job) =>\n job.generatedView\n ? {\n id: job.id,\n view: job.generatedView,\n }\n : []\n );\n }, [jobMap]);\n\n const [submittingFeedback, setSubmittingFeedback] = useState(false);\n const [submittedFeedback, setSubmittedFeedback] = useState(false);\n const [showFeedback, setShowFeedback] = useState<boolean>(!!propShowFeedback);\n useEffect(() => {\n setShowFeedback(!!propShowFeedback);\n }, [propShowFeedback]);\n const [feedbackDoneViews, setFeedbackDoneViews] = useState<\n Set<string> | undefined\n >();\n\n const handleSubmitFeedback = useCallback(\n (detail: FeedbackDetail) => {\n setSubmittingFeedback(true);\n onSubmitFeedback(detail);\n },\n [onSubmitFeedback]\n );\n\n useImperativeHandle(\n ref,\n () => ({\n feedbackSubmitDone: () => {\n setSubmittedFeedback(true);\n setTimeout(() => {\n setShowFeedback(false);\n }, 3000);\n },\n feedbackSubmitFailed: () => {\n setSubmittingFeedback(false);\n },\n feedbackOnViewDone: (viewId: string) => {\n setFeedbackDoneViews((prev) => {\n const newSet = new Set(prev);\n newSet.add(viewId);\n return newSet;\n });\n },\n }),\n []\n );\n\n const [activeExpandedViewJobId, setActiveExpandedViewJobId] = useState<\n string | null\n >(null);\n\n const [activeToolCallJobId, setActiveToolCallJobId] = useState<string | null>(\n null\n );\n const [userClosedAside, setUserClosedAside] = useState(false);\n // Delay flag to prevent aside from auto opened for a completed task\n const delayRef = useRef(false);\n\n const conversationAvailable = !!conversation;\n useEffect(() => {\n if (conversationAvailable) {\n const timer = setTimeout(() => {\n delayRef.current = true;\n }, 1000);\n return () => {\n clearTimeout(timer);\n };\n }\n }, [conversationAvailable]);\n\n useEffect(() => {\n if (delayRef.current && lastToolCallJobId && !userClosedAside) {\n setActiveToolCallJobId(lastToolCallJobId);\n }\n }, [lastToolCallJobId, userClosedAside]);\n\n useEffect(() => {\n getRuntime().applyPageTitle(pageTitle);\n }, [pageTitle]);\n\n const humanInput = useCallback(\n (jobId: string, input: string | null, action?: string) => {\n humanInputRef.current?.(jobId, input, action);\n },\n [humanInputRef]\n );\n\n const requirementMessage = messages[0];\n const userInput = useMemo(() => {\n if (requirementMessage?.role === \"user\") {\n return requirementMessage.content;\n }\n }, [requirementMessage]);\n\n const workspace = conversationId;\n\n const taskContextValue = useMemo(\n () => ({\n conversationId,\n workspace,\n previewUrlTemplate,\n replay,\n showCases,\n exampleProjects,\n\n humanInput,\n onShare,\n onTerminate,\n supports,\n\n activeExpandedViewJobId,\n setActiveExpandedViewJobId,\n activeToolCallJobId,\n setActiveToolCallJobId,\n\n submittingFeedback,\n submittedFeedback,\n onSubmitFeedback: handleSubmitFeedback,\n setShowFeedback,\n showFeedbackOnView,\n onFeedbackOnView,\n feedbackDoneViews,\n\n skipToResults,\n watchAgain,\n tryItOut() {\n const win = window.open(\n `${getBasePath().slice(0, -1)}${tryItOutUrl ?? \"/elevo\"}`,\n \"_blank\"\n );\n if (win) {\n win.__elevo_try_it_out = {\n content: userInput,\n };\n }\n },\n }),\n [\n conversationId,\n workspace,\n previewUrlTemplate,\n replay,\n showCases,\n exampleProjects,\n\n humanInput,\n onShare,\n onTerminate,\n supports,\n\n activeExpandedViewJobId,\n activeToolCallJobId,\n\n submittingFeedback,\n submittedFeedback,\n handleSubmitFeedback,\n showFeedbackOnView,\n onFeedbackOnView,\n feedbackDoneViews,\n\n skipToResults,\n watchAgain,\n userInput,\n tryItOutUrl,\n ]\n );\n\n const streamContextValue = useMemo(\n () => ({\n lastToolCallJobId,\n setUserClosedAside,\n }),\n [lastToolCallJobId]\n );\n\n const detectScrolledUpRef = useRef(false);\n const manualScrolledRef = useRef(false);\n const scrollContainerRef = useRef<HTMLDivElement>(null);\n const [scrollable, setScrollable] = useState(false);\n\n useEffect(() => {\n const scrollContainer = scrollContainerRef.current;\n const contentContainer = scrollContainer?.firstElementChild;\n if (manualScrolledRef.current || !scrollContainer || !contentContainer) {\n return;\n }\n\n const handleScroll = () => {\n setScrollable(\n scrollContainer.scrollTop + scrollContainer.clientHeight! + 24 <\n scrollContainer.scrollHeight\n );\n if (!detectScrolledUpRef.current) {\n return;\n }\n manualScrolledRef.current =\n scrollContainer.scrollTop + scrollContainer.clientHeight! + 6 <\n scrollContainer.scrollHeight;\n };\n scrollContainer.addEventListener(\"scroll\", handleScroll);\n\n let timer: ReturnType<typeof setTimeout>;\n const observer = new ResizeObserver(() => {\n if (manualScrolledRef.current) {\n return;\n }\n detectScrolledUpRef.current = false;\n // Scroll to the bottom of the content container\n scrollContainer.scrollTo({\n top: contentContainer.scrollHeight,\n behavior: \"instant\",\n });\n clearTimeout(timer);\n timer = setTimeout(() => {\n detectScrolledUpRef.current = true;\n }, 100);\n });\n observer.observe(contentContainer);\n\n return () => {\n observer.disconnect();\n scrollContainer.removeEventListener(\"scroll\", handleScroll);\n };\n }, [conversationAvailable]);\n\n const scrollToBottom = useCallback(() => {\n const scrollContainer = scrollContainerRef.current;\n scrollContainer?.scrollTo({\n top: scrollContainer?.scrollHeight,\n behavior: \"instant\",\n });\n }, []);\n\n const activeToolCallJob = useMemo(() => {\n if (!activeToolCallJobId) {\n return null;\n }\n return jobMap?.get(activeToolCallJobId) || null;\n }, [activeToolCallJobId, jobMap]);\n\n return (\n <TaskContext.Provider value={taskContextValue}>\n <StreamContext.Provider value={streamContextValue}>\n <div className={styles.container}>\n <div className={styles.header}>\n <div className={styles.left} />\n <h1>{pageTitle}</h1>\n <div className={styles.right}>\n {showUiSwitch && (\n <WrappedIconButton\n className={styles[\"navbar-switch-ui\"]}\n icon={ICON_CANVAS}\n variant=\"mini\"\n title={t(K.SWITCH_TO_CANVAS)}\n onClick={onSwitchToCanvas}\n />\n )}\n <WrappedIconButton\n icon={ICON_SHARE}\n variant=\"mini\"\n onClick={onShare}\n />\n </div>\n </div>\n {conversationAvailable ? (\n <>\n <div className={styles.main} ref={scrollContainerRef}>\n <div className={styles.narrow}>\n {messages.map((msg, index, list) => (\n <div className={styles.message} key={index}>\n {msg.role === \"user\" ? (\n <UserMessage content={msg.content} cmd={msg.cmd} />\n ) : (\n <AssistantMessage\n jobs={msg.jobs}\n taskState={conversationState}\n error={msg.error}\n isLatest={index === list.length - 1}\n />\n )}\n </div>\n ))}\n {replay\n ? conversation?.finished && (\n <NodeReplay finished ui=\"chat\" />\n )\n : showFeedback &&\n (conversationState === \"completed\" ||\n (conversationState === \"failed\" &&\n showFeedbackAfterFailed)) && (\n <NodeFeedback className={styles.feedback} />\n )}\n </div>\n </div>\n <div\n className={styles[\"scroll-down\"]}\n hidden={!scrollable}\n onClick={scrollToBottom}\n >\n <WrappedIcon lib=\"antd\" icon=\"down\" />\n </div>\n {(replay ? !conversation?.finished : supports?.chat) ? (\n <div className={styles.footer}>\n <div className={styles.narrow}>\n {replay ? (\n <NodeReplay />\n ) : (\n <ChatBox state={conversationState} canChat={canChat} />\n )}\n </div>\n </div>\n ) : null}\n </>\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>\n <div\n className={classNames(styles.aside, {\n [styles.expanded]: !!activeToolCallJob,\n })}\n >\n {activeToolCallJob && <Aside job={activeToolCallJob!} />}\n </div>\n {activeExpandedViewJobId && <ExpandedView views={views!} />}\n {showUiSwitch && (\n <div className={classNames(toolbarStyles.toolbar, styles.toolbar)}>\n <WrappedIconButton\n icon={ICON_CANVAS}\n variant=\"mini\"\n title={t(K.SWITCH_TO_CANVAS)}\n onClick={onSwitchToCanvas}\n />\n </div>\n )}\n </StreamContext.Provider>\n </TaskContext.Provider>\n );\n}\n","import { useMemo } from \"react\";\nimport type { ChatMessage } from \"./interfaces.js\";\nimport type {\n ConversationBaseDetail,\n ConversationError,\n Task,\n} from \"../shared/interfaces.js\";\nimport { getFlatOrderedJobs } from \"../cruise-canvas/getFlatOrderedJobs.js\";\n\nexport function useConversationStream(\n conversation: ConversationBaseDetail | null | undefined,\n tasks: Task[],\n errors: ConversationError[],\n options?: {\n showHumanActions?: boolean;\n }\n) {\n return useMemo(() => {\n if (!conversation) {\n return {\n messages: [],\n lastToolCallJobId: null,\n };\n }\n\n const messages: ChatMessage[] = [];\n\n const {\n list,\n map: jobMap,\n jobsWithFollowingErrors,\n } = getFlatOrderedJobs(tasks, errors);\n\n let prevAssistantMessage: ChatMessage = {\n role: \"assistant\",\n jobs: [],\n };\n let lastToolCallJobId: string | null = null;\n for (const jobId of list) {\n const job = jobMap.get(jobId)!;\n\n if (job.toolCall) {\n lastToolCallJobId = jobId;\n }\n\n if (\n job.state === \"completed\" &&\n job.messages?.length &&\n job.messages.every((msg) => msg.role === \"user\")\n ) {\n if (\n prevAssistantMessage.jobs.length > 0 ||\n prevAssistantMessage.error\n ) {\n messages.push(prevAssistantMessage);\n }\n messages.push({\n role: \"user\",\n content: job.messages\n .flatMap((msg) =>\n msg.parts.map((part) => (part.type === \"text\" ? part.text : \"\"))\n )\n .join(\"\"),\n cmd: job.cmd,\n });\n prevAssistantMessage = {\n role: \"assistant\",\n jobs: [],\n };\n } else {\n prevAssistantMessage.jobs.push(job);\n }\n\n const followingError = jobsWithFollowingErrors.get(jobId);\n if (followingError) {\n prevAssistantMessage.error = followingError;\n }\n\n if (options?.showHumanActions && job.humanAction) {\n if (\n prevAssistantMessage.jobs.length > 0 ||\n prevAssistantMessage.error\n ) {\n messages.push(prevAssistantMessage);\n }\n messages.push({\n role: \"user\",\n content: job.humanAction,\n });\n prevAssistantMessage = {\n role: \"assistant\",\n jobs: [],\n };\n }\n }\n\n messages.push(prevAssistantMessage);\n\n return { messages, jobMap, lastToolCallJobId };\n }, [conversation, tasks, errors]);\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\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../home-container/images/background.png\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `ai-portal\\\\.chat-stream{display:flex;position:relative;width:100%;height:100%;overflow:hidden;background-color:#f3f3f4;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-size:cover;background-repeat:no-repeat;background-position:center;background-attachment:fixed;color:rgba(0,0,0,0.88);--cruise-canvas-node-width-small:330px;--cruise-canvas-node-width-medium:453px;--cruise-canvas-node-width-large:800px;--cruise-canvas-primary-color:var(--elevo-color-brand);--cruise-canvas-input-background:rgba(255,255,255,0.8);--cruise-canvas-input-box-shadow:0px 1px 0px 0px #ffffff,inset 0px 2px 4px 0px #b3bcf9}.container--IOwk4fR1{display:flex;flex-direction:column;position:relative;flex:1;min-width:0}.header--O9c4lNA3{height:54px;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.header--O9c4lNA3 h1{font-weight:500;font-size:14px;margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.header--O9c4lNA3 .left--ed9ka1jF,.header--O9c4lNA3 .right--fs8TyVN3{width:56px}.header--O9c4lNA3 .right--fs8TyVN3{display:flex;align-items:center;justify-content:end;gap:8px}.main--KDIjetJs{overflow-y:auto;flex:1;padding:20px 24px}.narrow--xWih9UIb{width:100%;max-width:800px;margin:0 auto}.message--YIXGDQNi + .message--YIXGDQNi{margin-top:40px}.loading-icon--lagcmORP{flex:1;display:flex;align-items:center;justify-content:center;font-size:48px;color:#fff}.footer--aLZ8UWjM{padding:0 20px 24px}.aside--Xjd6To2A{width:0%;height:100%;transition:width 0.2s ease-in-out}.expanded--xZgk3uBF{width:50%}.feedback--YbYylTcK{margin:24px auto 0}.scroll-down--uNre4ZYi{display:flex;align-items:center;justify-content:center;position:absolute;left:50%;bottom:120px;transform:translateX(-50%);width:32px;height:32px;font-size:12px;border-radius:16px;background:#ffffff;box-shadow:0px 4px 8px 0px rgba(0,0,0,0.06);border:1px solid rgba(0,0,0,0.02);cursor:pointer}.scroll-down--uNre4ZYi:hover{box-shadow:0px 6px 12px 0px rgba(0,0,0,0.1)}.toolbar--uiLshJmw{left:20px;bottom:20px}.navbar-switch-ui--hREVJ6zG{display:none}@media (max-width: 1123px){div.toolbar--uiLshJmw{display:none}.navbar-switch-ui--hREVJ6zG{display:block}}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"container\": `container--IOwk4fR1`,\n\t\"header\": `header--O9c4lNA3`,\n\t\"left\": `left--ed9ka1jF`,\n\t\"right\": `right--fs8TyVN3`,\n\t\"main\": `main--KDIjetJs`,\n\t\"narrow\": `narrow--xWih9UIb`,\n\t\"message\": `message--YIXGDQNi`,\n\t\"loading-icon\": `loading-icon--lagcmORP`,\n\t\"footer\": `footer--aLZ8UWjM`,\n\t\"aside\": `aside--Xjd6To2A`,\n\t\"expanded\": `expanded--xZgk3uBF`,\n\t\"feedback\": `feedback--YbYylTcK`,\n\t\"scroll-down\": `scroll-down--uNre4ZYi`,\n\t\"toolbar\": `toolbar--uiLshJmw`,\n\t\"navbar-switch-ui\": `navbar-switch-ui--hREVJ6zG`\n};\nexport default ___CSS_LOADER_EXPORT___;\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, `.aside--DDIdDtkt{padding:12px 12px 12px 0;height:100%}.box--niuFBiiQ{background:#ffffff;box-shadow:1px 1px 10px 0px rgba(0,10,26,0.1);border-radius:12px;height:100%;display:flex;flex-direction:column}.header--DPl_hrTp{height:52px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,0.15);padding:0 20px}.title--HlE9yRcJ{font-weight:500;font-size:16px;color:#262626}.body--OLKz1zeC{flex:1;min-height:0;padding:20px;display:flex;flex-direction:column}.app--UanK0TGf{flex:1;min-height:0;background:#ffffff;border-radius:9px;border:1px solid #ccd1de;margin-top:16px;overflow:hidden;display:flex;flex-direction:column}.heading--ngRi_rQ4{background:#e6e9f3;color:#5e6472;padding:5px 14px}.content--I2i0y65v{font-size:12px;flex:1;min-height:0;position:relative}.scroller--mLfznC_I{height:100%;overflow-x:hidden;overflow-y:auto;overflow:hidden auto;padding:10px}.scroller--mLfznC_I.loading--U1GWHEp9{display:flex;align-items:center;justify-content:center}.editor--p_Sqs1os .content--I2i0y65v .code-block--XiUVX7st::part(wrapper){position:static;margin:0}.editor--p_Sqs1os .content--I2i0y65v .code-block--XiUVX7st::part(pre){background:none!important;padding:0;border-radius:0;border:0}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"aside\": `aside--DDIdDtkt`,\n\t\"box\": `box--niuFBiiQ`,\n\t\"header\": `header--DPl_hrTp`,\n\t\"title\": `title--HlE9yRcJ`,\n\t\"body\": `body--OLKz1zeC`,\n\t\"app\": `app--UanK0TGf`,\n\t\"heading\": `heading--ngRi_rQ4`,\n\t\"content\": `content--I2i0y65v`,\n\t\"scroller\": `scroller--mLfznC_I`,\n\t\"loading\": `loading--U1GWHEp9`,\n\t\"editor\": `editor--p_Sqs1os`,\n\t\"code-block\": `code-block--XiUVX7st`\n};\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","locals","K","NS","locales","en","SWITCH_TO_CANVAS","zh","t","i18n","getFixedT","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","undefined","UserMessage","_ref","content","cmd","React","className","styles","user","ReadableCommand","NodeView","job","size","setSize","useState","handleSizeChange","useCallback","value","classNames","view","large","CreatedView","onSizeChange","StreamContext","createContext","lastToolCallJobId","setUserClosedAside","ICON_UP","lib","icon","NodeJob","_toolCall$annotations","_job$messages2","taskState","toolCall","toolTitle","annotations","title","name","toolName","showToolCall","setActiveToolCallJobId","useContext","TaskContext","useMemo","state","completed","theme","prefix","working","spinning","failed","canceled","getClassNameAndIconProps","toolMarkdownContent","cmdbInstanceDetails","_job$messages","contents","instanceDetails","files","messages","forEach","message","role","part","parts","_part$data","type","data","_part$data2","Object","keys","outputSchema","properties","detail","length","file","join","collapsed","setCollapsed","main","map","index","_message$parts","key","sharedStyles","markdown","partIndex","EnhancedMarkdown","text","heading","onClick","prev","WrappedIcon","instruction","_extends","caret","body","tool","box","CmdbInstanceDetail","generatedView","AssistantMessage","jobs","error","isLatest","NON_WORKING_STATES","includes","lastJob","assistant","category","avatar","texting","ICON_SHRINK","Aside","aside","header","WrappedIconButton","variant","ToolCallStatus","EditorApp","source","code","language","JSON","stringify","_ref2","app","editor","scroller","WrappedCodeBlock","themeVariant","ICON_SHARE","ChatStreamComponent","ref","_conversation$title","conversationId","initialRequest","replay","replayDelay","supports","showHumanActions","showFeedback","propShowFeedback","showFeedbackAfterFailed","showFeedbackOnView","showUiSwitch","previewUrlTemplate","showCases","exampleProjects","tryItOutUrl","onShare","onTerminate","onSubmitFeedback","onSwitchToCanvas","onFeedbackOnView","onDetailChange","conversation","tasks","errors","humanInputRef","skipToResults","watchAgain","useConversationDetail","pageTitle","conversationState","canChat","DONE_STATES","jobMap","list","jobsWithFollowingErrors","getFlatOrderedJobs","prevAssistantMessage","jobId","get","every","msg","flatMap","followingError","humanAction","useConversationStream","useEffect","projectId","views","values","submittingFeedback","setSubmittingFeedback","submittedFeedback","setSubmittedFeedback","setShowFeedback","feedbackDoneViews","setFeedbackDoneViews","handleSubmitFeedback","useImperativeHandle","feedbackSubmitDone","setTimeout","feedbackSubmitFailed","feedbackOnViewDone","viewId","newSet","Set","add","activeExpandedViewJobId","setActiveExpandedViewJobId","activeToolCallJobId","userClosedAside","delayRef","useRef","conversationAvailable","timer","current","clearTimeout","getRuntime","applyPageTitle","humanInput","input","action","_humanInputRef$curren","call","requirementMessage","userInput","workspace","taskContextValue","tryItOut","win","window","open","getBasePath","slice","__elevo_try_it_out","streamContextValue","detectScrolledUpRef","manualScrolledRef","scrollContainerRef","scrollable","setScrollable","scrollContainer","contentContainer","firstElementChild","handleScroll","scrollTop","clientHeight","scrollHeight","addEventListener","observer","ResizeObserver","scrollTo","top","behavior","observe","disconnect","removeEventListener","scrollToBottom","activeToolCallJob","Provider","container","left","right","ICON_CANVAS","narrow","finished","NodeReplay","ui","NodeFeedback","feedback","hidden","chat","footer","ChatBox","expanded","ExpandedView","toolbarStyles","toolbar","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_URL_REPLACEMENT_0___"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[5944,6573],{20062:e=>{e.exports=function(e,t){return t||(t={}),e?(e=String(e.__esModule?e.default:e),/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() \t\n]|(%20)/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e):e}},24586:(e,t,n)=>{n.d(t,{A:()=>o});var a=n(11369);function o(e,t,n){return(t=(0,a.A)(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},60136:(e,t,n)=>{n.d(t,{v7:()=>d,NL:()=>p,xf:()=>m});var a=n(61919);const o=n.p+"images/62542537.png",s=n.p+"images/94d7a053.png",l=n.p+"images/0e7e6764.png",r=n.p+"images/7944ebaf.png",i=n.p+"images/c7ec12fe.png",c=n.p+"images/3316492a.png",u=new Map([["md","text/markdown"],["pdf","application/pdf"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["txt","text/plain"],["xls","application/vnd.ms-excel"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["ppt","application/vnd.ms-powerpoint"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"]]);function d(e){const[t,n]=a.pipes.unitFormat(e,"bytes",1),o=+t;return`${o>100?Math.round(o):o} ${n}`}function p(e,t){const n=e||m(t);if(n.startsWith("image/"))return["Image",c];switch(n){case"text/markdown":return["Markdown",o];case"application/pdf":return["PDF",s];case"application/msword":case"application/vnd.openxmlformats-officedocument.wordprocessingml.document":return["Word",l];case"application/vnd.ms-excel":case"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":return["Excel",i];case"application/vnd.ms-powerpoint":case"application/vnd.openxmlformats-officedocument.presentationml.presentation":return["PowerPoint",r]}return n.startsWith("text/")?["Text",o]:["File",c]}function m(e){var t;let n="";const a=null==e?void 0:e.match(/\.([^.]+)$/);return a&&(n=a[1].toLowerCase()),null!==(t=u.get(n))&&void 0!==t?t:"unknown"}},89575:(e,t,n)=>{function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},a.apply(this,arguments)}n.d(t,{A:()=>a})},93757:(e,t,n)=>{n.r(t),n.d(t,{getChatCommand:()=>l,setChatCommand:()=>s});var a=n(77019);let o=null;function s(e){o=e}function l(){return o}customElements.define("ai-portal.set-chat-command",(0,a.createProviderClass)(s))},94669:(e,t,n)=>{n.r(t),n.d(t,{ChatBox:()=>ue,ChatBoxComponent:()=>ce});var a,o=n(74635),s=n(70918),l=n(24586),r=n(26902),i=n(5536),c=n(86121),u=n(70829),d=n(62740),p=n(18769),m=n.n(p),h=n(59435),f=n(90870),g=n(30981),v=n(22919),y=n(30348),b=n(78404),w=n(86572),k=n(92879),A=(n(34419),n(52616)),E=n(16195),x=n(47008),C=n(93757),M=n(7450),S=n(89750),_=n(17753);let I,P,W,R,$,N,T,B,L,F,O,j,D,V,U,z,K,H,q,Y,G,Q,J,X,Z,ee,te,ne,ae,oe;(0,A.initializeI18n)(E.NS,E.I);const{defineElement:se,property:le,event:re,method:ie}=(0,f.createDecorators)(),ce=(0,p.forwardRef)(Se);let ue;var de=new WeakMap,pe=new WeakMap,me=new WeakMap,he=new WeakMap,fe=new WeakMap,ge=new WeakMap,ve=new WeakMap,ye=new WeakSet,be=new WeakMap,we=new WeakMap,ke=new WeakMap,Ae=new WeakMap,Ee=new WeakMap,xe=new WeakMap,Ce=new WeakMap;class Me extends g.ReactNextElement{constructor(){super(...arguments),(0,o.A)(this,ye),(0,l.A)(this,"ref",(I(this),(0,p.createRef)())),(0,s.A)(this,de,W(this)),(0,s.A)(this,pe,(R(this),$(this))),(0,s.A)(this,me,(N(this),T(this))),(0,s.A)(this,he,(B(this),L(this))),(0,s.A)(this,fe,(F(this),O(this))),(0,s.A)(this,ge,(j(this),D(this))),(0,s.A)(this,ve,(V(this),U(this))),(0,s.A)(this,be,(H(this),e=>{(0,i.A)(ye,this,z).emit(e)})),(0,s.A)(this,we,q(this)),(0,s.A)(this,ke,(Q(this),e=>{(0,i.A)(ye,this,Y).emit(e)})),(0,s.A)(this,Ae,J(this)),(0,s.A)(this,Ee,(ee(this),e=>{(0,i.A)(ye,this,X).emit(e)})),(0,s.A)(this,xe,te(this)),(0,s.A)(this,Ce,(oe(this),e=>{(0,i.A)(ye,this,ne).emit(e)}))}get disabled(){return(0,u.A)(de,this)}set disabled(e){(0,c.A)(de,this,e)}get placeholder(){return(0,u.A)(pe,this)}set placeholder(e){(0,c.A)(pe,this,e)}get autoFocus(){return(0,u.A)(me,this)}set autoFocus(e){(0,c.A)(me,this,e)}get aiEmployees(){return(0,u.A)(he,this)}set aiEmployees(e){(0,c.A)(he,this,e)}get commands(){return(0,u.A)(fe,this)}set commands(e){(0,c.A)(fe,this,e)}get uploadBucket(){return(0,u.A)(ge,this)}set uploadBucket(e){(0,c.A)(ge,this,e)}setValue(e){var t;null===(t=this.ref.current)||void 0===t||t.setValue(e)}getValue(){var e;return null===(e=this.ref.current)||void 0===e?void 0:e.getValue()}focusOnInput(){var e;return null===(e=this.ref.current)||void 0===e?void 0:e.focusOnInput()}render(){return m().createElement(ce,{disabled:this.disabled,placeholder:this.placeholder,autoFocus:this.autoFocus,aiEmployees:this.aiEmployees,commands:this.commands,uploadBucket:this.uploadBucket,onSubmit:(0,u.A)(be,this),onEmployeeMention:(0,u.A)(ke,this),onCommandSelect:(0,u.A)(Ee,this),onFilesChange:(0,u.A)(Ce,this),ref:this.ref})}}function Se(e,t){let{disabled:n,placeholder:a,autoFocus:o,aiEmployees:s,commands:l,uploadBucket:r,onSubmit:i,onEmployeeMention:c,onCommandSelect:u,onFilesChange:d}=e;const f=(0,p.useRef)(null),g=(0,p.useRef)(null),[A,x]=(0,p.useState)(""),I=(0,p.useRef)(""),[P,W]=(0,p.useState)(null),[R,$]=(0,p.useState)(""),[N,T]=(0,p.useState)(0),[B,L]=(0,p.useState)([0]),[F,O]=(0,p.useState)(null),[j,D]=(0,p.useState)(null),[V,U]=(0,p.useState)(""),z=(0,p.useRef)(null),[K,H]=(0,p.useState)(),q=!!K&&K.length>0;(0,p.useEffect)((()=>{null==K||K.forEach((async e=>{if("ready"===e.status){const t=new AbortController;H((n=>null==n?void 0:n.map((n=>n.uid===e.uid?{...n,status:"uploading",abortController:t}:n))));try{const n=new FormData;n.append("file",e.file);const a=await v.http.request(`api/gateway/object_store.object_store.PutObject/api/v1/objectStore/bucket/${r}/object`,{method:"PUT",body:n,signal:t.signal});H((t=>null==t?void 0:t.map((t=>t.uid===e.uid?{...t,status:"done",uploadedName:a.data.objectName}:t))))}catch(t){H((t=>null==t?void 0:t.map((t=>t.uid===e.uid?{...t,status:"failed"}:t)))),(0,y.handleHttpError)(t)}}}))}),[K,r]);const[Y,G]=(0,p.useState)(!0),Q=(0,p.useRef)(!0);(0,p.useEffect)((()=>{const e=!K||K.every((e=>"done"===e.status));G(e),Q.current?Q.current=!1:e&&d(null==K?void 0:K.map((e=>e.uploadedName)))}),[K,d]),(0,p.useEffect)((()=>{const e=window.__elevo_try_it_out;e&&delete window.__elevo_try_it_out,"string"==typeof(null==e?void 0:e.content)&&(I.current=e.content,x(e.content))}),[]),(0,p.useImperativeHandle)(t,(()=>({setValue:e=>{I.current=e,x(e)},getValue:()=>I.current,focusOnInput:()=>{var e;null===(e=g.current)||void 0===e||e.focus()}})));const J=(0,p.useCallback)((e=>{var t;i(e.slice(null!==(t=null==V?void 0:V.length)&&void 0!==t?t:0))}),[null==V?void 0:V.length,i]),X=(0,p.useCallback)((e=>{e.currentTarget.value&&Y&&J(e.currentTarget.value)}),[J,Y]),Z=(0,p.useCallback)((e=>{const{value:t,selectionStart:n,selectionEnd:a}=e.target;if(I.current=t,x(t),!R&&null!==n&&n===a&&null!=s&&s.length){const a=t.slice(0,n),o=a.lastIndexOf("@");if(o>=0){const t=a.slice(o+1).toLowerCase(),l=s.filter((e=>e.employeeId.toLowerCase().includes(t)||e.name.toLowerCase().includes(t))).slice(0,10);if(l.length>0){const t=(0,b.U)(e.currentTarget,n),a=e.currentTarget.getBoundingClientRect();return W({style:{left:t.left+10+a.left,top:t.top+22+a.top,position:"absolute",zIndex:1},range:{start:o,end:n},actions:l.map((e=>({key:e.employeeId,text:e.name,data:e})))}),void T(0)}}}if(W(null),null!==n&&n===a&&null!=l&&l.length){const a=t.slice(0,n);if(a.startsWith("/")){const t=a.slice(1).toLowerCase(),o=l.filter((e=>e.label.toLowerCase().includes(t))).slice(0,10);if(o.length>0){const t=(0,b.U)(e.currentTarget,n),a=e.currentTarget.getBoundingClientRect();return O({style:{left:t.left+10+a.left,top:t.top+22+a.top,position:"absolute",zIndex:1},range:{start:0,end:n},actions:o.map((e=>({key:e.value,text:e.label,data:e,ancestors:[],items:_e(e,[]),payload:e.payload})))}),void L([0])}}}O(null)}),[s,l,R]);(0,p.useEffect)((()=>{R&&!A.includes(R)&&($(""),c(null))}),[R,c,A]),(0,p.useEffect)((()=>{V&&!A.includes(V)&&(U(""),u(null))}),[V,u,A]);const ee=(0,p.useCallback)((()=>{J(I.current)}),[J]);(0,p.useEffect)((()=>{o&&Promise.resolve().then((()=>{var e;null===(e=g.current)||void 0===e||e.focus()}))}),[]);const te=(0,p.useMemo)((()=>{var e;const t=null===(e=g.current)||void 0===e?void 0:e.element;if(!R||!t)return"";const n=A.indexOf(R);return n<0?"":A.slice(0,n)}),[R,A]),ne=(0,p.useMemo)((()=>{var e;const t=null===(e=g.current)||void 0===e?void 0:e.element;return R&&t?(0,w.I)(t,te,R.slice(0,-1)).map((e=>({left:e.left-1,top:e.top-1,width:e.width+4,height:e.height+4}))):null}),[R,te]);(0,p.useEffect)((()=>{var e;const t=null===(e=g.current)||void 0===e?void 0:e.element;if(!V||!t)return void D(null);const n=(0,w.I)(t,"",V.slice(0,-1));D(n.map((e=>({left:e.left-1,top:e.top-1,width:e.width+4,height:e.height+4}))))}),[V]);const ae=(0,p.useMemo)((()=>{const e=(0,C.getChatCommand)();return e&&(0,C.setChatCommand)(null),e}),[]);(0,p.useEffect)((()=>{ae&&u(ae.payload)}),[ae,u]),(0,p.useEffect)((()=>{var e;const t=null===(e=g.current)||void 0===e?void 0:e.element;if(ae&&t){const e=`/${ae.command} `,n=(0,w.I)(t,"",e.slice(0,-1));D(n.map((e=>({left:e.left-1,top:e.top-1,width:e.width+4,height:e.height+4})))),I.current=e,z.current={start:e.length,end:e.length},x(e),U(e)}}),[ae]);const oe=(0,p.useCallback)((e=>{var t;const n=`@${e.text} `,a=`${I.current.slice(0,P.range.start)}${n}`,o=`${a}${I.current.slice(P.range.end)}`;I.current=o,z.current={start:a.length,end:a.length},x(o),$(n),W(null),c(e.data),null===(t=g.current)||void 0===t||t.focus()}),[P,c]),se=(0,p.useCallback)((e=>{var t;const n=`/${[...e.ancestors.map((e=>e.label)),e.text].join(": ")} `,a=`${I.current.slice(0,F.range.start)}${n}`,o=`${a}${I.current.slice(F.range.end)}`;I.current=o,z.current={start:a.length,end:a.length},x(o),U(n),O(null),u(e.payload),null===(t=g.current)||void 0===t||t.focus()}),[F,u]),le=(0,p.useCallback)((e=>{switch(e.key){case"Escape":if(!P&&!F)return;return e.preventDefault(),e.stopPropagation(),e.nativeEvent.stopImmediatePropagation(),W(null),O(null),!1;case"ArrowUp":case"ArrowDown":if(!P&&!F)return;return e.preventDefault(),e.stopPropagation(),e.nativeEvent.stopImmediatePropagation(),P?T((t=>{const n=t+("ArrowUp"===e.key?-1:1),a=P.actions.length;return(a+n)%a})):L((t=>{let n=0,{actions:a}=F;const o=[];for(;n<t.length-1;){const e=a[t[n]];if(!Ie(e))break;a=e.items,o.push(t[n]),n+=1}const s=t[n]+("ArrowUp"===e.key?-1:1),l=a.length,r=(l+s)%l;return o.push(r),o})),!1;case"Enter":case"ArrowLeft":case"ArrowRight":if(P){if("Enter"===e.key)return e.preventDefault(),e.stopPropagation(),e.nativeEvent.stopImmediatePropagation(),oe(P.actions[N]),!1}else if(F){if(e.preventDefault(),e.stopPropagation(),e.nativeEvent.stopImmediatePropagation(),"ArrowLeft"===e.key)return B.length>1&&L((e=>e.slice(0,-1))),!1;let t,n=0,{actions:a}=F;for(;n<B.length&&(t=a[B[n]],Ie(t));)a=t.items,n+=1;return t&&(Ie(t)?L((e=>[...e,0])):"Enter"===e.key&&se(t)),!1}break;case"Delete":case"Backspace":{const t=[{textLength:null==R?void 0:R.length,prefixLength:te.length},{textLength:null==V?void 0:V.length,prefixLength:0}];for(const{textLength:n,prefixLength:a}of t)if(n){let{selectionStart:t,selectionEnd:o}=e.currentTarget;t===o&&("Backspace"===e.key?t-=1:o+=1);const s=a,l=s+n;if(t<l&&o>s){const n=Math.min(t,s),a=Math.max(o,l),r=`${I.current.slice(0,n)}${I.current.slice(a)}`;return I.current=r,z.current={start:n,end:n},x(r),e.preventDefault(),e.stopPropagation(),!1}}break}}}),[N,B,F,null==V?void 0:V.length,oe,se,P,te.length,null==R?void 0:R.length]),re=(0,p.useMemo)((()=>{if(!F)return[];let e=F.actions;const t=[];for(let n=0;n<B.length;n+=1){const a=e[B[n]];if(!a)break;if(!Ie(a)){t.push(a.key);break}t.push(a.key),e=a.items}return t}),[B,F]),ie=(0,p.useRef)(null);return m().createElement("div",{className:"root"},m().createElement("div",{className:"container",ref:f},m().createElement(k.e,{containerRef:f,ref:g,value:A,minRows:58/22,paddingSize:q?144:60,autoResize:!0,disabled:n,placeholder:null!=a?a:(0,E.t)(E.K.ASK_ANY_THING),submitWhen:"enter-without-shift",desiredSelectionRef:z,onSubmit:X,onChange:Z,onKeyDown:le,style:{paddingTop:q?94:10}}),q&&m().createElement(S.Y,{files:K,onRemove:(e,t)=>{H((t=>null==t?void 0:t.filter((t=>t.uid!==e)))),null==t||t.abort()},onAdd:()=>{var e;null===(e=ie.current)||void 0===e||e.requestUpload()}}),m().createElement("div",{className:"actions-bar"},m().createElement("div",null,m().createElement("slot",{name:"actions"})),m().createElement("div",{className:"buttons"},r?m().createElement(m().Fragment,null,m().createElement(M.s,{ref:ie,onChange:e=>H((t=>[...null!=t?t:[],...null!=e?e:[]]))}),m().createElement("div",{className:"btn-divider"})):null,m().createElement("button",{className:"btn-send",disabled:!A||!Y,onClick:ee},m().createElement(_.Bj,{lib:"fa",prefix:"fas",icon:"arrow-up"})))),null==ne?void 0:ne.map(((e,t)=>m().createElement("div",{key:t,className:"mention-overlay",style:e}))),null==j?void 0:j.map(((e,t)=>m().createElement("div",{key:t,className:"mention-overlay",style:e}))),P&&(0,h.createPortal)(m().createElement(_.Tl,{actions:P.actions,style:P.style,activeKeys:[P.actions[N].key],onActionClick:e=>oe(e.detail)}),document.body),F&&(0,h.createPortal)(m().createElement(_.Tl,{actions:F.actions,style:F.style,activeKeys:re,onActionClick:e=>se(e.detail)}),document.body)))}function _e(e,t){var n;return null===(n=e.options)||void 0===n?void 0:n.map((n=>{const a=[...t,e];return{key:n.value,text:n.label,data:n,ancestors:a,items:_e(n,a),payload:n.payload}}))}function Ie(e){var t;return!(null===(t=e.items)||void 0===t||!t.length)}a=Me,({e:[W,R,$,N,T,B,L,F,O,j,D,V,U,z,K,H,q,Y,G,Q,J,X,Z,ee,te,ne,ae,oe,I],c:[ue,P]}=(0,d.A)(a,[se("ai-portal.chat-box",{styleTexts:[x.A],shadowOptions:{delegatesFocus:!0}})],[[le({type:Boolean}),1,"disabled"],[le(),1,"placeholder"],[le({type:Boolean}),1,"autoFocus"],[le({attribute:!1}),1,"aiEmployees"],[le({attribute:!1}),1,"commands"],[le(),1,"uploadBucket"],[re({type:"message.submit"}),1,"messageSubmit",e=>(0,u.A)(ve,e),(e,t)=>(0,c.A)(ve,e,t)],[re({type:"ai-employee.mention"}),1,"employeeMention",e=>(0,u.A)(we,e),(e,t)=>(0,c.A)(we,e,t)],[re({type:"command.select"}),1,"commandSelect",e=>(0,u.A)(Ae,e),(e,t)=>(0,c.A)(Ae,e,t)],[re({type:"files.change"}),1,"filesChange",e=>(0,u.A)(xe,e),(e,t)=>(0,c.A)(xe,e,t)],[ie(),2,"setValue"],[ie(),2,"getValue"],[ie(),2,"focusOnInput"]],0,(e=>Ce.has((0,r.A)(e))),g.ReactNextElement)),P()}}]);
|
|
2
|
-
//# sourceMappingURL=chat-box.8e064684.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/chat-box.8e064684.js","mappings":"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","sources":["webpack:///../../node_modules/css-loader/dist/runtime/getUrl.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./src/cruise-canvas/utils/file.ts","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./src/data-providers/set-chat-command.ts","webpack:///./src/chat-box/index.tsx"],"sourcesContent":["\"use strict\";\n\nmodule.exports = function (url, options) {\n if (!options) {\n options = {};\n }\n if (!url) {\n return url;\n }\n url = String(url.__esModule ? url.default : url);\n\n // If url is already wrapped in quotes, remove them\n if (/^['\"].*['\"]$/.test(url)) {\n url = url.slice(1, -1);\n }\n if (options.hash) {\n url += options.hash;\n }\n\n // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n if (/[\"'() \\t\\n]|(%20)/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n }\n return url;\n};","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import { pipes } from \"@easyops-cn/brick-next-pipes\";\nimport fileText from \"../images/file-text@2x.png\";\nimport filePdf from \"../images/file-pdf@2x.png\";\nimport fileDoc from \"../images/file-doc@2x.png\";\nimport filePpt from \"../images/file-ppt@2x.png\";\nimport fileXls from \"../images/file-xls@2x.png\";\nimport fileOther from \"../images/file-other@2x.png\";\n\nconst MIME_TYPES = new Map<string, string>([\n [\"md\", \"text/markdown\"],\n [\"pdf\", \"application/pdf\"],\n [\"doc\", \"application/msword\"],\n [\n \"docx\",\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n ],\n [\"txt\", \"text/plain\"],\n [\"xls\", \"application/vnd.ms-excel\"],\n [\"xlsx\", \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"],\n [\"ppt\", \"application/vnd.ms-powerpoint\"],\n [\n \"pptx\",\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\n ],\n]);\n\nexport function formatFileSize(size: number) {\n const [value, unit] = pipes.unitFormat(size, \"bytes\", 1);\n const number = +value;\n return `${number > 100 ? Math.round(number) : number} ${unit}`;\n}\n\nexport function getFileTypeAndIcon(\n mimeType: string | undefined,\n filename: string | undefined\n): [type: string, icon: string] {\n const type = mimeType || getMimeTypeByFilename(filename);\n\n if (type.startsWith(\"image/\")) {\n return [\"Image\", fileOther];\n }\n\n switch (type) {\n case \"text/markdown\":\n return [\"Markdown\", fileText];\n case \"application/pdf\":\n return [\"PDF\", filePdf];\n case \"application/msword\":\n case \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\":\n return [\"Word\", fileDoc];\n case \"application/vnd.ms-excel\":\n case \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\":\n return [\"Excel\", fileXls];\n case \"application/vnd.ms-powerpoint\":\n case \"application/vnd.openxmlformats-officedocument.presentationml.presentation\":\n return [\"PowerPoint\", filePpt];\n }\n\n if (type.startsWith(\"text/\")) {\n return [\"Text\", fileText];\n }\n\n return [\"File\", fileOther];\n}\n\nexport function getMimeTypeByFilename(filename: string | undefined): string {\n let ext = \"\";\n const matches = filename?.match(/\\.([^.]+)$/);\n if (matches) {\n ext = matches[1].toLowerCase();\n }\n return MIME_TYPES.get(ext) ?? \"unknown\";\n}\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}","import { createProviderClass } from \"@next-core/utils/general\";\nimport type { CommandPayload } from \"../shared/interfaces.js\";\n\nexport interface ChatCommand {\n command: string;\n payload: CommandPayload;\n}\n\nlet chatCommand: ChatCommand | null = null;\n\nexport function setChatCommand(command: ChatCommand | null): void {\n chatCommand = command;\n}\n\nexport function getChatCommand(): ChatCommand | null {\n return chatCommand;\n}\n\ncustomElements.define(\n \"ai-portal.set-chat-command\",\n createProviderClass(setChatCommand)\n);\n","import React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n useImperativeHandle,\n createRef,\n useMemo,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport { http } from \"@next-core/http\";\nimport { handleHttpError } from \"@next-core/runtime\";\nimport {\n getCaretPositionInTextarea,\n getContentRectsInTextarea,\n TextareaAutoResize,\n type TextareaAutoResizeRef,\n} from \"@next-shared/form\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport type { SimpleAction, SubMenuAction } from \"@next-bricks/basic/actions\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\nimport {\n getChatCommand,\n setChatCommand,\n} from \"../data-providers/set-chat-command.js\";\nimport type { CommandPayload } from \"../shared/interfaces.js\";\nimport { UploadButton, type UploadButtonRef } from \"./UploadButton.js\";\nimport { FileListComponent } from \"./FileListComponent.js\";\nimport { WrappedActions, WrappedIcon } from \"./bricks.js\";\nimport type { FileItem } from \"./interfaces.js\";\n\ninitializeI18n(NS, locales);\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport const ChatBoxComponent = forwardRef(LegacyChatBoxComponent);\n\nexport interface ChatBoxProps {\n disabled?: boolean;\n placeholder?: string;\n autoFocus?: boolean;\n aiEmployees?: AIEmployee[];\n commands?: Command[];\n uploadBucket?: string;\n}\n\nexport interface AIEmployee {\n employeeId: string;\n name: string;\n}\n\nexport interface ChatBoxRef {\n setValue: (value: string) => void;\n getValue: () => string;\n focusOnInput: () => void;\n}\n\nexport interface Command {\n label: string;\n value: string;\n options?: Command[];\n payload?: CommandPayload;\n}\n\ntype ActionWithAncestors = SimpleAction & {\n key: string | number;\n ancestors?: Command[];\n items?: ActionWithAncestors[];\n payload?: CommandPayload;\n};\n\n/**\n * 构件 `ai-portal.chat-box`\n */\nexport\n@defineElement(\"ai-portal.chat-box\", {\n styleTexts: [styleText],\n shadowOptions: {\n delegatesFocus: true,\n },\n})\nclass ChatBox extends ReactNextElement implements ChatBoxProps {\n ref = createRef<ChatBoxRef>();\n\n @property({ type: Boolean })\n accessor disabled: boolean | undefined;\n\n @property()\n accessor placeholder: string | undefined;\n\n @property({ type: Boolean })\n accessor autoFocus: boolean | undefined;\n\n @property({ attribute: false })\n accessor aiEmployees: AIEmployee[] | undefined;\n\n @property({ attribute: false })\n accessor commands: Command[] | undefined;\n\n @property()\n accessor uploadBucket: string | undefined;\n\n @event({ type: \"message.submit\" })\n accessor #messageSubmit!: EventEmitter<string>;\n\n #handleMessageSubmit = (value: string) => {\n this.#messageSubmit.emit(value);\n };\n\n @event({ type: \"ai-employee.mention\" })\n accessor #employeeMention!: EventEmitter<AIEmployee | null>;\n\n #handleEmployeeMention = (employee: AIEmployee | null) => {\n this.#employeeMention.emit(employee);\n };\n\n @event({ type: \"command.select\" })\n accessor #commandSelect!: EventEmitter<CommandPayload | null>;\n\n #handleCommandSelect = (command: CommandPayload | null) => {\n this.#commandSelect.emit(command);\n };\n\n @event({ type: \"files.change\" })\n accessor #filesChange!: EventEmitter<string[] | null | undefined>;\n\n #handleFilesChange = (files: string[] | null | undefined) => {\n this.#filesChange.emit(files);\n };\n\n @method()\n setValue(value: string) {\n this.ref.current?.setValue(value);\n }\n\n @method()\n getValue() {\n return this.ref.current?.getValue();\n }\n\n @method()\n focusOnInput() {\n return this.ref.current?.focusOnInput();\n }\n\n render() {\n return (\n <ChatBoxComponent\n disabled={this.disabled}\n placeholder={this.placeholder}\n autoFocus={this.autoFocus}\n aiEmployees={this.aiEmployees}\n commands={this.commands}\n uploadBucket={this.uploadBucket}\n onSubmit={this.#handleMessageSubmit}\n onEmployeeMention={this.#handleEmployeeMention}\n onCommandSelect={this.#handleCommandSelect}\n onFilesChange={this.#handleFilesChange}\n ref={this.ref}\n />\n );\n }\n}\n\ninterface ChatBoxComponentProps extends ChatBoxProps {\n onSubmit: (value: string) => void;\n onEmployeeMention: (employee: AIEmployee | null) => void;\n onCommandSelect: (command: CommandPayload | null) => void;\n onFilesChange: (files: string[] | null | undefined) => void;\n ref?: React.Ref<ChatBoxRef>;\n}\n\ninterface MentionPopover {\n style: React.CSSProperties;\n range: {\n start: number;\n end: number;\n };\n actions: ActionWithAncestors[];\n}\n\nfunction LegacyChatBoxComponent(\n {\n disabled,\n placeholder,\n autoFocus,\n aiEmployees,\n commands,\n uploadBucket,\n onSubmit,\n onEmployeeMention,\n onCommandSelect,\n onFilesChange,\n }: ChatBoxComponentProps,\n ref: React.Ref<ChatBoxRef>\n) {\n const containerRef = useRef<HTMLDivElement>(null);\n const textareaRef = useRef<TextareaAutoResizeRef>(null);\n const [value, setValue] = useState(\"\");\n const valueRef = useRef(\"\");\n const [mentionPopover, setMentionPopover] = useState<MentionPopover | null>(\n null\n );\n const [mentionedText, setMentionedText] = useState(\"\");\n const [activeActionIndex, setActiveActionIndex] = useState(0);\n const [activeActionIndexes, setActiveActionIndexes] = useState<number[]>([0]);\n const [commandPopover, setCommandPopover] = useState<MentionPopover | null>(\n null\n );\n const [commandOverlay, setCommandOverlay] = useState<\n React.CSSProperties[] | null\n >(null);\n const [commandText, setCommandText] = useState(\"\");\n const selectionRef = useRef<{ start: number; end: number } | null>(null);\n\n const [files, setFiles] = useState<FileItem[] | undefined>();\n const hasFiles = !!files && files.length > 0;\n\n useEffect(() => {\n files?.forEach(async (fileItem) => {\n if (fileItem.status === \"ready\") {\n const abortController = new AbortController();\n\n setFiles((prevFiles) => {\n return prevFiles?.map((item) => {\n if (item.uid === fileItem.uid) {\n return { ...item, status: \"uploading\", abortController };\n }\n return item;\n });\n });\n\n try {\n const formData = new FormData();\n formData.append(\"file\", fileItem.file);\n\n const response = await http.request<{ data: { objectName: string } }>(\n `api/gateway/object_store.object_store.PutObject/api/v1/objectStore/bucket/${uploadBucket}/object`,\n {\n method: \"PUT\",\n body: formData,\n signal: abortController.signal,\n }\n );\n\n setFiles((prevFiles) => {\n return prevFiles?.map((item) => {\n if (item.uid === fileItem.uid) {\n return {\n ...item,\n status: \"done\",\n uploadedName: response.data.objectName,\n };\n }\n return item;\n });\n });\n } catch (error) {\n setFiles((prevFiles) => {\n return prevFiles?.map((item) => {\n if (item.uid === fileItem.uid) {\n return { ...item, status: \"failed\" };\n }\n return item;\n });\n });\n handleHttpError(error);\n }\n }\n });\n }, [files, uploadBucket]);\n\n const [allFilesDone, setAllFilesDone] = useState(true);\n const initialRef = useRef(true);\n\n useEffect(() => {\n const allFilesDone =\n !files || files.every((file) => file.status === \"done\");\n setAllFilesDone(allFilesDone);\n if (initialRef.current) {\n initialRef.current = false;\n return;\n }\n if (allFilesDone) {\n onFilesChange(files?.map((file) => file.uploadedName!));\n }\n }, [files, onFilesChange]);\n\n useEffect(() => {\n const store = window.__elevo_try_it_out;\n if (store) {\n delete window.__elevo_try_it_out;\n }\n if (typeof store?.content === \"string\") {\n valueRef.current = store.content;\n setValue(store.content);\n }\n }, []);\n\n useImperativeHandle(ref, () => ({\n setValue: (value: string) => {\n valueRef.current = value;\n setValue(value);\n },\n getValue: () => {\n return valueRef.current;\n },\n focusOnInput: () => {\n textareaRef.current?.focus();\n },\n }));\n\n const submitWithoutCommand = useCallback(\n (value: string) => {\n onSubmit(value.slice(commandText?.length ?? 0));\n },\n [commandText?.length, onSubmit]\n );\n\n const handleSubmit = useCallback(\n (e: React.FormEvent<HTMLTextAreaElement>) => {\n if (e.currentTarget.value && allFilesDone) {\n submitWithoutCommand(e.currentTarget.value);\n }\n },\n [submitWithoutCommand, allFilesDone]\n );\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n const { value, selectionStart, selectionEnd } = e.target;\n valueRef.current = value;\n setValue(value);\n\n if (\n !mentionedText &&\n selectionStart !== null &&\n selectionStart === selectionEnd &&\n aiEmployees?.length\n ) {\n const previousContent = value.slice(0, selectionStart);\n const mentionIndex = previousContent.lastIndexOf(\"@\");\n if (mentionIndex >= 0) {\n const mentionText = previousContent\n .slice(mentionIndex + 1)\n .toLowerCase();\n const matchedEmployees = aiEmployees\n .filter(\n (employee) =>\n employee.employeeId.toLowerCase().includes(mentionText) ||\n employee.name.toLowerCase().includes(mentionText)\n )\n .slice(0, 10);\n if (matchedEmployees.length > 0) {\n const position = getCaretPositionInTextarea(\n e.currentTarget,\n selectionStart\n );\n const textareaRect = e.currentTarget.getBoundingClientRect();\n setMentionPopover({\n style: {\n left: position.left + 10 + textareaRect.left,\n top: position.top + 22 + textareaRect.top,\n position: \"absolute\",\n zIndex: 1,\n },\n range: { start: mentionIndex, end: selectionStart },\n actions: matchedEmployees.map((employee) => ({\n key: employee.employeeId,\n text: employee.name,\n data: employee,\n })),\n });\n setActiveActionIndex(0);\n return;\n }\n }\n }\n setMentionPopover(null);\n\n if (\n selectionStart !== null &&\n selectionStart === selectionEnd &&\n commands?.length\n ) {\n const previousContent = value.slice(0, selectionStart);\n if (previousContent.startsWith(\"/\")) {\n const commandText = previousContent.slice(1).toLowerCase();\n const matchedCommands = commands\n .filter((command) =>\n command.label.toLowerCase().includes(commandText)\n )\n .slice(0, 10);\n if (matchedCommands.length > 0) {\n const position = getCaretPositionInTextarea(\n e.currentTarget,\n selectionStart\n );\n const textareaRect = e.currentTarget.getBoundingClientRect();\n setCommandPopover({\n style: {\n left: position.left + 10 + textareaRect.left,\n top: position.top + 22 + textareaRect.top,\n position: \"absolute\",\n zIndex: 1,\n },\n range: { start: 0, end: selectionStart },\n actions: matchedCommands.map((command) => ({\n key: command.value,\n text: command.label,\n data: command,\n ancestors: [],\n items: getCommandSubMenu(command, []),\n payload: command.payload,\n })),\n });\n setActiveActionIndexes([0]);\n return;\n }\n }\n }\n setCommandPopover(null);\n },\n [aiEmployees, commands, mentionedText]\n );\n\n useEffect(() => {\n if (mentionedText && !value.includes(mentionedText)) {\n setMentionedText(\"\");\n onEmployeeMention(null);\n }\n }, [mentionedText, onEmployeeMention, value]);\n\n useEffect(() => {\n if (commandText && !value.includes(commandText)) {\n setCommandText(\"\");\n onCommandSelect(null);\n }\n }, [commandText, onCommandSelect, value]);\n\n const handleSubmitClick = useCallback(() => {\n submitWithoutCommand(valueRef.current);\n }, [submitWithoutCommand]);\n\n useEffect(\n () => {\n if (autoFocus) {\n Promise.resolve().then(() => {\n textareaRef.current?.focus();\n });\n }\n },\n // One-time focus\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n );\n\n const mentionPrefix = useMemo(() => {\n const element = textareaRef.current?.element;\n if (!mentionedText || !element) {\n return \"\";\n }\n const index = value.indexOf(mentionedText);\n if (index < 0) {\n return \"\";\n }\n return value.slice(0, index);\n }, [mentionedText, value]);\n\n const mentionOverlay = useMemo(() => {\n const element = textareaRef.current?.element;\n if (!mentionedText || !element) {\n return null;\n }\n const rects = getContentRectsInTextarea(\n element,\n mentionPrefix,\n // Ignore the last space\n mentionedText.slice(0, -1)\n );\n return rects.map((rect) => ({\n left: rect.left - 1,\n top: rect.top - 1,\n width: rect.width + 4,\n height: rect.height + 4,\n }));\n }, [mentionedText, mentionPrefix]);\n\n useEffect(() => {\n const element = textareaRef.current?.element;\n if (!commandText || !element) {\n setCommandOverlay(null);\n return;\n }\n const rects = getContentRectsInTextarea(\n element,\n \"\",\n // Ignore the last space\n commandText.slice(0, -1)\n );\n setCommandOverlay(\n rects.map((rect) => ({\n left: rect.left - 1,\n top: rect.top - 1,\n width: rect.width + 4,\n height: rect.height + 4,\n }))\n );\n }, [commandText]);\n\n const chatCommand = useMemo(() => {\n const command = getChatCommand();\n if (command) {\n setChatCommand(null);\n }\n return command;\n }, []);\n\n useEffect(() => {\n if (chatCommand) {\n onCommandSelect(chatCommand.payload);\n }\n }, [chatCommand, onCommandSelect]);\n\n useEffect(() => {\n const element = textareaRef.current?.element;\n if (chatCommand && element) {\n const commandStr = `/${chatCommand.command} `;\n const rects = getContentRectsInTextarea(\n element,\n \"\",\n // Ignore the last space\n commandStr.slice(0, -1)\n );\n setCommandOverlay(\n rects.map((rect) => ({\n left: rect.left - 1,\n top: rect.top - 1,\n width: rect.width + 4,\n height: rect.height + 4,\n }))\n );\n valueRef.current = commandStr;\n selectionRef.current = {\n start: commandStr.length,\n end: commandStr.length,\n };\n setValue(commandStr);\n setCommandText(commandStr);\n }\n }, [chatCommand]);\n\n const handleMention = useCallback(\n (action: SimpleAction) => {\n const mention = `@${action.text} `;\n const prefix = `${valueRef.current.slice(0, mentionPopover!.range.start)}${mention}`;\n const newValue = `${prefix}${valueRef.current.slice(mentionPopover!.range.end)}`;\n valueRef.current = newValue;\n selectionRef.current = { start: prefix.length, end: prefix.length };\n setValue(newValue);\n setMentionedText(mention);\n setMentionPopover(null);\n onEmployeeMention((action as { data?: AIEmployee }).data!);\n textareaRef.current?.focus();\n },\n [mentionPopover, onEmployeeMention]\n );\n\n const handleSelectCommand = useCallback(\n (action: ActionWithAncestors) => {\n const command = `/${[...action.ancestors!.map((an) => an.label), action.text].join(\": \")} `;\n const prefix = `${valueRef.current.slice(0, commandPopover!.range.start)}${command}`;\n const newValue = `${prefix}${valueRef.current.slice(commandPopover!.range.end)}`;\n valueRef.current = newValue;\n selectionRef.current = { start: prefix.length, end: prefix.length };\n setValue(newValue);\n setCommandText(command);\n setCommandPopover(null);\n onCommandSelect(action.payload!);\n textareaRef.current?.focus();\n },\n [commandPopover, onCommandSelect]\n );\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n switch (e.key) {\n case \"Escape\":\n if (!mentionPopover && !commandPopover) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n setMentionPopover(null);\n setCommandPopover(null);\n return false;\n case \"ArrowUp\":\n case \"ArrowDown\": {\n if (!mentionPopover && !commandPopover) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n if (mentionPopover) {\n setActiveActionIndex((prev) => {\n const nextIndex = prev + (e.key === \"ArrowUp\" ? -1 : 1);\n const total = mentionPopover.actions.length;\n const next = (total + nextIndex) % total;\n return next;\n });\n } else {\n setActiveActionIndexes((prev) => {\n let cursor = 0;\n let { actions } = commandPopover!;\n const list: number[] = [];\n while (cursor < prev.length - 1) {\n const action = actions[prev[cursor]];\n if (isSubMenuAction(action)) {\n actions = action.items;\n } else {\n break;\n }\n list.push(prev[cursor]);\n cursor += 1;\n }\n const nextIndex = prev[cursor] + (e.key === \"ArrowUp\" ? -1 : 1);\n const total = actions.length;\n const next = (total + nextIndex) % total;\n list.push(next);\n return list;\n });\n }\n return false;\n }\n case \"Enter\":\n case \"ArrowLeft\":\n case \"ArrowRight\":\n if (mentionPopover) {\n if (e.key === \"Enter\") {\n e.preventDefault();\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n handleMention(mentionPopover.actions[activeActionIndex]);\n return false;\n }\n } else if (commandPopover) {\n e.preventDefault();\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n\n if (e.key === \"ArrowLeft\") {\n if (activeActionIndexes.length > 1) {\n setActiveActionIndexes((prev) => prev.slice(0, -1));\n }\n return false;\n }\n\n let cursor = 0;\n let { actions } = commandPopover!;\n let action: ActionWithAncestors | undefined;\n while (cursor < activeActionIndexes.length) {\n action = actions[activeActionIndexes[cursor]];\n if (isSubMenuAction(action)) {\n actions = action.items;\n } else {\n break;\n }\n cursor += 1;\n }\n if (action) {\n if (isSubMenuAction(action)) {\n setActiveActionIndexes((prev) => [...prev, 0]);\n } else if (e.key === \"Enter\") {\n handleSelectCommand(action);\n }\n }\n return false;\n }\n break;\n case \"Delete\":\n case \"Backspace\": {\n const popovers = [\n {\n textLength: mentionedText?.length,\n prefixLength: mentionPrefix.length,\n },\n {\n textLength: commandText?.length,\n prefixLength: 0,\n },\n ];\n\n for (const { textLength, prefixLength } of popovers) {\n if (textLength) {\n let { selectionStart, selectionEnd } = e.currentTarget;\n if (selectionStart === selectionEnd) {\n if (e.key === \"Backspace\") {\n selectionStart -= 1;\n } else {\n selectionEnd += 1;\n }\n }\n const currentStart = prefixLength;\n const currentEnd = currentStart + textLength;\n if (selectionStart < currentEnd && selectionEnd > currentStart) {\n const start = Math.min(selectionStart, currentStart);\n const end = Math.max(selectionEnd, currentEnd);\n const newValue = `${valueRef.current.slice(0, start)}${valueRef.current.slice(end)}`;\n valueRef.current = newValue;\n selectionRef.current = { start, end: start };\n setValue(newValue);\n e.preventDefault();\n e.stopPropagation();\n return false;\n }\n }\n }\n break;\n }\n }\n },\n [\n activeActionIndex,\n activeActionIndexes,\n commandPopover,\n commandText?.length,\n handleMention,\n handleSelectCommand,\n mentionPopover,\n mentionPrefix.length,\n mentionedText?.length,\n ]\n );\n\n const commandCheckedKeys = useMemo(() => {\n if (!commandPopover) {\n return [];\n }\n let actions = commandPopover.actions;\n const checkedKeys: (string | number)[] = [];\n for (let i = 0; i < activeActionIndexes.length; i += 1) {\n const index = activeActionIndexes[i];\n const action = actions[index];\n if (action) {\n if (isSubMenuAction(action)) {\n checkedKeys.push(action.key!);\n actions = action.items;\n } else {\n checkedKeys.push(action.key!);\n break;\n }\n } else {\n break;\n }\n }\n return checkedKeys;\n }, [activeActionIndexes, commandPopover]);\n\n const uploadButtonRef = useRef<UploadButtonRef>(null);\n\n return (\n <div className=\"root\">\n <div className=\"container\" ref={containerRef}>\n <TextareaAutoResize\n containerRef={containerRef}\n ref={textareaRef}\n value={value}\n minRows={58 / 22}\n paddingSize={hasFiles ? 144 : 60}\n autoResize\n disabled={disabled}\n placeholder={placeholder ?? t(K.ASK_ANY_THING)}\n submitWhen=\"enter-without-shift\"\n desiredSelectionRef={selectionRef}\n onSubmit={handleSubmit}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n style={{\n paddingTop: hasFiles ? 94 : 10,\n }}\n />\n {hasFiles && (\n <FileListComponent\n files={files!}\n onRemove={(uid, abortController) => {\n setFiles((prevFiles) =>\n prevFiles?.filter((item) => item.uid !== uid)\n );\n abortController?.abort();\n }}\n onAdd={() => {\n uploadButtonRef.current?.requestUpload();\n }}\n />\n )}\n <div className=\"actions-bar\">\n <div>\n <slot name=\"actions\"></slot>\n </div>\n <div className=\"buttons\">\n {uploadBucket ? (\n <>\n <UploadButton\n ref={uploadButtonRef}\n onChange={(files) =>\n setFiles((prevFiles) => [\n ...(prevFiles ?? []),\n ...(files ?? []),\n ])\n }\n />\n <div className=\"btn-divider\"></div>\n </>\n ) : null}\n <button\n className=\"btn-send\"\n disabled={!value || !allFilesDone}\n onClick={handleSubmitClick}\n >\n <WrappedIcon lib=\"fa\" prefix=\"fas\" icon=\"arrow-up\" />\n </button>\n </div>\n </div>\n {mentionOverlay?.map((overlay, index) => (\n <div key={index} className=\"mention-overlay\" style={overlay} />\n ))}\n {commandOverlay?.map((overlay, index) => (\n <div key={index} className=\"mention-overlay\" style={overlay} />\n ))}\n {mentionPopover &&\n createPortal(\n <WrappedActions\n actions={mentionPopover.actions}\n style={mentionPopover.style}\n activeKeys={[mentionPopover.actions[activeActionIndex].key!]}\n onActionClick={(e) => handleMention(e.detail)}\n />,\n document.body\n )}\n {commandPopover &&\n createPortal(\n <WrappedActions\n actions={commandPopover.actions}\n style={commandPopover.style}\n activeKeys={commandCheckedKeys}\n onActionClick={(e) =>\n handleSelectCommand(e.detail as ActionWithAncestors)\n }\n />,\n document.body\n )}\n </div>\n </div>\n );\n}\n\nfunction getCommandSubMenu(\n command: Command,\n ancestors: Command[]\n): ActionWithAncestors[] | undefined {\n return command.options?.map((subCommand) => {\n const nextAncestors = [...ancestors, command];\n return {\n key: subCommand.value,\n text: subCommand.label,\n data: subCommand,\n ancestors: nextAncestors,\n items: getCommandSubMenu(subCommand, nextAncestors),\n payload: subCommand.payload,\n };\n });\n}\n\nfunction isSubMenuAction(\n action: SimpleAction | SubMenuAction\n): action is SubMenuAction {\n return !!(action as SubMenuAction).items?.length;\n}\n"],"names":["module","exports","url","options","String","__esModule","default","test","slice","hash","needQuotes","concat","replace","_defineProperty","obj","key","value","Object","defineProperty","enumerable","configurable","writable","MIME_TYPES","Map","formatFileSize","size","unit","pipes","unitFormat","number","Math","round","getFileTypeAndIcon","mimeType","filename","type","getMimeTypeByFilename","startsWith","fileOther","fileText","filePdf","fileDoc","fileXls","filePpt","_MIME_TYPES$get","ext","matches","match","toLowerCase","get","_extends","assign","bind","target","i","arguments","length","source","prototype","hasOwnProperty","call","apply","this","chatCommand","setChatCommand","command","getChatCommand","customElements","define","createProviderClass","initializeI18n","NS","locales","defineElement","property","event","method","createDecorators","ChatBoxComponent","forwardRef","LegacyChatBoxComponent","_ChatBox","_A","WeakMap","_B","_C","_D","_E","_F","_G","_ChatBox_brand","WeakSet","_handleMessageSubmit","_H","_handleEmployeeMention","_I","_handleCommandSelect","_J","_handleFilesChange","ChatBox","ReactNextElement","constructor","_classPrivateMethodInitSpec","_initProto","createRef","_classPrivateFieldInitSpec","_init_disabled","_init_extra_disabled","_init_placeholder","_init_extra_placeholder","_init_autoFocus","_init_extra_autoFocus","_init_aiEmployees","_init_extra_aiEmployees","_init_commands","_init_extra_commands","_init_uploadBucket","_init_extra_uploadBucket","_init_messageSubmit","_init_extra_messageSubmit","_classPrivateGetter","_get_messageSubmit","emit","_init_employeeMention","_init_extra_employeeMention","employee","_get_employeeMention","_init_commandSelect","_init_extra_commandSelect","_get_commandSelect","_init_filesChange","_init_extra_filesChange","files","_get_filesChange","disabled","_classPrivateFieldGet","v","_classPrivateFieldSet","placeholder","autoFocus","aiEmployees","commands","uploadBucket","setValue","_this$ref$current","ref","current","getValue","_this$ref$current2","focusOnInput","_this$ref$current3","render","React","onSubmit","onEmployeeMention","onCommandSelect","onFilesChange","_ref","containerRef","useRef","textareaRef","useState","valueRef","mentionPopover","setMentionPopover","mentionedText","setMentionedText","activeActionIndex","setActiveActionIndex","activeActionIndexes","setActiveActionIndexes","commandPopover","setCommandPopover","commandOverlay","setCommandOverlay","commandText","setCommandText","selectionRef","setFiles","hasFiles","useEffect","forEach","async","fileItem","status","abortController","AbortController","prevFiles","map","item","uid","formData","FormData","append","file","response","http","request","body","signal","uploadedName","data","objectName","error","handleHttpError","allFilesDone","setAllFilesDone","initialRef","every","store","window","__elevo_try_it_out","content","useImperativeHandle","_textareaRef$current","focus","submitWithoutCommand","useCallback","_commandText$length","handleSubmit","e","currentTarget","handleChange","selectionStart","selectionEnd","previousContent","mentionIndex","lastIndexOf","mentionText","matchedEmployees","filter","employeeId","includes","name","position","getCaretPositionInTextarea","textareaRect","getBoundingClientRect","style","left","top","zIndex","range","start","end","actions","text","matchedCommands","label","ancestors","items","getCommandSubMenu","payload","handleSubmitClick","Promise","resolve","then","_textareaRef$current2","mentionPrefix","useMemo","_textareaRef$current3","element","index","indexOf","mentionOverlay","_textareaRef$current4","getContentRectsInTextarea","rect","width","height","_textareaRef$current5","rects","_textareaRef$current6","commandStr","handleMention","action","_textareaRef$current7","mention","prefix","newValue","handleSelectCommand","_textareaRef$current8","an","join","handleKeyDown","preventDefault","stopPropagation","nativeEvent","stopImmediatePropagation","prev","nextIndex","total","cursor","list","isSubMenuAction","push","next","popovers","textLength","prefixLength","currentStart","currentEnd","min","max","commandCheckedKeys","checkedKeys","uploadButtonRef","className","TextareaAutoResize","minRows","paddingSize","autoResize","t","K","ASK_ANY_THING","submitWhen","desiredSelectionRef","onChange","onKeyDown","paddingTop","FileListComponent","onRemove","abort","onAdd","_uploadButtonRef$curr","requestUpload","UploadButton","onClick","WrappedIcon","lib","icon","overlay","createPortal","WrappedActions","activeKeys","onActionClick","detail","document","_command$options","subCommand","nextAncestors","_items","_ChatBox2","_set_messageSubmit","_set_employeeMention","_set_commandSelect","_set_filesChange","c","_initClass","_applyDecs","styleTexts","styleText","shadowOptions","delegatesFocus","Boolean","attribute","o","_","has","_checkInRHS"],"sourceRoot":""}
|
package/dist/index.fe56261d.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(()=>{"use strict";var e,t,r,a,n,o,l,i,c,s,d,f,h,u,m,b,p,v,g,P,x,y,w,k={90837:(e,t,r)=>{var a={"./cruise-canvas":()=>Promise.all([r.e(4888),r.e(8135),r.e(7279),r.e(8324),r.e(161),r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(2616),r.e(1030),r.e(7019),r.e(1302),r.e(348),r.e(2919),r.e(1321),r.e(9655),r.e(6593),r.e(1919),r.e(1080),r.e(3227),r.e(2267)]).then((()=>()=>r(99631))),"./chat-box":()=>Promise.all([r.e(4888),r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(2616),r.e(7019),r.e(348),r.e(2919),r.e(9435),r.e(1919),r.e(1864),r.e(6573)]).then((()=>()=>r(94669))),"./stat-with-mini-chart":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(7345)]).then((()=>()=>r(45657))),"./home-container":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(3172)]).then((()=>()=>r(6492))),"./icon-button":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(1541)]).then((()=>()=>r(68845))),"./elevo-sidebar":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(2616),r.e(1030),r.e(348),r.e(2919),r.e(2084),r.e(7771)]).then((()=>()=>r(17295))),"./show-cases":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(2616),r.e(4332)]).then((()=>()=>r(64604))),"./mcp-tools":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(2616),r.e(7087)]).then((()=>()=>r(91375))),"./ai-employees":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(2616),r.e(1030),r.e(6729)]).then((()=>()=>r(80749))),"./chat-stream":()=>Promise.all([r.e(4888),r.e(8135),r.e(7279),r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(2616),r.e(1030),r.e(7019),r.e(1302),r.e(348),r.e(2919),r.e(1321),r.e(9655),r.e(6593),r.e(1080),r.e(8717),r.e(366)]).then((()=>()=>r(23182))),"./ai-agents":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(2616),r.e(1030),r.e(304)]).then((()=>()=>r(50520))),"./call-tool":()=>Promise.all([r.e(7019),r.e(2919),r.e(5234)]).then((()=>()=>r(24963))),"./save-request-store":()=>Promise.all([r.e(7019),r.e(8539)]).then((()=>()=>r(93291))),"./load-request-store":()=>Promise.all([r.e(7019),r.e(8539)]).then((()=>()=>r(93291))),"./clear-request-store":()=>Promise.all([r.e(7019),r.e(8539)]).then((()=>()=>r(93291))),"./set-chat-command":()=>Promise.all([r.e(7019),r.e(5944)]).then((()=>()=>r(93757))),"./tab-list":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(9873)]).then((()=>()=>r(48581))),"./page-container":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(348),r.e(5020)]).then((()=>()=>r(7476))),"./dropdown-select":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(2616),r.e(1030),r.e(9053)]).then((()=>()=>r(26001))),"./preview-container":()=>Promise.all([r.e(8135),r.e(3199),r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(2616),r.e(1030),r.e(7019),r.e(348),r.e(1321),r.e(9655),r.e(6593),r.e(8775)]).then((()=>()=>r(54519))),"./action-buttons":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(2616),r.e(6109)]).then((()=>()=>r(27725))),"./project-conversations":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(2616),r.e(1030),r.e(1302),r.e(2697)]).then((()=>()=>r(36709))),"./goal-card-list":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(2616),r.e(1030),r.e(4322)]).then((()=>()=>r(96318))),"./project-knowledges":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(2616),r.e(1030),r.e(1302),r.e(7908)]).then((()=>()=>r(73388))),"./activity-timeline":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(2616),r.e(1030),r.e(1302),r.e(9576)]).then((()=>()=>r(59544))),"./chat-input":()=>Promise.all([r.e(4888),r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(2616),r.e(9435),r.e(7218)]).then((()=>()=>r(45962))),"./elevo-logo":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(5064)]).then((()=>()=>r(52404))),"./show-case":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(2616),r.e(3901)]).then((()=>()=>r(2865))),"./blank-state":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(1291)]).then((()=>()=>r(3019))),"./sticky-container":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(5144)]).then((()=>()=>r(46544))),"./elevo-card":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(7923)]).then((()=>()=>r(5527))),"./flow-tabs":()=>Promise.all([r.e(4888),r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(5764)]).then((()=>()=>r(42252))),"./stage-flow":()=>Promise.all([r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(2616),r.e(7019),r.e(7195)]).then((()=>()=>r(68268)))},n=(e,t)=>(r.R=t,t=r.o(a,e)?a[e]():Promise.resolve().then((()=>{throw new Error('Module "'+e+'" does not exist in container.')})),r.R=void 0,t),o=(e,t)=>{if(r.S){var a="default",n=r.S[a];if(n&&n!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return r.S[a]=e,r.I(a,t)}};r.d(t,{get:()=>n,init:()=>o})}},j={};function S(e){var t=j[e];if(void 0!==t)return t.exports;var r=j[e]={id:e,loaded:!1,exports:{}};return k[e].call(r.exports,r,r.exports,S),r.loaded=!0,r.exports}S.m=k,S.c=j,S.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return S.d(t,{a:t}),t},S.d=(e,t)=>{for(var r in t)S.o(t,r)&&!S.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},S.f={},S.e=e=>Promise.all(Object.keys(S.f).reduce(((t,r)=>(S.f[r](e,t),t)),[])),S.u=e=>"chunks/"+({304:"ai-agents",366:"chat-stream",1291:"blank-state",1541:"icon-button",2267:"cruise-canvas",2697:"project-conversations",3172:"home-container",3901:"show-case",4322:"goal-card-list",4332:"show-cases",5020:"page-container",5064:"elevo-logo",5144:"sticky-container",5234:"call-tool",5764:"flow-tabs",5944:"set-chat-command",6109:"action-buttons",6573:"chat-box",6729:"ai-employees",7087:"mcp-tools",7195:"stage-flow",7218:"chat-input",7345:"stat-with-mini-chart",7771:"elevo-sidebar",7908:"project-knowledges",7923:"elevo-card",8539:"load-request-store",8775:"preview-container",9053:"dropdown-select",9576:"activity-timeline",9873:"tab-list"}[e]||e)+"."+{114:"af61e48a",161:"6c50f07c",304:"92ed0274",366:"11c6ade7",721:"f43de0ef",726:"392de709",843:"9b7325c3",871:"42c14164",879:"a469d051",948:"d125d58c",1045:"0906fc23",1080:"c0cb398b",1120:"fd177648",1122:"95231c39",1136:"456f1c68",1215:"78630d79",1291:"ad3eee7a",1541:"0881c876",1864:"4bd403fd",1889:"b7766f77",1931:"2abee15e",1940:"afcdea49",2052:"ef23d12a",2084:"778e8126",2260:"9564eb16",2267:"c494563b",2277:"b026624f",2432:"352ae272",2449:"b46fc22a",2508:"15c05669",2510:"91062655",2593:"783fb42e",2697:"3f559e57",3003:"a607b32b",3144:"4088b5d1",3171:"a0251432",3172:"3e8a670e",3199:"0220cf6e",3208:"0796f5be",3227:"77ba4968",3331:"bb7b4c1c",3419:"28287d23",3744:"ed6d0719",3816:"fc867cd4",3901:"7bc5fc9e",3935:"3b6a2f5d",4041:"6b503155",4190:"7612613e",4228:"ea602510",4281:"ddad94d5",4306:"9e8251b7",4322:"44c21cf2",4332:"85fe99d4",4474:"5fd3e9c8",4491:"539d30f8",4609:"e21567a0",4658:"18d5ee4d",4735:"24157512",4765:"e2813cac",4837:"c7f9a784",4888:"42dd29a2",5020:"97947b50",5032:"2e4fb116",5064:"25e3b889",5065:"9616e9d3",5144:"d3f7054e",5191:"ce5dfec4",5234:"89a848e0",5250:"5294dc23",5307:"28ab7643",5384:"564ae2e4",5399:"501fc322",5498:"298984c7",5548:"498b312d",5552:"84bdc597",5727:"93a1388d",5764:"ce40cc92",5807:"0b926b80",5936:"5bba7f2f",5944:"367b9c88",6023:"843ea4a1",6029:"6fe4c192",6109:"989fd1c9",6161:"d7e3ea42",6519:"3ce478ef",6530:"3c295a95",6573:"8e064684",6593:"58eda50f",6729:"12986d4b",6773:"afd27a30",7087:"0acb474a",7146:"1af0c62e",7195:"4c7ea7d9",7218:"dd3d2035",7279:"af201b60",7302:"3117acc5",7345:"1509cf8c",7353:"02afd00b",7367:"d389861e",7721:"c985db03",7733:"dbb66cbc",7771:"bfad7500",7842:"d5a94411",7908:"24611263",7923:"49b42ed0",8135:"3255c5ba",8231:"89b65f56",8263:"d9eaafab",8311:"69ab488d",8324:"5ac013ff",8348:"2fbb3b7e",8539:"b4cf045b",8588:"0bce58e7",8633:"1b8bb39e",8717:"462ca5c9",8755:"1525c38d",8757:"5cde95c7",8775:"19631a7b",8936:"b9a73775",8989:"ddf83737",9034:"7ff08734",9053:"1140bf2b",9251:"52df4857",9263:"affcdb7b",9388:"e48bb229",9515:"468a8527",9559:"3db56cb0",9576:"60adaa84",9599:"1f04dd1f",9634:"71192f72",9831:"f659ce60",9844:"c3062a6b",9873:"ee97567f"}[e]+".js",S.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),S.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="@next-bricks/ai-portal:",S.l=(r,a,n,o)=>{if(e[r])e[r].push(a);else{var l,i;if(void 0!==n)for(var c=document.getElementsByTagName("script"),s=0;s<c.length;s++){var d=c[s];if(d.getAttribute("src")==r||d.getAttribute("data-webpack")==t+n){l=d;break}}l||(i=!0,(l=document.createElement("script")).charset="utf-8",l.timeout=120,S.nc&&l.setAttribute("nonce",S.nc),l.setAttribute("data-webpack",t+n),l.src=r),e[r]=[a];var f=(t,a)=>{l.onerror=l.onload=null,clearTimeout(h);var n=e[r];if(delete e[r],l.parentNode&&l.parentNode.removeChild(l),n&&n.forEach((e=>e(a))),t)return t(a)},h=setTimeout(f.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=f.bind(null,l.onerror),l.onload=f.bind(null,l.onload),i&&document.head.appendChild(l)}},S.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},S.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{S.S={};var e={},t={};S.I=(r,a)=>{a||(a=[]);var n=t[r];if(n||(n=t[r]={}),!(a.indexOf(n)>=0)){if(a.push(n),e[r])return e[r];S.o(S.S,r)||(S.S[r]={});var o=S.S[r],l="@next-bricks/ai-portal",i=(e,t,r,a)=>{var n=o[e]=o[e]||{},i=n[t];(!i||!i.loaded&&(!a!=!i.eager?a:l>i.from))&&(n[t]={get:r,from:l,eager:!!a})},c=[];return"default"===r&&(i("@babel/parser","7.27.2",(()=>S.e(6773).then((()=>()=>S(46773))))),i("@easyops-cn/brick-next-pipes","0.7.6",(()=>Promise.all([S.e(4306),S.e(1030),S.e(1302),S.e(5310)]).then((()=>()=>S(34306))))),i("@next-core/cook","2.5.12",(()=>Promise.all([S.e(1122),S.e(580)]).then((()=>()=>S(61122))))),i("@next-core/element","1.2.19",(()=>S.e(1045).then((()=>()=>S(21045))))),i("@next-core/http","1.2.14",(()=>S.e(8989).then((()=>()=>S(48989))))),i("@next-core/i18n","1.0.86",(()=>Promise.all([S.e(2616),S.e(7019),S.e(671),S.e(5552)]).then((()=>()=>S(75552))))),i("@next-core/inject","1.0.61",(()=>Promise.all([S.e(1030),S.e(9933),S.e(2277)]).then((()=>()=>S(72277))))),i("@next-core/loader","1.6.17",(()=>S.e(5399).then((()=>()=>S(35399))))),i("@next-core/pipes","2.0.36",(()=>Promise.all([S.e(1919),S.e(6519)]).then((()=>()=>S(76519))))),i("@next-core/react-element","1.0.38",(()=>Promise.all([S.e(8769),S.e(870),S.e(9435),S.e(114)]).then((()=>()=>S(20114))))),i("@next-core/react-runtime","1.7.39",(()=>Promise.all([S.e(8769),S.e(981),S.e(1030),S.e(348),S.e(4837)]).then((()=>()=>S(64837))))),i("@next-core/runtime","1.71.0",(()=>Promise.all([S.e(948),S.e(2616),S.e(1030),S.e(7019),S.e(1302),S.e(2919),S.e(1321),S.e(9655),S.e(5651)]).then((()=>()=>S(30948))))),i("@next-core/supply","2.3.9",(()=>Promise.all([S.e(1030),S.e(1302),S.e(9933),S.e(9559)]).then((()=>()=>S(49559))))),i("@next-core/theme","1.6.1",(()=>Promise.all([S.e(1889),S.e(2052)]).then((()=>()=>S(51889))))),i("@next-core/utils/general","1.8.7",(()=>S.e(871).then((()=>()=>S(40871))))),i("@next-core/utils/storyboard","1.8.7",(()=>Promise.all([S.e(1030),S.e(7019),S.e(1321),S.e(7146)]).then((()=>()=>S(97146))))),i("history","4.10.1",(()=>S.e(3003).then((()=>()=>S(65384))))),i("i18next-browser-languagedetector","7.2.2",(()=>S.e(726).then((()=>()=>S(50726))))),i("i18next","22.5.1",(()=>S.e(843).then((()=>()=>S(20843))))),i("js-yaml","3.14.1",(()=>S.e(9515).then((()=>()=>S(19515))))),i("lodash","4.17.21",(()=>S.e(5250).then((()=>()=>S(45250))))),i("moment/locale/zh-cn.js","2.30.1",(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(61329))))),i("moment","2.30.1",(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(99420))))),i("react-dom","0.0.0-experimental-ee8509801-20230117",(()=>Promise.all([S.e(3144),S.e(8769)]).then((()=>()=>S(43144))))),i("react","0.0.0-experimental-ee8509801-20230117",(()=>S.e(4041).then((()=>()=>S(14041)))))),e[r]=c.length?Promise.all(c).then((()=>e[r]=1)):1}}})(),(()=>{var e;S.g.importScripts&&(e=S.g.location+"");var t=S.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var a=r.length-1;a>-1&&(!e||!/^http(s?):/.test(e));)e=r[a--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),S.p=e})(),r=e=>{var t=e=>e.split(".").map((e=>+e==e?+e:e)),r=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),a=r[1]?t(r[1]):[];return r[2]&&(a.length++,a.push.apply(a,t(r[2]))),r[3]&&(a.push([]),a.push.apply(a,t(r[3]))),a},a=(e,t)=>{e=r(e),t=r(t);for(var a=0;;){if(a>=e.length)return a<t.length&&"u"!=(typeof t[a])[0];var n=e[a],o=(typeof n)[0];if(a>=t.length)return"u"==o;var l=t[a],i=(typeof l)[0];if(o!=i)return"o"==o&&"n"==i||"s"==i||"u"==o;if("o"!=o&&"u"!=o&&n!=l)return n<l;a++}},n=e=>{var t=e[0],r="";if(1===e.length)return"*";if(t+.5){r+=0==t?">=":-1==t?"<":1==t?"^":2==t?"~":t>0?"=":"!=";for(var a=1,o=1;o<e.length;o++)a--,r+="u"==(typeof(i=e[o]))[0]?"-":(a>0?".":"")+(a=2,i);return r}var l=[];for(o=1;o<e.length;o++){var i=e[o];l.push(0===i?"not("+c()+")":1===i?"("+c()+" || "+c()+")":2===i?l.pop()+" "+l.pop():n(i))}return c();function c(){return l.pop().replace(/^\((.+)\)$/,"$1")}},o=(e,t)=>{if(0 in e){t=r(t);var a=e[0],n=a<0;n&&(a=-a-1);for(var l=0,i=1,c=!0;;i++,l++){var s,d,f=i<e.length?(typeof e[i])[0]:"";if(l>=t.length||"o"==(d=(typeof(s=t[l]))[0]))return!c||("u"==f?i>a&&!n:""==f!=n);if("u"==d){if(!c||"u"!=f)return!1}else if(c)if(f==d)if(i<=a){if(s!=e[i])return!1}else{if(n?s>e[i]:s<e[i])return!1;s!=e[i]&&(c=!1)}else if("s"!=f&&"n"!=f){if(n||i<=a)return!1;c=!1,i--}else{if(i<=a||d<f!=n)return!1;c=!1}else"s"!=f&&"n"!=f&&(c=!1,i--)}}var h=[],u=h.pop.bind(h);for(l=1;l<e.length;l++){var m=e[l];h.push(1==m?u()|u():2==m?u()&u():m?o(m,t):!u())}return!!u()},l=(e,t)=>e&&S.o(e,t),i=e=>(e.loaded=1,e.get()),c=e=>Object.keys(e).reduce(((t,r)=>(e[r].eager&&(t[r]=e[r]),t)),{}),s=(e,t,r,n)=>{var l=n?c(e[t]):e[t];return(t=Object.keys(l).reduce(((e,t)=>!o(r,t)||e&&!a(e,t)?e:t),0))&&l[t]},d=(e,t,r)=>{var n=r?c(e[t]):e[t];return Object.keys(n).reduce(((e,t)=>!e||!n[e].loaded&&a(e,t)?t:e),0)},f=(e,t,r,a)=>"Unsatisfied version "+r+" from "+(r&&e[t][r].from)+" of shared singleton module "+t+" (required "+n(a)+")",h=(e,t,r,a,o)=>{var l=e[r];return"No satisfying version ("+n(a)+")"+(o?" for eager consumption":"")+" of shared module "+r+" found in shared scope "+t+".\nAvailable versions: "+Object.keys(l).map((e=>e+" from "+l[e].from)).join(", ")},u=e=>{throw new Error(e)},m=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},p=(e,t,r)=>r?r():((e,t)=>u("Shared module "+t+" doesn't exist in shared scope "+e))(e,t),v=(b=e=>function(t,r,a,n,o){var l=S.I(t);return l&&l.then&&!a?l.then(e.bind(e,t,S.S[t],r,!1,n,o)):e(t,S.S[t],r,a,n,o)})(((e,t,r,a,n,o)=>{if(!l(t,r))return p(e,r,o);var c=s(t,r,n,a);return c?i(c):o?o():void u(h(t,e,r,n,a))})),g=b(((e,t,r,a,n,c)=>{if(!l(t,r))return p(e,r,c);var s=d(t,r,a);return o(n,s)||m(f(t,r,s,n)),i(t[r][s])})),P={},x={41030:()=>g("default","lodash",!1,[1,4,17,21],(()=>S.e(5250).then((()=>()=>S(45250))))),21302:()=>g("default","moment",!1,[1,2,30,1],(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(99420))))),55310:()=>g("default","js-yaml",!1,[0],(()=>S.e(9515).then((()=>()=>S(19515))))),40580:()=>g("default","@babel/parser",!1,[0],(()=>S.e(6773).then((()=>()=>S(46773))))),52616:()=>g("default","@next-core/i18n",!1,[1,1,0,86],(()=>Promise.all([S.e(7019),S.e(671),S.e(3171)]).then((()=>()=>S(75552))))),77019:()=>g("default","@next-core/utils/general",!1,[1,1,8,7],(()=>S.e(871).then((()=>()=>S(40871))))),848:()=>g("default","i18next-browser-languagedetector",!1,[0],(()=>S.e(726).then((()=>()=>S(50726))))),75630:()=>g("default","i18next",!1,[0],(()=>S.e(843).then((()=>()=>S(20843))))),59933:()=>g("default","@next-core/pipes",!1,[0],(()=>Promise.all([S.e(1919),S.e(6519)]).then((()=>()=>S(76519))))),61919:()=>g("default","@easyops-cn/brick-next-pipes",!1,[2,0,7,3],(()=>Promise.all([S.e(4306),S.e(1030),S.e(1302),S.e(5310)]).then((()=>()=>S(34306))))),18769:()=>v("default","react",!1,[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>S.e(4041).then((()=>()=>S(14041))))),90870:()=>v("default","@next-core/element",!1,[1,1,2,19],(()=>S.e(1045).then((()=>()=>S(21045))))),59435:()=>v("default","react-dom",!1,[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>S.e(3144).then((()=>()=>S(43144))))),30981:()=>v("default","@next-core/react-element",!1,[1,1,0,38],(()=>Promise.all([S.e(870),S.e(9435),S.e(7733)]).then((()=>()=>S(20114))))),30348:()=>g("default","@next-core/runtime",!1,[1,1,71,0],(()=>Promise.all([S.e(948),S.e(2616),S.e(1030),S.e(7019),S.e(1302),S.e(2919),S.e(1321),S.e(9655),S.e(5651)]).then((()=>()=>S(30948))))),22919:()=>g("default","@next-core/http",!1,[1,1,2,14],(()=>S.e(8989).then((()=>()=>S(48989))))),71321:()=>g("default","@next-core/cook",!1,[0],(()=>Promise.all([S.e(1122),S.e(580)]).then((()=>()=>S(61122))))),69655:()=>g("default","@next-core/utils/storyboard",!1,[1,1,8,7],(()=>S.e(4765).then((()=>()=>S(97146))))),11732:()=>g("default","history",!1,[0],(()=>S.e(3003).then((()=>()=>S(65384))))),26036:()=>g("default","moment/locale/zh-cn.js",!1,[1,2,30,1],(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(61329))))),29283:()=>g("default","@next-core/inject",!1,[0],(()=>Promise.all([S.e(9933),S.e(4658)]).then((()=>()=>S(72277))))),45599:()=>g("default","@next-core/loader",!1,[0],(()=>S.e(5399).then((()=>()=>S(35399))))),94167:()=>g("default","@next-core/supply",!1,[0],(()=>Promise.all([S.e(9933),S.e(1940)]).then((()=>()=>S(49559))))),34419:()=>g("default","@next-core/theme",!1,[1,1,6,1],(()=>S.e(1889).then((()=>()=>S(51889))))),60709:()=>v("default","@next-core/react-runtime",!1,[1,1,7,39],(()=>S.e(9599).then((()=>()=>S(64837)))))},y={348:[30348],580:[40580],671:[848,75630],870:[90870],981:[30981],1030:[41030],1080:[60709],1302:[21302],1321:[71321],1919:[61919],2616:[52616],2919:[22919],4419:[34419],5310:[55310],5651:[11732,26036,29283,45599,94167],7019:[77019],8769:[18769],9435:[59435],9655:[69655],9933:[59933]},w={},S.f.consumes=(e,t)=>{S.o(y,e)&&y[e].forEach((e=>{if(S.o(P,e))return t.push(P[e]);if(!w[e]){var r=t=>{P[e]=0,S.m[e]=r=>{delete S.c[e],r.exports=t()}};w[e]=!0;var a=t=>{delete P[e],S.m[e]=r=>{throw delete S.c[e],t}};try{var n=x[e]();n.then?t.push(P[e]=n.then(r).catch(a)):r(n)}catch(e){a(e)}}}))},(()=>{S.b=document.baseURI||self.location.href;var e={2641:0};S.f.j=(t,r)=>{var a=S.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(1(030|302|321|919)|5(310|651|80)|87(0|69)|9(435|655|81|933)|(29|44|70)19|2616|348|671)$/.test(t))e[t]=0;else{var n=new Promise(((r,n)=>a=e[t]=[r,n]));r.push(a[2]=n);var o=S.p+S.u(t),l=new Error;S.l(o,(r=>{if(S.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var n=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;l.message="Loading chunk "+t+" failed.\n("+n+": "+o+")",l.name="ChunkLoadError",l.type=n,l.request=o,a[1](l)}}),"chunk-"+t,t)}};var t=(t,r)=>{var a,n,[o,l,i]=r,c=0;if(o.some((t=>0!==e[t]))){for(a in l)S.o(l,a)&&(S.m[a]=l[a]);i&&i(S)}for(t&&t(r);c<o.length;c++)n=o[c],S.o(e,n)&&e[n]&&e[n][0](),e[n]=0},r=globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),S.nc=void 0;var E=S(90837);window["bricks/ai-portal"]=E})();
|
|
2
|
-
//# sourceMappingURL=index.fe56261d.js.map
|