@next-bricks/ai-portal 0.65.7 → 0.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ "use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[4864],{9442:(e,t,a)=>{a.d(t,{A:()=>h});var n=a(72591),l=a.n(n),o=a(1740),r=a.n(o),s=a(88128),i=a.n(s),c=a(30855),d=a.n(c),p=a(93051),m=a.n(p),u=a(73656),g=a.n(u),b=a(86e3),f={};f.styleTagTransform=g(),f.setAttributes=d(),f.insert=i().bind(null,"head"),f.domAPI=r(),f.insertStyleElement=m(),l()(b.A,f);const h=b.A&&b.A.locals?b.A.locals:void 0},13330:(e,t,a)=>{a.d(t,{p:()=>r});var n=a(18769),l=a(50045),o=a(40177);function r(e,t,a,r,s){const{showHumanActions:i,skipActivitySubTasks:c,rootTaskId:d,flowMap:p,activityMap:m,expandAskUser:u}=s||{};return(0,n.useMemo)((()=>{if(!e)return{messages:[],lastDetail:null,planMap:null,activeAskUser:null};const{chunks:n,jobMap:s,planMap:g,activeAskUser:b}=(0,l.a)(a,r,{flowMap:p,activityMap:m,skipActivitySubTasks:c,enablePlan:!0,rootTaskId:d,expandAskUser:u}),f=[];let h={role:"assistant",chunks:[]},v=null;for(const e of n)if("job"===e.type){var k;const t=e.job;var E;t.toolCall&&!t.ignoreDetails&&(v={type:"job",id:t.id}),"completed"===t.state&&null!==(k=t.messages)&&void 0!==k&&k.length&&t.messages.every((e=>"user"===e.role))?(h.chunks.length>0&&f.push(h),f.push({role:"user",content:t.messages.flatMap((e=>e.parts.map((e=>"text"===e.type?e.text:"")))).join(""),cmd:t.cmd,mentionedAiEmployeeId:t.mentionedAiEmployeeId,fromSkippedSubTask:e.fromSkippedSubTask,files:null===(E=t.messages)||void 0===E?void 0:E.filter((e=>"user"===e.role)).flatMap((e=>e.parts)).filter((e=>"file"===e.type)).map((e=>e.file))}),h={role:"assistant",chunks:[]}):h.chunks.push(e),t.humanAction&&(h.chunks.length>0&&f.push(h),i&&f.push({role:"user",content:t.humanAction}),h={role:"assistant",chunks:[]})}else h.chunks.push(e),"error"!==e.type&&"plan"!==e.type&&"askUser"!==e.type&&(v={type:e.type,id:e.task.id});let x=f.length>0&&!o.QB.includes(t);if(x&&"assistant"===h.role&&0===h.chunks.length){const e=f[f.length-1];"user"===e.role&&e.fromSkippedSubTask&&(x=!1)}return(h.chunks.length>0||x)&&f.push(h),{messages:f,jobMap:s,planMap:g,lastDetail:v,activeAskUser:b}}),[e,t,a,p,m,r,i,c,d,u])}},17994:(e,t,a)=>{a.d(t,{A:()=>s});var n=a(36758),l=a.n(n),o=a(40935),r=a.n(o)()(l());r.push([e.id,".hil--e3zZFYQc{background:rgba(255,255,255,0.5);border-radius:8px;border:1px solid #ffffff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:13px 16px;margin-top:12px}.content--tmVj790o,\n.actions--wbNFKF3J{display:flex;align-items:center}.content--tmVj790o{gap:10px;flex-wrap:wrap}.actions--wbNFKF3J{justify-content:flex-end;margin-top:-3px}",""]),r.locals={hil:"hil--e3zZFYQc",content:"content--tmVj790o",actions:"actions--wbNFKF3J"};const s=r},26598:(e,t,a)=>{a.d(t,{A:()=>s});var n=a(36758),l=a.n(n),o=a(40935),r=a.n(o)()(l());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 s=r},27116:(e,t,a)=>{a.d(t,{A:()=>s});var n=a(36758),l=a.n(n),o=a(40935),r=a.n(o)()(l());r.push([e.id,".tag--DYMWTxcu{display:flex;gap:10px;align-items:center;padding:0 12px;height:26px;width:-moz-fit-content;width:fit-content;background:rgba(0,0,0,0.04);border:1px solid rgba(0,0,0,0.1);border-radius:13px;color:rgba(0,0,0,0.65);cursor:pointer}.tag--DYMWTxcu:hover{background:rgba(0,0,0,0.06)}",""]),r.locals={tag:"tag--DYMWTxcu"};const s=r},30621:(e,t,a)=>{a.d(t,{R:()=>A});var n=a(18769),l=a.n(n),o=a(72591),r=a.n(o),s=a(1740),i=a.n(s),c=a(88128),d=a.n(c),p=a(30855),m=a.n(p),u=a(93051),g=a.n(u),b=a(73656),f=a.n(b),h=a(26598),v={};v.styleTagTransform=f(),v.setAttributes=m(),v.insert=d().bind(null,"head"),v.domAPI=i(),v.insertStyleElement=g(),r()(h.A,v);const k=h.A&&h.A.locals?h.A.locals:void 0;var E=a(77388),x=a(47760);function A(e){let{content:t,cmd:a,mentionedAiEmployeeId:n,files:o}=e;return l().createElement(l().Fragment,null,l().createElement("div",{className:k.user},(a||n)&&l().createElement(E._,{cmd:a,mentionedAiEmployeeId:n}),t),null!=o&&o.length?l().createElement(x.$,{files:o,ui:"chat"}):null)}},30925:(e,t,a)=>{a.d(t,{G:()=>xe});var n=a(18769),l=a.n(n),o=a(72591),r=a.n(o),s=a(1740),i=a.n(s),c=a(88128),d=a.n(c),p=a(30855),m=a.n(p),u=a(93051),g=a.n(u),b=a(73656),f=a.n(b),h=a(35754),v={};v.styleTagTransform=f(),v.setAttributes=m(),v.insert=d().bind(null,"head"),v.domAPI=i(),v.insertStyleElement=g(),r()(h.A,v);const k=h.A&&h.A.locals?h.A.locals:void 0;var E=a(40177),x=a(30672),A=a(35430),y=a(89575),w=a(53373),N=a.n(w),I=a(41030),T=a(50094),S={};S.styleTagTransform=f(),S.setAttributes=m(),S.insert=d().bind(null,"head"),S.domAPI=i(),S.insertStyleElement=g(),r()(T.A,S);const _=T.A&&T.A.locals?T.A.locals:void 0;var j=a(36903),C=a(29386),W=a(42854),L=a(86976),z=a(65438),V={};V.styleTagTransform=f(),V.setAttributes=m(),V.insert=d().bind(null,"head"),V.domAPI=i(),V.insertStyleElement=g(),r()(z.A,V);const H=z.A&&z.A.locals?z.A.locals:void 0;function M(e){let{job:t}=e;const[a,o]=(0,n.useState)("medium"),r=(0,n.useCallback)((e=>{o(e)}),[]);return l().createElement("div",{className:N()(H.view,{[H.large]:"large"===a})},l().createElement(L.y,{job:t,onSizeChange:r}))}var R=a(76720),F=a(51069);function q(e,t){switch(e){case"completed":return{className:_.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:_.working,icon:{lib:"antd",theme:"outlined",icon:"loading-3-quarters",spinning:!0}};case"input-required":return{className:_["input-required"],icon:{lib:"fa",prefix:"far",icon:"circle-user"}};case"failed":return{className:_.failed,icon:{lib:"fa",prefix:"fas",icon:"xmark"}};case"canceled":case"terminated":return{className:_.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"}}}}var O=a(47760);function G(e){var t,a;let{job:o,isSubTask:r}=e;const s=o.toolCall,i=(null==s||null===(t=s.annotations)||void 0===t?void 0:t.title)||(null==s?void 0:s.name),c=null==s?void 0:s.name,d=!!s,{conversationState:p,setActiveDetail:m,setSubActiveDetail:u}=(0,n.useContext)(R.j),{lastDetail:g,setUserClosedAside:b}=(0,n.useContext)(F.W),{className:f,icon:h}=(0,n.useMemo)((()=>q(o.state,p)),[o.state,p]),[v,k,A]=(0,n.useMemo)((()=>{var e;const t=[],a=[],n=[];let l="llm_answer"===c;return null===(e=o.messages)||void 0===e||e.forEach((e=>{if("tool"===e.role)for(const s of e.parts){var o;if("data"===s.type)switch(null===(o=s.data)||void 0===o?void 0:o.type){case"markdown":t.push(s.data.content);break;case"cmdb_instance_detail":var r;a.push(s.data),l||(l=Object.keys("object"===(null===(r=s.data)||void 0===r||null===(r=r.outputSchema)||void 0===r?void 0:r.type)?s.data.outputSchema.properties:s.data.detail).length>6)}else"file"===s.type&&n.push(s.file)}})),[t.join(""),a,n]}),[o.messages,c]),[w,T]=(0,n.useState)(!1),S=d||!!o.instruction;return l().createElement("div",{className:N()({[_.collapsed]:w})},S&&l().createElement("div",{className:N()(_.heading,f),onClick:()=>T((e=>!e))},l().createElement("div",{className:_.icon},l().createElement(x.Bj,h)),l().createElement("div",{className:_.title},o.instruction||i),l().createElement(x.Bj,(0,y.A)({className:_.caret},E.ae))),l().createElement("div",{className:_.body},d&&l().createElement("div",{className:_.tool,onClick:()=>{const e={type:"job",id:o.id};(r?u:m)((t=>(0,I.isEqual)(t,e)?t:e)),(0,I.isEqual)(e,g)&&b(!1)}},l().createElement(x.Bj,{lib:"lucide",icon:"square-chevron-right"}),i),l().createElement("div",{className:_.main},null===(a=o.messages)||void 0===a?void 0:a.map(((e,t)=>{var a;return"tool"===e.role?null:l().createElement("div",{key:t,className:N()(_.message,j.A.markdown)},null===(a=e.parts)||void 0===a?void 0:a.map(((e,t)=>l().createElement(l().Fragment,{key:t},"text"===e.type&&l().createElement(C.w,{className:N()(_["message-part"],j.A["markdown-wrapper"]),content:e.text})))))}))),l().createElement("div",{className:_.content},v&&l().createElement("div",{className:N()(_.markdown,j.A.markdown)},l().createElement(C.w,{className:j.A["markdown-wrapper"],content:v})),k.map(((e,t)=>l().createElement("div",{key:t,className:_.box},l().createElement(W.H,e)))),o.generatedView?l().createElement(M,{job:o}):null,A.length>0&&l().createElement(O.$,{files:A}))))}var K=a(48952);const P=a.p+"images/d5f57ce1.png";function Y(e){let{job:t}=e;const a=(0,n.useMemo)((()=>{var e;return null===(e=t.messages)||void 0===e?void 0:e.filter((e=>"assistant"===e.role))}),[t.messages]),o=!(null!=a&&a.length),[r,s]=(0,n.useState)(!0);return o?l().createElement("div",{className:_.thinking},l().createElement("img",{src:P,width:16,height:16}),l().createElement("span",{className:j.A["shine-text"]},(0,K.t)(K.K.THINKING))):l().createElement("div",{className:N()(_.reasoning,{[_.collapsed]:r})},l().createElement("div",{className:_["reasoning-label"],onClick:()=>s((e=>!e))},l().createElement("span",{className:N()({[j.A["shine-text"]]:!E.Z5.includes(t.state)})},(0,K.t)(K.K.SHOW_THINKING)),l().createElement(x.Bj,(0,y.A)({className:_.chevron},E.ae))),l().createElement("div",{className:_["reasoning-content"]},null==a?void 0:a.map(((e,t)=>{var a;return l().createElement("div",{key:t,className:N()(_.message,j.A.markdown)},null===(a=e.parts)||void 0===a?void 0:a.map(((e,t)=>l().createElement(l().Fragment,{key:t},"text"===e.type&&l().createElement(C.w,{className:N()(_["message-part"],j.A["markdown-wrapper"]),content:e.text})))))}))))}var D=a(67177),J=a(79948),B={};B.styleTagTransform=f(),B.setAttributes=m(),B.insert=d().bind(null,"head"),B.domAPI=i(),B.insertStyleElement=g(),r()(J.A,B);const U=J.A&&J.A.locals?J.A.locals:void 0;let X=function(e){return e.ACTIVITY_PLAN="ACTIVITY_PLAN",e.SHOW_PROCESS="SHOW_PROCESS",e.STARTING_SERVICE_FLOW="STARTING_SERVICE_FLOW",e}({});const Q="bricks/ai-portal/ActivityPlan",Z={en:{[X.ACTIVITY_PLAN]:"Activity plan",[X.SHOW_PROCESS]:"Show process",[X.STARTING_SERVICE_FLOW]:"Starting serviceflow: {{ name }}"},zh:{[X.ACTIVITY_PLAN]:"活动计划",[X.SHOW_PROCESS]:"显示过程",[X.STARTING_SERVICE_FLOW]:"发起业务流:{{ name }}"}},$=D.i18n.getFixedT(null,Q);var ee=a(13330),te=a(27116),ae={};ae.styleTagTransform=f(),ae.setAttributes=m(),ae.insert=d().bind(null,"head"),ae.domAPI=i(),ae.insertStyleElement=g(),r()(te.A,ae);const ne=te.A&&te.A.locals?te.A.locals:void 0;function le(e){let{job:t,task:a}=e;const{setActiveDetail:o}=(0,n.useContext)(R.j);return E.QB.includes(null==a?void 0:a.state)?l().createElement("div",{className:ne.tag,onClick:()=>{if(a){const e={type:"task",id:a.id};o((t=>(0,I.isEqual)(t,e)?t:e))}}},l().createElement(x.Bj,{lib:"antd",icon:"check-circle"}),t.summary):null}function oe(e){let{state:t,filled:a}=e;switch(t){case"input-required":return l().createElement(x.Bj,{lib:"antd",theme:a?"filled":"outlined",icon:"exclamation-circle",className:N()(U.icon,U.paused)});case"completed":return a?l().createElement("span",{className:N()(U.icon,U.stacked,U.completed,{[U.filled]:a})},l().createElement(x.Bj,{lib:"lucide",icon:"check",strokeWidth:5})):l().createElement(x.Bj,{lib:"antd",icon:"check-circle",className:N()(U.icon,U.completed)});case"working":return l().createElement("span",{className:N()(U.icon,U.stacked,U.working,{[U.filled]:a})},l().createElement(x.Bj,{lib:"lucide",icon:"loader-2",spinning:!0,strokeWidth:a?5:3}));case"failed":return l().createElement(x.Bj,{lib:"antd",theme:a?"filled":"outlined",icon:"close-circle",className:N()(U.icon,U.failed)});case"terminated":case"canceled":return l().createElement(x.Bj,{lib:"antd",theme:a?"filled":"outlined",icon:"stop",className:U.icon});default:return l().createElement(x.Bj,{lib:"antd",theme:a?"filled":"outlined",icon:"clock-circle",className:U.icon})}}(0,D.initializeI18n)(Q,Z);const re=(0,n.createContext)({});function se(e){let{task:t}=e;const[a,o]=(0,n.useState)(!0),{flowMap:r,setActiveDetail:s}=(0,n.useContext)(R.j),{toggleAutoScroll:i}=(0,n.useContext)(F.W),c=null==r?void 0:r.get(t.id),d=(0,n.useRef)(null),p=(0,n.useRef)(new Map);return l().createElement(re.Provider,{value:{collapsed:a,jobLevelMap:p.current}},l().createElement("div",{className:N()(U.plan,{[U.collapsed]:a})},l().createElement("div",{className:U.heading},c?l().createElement("span",{className:U["flow-title"],onClick:()=>{const e={type:"flow",id:t.id};s((t=>(0,I.isEqual)(t,e)?t:e))}},l().createElement(x.Bj,{lib:"lucide",icon:"route"}),$(X.STARTING_SERVICE_FLOW,{name:c.name})):l().createElement("span",null,$(X.ACTIVITY_PLAN)),l().createElement("div",{className:U.toggle,onClick:()=>{o((e=>!e)),i(!1),d.current&&clearTimeout(d.current),d.current=setTimeout((()=>{i(!0)}),100)}},$(X.SHOW_PROCESS),l().createElement(x.Bj,(0,y.A)({className:U.chevron},E.ae)))),l().createElement(ie,{plan:t.plan,level:0})))}function ie(e){let{plan:t,level:a}=e;return l().createElement("ul",{className:U.tree},t.map(((e,t,n)=>l().createElement(ce,{key:t,step:e,level:a,isLast:t===n.length-1}))))}function ce(e){let{step:t,level:a,isLast:o}=e;const r=0===a,{jobMap:s}=(0,n.useContext)(R.j),{collapsed:i,jobLevelMap:c}=(0,n.useContext)(re),{jobId:d}=t,p=d?null==s?void 0:s.get(d):void 0,m=d?null==c?void 0:c.get(d):void 0,u=void 0!==m&&m!==a;return(0,n.useEffect)((()=>{!u&&d&&(null==c||c.set(d,a))}),[u,a,d,c]),(0,n.useEffect)((()=>{u&&console.error(`Circular plan steps detected for job ID: ${d}`)}),[u,d]),u?l().createElement("li",null,l().createElement("div",{style:{color:"var(--color-error)"}},"Circular plan steps detected")):l().createElement("li",{className:r?U.root:void 0},!(o&&(i||!p))&&l().createElement("div",{className:U.line,style:{bottom:o?0:r?-12:-8}}),l().createElement("div",{className:U.node},l().createElement("div",{className:U.label},l().createElement(oe,{state:null==p?void 0:p.state,filled:r}),l().createElement("span",{className:U.name},t.name))),!i&&p?l().createElement(de,{stepJob:p,level:a}):null)}function de(e){let{stepJob:t,level:a}=e;const{tasks:o,errors:r,flowMap:s,activityMap:i}=(0,n.useContext)(R.j),c="subTask"===t.type?o.find((e=>e.parent===t.id)):void 0,d=(0,ee.p)(!!c,null==c?void 0:c.state,o,r,{flowMap:s,activityMap:i,rootTaskId:null==c?void 0:c.id}),p=(0,n.useMemo)((()=>c?d.messages:[{role:"assistant",chunks:[{type:"job",job:t}]}]),[t,c,d.messages]);return l().createElement("div",{className:U.details},p.map(((e,t)=>l().createElement("div",{className:U.message,key:t},"user"===e.role?l().createElement("div",{className:U.user},e.content):l().createElement(pe,{chunks:e.chunks,level:a})))))}function pe(e){let{chunks:t,level:a}=e;const o=(0,n.useMemo)((()=>{const e=[];for(const a of t)if("job"===a.type&&a.job.toolCall){const t=e[e.length-1];t&&"tools"===t.type?t.jobs.push(a.job):e.push({type:"tools",jobs:[a.job]})}else e.push(a);return e}),[t]);return l().createElement("div",{className:U.assistant},o.map(((e,t)=>l().createElement(me,{key:t,chunk:e,level:a}))))}function me(e){var t;let{chunk:a,level:o}=e;const{setActiveDetail:r}=(0,n.useContext)(R.j);return l().createElement("div",{className:U.chunk},"tools"===a.type?l().createElement("div",{className:U.tools},a.jobs.map((e=>{var t;return l().createElement("div",{key:e.id,className:U.tool,onClick:()=>{const t={type:"job",id:e.id};r((e=>(0,I.isEqual)(e,t)?e:t))}},l().createElement(oe,{state:e.state}),(null===(t=e.toolCall.annotations)||void 0===t?void 0:t.title)||e.toolCall.name)}))):"job"===a.type?null===(t=a.job.messages)||void 0===t?void 0:t.map(((e,t)=>l().createElement(n.Fragment,{key:t},e.parts.map(((e,t)=>"text"===e.type?l().createElement(C.w,{key:t,className:j.A["markdown-wrapper"],content:e.text}):null))))):"plan"===a.type?l().createElement(ue,{task:a.task,level:o+1}):"askUser"===a.type?l().createElement(le,{job:a.job,task:a.task}):null)}function ue(e){let{task:t,level:a}=e;const{flowMap:o,setActiveDetail:r}=(0,n.useContext)(R.j),s=null==o?void 0:o.get(t.id);return s?l().createElement("ul",{className:U.tree},l().createElement("li",null,l().createElement("div",{className:U.line,style:{top:34,bottom:0,left:20}}),l().createElement("div",{className:U.node},l().createElement("span",{className:U["flow-title"],onClick:()=>{const e={type:"flow",id:t.id};r((t=>(0,I.isEqual)(t,e)?t:e))}},l().createElement(oe,{state:t.state}),l().createElement(x.Bj,{lib:"lucide",icon:"route"}),$(X.STARTING_SERVICE_FLOW,{name:s.name}))),l().createElement("div",{style:{paddingLeft:34}},l().createElement(ie,{plan:t.plan,level:a})))):l().createElement(ie,{plan:t.plan,level:a})}function ge(e){let{chunk:t,isSubTask:a}=e;return"job"===t.type?"reasoning"===t.job.type?l().createElement(Y,{job:t.job}):l().createElement(G,{job:t.job,isSubTask:a}):"plan"===t.type?l().createElement(se,{task:t.task}):"askUser"===t.type?l().createElement(le,{job:t.job,task:t.task}):"error"===t.type?l().createElement("div",{className:_.error},t.error):l().createElement(be,{chunk:t,isSubTask:a})}function be(e){let{chunk:t,isSubTask:a}=e;const{conversationState:o,setActiveDetail:r,setSubActiveDetail:s}=(0,n.useContext)(R.j),{setUserClosedAside:i,lastDetail:c}=(0,n.useContext)(F.W),[d,p]=(0,n.useState)(!1),{type:m,task:u}=t,{className:g,icon:b}=(0,n.useMemo)((()=>q("flow"===t.type?"completed":u.state,o)),[t.type,o,u.state]);return l().createElement("div",{className:N()({[_.collapsed]:d})},l().createElement("div",{className:N()(_.heading,g),onClick:()=>p((e=>!e))},l().createElement("div",{className:_.icon},l().createElement(x.Bj,b)),l().createElement("div",{className:_.title},"flow"===m?(0,K.t)(K.K.INITIATING_SERVICE_FLOW,{name:t.flow.name}):(0,K.t)(K.K.STARTING_SERVICE_FLOW_ACTIVITY,{name:t.activity.name})),l().createElement(x.Bj,(0,y.A)({className:_.caret},E.ae))),l().createElement("div",{className:_.body},l().createElement("div",{className:_.tool,onClick:()=>{const e={type:t.type,id:t.task.id};(a?s:r)((t=>(0,I.isEqual)(t,e)?t:e)),(0,I.isEqual)(e,c)&&i(!1)}},l().createElement(x.Bj,{lib:"lucide",icon:"route"}),"flow"===m?(0,K.t)(K.K.INITIATING_SERVICE_FLOW,{name:t.flow.name}):(0,K.t)(K.K.STARTING_SERVICE_FLOW_ACTIVITY,{name:t.activity.name}))))}var fe=a(17994),he={};he.styleTagTransform=f(),he.setAttributes=m(),he.insert=d().bind(null,"head"),he.domAPI=i(),he.insertStyleElement=g(),r()(fe.A,he);const ve=fe.A&&fe.A.locals?fe.A.locals:void 0;function ke(e){let{job:t}=e;return l().createElement("div",{className:ve.hil},l().createElement("div",{className:ve.content},l().createElement(x.Bj,{lib:"antd",icon:"exclamation-circle"}),(0,K.t)(K.K.HIL_TIPS,{name:t.hil.username})),t.requestHumanAction&&l().createElement("div",{className:ve.actions},l().createElement(A.n,{action:t.requestHumanAction,ui:"chat"})))}const Ee={type:"error",error:"The conversation was marked as finished early due to an unexpected issue.\nPlease refresh the page or try again later."};function xe(e){let{chunks:t,scopeState:a,isLatest:o,isSubTask:r,finished:s,earlyFinished:i}=e;const[c,d]=(0,n.useMemo)((()=>{if(!t||0===t.length)return[o&&!E.Z5.includes(a),void 0];const e=t[t.length-1];let n;if(e)switch(e.type){case"flow":case"activity":n=e.task.jobs[e.task.jobs.length-1];break;case"job":n=e.job;break;default:return[!1,void 0]}if(!o||E.Z5.includes(a))return[!1,n];for(const e of t)switch(e.type){case"flow":case"activity":if(e.task.jobs.some((e=>"input-required"===e.state)))return[!1,n];break;case"job":if("input-required"===e.job.state)return[!1,n]}return n&&"working"===n.state&&n.toolCall?[!1,n]:[!0,n]}),[o,t,a]),p="reasoning"===(null==d?void 0:d.type);return l().createElement("div",{className:k.assistant},l().createElement(x.Bj,{lib:"easyops",category:"image",icon:"elevo-avatar-png",className:k.avatar}),l().createElement("div",{className:k.body},null==t?void 0:t.map(((e,t)=>l().createElement(ge,{key:t,chunk:e,isSubTask:r}))),c&&!s&&!p&&l().createElement("div",{className:k.texting}),o&&d&&!p&&!E.X4.includes(a)&&("working"===d.state||"input-required"===d.state)&&!d.humanAction&&(d.hil?l().createElement(ke,{job:d}):d.requestHumanAction&&l().createElement(A.n,{action:d.requestHumanAction,ui:"chat"})),i&&l().createElement(ge,{chunk:Ee})))}},32360:(e,t,a)=>{e.exports=a.p+"images/72c24398.png"},35754:(e,t,a)=>{a.d(t,{A:()=>s});var n=a(36758),l=a.n(n),o=a(40935),r=a.n(o)()(l());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{content:" ";animation:texting--Rpmsbpca 2s infinite;white-space:pre}.avatar--jaJhEiSV{font-size:32px}@keyframes texting--Rpmsbpca{0%{content:"\\00a0\\00a0\\00a0"}25%{content:".\\00a0\\00a0"}50%{content:"..\\00a0"}75%{content:"..."}100%{content:"\\00a0\\00a0\\00a0"}}',""]),r.locals={assistant:"assistant--CrlgPgYL",body:"body--sAIo2dhL",texting:"texting--Rpmsbpca",avatar:"avatar--jaJhEiSV"};const s=r},40563:(e,t,a)=>{a.d(t,{i:()=>o});var n=a(18769),l=a(99126);function o(e,t,a){const o=(0,n.useRef)(!1),r=(0,n.useRef)(!1),[s,i]=(0,n.useState)(!1);return(0,n.useEffect)((()=>{const e=t.current,n=a.current;if(r.current||!e||!n)return;const s=()=>{i(e.scrollTop+e.clientHeight+24<e.scrollHeight),o.current&&(r.current=e.scrollTop+e.clientHeight+6<e.scrollHeight)};let c;e.addEventListener("scroll",s);const d=new l.A((()=>{r.current||(o.current=!1,e.scrollTo({top:n.scrollHeight,behavior:"instant"}),clearTimeout(c),c=setTimeout((()=>{o.current=!0}),100))}));return d.observe(n),()=>{d.disconnect(),e.removeEventListener("scroll",s)}}),[e]),{scrollable:s,scrollToBottom:(0,n.useCallback)((()=>{const e=t.current;null==e||e.scrollTo({top:null==e?void 0:e.scrollHeight,behavior:"instant"})}),[t]),toggleAutoScroll:(0,n.useCallback)((e=>{r.current=!e}),[])}}},48952:(e,t,a)=>{a.d(t,{I:()=>r,K:()=>l,NS:()=>o,t:()=>s});var n=a(67177);let l=function(e){return e.SWITCH_TO_CANVAS="SWITCH_TO_CANVAS",e.INITIATING_SERVICE_FLOW="INITIATING_SERVICE_FLOW",e.STARTING_SERVICE_FLOW_ACTIVITY="STARTING_SERVICE_FLOW_ACTIVITY",e.HIL_TIPS="HIL_TIPS",e.THINKING="THINKING",e.SHOW_THINKING="SHOW_THINKING",e}({});const o="bricks/ai-portal/chat-stream",r={en:{SWITCH_TO_CANVAS:"Switch to canvas",INITIATING_SERVICE_FLOW:"Starting serviceflow: {{ name }}",STARTING_SERVICE_FLOW_ACTIVITY:"Starting serviceflow activity: {{ name }}",HIL_TIPS:"Triggered HIL rule, waiting for {{ name }} to process.",THINKING:"Thinking...",SHOW_THINKING:"Show thinking"},zh:{SWITCH_TO_CANVAS:"切换为画布",INITIATING_SERVICE_FLOW:"发起业务流:{{ name }}",STARTING_SERVICE_FLOW_ACTIVITY:"开始业务流活动:{{ name }}",HIL_TIPS:"触发 HIL 规则,等待 {{ name }} 处理。",THINKING:"思考中...",SHOW_THINKING:"显示思路"}},s=n.i18n.getFixedT(null,o)},50094:(e,t,a)=>{a.d(t,{A:()=>s});var n=a(36758),l=a.n(n),o=a(40935),r=a.n(o)()(l());r.push([e.id,'.heading--lj5kJ2fg{display:flex;align-items:center;padding:5px 8px;margin:0 0 12px;cursor:pointer}.main--P8894aNV{font-size:16px;line-height:26px}.caret--XqX6mjyf{opacity:0;transition:transform 0.2s ease-in-out}.heading--lj5kJ2fg:hover{background:rgba(184,187,205,0.15);border-radius:8px}.heading--lj5kJ2fg:hover .caret--XqX6mjyf{opacity:1}.icon--l8SzaFlV{display:flex;align-items:center;margin-right:12px}.title--FZPCnJbE{color:#262626;font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool--ugqSpeIM{background:#e2e5ef;border:1px solid #d4d4de;border-radius:13px;line-height:24px;padding:0 12px;width:-moz-fit-content;width:fit-content;font-size:12px;color:rgba(0,0,0,0.65);cursor:pointer;display:flex;align-items:center;gap:7px;margin-bottom:12px}.tool--ugqSpeIM eo-icon{font-size:14px;color:#8c8c8c}.body--p3Zt_jA4{margin-bottom:20px}.heading--lj5kJ2fg + .body--p3Zt_jA4{padding-left:26px}.collapsed--cGSG2zk_ .reasoning-content--CETqImvw,.collapsed--cGSG2zk_ .body--p3Zt_jA4{display:none}.collapsed--cGSG2zk_ .caret--XqX6mjyf{transform:rotate(180deg);opacity:1}.content--pBkkWQ5e{margin-top:14px;font-size:16px;line-height:26px}.content--pBkkWQ5e .markdown--Ky2J85cs [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--pBkkWQ5e:empty{display:none}.message--okEUzWzg:first-child > .message-part--kxjYnHz0:first-child > :first-child{margin-top:0}.icon--l8SzaFlV{color:#abaab7}.completed--JWq7E1Jw .icon--l8SzaFlV{color:#0fbe59}.failed--uk7jDD7K .icon--l8SzaFlV{color:#f24c25}.working--dZiN0y04 .icon--l8SzaFlV{color:var(--elevo-color-brand)}.input-required--JSuPr8br .icon--l8SzaFlV{color:#12aacc}.canceled--LyMjPJQd .icon--l8SzaFlV{color:#fcaa07}ai-portal\\.chat-stream[hide-mermaid] .content--pBkkWQ5e .markdown--Ky2J85cs .mermaid{display:none}.error--n_Of3DwP{color:var(--color-error);white-space:pre-wrap;word-break:break-word}.chevron--BWJTCqI0{transition:transform 0.2s ease-in-out;transform:rotate(180deg)}.collapsed--cGSG2zk_ .chevron--BWJTCqI0{transform:rotate(90deg)}.thinking--JqMsVbNQ{font-size:16px;display:flex;align-items:center;gap:6px;margin-bottom:16px;color:rgba(0,0,0,0.88);--shine-text-color:rgba(0,0,0,0.88);--shine-text-highlight-color:#dcdcdc}.reasoning--kXEFXvtf{margin-bottom:16px}.reasoning-label--nmRY4CIN{color:rgba(0,0,0,0.45);display:inline-flex;align-items:center;gap:4px;cursor:pointer;--shine-text-color:rgba(0,0,0,0.45);--shine-text-highlight-color:#dcdcdc}.reasoning-label--nmRY4CIN:hover{color:rgba(0,0,0,0.65)}.reasoning-content--CETqImvw{background:rgba(184,187,205,0.2);border-radius:12px;margin-top:4px;padding:8px 12px}',""]),r.locals={heading:"heading--lj5kJ2fg",main:"main--P8894aNV",caret:"caret--XqX6mjyf",icon:"icon--l8SzaFlV",title:"title--FZPCnJbE",tool:"tool--ugqSpeIM",body:"body--p3Zt_jA4",collapsed:"collapsed--cGSG2zk_","reasoning-content":"reasoning-content--CETqImvw",content:"content--pBkkWQ5e",markdown:"markdown--Ky2J85cs",message:"message--okEUzWzg","message-part":"message-part--kxjYnHz0",completed:"completed--JWq7E1Jw",failed:"failed--uk7jDD7K",working:"working--dZiN0y04","input-required":"input-required--JSuPr8br",canceled:"canceled--LyMjPJQd",error:"error--n_Of3DwP",chevron:"chevron--BWJTCqI0",thinking:"thinking--JqMsVbNQ",reasoning:"reasoning--kXEFXvtf","reasoning-label":"reasoning-label--nmRY4CIN"};const s=r},51069:(e,t,a)=>{a.d(t,{W:()=>n});const n=(0,a(18769).createContext)({lastDetail:null,planMap:null,setUserClosedAside:()=>{},toggleAutoScroll:()=>{}})},65438:(e,t,a)=>{a.d(t,{A:()=>s});var n=a(36758),l=a.n(n),o=a(40935),r=a.n(o)()(l());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 s=r},79948:(e,t,a)=>{a.d(t,{A:()=>s});var n=a(36758),l=a.n(n),o=a(40935),r=a.n(o)()(l());r.push([e.id,".plan--c_zq2EAr{margin-bottom:20px}.flow-title--GCYyySaN{display:flex;align-items:center;gap:8px;width:-moz-fit-content;width:fit-content;height:30px;padding:0 14px;background:rgba(255,255,255,0.5);border-radius:15px;border:1px solid rgba(0,0,0,0.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer}.flow-title--GCYyySaN:hover{background:rgba(255,255,255,0.8)}.heading--Vlp1n9bO{display:flex;align-items:center;gap:10px;font-weight:600;font-size:16px;line-height:22px;color:rgba(0,0,0,0.88)}.toggle--u1NrK3KR{display:inline-flex;align-items:center;gap:1px;padding:0 8px 0 10px;height:22px;background:rgba(255,255,255,0.65);border-radius:20px;border:1px solid #fff;font-size:12px;color:rgba(0,0,0,0.65);cursor:pointer}.toggle--u1NrK3KR:hover{color:rgba(0,0,0,0.85)}.chevron--AMetnOK4{transition:transform 0.2s ease-in-out;transform:rotate(180deg)}.collapsed--kVju3qL5 .chevron--AMetnOK4{transform:rotate(90deg)}.tree--Ywa_3ELe{list-style:none;padding:0;margin:0}.plan--c_zq2EAr > .tree--Ywa_3ELe{margin-top:14px}.tree--Ywa_3ELe > li{position:relative}.icon--nzWHFkLA{font-size:16px;color:var(--plan-state-icon-color);--plan-state-icon-color:#8c8c8c}.icon--nzWHFkLA.completed--YIu_zg8m{--plan-state-icon-color:#08bf33}.icon--nzWHFkLA.working--LHplm_T6{--plan-state-icon-color:var(--elevo-color-brand)}.icon--nzWHFkLA.paused--UmaW3_tY{--plan-state-icon-color:#faad14}.icon--nzWHFkLA.failed--UZ2q8xgi{--plan-state-icon-color:#f24c25}.icon--nzWHFkLA.stacked--hWM0IiDq{font-size:10px;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:8px;border:1.5px solid var(--plan-state-icon-color)}.icon--nzWHFkLA.filled--x2ca4XXo{color:#fff;background:var(--plan-state-icon-color)}.node--Isn2TQD5:not(:last-child){margin-bottom:8px}.tree--Ywa_3ELe > li:not(:last-child){margin-bottom:12px}.label--zJDwkSVW{display:flex;align-items:center;gap:4px;color:rgba(0,0,0,0.65);font-weight:500}.root--RbWVMncE > .node--Isn2TQD5 > .label--zJDwkSVW{color:#000}.name--U17yZgtX{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line--AcxfrMKU{position:absolute;top:24px;left:7px;border:1px dashed rgba(0,0,0,0.2);pointer-events:none}.message--LqSUA_ni{margin-bottom:8px;color:rgba(0,0,0,0.65);font-size:14px}.message--LqSUA_ni .user--NgJ9z6i_{background:rgba(0,0,0,0.04);border:1px solid rgba(0,0,0,0.1);padding:2px 12px}.details--VQA0cH78{padding-left:20px}.chunk--w0MMXtuz{margin-bottom:8px}.tools--_9YXNUSk{display:flex;gap:8px;flex-wrap:wrap}.tool--cKB7n0GU{display:flex;gap:10px;align-items:center;padding:0 12px;height:26px;width:-moz-fit-content;width:fit-content;background:rgba(0,0,0,0.04);border:1px solid rgba(0,0,0,0.1);border-radius:13px;color:rgba(0,0,0,0.65);cursor:pointer}.tool--cKB7n0GU:hover{background:rgba(0,0,0,0.06)}.node--Isn2TQD5 .flow-title--GCYyySaN{padding-left:12px;font-weight:500}",""]),r.locals={plan:"plan--c_zq2EAr","flow-title":"flow-title--GCYyySaN",heading:"heading--Vlp1n9bO",toggle:"toggle--u1NrK3KR",chevron:"chevron--AMetnOK4",collapsed:"collapsed--kVju3qL5",tree:"tree--Ywa_3ELe",icon:"icon--nzWHFkLA",completed:"completed--YIu_zg8m",working:"working--LHplm_T6",paused:"paused--UmaW3_tY",failed:"failed--UZ2q8xgi",stacked:"stacked--hWM0IiDq",filled:"filled--x2ca4XXo",node:"node--Isn2TQD5",label:"label--zJDwkSVW",root:"root--RbWVMncE",name:"name--U17yZgtX",line:"line--AcxfrMKU",message:"message--LqSUA_ni",user:"user--NgJ9z6i_",details:"details--VQA0cH78",chunk:"chunk--w0MMXtuz",tools:"tools--_9YXNUSk",tool:"tool--cKB7n0GU"};const s=r},86e3:(e,t,a)=>{a.d(t,{A:()=>s});var n=a(36758),l=a.n(n),o=a(40935),r=a.n(o)()(l());r.push([e.id,".scroll-down--st4A5sQ4{position:absolute;left:50%;bottom:136px;transform:translateX(-50%);width:32px;height:32px;font-size:12px}",""]),r.locals={"scroll-down":"scroll-down--st4A5sQ4"};const s=r}}]);
2
+ //# sourceMappingURL=4864.5b042afd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/4864.5b042afd.js","mappings":"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","sources":["webpack:///./src/chat-stream/ScrollDownButton.module.css?e644","webpack:///./src/chat-stream/useConversationStream.ts","webpack:///./src/chat-stream/HumanInTheLoop/HumanInTheLoop.module.css","webpack:///./src/chat-stream/UserMessage/UserMessage.module.css","webpack:///./src/shared/AskUserTag/AskUserTag.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/NodeChunk/NodeChunk.module.css?1c0e","webpack:///./src/chat-stream/NodeView/NodeView.module.css?3001","webpack:///./src/chat-stream/NodeView/NodeView.tsx","webpack:///./src/chat-stream/NodeChunk/getStateDisplay.ts","webpack:///./src/chat-stream/NodeChunk/NodeJob.tsx","webpack:///./src/chat-stream/NodeChunk/NodeReasoning.tsx","webpack:///./src/shared/ActivityPlan/ActivityPlan.module.css?3045","webpack:///./src/shared/ActivityPlan/i18n.ts","webpack:///./src/shared/AskUserTag/AskUserTag.module.css?8b6b","webpack:///./src/shared/AskUserTag/AskUserTag.tsx","webpack:///./src/shared/ActivityPlan/PlanStateIcon.tsx","webpack:///./src/shared/ActivityPlan/ActivityPlan.tsx","webpack:///./src/chat-stream/NodeChunk/NodeChunk.tsx","webpack:///./src/chat-stream/HumanInTheLoop/HumanInTheLoop.module.css?e637","webpack:///./src/chat-stream/HumanInTheLoop/HumanInTheLoop.tsx","webpack:///./src/chat-stream/AssistantMessage/AssistantMessage.tsx","webpack:///./src/chat-stream/AssistantMessage/AssistantMessage.module.css","webpack:///./src/chat-stream/useAutoScroll.ts","webpack:///./src/chat-stream/i18n.ts","webpack:///./src/chat-stream/NodeChunk/NodeChunk.module.css","webpack:///./src/chat-stream/StreamContext.ts","webpack:///./src/chat-stream/NodeView/NodeView.module.css","webpack:///./src/shared/ActivityPlan/ActivityPlan.module.css","webpack:///./src/chat-stream/ScrollDownButton.module.css"],"sourcesContent":["\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./ScrollDownButton.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]!./ScrollDownButton.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import { useMemo } from \"react\";\nimport type { ChatMessage, MessageFromAssistant } from \"./interfaces.js\";\nimport type {\n ActiveDetail,\n ActivityWithFlow,\n ConversationError,\n ConversationState,\n ServiceFlowRun,\n Task,\n TaskState,\n} from \"../shared/interfaces.js\";\nimport { getFlatChunks } from \"../shared/getFlatChunks.js\";\nimport { DONE_STATES } from \"../shared/constants.js\";\n\nexport interface UseConversationStreamOptions {\n flowMap?: Map<string, ServiceFlowRun>;\n activityMap?: Map<string, ActivityWithFlow>;\n showHumanActions?: boolean;\n skipActivitySubTasks?: boolean;\n rootTaskId?: string;\n expandAskUser?: boolean;\n}\n\nexport function useConversationStream(\n conversationAvailable: boolean,\n state: ConversationState | TaskState | undefined,\n tasks: Task[],\n errors: ConversationError[],\n options?: UseConversationStreamOptions\n) {\n const {\n showHumanActions,\n skipActivitySubTasks,\n rootTaskId,\n flowMap,\n activityMap,\n expandAskUser,\n } = options || {};\n\n return useMemo(() => {\n if (!conversationAvailable) {\n return {\n messages: [],\n lastDetail: null,\n planMap: null,\n activeAskUser: null,\n };\n }\n\n const { chunks, jobMap, planMap, activeAskUser } = getFlatChunks(\n tasks,\n errors,\n {\n flowMap,\n activityMap,\n skipActivitySubTasks,\n enablePlan: true,\n rootTaskId,\n expandAskUser,\n }\n );\n const messages: ChatMessage[] = [];\n\n let prevAssistantMessage: MessageFromAssistant = {\n role: \"assistant\",\n chunks: [],\n };\n let lastDetail: ActiveDetail | null = null;\n for (const chunk of chunks) {\n if (chunk.type === \"job\") {\n const job = chunk.job;\n if (job.toolCall && !job.ignoreDetails) {\n lastDetail = {\n type: \"job\",\n id: job.id,\n };\n }\n\n if (\n job.state === \"completed\" &&\n job.messages?.length &&\n job.messages.every((msg) => msg.role === \"user\")\n ) {\n if (prevAssistantMessage.chunks.length > 0) {\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 mentionedAiEmployeeId: job.mentionedAiEmployeeId,\n fromSkippedSubTask: chunk.fromSkippedSubTask,\n files: job.messages\n ?.filter((msg) => msg.role === \"user\")\n .flatMap((msg) => msg.parts)\n .filter((part) => part.type === \"file\")\n .map((part) => part.file),\n });\n prevAssistantMessage = {\n role: \"assistant\",\n chunks: [],\n };\n } else {\n prevAssistantMessage.chunks.push(chunk);\n }\n\n if (job.humanAction) {\n if (prevAssistantMessage.chunks.length > 0) {\n messages.push(prevAssistantMessage);\n }\n if (showHumanActions) {\n messages.push({\n role: \"user\",\n content: job.humanAction,\n });\n }\n prevAssistantMessage = {\n role: \"assistant\",\n chunks: [],\n };\n }\n } else {\n prevAssistantMessage.chunks.push(chunk);\n if (\n chunk.type !== \"error\" &&\n chunk.type !== \"plan\" &&\n chunk.type !== \"askUser\"\n ) {\n lastDetail = {\n type: chunk.type,\n id: chunk.task.id,\n };\n }\n }\n }\n\n let shouldAppendEmptyMessage =\n messages.length > 0 && !DONE_STATES.includes(state);\n if (\n shouldAppendEmptyMessage &&\n prevAssistantMessage.role === \"assistant\" &&\n prevAssistantMessage.chunks.length === 0\n ) {\n const lastMessage = messages[messages.length - 1];\n if (lastMessage.role === \"user\" && lastMessage.fromSkippedSubTask) {\n shouldAppendEmptyMessage = false;\n }\n }\n\n if (prevAssistantMessage.chunks.length > 0 || shouldAppendEmptyMessage) {\n messages.push(prevAssistantMessage);\n }\n\n return { messages, jobMap, planMap, lastDetail, activeAskUser };\n }, [\n conversationAvailable,\n state,\n tasks,\n flowMap,\n activityMap,\n errors,\n showHumanActions,\n skipActivitySubTasks,\n rootTaskId,\n expandAskUser,\n ]);\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.hil--e3zZFYQc{background:rgba(255,255,255,0.5);border-radius:8px;border:1px solid #ffffff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:13px 16px;margin-top:12px}.content--tmVj790o,\n.actions--wbNFKF3J{display:flex;align-items:center}.content--tmVj790o{gap:10px;flex-wrap:wrap}.actions--wbNFKF3J{justify-content:flex-end;margin-top:-3px}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"hil\": `hil--e3zZFYQc`,\n\t\"content\": `content--tmVj790o`,\n\t\"actions\": `actions--wbNFKF3J`\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, `.tag--DYMWTxcu{display:flex;gap:10px;align-items:center;padding:0 12px;height:26px;width:-moz-fit-content;width:fit-content;background:rgba(0,0,0,0.04);border:1px solid rgba(0,0,0,0.1);border-radius:13px;color:rgba(0,0,0,0.65);cursor:pointer}.tag--DYMWTxcu:hover{background:rgba(0,0,0,0.06)}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"tag\": `tag--DYMWTxcu`\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, FileInfo } from \"../../shared/interfaces\";\nimport { ReadableCommand } from \"../../shared/ReadableCommand/ReadableCommand\";\nimport { FileList } from \"../../shared/FilePreview/FileList\";\n\nexport interface UserMessageProps {\n content: string;\n cmd?: CommandPayload;\n mentionedAiEmployeeId?: string;\n files?: FileInfo[];\n}\n\nexport function UserMessage({\n content,\n cmd,\n mentionedAiEmployeeId,\n files,\n}: UserMessageProps) {\n return (\n <>\n <div className={styles.user}>\n {(cmd || mentionedAiEmployeeId) && (\n <ReadableCommand\n cmd={cmd}\n mentionedAiEmployeeId={mentionedAiEmployeeId}\n />\n )}\n {content}\n </div>\n {files?.length ? <FileList files={files} ui=\"chat\" /> : null}\n </>\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]!./NodeChunk.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]!./NodeChunk.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 type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport type {\n ConversationState,\n JobState,\n TaskState,\n} from \"../../shared/interfaces\";\nimport styles from \"./NodeChunk.module.css\";\n\nexport function getStateDisplay(\n state: JobState | TaskState | undefined,\n conversationState: ConversationState | undefined\n): {\n className?: string;\n icon: GeneralIconProps;\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 (conversationState === \"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, { useContext, useMemo, useState } from \"react\";\nimport classNames from \"classnames\";\nimport { isEqual } from \"lodash\";\nimport type { CmdbInstanceDetailData } from \"../../cruise-canvas/interfaces.js\";\nimport styles from \"./NodeChunk.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 { ActiveDetail, FileInfo, Job } from \"../../shared/interfaces.js\";\nimport { getStateDisplay } from \"./getStateDisplay.js\";\nimport { ICON_UP } from \"../../shared/constants.js\";\nimport { FileList } from \"../../shared/FilePreview/FileList.js\";\n\nexport interface NodeJobProps {\n job: Job;\n isSubTask?: boolean;\n}\n\nexport function NodeJob({ job, isSubTask }: 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 { conversationState, setActiveDetail, setSubActiveDetail } =\n useContext(TaskContext);\n const { lastDetail, setUserClosedAside } = useContext(StreamContext);\n\n const { className, icon } = useMemo(() => {\n return getStateDisplay(job.state, conversationState);\n }, [job.state, conversationState]);\n\n const [toolMarkdownContent, cmdbInstanceDetails, files] = 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 const showHeading = showToolCall || !!job.instruction;\n\n return (\n <div className={classNames({ [styles.collapsed]: collapsed })}>\n {showHeading && (\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 )}\n <div className={styles.body}>\n {showToolCall && (\n <div\n className={styles.tool}\n onClick={() => {\n const detail: ActiveDetail = {\n type: \"job\",\n id: job.id,\n };\n (isSubTask ? setSubActiveDetail : setActiveDetail)((prev) =>\n isEqual(prev, detail) ? prev : detail\n );\n if (isEqual(detail, lastDetail)) {\n setUserClosedAside(false);\n }\n }}\n >\n <WrappedIcon lib=\"lucide\" icon=\"square-chevron-right\" />\n {toolTitle}\n </div>\n )}\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 <div className={styles.content}>\n {toolMarkdownContent && (\n <div className={classNames(styles.markdown, sharedStyles.markdown)}>\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 {files.length > 0 && <FileList files={files} />}\n </div>\n </div>\n </div>\n );\n}\n","import React, { useMemo, useState } from \"react\";\nimport classNames from \"classnames\";\nimport styles from \"./NodeChunk.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 type { Job } from \"../../shared/interfaces.js\";\nimport { ICON_UP, NON_WORKING_STATES } from \"../../shared/constants.js\";\nimport { K, t } from \"../i18n\";\nimport thinkingIcon from \"../images/thinking@2x.png\";\n\nexport interface NodeReasoningProps {\n job: Job;\n}\n\nexport function NodeReasoning({ job }: NodeReasoningProps) {\n const reasoningMessages = useMemo(\n () => job.messages?.filter((message) => message.role === \"assistant\"),\n [job.messages]\n );\n const thinking = !reasoningMessages?.length;\n\n const [collapsed, setCollapsed] = useState(true);\n\n if (thinking) {\n return (\n <div className={styles.thinking}>\n <img src={thinkingIcon} width={16} height={16} />\n <span className={sharedStyles[\"shine-text\"]}>{t(K.THINKING)}</span>\n </div>\n );\n }\n\n return (\n <div\n className={classNames(styles.reasoning, {\n [styles.collapsed]: collapsed,\n })}\n >\n <div\n className={styles[\"reasoning-label\"]}\n onClick={() => setCollapsed((prev) => !prev)}\n >\n <span\n className={classNames({\n [sharedStyles[\"shine-text\"]]: !NON_WORKING_STATES.includes(\n job.state\n ),\n })}\n >\n {t(K.SHOW_THINKING)}\n </span>\n <WrappedIcon className={styles.chevron} {...ICON_UP} />\n </div>\n <div className={styles[\"reasoning-content\"]}>\n {reasoningMessages?.map((message, index) => (\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 </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]!./ActivityPlan.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]!./ActivityPlan.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n ACTIVITY_PLAN = \"ACTIVITY_PLAN\",\n SHOW_PROCESS = \"SHOW_PROCESS\",\n STARTING_SERVICE_FLOW = \"STARTING_SERVICE_FLOW\",\n}\n\nconst en: Locale = {\n [K.ACTIVITY_PLAN]: \"Activity plan\",\n [K.SHOW_PROCESS]: \"Show process\",\n [K.STARTING_SERVICE_FLOW]: \"Starting serviceflow: {{ name }}\",\n};\n\nconst zh: Locale = {\n [K.ACTIVITY_PLAN]: \"活动计划\",\n [K.SHOW_PROCESS]: \"显示过程\",\n [K.STARTING_SERVICE_FLOW]: \"发起业务流:{{ name }}\",\n};\n\nexport const NS = \"bricks/ai-portal/ActivityPlan\";\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","\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]!./AskUserTag.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]!./AskUserTag.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { useContext } from \"react\";\nimport { isEqual } from \"lodash\";\nimport type { Job, Task } from \"../interfaces\";\nimport styles from \"./AskUserTag.module.css\";\nimport { DONE_STATES } from \"../constants\";\nimport { WrappedIcon } from \"../bricks\";\nimport { TaskContext } from \"../TaskContext\";\n\nexport interface AskUserTagProps {\n job: Job;\n task: Task | undefined;\n}\n\nexport function AskUserTag({ job, task }: AskUserTagProps) {\n const { setActiveDetail } = useContext(TaskContext);\n const done = DONE_STATES.includes(task?.state);\n if (!done) {\n return null;\n }\n return (\n <div\n className={styles.tag}\n onClick={() => {\n if (task) {\n const detail = {\n type: \"task\" as const,\n id: task.id,\n };\n setActiveDetail((prev) => (isEqual(prev, detail) ? prev : detail));\n }\n }}\n >\n <WrappedIcon lib=\"antd\" icon=\"check-circle\" />\n {job.summary}\n </div>\n );\n}\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport { WrappedIcon } from \"../bricks\";\nimport type { ConversationState, JobState, TaskState } from \"../interfaces\";\nimport styles from \"./ActivityPlan.module.css\";\n\nexport interface PlanStateIconProps {\n state: TaskState | JobState | ConversationState | undefined;\n filled?: boolean;\n}\n\nexport function PlanStateIcon({ state, filled }: PlanStateIconProps) {\n switch (state) {\n case \"input-required\":\n return (\n <WrappedIcon\n lib=\"antd\"\n theme={filled ? \"filled\" : \"outlined\"}\n icon=\"exclamation-circle\"\n className={classNames(styles.icon, styles.paused)}\n />\n );\n case \"completed\":\n if (filled) {\n return (\n <span\n className={classNames(\n styles.icon,\n styles.stacked,\n styles.completed,\n {\n [styles.filled]: filled,\n }\n )}\n >\n <WrappedIcon lib=\"lucide\" icon=\"check\" strokeWidth={5} />\n </span>\n );\n }\n return (\n <WrappedIcon\n lib=\"antd\"\n icon=\"check-circle\"\n className={classNames(styles.icon, styles.completed)}\n />\n );\n case \"working\":\n return (\n <span\n className={classNames(styles.icon, styles.stacked, styles.working, {\n [styles.filled]: filled,\n })}\n >\n <WrappedIcon\n lib=\"lucide\"\n icon=\"loader-2\"\n spinning\n strokeWidth={filled ? 5 : 3}\n />\n </span>\n );\n case \"failed\":\n return (\n <WrappedIcon\n lib=\"antd\"\n theme={filled ? \"filled\" : \"outlined\"}\n icon=\"close-circle\"\n className={classNames(styles.icon, styles.failed)}\n />\n );\n case \"terminated\":\n case \"canceled\":\n return (\n <WrappedIcon\n lib=\"antd\"\n theme={filled ? \"filled\" : \"outlined\"}\n icon=\"stop\"\n className={styles.icon}\n />\n );\n default:\n return (\n <WrappedIcon\n lib=\"antd\"\n theme={filled ? \"filled\" : \"outlined\"}\n icon=\"clock-circle\"\n className={styles.icon}\n />\n );\n }\n}\n","import React, {\n createContext,\n Fragment,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport classNames from \"classnames\";\nimport { isEqual } from \"lodash\";\nimport type { ActiveDetail, Job, PlanStep, Task } from \"../interfaces\";\nimport styles from \"./ActivityPlan.module.css\";\nimport { K, locales, NS, t } from \"./i18n\";\nimport { WrappedIcon } from \"../bricks\";\nimport { ICON_UP } from \"../constants\";\nimport { TaskContext } from \"../TaskContext\";\nimport { useConversationStream } from \"../../chat-stream/useConversationStream\";\nimport type {\n MessageChunk,\n MessageFromAssistant,\n} from \"../../chat-stream/interfaces\";\nimport { EnhancedMarkdown } from \"../../cruise-canvas/EnhancedMarkdown/EnhancedMarkdown\";\nimport sharedStyles from \"../../cruise-canvas/shared.module.css\";\nimport { StreamContext } from \"../../chat-stream/StreamContext\";\nimport { AskUserTag } from \"../AskUserTag/AskUserTag\";\nimport { PlanStateIcon } from \"./PlanStateIcon\";\n\ninitializeI18n(NS, locales);\n\nexport interface ActivityPlanProps {\n task: Task;\n}\n\nconst ActivityPlanContext = createContext<{\n collapsed?: boolean;\n jobLevelMap?: Map<string, number>;\n}>({});\n\nexport function ActivityPlan({ task }: ActivityPlanProps) {\n const [collapsed, setCollapsed] = useState(true);\n const { flowMap, setActiveDetail } = useContext(TaskContext);\n const { toggleAutoScroll } = useContext(StreamContext);\n const flow = flowMap?.get(task.id);\n const toggleRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const jobLevelMap = useRef<Map<string, number>>(new Map());\n\n return (\n <ActivityPlanContext.Provider\n value={{ collapsed, jobLevelMap: jobLevelMap.current }}\n >\n <div\n className={classNames(styles.plan, { [styles.collapsed]: collapsed })}\n >\n <div className={styles.heading}>\n {flow ? (\n <span\n className={styles[\"flow-title\"]}\n onClick={() => {\n const detail = {\n type: \"flow\" as const,\n id: task.id,\n };\n setActiveDetail((prev) =>\n isEqual(prev, detail) ? prev : detail\n );\n }}\n >\n <WrappedIcon lib=\"lucide\" icon=\"route\" />\n {t(K.STARTING_SERVICE_FLOW, { name: flow.name })}\n </span>\n ) : (\n <span>{t(K.ACTIVITY_PLAN)}</span>\n )}\n <div\n className={styles.toggle}\n onClick={() => {\n setCollapsed((prev) => !prev);\n toggleAutoScroll(false);\n if (toggleRef.current) {\n clearTimeout(toggleRef.current);\n }\n toggleRef.current = setTimeout(() => {\n toggleAutoScroll(true);\n }, 100);\n }}\n >\n {t(K.SHOW_PROCESS)}\n <WrappedIcon className={styles.chevron} {...ICON_UP} />\n </div>\n </div>\n <PlanTree plan={task.plan!} level={0} />\n </div>\n </ActivityPlanContext.Provider>\n );\n}\n\ninterface PlanTreeProps {\n plan: PlanStep[];\n level: number;\n}\n\nfunction PlanTree({ plan, level }: PlanTreeProps) {\n return (\n <ul className={styles.tree}>\n {plan.map((step, index, list) => (\n <PlanStepNode\n key={index}\n step={step}\n level={level}\n isLast={index === list.length - 1}\n />\n ))}\n </ul>\n );\n}\n\nexport interface PlanStepNodeProps {\n step: PlanStep;\n level: number;\n isLast: boolean;\n}\n\nfunction PlanStepNode({ step, level, isLast }: PlanStepNodeProps) {\n const isFirstLevel = level === 0;\n const { jobMap } = useContext(TaskContext);\n const { collapsed, jobLevelMap } = useContext(ActivityPlanContext);\n const { jobId } = step;\n const job = jobId ? jobMap?.get(jobId) : undefined;\n const jobLevel = jobId ? jobLevelMap?.get(jobId) : undefined;\n const isCircular = jobLevel !== undefined && jobLevel !== level;\n\n useEffect(() => {\n if (!isCircular && jobId) {\n jobLevelMap?.set(jobId, level);\n }\n }, [isCircular, level, jobId, jobLevelMap]);\n\n useEffect(() => {\n if (isCircular) {\n // eslint-disable-next-line no-console\n console.error(`Circular plan steps detected for job ID: ${jobId}`);\n }\n }, [isCircular, jobId]);\n\n if (isCircular) {\n return (\n <li>\n <div style={{ color: \"var(--color-error)\" }}>\n Circular plan steps detected\n </div>\n </li>\n );\n }\n\n return (\n <li className={isFirstLevel ? styles.root : undefined}>\n {!(isLast && (collapsed || !job)) && (\n <div\n className={styles.line}\n style={{\n bottom: isLast ? 0 : isFirstLevel ? -12 : -8,\n }}\n />\n )}\n <div className={styles.node}>\n <div className={styles.label}>\n <PlanStateIcon state={job?.state} filled={isFirstLevel} />\n <span className={styles.name}>{step.name}</span>\n </div>\n </div>\n {!collapsed && job ? (\n <PlanStepDetails stepJob={job} level={level} />\n ) : null}\n </li>\n );\n}\n\ninterface PlanStepDetailsProps {\n stepJob: Job;\n level: number;\n}\n\nfunction PlanStepDetails({ stepJob, level }: PlanStepDetailsProps) {\n const { tasks, errors, flowMap, activityMap } = useContext(TaskContext);\n const subTask =\n stepJob.type === \"subTask\"\n ? tasks.find((t) => t.parent === stepJob.id)\n : undefined;\n const taskStream = useConversationStream(\n !!subTask,\n subTask?.state,\n tasks,\n errors,\n {\n flowMap,\n activityMap,\n rootTaskId: subTask?.id,\n }\n );\n\n const messages = useMemo(() => {\n return subTask\n ? taskStream.messages\n : ([\n {\n role: \"assistant\",\n chunks: [\n {\n type: \"job\",\n job: stepJob,\n },\n ],\n },\n ] as MessageFromAssistant[]);\n }, [stepJob, subTask, taskStream.messages]);\n\n return (\n <div className={styles.details}>\n {messages.map((msg, index) => (\n <div className={styles.message} key={index}>\n {msg.role === \"user\" ? (\n <div className={styles.user}>{msg.content}</div>\n ) : (\n <MergedPlanStepMessageChunks chunks={msg.chunks} level={level} />\n )}\n </div>\n ))}\n </div>\n );\n}\n\ninterface MergedPlanStepMessageChunksProps {\n chunks: MessageChunk[];\n level: number;\n}\n\ntype StepMessageChunk =\n | MessageChunk\n | {\n type: \"tools\";\n jobs: Job[];\n };\n\nfunction MergedPlanStepMessageChunks({\n chunks,\n level,\n}: MergedPlanStepMessageChunksProps) {\n const stepChunks = useMemo(() => {\n const mergedChunks: StepMessageChunk[] = [];\n for (const chunk of chunks) {\n if (chunk.type === \"job\" && chunk.job.toolCall) {\n const lastChunk = mergedChunks[mergedChunks.length - 1];\n if (lastChunk && lastChunk.type === \"tools\") {\n lastChunk.jobs.push(chunk.job);\n } else {\n mergedChunks.push({\n type: \"tools\",\n jobs: [chunk.job],\n });\n }\n } else {\n mergedChunks.push(chunk);\n }\n }\n return mergedChunks;\n }, [chunks]);\n\n return (\n <div className={styles.assistant}>\n {stepChunks.map((chunk, idx) => (\n <PlanStepMessageChunk key={idx} chunk={chunk} level={level} />\n ))}\n </div>\n );\n}\n\ninterface PlanStepMessageChunkProps {\n chunk: StepMessageChunk;\n level: number;\n}\n\nfunction PlanStepMessageChunk({ chunk, level }: PlanStepMessageChunkProps) {\n const { setActiveDetail } = useContext(TaskContext);\n\n return (\n <div className={styles.chunk}>\n {chunk.type === \"tools\" ? (\n <div className={styles.tools}>\n {chunk.jobs.map((job) => (\n <div\n key={job.id}\n className={styles.tool}\n onClick={() => {\n const detail: ActiveDetail = {\n type: \"job\",\n id: job.id,\n };\n setActiveDetail((prev) =>\n isEqual(prev, detail) ? prev : detail\n );\n }}\n >\n <PlanStateIcon state={job.state} />\n {job.toolCall!.annotations?.title || job.toolCall!.name}\n </div>\n ))}\n </div>\n ) : chunk.type === \"job\" ? (\n chunk.job.messages?.map((m, mIdx) => (\n <Fragment key={mIdx}>\n {m.parts.map((part, pIdx) =>\n part.type === \"text\" ? (\n <EnhancedMarkdown\n key={pIdx}\n className={sharedStyles[\"markdown-wrapper\"]}\n content={part.text}\n />\n ) : null\n )}\n </Fragment>\n ))\n ) : chunk.type === \"plan\" ? (\n <SubPlanTree task={chunk.task} level={level + 1} />\n ) : chunk.type === \"askUser\" ? (\n <AskUserTag job={chunk.job} task={chunk.task} />\n ) : null}\n </div>\n );\n}\n\ninterface SubPlanTreeProps {\n task: Task;\n level: number;\n}\n\nfunction SubPlanTree({ task, level }: SubPlanTreeProps) {\n const { flowMap, setActiveDetail } = useContext(TaskContext);\n const flow = flowMap?.get(task.id);\n\n if (flow) {\n return (\n <ul className={styles.tree}>\n <li>\n <div\n className={styles.line}\n style={{\n top: 34,\n bottom: 0,\n left: 20,\n }}\n />\n <div className={styles.node}>\n <span\n className={styles[\"flow-title\"]}\n onClick={() => {\n const detail = {\n type: \"flow\" as const,\n id: task.id,\n };\n setActiveDetail((prev) =>\n isEqual(prev, detail) ? prev : detail\n );\n }}\n >\n <PlanStateIcon state={task.state} />\n <WrappedIcon lib=\"lucide\" icon=\"route\" />\n {t(K.STARTING_SERVICE_FLOW, { name: flow.name })}\n </span>\n </div>\n <div style={{ paddingLeft: 34 }}>\n <PlanTree plan={task.plan!} level={level} />\n </div>\n </li>\n </ul>\n );\n }\n\n return <PlanTree plan={task.plan!} level={level} />;\n}\n","import React, { useContext, useMemo, useState } from \"react\";\nimport classNames from \"classnames\";\nimport { isEqual } from \"lodash\";\nimport styles from \"./NodeChunk.module.css\";\nimport type {\n MessageChunk,\n MessageChunkOfActivity,\n MessageChunkOfFlow,\n} from \"../interfaces.js\";\nimport { NodeJob } from \"./NodeJob.js\";\nimport { WrappedIcon } from \"../../shared/bricks\";\nimport { getStateDisplay } from \"./getStateDisplay.js\";\nimport { TaskContext } from \"../../shared/TaskContext\";\nimport { ICON_UP } from \"../../shared/constants\";\nimport { StreamContext } from \"../StreamContext\";\nimport { K, t } from \"../i18n\";\nimport { NodeReasoning } from \"./NodeReasoning\";\nimport { ActivityPlan } from \"../../shared/ActivityPlan/ActivityPlan\";\nimport { AskUserTag } from \"../../shared/AskUserTag/AskUserTag\";\n\nexport interface NodeChunkProps {\n chunk: MessageChunk;\n isSubTask?: boolean;\n}\n\nexport function NodeChunk({ chunk, isSubTask }: NodeChunkProps) {\n if (chunk.type === \"job\") {\n if (chunk.job.type === \"reasoning\") {\n return <NodeReasoning job={chunk.job} />;\n }\n return <NodeJob job={chunk.job} isSubTask={isSubTask} />;\n }\n\n if (chunk.type === \"plan\") {\n return <ActivityPlan task={chunk.task} />;\n }\n\n if (chunk.type === \"askUser\") {\n return <AskUserTag job={chunk.job} task={chunk.task} />;\n }\n\n if (chunk.type === \"error\") {\n return <div className={styles.error}>{chunk.error}</div>;\n }\n\n return <NodeFlow chunk={chunk} isSubTask={isSubTask} />;\n}\n\ninterface NodeFlowProps {\n chunk: MessageChunkOfFlow | MessageChunkOfActivity;\n isSubTask?: boolean;\n}\n\nfunction NodeFlow({ chunk, isSubTask }: NodeFlowProps) {\n const { conversationState, setActiveDetail, setSubActiveDetail } =\n useContext(TaskContext);\n const { setUserClosedAside, lastDetail } = useContext(StreamContext);\n const [collapsed, setCollapsed] = useState(false);\n const { type, task } = chunk;\n\n const { className, icon } = useMemo(() => {\n return getStateDisplay(\n chunk.type === \"flow\" ? \"completed\" : task.state,\n conversationState\n );\n }, [chunk.type, conversationState, task.state]);\n\n return (\n <div className={classNames({ [styles.collapsed]: collapsed })}>\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}>\n {type === \"flow\"\n ? t(K.INITIATING_SERVICE_FLOW, { name: chunk.flow.name })\n : t(K.STARTING_SERVICE_FLOW_ACTIVITY, {\n name: chunk.activity.name,\n })}\n </div>\n <WrappedIcon className={styles.caret} {...ICON_UP} />\n </div>\n <div className={styles.body}>\n <div\n className={styles.tool}\n onClick={() => {\n const detail = {\n type: chunk.type,\n id: chunk.task.id,\n };\n (isSubTask ? setSubActiveDetail : setActiveDetail)((prev) =>\n isEqual(prev, detail) ? prev : detail\n );\n if (isEqual(detail, lastDetail)) {\n setUserClosedAside(false);\n }\n }}\n >\n <WrappedIcon lib=\"lucide\" icon=\"route\" />\n {type === \"flow\"\n ? t(K.INITIATING_SERVICE_FLOW, { name: chunk.flow.name })\n : t(K.STARTING_SERVICE_FLOW_ACTIVITY, {\n name: chunk.activity.name,\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]!./HumanInTheLoop.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]!./HumanInTheLoop.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React from \"react\";\nimport { WrappedIcon } from \"../../shared/bricks\";\nimport type { Job } from \"../../shared/interfaces\";\nimport styles from \"./HumanInTheLoop.module.css\";\nimport { RequestHumanAction } from \"../../shared/RequestHumanAction/RequestHumanAction\";\nimport { K, t } from \"../i18n\";\n\nexport interface HumanInTheLoopProps {\n job: Job;\n}\n\nexport function HumanInTheLoop({ job }: HumanInTheLoopProps) {\n return (\n <div className={styles.hil}>\n <div className={styles.content}>\n <WrappedIcon lib=\"antd\" icon=\"exclamation-circle\" />\n {t(K.HIL_TIPS, { name: job.hil!.username })}\n </div>\n {job.requestHumanAction && (\n <div className={styles.actions}>\n <RequestHumanAction action={job.requestHumanAction} ui=\"chat\" />\n </div>\n )}\n </div>\n );\n}\n","import React, { useMemo } from \"react\";\nimport styles from \"./AssistantMessage.module.css\";\nimport {\n GENERAL_DONE_STATES,\n NON_WORKING_STATES,\n} from \"../../shared/constants.js\";\nimport type {\n ConversationState,\n Job,\n JobState,\n TaskState,\n} from \"../../shared/interfaces.js\";\nimport { WrappedIcon } from \"../../shared/bricks.js\";\nimport type { MessageChunk } from \"../interfaces\";\nimport { RequestHumanAction } from \"../../shared/RequestHumanAction/RequestHumanAction\";\nimport { NodeChunk } from \"../NodeChunk/NodeChunk\";\nimport { HumanInTheLoop } from \"../HumanInTheLoop/HumanInTheLoop\";\n\nexport interface AssistantMessageProps {\n chunks?: MessageChunk[];\n scopeState?: ConversationState | TaskState | JobState | undefined;\n isLatest?: boolean;\n isSubTask?: boolean;\n finished?: boolean;\n earlyFinished?: boolean;\n}\n\nconst EARLY_FINISHED_ERROR_CHUNK: MessageChunk = {\n type: \"error\",\n error:\n \"The conversation was marked as finished early due to an unexpected issue.\\nPlease refresh the page or try again later.\",\n};\n\nexport function AssistantMessage({\n chunks,\n scopeState,\n isLatest,\n isSubTask,\n finished,\n earlyFinished,\n}: AssistantMessageProps) {\n const [working, lastJob] = useMemo(() => {\n if (!chunks || chunks.length === 0) {\n return [isLatest && !NON_WORKING_STATES.includes(scopeState!), undefined];\n }\n\n const lastChunk = chunks[chunks.length - 1];\n let lastJob: Job | undefined;\n if (lastChunk) {\n switch (lastChunk.type) {\n case \"flow\":\n case \"activity\":\n lastJob = lastChunk.task.jobs[lastChunk.task.jobs.length - 1];\n break;\n case \"job\":\n lastJob = lastChunk.job;\n break;\n default:\n return [false, undefined];\n }\n }\n\n if (!isLatest || NON_WORKING_STATES.includes(scopeState!)) {\n return [false, lastJob];\n }\n for (const chunk of chunks) {\n switch (chunk.type) {\n case \"flow\":\n case \"activity\":\n if (chunk.task.jobs.some((job) => job.state === \"input-required\")) {\n return [false, lastJob];\n }\n break;\n case \"job\":\n if (chunk.job.state === \"input-required\") {\n return [false, lastJob];\n }\n }\n }\n\n if (lastJob && lastJob.state === \"working\" && lastJob.toolCall) {\n return [false, lastJob];\n }\n\n return [true, lastJob];\n }, [isLatest, chunks, scopeState]);\n\n const lastJobIsReasoning = lastJob?.type === \"reasoning\";\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 {chunks?.map((chunk, index) => (\n <NodeChunk key={index} chunk={chunk} isSubTask={isSubTask} />\n ))}\n {working && !finished && !lastJobIsReasoning && (\n <div className={styles.texting}></div>\n )}\n {isLatest &&\n lastJob &&\n !lastJobIsReasoning &&\n !GENERAL_DONE_STATES.includes(scopeState) &&\n (lastJob.state === \"working\" || lastJob.state === \"input-required\") &&\n !lastJob.humanAction &&\n (lastJob.hil ? (\n <HumanInTheLoop job={lastJob} />\n ) : (\n lastJob.requestHumanAction && (\n <RequestHumanAction\n action={lastJob.requestHumanAction}\n ui=\"chat\"\n />\n )\n ))}\n {earlyFinished && <NodeChunk chunk={EARLY_FINISHED_ERROR_CHUNK} />}\n </div>\n </div>\n );\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.assistant--CrlgPgYL{display:flex}.body--sAIo2dhL{flex:1;min-width:0;padding:3px 0 3px 16px}.texting--Rpmsbpca{position:relative}.texting--Rpmsbpca::after{content:\" \";animation:texting--Rpmsbpca 2s infinite;white-space:pre}.avatar--jaJhEiSV{font-size:32px}@keyframes texting--Rpmsbpca{0%{content:\"\\\\00a0\\\\00a0\\\\00a0\"}25%{content:\".\\\\00a0\\\\00a0\"}50%{content:\"..\\\\00a0\"}75%{content:\"...\"}100%{content:\"\\\\00a0\\\\00a0\\\\00a0\"}}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"assistant\": `assistant--CrlgPgYL`,\n\t\"body\": `body--sAIo2dhL`,\n\t\"texting\": `texting--Rpmsbpca`,\n\t\"avatar\": `avatar--jaJhEiSV`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","import {\n useCallback,\n useEffect,\n useRef,\n useState,\n type RefObject,\n} from \"react\";\nimport ResizeObserver from \"resize-observer-polyfill\";\n\nexport function useAutoScroll(\n contentAvailable: boolean,\n scrollContainerRef: RefObject<HTMLDivElement>,\n scrollContentRef: RefObject<HTMLDivElement>\n) {\n const detectScrolledUpRef = useRef(false);\n const manualScrolledRef = useRef(false);\n const [scrollable, setScrollable] = useState(false);\n\n useEffect(() => {\n const scrollContainer = scrollContainerRef.current;\n const contentContainer = scrollContentRef.current;\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 // Auto scroll after the conversation becomes available\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [contentAvailable]);\n\n const scrollToBottom = useCallback(() => {\n const scrollContainer = scrollContainerRef.current;\n scrollContainer?.scrollTo({\n top: scrollContainer?.scrollHeight,\n behavior: \"instant\",\n });\n }, [scrollContainerRef]);\n\n const toggleAutoScroll = useCallback((enabled: boolean) => {\n manualScrolledRef.current = !enabled;\n }, []);\n\n return { scrollable, scrollToBottom, toggleAutoScroll };\n}\n","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n SWITCH_TO_CANVAS = \"SWITCH_TO_CANVAS\",\n INITIATING_SERVICE_FLOW = \"INITIATING_SERVICE_FLOW\",\n STARTING_SERVICE_FLOW_ACTIVITY = \"STARTING_SERVICE_FLOW_ACTIVITY\",\n HIL_TIPS = \"HIL_TIPS\",\n THINKING = \"THINKING\",\n SHOW_THINKING = \"SHOW_THINKING\",\n}\n\nconst en: Locale = {\n SWITCH_TO_CANVAS: \"Switch to canvas\",\n INITIATING_SERVICE_FLOW: \"Starting serviceflow: {{ name }}\",\n STARTING_SERVICE_FLOW_ACTIVITY: \"Starting serviceflow activity: {{ name }}\",\n HIL_TIPS: \"Triggered HIL rule, waiting for {{ name }} to process.\",\n THINKING: \"Thinking...\",\n SHOW_THINKING: \"Show thinking\",\n};\n\nconst zh: Locale = {\n SWITCH_TO_CANVAS: \"切换为画布\",\n INITIATING_SERVICE_FLOW: \"发起业务流:{{ name }}\",\n STARTING_SERVICE_FLOW_ACTIVITY: \"开始业务流活动:{{ name }}\",\n HIL_TIPS: \"触发 HIL 规则,等待 {{ name }} 处理。\",\n THINKING: \"思考中...\",\n SHOW_THINKING: \"显示思路\",\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, `.heading--lj5kJ2fg{display:flex;align-items:center;padding:5px 8px;margin:0 0 12px;cursor:pointer}.main--P8894aNV{font-size:16px;line-height:26px}.caret--XqX6mjyf{opacity:0;transition:transform 0.2s ease-in-out}.heading--lj5kJ2fg:hover{background:rgba(184,187,205,0.15);border-radius:8px}.heading--lj5kJ2fg:hover .caret--XqX6mjyf{opacity:1}.icon--l8SzaFlV{display:flex;align-items:center;margin-right:12px}.title--FZPCnJbE{color:#262626;font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool--ugqSpeIM{background:#e2e5ef;border:1px solid #d4d4de;border-radius:13px;line-height:24px;padding:0 12px;width:-moz-fit-content;width:fit-content;font-size:12px;color:rgba(0,0,0,0.65);cursor:pointer;display:flex;align-items:center;gap:7px;margin-bottom:12px}.tool--ugqSpeIM eo-icon{font-size:14px;color:#8c8c8c}.body--p3Zt_jA4{margin-bottom:20px}.heading--lj5kJ2fg + .body--p3Zt_jA4{padding-left:26px}.collapsed--cGSG2zk_ .reasoning-content--CETqImvw,.collapsed--cGSG2zk_ .body--p3Zt_jA4{display:none}.collapsed--cGSG2zk_ .caret--XqX6mjyf{transform:rotate(180deg);opacity:1}.content--pBkkWQ5e{margin-top:14px;font-size:16px;line-height:26px}.content--pBkkWQ5e .markdown--Ky2J85cs [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--pBkkWQ5e:empty{display:none}.message--okEUzWzg:first-child > .message-part--kxjYnHz0:first-child > :first-child{margin-top:0}.icon--l8SzaFlV{color:#abaab7}.completed--JWq7E1Jw .icon--l8SzaFlV{color:#0fbe59}.failed--uk7jDD7K .icon--l8SzaFlV{color:#f24c25}.working--dZiN0y04 .icon--l8SzaFlV{color:var(--elevo-color-brand)}.input-required--JSuPr8br .icon--l8SzaFlV{color:#12aacc}.canceled--LyMjPJQd .icon--l8SzaFlV{color:#fcaa07}ai-portal\\\\.chat-stream[hide-mermaid] .content--pBkkWQ5e .markdown--Ky2J85cs .mermaid{display:none}.error--n_Of3DwP{color:var(--color-error);white-space:pre-wrap;word-break:break-word}.chevron--BWJTCqI0{transition:transform 0.2s ease-in-out;transform:rotate(180deg)}.collapsed--cGSG2zk_ .chevron--BWJTCqI0{transform:rotate(90deg)}.thinking--JqMsVbNQ{font-size:16px;display:flex;align-items:center;gap:6px;margin-bottom:16px;color:rgba(0,0,0,0.88);--shine-text-color:rgba(0,0,0,0.88);--shine-text-highlight-color:#dcdcdc}.reasoning--kXEFXvtf{margin-bottom:16px}.reasoning-label--nmRY4CIN{color:rgba(0,0,0,0.45);display:inline-flex;align-items:center;gap:4px;cursor:pointer;--shine-text-color:rgba(0,0,0,0.45);--shine-text-highlight-color:#dcdcdc}.reasoning-label--nmRY4CIN:hover{color:rgba(0,0,0,0.65)}.reasoning-content--CETqImvw{background:rgba(184,187,205,0.2);border-radius:12px;margin-top:4px;padding:8px 12px}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"heading\": `heading--lj5kJ2fg`,\n\t\"main\": `main--P8894aNV`,\n\t\"caret\": `caret--XqX6mjyf`,\n\t\"icon\": `icon--l8SzaFlV`,\n\t\"title\": `title--FZPCnJbE`,\n\t\"tool\": `tool--ugqSpeIM`,\n\t\"body\": `body--p3Zt_jA4`,\n\t\"collapsed\": `collapsed--cGSG2zk_`,\n\t\"reasoning-content\": `reasoning-content--CETqImvw`,\n\t\"content\": `content--pBkkWQ5e`,\n\t\"markdown\": `markdown--Ky2J85cs`,\n\t\"message\": `message--okEUzWzg`,\n\t\"message-part\": `message-part--kxjYnHz0`,\n\t\"completed\": `completed--JWq7E1Jw`,\n\t\"failed\": `failed--uk7jDD7K`,\n\t\"working\": `working--dZiN0y04`,\n\t\"input-required\": `input-required--JSuPr8br`,\n\t\"canceled\": `canceled--LyMjPJQd`,\n\t\"error\": `error--n_Of3DwP`,\n\t\"chevron\": `chevron--BWJTCqI0`,\n\t\"thinking\": `thinking--JqMsVbNQ`,\n\t\"reasoning\": `reasoning--kXEFXvtf`,\n\t\"reasoning-label\": `reasoning-label--nmRY4CIN`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","import { createContext, type Dispatch } from \"react\";\nimport type { ActiveDetail } from \"../shared/interfaces\";\n\nexport interface StreamContextValue {\n lastDetail: ActiveDetail | null;\n planMap: Map<string, any> | null;\n setUserClosedAside: Dispatch<React.SetStateAction<boolean>>;\n toggleAutoScroll: (enabled: boolean) => void;\n}\n\nexport const StreamContext = createContext<StreamContextValue>({\n lastDetail: null,\n planMap: null,\n setUserClosedAside: () => {},\n toggleAutoScroll: () => {},\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","// 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, `.plan--c_zq2EAr{margin-bottom:20px}.flow-title--GCYyySaN{display:flex;align-items:center;gap:8px;width:-moz-fit-content;width:fit-content;height:30px;padding:0 14px;background:rgba(255,255,255,0.5);border-radius:15px;border:1px solid rgba(0,0,0,0.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer}.flow-title--GCYyySaN:hover{background:rgba(255,255,255,0.8)}.heading--Vlp1n9bO{display:flex;align-items:center;gap:10px;font-weight:600;font-size:16px;line-height:22px;color:rgba(0,0,0,0.88)}.toggle--u1NrK3KR{display:inline-flex;align-items:center;gap:1px;padding:0 8px 0 10px;height:22px;background:rgba(255,255,255,0.65);border-radius:20px;border:1px solid #fff;font-size:12px;color:rgba(0,0,0,0.65);cursor:pointer}.toggle--u1NrK3KR:hover{color:rgba(0,0,0,0.85)}.chevron--AMetnOK4{transition:transform 0.2s ease-in-out;transform:rotate(180deg)}.collapsed--kVju3qL5 .chevron--AMetnOK4{transform:rotate(90deg)}.tree--Ywa_3ELe{list-style:none;padding:0;margin:0}.plan--c_zq2EAr > .tree--Ywa_3ELe{margin-top:14px}.tree--Ywa_3ELe > li{position:relative}.icon--nzWHFkLA{font-size:16px;color:var(--plan-state-icon-color);--plan-state-icon-color:#8c8c8c}.icon--nzWHFkLA.completed--YIu_zg8m{--plan-state-icon-color:#08bf33}.icon--nzWHFkLA.working--LHplm_T6{--plan-state-icon-color:var(--elevo-color-brand)}.icon--nzWHFkLA.paused--UmaW3_tY{--plan-state-icon-color:#faad14}.icon--nzWHFkLA.failed--UZ2q8xgi{--plan-state-icon-color:#f24c25}.icon--nzWHFkLA.stacked--hWM0IiDq{font-size:10px;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:8px;border:1.5px solid var(--plan-state-icon-color)}.icon--nzWHFkLA.filled--x2ca4XXo{color:#fff;background:var(--plan-state-icon-color)}.node--Isn2TQD5:not(:last-child){margin-bottom:8px}.tree--Ywa_3ELe > li:not(:last-child){margin-bottom:12px}.label--zJDwkSVW{display:flex;align-items:center;gap:4px;color:rgba(0,0,0,0.65);font-weight:500}.root--RbWVMncE > .node--Isn2TQD5 > .label--zJDwkSVW{color:#000}.name--U17yZgtX{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line--AcxfrMKU{position:absolute;top:24px;left:7px;border:1px dashed rgba(0,0,0,0.2);pointer-events:none}.message--LqSUA_ni{margin-bottom:8px;color:rgba(0,0,0,0.65);font-size:14px}.message--LqSUA_ni .user--NgJ9z6i_{background:rgba(0,0,0,0.04);border:1px solid rgba(0,0,0,0.1);padding:2px 12px}.details--VQA0cH78{padding-left:20px}.chunk--w0MMXtuz{margin-bottom:8px}.tools--_9YXNUSk{display:flex;gap:8px;flex-wrap:wrap}.tool--cKB7n0GU{display:flex;gap:10px;align-items:center;padding:0 12px;height:26px;width:-moz-fit-content;width:fit-content;background:rgba(0,0,0,0.04);border:1px solid rgba(0,0,0,0.1);border-radius:13px;color:rgba(0,0,0,0.65);cursor:pointer}.tool--cKB7n0GU:hover{background:rgba(0,0,0,0.06)}.node--Isn2TQD5 .flow-title--GCYyySaN{padding-left:12px;font-weight:500}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"plan\": `plan--c_zq2EAr`,\n\t\"flow-title\": `flow-title--GCYyySaN`,\n\t\"heading\": `heading--Vlp1n9bO`,\n\t\"toggle\": `toggle--u1NrK3KR`,\n\t\"chevron\": `chevron--AMetnOK4`,\n\t\"collapsed\": `collapsed--kVju3qL5`,\n\t\"tree\": `tree--Ywa_3ELe`,\n\t\"icon\": `icon--nzWHFkLA`,\n\t\"completed\": `completed--YIu_zg8m`,\n\t\"working\": `working--LHplm_T6`,\n\t\"paused\": `paused--UmaW3_tY`,\n\t\"failed\": `failed--UZ2q8xgi`,\n\t\"stacked\": `stacked--hWM0IiDq`,\n\t\"filled\": `filled--x2ca4XXo`,\n\t\"node\": `node--Isn2TQD5`,\n\t\"label\": `label--zJDwkSVW`,\n\t\"root\": `root--RbWVMncE`,\n\t\"name\": `name--U17yZgtX`,\n\t\"line\": `line--AcxfrMKU`,\n\t\"message\": `message--LqSUA_ni`,\n\t\"user\": `user--NgJ9z6i_`,\n\t\"details\": `details--VQA0cH78`,\n\t\"chunk\": `chunk--w0MMXtuz`,\n\t\"tools\": `tools--_9YXNUSk`,\n\t\"tool\": `tool--cKB7n0GU`\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, `.scroll-down--st4A5sQ4{position:absolute;left:50%;bottom:136px;transform:translateX(-50%);width:32px;height:32px;font-size:12px}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"scroll-down\": `scroll-down--st4A5sQ4`\n};\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","undefined","useConversationStream","conversationAvailable","state","tasks","errors","showHumanActions","skipActivitySubTasks","rootTaskId","flowMap","activityMap","expandAskUser","useMemo","messages","lastDetail","planMap","activeAskUser","chunks","jobMap","getFlatChunks","enablePlan","prevAssistantMessage","role","chunk","type","_job$messages","job","_job$messages2","toolCall","ignoreDetails","id","length","every","msg","push","content","flatMap","parts","map","part","text","join","cmd","mentionedAiEmployeeId","fromSkippedSubTask","files","filter","file","humanAction","task","shouldAppendEmptyMessage","DONE_STATES","includes","lastMessage","___CSS_LOADER_EXPORT___","module","UserMessage","_ref","React","className","styles","user","ReadableCommand","FileList","ui","NodeView","size","setSize","useState","handleSizeChange","useCallback","value","classNames","view","large","CreatedView","onSizeChange","getStateDisplay","conversationState","completed","icon","lib","theme","prefix","working","spinning","failed","canceled","NodeJob","_toolCall$annotations","isSubTask","toolTitle","annotations","title","name","toolName","showToolCall","setActiveDetail","setSubActiveDetail","useContext","TaskContext","setUserClosedAside","StreamContext","toolMarkdownContent","cmdbInstanceDetails","contents","instanceDetails","forEach","message","_part$data","data","_part$data2","Object","keys","outputSchema","properties","detail","collapsed","setCollapsed","showHeading","instruction","heading","onClick","prev","WrappedIcon","_extends","caret","ICON_UP","body","tool","isEqual","main","index","_message$parts","key","sharedStyles","markdown","partIndex","EnhancedMarkdown","box","CmdbInstanceDetail","generatedView","NodeReasoning","reasoningMessages","thinking","src","thinkingIcon","width","height","t","K","THINKING","reasoning","NON_WORKING_STATES","SHOW_THINKING","chevron","NS","locales","en","ACTIVITY_PLAN","SHOW_PROCESS","STARTING_SERVICE_FLOW","zh","i18n","getFixedT","AskUserTag","tag","summary","PlanStateIcon","filled","paused","stacked","strokeWidth","initializeI18n","ActivityPlanContext","createContext","ActivityPlan","toggleAutoScroll","flow","get","toggleRef","useRef","jobLevelMap","Map","Provider","current","plan","toggle","clearTimeout","setTimeout","PlanTree","level","_ref2","tree","step","list","PlanStepNode","isLast","_ref3","isFirstLevel","jobId","jobLevel","isCircular","useEffect","set","console","error","style","color","root","line","bottom","node","label","PlanStepDetails","stepJob","_ref4","subTask","find","parent","taskStream","details","MergedPlanStepMessageChunks","_ref5","stepChunks","mergedChunks","lastChunk","jobs","assistant","idx","PlanStepMessageChunk","_ref6","_chunk$job$messages","tools","_annotations","m","mIdx","Fragment","pIdx","SubPlanTree","_ref7","top","left","paddingLeft","NodeChunk","NodeFlow","INITIATING_SERVICE_FLOW","STARTING_SERVICE_FLOW_ACTIVITY","activity","HumanInTheLoop","hil","HIL_TIPS","username","requestHumanAction","actions","RequestHumanAction","action","EARLY_FINISHED_ERROR_CHUNK","AssistantMessage","scopeState","isLatest","finished","earlyFinished","lastJob","some","lastJobIsReasoning","category","avatar","texting","GENERAL_DONE_STATES","useAutoScroll","contentAvailable","scrollContainerRef","scrollContentRef","detectScrolledUpRef","manualScrolledRef","scrollable","setScrollable","scrollContainer","contentContainer","handleScroll","scrollTop","clientHeight","scrollHeight","timer","addEventListener","observer","ResizeObserver","scrollTo","behavior","observe","disconnect","removeEventListener","scrollToBottom","enabled","SWITCH_TO_CANVAS"],"sourceRoot":""}
@@ -0,0 +1,3 @@
1
+ /*! For license information please see chat-box.060b8727.js.LICENSE.txt */
2
+ "use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[1731,5944,6573],{1740:e=>{e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var a="";n.supports&&(a+="@supports (".concat(n.supports,") {")),n.media&&(a+="@media ".concat(n.media," {"));var o=void 0!==n.layer;o&&(a+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),a+=n.css,o&&(a+="}"),n.media&&(a+="}"),n.supports&&(a+="}");var r=n.sourceMap;r&&"undefined"!=typeof btoa&&(a+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),t.styleTagTransform(a,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},5536:(e,t,n)=>{n.d(t,{A:()=>o});var a=n(12559);function o(e,t,n){return n((0,a.A)(e,t))}},11879:(e,t,n)=>{n.d(t,{v:()=>o});var a=n(22919);const o=async(e,t)=>(await a.http.get("api/gateway/logic.llm.aiops_service/api/v1/elevo/ai-employees",{...t,params:e})).data},16195:(e,t,n)=>{n.d(t,{I:()=>l,K:()=>o,NS:()=>s,t:()=>c});var a=n(67177);let o=function(e){return e.ASK_ANY_THING="ASK_ANYTHING",e.COMMON_TASKS="COMMON_TASKS",e.COMMAND_TIPS="COMMAND_TIPS",e.SEARCH_COMMANDS_TIPS="SEARCH_COMMANDS_TIPS",e}({});const r={[o.ASK_ANY_THING]:"Ask anything",[o.COMMON_TASKS]:"Common tasks",[o.COMMAND_TIPS]:"‘@’ AI Employee | ‘/’ Command",[o.SEARCH_COMMANDS_TIPS]:"Showing up to {{count}} items, type keywords to search"},i={[o.ASK_ANY_THING]:"询问任何问题",[o.COMMON_TASKS]:"常用任务",[o.COMMAND_TIPS]:"‘@’ 数字人 | ‘/’ 命令",[o.SEARCH_COMMANDS_TIPS]:"最多显示 {{count}} 条数据,输入关键字搜索"},s="bricks/ai-portal/chat-box",l={en:r,zh:i},c=a.i18n.getFixedT(null,s)},17753:(e,t,n)=>{n.d(t,{Bj:()=>o,Tl:()=>r});var a=n(30981);const o=(0,a.wrapBrick)("eo-icon"),r=(0,a.wrapBrick)("eo-actions",{onActionClick:"action.click",onItemDragEnd:"item.drag.end",onItemDragStart:"item.drag.start"});(0,a.wrapBrick)("ai-portal.icon-button")},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}},24564:(e,t,n)=>{n.d(t,{v:()=>r});var a=n(11879);const o=new Map;function r(e){const t=o.get(e);if(t)return t;const n=async function(e){var t;const n=null===(t=(await(0,a.v)({employeeId:e})).list)||void 0===t?void 0:t[0];return(null==n?void 0:n.employeeId)===e?n:void 0}(e);return o.set(e,n),n}},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}},30855:(e,t,n)=>{e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},40036:(e,t,n)=>{n.r(t),n.d(t,{getChatMentionedEmployee:()=>i,setChatMentionedEmployee:()=>r});var a=n(40410);let o=null;function r(e){o=e}function i(){return o}customElements.define("ai-portal.set-chat-mentioned-employee",(0,a.createProviderClass)(r))},47008:(e,t,n)=>{n.d(t,{A:()=>u});var a=n(36758),o=n.n(a),r=n(40935),i=n.n(r),s=n(20062),l=n.n(s),c=new URL(n(47336),n.b),d=i()(o()),p=l()(c);d.push([e.id,`:host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.root{color:#262626;background:url(${p}) no-repeat center bottom;background-size:100% 104px;padding:12px 12px 29px;margin:0 -12px}.container{position:relative;background:#ffffff;box-shadow:0px 2px 4px 0px rgba(38,45,65,0.1);border-radius:16px;border:1px solid #dadfe8}.container:has(textarea:focus){border-color:#b7c3d8}textarea{display:block;width:100%;padding:10px 16px 50px;color:var(--antd-input-color);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.5);font:inherit;font-size:14px;line-height:22px;height:120px}textarea::placeholder{color:rgba(0,0,0,0.4)}button:focus,\ntextarea:focus{outline:none}button{margin:0;padding:0;font:inherit;background:none;border:none}.actions-bar{position:absolute;bottom:12px;left:14px;right:14px;display:flex;align-items:flex-end;justify-content:space-between;gap:6px}.btn-send{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--elevo-color-brand);border:none;border-radius:8px;color:#fff;flex-shrink:0}.btn-send[disabled]{background:rgba(0,0,0,0.15)}.btn-send:not([disabled]){cursor:pointer}.btn-send:not([disabled]):hover{background:#5166ff}.btn-send:not([disabled]):active{background:#1e33cc}.mention-overlay{position:absolute;border-radius:4px;pointer-events:none;background:rgba(38,45,65,0.1)}.buttons{display:flex;align-items:center;gap:12px}.btn-divider{width:1px;height:16px;background:rgba(0,0,0,0.1)}`,""]);const u=d.toString()},47336:(e,t,n)=>{e.exports=n.p+"images/25c20165.png"},60136:(e,t,n)=>{n.d(t,{v7:()=>p,NL:()=>u,xf:()=>m});var a=n(61919);const o=n.p+"images/62542537.png",r=n.p+"images/94d7a053.png",i=n.p+"images/0e7e6764.png",s=n.p+"images/7944ebaf.png",l=n.p+"images/c7ec12fe.png",c=n.p+"images/3316492a.png",d=new Map([["md","text/markdown"],["pdf","application/pdf"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["txt","text/plain"],["csv","text/csv"],["xls","application/vnd.ms-excel"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["ppt","application/vnd.ms-powerpoint"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["jpg","image/jpeg"],["jpeg","image/jpeg"],["png","image/png"],["gif","image/gif"],["bmp","image/bmp"],["webp","image/webp"],["svg","image/svg+xml"]]);function p(e){const[t,n]=a.pipes.unitFormat(e,"bytes",1),o=+t;return`${o>100?Math.round(o):o} ${n}`}function u(e,t){const n=e||m(t);if(n.startsWith("image/"))return["Image",c];switch(n){case"text/markdown":case"text/x-markdown":return["Markdown",o];case"application/pdf":return["PDF",r];case"application/msword":case"application/vnd.openxmlformats-officedocument.wordprocessingml.document":return["Word",i];case"application/vnd.ms-excel":case"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":return["Excel",l];case"application/vnd.ms-powerpoint":case"application/vnd.openxmlformats-officedocument.presentationml.presentation":return["PowerPoint",s]}return n.startsWith("text/")?["Text",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=d.get(n))&&void 0!==t?t:"unknown"}},72591:e=>{var t=[];function n(e){for(var n=-1,a=0;a<t.length;a++)if(t[a].identifier===e){n=a;break}return n}function a(e,a){for(var r={},i=[],s=0;s<e.length;s++){var l=e[s],c=a.base?l[0]+a.base:l[0],d=r[c]||0,p="".concat(c," ").concat(d);r[c]=d+1;var u=n(p),m={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==u)t[u].references++,t[u].updater(m);else{var f=o(m,a);a.byIndex=s,t.splice(s,0,{identifier:p,updater:f,references:1})}i.push(p)}return i}function o(e,t){var n=t.domAPI(t);return n.update(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;n.update(e=t)}else n.remove()}}e.exports=function(e,o){var r=a(e=e||[],o=o||{});return function(e){e=e||[];for(var i=0;i<r.length;i++){var s=n(r[i]);t[s].references--}for(var l=a(e,o),c=0;c<r.length;c++){var d=n(r[c]);0===t[d].references&&(t[d].updater(),t.splice(d,1))}r=l}}},73656:e=>{e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},74635:(e,t,n)=>{n.d(t,{A:()=>o});var a=n(72016);function o(e,t){(0,a.A)(e,t),t.add(e)}},77388:(e,t,n)=>{n.d(t,{_:()=>C,u:()=>E});var a=n(18769),o=n.n(a),r=n(53373),i=n.n(r),s=n(72591),l=n.n(s),c=n(1740),d=n.n(c),p=n(88128),u=n.n(p),m=n(30855),f=n.n(m),h=n(93051),v=n.n(h),g=n(73656),b=n.n(g),x=n(82674),y={};y.styleTagTransform=b(),y.setAttributes=f(),y.insert=u().bind(null,"head"),y.domAPI=d(),y.insertStyleElement=v(),l()(x.A,y);const A=x.A&&x.A.locals?x.A.locals:void 0;var w=n(24564);function C(e){let{cmd:t,mentionedAiEmployeeId:n}=e;const[r,s]=(0,a.useState)((()=>E(t,n)));return(0,a.useEffect)((()=>{if(s(E(t,n)),!t){let e=!1;return(async()=>{const t=await(0,w.v)(n);!e&&t&&s(`@${t.name}`)})(),()=>{e=!0}}}),[t,n]),o().createElement(o().Fragment,null,o().createElement("span",{className:i()(A.command,{[A.small]:!0})},r)," ")}function E(e,t){if(e)switch(e.type){case"serviceFlowStarting":return`/start serviceflow${[e.serviceFlowStarting.flowName,e.serviceFlowStarting.spaceName].filter(Boolean).slice(0,1).map((e=>`: ${e}`)).join("")}`;case"serviceflow-start":return`/start serviceflow${[e.payload.flowName,e.payload.spaceName].filter(Boolean).slice(0,1).map((e=>`: ${e}`)).join("")}`;case"serviceflow-edit":return`/edit serviceflow${[e.payload.flowName,e.payload.spaceName].filter(Boolean).slice(0,1).map((e=>`: ${e}`)).join("")}`;case"serviceflow-create":return`/create serviceflow${[e.payload.spaceName].filter(Boolean).slice(0,1).map((e=>`: ${e}`)).join("")}`;case"serviceObject-createOrEdit":return"/manage business object";case"serviceObjectInstance-createOrEdit":return"/manage business object instance";default:return`/${e.type}`}return`@${t}`}},82674:(e,t,n)=>{n.d(t,{A:()=>s});var a=n(36758),o=n.n(a),r=n(40935),i=n.n(r)()(o());i.push([e.id,".command--PjYZ4uqH{display:inline-block;background:rgba(37,64,255,0.06);border-radius:8px;color:#2540ff;padding:4px 6px;line-height:22px}.small--dUc9qGKv{padding:2px 6px}",""]),i.locals={command:"command--PjYZ4uqH",small:"small--dUc9qGKv"};const s=i},88128:e=>{var t={};e.exports=function(e,n){var a=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!a)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");a.appendChild(n)}},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})},93051:e=>{e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},93757:(e,t,n)=>{n.r(t),n.d(t,{getChatCommand:()=>i,setChatCommand:()=>r});var a=n(40410);let o=null;function r(e){o=e}function i(){return o}customElements.define("ai-portal.set-chat-command",(0,a.createProviderClass)(r))},94669:(e,t,n)=>{n.r(t),n.d(t,{ChatBox:()=>oe,ChatBoxComponent:()=>ae});var a,o=n(74635),r=n(70918),i=n(24586),s=n(26902),l=n(5536),c=n(86121),d=n(70829),p=n(62740),u=n(18769),m=n.n(u),f=n(59435),h=n(90870),v=n(30981),g=n(92879),b=(n(34419),n(67177)),x=n(16195),y=n(47008),A=n(93757),w=n(40036),C=n(57227),E=n(45387),S=n(51020),M=n(17753),k=n(45889),_=n(21020),N=n(77388),I=n(25292);let O,T,P,F,j,K,R,D,$,H,W,B,V,z,G,Y,q,L,U,Z,J,Q;(0,b.initializeI18n)(x.NS,x.I);const{defineElement:X,property:ee,event:te,method:ne}=(0,h.createDecorators)(),ae=(0,u.forwardRef)(ge);let oe;var re=new WeakMap,ie=new WeakMap,se=new WeakMap,le=new WeakMap,ce=new WeakMap,de=new WeakMap,pe=new WeakMap,ue=new WeakSet,me=new WeakMap,fe=new WeakMap,he=new WeakMap;class ve extends v.ReactNextElement{constructor(){super(...arguments),(0,o.A)(this,ue),(0,i.A)(this,"ref",(O(this),(0,u.createRef)())),(0,r.A)(this,re,P(this)),(0,r.A)(this,ie,(F(this),j(this))),(0,r.A)(this,se,(K(this),R(this))),(0,r.A)(this,le,(D(this),$(this))),(0,r.A)(this,ce,(H(this),W(this))),(0,r.A)(this,de,(B(this),V(this))),(0,r.A)(this,pe,(z(this),G(this))),(0,r.A)(this,me,(L(this),e=>{(0,l.A)(ue,this,Y).emit(e)})),(0,r.A)(this,fe,U(this)),(0,r.A)(this,he,(Q(this),e=>{(0,l.A)(ue,this,Z).emit(e)}))}get disabled(){return(0,d.A)(re,this)}set disabled(e){(0,c.A)(re,this,e)}get placeholder(){return(0,d.A)(ie,this)}set placeholder(e){(0,c.A)(ie,this,e)}get autoFocus(){return(0,d.A)(se,this)}set autoFocus(e){(0,c.A)(se,this,e)}get aiEmployees(){return(0,d.A)(le,this)}set aiEmployees(e){(0,c.A)(le,this,e)}get commands(){return(0,d.A)(ce,this)}set commands(e){(0,c.A)(ce,this,e)}get uploadOptions(){return(0,d.A)(de,this)}set uploadOptions(e){(0,c.A)(de,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(ae,{disabled:this.disabled,placeholder:this.placeholder,autoFocus:this.autoFocus,aiEmployees:this.aiEmployees,commands:this.commands,uploadOptions:this.uploadOptions,onMessageSubmit:(0,d.A)(me,this),onChatSubmit:(0,d.A)(he,this),root:this,ref:this.ref})}}function ge(e,t){let{root:n,disabled:a,placeholder:o,autoFocus:r,aiEmployees:i,commands:s,uploadOptions:l,onMessageSubmit:c,onChatSubmit:d}=e;const p=(0,u.useRef)(null),h=null==l?void 0:l.enabled,v=null==l?void 0:l.accept,{files:b,resetFiles:y,appendFiles:S,removeFile:O,hasFiles:T,allFilesDone:P,fileInfos:F,exceeded:j,paste:K}=(0,k.O)(l);(0,u.useEffect)((()=>{h||y()}),[h,y]);const{textareaRef:R,valueRef:D,value:$,setValue:H,selectionRef:W,mentioned:B,mentionedText:V,mentionPopover:z,mentionOverlay:G,mentionActiveKeys:Y,setInitialMention:q,handleMention:L,command:U,commandText:Z,commandPrefix:J,commandPopover:Q,commandOverlay:X,commandActiveKeys:ee,setInitialCommand:te,handleSelectCommand:ne,handleChange:ae,handleKeyDown:oe}=(0,I.F)({aiEmployees:i,commands:s,root:n,hasFiles:T});(0,u.useEffect)((()=>{const e=(0,A.getChatCommand)();e&&(0,A.setChatCommand)(null),te(e)}),[te]),(0,u.useEffect)((()=>{const e=(0,w.getChatMentionedEmployee)();e&&((0,w.setChatMentionedEmployee)(null),q(e.employeeId))}),[]),(0,u.useEffect)((()=>{const e=window.__elevo_try_it_out;e&&delete window.__elevo_try_it_out,"string"==typeof(null==e?void 0:e.content)&&(D.current=e.content,H(e.content),null!=e&&e.cmd?te({command:(0,N.u)(e.cmd).slice(1),payload:e.cmd}):null!=e&&e.mentionedAiEmployeeId&&q(e.mentionedAiEmployeeId))}),[te,q,H,D]),(0,u.useImperativeHandle)(t,(()=>({setValue:e=>{D.current=e,H(e)},getValue:()=>D.current,focusOnInput:()=>{var e;null===(e=R.current)||void 0===e||e.focus()}})));const re=!$||!P||!!V&&$.length<=V.length||!!Z&&$.length<=Z.length,ie=(0,u.useCallback)((e=>{if(re)return;const t=e.slice(Z.length||V.length);c(t),d({content:t,files:F,cmd:U,aiEmployeeId:B})}),[re,Z.length,V.length,U,F,B,d,c]),se=(0,u.useCallback)((e=>{e.currentTarget.value&&ie(e.currentTarget.value)}),[ie]),le=(0,u.useCallback)((()=>{ie(D.current)}),[ie,D]);(0,u.useEffect)((()=>{r&&Promise.resolve().then((()=>{var e;null===(e=R.current)||void 0===e||e.focus()}))}),[]);const ce=(0,u.useRef)(null),de=(0,u.useCallback)((e=>{var t;S(e),null===(t=R.current)||void 0===t||t.focus()}),[S,R]);return m().createElement(m().Fragment,null,m().createElement("div",{className:"root"},m().createElement("div",{className:"container",ref:p},m().createElement(g.e,{containerRef:p,ref:R,value:$,minRows:58/22,paddingSize:T?144:60,autoResize:!0,disabled:a,placeholder:null!=o?o:(0,x.t)(x.K.ASK_ANY_THING),submitWhen:"enter-without-shift",desiredSelectionRef:W,onSubmit:se,onChange:ae,onKeyDown:oe,onPaste:K,style:{paddingTop:T?94:10}}),T&&m().createElement(E.C,{files:b,onRemove:(e,t)=>{O(e),null==t||t.abort()},onAdd:()=>{var e;null===(e=ce.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"},h?m().createElement(m().Fragment,null,m().createElement(C.s,{ref:ce,accept:v,disabled:j,onChange:e=>{var t;S(e),null===(t=R.current)||void 0===t||t.focus()}}),m().createElement("div",{className:"btn-divider"})):null,m().createElement("button",{className:"btn-send",disabled:re,onClick:le},m().createElement(M.Bj,{lib:"fa",prefix:"fas",icon:"arrow-up"})))),null==G?void 0:G.map(((e,t)=>m().createElement("div",{key:t,className:"mention-overlay",style:e}))),null==X?void 0:X.map(((e,t)=>m().createElement("div",{key:t,className:"mention-overlay",style:e}))),z&&(0,f.createPortal)(m().createElement(M.Tl,{actions:z.actions,style:z.style,activeKeys:Y,footerTips:(0,x.t)(x.K.COMMAND_TIPS),onActionClick:e=>L(e.detail)}),document.body),Q&&(0,f.createPortal)(m().createElement(M.Tl,{actions:Q.actions,style:Q.style,activeKeys:ee,footerTips:"/"===J?(0,x.t)(x.K.COMMAND_TIPS):(0,x.t)(x.K.SEARCH_COMMANDS_TIPS,{count:10}),onActionClick:e=>ne(e.detail)}),document.body))),m().createElement(_.A,{disabled:!h||j,uploadOptions:l,onFilesDropped:de}))}a=ve,({e:[P,F,j,K,R,D,$,H,W,B,V,z,G,Y,q,L,U,Z,J,Q,O],c:[oe,T]}=(0,p.A)(a,[X("ai-portal.chat-box",{styleTexts:[y.A,S.A],shadowOptions:{delegatesFocus:!0}})],[[ee({type:Boolean}),1,"disabled"],[ee(),1,"placeholder"],[ee({type:Boolean}),1,"autoFocus"],[ee({attribute:!1}),1,"aiEmployees"],[ee({attribute:!1}),1,"commands"],[ee({attribute:!1}),1,"uploadOptions"],[te({type:"message.submit"}),1,"messageSubmit",e=>(0,d.A)(pe,e),(e,t)=>(0,c.A)(pe,e,t)],[te({type:"chat.submit"}),1,"chatSubmit",e=>(0,d.A)(fe,e),(e,t)=>(0,c.A)(fe,e,t)],[ne(),2,"setValue"],[ne(),2,"getValue"],[ne(),2,"focusOnInput"]],0,(e=>he.has((0,s.A)(e))),v.ReactNextElement)),T()}}]);
3
+ //# sourceMappingURL=chat-box.060b8727.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/chat-box.060b8727.js","mappings":"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","sources":["webpack:///../../node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///../../node_modules/@next-api-sdk/llm-sdk/dist/esm/api/llm/elevo/listElevoAiEmployees.js","webpack:///./src/chat-box/i18n.ts","webpack:///./src/chat-box/bricks.ts","webpack:///../../node_modules/css-loader/dist/runtime/getUrl.js","webpack:///./src/shared/fetchEmployee.ts","webpack:///../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack:///./src/data-providers/set-chat-mentioned-employee.ts","webpack:///./src/chat-box/styles.shadow.css","webpack:///./src/cruise-canvas/utils/file.ts","webpack:///../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///../../node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///./src/shared/ReadableCommand/ReadableCommand.module.css?7a0c","webpack:///./src/shared/ReadableCommand/ReadableCommand.tsx","webpack:///./src/shared/ReadableCommand/ReadableCommand.module.css","webpack:///../../node_modules/style-loader/dist/runtime/insertBySelector.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///../../node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack:///./src/data-providers/set-chat-command.ts","webpack:///./src/chat-box/index.tsx"],"sourcesContent":["\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","import { http } from \"@next-core/http\";\n/**\n * @description 获取elevo数字人列表\n * @endpoint list /api/v1/elevo/ai-employees\n */\nexport const ElevoApi_listElevoAiEmployees = async (params, options) => /**! @contract easyops.api.llm.elevo.ListElevoAiEmployees@1.0.0 */(await http.get(\"api/gateway/logic.llm.aiops_service/api/v1/elevo/ai-employees\", {\n ...options,\n params\n})).data;\n//# sourceMappingURL=listElevoAiEmployees.js.map","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n ASK_ANY_THING = \"ASK_ANYTHING\",\n COMMON_TASKS = \"COMMON_TASKS\",\n COMMAND_TIPS = \"COMMAND_TIPS\",\n SEARCH_COMMANDS_TIPS = \"SEARCH_COMMANDS_TIPS\",\n}\n\nconst en: Locale = {\n [K.ASK_ANY_THING]: \"Ask anything\",\n [K.COMMON_TASKS]: \"Common tasks\",\n [K.COMMAND_TIPS]: \"‘@’ AI Employee | ‘/’ Command\",\n [K.SEARCH_COMMANDS_TIPS]:\n \"Showing up to {{count}} items, type keywords to search\",\n};\n\nconst zh: Locale = {\n [K.ASK_ANY_THING]: \"询问任何问题\",\n [K.COMMON_TASKS]: \"常用任务\",\n [K.COMMAND_TIPS]: \"‘@’ 数字人 | ‘/’ 命令\",\n [K.SEARCH_COMMANDS_TIPS]: \"最多显示 {{count}} 条数据,输入关键字搜索\",\n};\n\nexport const NS = \"bricks/ai-portal/chat-box\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","import { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type {\n ActionsEvents,\n ActionsEventsMapping,\n ActionsProps,\n EoActions,\n} from \"@next-bricks/basic/actions\";\nimport type { IconButton, IconButtonProps } from \"../icon-button\";\n\nexport const WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nexport const WrappedActions = wrapBrick<\n EoActions,\n ActionsProps & { activeKeys?: (string | number)[]; footerTips?: string },\n ActionsEvents,\n ActionsEventsMapping\n>(\"eo-actions\", {\n onActionClick: \"action.click\",\n onItemDragEnd: \"item.drag.end\",\n onItemDragStart: \"item.drag.start\",\n});\nexport const WrappedIconButton = wrapBrick<IconButton, IconButtonProps>(\n \"ai-portal.icon-button\"\n);\n","\"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 {\n ElevoApi_listElevoAiEmployees,\n type ElevoApi_ListElevoAiEmployeesResponseItem,\n} from \"@next-api-sdk/llm-sdk\";\n\nconst cache = new Map<\n string,\n Promise<ElevoApi_ListElevoAiEmployeesResponseItem | undefined>\n>();\n\nexport function fetchEmployee(\n aiEmployeeId: string\n): Promise<ElevoApi_ListElevoAiEmployeesResponseItem | undefined> {\n const cached = cache.get(aiEmployeeId);\n if (cached) {\n return cached;\n }\n const promise = doFetchEmployee(aiEmployeeId);\n cache.set(aiEmployeeId, promise);\n return promise;\n}\n\nasync function doFetchEmployee(aiEmployeeId: string) {\n const response = await ElevoApi_listElevoAiEmployees({\n employeeId: aiEmployeeId,\n } as any);\n const employee = response.list?.[0];\n return employee?.employeeId === aiEmployeeId ? employee : undefined;\n}\n\nexport function clearCache() {\n cache.clear();\n}\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}","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","import { createProviderClass } from \"@next-core/utils/general\";\n\nlet chatEmployee: ChatMentionedEmployee | null = null;\n\ninterface ChatMentionedEmployee {\n name: string;\n employeeId: string;\n}\n\nexport function setChatMentionedEmployee(\n chatMentionedEmployee: ChatMentionedEmployee | null\n): void {\n chatEmployee = chatMentionedEmployee;\n}\n\nexport function getChatMentionedEmployee(): ChatMentionedEmployee | null {\n return chatEmployee;\n}\n\ncustomElements.define(\n \"ai-portal.set-chat-mentioned-employee\",\n createProviderClass(setChatMentionedEmployee)\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(\"./images/bg.png\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.root{color:#262626;background:url(${___CSS_LOADER_URL_REPLACEMENT_0___}) no-repeat center bottom;background-size:100% 104px;padding:12px 12px 29px;margin:0 -12px}.container{position:relative;background:#ffffff;box-shadow:0px 2px 4px 0px rgba(38,45,65,0.1);border-radius:16px;border:1px solid #dadfe8}.container:has(textarea:focus){border-color:#b7c3d8}textarea{display:block;width:100%;padding:10px 16px 50px;color:var(--antd-input-color);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.5);font:inherit;font-size:14px;line-height:22px;height:120px}textarea::placeholder{color:rgba(0,0,0,0.4)}button:focus,\ntextarea:focus{outline:none}button{margin:0;padding:0;font:inherit;background:none;border:none}.actions-bar{position:absolute;bottom:12px;left:14px;right:14px;display:flex;align-items:flex-end;justify-content:space-between;gap:6px}.btn-send{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--elevo-color-brand);border:none;border-radius:8px;color:#fff;flex-shrink:0}.btn-send[disabled]{background:rgba(0,0,0,0.15)}.btn-send:not([disabled]){cursor:pointer}.btn-send:not([disabled]):hover{background:#5166ff}.btn-send:not([disabled]):active{background:#1e33cc}.mention-overlay{position:absolute;border-radius:4px;pointer-events:none;background:rgba(38,45,65,0.1)}.buttons{display:flex;align-items:center;gap:12px}.btn-divider{width:1px;height:16px;background:rgba(0,0,0,0.1)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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 [\"csv\", \"text/csv\"],\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 [\"jpg\", \"image/jpeg\"],\n [\"jpeg\", \"image/jpeg\"],\n [\"png\", \"image/png\"],\n [\"gif\", \"image/gif\"],\n [\"bmp\", \"image/bmp\"],\n [\"webp\", \"image/webp\"],\n [\"svg\", \"image/svg+xml\"],\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 case \"text/x-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","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\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]!./ReadableCommand.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]!./ReadableCommand.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\nimport type { CommandPayload } from \"../interfaces\";\nimport styles from \"./ReadableCommand.module.css\";\nimport { fetchEmployee } from \"../fetchEmployee\";\n\nexport interface ReadableCommandProps {\n cmd?: CommandPayload;\n mentionedAiEmployeeId?: string;\n size?: \"medium\" | \"small\";\n}\n\nexport function ReadableCommand({\n cmd,\n mentionedAiEmployeeId /* , size */,\n}: ReadableCommandProps) {\n const [content, setContent] = useState(() =>\n getInitialContent(cmd, mentionedAiEmployeeId)\n );\n\n useEffect(() => {\n setContent(getInitialContent(cmd, mentionedAiEmployeeId));\n if (!cmd) {\n let ignore = false;\n (async () => {\n const employee = await fetchEmployee(mentionedAiEmployeeId!);\n if (ignore || !employee) return;\n setContent(`@${employee.name}`);\n })();\n return () => {\n ignore = true;\n };\n }\n }, [cmd, mentionedAiEmployeeId]);\n\n return (\n <>\n <span\n className={classNames(styles.command, {\n [styles.small]: true,\n })}\n >\n {content}\n </span>{\" \"}\n </>\n );\n}\n\nexport function getInitialContent(\n cmd?: CommandPayload,\n mentionedAiEmployeeId?: string\n): string {\n if (cmd) {\n switch (cmd.type) {\n case \"serviceFlowStarting\":\n return `/start serviceflow${[\n cmd.serviceFlowStarting.flowName,\n cmd.serviceFlowStarting.spaceName,\n ]\n .filter(Boolean)\n .slice(0, 1)\n .map((name) => `: ${name}`)\n .join(\"\")}`;\n case \"serviceflow-start\":\n return `/start serviceflow${[\n cmd.payload.flowName,\n cmd.payload.spaceName,\n ]\n .filter(Boolean)\n .slice(0, 1)\n .map((name) => `: ${name}`)\n .join(\"\")}`;\n case \"serviceflow-edit\":\n return `/edit serviceflow${[cmd.payload.flowName, cmd.payload.spaceName]\n .filter(Boolean)\n .slice(0, 1)\n .map((name) => `: ${name}`)\n .join(\"\")}`;\n case \"serviceflow-create\":\n return `/create serviceflow${[cmd.payload.spaceName]\n .filter(Boolean)\n .slice(0, 1)\n .map((name) => `: ${name}`)\n .join(\"\")}`;\n case \"serviceObject-createOrEdit\":\n return `/manage business object`;\n case \"serviceObjectInstance-createOrEdit\":\n return `/manage business object instance`;\n default:\n // unknown command type\n return `/${(cmd as CommandPayload).type}`;\n }\n }\n return `@${mentionedAiEmployeeId!}`;\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, `.command--PjYZ4uqH{display:inline-block;background:rgba(37,64,255,0.06);border-radius:8px;color:#2540ff;padding:4px 6px;line-height:22px}.small--dUc9qGKv{padding:2px 6px}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"command\": `command--PjYZ4uqH`,\n\t\"small\": `small--dUc9qGKv`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","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}","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","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 useImperativeHandle,\n createRef,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport { TextareaAutoResize } from \"@next-shared/form\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\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 {\n getChatMentionedEmployee,\n setChatMentionedEmployee,\n} from \"../data-providers/set-chat-mentioned-employee.js\";\nimport type { ChatPayload, UploadOptions } from \"../shared/interfaces.js\";\nimport {\n UploadButton,\n type UploadButtonRef,\n} from \"../shared/FileUpload/UploadButton.js\";\nimport { UploadedFiles } from \"../shared/FileUpload/UploadedFiles.js\";\nimport UploadedFilesStyleText from \"../shared/FileUpload/UploadedFiles.shadow.css\";\nimport { WrappedActions, WrappedIcon } from \"./bricks.js\";\nimport { useFilesUploading } from \"../shared/useFilesUploading.js\";\nimport GlobalDragOverlay from \"../shared/FileUpload/GlobalDragOverlay.js\";\nimport { getInitialContent } from \"../shared/ReadableCommand/ReadableCommand.js\";\nimport {\n useChatCompletions,\n type ActionWithSubCommands,\n type Command,\n} from \"../shared/ChatCompletions/useChatCompletions.js\";\n\ninitializeI18n(NS, locales);\n\nconst MAX_SHOWN_COMMANDS = 10;\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 uploadOptions?: UploadOptions;\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\n/**\n * 大型聊天输入框,用于首页\n */\nexport\n@defineElement(\"ai-portal.chat-box\", {\n styleTexts: [styleText, UploadedFilesStyleText],\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({ attribute: false })\n accessor uploadOptions: UploadOptions | undefined;\n\n /**\n * @deprecated Use `chat.submit` event instead\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: \"chat.submit\" })\n accessor #chatSubmit!: EventEmitter<ChatPayload>;\n\n #handleChatSubmit = (payload: ChatPayload) => {\n this.#chatSubmit.emit(payload);\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 uploadOptions={this.uploadOptions}\n onMessageSubmit={this.#handleMessageSubmit}\n onChatSubmit={this.#handleChatSubmit}\n root={this}\n ref={this.ref}\n />\n );\n }\n}\n\ninterface ChatBoxComponentProps extends ChatBoxProps {\n root: HTMLElement;\n onMessageSubmit: (value: string) => void;\n onChatSubmit: (payload: ChatPayload) => void;\n ref?: React.Ref<ChatBoxRef>;\n}\n\nfunction LegacyChatBoxComponent(\n {\n root,\n disabled,\n placeholder,\n autoFocus,\n aiEmployees,\n commands,\n uploadOptions,\n onMessageSubmit,\n onChatSubmit,\n }: ChatBoxComponentProps,\n ref: React.Ref<ChatBoxRef>\n) {\n const containerRef = useRef<HTMLDivElement>(null);\n\n const uploadEnabled = uploadOptions?.enabled;\n const uploadAccept = uploadOptions?.accept;\n const {\n files,\n resetFiles,\n appendFiles,\n removeFile,\n hasFiles,\n allFilesDone,\n fileInfos,\n exceeded,\n paste,\n } = useFilesUploading(uploadOptions);\n\n useEffect(() => {\n if (!uploadEnabled) {\n resetFiles();\n }\n }, [uploadEnabled, resetFiles]);\n\n const {\n textareaRef,\n valueRef,\n value,\n setValue,\n selectionRef,\n\n mentioned,\n mentionedText,\n mentionPopover,\n mentionOverlay,\n mentionActiveKeys,\n setInitialMention,\n handleMention,\n\n command,\n commandText,\n commandPrefix,\n commandPopover,\n commandOverlay,\n commandActiveKeys,\n setInitialCommand,\n handleSelectCommand,\n\n handleChange,\n handleKeyDown,\n } = useChatCompletions({\n aiEmployees,\n commands,\n root,\n hasFiles,\n });\n\n useEffect(() => {\n const command = getChatCommand();\n if (command) {\n setChatCommand(null);\n }\n setInitialCommand(command);\n }, [setInitialCommand]);\n\n useEffect(() => {\n const employee = getChatMentionedEmployee();\n if (employee) {\n setChatMentionedEmployee(null);\n setInitialMention(employee.employeeId);\n }\n }, []);\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 if (store?.cmd) {\n setInitialCommand({\n command: getInitialContent(store.cmd).slice(1),\n payload: store.cmd,\n });\n } else if (store?.mentionedAiEmployeeId) {\n setInitialMention(store.mentionedAiEmployeeId);\n }\n }\n }, [setInitialCommand, setInitialMention, setValue, valueRef]);\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 sendDisabled =\n !value ||\n !allFilesDone ||\n (!!mentionedText && value.length <= mentionedText.length) ||\n (!!commandText && value.length <= commandText.length);\n\n const doSubmit = useCallback(\n (value: string) => {\n if (sendDisabled) {\n return;\n }\n const content = value.slice(commandText.length || mentionedText.length);\n onMessageSubmit(content);\n onChatSubmit({\n content,\n files: fileInfos,\n cmd: command,\n aiEmployeeId: mentioned,\n });\n },\n [\n sendDisabled,\n commandText.length,\n mentionedText.length,\n command,\n fileInfos,\n mentioned,\n onChatSubmit,\n onMessageSubmit,\n ]\n );\n\n const handleSubmit = useCallback(\n (e: React.FormEvent<HTMLTextAreaElement>) => {\n if (e.currentTarget.value) {\n doSubmit(e.currentTarget.value);\n }\n },\n [doSubmit]\n );\n\n const handleSubmitClick = useCallback(() => {\n doSubmit(valueRef.current);\n }, [doSubmit, valueRef]);\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 uploadButtonRef = useRef<UploadButtonRef>(null);\n\n const onFilesDropped = useCallback(\n (files: File[]) => {\n appendFiles(files);\n textareaRef.current?.focus();\n },\n [appendFiles, textareaRef]\n );\n\n return (\n <>\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 onPaste={paste}\n style={{\n paddingTop: hasFiles ? 94 : 10,\n }}\n />\n {hasFiles && (\n <UploadedFiles\n files={files!}\n onRemove={(uid, abortController) => {\n removeFile(uid);\n abortController?.abort();\n }}\n onAdd={() => {\n uploadButtonRef.current?.requestUpload();\n }}\n />\n )}\n <div className=\"actions-bar\">\n <div>\n <slot name=\"actions\" />\n </div>\n <div className=\"buttons\">\n {uploadEnabled ? (\n <>\n <UploadButton\n ref={uploadButtonRef}\n accept={uploadAccept}\n disabled={exceeded}\n onChange={(files) => {\n appendFiles(files);\n textareaRef.current?.focus();\n }}\n />\n <div className=\"btn-divider\"></div>\n </>\n ) : null}\n <button\n className=\"btn-send\"\n disabled={sendDisabled}\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={mentionActiveKeys!}\n footerTips={t(K.COMMAND_TIPS)}\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={commandActiveKeys!}\n footerTips={\n commandPrefix === \"/\"\n ? t(K.COMMAND_TIPS)\n : t(K.SEARCH_COMMANDS_TIPS, { count: MAX_SHOWN_COMMANDS })\n }\n onActionClick={(e) =>\n handleSelectCommand(e.detail as ActionWithSubCommands)\n }\n />,\n document.body\n )}\n </div>\n </div>\n <GlobalDragOverlay\n disabled={!uploadEnabled || exceeded}\n uploadOptions={uploadOptions}\n onFilesDropped={onFilesDropped}\n />\n </>\n );\n}\n"],"names":["module","exports","options","document","update","remove","styleElement","insertStyleElement","obj","css","supports","concat","media","needLayer","layer","length","sourceMap","btoa","unescape","encodeURIComponent","JSON","stringify","styleTagTransform","apply","parentNode","removeChild","removeStyleElement","_classPrivateGetter","s","r","a","ElevoApi_listElevoAiEmployees","async","params","http","get","data","K","en","ASK_ANY_THING","COMMON_TASKS","COMMAND_TIPS","SEARCH_COMMANDS_TIPS","zh","NS","locales","t","i18n","getFixedT","WrappedIcon","wrapBrick","WrappedActions","onActionClick","onItemDragEnd","onItemDragStart","url","String","__esModule","default","test","slice","hash","needQuotes","replace","cache","Map","fetchEmployee","aiEmployeeId","cached","promise","_response$list","employee","employeeId","list","undefined","doFetchEmployee","set","_defineProperty","key","value","Object","defineProperty","enumerable","configurable","writable","nonce","setAttribute","chatEmployee","setChatMentionedEmployee","chatMentionedEmployee","getChatMentionedEmployee","customElements","define","createProviderClass","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","push","id","toString","MIME_TYPES","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","stylesInDOM","getIndexByIdentifier","identifier","result","i","modulesToDom","idCountMap","identifiers","item","base","count","indexByIdentifier","references","updater","addElementStyle","byIndex","splice","api","domAPI","newObj","lastIdentifiers","newList","index","newLastIdentifiers","_i","_index","styleSheet","cssText","firstChild","appendChild","createTextNode","_classPrivateMethodInitSpec","privateSet","add","setAttributes","insert","locals","ReadableCommand","_ref","cmd","mentionedAiEmployeeId","content","setContent","useState","getInitialContent","useEffect","ignore","name","React","className","classNames","styles","command","small","serviceFlowStarting","flowName","spaceName","filter","Boolean","map","join","payload","memo","style","target","styleTarget","querySelector","window","HTMLIFrameElement","contentDocument","head","e","getTarget","Error","_extends","assign","bind","arguments","source","prototype","hasOwnProperty","call","this","element","createElement","attributes","chatCommand","setChatCommand","getChatCommand","initializeI18n","defineElement","property","event","method","createDecorators","ChatBoxComponent","forwardRef","LegacyChatBoxComponent","_ChatBox","_A","WeakMap","_B","_C","_D","_E","_F","_G","_ChatBox_brand","WeakSet","_handleMessageSubmit","_H","_handleChatSubmit","ChatBox","ReactNextElement","constructor","_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_uploadOptions","_init_extra_uploadOptions","_init_messageSubmit","_init_extra_messageSubmit","_get_messageSubmit","emit","_init_chatSubmit","_init_extra_chatSubmit","_get_chatSubmit","disabled","_classPrivateFieldGet","v","_classPrivateFieldSet","placeholder","autoFocus","aiEmployees","commands","uploadOptions","setValue","_this$ref$current","ref","current","getValue","_this$ref$current2","focusOnInput","_this$ref$current3","render","onMessageSubmit","onChatSubmit","root","containerRef","useRef","uploadEnabled","enabled","uploadAccept","accept","files","resetFiles","appendFiles","removeFile","hasFiles","allFilesDone","fileInfos","exceeded","paste","useFilesUploading","textareaRef","valueRef","selectionRef","mentioned","mentionedText","mentionPopover","mentionOverlay","mentionActiveKeys","setInitialMention","handleMention","commandText","commandPrefix","commandPopover","commandOverlay","commandActiveKeys","setInitialCommand","handleSelectCommand","handleChange","handleKeyDown","useChatCompletions","store","__elevo_try_it_out","useImperativeHandle","_textareaRef$current","focus","sendDisabled","doSubmit","useCallback","handleSubmit","currentTarget","handleSubmitClick","Promise","resolve","then","_textareaRef$current2","uploadButtonRef","onFilesDropped","_textareaRef$current3","TextareaAutoResize","minRows","paddingSize","autoResize","submitWhen","desiredSelectionRef","onSubmit","onChange","onKeyDown","onPaste","paddingTop","UploadedFiles","onRemove","uid","abortController","abort","onAdd","_uploadButtonRef$curr","requestUpload","UploadButton","_textareaRef$current4","onClick","lib","prefix","icon","overlay","createPortal","actions","activeKeys","footerTips","detail","body","GlobalDragOverlay","_ChatBox2","_set_messageSubmit","_set_chatSubmit","c","_initClass","_applyDecs","styleTexts","styleText","UploadedFilesStyleText","shadowOptions","delegatesFocus","attribute","o","_","has","_checkInRHS"],"sourceRoot":""}